Compare commits

...

29 Commits

Author SHA1 Message Date
amlrelsa-ms
3c02102691 update samples from Release-62 as a part of SDK release 2020-08-27 23:28:05 +00:00
Sheri Gilley
07e1676762 Merge pull request #1010 from GinSiuCheng/patch-1
Include additional details on user authentication
2020-08-25 11:45:58 -05:00
Sheri Gilley
919a3c078f fix code blocks 2020-08-25 11:13:24 -05:00
Sheri Gilley
9b53c924ed add code block for better formatting 2020-08-25 11:09:56 -05:00
Sheri Gilley
04ad58056f fix quotes 2020-08-25 11:06:18 -05:00
Sheri Gilley
576bf386b5 fix quotes 2020-08-25 11:05:25 -05:00
Cody
7e62d1cfd6 Merge pull request #891 from Fokko/patch-1
Don't print the access token
2020-08-22 18:28:33 -07:00
Cody
ec67a569af Merge pull request #804 from omartin2010/patch-3
typo
2020-08-17 14:35:55 -07:00
Cody
6d1e80bcef Merge pull request #1031 from hyoshioka0128/patch-1
Typo "Mircosoft"→"Microsoft"
2020-08-17 14:32:44 -07:00
mx-iao
db00d9ad3c Merge pull request #1100 from Azure/lostmygithubaccount-patch-1
fix minor typo in how-to-use-azureml/README.md
2020-08-17 14:30:18 -07:00
Harneet Virk
d33c75abc3 Merge pull request #1104 from Azure/release_update/Release-61
update samples from Release-61 as a part of  SDK release
2020-08-17 10:59:39 -07:00
amlrelsa-ms
d0dc4836ae update samples from Release-61 as a part of SDK release 2020-08-17 17:45:26 +00:00
Cody
982f8fcc1d Update README.md 2020-08-14 15:25:39 -07:00
Akshaya Annavajhala
79739b5e1b Remove broken links (#1095)
* Remove broken links

* Update README.md
2020-08-10 19:35:41 -04:00
Harneet Virk
aac4fa1fb9 Merge pull request #1081 from Azure/release_update/Release-60
update samples from Release-60 as a part of  SDK 1.11.0 release
2020-08-04 00:04:38 -07:00
amlrelsa-ms
5b684070e1 update samples from Release-60 as a part of SDK release 2020-08-04 06:12:06 +00:00
Harneet Virk
0ab8b141ee Merge pull request #1078 from Azure/release_update/Release-59
update samples from Release-59 as a part of  SDK release
2020-07-31 10:52:22 -07:00
amlrelsa-ms
b9ef23ad4b update samples from Release-59 as a part of SDK release 2020-07-31 17:23:17 +00:00
Harneet Virk
7e2c1ca152 Merge pull request #1063 from Azure/release_update/Release-58
update samples from Release-58 as a part of  SDK release
2020-07-20 13:46:37 -07:00
amlrelsa-ms
d096535e48 update samples from Release-58 as a part of SDK release 2020-07-20 20:44:42 +00:00
Harneet Virk
f80512a6db Merge pull request #1056 from wchill/wchill-patch-1
Update README.md with KeyError: brand workaround
2020-07-15 10:22:18 -07:00
Eric Ahn
b54111620e Update README.md 2020-07-14 17:47:23 -07:00
Harneet Virk
8dd52ee2df Merge pull request #1036 from Azure/release_update/Release-57
update samples from Release-57 as a part of  SDK release
2020-07-06 15:06:14 -07:00
amlrelsa-ms
6c629f1eda update samples from Release-57 as a part of SDK release 2020-07-06 22:05:24 +00:00
Hiroshi Yoshioka
9c32ca9db5 Typo "Mircosoft"→"Microsoft"
https://docs.microsoft.com/en-us/samples/azure/machinelearningnotebooks/azure-machine-learning-service-example-notebooks/
2020-06-29 12:21:23 +09:00
Harneet Virk
053efde8c9 Merge pull request #1022 from Azure/release_update/Release-56
update samples from Release-56 as a part of  SDK release
2020-06-22 11:12:31 -07:00
Gin
745b4f0624 Include additional details on user authentication
Additional details should be included for user authentication esp. for enterprise users who may have more than one single aad tenant linked to a user.
2020-06-13 21:24:56 -04:00
Fokko Driesprong
119fd0a8f6 Don't print the access token
That's never a good idea, no exceptions :)
2020-03-31 08:14:05 +02:00
Olivier Martin
d4a486827d typo 2020-02-17 17:16:47 -05:00
152 changed files with 5463 additions and 19030 deletions

View File

@@ -103,7 +103,7 @@
"source": [
"import azureml.core\n",
"\n",
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},

View File

@@ -50,7 +50,22 @@
"* `joblib`\n",
"* `shap`\n",
"\n",
"\n",
"Fairlearn relies on features introduced in v0.22.1 of `scikit-learn`. If you have an older version already installed, please uncomment and run the following cell:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# !pip install --upgrade scikit-learn>=0.22.1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"LoadingData\"></a>\n",
"## Loading the Data\n",
"We use the well-known `adult` census dataset, which we load using `shap` (for convenience). We start with a fairly unremarkable set of imports:"

View File

@@ -1,8 +0,0 @@
name: fairlearn-azureml-mitigation
dependencies:
- pip:
- azureml-sdk
- azureml-contrib-fairness
- fairlearn==0.4.6
- joblib
- shap

View File

@@ -52,9 +52,22 @@
"* `joblib`\n",
"* `shap`\n",
"\n",
"\n",
"\n",
"\n",
"Fairlearn relies on features introduced in v0.22.1 of `scikit-learn`. If you have an older version already installed, please uncomment and run the following cell:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# !pip install --upgrade scikit-learn>=0.22.1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"LoadingData\"></a>\n",
"## Loading the Data\n",
"We use the well-known `adult` census dataset, which we load using `shap` (for convenience). We start with a fairly unremarkable set of imports:"

View File

@@ -1,8 +0,0 @@
name: upload-fairness-dashboard
dependencies:
- pip:
- azureml-sdk
- azureml-contrib-fairness
- fairlearn==0.4.6
- joblib
- shap

View File

@@ -1,500 +0,0 @@
1 0.644 0.247 -0.447 0.862 0.374 0.854 -1.126 -0.790 2.173 1.015 -0.201 1.400 0.000 1.575 1.807 1.607 0.000 1.585 -0.190 -0.744 3.102 0.958 1.061 0.980 0.875 0.581 0.905 0.796
0 0.385 1.800 1.037 1.044 0.349 1.502 -0.966 1.734 0.000 0.966 -1.960 -0.249 0.000 1.501 0.465 -0.354 2.548 0.834 -0.440 0.638 3.102 0.695 0.909 0.981 0.803 0.813 1.149 1.116
0 1.214 -0.166 0.004 0.505 1.434 0.628 -1.174 -1.230 1.087 0.579 -1.047 -0.118 0.000 0.835 0.340 1.234 2.548 0.711 -1.383 1.355 0.000 0.848 0.911 1.043 0.931 1.058 0.744 0.696
1 0.420 1.111 0.137 1.516 -1.657 0.854 0.623 1.605 1.087 1.511 -1.297 0.251 0.000 0.872 -0.368 -0.721 0.000 0.543 0.731 1.424 3.102 1.597 1.282 1.105 0.730 0.148 1.231 1.234
0 0.897 -1.703 -1.306 1.022 -0.729 0.836 0.859 -0.333 2.173 1.336 -0.965 0.972 2.215 0.671 1.021 -1.439 0.000 0.493 -2.019 -0.289 0.000 0.805 0.930 0.984 1.430 2.198 1.934 1.684
0 0.756 1.126 -0.945 2.355 -0.555 0.889 0.800 1.440 0.000 0.585 0.271 0.631 2.215 0.722 1.744 1.051 0.000 0.618 0.924 0.698 1.551 0.976 0.864 0.988 0.803 0.234 0.822 0.911
0 1.141 -0.741 0.953 1.478 -0.524 1.197 -0.871 1.689 2.173 0.875 1.321 -0.518 1.107 0.540 0.037 -0.987 0.000 0.879 1.187 0.245 0.000 0.888 0.701 1.747 1.358 2.479 1.491 1.223
1 0.606 -0.936 -0.384 1.257 -1.162 2.719 -0.600 0.100 2.173 3.303 -0.284 1.561 1.107 0.689 1.786 -0.326 0.000 0.780 -0.532 1.216 0.000 0.936 2.022 0.985 1.574 4.323 2.263 1.742
1 0.603 0.429 -0.279 1.448 1.301 1.008 2.423 -1.295 0.000 0.452 1.305 0.533 0.000 1.076 1.011 1.256 2.548 2.021 1.260 -0.343 0.000 0.890 0.969 1.281 0.763 0.652 0.827 0.785
0 1.171 -0.962 0.521 0.841 -0.315 1.196 -0.744 -0.882 2.173 0.726 -1.305 1.377 1.107 0.643 -1.790 -1.264 0.000 1.257 0.222 0.817 0.000 0.862 0.911 0.987 0.846 1.293 0.899 0.756
1 1.392 -0.358 0.235 1.494 -0.461 0.895 -0.848 1.549 2.173 0.841 -0.384 0.666 1.107 1.199 2.509 -0.891 0.000 1.109 -0.364 -0.945 0.000 0.693 2.135 1.170 1.362 0.959 2.056 1.842
1 1.024 1.076 -0.886 0.851 1.530 0.673 -0.449 0.187 1.087 0.628 -0.895 1.176 2.215 0.696 -0.232 -0.875 0.000 0.411 1.501 0.048 0.000 0.842 0.919 1.063 1.193 0.777 0.964 0.807
1 0.890 -0.760 1.182 1.369 0.751 0.696 -0.959 -0.710 1.087 0.775 -0.130 -1.409 2.215 0.701 -0.110 -0.739 0.000 0.508 -0.451 0.390 0.000 0.762 0.738 0.998 1.126 0.788 0.940 0.790
1 0.460 0.537 0.636 1.442 -0.269 0.585 0.323 -1.731 2.173 0.503 1.034 -0.927 0.000 0.928 -1.024 1.006 2.548 0.513 -0.618 -1.336 0.000 0.802 0.831 0.992 1.019 0.925 1.056 0.833
1 0.364 1.648 0.560 1.720 0.829 1.110 0.811 -0.588 0.000 0.408 1.045 1.054 2.215 0.319 -1.138 1.545 0.000 0.423 1.025 -1.265 3.102 1.656 0.928 1.003 0.544 0.327 0.670 0.746
1 0.525 -0.096 1.206 0.948 -1.103 1.519 -0.582 0.606 2.173 1.274 -0.572 -0.934 0.000 0.855 -1.028 -1.222 0.000 0.578 -1.000 -1.725 3.102 0.896 0.878 0.981 0.498 0.909 0.772 0.668
0 0.536 -0.821 -1.029 0.703 1.113 0.363 -0.711 0.022 1.087 0.325 1.503 1.249 2.215 0.673 1.041 -0.401 0.000 0.480 2.127 1.681 0.000 0.767 1.034 0.990 0.671 0.836 0.669 0.663
1 1.789 -0.583 1.641 0.897 0.799 0.515 -0.100 -1.483 0.000 1.101 0.031 -0.326 2.215 1.195 0.001 0.126 2.548 0.768 -0.148 0.601 0.000 0.916 0.921 1.207 1.069 0.483 0.934 0.795
1 1.332 -0.571 0.986 0.580 1.508 0.582 0.634 -0.746 1.087 1.084 -0.964 -0.489 0.000 0.785 0.274 0.343 2.548 0.779 0.721 1.489 0.000 1.733 1.145 0.990 1.270 0.715 0.897 0.915
0 1.123 0.629 -1.708 0.597 -0.882 0.752 0.195 1.522 2.173 1.671 1.515 -0.003 0.000 0.778 0.514 0.139 1.274 0.801 1.260 1.600 0.000 1.495 0.976 0.988 0.676 0.921 1.010 0.943
0 1.816 -0.515 0.171 0.980 -0.454 0.870 0.202 -1.399 2.173 1.130 1.066 -1.593 0.000 0.844 0.735 1.275 2.548 1.125 -1.133 0.348 0.000 0.837 0.693 0.988 1.112 0.784 1.009 0.974
1 0.364 0.694 0.445 1.862 0.159 0.963 -1.356 1.260 1.087 0.887 -0.540 -1.533 2.215 0.658 -2.544 -1.236 0.000 0.516 -0.807 0.039 0.000 0.891 1.004 0.991 1.092 0.976 1.000 0.953
1 0.790 -1.175 0.475 1.846 0.094 0.999 -1.090 0.257 0.000 1.422 0.854 1.112 2.215 1.302 1.004 -1.702 1.274 2.557 -0.787 -1.048 0.000 0.890 1.429 0.993 2.807 0.840 2.248 1.821
1 0.765 -0.500 -0.603 1.843 -0.560 1.068 0.007 0.746 2.173 1.154 -0.017 1.329 0.000 1.165 1.791 -1.585 0.000 1.116 0.441 -0.886 0.000 0.774 0.982 0.989 1.102 0.633 1.178 1.021
1 1.407 1.293 -1.418 0.502 -1.527 2.005 -2.122 0.622 0.000 1.699 1.508 -0.649 2.215 1.665 0.748 -0.755 0.000 2.555 0.811 1.423 1.551 7.531 5.520 0.985 1.115 1.881 4.487 3.379
1 0.772 -0.186 -1.372 0.823 -0.140 0.781 0.763 0.046 2.173 1.128 0.516 1.380 0.000 0.797 -0.640 -0.134 2.548 2.019 -0.972 -1.670 0.000 2.022 1.466 0.989 0.856 0.808 1.230 0.991
1 0.546 -0.954 0.715 1.335 -1.689 0.783 -0.443 -1.735 2.173 1.081 0.185 -0.435 0.000 1.433 -0.662 -0.389 0.000 0.969 0.924 1.099 0.000 0.910 0.879 0.988 0.683 0.753 0.878 0.865
1 0.596 0.276 -1.054 1.358 1.355 1.444 1.813 -0.208 0.000 1.175 -0.949 -1.573 0.000 0.855 -1.228 -0.925 2.548 1.837 -0.400 0.913 0.000 0.637 0.901 1.028 0.553 0.790 0.679 0.677
0 0.458 2.292 1.530 0.291 1.283 0.749 -0.930 -0.198 0.000 0.300 -1.560 0.990 0.000 0.811 -0.176 0.995 2.548 1.085 -0.178 -1.213 3.102 0.891 0.648 0.999 0.732 0.655 0.619 0.620
0 0.638 -0.575 -1.048 0.125 0.178 0.846 -0.753 -0.339 1.087 0.799 -0.727 1.182 0.000 0.888 0.283 0.717 0.000 1.051 -1.046 -1.557 3.102 0.889 0.871 0.989 0.884 0.923 0.836 0.779
1 0.434 -1.119 -0.313 2.427 0.461 0.497 0.261 -1.177 2.173 0.618 -0.737 -0.688 0.000 1.150 -1.237 -1.652 2.548 0.757 -0.054 1.700 0.000 0.809 0.741 0.982 1.450 0.936 1.086 0.910
1 0.431 -1.144 -1.030 0.778 -0.655 0.490 0.047 -1.546 0.000 1.583 -0.014 0.891 2.215 0.516 0.956 0.567 2.548 0.935 -1.123 -0.082 0.000 0.707 0.995 0.995 0.700 0.602 0.770 0.685
1 1.894 0.222 1.224 1.578 1.715 0.966 2.890 -0.013 0.000 0.922 -0.703 -0.844 0.000 0.691 2.056 1.039 0.000 0.900 -0.733 -1.240 3.102 1.292 1.992 1.026 0.881 0.684 1.759 1.755
0 0.985 -0.316 0.141 1.067 -0.946 0.819 -1.177 1.307 2.173 1.080 -0.429 0.557 1.107 1.726 1.435 -1.075 0.000 1.100 1.547 -0.647 0.000 0.873 1.696 1.179 1.146 1.015 1.538 1.270
0 0.998 -0.187 -0.236 0.882 0.755 0.468 0.950 -0.439 2.173 0.579 -0.550 -0.624 0.000 1.847 1.196 1.384 1.274 0.846 1.273 -1.072 0.000 1.194 0.797 1.013 1.319 1.174 0.963 0.898
0 0.515 0.246 -0.593 1.082 1.591 0.912 -0.623 -0.957 2.173 0.858 0.418 0.844 0.000 0.948 2.519 1.599 0.000 1.158 1.385 -0.095 3.102 0.973 1.033 0.988 0.998 1.716 1.054 0.901
0 0.919 -1.001 1.506 1.389 0.653 0.507 -0.616 -0.689 2.173 0.808 0.536 -0.467 2.215 0.496 2.187 -0.859 0.000 0.822 0.807 1.163 0.000 0.876 0.861 1.088 0.947 0.614 0.911 1.087
0 0.794 0.051 1.477 1.504 -1.695 0.716 0.315 0.264 1.087 0.879 -0.135 -1.094 2.215 1.433 -0.741 0.201 0.000 1.566 0.534 -0.989 0.000 0.627 0.882 0.974 0.807 1.130 0.929 0.925
1 0.455 -0.946 -1.175 1.453 -0.580 0.763 -0.856 0.840 0.000 0.829 1.223 1.174 2.215 0.714 0.638 -0.466 0.000 1.182 0.223 -1.333 0.000 0.977 0.938 0.986 0.713 0.714 0.796 0.843
1 0.662 -0.296 -1.287 1.212 -0.707 0.641 1.457 0.222 0.000 0.600 0.525 -1.700 2.215 0.784 -0.835 -0.961 2.548 0.865 1.131 1.162 0.000 0.854 0.877 0.978 0.740 0.734 0.888 0.811
0 0.390 0.698 -1.629 1.888 0.298 0.990 1.614 -1.572 0.000 1.666 0.170 0.719 2.215 1.590 1.064 -0.886 1.274 0.952 0.305 -1.216 0.000 1.048 0.897 1.173 0.891 1.936 1.273 1.102
0 1.014 0.117 1.384 0.686 -1.047 0.609 -1.245 -0.850 0.000 1.076 -1.158 0.814 1.107 1.598 -0.389 -0.111 0.000 0.907 1.688 -1.673 0.000 1.333 0.866 0.989 0.975 0.442 0.797 0.788
0 1.530 -1.408 -0.207 0.440 -1.357 0.902 -0.647 1.325 1.087 1.320 -0.819 0.246 1.107 0.503 1.407 -1.683 0.000 1.189 -0.972 -0.925 0.000 0.386 1.273 0.988 0.829 1.335 1.173 1.149
1 1.689 -0.590 0.915 2.076 1.202 0.644 -0.478 -0.238 0.000 0.809 -1.660 -1.184 0.000 1.227 -0.224 -0.808 2.548 1.655 1.047 -0.623 0.000 0.621 1.192 0.988 1.309 0.866 0.924 1.012
0 1.102 0.402 -1.622 1.262 1.022 0.576 0.271 -0.269 0.000 0.591 0.495 -1.278 0.000 1.271 0.209 0.575 2.548 0.941 0.964 -0.685 3.102 0.989 0.963 1.124 0.857 0.858 0.716 0.718
0 2.491 0.825 0.581 1.593 0.205 0.782 -0.815 1.499 0.000 1.179 -0.999 -1.509 0.000 0.926 0.920 -0.522 2.548 2.068 -1.021 -1.050 3.102 0.874 0.943 0.980 0.945 1.525 1.570 1.652
0 0.666 0.254 1.601 1.303 -0.250 1.236 -1.929 0.793 0.000 1.074 0.447 -0.871 0.000 0.991 1.059 -0.342 0.000 1.703 -0.393 -1.419 3.102 0.921 0.945 1.285 0.931 0.462 0.770 0.729
0 0.937 -1.126 1.424 1.395 1.743 0.760 0.428 -0.238 2.173 0.846 0.494 1.320 2.215 0.872 -1.826 -0.507 0.000 0.612 1.860 1.403 0.000 3.402 2.109 0.985 1.298 1.165 1.404 1.240
1 0.881 -1.086 -0.870 0.513 0.266 2.049 -1.870 1.160 0.000 2.259 -0.428 -0.935 2.215 1.321 -0.655 -0.449 2.548 1.350 -1.766 -0.108 0.000 0.911 1.852 0.987 1.167 0.820 1.903 1.443
0 0.410 0.835 -0.819 1.257 1.112 0.871 -1.737 -0.401 0.000 0.927 0.158 1.253 0.000 1.183 0.405 -1.570 0.000 0.807 -0.704 -0.438 3.102 0.932 0.962 0.987 0.653 0.315 0.616 0.648
1 0.634 0.196 -1.679 1.379 -0.967 2.260 -0.273 1.114 0.000 1.458 1.070 -0.278 1.107 1.195 0.110 -0.688 2.548 0.907 0.298 -1.359 0.000 0.949 1.129 0.984 0.675 0.877 0.938 0.824
1 0.632 -1.254 1.201 0.496 -0.106 0.235 2.731 -0.955 0.000 0.615 -0.805 0.600 0.000 0.633 -0.934 1.641 0.000 1.407 -0.483 -0.962 1.551 0.778 0.797 0.989 0.578 0.722 0.576 0.539
0 0.714 1.122 1.566 2.399 -1.431 1.665 0.299 0.323 0.000 1.489 1.087 -0.861 2.215 1.174 0.140 1.083 2.548 0.404 -0.968 1.105 0.000 0.867 0.969 0.981 1.039 1.552 1.157 1.173
1 0.477 -0.321 -0.471 1.966 1.034 2.282 1.359 -0.874 0.000 1.672 -0.258 1.109 0.000 1.537 0.604 0.231 2.548 1.534 -0.640 0.827 0.000 0.746 1.337 1.311 0.653 0.721 0.795 0.742
1 1.351 0.460 0.031 1.194 -1.185 0.670 -1.157 -1.637 2.173 0.599 -0.823 0.680 0.000 0.478 0.373 1.716 0.000 0.809 -0.919 0.010 1.551 0.859 0.839 1.564 0.994 0.777 0.971 0.826
1 0.520 -1.442 -0.348 0.840 1.654 1.273 -0.760 1.317 0.000 0.861 2.579 -0.791 0.000 1.779 0.257 -0.703 0.000 2.154 1.928 0.457 0.000 1.629 3.194 0.992 0.730 1.107 2.447 2.747
0 0.700 -0.308 0.920 0.438 -0.879 0.516 1.409 1.101 0.000 0.960 0.701 -0.049 2.215 1.442 -0.416 -1.439 2.548 0.628 1.009 -0.364 0.000 0.848 0.817 0.987 0.759 1.421 0.937 0.920
1 0.720 1.061 -0.546 0.798 -1.521 1.066 0.173 0.271 1.087 1.453 0.114 1.336 1.107 0.702 0.616 -0.367 0.000 0.543 -0.386 -1.301 0.000 0.653 0.948 0.989 1.031 1.500 0.965 0.790
1 0.735 -0.416 0.588 1.308 -0.382 1.042 0.344 1.609 0.000 0.926 0.163 -0.520 1.107 1.050 -0.427 1.159 2.548 0.834 0.613 0.948 0.000 0.848 1.189 1.042 0.844 1.099 0.829 0.843
1 0.777 -0.396 1.540 1.608 0.638 0.955 0.040 0.918 2.173 1.315 1.116 -0.823 0.000 0.781 -0.762 0.564 2.548 0.945 -0.573 1.379 0.000 0.679 0.706 1.124 0.608 0.593 0.515 0.493
1 0.934 0.319 -0.257 0.970 -0.980 0.726 0.774 0.731 0.000 0.896 0.038 -1.465 1.107 0.773 -0.055 -0.831 2.548 1.439 -0.229 0.698 0.000 0.964 1.031 0.995 0.845 0.480 0.810 0.762
0 0.461 0.771 0.019 2.055 -1.288 1.043 0.147 0.261 2.173 0.833 -0.156 1.425 0.000 0.832 0.805 -0.491 2.548 0.589 1.252 1.414 0.000 0.850 0.906 1.245 1.364 0.850 0.908 0.863
1 0.858 -0.116 -0.937 0.966 1.167 0.825 -0.108 1.111 1.087 0.733 1.163 -0.634 0.000 0.894 0.771 0.020 0.000 0.846 -1.124 -1.195 3.102 0.724 1.194 1.195 0.813 0.969 0.985 0.856
0 0.720 -0.335 -0.307 1.445 0.540 1.108 -0.034 -1.691 1.087 0.883 -1.356 -0.678 2.215 0.440 1.093 0.253 0.000 0.389 -1.582 -1.097 0.000 1.113 1.034 0.988 1.256 1.572 1.062 0.904
1 0.750 -0.811 -0.542 0.985 0.408 0.471 0.477 0.355 0.000 1.347 -0.875 -1.556 2.215 0.564 1.082 -0.724 0.000 0.793 -0.958 -0.020 3.102 0.836 0.825 0.986 1.066 0.924 0.927 0.883
0 0.392 -0.468 -0.216 0.680 1.565 1.086 -0.765 -0.581 1.087 1.264 -1.035 1.189 2.215 0.986 -0.338 0.747 0.000 0.884 -1.328 -0.965 0.000 1.228 0.988 0.982 1.135 1.741 1.108 0.956
1 0.434 -1.269 0.643 0.713 0.608 0.597 0.832 1.627 0.000 0.708 -0.422 0.079 2.215 1.533 -0.823 -1.127 2.548 0.408 -1.357 -0.828 0.000 1.331 1.087 0.999 1.075 1.015 0.875 0.809
0 0.828 -1.803 0.342 0.847 -0.162 1.585 -1.128 -0.272 2.173 1.974 0.039 -1.717 0.000 0.900 0.764 -1.741 0.000 1.349 -0.079 1.035 3.102 0.984 0.815 0.985 0.780 1.661 1.403 1.184
1 1.089 -0.350 -0.747 1.472 0.792 1.087 -0.069 -1.192 0.000 0.512 -0.841 -1.284 0.000 2.162 -0.821 0.545 2.548 1.360 2.243 -0.183 0.000 0.977 0.628 1.725 1.168 0.635 0.823 0.822
1 0.444 0.451 -1.332 1.176 -0.247 0.898 0.194 0.007 0.000 1.958 0.576 -1.618 2.215 0.584 1.203 0.268 0.000 0.939 1.033 1.264 3.102 0.829 0.886 0.985 1.265 0.751 1.032 0.948
0 0.629 0.114 1.177 0.917 -1.204 0.845 0.828 -0.088 0.000 0.962 -1.302 0.823 2.215 0.732 0.358 -1.334 2.548 0.538 0.582 1.561 0.000 1.028 0.834 0.988 0.904 1.205 1.039 0.885
1 1.754 -1.259 -0.573 0.959 -1.483 0.358 0.448 -1.452 0.000 0.711 0.313 0.499 2.215 1.482 -0.390 1.474 2.548 1.879 -1.540 0.668 0.000 0.843 0.825 1.313 1.315 0.939 1.048 0.871
1 0.549 0.706 -1.437 0.894 0.891 0.680 -0.762 -1.568 0.000 0.981 0.499 -0.425 2.215 1.332 0.678 0.485 1.274 0.803 0.022 -0.893 0.000 0.793 1.043 0.987 0.761 0.899 0.915 0.794
0 0.475 0.542 -0.987 1.569 0.069 0.551 1.543 -1.488 0.000 0.608 0.301 1.734 2.215 0.277 0.499 -0.522 0.000 1.375 1.212 0.696 3.102 0.652 0.756 0.987 0.828 0.830 0.715 0.679
1 0.723 0.049 -1.153 1.300 0.083 0.723 -0.749 0.630 0.000 1.126 0.412 -0.384 0.000 1.272 1.256 1.358 2.548 3.108 0.777 -1.486 3.102 0.733 1.096 1.206 1.269 0.899 1.015 0.903
1 1.062 0.296 0.725 0.285 -0.531 0.819 1.277 -0.667 0.000 0.687 0.829 -0.092 0.000 1.158 0.447 1.047 2.548 1.444 -0.186 -1.491 3.102 0.863 1.171 0.986 0.769 0.828 0.919 0.840
0 0.572 -0.349 1.396 2.023 0.795 0.577 0.457 -0.533 0.000 1.351 0.701 -1.091 0.000 0.724 -1.012 -0.182 2.548 0.923 -0.012 0.789 3.102 0.936 1.025 0.985 1.002 0.600 0.828 0.909
1 0.563 0.387 0.412 0.553 1.050 0.723 -0.992 -0.447 0.000 0.748 0.948 0.546 2.215 1.761 -0.559 -1.183 0.000 1.114 -0.251 1.192 3.102 0.936 0.912 0.976 0.578 0.722 0.829 0.892
1 1.632 1.577 -0.697 0.708 -1.263 0.863 0.012 1.197 2.173 0.498 0.990 -0.806 0.000 0.627 2.387 -1.283 0.000 0.607 1.290 -0.174 3.102 0.916 1.328 0.986 0.557 0.971 0.935 0.836
1 0.562 -0.360 0.399 0.803 -1.334 1.443 -0.116 1.628 2.173 0.750 0.987 0.135 1.107 0.795 0.298 -0.556 0.000 1.150 -0.113 -0.093 0.000 0.493 1.332 0.985 1.001 1.750 1.013 0.886
1 0.987 0.706 -0.492 0.861 0.607 0.593 0.088 -0.184 0.000 0.802 0.894 1.608 2.215 0.782 -0.471 1.500 2.548 0.521 0.772 -0.960 0.000 0.658 0.893 1.068 0.877 0.664 0.709 0.661
1 1.052 0.883 -0.581 1.566 0.860 0.931 1.515 -0.873 0.000 0.493 0.145 -0.672 0.000 1.133 0.935 1.581 2.548 1.630 0.695 0.923 3.102 1.105 1.087 1.713 0.948 0.590 0.872 0.883
1 2.130 -0.516 -0.291 0.776 -1.230 0.689 -0.257 0.800 2.173 0.730 -0.274 -1.437 0.000 0.615 0.241 1.083 0.000 0.834 0.757 1.613 3.102 0.836 0.806 1.333 1.061 0.730 0.889 0.783
1 0.742 0.797 1.628 0.311 -0.418 0.620 0.685 -1.457 0.000 0.683 1.774 -1.082 0.000 1.700 1.104 0.225 2.548 0.382 -2.184 -1.307 0.000 0.945 1.228 0.984 0.864 0.931 0.988 0.838
0 0.311 -1.249 -0.927 1.272 -1.262 0.642 -1.228 -0.136 0.000 1.220 -0.804 -1.558 2.215 0.950 -0.828 0.495 1.274 2.149 -1.672 0.634 0.000 1.346 0.887 0.981 0.856 1.101 1.001 1.106
0 0.660 -1.834 -0.667 0.601 1.236 0.932 -0.933 -0.135 2.173 1.373 -0.122 1.429 0.000 0.654 -0.034 -0.847 2.548 0.711 0.911 0.703 0.000 1.144 0.942 0.984 0.822 0.739 0.992 0.895
0 3.609 -0.590 0.851 0.615 0.455 1.280 0.003 -0.866 1.087 1.334 0.708 -1.131 0.000 0.669 0.480 0.092 0.000 0.975 0.983 -1.429 3.102 1.301 1.089 0.987 1.476 0.934 1.469 1.352
1 0.905 -0.403 1.567 2.651 0.953 1.194 -0.241 -0.567 1.087 0.308 -0.384 -0.007 0.000 0.608 -0.175 -1.163 2.548 0.379 0.941 1.662 0.000 0.580 0.721 1.126 0.895 0.544 1.097 0.836
1 0.983 0.255 1.093 0.905 -0.874 0.863 0.060 -0.368 0.000 0.824 -0.747 -0.633 0.000 0.614 0.961 1.052 0.000 0.792 -0.260 1.632 3.102 0.874 0.883 1.280 0.663 0.406 0.592 0.645
1 1.160 -1.027 0.274 0.460 0.322 2.085 -1.623 -0.840 0.000 1.634 -1.046 1.182 2.215 0.492 -0.367 1.174 0.000 0.824 -0.998 1.617 0.000 0.943 0.884 1.001 1.209 1.313 1.034 0.866
0 0.299 0.028 -1.372 1.930 -0.661 0.840 -0.979 0.664 1.087 0.535 -2.041 1.434 0.000 1.087 -1.797 0.344 0.000 0.485 -0.560 -1.105 3.102 0.951 0.890 0.980 0.483 0.684 0.730 0.706
0 0.293 1.737 -1.418 2.074 0.794 0.679 1.024 -1.457 0.000 1.034 1.094 -0.168 1.107 0.506 1.680 -0.661 0.000 0.523 -0.042 -1.274 3.102 0.820 0.944 0.987 0.842 0.694 0.761 0.750
0 0.457 -0.393 1.560 0.738 -0.007 0.475 -0.230 0.246 0.000 0.776 -1.264 -0.606 2.215 0.865 -0.731 -1.576 2.548 1.153 0.343 1.436 0.000 1.060 0.883 0.988 0.972 0.703 0.758 0.720
0 0.935 -0.582 0.240 2.401 0.818 1.231 -0.618 -1.289 0.000 0.799 0.544 -0.228 2.215 0.525 -1.494 -0.969 0.000 0.609 -1.123 1.168 3.102 0.871 0.767 1.035 1.154 0.919 0.868 1.006
1 0.902 -0.745 -1.215 1.174 -0.501 1.215 0.167 1.162 0.000 0.896 1.217 -0.976 0.000 0.585 -0.429 1.036 0.000 1.431 -0.416 0.151 3.102 0.524 0.952 0.990 0.707 0.271 0.592 0.826
1 0.653 0.337 -0.320 1.118 -0.934 1.050 0.745 0.529 1.087 1.075 1.742 -1.538 0.000 0.585 1.090 0.973 0.000 1.091 -0.187 1.160 1.551 1.006 1.108 0.978 1.121 0.838 0.947 0.908
0 1.157 1.401 0.340 0.395 -1.218 0.945 1.928 -0.876 0.000 1.384 0.320 1.002 1.107 1.900 1.177 -0.462 2.548 1.122 1.316 1.720 0.000 1.167 1.096 0.989 0.937 1.879 1.307 1.041
0 0.960 0.355 -0.152 0.872 -0.338 0.391 0.348 0.956 1.087 0.469 2.664 1.409 0.000 0.756 -1.561 1.500 0.000 0.525 1.436 1.728 3.102 1.032 0.946 0.996 0.929 0.470 0.698 0.898
1 1.038 0.274 0.825 1.198 0.963 1.078 -0.496 -1.014 2.173 0.739 -0.727 -0.151 2.215 1.035 -0.799 0.398 0.000 1.333 -0.872 -1.498 0.000 0.849 1.033 0.985 0.886 0.936 0.975 0.823
0 0.490 0.277 0.318 1.303 0.694 1.333 -1.620 -0.563 0.000 1.459 -1.326 1.140 0.000 0.779 -0.673 -1.324 2.548 0.860 -1.247 0.043 0.000 0.857 0.932 0.992 0.792 0.278 0.841 1.498
0 1.648 -0.688 -1.386 2.790 0.995 1.087 1.359 -0.687 0.000 1.050 -0.223 -0.261 2.215 0.613 -0.889 1.335 0.000 1.204 0.827 0.309 3.102 0.464 0.973 2.493 1.737 0.827 1.319 1.062
0 1.510 -0.662 1.668 0.860 0.280 0.705 0.974 -1.647 1.087 0.662 -0.393 -0.225 0.000 0.610 -0.996 0.532 2.548 0.464 1.305 0.102 0.000 0.859 1.057 1.498 0.799 1.260 0.946 0.863
1 0.850 -1.185 -0.117 0.943 -0.449 1.142 0.875 -0.030 0.000 2.223 -0.461 1.627 2.215 0.767 -1.761 -1.692 0.000 1.012 -0.727 0.639 3.102 3.649 2.062 0.985 1.478 1.087 1.659 1.358
0 0.933 1.259 0.130 0.326 -0.890 0.306 1.136 1.142 0.000 0.964 0.705 -1.373 2.215 0.546 -0.196 -0.001 0.000 0.578 -1.169 1.004 3.102 0.830 0.836 0.988 0.837 1.031 0.749 0.655
0 0.471 0.697 1.570 1.109 0.201 1.248 0.348 -1.448 0.000 2.103 0.773 0.686 2.215 1.451 -0.087 -0.453 2.548 1.197 -0.045 -1.026 0.000 0.793 1.094 0.987 0.851 1.804 1.378 1.089
1 2.446 -0.701 -1.568 0.059 0.822 1.401 -0.600 -0.044 2.173 0.324 -0.001 1.344 2.215 0.913 -0.818 1.049 0.000 0.442 -1.088 -0.005 0.000 0.611 1.062 0.979 0.562 0.988 0.998 0.806
0 0.619 2.029 0.933 0.528 -0.903 0.974 0.760 -0.311 2.173 0.825 0.658 -1.466 1.107 0.894 1.594 0.370 0.000 0.882 -0.258 1.661 0.000 1.498 1.088 0.987 0.867 1.139 0.900 0.779
1 0.674 -0.131 -0.362 0.518 -1.574 0.876 0.442 0.145 1.087 0.497 -1.526 -1.704 0.000 0.680 2.514 -1.374 0.000 0.792 -0.479 0.773 1.551 0.573 1.198 0.984 0.800 0.667 0.987 0.832
1 1.447 1.145 -0.937 0.307 -1.458 0.478 1.264 0.816 1.087 0.558 1.015 -0.101 2.215 0.937 -0.190 1.177 0.000 0.699 0.954 -1.512 0.000 0.877 0.838 0.990 0.873 0.566 0.646 0.713
1 0.976 0.308 -0.844 0.436 0.610 1.253 0.149 -1.585 2.173 1.415 0.568 0.096 2.215 0.953 -0.855 0.441 0.000 0.867 -0.650 1.643 0.000 0.890 1.234 0.988 0.796 2.002 1.179 0.977
0 0.697 0.401 -0.718 0.920 0.735 0.958 -0.172 0.168 2.173 0.872 -0.097 -1.335 0.000 0.513 -1.192 -1.710 1.274 0.426 -1.637 1.368 0.000 0.997 1.227 1.072 0.800 1.013 0.786 0.749
1 1.305 -2.157 1.740 0.661 -0.912 0.705 -0.516 0.759 2.173 0.989 -0.716 -0.300 2.215 0.627 -1.052 -1.736 0.000 0.467 -2.467 0.568 0.000 0.807 0.964 0.988 1.427 1.012 1.165 0.926
0 1.847 1.663 -0.618 0.280 1.258 1.462 -0.054 1.371 0.000 0.900 0.309 -0.544 0.000 0.331 -2.149 -0.341 0.000 1.091 -0.833 0.710 3.102 1.496 0.931 0.989 1.549 0.115 1.140 1.150
0 0.410 -0.323 1.069 2.160 0.010 0.892 0.942 -1.640 2.173 0.946 0.938 1.314 0.000 1.213 -1.099 -0.794 2.548 0.650 0.053 0.056 0.000 1.041 0.916 1.063 0.985 1.910 1.246 1.107
1 0.576 1.092 -0.088 0.777 -1.579 0.757 0.271 0.109 0.000 0.819 0.827 -1.554 2.215 1.313 2.341 -1.568 0.000 2.827 0.239 -0.338 0.000 0.876 0.759 0.986 0.692 0.457 0.796 0.791
1 0.537 0.925 -1.406 0.306 -0.050 0.906 1.051 0.037 0.000 1.469 -0.177 -1.320 2.215 1.872 0.723 1.158 0.000 1.313 0.227 -0.501 3.102 0.953 0.727 0.978 0.755 0.892 0.932 0.781
0 0.716 -0.065 -0.484 1.313 -1.563 0.596 -0.242 0.678 2.173 0.426 -1.909 0.616 0.000 0.885 -0.406 -1.343 2.548 0.501 -1.327 -0.340 0.000 0.470 0.728 1.109 0.919 0.881 0.665 0.692
1 0.624 -0.389 0.128 1.636 -1.110 1.025 0.573 -0.843 2.173 0.646 -0.697 1.064 0.000 0.632 -1.442 0.961 0.000 0.863 -0.106 1.717 0.000 0.825 0.917 1.257 0.983 0.713 0.890 0.824
0 0.484 2.101 1.714 1.131 -0.823 0.750 0.583 -1.304 1.087 0.894 0.421 0.559 2.215 0.921 -0.063 0.282 0.000 0.463 -0.474 -1.387 0.000 0.742 0.886 0.995 0.993 1.201 0.806 0.754
0 0.570 0.339 -1.478 0.528 0.439 0.978 1.479 -1.411 2.173 0.763 1.541 -0.734 0.000 1.375 0.840 0.903 0.000 0.965 1.599 0.364 0.000 0.887 1.061 0.992 1.322 1.453 1.013 0.969
0 0.940 1.303 1.636 0.851 -1.732 0.803 -0.030 -0.177 0.000 0.480 -0.125 -0.954 0.000 0.944 0.709 0.296 2.548 1.342 -0.418 1.197 3.102 0.853 0.989 0.979 0.873 0.858 0.719 0.786
1 0.599 0.544 -0.238 0.816 1.043 0.857 0.660 1.128 2.173 0.864 -0.624 -0.843 0.000 1.159 0.367 0.174 0.000 1.520 -0.543 -1.508 0.000 0.842 0.828 0.984 0.759 0.895 0.918 0.791
1 1.651 1.897 -0.914 0.423 0.315 0.453 0.619 -1.607 2.173 0.532 -0.424 0.209 1.107 0.369 2.479 0.034 0.000 0.701 0.217 0.984 0.000 0.976 0.951 1.035 0.879 0.825 0.915 0.798
1 0.926 -0.574 -0.763 0.285 1.094 0.672 2.314 1.545 0.000 1.124 0.415 0.809 0.000 1.387 0.270 -0.949 2.548 1.547 -0.631 -0.200 3.102 0.719 0.920 0.986 0.889 0.933 0.797 0.777
0 0.677 1.698 -0.890 0.641 -0.449 0.607 1.754 1.720 0.000 0.776 0.372 0.782 2.215 0.511 1.491 -0.480 0.000 0.547 -0.341 0.853 3.102 0.919 1.026 0.997 0.696 0.242 0.694 0.687
0 1.266 0.602 0.958 0.487 1.256 0.709 0.843 -1.196 0.000 0.893 1.303 -0.594 1.107 1.090 1.320 0.354 0.000 0.797 1.846 1.139 0.000 0.780 0.896 0.986 0.661 0.709 0.790 0.806
1 0.628 -0.616 -0.329 0.764 -1.150 0.477 -0.715 1.187 2.173 1.250 0.607 1.026 2.215 0.983 -0.023 -0.583 0.000 0.377 1.344 -1.015 0.000 0.744 0.954 0.987 0.837 0.841 0.795 0.694
1 1.035 -0.828 -1.358 1.870 -1.060 1.075 0.130 0.448 2.173 0.660 0.697 0.641 0.000 0.425 1.006 -1.035 0.000 0.751 1.055 1.364 3.102 0.826 0.822 0.988 0.967 0.901 1.077 0.906
1 0.830 0.265 -0.150 0.660 1.105 0.592 -0.557 0.908 2.173 0.670 -1.419 -0.671 0.000 1.323 -0.409 1.644 2.548 0.850 -0.033 -0.615 0.000 0.760 0.967 0.984 0.895 0.681 0.747 0.770
1 1.395 1.100 1.167 1.088 0.218 0.400 -0.132 0.024 2.173 0.743 0.530 -1.361 2.215 0.341 -0.691 -0.238 0.000 0.396 -1.426 -0.933 0.000 0.363 0.472 1.287 0.922 0.810 0.792 0.656
1 1.070 1.875 -1.298 1.215 -0.106 0.767 0.795 0.514 1.087 0.401 2.780 1.276 0.000 0.686 1.127 1.721 2.548 0.391 -0.259 -1.167 0.000 1.278 1.113 1.389 0.852 0.824 0.838 0.785
0 1.114 -0.071 1.719 0.399 -1.383 0.849 0.254 0.481 0.000 0.958 -0.579 0.742 0.000 1.190 -0.140 -0.862 2.548 0.479 1.390 0.856 0.000 0.952 0.988 0.985 0.764 0.419 0.835 0.827
0 0.714 0.376 -0.568 1.578 -1.165 0.648 0.141 0.639 2.173 0.472 0.569 1.449 1.107 0.783 1.483 0.361 0.000 0.540 -0.790 0.032 0.000 0.883 0.811 0.982 0.775 0.572 0.760 0.745
0 0.401 -1.731 0.765 0.974 1.648 0.652 -1.024 0.191 0.000 0.544 -0.366 -1.246 2.215 0.627 0.140 1.008 2.548 0.810 0.409 0.429 0.000 0.950 0.934 0.977 0.621 0.580 0.677 0.650
1 0.391 1.679 -1.298 0.605 -0.832 0.549 1.338 0.522 2.173 1.244 0.884 1.070 0.000 1.002 0.846 -1.345 2.548 0.783 -2.464 -0.237 0.000 4.515 2.854 0.981 0.877 0.939 1.942 1.489
1 0.513 -0.220 -0.444 1.699 0.479 1.109 0.181 -0.999 2.173 0.883 -0.335 -1.716 2.215 1.075 -0.380 1.352 0.000 0.857 0.048 0.147 0.000 0.937 0.758 0.986 1.206 0.958 0.949 0.876
0 1.367 -0.388 0.798 1.158 1.078 0.811 -1.024 -1.628 0.000 1.504 0.097 -0.999 2.215 1.652 -0.860 0.054 2.548 0.573 -0.142 -1.401 0.000 0.869 0.833 1.006 1.412 1.641 1.214 1.041
1 1.545 -0.533 -1.517 1.177 1.289 2.331 -0.370 -0.073 0.000 1.295 -0.358 -0.891 2.215 0.476 0.756 0.985 0.000 1.945 -0.016 -1.651 3.102 1.962 1.692 1.073 0.656 0.941 1.312 1.242
0 0.858 0.978 -1.258 0.286 0.161 0.729 1.230 1.087 2.173 0.561 2.670 -0.109 0.000 0.407 2.346 0.938 0.000 1.078 0.729 -0.658 3.102 0.597 0.921 0.982 0.579 0.954 0.733 0.769
1 1.454 -1.384 0.870 0.067 0.394 1.033 -0.673 0.318 0.000 1.166 -0.763 -1.533 2.215 2.848 -0.045 -0.856 2.548 0.697 -0.140 1.134 0.000 0.931 1.293 0.977 1.541 1.326 1.201 1.078
1 0.559 -0.913 0.486 1.104 -0.321 1.073 -0.348 1.345 0.000 0.901 -0.827 -0.842 0.000 0.739 0.047 -0.415 2.548 0.433 -1.132 1.268 0.000 0.797 0.695 0.985 0.868 0.346 0.674 0.623
1 1.333 0.780 -0.964 0.916 1.202 1.822 -0.071 0.742 2.173 1.486 -0.399 -0.824 0.000 0.740 0.568 -0.134 0.000 0.971 -0.070 -1.589 3.102 1.278 0.929 1.421 1.608 1.214 1.215 1.137
1 2.417 0.631 -0.317 0.323 0.581 0.841 1.524 -1.738 0.000 0.543 1.176 -0.325 0.000 0.827 0.700 0.866 0.000 0.834 -0.262 -1.702 3.102 0.932 0.820 0.988 0.646 0.287 0.595 0.589
0 0.955 -1.242 0.938 1.104 0.474 0.798 -0.743 1.535 0.000 1.356 -1.357 -1.080 2.215 1.320 -1.396 -0.132 2.548 0.728 -0.529 -0.633 0.000 0.832 0.841 0.988 0.923 1.077 0.988 0.816
1 1.305 -1.918 0.391 1.161 0.063 0.724 2.593 1.481 0.000 0.592 -1.207 -0.329 0.000 0.886 -0.836 -1.168 2.548 1.067 -1.481 -1.440 0.000 0.916 0.688 0.991 0.969 0.550 0.665 0.638
0 1.201 0.071 -1.123 2.242 -1.533 0.702 -0.256 0.688 0.000 0.967 0.491 1.040 2.215 1.271 -0.558 0.095 0.000 1.504 0.676 -0.383 3.102 0.917 1.006 0.985 1.017 1.057 0.928 1.057
0 0.994 -1.607 1.596 0.774 -1.391 0.625 -0.134 -0.862 2.173 0.746 -0.765 -0.316 2.215 1.131 -0.320 0.869 0.000 0.607 0.826 0.301 0.000 0.798 0.967 0.999 0.880 0.581 0.712 0.774
1 0.482 -0.467 0.729 1.419 1.458 0.824 0.376 -0.242 0.000 1.368 0.023 1.459 2.215 0.826 0.669 -1.079 2.548 0.936 2.215 -0.309 0.000 1.883 1.216 0.997 1.065 0.946 1.224 1.526
1 0.383 1.588 1.611 0.748 1.194 0.866 -0.279 -0.636 0.000 0.707 0.536 0.801 2.215 1.647 -1.155 0.367 0.000 1.292 0.303 -1.681 3.102 2.016 1.581 0.986 0.584 0.684 1.107 0.958
0 0.629 0.203 0.736 0.671 -0.271 1.350 -0.486 0.761 2.173 0.496 -0.805 -1.718 0.000 2.393 0.044 -1.046 1.274 0.651 -0.116 -0.541 0.000 0.697 1.006 0.987 1.069 2.317 1.152 0.902
0 0.905 -0.564 -0.570 0.263 1.096 1.219 -1.397 -1.414 1.087 1.164 -0.533 -0.208 0.000 1.459 1.965 0.784 0.000 2.220 -1.421 0.452 0.000 0.918 1.360 0.993 0.904 0.389 2.118 1.707
1 1.676 1.804 1.171 0.529 1.175 1.664 0.354 -0.530 0.000 1.004 0.691 -1.280 2.215 0.838 0.373 0.626 2.548 1.094 1.774 0.501 0.000 0.806 1.100 0.991 0.769 0.976 0.807 0.740
1 1.364 -1.936 0.020 1.327 0.428 1.021 -1.665 -0.907 2.173 0.818 -2.701 1.303 0.000 0.716 -0.590 -1.629 2.548 0.895 -2.280 -1.602 0.000 1.211 0.849 0.989 1.320 0.864 1.065 0.949
0 0.629 -0.626 0.609 1.828 1.280 0.644 -0.856 -0.873 2.173 0.555 1.066 -0.640 0.000 0.477 -1.364 -1.021 2.548 1.017 0.036 0.380 0.000 0.947 0.941 0.994 1.128 0.241 0.793 0.815
1 1.152 -0.843 0.926 1.802 0.800 2.493 -1.449 -1.127 0.000 1.737 0.833 0.488 0.000 1.026 0.929 -0.990 2.548 1.408 0.689 1.142 3.102 1.171 0.956 0.993 2.009 0.867 1.499 1.474
0 2.204 0.081 0.008 1.021 -0.679 2.676 0.090 1.163 0.000 2.210 -1.686 -1.195 0.000 1.805 0.891 -0.148 2.548 0.450 -0.502 -1.295 3.102 6.959 3.492 1.205 0.908 0.845 2.690 2.183
1 0.957 0.954 1.702 0.043 -0.503 1.113 0.033 -0.308 0.000 0.757 -0.363 -1.129 2.215 1.635 0.068 1.048 1.274 0.415 -2.098 0.061 0.000 1.010 0.979 0.992 0.704 1.125 0.761 0.715
0 1.222 0.418 1.059 1.303 1.442 0.282 -1.499 -1.286 0.000 1.567 0.016 -0.164 2.215 0.451 2.229 -1.229 0.000 0.660 -0.513 -0.296 3.102 2.284 1.340 0.985 1.531 0.314 1.032 1.094
1 0.603 1.675 -0.973 0.703 -1.709 1.023 0.652 1.296 2.173 1.078 0.363 -0.263 0.000 0.734 -0.457 -0.745 1.274 0.561 1.434 -0.042 0.000 0.888 0.771 0.984 0.847 1.234 0.874 0.777
0 0.897 0.949 -0.848 1.115 -0.085 0.522 -1.267 -1.418 0.000 0.684 -0.599 1.474 0.000 1.176 0.922 0.641 2.548 0.470 0.103 0.148 3.102 0.775 0.697 0.984 0.839 0.358 0.847 1.008
1 0.987 1.013 -1.504 0.468 -0.259 1.160 0.476 -0.971 2.173 1.266 0.919 0.780 0.000 0.634 1.695 0.233 0.000 0.487 -0.082 0.719 3.102 0.921 0.641 0.991 0.730 0.828 0.952 0.807
1 0.847 1.581 -1.397 1.629 1.529 1.053 0.816 -0.344 2.173 0.895 0.779 0.332 0.000 0.750 1.311 0.419 2.548 1.604 0.844 1.367 0.000 1.265 0.798 0.989 1.328 0.783 0.930 0.879
1 0.805 1.416 -1.327 0.397 0.589 0.488 0.982 0.843 0.000 0.664 -0.999 0.129 0.000 0.624 0.613 -0.558 0.000 1.431 -0.667 -1.561 3.102 0.959 1.103 0.989 0.590 0.632 0.926 0.798
0 1.220 -0.313 -0.489 1.759 0.201 1.698 -0.220 0.241 2.173 1.294 1.390 -1.682 0.000 1.447 -1.623 -1.296 0.000 1.710 0.872 -1.356 3.102 1.198 0.981 1.184 0.859 2.165 1.807 1.661
0 0.772 -0.611 -0.549 0.465 -1.528 1.103 -0.140 0.001 2.173 0.854 -0.406 1.655 0.000 0.733 -1.250 1.072 0.000 0.883 0.627 -1.132 3.102 0.856 0.927 0.987 1.094 1.013 0.938 0.870
1 1.910 0.771 0.828 0.231 1.267 1.398 1.455 -0.295 2.173 0.837 -2.564 0.770 0.000 0.540 2.189 1.287 0.000 1.345 1.311 -1.151 0.000 0.861 0.869 0.984 1.359 1.562 1.105 0.963
1 0.295 0.832 1.399 1.222 -0.517 2.480 0.013 1.591 0.000 2.289 0.436 0.287 2.215 1.995 -0.367 -0.409 1.274 0.375 1.367 -1.716 0.000 1.356 2.171 0.990 1.467 1.664 1.855 1.705
1 1.228 0.339 -0.575 0.417 1.474 0.480 -1.416 -1.498 2.173 0.614 -0.933 -0.961 0.000 1.189 1.690 1.003 0.000 1.690 -1.065 0.106 3.102 0.963 1.147 0.987 1.086 0.948 0.930 0.866
0 2.877 -1.014 1.440 0.782 0.483 1.134 -0.735 -0.196 2.173 1.123 0.084 -0.596 0.000 1.796 -0.356 1.044 2.548 1.406 1.582 -0.991 0.000 0.939 1.178 1.576 0.996 1.629 1.216 1.280
1 2.178 0.259 1.107 0.256 1.222 0.979 -0.440 -0.538 1.087 0.496 -0.760 -0.049 0.000 1.471 1.683 -1.486 0.000 0.646 0.695 -1.577 3.102 1.093 1.070 0.984 0.608 0.889 0.962 0.866
1 0.604 0.592 1.295 0.964 0.348 1.178 -0.016 0.832 2.173 1.626 -0.420 -0.760 0.000 0.748 0.461 -0.906 0.000 0.728 0.309 -1.269 1.551 0.852 0.604 0.989 0.678 0.949 1.021 0.878
0 0.428 -1.352 -0.912 1.713 0.797 1.894 -1.452 0.191 2.173 2.378 2.113 -1.190 0.000 0.860 2.174 0.949 0.000 1.693 0.759 1.426 3.102 0.885 1.527 1.186 1.090 3.294 4.492 3.676
0 0.473 0.485 0.154 1.433 -1.504 0.766 1.257 -1.302 2.173 0.414 0.119 0.238 0.000 0.805 0.242 -0.691 2.548 0.734 0.749 0.753 0.000 0.430 0.893 1.137 0.686 0.724 0.618 0.608
1 0.763 -0.601 0.876 0.182 -1.678 0.818 0.599 0.481 2.173 0.658 -0.737 -0.553 0.000 0.857 -1.138 -1.435 0.000 1.540 -1.466 -0.447 0.000 0.870 0.566 0.989 0.728 0.658 0.821 0.726
0 0.619 -0.273 -0.143 0.992 -1.267 0.566 0.876 -1.396 2.173 0.515 0.892 0.618 0.000 0.434 -0.902 0.862 2.548 0.490 -0.539 0.549 0.000 0.568 0.794 0.984 0.667 0.867 0.597 0.578
0 0.793 0.970 0.324 0.570 0.816 0.761 -0.550 1.519 2.173 1.150 0.496 -0.447 0.000 0.925 0.724 1.008 1.274 1.135 -0.275 -0.843 0.000 0.829 1.068 0.978 1.603 0.892 1.041 1.059
1 0.480 0.364 -0.067 1.906 -1.582 1.397 1.159 0.140 0.000 0.639 0.398 -1.102 0.000 1.597 -0.668 1.607 2.548 1.306 -0.797 0.288 3.102 0.856 1.259 1.297 1.022 1.032 1.049 0.939
0 0.514 1.304 1.490 1.741 -0.220 0.648 0.155 0.535 0.000 0.562 -1.016 0.837 0.000 0.863 -0.780 -0.815 2.548 1.688 -0.130 -1.545 3.102 0.887 0.980 1.309 1.269 0.654 1.044 1.035
0 1.225 0.333 0.656 0.893 0.859 1.037 -0.876 1.603 1.087 1.769 0.272 -0.227 2.215 1.000 0.579 -1.690 0.000 1.385 0.471 -0.860 0.000 0.884 1.207 0.995 1.097 2.336 1.282 1.145
0 2.044 -1.472 -0.294 0.392 0.369 0.927 0.718 1.492 1.087 1.619 -0.736 0.047 2.215 1.884 -0.101 -1.540 0.000 0.548 -0.441 1.117 0.000 0.798 0.877 0.981 0.750 2.272 1.469 1.276
0 1.037 -0.276 0.735 3.526 1.156 2.498 0.401 -0.590 1.087 0.714 -1.203 1.393 2.215 0.681 0.629 1.534 0.000 0.719 -0.355 -0.706 0.000 0.831 0.857 0.988 2.864 2.633 1.988 1.466
1 0.651 -1.218 -0.791 0.770 -1.449 0.610 -0.535 0.960 2.173 0.380 -1.072 -0.031 2.215 0.415 2.123 -1.100 0.000 0.776 0.217 0.420 0.000 0.986 1.008 1.001 0.853 0.588 0.799 0.776
0 1.586 -0.409 0.085 3.258 0.405 1.647 -0.674 -1.519 0.000 0.640 -1.027 -1.681 0.000 1.452 -0.444 -0.957 2.548 0.927 -0.017 1.215 3.102 0.519 0.866 0.992 0.881 0.847 1.018 1.278
0 0.712 0.092 -0.466 0.688 1.236 0.921 -1.217 -1.022 2.173 2.236 -1.167 0.868 2.215 0.851 -1.892 -0.753 0.000 0.475 -1.216 -0.383 0.000 0.668 0.758 0.988 1.180 2.093 1.157 0.934
0 0.419 0.471 0.974 2.805 0.235 1.473 -0.198 1.255 1.087 0.931 1.083 -0.712 0.000 1.569 1.358 -1.179 2.548 2.506 0.199 -0.842 0.000 0.929 0.991 0.992 1.732 2.367 1.549 1.430
1 0.667 1.003 1.504 0.368 1.061 0.885 -0.318 -0.353 0.000 1.438 -1.939 0.710 0.000 1.851 0.277 -1.460 2.548 1.403 0.517 -0.157 0.000 0.883 1.019 1.000 0.790 0.859 0.938 0.841
1 1.877 -0.492 0.372 0.441 0.955 1.034 -1.220 -0.846 1.087 0.952 -0.320 1.125 0.000 0.542 0.308 -1.261 2.548 1.018 -1.415 -1.547 0.000 1.280 0.932 0.991 1.273 0.878 0.921 0.906
0 1.052 0.901 1.176 1.280 1.517 0.562 -1.150 -0.079 2.173 1.228 -0.308 -0.354 0.000 0.790 -1.492 -0.963 0.000 0.942 -0.672 -1.588 3.102 1.116 0.902 0.988 1.993 0.765 1.375 1.325
1 0.518 -0.254 1.642 0.865 0.725 0.980 0.734 0.023 0.000 1.448 0.780 -1.736 2.215 0.955 0.513 -0.519 0.000 0.365 -0.444 -0.243 3.102 0.833 0.555 0.984 0.827 0.795 0.890 0.786
0 0.870 0.815 -0.506 0.663 -0.518 0.935 0.289 -1.675 2.173 1.188 0.005 0.635 0.000 0.580 0.066 -1.455 2.548 0.580 -0.634 -0.199 0.000 0.852 0.788 0.979 1.283 0.208 0.856 0.950
0 0.628 1.382 0.135 0.683 0.571 1.097 0.564 -0.950 2.173 0.617 -0.326 0.371 0.000 1.093 0.918 1.667 2.548 0.460 1.221 0.708 0.000 0.743 0.861 0.975 1.067 1.007 0.843 0.762
0 4.357 0.816 -1.609 1.845 -1.288 3.292 0.726 0.324 2.173 1.528 0.583 -0.801 2.215 0.605 0.572 1.406 0.000 0.794 -0.791 0.122 0.000 0.967 1.132 1.124 3.602 2.811 2.460 1.861
0 0.677 -1.265 1.559 0.866 -0.618 0.823 0.260 0.185 0.000 1.133 0.337 1.589 2.215 0.563 -0.830 0.510 0.000 0.777 0.117 -0.941 3.102 0.839 0.763 0.986 1.182 0.649 0.796 0.851
0 2.466 -1.838 -1.648 1.717 1.533 1.676 -1.553 -0.109 2.173 0.670 -0.666 0.284 0.000 0.334 -2.480 0.316 0.000 0.366 -0.804 -1.298 3.102 0.875 0.894 0.997 0.548 0.770 1.302 1.079
1 1.403 0.129 -1.307 0.688 0.306 0.579 0.753 0.814 1.087 0.474 0.694 -1.400 0.000 0.520 1.995 0.185 0.000 0.929 -0.504 1.270 3.102 0.972 0.998 1.353 0.948 0.650 0.688 0.724
1 0.351 1.188 -0.360 0.254 -0.346 1.129 0.545 1.691 0.000 0.652 -0.039 -0.258 2.215 1.089 0.655 0.472 2.548 0.554 -0.493 1.366 0.000 0.808 1.045 0.992 0.570 0.649 0.809 0.744
0 1.875 -0.013 -0.128 0.236 1.163 0.902 0.426 0.590 2.173 1.251 -1.210 -0.616 0.000 1.035 1.534 0.912 0.000 1.944 1.789 -1.691 0.000 0.974 1.113 0.990 0.925 1.120 0.956 0.912
0 0.298 0.750 -0.507 1.555 1.463 0.804 1.200 -0.665 0.000 0.439 -0.829 -0.252 1.107 0.770 -1.090 0.947 2.548 1.165 -0.166 -0.763 0.000 1.140 0.997 0.988 1.330 0.555 1.005 1.012
0 0.647 0.342 0.245 4.340 -0.157 2.229 0.068 1.170 2.173 2.133 -0.201 -1.441 0.000 1.467 0.697 -0.532 1.274 1.457 0.583 -1.640 0.000 0.875 1.417 0.976 2.512 2.390 1.794 1.665
1 1.731 -0.803 -1.013 1.492 -0.020 1.646 -0.541 1.121 2.173 0.459 -1.251 -1.495 2.215 0.605 -1.711 -0.232 0.000 0.658 0.634 -0.068 0.000 1.214 0.886 1.738 1.833 1.024 1.192 1.034
0 0.515 1.416 -1.089 1.697 1.426 1.414 0.941 0.027 0.000 1.480 0.133 -1.595 2.215 1.110 0.752 0.760 2.548 1.062 0.697 -0.492 0.000 0.851 0.955 0.994 1.105 1.255 1.175 1.095
0 1.261 0.858 1.465 0.757 0.305 2.310 0.679 1.080 2.173 1.544 2.518 -0.464 0.000 2.326 0.270 -0.841 0.000 2.163 0.839 -0.500 3.102 0.715 0.825 1.170 0.980 2.371 1.527 1.221
1 1.445 1.509 1.471 0.414 -1.285 0.767 0.864 -0.677 2.173 0.524 1.388 0.171 0.000 0.826 0.190 0.121 2.548 0.572 1.691 -1.603 0.000 0.870 0.935 0.994 0.968 0.735 0.783 0.777
1 0.919 -0.264 -1.245 0.681 -1.722 1.022 1.010 0.097 2.173 0.685 0.403 -1.351 0.000 1.357 -0.429 1.262 1.274 0.687 1.021 -0.563 0.000 0.953 0.796 0.991 0.873 1.749 1.056 0.917
1 0.293 -2.258 -1.427 1.191 1.202 0.394 -2.030 1.438 0.000 0.723 0.596 -0.024 2.215 0.525 -1.678 -0.290 0.000 0.788 -0.824 -1.029 3.102 0.821 0.626 0.976 1.080 0.810 0.842 0.771
0 3.286 0.386 1.688 1.619 -1.620 1.392 -0.009 0.280 0.000 1.179 -0.776 -0.110 2.215 1.256 0.248 -1.114 2.548 0.777 0.825 -0.156 0.000 1.026 1.065 0.964 0.909 1.249 1.384 1.395
1 1.075 0.603 0.561 0.656 -0.685 0.985 0.175 0.979 2.173 1.154 0.584 -0.886 0.000 1.084 -0.354 -1.004 2.548 0.865 1.224 1.269 0.000 1.346 1.073 1.048 0.873 1.310 1.003 0.865
1 1.098 -0.091 1.466 1.558 0.915 0.649 1.314 -1.182 2.173 0.791 0.073 0.351 0.000 0.517 0.940 1.195 0.000 1.150 1.187 -0.692 3.102 0.866 0.822 0.980 1.311 0.394 1.119 0.890
1 0.481 -1.042 0.148 1.135 -1.249 1.202 -0.344 0.308 1.087 0.779 -1.431 1.581 0.000 0.860 -0.860 -1.125 0.000 0.785 0.303 1.199 3.102 0.878 0.853 0.988 1.072 0.827 0.936 0.815
0 1.348 0.497 0.318 0.806 0.976 1.393 -0.152 0.632 2.173 2.130 0.515 -1.054 0.000 0.908 0.062 -0.780 0.000 1.185 0.687 1.668 1.551 0.720 0.898 0.985 0.683 1.292 1.320 1.131
0 2.677 -0.420 -1.685 1.828 1.433 2.040 -0.718 -0.039 0.000 0.400 -0.873 0.472 0.000 0.444 0.340 -0.830 2.548 0.431 0.768 -1.417 3.102 0.869 0.917 0.996 0.707 0.193 0.728 1.154
1 1.300 0.586 -0.122 1.306 0.609 0.727 -0.556 -1.652 2.173 0.636 0.720 1.393 2.215 0.328 1.280 -0.390 0.000 0.386 0.752 -0.905 0.000 0.202 0.751 1.106 0.864 0.799 0.928 0.717
0 0.637 -0.176 1.737 1.322 -0.414 0.702 -0.964 -0.680 0.000 1.054 -0.461 0.889 2.215 0.861 -0.267 0.225 0.000 1.910 -1.888 1.027 0.000 0.919 0.899 1.186 0.993 1.109 0.862 0.775
1 0.723 -0.104 1.572 0.428 -0.840 0.655 0.544 1.401 2.173 1.522 -0.154 -0.452 2.215 0.996 0.190 0.273 0.000 1.906 -0.176 0.966 0.000 0.945 0.894 0.990 0.981 1.555 0.988 0.893
0 2.016 -0.570 1.612 0.798 0.441 0.334 0.191 -0.909 0.000 0.939 0.146 0.021 2.215 0.553 -0.444 1.156 2.548 0.781 -1.545 -0.520 0.000 0.922 0.956 1.528 0.722 0.699 0.778 0.901
0 1.352 -0.707 1.284 0.665 0.580 0.694 -1.040 -0.899 2.173 0.692 -2.048 0.029 0.000 0.545 -2.042 1.259 0.000 0.661 -0.808 -1.251 3.102 0.845 0.991 0.979 0.662 0.225 0.685 0.769
1 1.057 -1.561 -0.411 0.952 -0.681 1.236 -1.107 1.045 2.173 1.288 -2.521 -0.521 0.000 1.361 -1.239 1.546 0.000 0.373 -1.540 0.028 0.000 0.794 0.782 0.987 0.889 0.832 0.972 0.828
0 1.118 -0.017 -1.227 1.077 1.256 0.714 0.624 -0.811 0.000 0.800 0.704 0.387 1.107 0.604 0.234 0.986 0.000 1.306 -0.456 0.094 3.102 0.828 0.984 1.195 0.987 0.672 0.774 0.748
1 0.602 2.201 0.212 0.119 0.182 0.474 2.130 1.270 0.000 0.370 2.088 -0.573 0.000 0.780 -0.725 -1.033 0.000 1.642 0.598 0.303 3.102 0.886 0.988 0.985 0.644 0.756 0.651 0.599
0 1.677 -0.844 1.581 0.585 0.887 1.012 -2.315 0.752 0.000 1.077 0.748 -0.195 0.000 0.718 0.832 -1.337 1.274 1.181 -0.557 -1.006 3.102 1.018 1.247 0.988 0.908 0.651 1.311 1.120
1 1.695 0.259 1.224 1.344 1.067 0.718 -1.752 -0.215 0.000 0.473 0.991 -0.993 0.000 0.891 1.285 -1.500 2.548 0.908 -0.131 0.288 0.000 0.945 0.824 0.979 1.009 0.951 0.934 0.833
0 0.793 0.628 0.432 1.707 0.302 0.919 1.045 -0.784 0.000 1.472 0.175 -1.284 2.215 1.569 0.155 0.971 2.548 0.435 0.735 1.625 0.000 0.801 0.907 0.992 0.831 1.446 1.082 1.051
1 0.537 -0.664 -0.244 1.104 1.272 1.154 0.394 1.633 0.000 1.527 0.963 0.559 2.215 1.744 0.650 -0.912 0.000 1.097 0.730 -0.368 3.102 1.953 1.319 1.045 1.309 0.869 1.196 1.126
1 0.585 -1.469 1.005 0.749 -1.060 1.224 -0.717 -0.323 2.173 1.012 -0.201 1.268 0.000 0.359 -0.567 0.476 0.000 1.117 -1.124 1.557 3.102 0.636 1.281 0.986 0.616 1.289 0.890 0.881
1 0.354 -1.517 0.667 2.534 -1.298 1.020 -0.375 1.254 0.000 1.119 -0.060 -1.538 2.215 1.059 -0.395 -0.140 0.000 2.609 0.199 -0.778 1.551 0.957 0.975 1.286 1.666 1.003 1.224 1.135
1 0.691 -1.619 -1.380 0.361 1.727 1.493 -1.093 -0.289 0.000 1.447 -0.640 1.341 0.000 1.453 -0.617 -1.456 1.274 1.061 -1.481 -0.091 0.000 0.744 0.649 0.987 0.596 0.727 0.856 0.797
0 1.336 1.293 -1.359 0.357 0.067 1.110 -0.058 -0.515 0.000 0.976 1.498 1.207 0.000 1.133 0.437 1.053 2.548 0.543 1.374 0.171 0.000 0.764 0.761 0.984 0.827 0.553 0.607 0.612
0 0.417 -1.111 1.661 2.209 -0.683 1.931 -0.642 0.959 1.087 1.514 -2.032 -0.686 0.000 1.521 -0.539 1.344 0.000 0.978 -0.866 0.363 1.551 2.813 1.850 1.140 1.854 0.799 1.600 1.556
0 1.058 0.390 -0.591 0.134 1.149 0.346 -1.550 0.186 0.000 1.108 -0.999 0.843 1.107 1.124 0.415 -1.514 0.000 1.067 -0.426 -1.000 3.102 1.744 1.050 0.985 1.006 1.010 0.883 0.789
1 1.655 0.253 1.216 0.270 1.703 0.500 -0.006 -1.418 2.173 0.690 -0.350 0.170 2.215 1.045 -0.924 -0.774 0.000 0.996 -0.745 -0.123 0.000 0.839 0.820 0.993 0.921 0.869 0.725 0.708
0 1.603 -0.850 0.564 0.829 0.093 1.270 -1.113 -1.155 2.173 0.853 -1.021 1.248 2.215 0.617 -1.270 1.733 0.000 0.935 -0.092 0.136 0.000 1.011 1.074 0.977 0.823 1.269 1.054 0.878
0 1.568 -0.792 1.005 0.545 0.896 0.895 -1.698 -0.988 0.000 0.608 -1.634 1.705 0.000 0.826 0.208 0.618 1.274 2.063 -1.743 -0.520 0.000 0.939 0.986 0.990 0.600 0.435 1.033 1.087
0 0.489 -1.335 -1.102 1.738 1.028 0.628 -0.992 -0.627 0.000 0.652 -0.064 -0.215 0.000 1.072 0.173 -1.251 2.548 1.042 0.057 0.841 3.102 0.823 0.895 1.200 1.164 0.770 0.837 0.846
1 1.876 0.870 1.234 0.556 -1.262 1.764 0.855 -0.467 2.173 1.079 1.351 0.852 0.000 0.773 0.383 0.874 0.000 1.292 0.829 -1.228 3.102 0.707 0.969 1.102 1.601 1.017 1.112 1.028
0 1.033 0.407 -0.374 0.705 -1.254 0.690 -0.231 1.502 2.173 0.433 -2.009 -0.057 0.000 0.861 1.151 0.334 0.000 0.960 -0.839 1.299 3.102 2.411 1.480 0.982 0.995 0.377 1.012 0.994
0 1.092 0.653 -0.801 0.463 0.426 0.529 -1.055 0.040 0.000 0.663 0.999 1.255 1.107 0.749 -1.106 1.185 2.548 0.841 -0.745 -1.029 0.000 0.841 0.743 0.988 0.750 1.028 0.831 0.868
1 0.799 -0.285 -0.011 0.531 1.392 1.063 0.854 0.494 2.173 1.187 -1.065 -0.851 0.000 0.429 -0.296 1.072 0.000 0.942 -1.985 1.172 0.000 0.873 0.693 0.992 0.819 0.689 1.131 0.913
0 0.503 1.973 -0.377 1.515 -1.514 0.708 1.081 -0.313 2.173 1.110 -0.417 0.839 0.000 0.712 -1.153 1.165 0.000 0.675 -0.303 -0.930 1.551 0.709 0.761 1.032 0.986 0.698 0.963 1.291
0 0.690 -0.574 -1.608 1.182 1.118 0.557 -2.243 0.144 0.000 0.969 0.216 -1.383 1.107 1.054 0.888 -0.709 2.548 0.566 1.663 -0.550 0.000 0.752 1.528 0.987 1.408 0.740 1.290 1.123
1 0.890 1.501 0.786 0.779 -0.615 1.126 0.716 1.541 2.173 0.887 0.728 -0.673 2.215 1.216 0.332 -0.020 0.000 0.965 1.828 0.101 0.000 0.827 0.715 1.099 1.088 1.339 0.924 0.878
0 0.566 0.883 0.655 1.600 0.034 1.155 2.028 -1.499 0.000 0.723 -0.871 0.763 0.000 1.286 -0.696 -0.676 2.548 1.134 -0.113 1.207 3.102 4.366 2.493 0.984 0.960 0.962 1.843 1.511
0 1.146 1.086 -0.911 0.838 1.298 0.821 0.127 -0.145 0.000 1.352 0.474 -1.580 2.215 1.619 -0.081 0.675 2.548 1.382 -0.748 0.127 0.000 0.958 0.976 1.239 0.876 1.481 1.116 1.076
0 1.739 -0.326 -1.661 0.420 -1.705 1.193 -0.031 -1.212 2.173 1.783 -0.442 0.522 0.000 1.064 -0.692 0.027 0.000 1.314 0.359 -0.037 3.102 0.968 0.897 0.986 0.907 1.196 1.175 1.112
1 0.669 0.194 -0.703 0.657 -0.260 0.899 -2.511 0.311 0.000 1.482 0.773 0.974 2.215 3.459 0.037 -1.299 1.274 2.113 0.067 1.516 0.000 0.740 0.871 0.979 1.361 2.330 1.322 1.046
1 1.355 -1.033 -1.173 0.552 -0.048 0.899 -0.482 -1.287 2.173 1.422 -1.227 0.390 1.107 1.937 -0.028 0.914 0.000 0.849 -0.230 -1.734 0.000 0.986 1.224 1.017 1.051 1.788 1.150 1.009
1 0.511 -0.202 1.029 0.780 1.154 0.816 0.532 -0.731 0.000 0.757 0.517 0.749 2.215 1.302 0.289 -1.188 0.000 0.584 1.211 -0.350 0.000 0.876 0.943 0.995 0.963 0.256 0.808 0.891
1 1.109 0.572 1.484 0.753 1.543 1.711 -0.145 -0.746 1.087 1.759 0.631 0.845 2.215 0.945 0.542 0.003 0.000 0.378 -1.150 -0.044 0.000 0.764 1.042 0.992 1.045 2.736 1.441 1.140
0 0.712 -0.025 0.553 0.928 -0.711 1.304 0.045 -0.300 0.000 0.477 0.720 0.969 0.000 1.727 -0.474 1.328 1.274 1.282 2.222 1.684 0.000 0.819 0.765 1.023 0.961 0.657 0.799 0.744
1 1.131 -0.302 1.079 0.901 0.236 0.904 -0.249 1.694 2.173 1.507 -0.702 -1.128 0.000 0.774 0.565 0.284 2.548 1.802 1.446 -0.192 0.000 3.720 2.108 0.986 0.930 1.101 1.484 1.238
0 1.392 1.253 0.118 0.864 -1.358 0.922 -0.447 -1.243 1.087 1.969 1.031 0.774 2.215 1.333 -0.359 -0.681 0.000 1.099 -0.257 1.473 0.000 1.246 0.909 1.475 1.234 2.531 1.449 1.306
0 1.374 2.291 -0.479 1.339 -0.243 0.687 2.345 1.310 0.000 0.467 1.081 0.772 0.000 0.656 1.155 -1.636 2.548 0.592 0.536 -1.269 3.102 0.981 0.821 1.010 0.877 0.217 0.638 0.758
1 0.401 -1.516 0.909 2.738 0.519 0.887 0.566 -1.202 0.000 0.909 -0.176 1.682 0.000 2.149 -0.878 -0.514 2.548 0.929 -0.563 -1.555 3.102 1.228 0.803 0.980 1.382 0.884 1.025 1.172
1 0.430 -1.589 1.417 2.158 1.226 1.180 -0.829 -0.781 2.173 0.798 1.400 -0.111 0.000 0.939 -0.878 1.076 2.548 0.576 1.335 -0.826 0.000 0.861 0.970 0.982 1.489 1.308 1.015 0.992
1 1.943 -0.391 -0.840 0.621 -1.613 2.026 1.734 1.025 0.000 0.930 0.573 -0.912 0.000 1.326 0.847 -0.220 1.274 1.181 0.079 0.709 3.102 1.164 1.007 0.987 1.094 0.821 0.857 0.786
1 0.499 0.436 0.887 0.859 1.509 0.733 -0.559 1.111 1.087 1.011 -0.796 0.279 2.215 1.472 -0.510 -0.982 0.000 1.952 0.379 -0.733 0.000 1.076 1.358 0.991 0.589 0.879 1.068 0.922
0 0.998 -0.407 -1.711 0.139 0.652 0.810 -0.331 -0.721 0.000 0.471 -0.533 0.442 0.000 0.531 -1.405 0.120 2.548 0.707 0.098 -1.176 1.551 1.145 0.809 0.988 0.529 0.612 0.562 0.609
1 1.482 0.872 0.638 1.288 0.362 0.856 0.900 -0.511 1.087 1.072 1.061 -1.432 2.215 1.770 -2.292 -1.547 0.000 1.131 1.374 0.783 0.000 6.316 4.381 1.002 1.317 1.048 2.903 2.351
1 2.084 -0.422 1.289 1.125 0.735 1.104 -0.518 -0.326 2.173 0.413 -0.719 -0.699 0.000 0.857 0.108 -1.631 0.000 0.527 0.641 -1.362 3.102 0.791 0.952 1.016 0.776 0.856 0.987 0.836
0 0.464 0.674 0.025 0.430 -1.703 0.982 -1.311 -0.808 2.173 1.875 1.060 0.821 2.215 0.954 -0.480 -1.677 0.000 0.567 0.702 -0.939 0.000 0.781 1.076 0.989 1.256 3.632 1.652 1.252
1 0.457 -1.944 -1.010 1.409 0.931 1.098 -0.742 -0.415 0.000 1.537 -0.834 0.945 2.215 1.752 -0.287 -1.269 2.548 0.692 -1.537 -0.223 0.000 0.801 1.192 1.094 1.006 1.659 1.175 1.122
0 3.260 -0.943 1.737 0.920 1.309 0.946 -0.139 -0.271 2.173 0.994 -0.952 -0.311 0.000 0.563 -0.136 -0.881 0.000 1.236 -0.507 0.906 1.551 0.747 0.869 0.985 1.769 1.034 1.179 1.042
0 0.615 -0.778 0.246 1.861 1.619 0.560 -0.943 -0.204 2.173 0.550 -0.759 -1.342 2.215 0.578 0.076 -0.973 0.000 0.939 0.035 0.680 0.000 0.810 0.747 1.401 0.772 0.702 0.719 0.662
1 2.370 -0.064 -0.237 1.737 0.154 2.319 -1.838 -1.673 0.000 1.053 -1.305 -0.075 0.000 0.925 0.149 0.318 1.274 0.851 -0.922 0.981 3.102 0.919 0.940 0.989 0.612 0.598 1.219 1.626
1 1.486 0.311 -1.262 1.354 -0.847 0.886 -0.158 1.213 2.173 1.160 -0.218 0.239 0.000 1.166 0.494 0.278 2.548 0.575 1.454 -1.701 0.000 0.429 1.129 0.983 1.111 1.049 1.006 0.920
1 1.294 1.587 -0.864 0.487 -0.312 0.828 1.051 -0.031 1.087 2.443 1.216 1.609 2.215 1.167 0.813 0.921 0.000 1.751 -0.415 0.119 0.000 1.015 1.091 0.974 1.357 2.093 1.178 1.059
1 0.984 0.465 -1.661 0.379 -0.554 0.977 0.237 0.365 0.000 0.510 0.143 1.101 0.000 1.099 -0.662 -1.593 2.548 1.104 -0.197 -0.648 3.102 0.925 0.922 0.986 0.642 0.667 0.806 0.722
1 0.930 -0.009 0.047 0.667 1.367 1.065 -0.231 0.815 0.000 1.199 -1.114 -0.877 2.215 0.940 0.824 -1.583 0.000 1.052 -0.407 -0.076 1.551 1.843 1.257 1.013 1.047 0.751 1.158 0.941
0 0.767 -0.011 -0.637 0.341 -1.437 1.438 -0.425 -0.450 2.173 1.073 -0.718 1.341 2.215 0.633 -1.394 0.486 0.000 0.603 -1.945 -1.626 0.000 0.703 0.790 0.984 1.111 1.848 1.129 1.072
1 1.779 0.017 0.432 0.402 1.022 0.959 1.480 1.595 2.173 1.252 1.365 0.006 0.000 1.188 -0.174 -1.107 0.000 1.181 0.518 -0.258 0.000 1.057 0.910 0.991 1.616 0.779 1.158 1.053
0 0.881 0.630 1.029 1.990 0.508 1.102 0.742 -1.298 2.173 1.565 1.085 0.686 2.215 2.691 1.391 -0.904 0.000 0.499 1.388 -1.199 0.000 0.347 0.861 0.997 0.881 1.920 1.233 1.310
0 1.754 -0.266 0.389 0.347 -0.030 0.462 -1.408 -0.957 2.173 0.515 -2.341 -1.700 0.000 0.588 -0.797 1.355 2.548 0.608 0.329 -1.389 0.000 1.406 0.909 0.988 0.760 0.593 0.768 0.847
0 1.087 0.311 -1.447 0.173 0.567 0.854 0.362 0.584 0.000 1.416 -0.716 -1.211 2.215 0.648 -0.358 -0.692 1.274 0.867 -0.513 0.206 0.000 0.803 0.813 0.984 1.110 0.491 0.921 0.873
0 0.279 1.114 -1.190 3.004 -0.738 1.233 0.896 1.092 2.173 0.454 -0.374 0.117 2.215 0.357 0.119 1.270 0.000 0.458 1.343 0.316 0.000 0.495 0.540 0.988 1.715 1.139 1.618 1.183
1 1.773 -0.694 -1.518 2.306 -1.200 3.104 0.749 0.362 0.000 1.871 0.230 -1.686 2.215 0.805 -0.179 -0.871 1.274 0.910 0.607 -0.246 0.000 1.338 1.598 0.984 1.050 0.919 1.678 1.807
0 0.553 0.683 0.827 0.973 -0.706 1.488 0.149 1.140 2.173 1.788 0.447 -0.478 0.000 0.596 1.043 1.607 0.000 0.373 -0.868 -1.308 1.551 1.607 1.026 0.998 1.134 0.808 1.142 0.936
1 0.397 1.101 -1.139 1.688 0.146 0.972 0.541 1.518 0.000 1.549 -0.873 -1.012 0.000 2.282 -0.151 0.314 2.548 1.174 0.033 -1.368 0.000 0.937 0.776 1.039 1.143 0.959 0.986 1.013
1 0.840 1.906 -0.959 0.869 0.576 0.642 0.554 -1.351 0.000 0.756 0.923 -0.823 2.215 1.251 1.130 0.545 2.548 1.513 0.410 1.073 0.000 1.231 0.985 1.163 0.812 0.987 0.816 0.822
1 0.477 1.665 0.814 0.763 -0.382 0.828 -0.008 0.280 2.173 1.213 -0.001 1.560 0.000 1.136 0.311 -1.289 0.000 0.797 1.091 -0.616 3.102 1.026 0.964 0.992 0.772 0.869 0.916 0.803
0 2.655 0.020 0.273 1.464 0.482 1.709 -0.107 -1.456 2.173 0.825 0.141 -0.386 0.000 1.342 -0.592 1.635 1.274 0.859 -0.175 -0.874 0.000 0.829 0.946 1.003 2.179 0.836 1.505 1.176
0 0.771 -1.992 -0.720 0.732 -1.464 0.869 -1.290 0.388 2.173 0.926 -1.072 -1.489 2.215 0.640 -1.232 0.840 0.000 0.528 -2.440 -0.446 0.000 0.811 0.868 0.993 0.995 1.317 0.809 0.714
0 1.357 1.302 0.076 0.283 -1.060 0.783 1.559 -0.994 0.000 0.947 1.212 1.617 0.000 1.127 0.311 0.442 2.548 0.582 -0.052 1.186 1.551 1.330 0.995 0.985 0.846 0.404 0.858 0.815
0 0.442 -0.381 -0.424 1.244 0.591 0.731 0.605 -0.713 2.173 0.629 2.762 1.040 0.000 0.476 2.693 -0.617 0.000 0.399 0.442 1.486 3.102 0.839 0.755 0.988 0.869 0.524 0.877 0.918
0 0.884 0.422 0.055 0.818 0.624 0.950 -0.763 1.624 0.000 0.818 -0.609 -1.166 0.000 1.057 -0.528 1.070 2.548 1.691 -0.124 -0.335 3.102 1.104 0.933 0.985 0.913 1.000 0.863 1.056
0 1.276 0.156 1.714 1.053 -1.189 0.672 -0.464 -0.030 2.173 0.469 -2.483 0.442 0.000 0.564 2.580 -0.253 0.000 0.444 -0.628 1.080 1.551 5.832 2.983 0.985 1.162 0.494 1.809 1.513
0 1.106 -0.556 0.406 0.573 -1.400 0.769 -0.518 1.457 2.173 0.743 -0.352 -0.010 0.000 1.469 -0.550 -0.930 2.548 0.540 1.236 -0.571 0.000 0.962 0.970 1.101 0.805 1.107 0.873 0.773
0 0.539 -0.964 -0.464 1.371 -1.606 0.667 -0.160 0.655 0.000 0.952 0.352 -0.740 2.215 0.952 0.007 1.123 0.000 1.061 -0.505 1.389 3.102 1.063 0.991 1.019 0.633 0.967 0.732 0.799
1 0.533 -0.989 -1.608 0.462 -1.723 1.204 -0.598 -0.098 2.173 1.343 -0.460 1.632 2.215 0.577 0.221 -0.492 0.000 0.628 -0.073 0.472 0.000 0.518 0.880 0.988 1.179 1.874 1.041 0.813
1 1.024 1.075 -0.795 0.286 -1.436 1.365 0.857 -0.309 2.173 0.804 1.532 1.435 0.000 1.511 0.722 1.494 0.000 1.778 0.903 0.753 1.551 0.686 0.810 0.999 0.900 1.360 1.133 0.978
1 2.085 -0.269 -1.423 0.789 1.298 0.281 1.652 0.187 0.000 0.658 -0.760 -0.042 2.215 0.663 0.024 0.120 0.000 0.552 -0.299 -0.428 3.102 0.713 0.811 1.130 0.705 0.218 0.675 0.743
1 0.980 -0.443 0.813 0.785 -1.253 0.719 0.448 -1.458 0.000 1.087 0.595 0.635 1.107 1.428 0.029 -0.995 0.000 1.083 1.562 -0.092 0.000 0.834 0.891 1.165 0.967 0.661 0.880 0.817
1 0.903 -0.733 -0.980 0.634 -0.639 0.780 0.266 -0.287 2.173 1.264 -0.936 1.004 0.000 1.002 -0.056 -1.344 2.548 1.183 -0.098 1.169 0.000 0.733 1.002 0.985 0.711 0.916 0.966 0.875
0 0.734 -0.304 -1.175 2.851 1.674 0.904 -0.634 0.412 2.173 1.363 -1.050 -0.282 0.000 1.476 -1.603 0.103 0.000 2.231 -0.718 1.708 3.102 0.813 0.896 1.088 0.686 1.392 1.033 1.078
1 1.680 0.591 -0.243 0.111 -0.478 0.326 -0.079 -1.555 2.173 0.711 0.714 0.922 2.215 0.355 0.858 1.682 0.000 0.727 1.620 1.360 0.000 0.334 0.526 1.001 0.862 0.633 0.660 0.619
1 1.163 0.225 -0.202 0.501 -0.979 1.609 -0.938 1.424 0.000 1.224 -0.118 -1.274 0.000 2.034 1.241 -0.254 0.000 1.765 0.536 0.237 3.102 0.894 0.838 0.988 0.693 0.579 0.762 0.726
0 1.223 1.232 1.471 0.489 1.728 0.703 -0.111 0.411 0.000 1.367 1.014 -1.294 1.107 1.524 -0.414 -0.164 2.548 1.292 0.833 0.316 0.000 0.861 0.752 0.994 0.836 1.814 1.089 0.950
0 0.816 1.637 -1.557 1.036 -0.342 0.913 1.333 0.949 2.173 0.812 0.756 -0.628 2.215 1.333 0.470 1.495 0.000 1.204 -2.222 -1.675 0.000 1.013 0.924 1.133 0.758 1.304 0.855 0.860
0 0.851 -0.564 -0.691 0.692 1.345 1.219 1.014 0.318 0.000 1.422 -0.262 -1.635 2.215 0.531 1.802 0.008 0.000 0.508 0.515 -1.267 3.102 0.821 0.787 1.026 0.783 0.432 1.149 1.034
0 0.800 -0.599 0.204 0.552 -0.484 0.974 0.413 0.961 2.173 1.269 -0.984 -1.039 2.215 0.380 -1.213 1.371 0.000 0.551 0.332 -0.659 0.000 0.694 0.852 0.984 1.057 2.037 1.096 0.846
0 0.744 -0.071 -0.255 0.638 0.512 1.125 0.407 0.844 2.173 0.860 -0.481 -0.677 0.000 1.102 0.181 -1.194 0.000 1.011 -1.081 -1.713 3.102 0.854 0.862 0.982 1.111 1.372 1.042 0.920
1 0.400 1.049 -0.625 0.880 -0.407 1.040 2.150 -1.359 0.000 0.747 -0.144 0.847 2.215 0.560 -1.829 0.698 0.000 1.663 -0.668 0.267 0.000 0.845 0.964 0.996 0.820 0.789 0.668 0.668
0 1.659 -0.705 -1.057 1.803 -1.436 1.008 0.693 0.005 0.000 0.895 -0.007 0.681 1.107 1.085 0.125 1.476 2.548 1.214 1.068 0.486 0.000 0.867 0.919 0.986 1.069 0.692 1.026 1.313
0 0.829 -0.153 0.861 0.615 -0.548 0.589 1.077 -0.041 2.173 1.056 0.763 -1.737 0.000 0.639 0.970 0.725 0.000 0.955 1.227 -0.799 3.102 1.020 1.024 0.985 0.750 0.525 0.685 0.671
1 0.920 -0.806 -0.840 1.048 0.278 0.973 -0.077 -1.364 2.173 1.029 0.309 0.133 0.000 1.444 1.484 1.618 1.274 1.419 -0.482 0.417 0.000 0.831 1.430 1.151 1.829 1.560 1.343 1.224
1 0.686 0.249 -0.905 0.343 -1.731 0.724 -2.823 -0.901 0.000 0.982 0.303 1.312 1.107 1.016 0.245 0.610 0.000 1.303 -0.557 -0.360 3.102 1.384 1.030 0.984 0.862 1.144 0.866 0.779
0 1.603 0.444 0.508 0.586 0.401 0.610 0.467 -1.735 2.173 0.914 0.626 -1.019 0.000 0.812 0.422 -0.408 2.548 0.902 1.679 1.490 0.000 1.265 0.929 0.990 1.004 0.816 0.753 0.851
1 0.623 0.780 -0.203 0.056 0.015 0.899 0.793 1.326 1.087 0.803 1.478 -1.499 2.215 1.561 1.492 -0.120 0.000 0.904 0.795 0.137 0.000 0.548 1.009 0.850 0.924 0.838 0.914 0.860
0 1.654 -2.032 -1.160 0.859 -1.583 0.689 -1.965 0.891 0.000 0.646 -1.014 -0.288 2.215 0.630 -0.815 0.402 0.000 0.638 0.316 0.655 3.102 0.845 0.879 0.993 1.067 0.625 1.041 0.958
1 0.828 -1.269 -1.203 0.744 -0.213 0.626 -1.017 -0.404 0.000 1.281 -0.931 1.733 2.215 0.699 -0.351 1.287 0.000 1.251 -1.171 0.197 0.000 0.976 1.186 0.987 0.646 0.655 0.733 0.671
1 0.677 0.111 1.090 1.580 1.591 1.560 0.654 -0.341 2.173 0.794 -0.266 0.702 0.000 0.823 0.651 -1.239 2.548 0.730 1.467 -1.530 0.000 1.492 1.023 0.983 1.909 1.022 1.265 1.127
1 0.736 0.882 -1.060 0.589 0.168 1.663 0.781 1.022 2.173 2.025 1.648 -1.292 0.000 1.240 0.924 -0.421 1.274 1.354 0.065 0.501 0.000 0.316 0.925 0.988 0.664 1.736 0.992 0.807
1 1.040 -0.822 1.638 0.974 -0.674 0.393 0.830 0.011 2.173 0.770 -0.140 -0.402 0.000 0.294 -0.133 0.030 0.000 1.220 0.807 0.638 0.000 0.826 1.063 1.216 1.026 0.705 0.934 0.823
1 0.711 0.602 0.048 1.145 0.966 0.934 0.263 -1.589 2.173 0.971 -0.496 -0.421 1.107 0.628 -0.865 0.845 0.000 0.661 -0.008 -0.565 0.000 0.893 0.705 0.988 0.998 1.339 0.908 0.872
1 0.953 -1.651 -0.167 0.885 1.053 1.013 -1.239 0.133 0.000 1.884 -1.122 1.222 2.215 1.906 -0.860 -1.184 1.274 1.413 -0.668 -1.647 0.000 1.873 1.510 1.133 1.050 1.678 1.246 1.061
1 0.986 -0.892 -1.380 0.917 1.134 0.950 -1.162 -0.469 0.000 0.569 -1.393 0.215 0.000 0.320 2.667 1.712 0.000 1.570 -0.375 1.457 3.102 0.925 1.128 1.011 0.598 0.824 0.913 0.833
1 1.067 0.099 1.154 0.527 -0.789 1.085 0.623 -1.602 2.173 1.511 -0.230 0.022 2.215 0.269 -0.377 0.883 0.000 0.571 -0.540 -0.512 0.000 0.414 0.803 1.022 0.959 2.053 1.041 0.780
0 0.825 -2.118 0.217 1.453 -0.493 0.819 0.313 -0.942 0.000 2.098 -0.725 1.096 2.215 0.484 1.336 1.458 0.000 0.482 0.100 1.163 0.000 0.913 0.536 0.990 1.679 0.957 1.095 1.143
1 1.507 0.054 1.120 0.698 -1.340 0.912 0.384 0.015 1.087 0.720 0.247 -0.820 0.000 0.286 0.154 1.578 2.548 0.629 1.582 -0.576 0.000 0.828 0.893 1.136 0.514 0.632 0.699 0.709
1 0.610 1.180 -0.993 0.816 0.301 0.932 0.758 1.539 0.000 0.726 -0.830 0.248 2.215 0.883 0.857 -1.305 0.000 1.338 1.009 -0.252 3.102 0.901 1.074 0.987 0.875 1.159 1.035 0.858
1 1.247 -1.360 1.502 1.525 -1.332 0.618 1.063 0.755 0.000 0.582 -0.155 0.473 2.215 1.214 -0.422 -0.551 2.548 0.838 -1.171 -1.166 0.000 2.051 1.215 1.062 1.091 0.725 0.896 1.091
0 0.373 -0.600 1.291 2.573 0.207 0.765 -0.209 1.667 0.000 0.668 0.724 -1.499 0.000 1.045 -0.338 -0.754 2.548 0.558 -0.469 0.029 3.102 0.868 0.939 1.124 0.519 0.383 0.636 0.838
0 0.791 0.336 -0.307 0.494 1.213 1.158 0.336 1.081 2.173 0.918 1.289 -0.449 0.000 0.735 -0.521 -0.969 0.000 1.052 0.499 -1.188 3.102 0.699 1.013 0.987 0.622 1.050 0.712 0.661
0 1.321 0.856 0.464 0.202 0.901 1.144 0.120 -1.651 0.000 0.803 0.577 -0.509 2.215 0.695 -0.114 0.423 2.548 0.621 1.852 -0.420 0.000 0.697 0.964 0.983 0.527 0.659 0.719 0.729
0 0.563 2.081 0.913 0.982 -0.533 0.549 -0.481 -1.730 0.000 0.962 0.921 0.569 2.215 0.731 1.184 -0.679 1.274 0.918 0.931 -1.432 0.000 1.008 0.919 0.993 0.895 0.819 0.810 0.878
1 1.148 0.345 0.953 0.921 0.617 0.991 1.103 -0.484 0.000 0.970 1.978 1.525 0.000 1.150 0.689 -0.757 2.548 0.517 0.995 1.245 0.000 1.093 1.140 0.998 1.006 0.756 0.864 0.838
1 1.400 0.128 -1.695 1.169 1.070 1.094 -0.345 -0.249 0.000 1.224 0.364 -0.036 2.215 1.178 0.530 -1.544 0.000 1.334 0.933 1.604 0.000 0.560 1.267 1.073 0.716 0.780 0.832 0.792
0 0.330 -2.133 1.403 0.628 0.379 1.686 -0.995 0.030 1.087 2.071 0.127 -0.457 0.000 4.662 -0.855 1.477 0.000 2.072 -0.917 -1.416 3.102 5.403 3.074 0.977 0.936 1.910 2.325 1.702
0 0.989 0.473 0.968 1.970 1.368 0.844 0.574 -0.290 2.173 0.866 -0.345 -1.019 0.000 1.130 0.605 -0.752 0.000 0.956 -0.888 0.870 3.102 0.885 0.886 0.982 1.157 1.201 1.100 1.068
1 0.773 0.418 0.753 1.388 1.070 1.104 -0.378 -0.758 0.000 1.027 0.397 -0.496 2.215 1.234 0.027 1.084 2.548 0.936 0.209 1.677 0.000 1.355 1.020 0.983 0.550 1.206 0.916 0.931
0 0.319 2.015 1.534 0.570 -1.134 0.632 0.124 0.757 0.000 0.477 0.598 -1.109 1.107 0.449 0.438 -0.755 2.548 0.574 -0.659 0.691 0.000 0.440 0.749 0.985 0.517 0.158 0.505 0.522
0 1.215 1.453 -1.386 1.276 1.298 0.643 0.570 -0.196 2.173 0.588 2.104 0.498 0.000 0.617 -0.296 -0.801 2.548 0.452 0.110 0.313 0.000 0.815 0.953 1.141 1.166 0.547 0.892 0.807
1 1.257 -1.869 -0.060 0.265 0.653 1.527 -0.346 1.163 2.173 0.758 -2.119 -0.604 0.000 1.473 -1.133 -1.290 2.548 0.477 -0.428 -0.066 0.000 0.818 0.841 0.984 1.446 1.729 1.211 1.054
1 1.449 0.464 1.585 1.418 -1.488 1.540 0.942 0.087 0.000 0.898 0.402 -0.631 2.215 0.753 0.039 -1.729 0.000 0.859 0.849 -1.054 0.000 0.791 0.677 0.995 0.687 0.527 0.703 0.606
1 1.084 -1.997 0.900 1.333 1.024 0.872 -0.864 -1.500 2.173 1.072 -0.813 -0.421 2.215 0.924 0.478 0.304 0.000 0.992 -0.398 -1.022 0.000 0.741 1.085 0.980 1.221 1.176 1.032 0.961
0 1.712 1.129 0.125 1.120 -1.402 1.749 0.951 -1.575 2.173 1.711 0.445 0.578 0.000 1.114 0.234 -1.011 0.000 1.577 -0.088 0.086 3.102 2.108 1.312 1.882 1.597 2.009 1.441 1.308
0 0.530 0.248 1.622 1.450 -1.012 1.221 -1.154 -0.763 2.173 1.698 -0.586 0.733 0.000 0.889 1.042 1.038 1.274 0.657 0.008 0.701 0.000 0.430 1.005 0.983 0.930 2.264 1.357 1.146
1 0.921 1.735 0.883 0.699 -1.614 0.821 1.463 0.319 1.087 1.099 0.814 -1.600 2.215 1.375 0.702 -0.691 0.000 0.869 1.326 -0.790 0.000 0.980 0.900 0.988 0.832 1.452 0.816 0.709
0 2.485 -0.823 -0.297 0.886 -1.404 0.989 0.835 1.615 2.173 0.382 0.588 -0.224 0.000 1.029 -0.456 1.546 2.548 0.613 -0.359 -0.789 0.000 0.768 0.977 1.726 2.007 0.913 1.338 1.180
1 0.657 -0.069 -0.078 1.107 1.549 0.804 1.335 -1.630 2.173 1.271 0.481 0.153 1.107 1.028 0.144 -0.762 0.000 1.098 0.132 1.570 0.000 0.830 0.979 1.175 1.069 1.624 1.000 0.868
1 2.032 0.329 -1.003 0.493 -0.136 1.159 -0.224 0.750 1.087 0.396 0.546 0.587 0.000 0.620 1.805 0.982 0.000 1.236 0.744 -1.621 0.000 0.930 1.200 0.988 0.482 0.771 0.887 0.779
0 0.524 -1.319 0.634 0.471 1.221 0.599 -0.588 -0.461 0.000 1.230 -1.504 -1.517 1.107 1.436 -0.035 0.104 2.548 0.629 1.997 -1.282 0.000 2.084 1.450 0.984 1.084 1.827 1.547 1.213
1 0.871 0.618 -1.544 0.718 0.186 1.041 -1.180 0.434 2.173 1.133 1.558 -1.301 0.000 0.452 -0.595 0.522 0.000 0.665 0.567 0.130 3.102 1.872 1.114 1.095 1.398 0.979 1.472 1.168
1 3.308 1.037 -0.634 0.690 -0.619 1.975 0.949 1.280 0.000 0.826 0.546 -0.139 2.215 0.635 -0.045 0.427 0.000 1.224 0.112 1.339 3.102 1.756 1.050 0.992 0.738 0.903 0.968 1.238
0 0.588 2.104 -0.872 1.136 1.743 0.842 0.638 0.015 0.000 0.481 0.928 1.000 2.215 0.595 0.125 1.429 0.000 0.951 -1.140 -0.511 3.102 1.031 1.057 0.979 0.673 1.064 1.001 0.891
0 0.289 0.823 0.013 0.615 -1.601 0.177 2.403 -0.015 0.000 0.258 1.151 1.036 2.215 0.694 0.553 -1.326 2.548 0.411 0.366 0.106 0.000 0.482 0.562 0.989 0.670 0.404 0.516 0.561
1 0.294 -0.660 -1.162 1.752 0.384 0.860 0.513 1.119 0.000 2.416 0.107 -1.342 0.000 1.398 0.361 -0.350 2.548 1.126 -0.902 0.040 1.551 0.650 1.125 0.988 0.531 0.843 0.912 0.911
0 0.599 -0.616 1.526 1.381 0.507 0.955 -0.646 -0.085 2.173 0.775 -0.533 1.116 2.215 0.789 -0.136 -1.176 0.000 2.449 1.435 -1.433 0.000 1.692 1.699 1.000 0.869 1.119 1.508 1.303
1 1.100 -1.174 -1.114 1.601 -1.576 1.056 -1.343 0.547 2.173 0.555 0.367 0.592 2.215 0.580 -1.862 -0.914 0.000 0.904 0.508 -0.444 0.000 1.439 1.105 0.986 1.408 1.104 1.190 1.094
1 2.237 -0.701 1.470 0.719 -0.199 0.745 -0.132 -0.737 1.087 0.976 -0.227 0.093 2.215 0.699 0.057 1.133 0.000 0.661 0.573 -0.679 0.000 0.785 0.772 1.752 1.235 0.856 0.990 0.825
1 0.455 -0.880 -1.482 1.260 -0.178 1.499 0.158 1.022 0.000 1.867 -0.435 -0.675 2.215 1.234 0.783 1.586 0.000 0.641 -0.454 -0.409 3.102 1.002 0.964 0.986 0.761 0.240 1.190 0.995
1 1.158 -0.778 -0.159 0.823 1.641 1.341 -0.830 -1.169 2.173 0.840 -1.554 0.934 0.000 0.693 0.488 -1.218 2.548 1.042 1.395 0.276 0.000 0.946 0.785 1.350 1.079 0.893 1.267 1.151
1 0.902 -0.078 -0.055 0.872 -0.012 0.843 1.276 1.739 2.173 0.838 1.492 0.918 0.000 0.626 0.904 -0.648 2.548 0.412 -2.027 -0.883 0.000 2.838 1.664 0.988 1.803 0.768 1.244 1.280
1 0.649 -1.028 -1.521 1.097 0.774 1.216 -0.383 -0.318 2.173 1.643 -0.285 -1.705 0.000 0.911 -0.091 0.341 0.000 0.592 0.537 0.732 3.102 0.911 0.856 1.027 1.160 0.874 0.986 0.893
1 1.192 1.846 -0.781 1.326 -0.747 1.550 1.177 1.366 0.000 1.196 0.151 0.387 2.215 0.527 2.261 -0.190 0.000 0.390 1.474 0.381 0.000 0.986 1.025 1.004 1.392 0.761 0.965 1.043
0 0.438 -0.358 -1.549 0.836 0.436 0.818 0.276 -0.708 2.173 0.707 0.826 0.392 0.000 1.050 1.741 -1.066 0.000 1.276 -1.583 0.842 0.000 1.475 1.273 0.986 0.853 1.593 1.255 1.226
1 1.083 0.142 1.701 0.605 -0.253 1.237 0.791 1.183 2.173 0.842 2.850 -0.082 0.000 0.724 -0.464 -0.694 0.000 1.499 0.456 -0.226 3.102 0.601 0.799 1.102 0.995 1.389 1.013 0.851
0 0.828 1.897 -0.615 0.572 -0.545 0.572 0.461 0.464 2.173 0.393 0.356 1.069 2.215 1.840 0.088 1.500 0.000 0.407 -0.663 -0.787 0.000 0.950 0.965 0.979 0.733 0.363 0.618 0.733
0 0.735 1.438 1.197 1.123 -0.214 0.641 0.949 0.858 0.000 1.162 0.524 -0.896 2.215 0.992 0.454 -1.475 2.548 0.902 1.079 0.019 0.000 0.822 0.917 1.203 1.032 0.569 0.780 0.764
0 0.437 -2.102 0.044 1.779 -1.042 1.231 -0.181 -0.515 1.087 2.666 0.863 1.466 2.215 1.370 0.345 -1.371 0.000 0.906 0.363 1.611 0.000 1.140 1.362 1.013 3.931 3.004 2.724 2.028
1 0.881 1.814 -0.987 0.384 0.800 2.384 1.422 0.640 0.000 1.528 0.292 -0.962 1.107 2.126 -0.371 -1.401 2.548 0.700 0.109 0.203 0.000 0.450 0.813 0.985 0.956 1.013 0.993 0.774
1 0.630 0.408 0.152 0.194 0.316 0.710 -0.824 -0.358 2.173 0.741 0.535 -0.851 2.215 0.933 0.406 1.148 0.000 0.523 -0.479 -0.625 0.000 0.873 0.960 0.988 0.830 0.921 0.711 0.661
1 0.870 -0.448 -1.134 0.616 0.135 0.600 0.649 -0.622 2.173 0.768 0.709 -0.123 0.000 1.308 0.500 1.468 0.000 1.973 -0.286 1.462 3.102 0.909 0.944 0.990 0.835 1.250 0.798 0.776
0 1.290 0.552 1.330 0.615 -1.353 0.661 0.240 -0.393 0.000 0.531 0.053 -1.588 0.000 0.675 0.839 -0.345 1.274 1.597 0.020 0.536 3.102 1.114 0.964 0.987 0.783 0.675 0.662 0.675
1 0.943 0.936 1.068 1.373 0.671 2.170 -2.011 -1.032 0.000 0.640 0.361 -0.806 0.000 2.239 -0.083 0.590 2.548 1.224 0.646 -1.723 0.000 0.879 0.834 0.981 1.436 0.568 0.916 0.931
1 0.431 1.686 -1.053 0.388 1.739 0.457 -0.471 -0.743 2.173 0.786 1.432 -0.547 2.215 0.537 -0.413 1.256 0.000 0.413 2.311 -0.408 0.000 1.355 1.017 0.982 0.689 1.014 0.821 0.715
0 1.620 -0.055 -0.862 1.341 -1.571 0.634 -0.906 0.935 2.173 0.501 -2.198 -0.525 0.000 0.778 -0.708 -0.060 0.000 0.988 -0.621 0.489 3.102 0.870 0.956 1.216 0.992 0.336 0.871 0.889
1 0.549 0.304 -1.443 1.309 -0.312 1.116 0.644 1.519 2.173 1.078 -0.303 -0.736 0.000 1.261 0.387 0.628 2.548 0.945 -0.190 0.090 0.000 0.893 1.043 1.000 1.124 1.077 1.026 0.886
0 0.412 -0.618 -1.486 1.133 -0.665 0.646 0.436 1.520 0.000 0.993 0.976 0.106 2.215 0.832 0.091 0.164 2.548 0.672 -0.650 1.256 0.000 0.695 1.131 0.991 1.017 0.455 1.226 1.087
0 1.183 -0.084 1.644 1.389 0.967 0.843 0.938 -0.670 0.000 0.480 0.256 0.123 2.215 0.437 1.644 0.491 0.000 0.501 -0.416 0.101 3.102 1.060 0.804 1.017 0.775 0.173 0.535 0.760
0 1.629 -1.486 -0.683 2.786 -0.492 1.347 -2.638 1.453 0.000 1.857 0.208 0.873 0.000 0.519 -1.265 -1.602 1.274 0.903 -1.102 -0.329 1.551 6.892 3.522 0.998 0.570 0.477 2.039 2.006
1 2.045 -0.671 -1.235 0.490 -0.952 0.525 -1.252 1.289 0.000 1.088 -0.993 0.648 2.215 0.975 -0.109 -0.254 2.548 0.556 -1.095 -0.194 0.000 0.803 0.861 0.980 1.282 0.945 0.925 0.811
0 0.448 -0.058 -0.974 0.945 -1.633 1.181 -1.139 0.266 2.173 1.118 -0.761 1.502 1.107 1.706 0.585 -0.680 0.000 0.487 -1.951 0.945 0.000 2.347 1.754 0.993 1.161 1.549 1.414 1.176
0 0.551 0.519 0.448 2.183 1.293 1.220 0.628 -0.627 2.173 1.019 -0.002 -0.652 0.000 1.843 -0.386 1.042 2.548 0.400 -1.102 -1.014 0.000 0.648 0.792 1.049 0.888 2.132 1.262 1.096
0 1.624 0.488 1.403 0.760 0.559 0.812 0.777 -1.244 2.173 0.613 0.589 -0.030 2.215 0.692 1.058 0.683 0.000 1.054 1.165 -0.765 0.000 0.915 0.875 1.059 0.821 0.927 0.792 0.721
1 0.774 0.444 1.257 0.515 -0.689 0.515 1.448 -1.271 0.000 0.793 0.118 0.811 1.107 0.679 0.326 -0.426 0.000 1.066 -0.865 -0.049 3.102 0.960 1.046 0.986 0.716 0.772 0.855 0.732
1 2.093 -1.240 1.615 0.918 -1.202 1.412 -0.541 0.640 1.087 2.019 0.872 -0.639 0.000 0.672 -0.936 0.972 0.000 0.896 0.235 0.212 0.000 0.810 0.700 1.090 0.797 0.862 1.049 0.874
1 0.908 1.069 0.283 0.400 1.293 0.609 1.452 -1.136 0.000 0.623 0.417 -0.098 2.215 1.023 0.775 1.054 1.274 0.706 2.346 -1.305 0.000 0.744 1.006 0.991 0.606 0.753 0.796 0.753
0 0.403 -1.328 -0.065 0.901 1.052 0.708 -0.354 -0.718 2.173 0.892 0.633 1.684 2.215 0.999 -1.205 0.941 0.000 0.930 1.072 -0.809 0.000 2.105 1.430 0.989 0.838 1.147 1.042 0.883
0 1.447 0.453 0.118 1.731 0.650 0.771 0.446 -1.564 0.000 0.973 -2.014 0.354 0.000 1.949 -0.643 -1.531 1.274 1.106 -0.334 -1.163 0.000 0.795 0.821 1.013 1.699 0.918 1.118 1.018
1 1.794 0.123 -0.454 0.057 1.489 0.966 -1.190 1.090 1.087 0.539 -0.535 1.035 0.000 1.096 -1.069 -1.236 2.548 0.659 -1.196 -0.283 0.000 0.803 0.756 0.985 1.343 1.109 0.993 0.806
0 1.484 -2.047 0.813 0.591 -0.295 0.923 0.312 -1.164 2.173 0.654 -0.316 0.752 2.215 0.599 1.966 -1.128 0.000 0.626 -0.304 -1.431 0.000 1.112 0.910 1.090 0.986 1.189 1.350 1.472
0 0.417 -2.016 0.849 1.817 0.040 1.201 -1.676 -1.394 0.000 0.792 0.537 0.641 2.215 0.794 -1.222 0.187 0.000 0.825 -0.217 1.334 3.102 1.470 0.931 0.987 1.203 0.525 0.833 0.827
1 0.603 1.009 0.033 0.486 1.225 0.884 -0.617 -1.058 0.000 0.500 -1.407 -0.567 0.000 1.476 -0.876 0.605 2.548 0.970 0.560 1.092 3.102 0.853 1.153 0.988 0.846 0.920 0.944 0.835
1 1.381 -0.326 0.552 0.417 -0.027 1.030 -0.835 -1.287 2.173 0.941 -0.421 1.519 2.215 0.615 -1.650 0.377 0.000 0.606 0.644 0.650 0.000 1.146 0.970 0.990 1.191 0.884 0.897 0.826
1 0.632 1.200 -0.703 0.438 -1.700 0.779 -0.731 0.958 1.087 0.605 0.393 -1.376 0.000 0.670 -0.827 -1.315 2.548 0.626 -0.501 0.417 0.000 0.904 0.903 0.998 0.673 0.803 0.722 0.640
1 1.561 -0.569 1.580 0.329 0.237 1.059 0.731 0.415 2.173 0.454 0.016 -0.828 0.000 0.587 0.008 -0.291 1.274 0.597 1.119 1.191 0.000 0.815 0.908 0.988 0.733 0.690 0.892 0.764
1 2.102 0.087 0.449 1.164 -0.390 1.085 -0.408 -1.116 2.173 0.578 0.197 -0.137 0.000 1.202 0.917 1.523 0.000 0.959 -0.832 1.404 3.102 1.380 1.109 1.486 1.496 0.886 1.066 1.025
1 1.698 -0.489 -0.552 0.976 -1.009 1.620 -0.721 0.648 1.087 1.481 -1.860 -1.354 0.000 1.142 -1.140 1.401 2.548 1.000 -1.274 -0.158 0.000 1.430 1.130 0.987 1.629 1.154 1.303 1.223
1 1.111 -0.249 -1.457 0.421 0.939 0.646 -2.076 0.362 0.000 1.315 0.796 -1.436 2.215 0.780 0.130 0.055 0.000 1.662 -0.834 0.461 0.000 0.920 0.948 0.990 1.046 0.905 1.493 1.169
1 0.945 0.390 -1.159 1.675 0.437 0.356 0.261 0.543 1.087 0.574 0.838 1.599 2.215 0.496 -1.220 -0.022 0.000 0.558 -2.454 1.440 0.000 0.763 0.983 1.728 1.000 0.578 0.922 1.003
1 2.076 0.014 -1.314 0.854 -0.306 3.446 1.341 0.598 0.000 2.086 0.227 -0.747 2.215 1.564 -0.216 1.649 2.548 0.965 -0.857 -1.062 0.000 0.477 0.734 1.456 1.003 1.660 1.001 0.908
1 1.992 0.192 -0.103 0.108 -1.599 0.938 0.595 -1.360 2.173 0.869 -1.012 1.432 0.000 1.302 0.850 0.436 2.548 0.487 1.051 -1.027 0.000 0.502 0.829 0.983 1.110 1.394 0.904 0.836
0 0.460 1.625 1.485 1.331 1.242 0.675 -0.329 -1.039 1.087 0.671 -1.028 -0.514 0.000 1.265 -0.788 0.415 1.274 0.570 -0.683 -1.738 0.000 0.725 0.758 1.004 1.024 1.156 0.944 0.833
0 0.871 0.839 -1.536 0.428 1.198 0.875 -1.256 -0.466 1.087 0.684 -0.768 0.150 0.000 0.556 -1.793 0.389 0.000 0.942 -1.126 1.339 1.551 0.624 0.734 0.986 1.357 0.960 1.474 1.294
1 0.951 1.651 0.576 1.273 1.495 0.834 0.048 -0.578 2.173 0.386 -0.056 -1.448 0.000 0.597 -0.196 0.162 2.548 0.524 1.649 1.625 0.000 0.737 0.901 1.124 1.014 0.556 1.039 0.845
1 1.049 -0.223 0.685 0.256 -1.191 2.506 0.238 -0.359 0.000 1.510 -0.904 1.158 1.107 2.733 -0.902 1.679 2.548 0.407 -0.474 -1.572 0.000 1.513 2.472 0.982 1.238 0.978 1.985 1.510
0 0.455 -0.028 0.265 1.286 1.373 0.459 0.331 -0.922 0.000 0.343 0.634 0.430 0.000 0.279 -0.084 -0.272 0.000 0.475 0.926 -0.123 3.102 0.803 0.495 0.987 0.587 0.211 0.417 0.445
1 2.074 0.388 0.878 1.110 1.557 1.077 -0.226 -0.295 2.173 0.865 -0.319 -1.116 2.215 0.707 -0.835 0.722 0.000 0.632 -0.608 -0.728 0.000 0.715 0.802 1.207 1.190 0.960 1.143 0.926
1 1.390 0.265 1.196 0.919 -1.371 1.858 0.506 0.786 0.000 1.280 -1.367 -0.720 2.215 1.483 -0.441 -0.675 2.548 1.076 0.294 -0.539 0.000 1.126 0.830 1.155 1.551 0.702 1.103 0.933
1 1.014 -0.079 1.597 1.038 -0.281 1.135 -0.722 -0.177 2.173 0.544 -1.475 -1.501 0.000 1.257 -1.315 1.212 0.000 0.496 -0.060 1.180 1.551 0.815 0.611 1.411 1.110 0.792 0.846 0.853
0 0.335 1.267 -1.154 2.011 -0.574 0.753 0.618 1.411 0.000 0.474 0.748 0.681 2.215 0.608 -0.446 -0.354 2.548 0.399 1.295 -0.581 0.000 0.911 0.882 0.975 0.832 0.598 0.580 0.678
1 0.729 -0.189 1.182 0.293 1.310 0.412 0.459 -0.632 0.000 0.869 -1.128 -0.625 2.215 1.173 -0.893 0.478 2.548 0.584 -2.394 -1.727 0.000 2.016 1.272 0.995 1.034 0.905 0.966 1.038
1 1.225 -1.215 -0.088 0.881 -0.237 0.600 -0.976 1.462 2.173 0.876 0.506 1.583 2.215 0.718 1.228 -0.031 0.000 0.653 -1.292 1.216 0.000 0.838 1.108 0.981 1.805 0.890 1.251 1.197
1 2.685 -0.444 0.847 0.253 0.183 0.641 -1.541 -0.873 2.173 0.417 2.874 -0.551 0.000 0.706 -1.431 0.764 0.000 1.390 -0.596 -1.397 0.000 0.894 0.829 0.993 0.789 0.654 0.883 0.746
0 0.638 -0.481 0.683 1.457 -1.024 0.707 -1.338 1.498 0.000 0.980 0.518 0.289 2.215 0.964 -0.531 -0.423 0.000 0.694 -0.654 -1.314 3.102 0.807 1.283 1.335 0.658 0.907 0.797 0.772
1 1.789 -0.765 -0.732 0.421 -0.020 1.142 -1.353 1.439 2.173 0.725 -1.518 -1.261 0.000 0.812 -2.597 -0.463 0.000 1.203 -0.120 1.001 0.000 0.978 0.673 0.985 1.303 1.400 1.078 0.983
1 0.784 -1.431 1.724 0.848 0.559 0.615 -1.643 -1.456 0.000 1.339 -0.513 0.040 2.215 0.394 -2.483 1.304 0.000 0.987 0.889 -0.339 0.000 0.732 0.713 0.987 0.973 0.705 0.875 0.759
1 0.911 1.098 -1.289 0.421 0.823 1.218 -0.503 0.431 0.000 0.775 0.432 -1.680 0.000 0.855 -0.226 -0.460 2.548 0.646 -0.947 -1.243 1.551 2.201 1.349 0.985 0.730 0.451 0.877 0.825
1 0.959 0.372 -0.269 1.255 0.702 1.151 0.097 0.805 2.173 0.993 1.011 0.767 2.215 1.096 0.185 0.381 0.000 1.001 -0.205 0.059 0.000 0.979 0.997 1.168 0.796 0.771 0.839 0.776
0 0.283 -1.864 -1.663 0.219 1.624 0.955 -1.213 0.932 2.173 0.889 0.395 -0.268 0.000 0.597 -1.083 -0.921 2.548 0.584 1.325 -1.072 0.000 0.856 0.927 0.996 0.937 0.936 1.095 0.892
0 2.017 -0.488 -0.466 1.029 -0.870 3.157 0.059 -0.343 2.173 3.881 0.872 1.502 1.107 3.631 1.720 0.963 0.000 0.633 -1.264 -1.734 0.000 4.572 3.339 1.005 1.407 5.590 3.614 3.110
1 1.088 0.414 -0.841 0.485 0.605 0.860 1.110 -0.568 0.000 1.152 -0.325 1.203 2.215 0.324 1.652 -0.104 0.000 0.510 1.095 -1.728 0.000 0.880 0.722 0.989 0.977 0.711 0.888 0.762
0 0.409 -1.717 0.712 0.809 -1.301 0.701 -1.529 -1.411 0.000 1.191 -0.582 0.438 2.215 1.147 0.813 -0.571 2.548 1.039 0.543 0.892 0.000 0.636 0.810 0.986 0.861 1.411 0.907 0.756
1 1.094 1.577 -0.988 0.497 -0.149 0.891 -2.459 1.034 0.000 0.646 0.792 -1.022 0.000 1.573 0.254 -0.053 2.548 1.428 0.190 -1.641 3.102 4.322 2.687 0.985 0.881 1.135 1.907 1.831
1 0.613 1.993 -0.280 0.544 0.931 0.909 1.526 1.559 0.000 0.840 1.473 -0.483 2.215 0.856 0.352 0.408 2.548 1.058 1.733 -1.396 0.000 0.801 1.066 0.984 0.639 0.841 0.871 0.748
0 0.958 -1.202 0.600 0.434 0.170 0.783 -0.214 1.319 0.000 0.835 -0.454 -0.615 2.215 0.658 -1.858 -0.891 0.000 0.640 0.172 -1.204 3.102 1.790 1.086 0.997 0.804 0.403 0.793 0.756
1 1.998 -0.238 0.972 0.058 0.266 0.759 1.576 -0.357 2.173 1.004 -0.349 -0.747 2.215 0.962 0.490 -0.453 0.000 1.592 0.661 -1.405 0.000 0.874 1.086 0.990 1.436 1.527 1.177 0.993
1 0.796 -0.171 -0.818 0.574 -1.625 1.201 -0.737 1.451 2.173 0.651 0.404 -0.452 0.000 1.150 -0.652 -0.120 0.000 1.008 -0.093 0.531 3.102 0.884 0.706 0.979 1.193 0.937 0.943 0.881
1 0.773 1.023 0.527 1.537 -0.201 2.967 -0.574 -1.534 2.173 2.346 -0.307 0.394 2.215 1.393 0.135 -0.027 0.000 3.015 0.187 0.516 0.000 0.819 1.260 0.982 2.552 3.862 2.179 1.786
0 1.823 1.008 -1.489 0.234 -0.962 0.591 0.461 0.996 2.173 0.568 -1.297 -0.410 0.000 0.887 2.157 1.194 0.000 2.079 0.369 -0.085 3.102 0.770 0.945 0.995 1.179 0.971 0.925 0.983
0 0.780 0.640 0.490 0.680 -1.301 0.715 -0.137 0.152 2.173 0.616 -0.831 1.668 0.000 1.958 0.528 -0.982 2.548 0.966 -1.551 0.462 0.000 1.034 1.079 1.008 0.827 1.369 1.152 0.983
1 0.543 0.801 1.543 1.134 -0.772 0.954 -0.849 0.410 1.087 0.851 -1.988 1.686 0.000 0.799 -0.912 -1.156 0.000 0.479 0.097 1.334 0.000 0.923 0.597 0.989 1.231 0.759 0.975 0.867
0 1.241 -0.014 0.129 1.158 0.670 0.445 -0.732 1.739 2.173 0.918 0.659 -1.340 2.215 0.557 2.410 -1.404 0.000 0.966 -1.545 -1.120 0.000 0.874 0.918 0.987 1.001 0.798 0.904 0.937
0 1.751 -0.266 -1.575 0.489 1.292 1.112 1.533 0.137 2.173 1.204 -0.414 -0.928 0.000 0.879 1.237 -0.415 2.548 1.479 1.469 0.913 0.000 2.884 1.747 0.989 1.742 0.600 1.363 1.293
1 1.505 1.208 -1.476 0.995 -0.836 2.800 -1.600 0.111 0.000 2.157 1.241 1.110 2.215 1.076 2.619 -0.913 0.000 1.678 2.204 -1.575 0.000 0.849 1.224 0.990 1.412 0.976 1.271 1.105
0 0.816 0.611 0.779 1.694 0.278 0.575 -0.787 1.592 2.173 1.148 1.076 -0.831 2.215 0.421 1.316 0.632 0.000 0.589 0.452 -1.466 0.000 0.779 0.909 0.990 1.146 1.639 1.236 0.949
1 0.551 -0.808 0.330 1.188 -0.294 0.447 -0.035 -0.993 0.000 0.432 -0.276 -0.481 2.215 1.959 -0.288 1.195 2.548 0.638 0.583 1.107 0.000 0.832 0.924 0.993 0.723 0.976 0.968 0.895
0 1.316 -0.093 0.995 0.860 -0.621 0.593 -0.560 -1.599 2.173 0.524 -0.318 -0.240 2.215 0.566 0.759 -0.368 0.000 0.483 -2.030 -1.104 0.000 1.468 1.041 1.464 0.811 0.778 0.690 0.722
1 1.528 0.067 -0.855 0.959 -1.464 1.143 -0.082 1.023 0.000 0.702 -0.763 -0.244 0.000 0.935 -0.881 0.206 2.548 0.614 -0.831 1.657 3.102 1.680 1.105 0.983 1.078 0.559 0.801 0.809
0 0.558 -0.833 -0.598 1.436 -1.724 1.316 -0.661 1.593 2.173 1.148 -0.503 -0.132 1.107 1.584 -0.125 0.380 0.000 1.110 -1.216 -0.181 0.000 1.258 0.860 1.053 0.790 1.814 1.159 1.007
1 0.819 0.879 1.221 0.598 -1.450 0.754 0.417 -0.369 2.173 0.477 1.199 0.274 0.000 1.073 0.368 0.273 2.548 1.599 2.047 1.690 0.000 0.933 0.984 0.983 0.788 0.613 0.728 0.717
0 0.981 -1.007 0.489 0.923 1.261 0.436 -0.698 -0.506 2.173 0.764 -1.105 -1.241 2.215 0.577 -2.573 -0.036 0.000 0.565 -1.628 1.610 0.000 0.688 0.801 0.991 0.871 0.554 0.691 0.656
0 2.888 0.568 -1.416 1.461 -1.157 1.756 -0.900 0.522 0.000 0.657 0.409 1.076 2.215 1.419 0.672 -0.019 0.000 1.436 -0.184 -0.980 3.102 0.946 0.919 0.995 1.069 0.890 0.834 0.856
1 0.522 1.805 -0.963 1.136 0.418 0.727 -0.195 -1.695 2.173 0.309 2.559 -0.178 0.000 0.521 1.794 0.919 0.000 0.788 0.174 -0.406 3.102 0.555 0.729 1.011 1.385 0.753 0.927 0.832
1 0.793 -0.162 -1.643 0.634 0.337 0.898 -0.633 1.689 0.000 0.806 -0.826 -0.356 2.215 0.890 -0.142 -1.268 0.000 1.293 0.574 0.725 0.000 0.833 1.077 0.988 0.721 0.679 0.867 0.753
0 1.298 1.098 0.280 0.371 -0.373 0.855 -0.306 -1.186 0.000 0.977 -0.421 1.003 0.000 0.978 0.956 -1.249 2.548 0.735 0.577 -0.037 3.102 0.974 1.002 0.992 0.549 0.587 0.725 0.954
1 0.751 -0.520 -1.653 0.168 -0.419 0.878 -1.023 -1.364 2.173 1.310 -0.667 0.863 0.000 1.196 -0.827 0.358 0.000 1.154 -0.165 -0.360 1.551 0.871 0.950 0.983 0.907 0.955 0.959 0.874
0 1.730 0.666 -1.432 0.446 1.302 0.921 -0.203 0.621 0.000 1.171 -0.365 -0.611 1.107 0.585 0.807 1.150 0.000 0.415 -0.843 1.311 0.000 0.968 0.786 0.986 1.059 0.371 0.790 0.848
1 0.596 -1.486 0.690 1.045 -1.344 0.928 0.867 0.820 2.173 0.610 0.999 -1.329 2.215 0.883 -0.001 -0.106 0.000 1.145 2.184 -0.808 0.000 2.019 1.256 1.056 1.751 1.037 1.298 1.518
1 0.656 -1.993 -0.519 1.643 -0.143 0.815 0.256 1.220 1.087 0.399 -1.184 -1.458 0.000 0.738 1.361 -1.443 0.000 0.842 0.033 0.293 0.000 0.910 0.891 0.993 0.668 0.562 0.958 0.787
1 1.127 -0.542 0.645 0.318 -1.496 0.661 -0.640 0.369 2.173 0.992 0.358 1.702 0.000 1.004 0.316 -1.109 0.000 1.616 -0.936 -0.707 1.551 0.875 1.191 0.985 0.651 0.940 0.969 0.834
0 0.916 -1.423 -1.490 1.248 -0.538 0.625 -0.535 -0.174 0.000 0.769 -0.389 1.608 2.215 0.667 -1.138 -1.738 1.274 0.877 -0.019 0.482 0.000 0.696 0.917 1.121 0.678 0.347 0.647 0.722
1 2.756 -0.637 -1.715 1.331 1.124 0.913 -0.296 -0.491 0.000 0.983 -0.831 0.000 2.215 1.180 -0.428 0.742 0.000 1.113 0.005 -1.157 1.551 1.681 1.096 1.462 0.976 0.917 1.009 1.040
0 0.755 1.754 0.701 2.111 0.256 1.243 0.057 -1.502 2.173 0.565 -0.034 -1.078 1.107 0.529 1.696 -1.090 0.000 0.665 0.292 0.107 0.000 0.870 0.780 0.990 2.775 0.465 1.876 1.758
1 0.593 -0.762 1.743 0.908 0.442 0.773 -1.357 -0.768 2.173 0.432 1.421 1.236 0.000 0.579 0.291 -0.403 0.000 0.966 -0.309 1.016 3.102 0.893 0.743 0.989 0.857 1.030 0.943 0.854
1 0.891 -1.151 -1.269 0.504 -0.622 0.893 -0.549 0.700 0.000 0.828 -0.825 0.154 2.215 1.083 0.632 -1.141 0.000 1.059 -0.557 1.526 3.102 2.117 1.281 0.987 0.819 0.802 0.917 0.828
1 2.358 -0.248 0.080 0.747 -0.975 1.019 1.374 1.363 0.000 0.935 0.127 -1.707 2.215 0.312 -0.827 0.017 0.000 0.737 1.059 -0.327 0.000 0.716 0.828 1.495 0.953 0.704 0.880 0.745
0 0.660 -0.017 -1.138 0.453 1.002 0.645 0.518 0.703 2.173 0.751 0.705 -0.592 2.215 0.744 -0.909 -1.596 0.000 0.410 -1.135 0.481 0.000 0.592 0.922 0.989 0.897 0.948 0.777 0.701
1 0.718 0.518 0.225 1.710 -0.022 1.888 -0.424 1.092 0.000 4.134 0.185 -1.366 0.000 1.415 1.293 0.242 2.548 2.351 0.264 -0.057 3.102 0.830 1.630 0.976 1.215 0.890 1.422 1.215
1 1.160 0.203 0.941 0.594 0.212 0.636 -0.556 0.679 2.173 1.089 -0.481 -1.008 1.107 1.245 -0.056 -1.357 0.000 0.587 1.007 0.056 0.000 1.106 0.901 0.987 0.786 1.224 0.914 0.837
1 0.697 0.542 0.619 0.985 1.481 0.745 0.415 1.644 2.173 0.903 0.495 -0.958 2.215 1.165 1.195 0.346 0.000 1.067 -0.881 -0.264 0.000 0.830 1.025 0.987 0.690 0.863 0.894 0.867
0 1.430 0.190 -0.700 0.246 0.518 1.302 0.660 -0.247 2.173 1.185 -0.539 1.504 0.000 1.976 -0.401 1.079 0.000 0.855 -0.958 -1.110 3.102 0.886 0.953 0.993 0.889 1.400 1.376 1.119
1 1.122 -0.795 0.202 0.397 -1.553 0.597 -1.459 -0.734 2.173 0.522 1.044 1.027 2.215 0.783 -1.243 1.701 0.000 0.371 1.737 0.199 0.000 1.719 1.176 0.988 0.723 1.583 1.063 0.914
0 1.153 0.526 1.236 0.266 0.001 1.139 -1.236 -0.585 2.173 1.337 -0.215 -1.356 2.215 1.780 1.129 0.902 0.000 1.608 -0.391 -0.161 0.000 1.441 1.633 0.990 1.838 1.516 1.635 1.373
1 0.760 1.012 0.758 0.937 0.051 0.941 0.687 -1.247 2.173 1.288 -0.743 0.822 0.000 1.552 1.782 -1.533 0.000 0.767 1.349 0.168 0.000 0.716 0.862 0.988 0.595 0.359 0.697 0.623
1 1.756 -1.469 1.395 1.345 -1.595 0.817 0.017 -0.741 2.173 0.483 -0.008 0.293 0.000 1.768 -0.663 0.438 1.274 1.202 -1.387 -0.222 0.000 1.022 1.058 0.992 1.407 1.427 1.356 1.133
0 0.397 0.582 -0.758 1.260 -1.735 0.889 -0.515 1.139 2.173 0.973 1.616 0.460 0.000 1.308 1.001 -0.709 2.548 0.858 0.995 -0.231 0.000 0.749 0.888 0.979 1.487 1.804 1.208 1.079
0 0.515 -0.984 0.425 1.114 -0.439 1.999 0.818 1.561 0.000 1.407 0.009 -0.380 0.000 1.332 0.230 0.397 0.000 1.356 -0.616 -1.057 3.102 0.978 1.017 0.990 1.118 0.862 0.835 0.919
1 1.368 -0.921 -0.866 0.842 -0.598 0.456 -1.176 1.219 1.087 0.419 -1.974 -0.819 0.000 0.791 -1.640 0.881 0.000 1.295 -0.782 0.442 3.102 0.945 0.761 0.974 0.915 0.535 0.733 0.651
0 2.276 0.134 0.399 2.525 0.376 1.111 -1.078 -1.571 0.000 0.657 2.215 -0.900 0.000 1.183 -0.662 -0.508 2.548 1.436 -0.517 0.960 3.102 0.569 0.931 0.993 1.170 0.967 0.879 1.207
0 0.849 0.907 0.124 0.652 1.585 0.715 0.355 -1.200 0.000 0.599 -0.892 1.301 0.000 1.106 1.151 0.582 0.000 1.895 -0.279 -0.568 3.102 0.881 0.945 0.998 0.559 0.649 0.638 0.660
1 2.105 0.248 -0.797 0.530 0.206 1.957 -2.175 0.797 0.000 1.193 0.637 -1.646 2.215 0.881 1.111 -1.046 0.000 0.872 -0.185 1.085 1.551 0.986 1.343 1.151 1.069 0.714 2.063 1.951
1 1.838 1.060 1.637 1.017 1.370 0.913 0.461 -0.609 1.087 0.766 -0.461 0.303 2.215 0.724 -0.061 0.886 0.000 0.941 1.123 -0.745 0.000 0.858 0.847 0.979 1.313 1.083 1.094 0.910
0 0.364 1.274 1.066 1.570 -0.394 0.485 0.012 -1.716 0.000 0.317 -1.233 0.534 2.215 0.548 -2.165 0.762 0.000 0.729 0.169 -0.318 3.102 0.892 0.944 1.013 0.594 0.461 0.688 0.715
1 0.503 1.343 -0.031 1.134 -1.204 0.590 -0.309 0.174 2.173 0.408 2.372 -0.628 0.000 1.850 0.400 1.147 2.548 0.664 -0.458 -0.885 0.000 1.445 1.283 0.989 1.280 1.118 1.127 1.026
0 1.873 0.258 0.103 2.491 0.530 1.678 0.644 -1.738 2.173 1.432 0.848 -1.340 0.000 0.621 1.323 -1.316 0.000 0.628 0.789 -0.206 1.551 0.426 0.802 1.125 0.688 1.079 1.338 1.239
1 0.826 -0.732 1.587 0.582 -1.236 0.495 0.757 -0.741 2.173 0.940 1.474 0.354 2.215 0.474 1.055 -1.657 0.000 0.415 1.758 0.841 0.000 0.451 0.578 0.984 0.757 0.922 0.860 0.696
0 0.935 -1.614 -0.597 0.299 1.223 0.707 -0.853 -1.026 0.000 0.751 0.007 -1.691 0.000 1.062 -0.125 0.976 2.548 0.877 1.275 0.646 0.000 0.962 1.074 0.980 0.608 0.726 0.741 0.662
1 0.643 0.542 -1.285 0.474 -0.366 0.667 -0.446 1.195 2.173 1.076 0.145 -0.126 0.000 0.970 -0.661 0.394 1.274 1.218 -0.184 -1.722 0.000 1.331 1.019 0.985 1.192 0.677 0.973 0.910
0 0.713 0.164 1.080 1.427 -0.460 0.960 -0.152 -0.940 2.173 1.427 -0.901 1.036 1.107 0.440 -1.269 -0.194 0.000 0.452 1.932 -0.532 0.000 1.542 1.210 1.374 1.319 1.818 1.220 1.050
0 0.876 -0.463 -1.224 2.458 -1.689 1.007 -0.752 0.398 0.000 2.456 -1.285 -0.152 1.107 1.641 1.838 1.717 0.000 0.458 0.194 0.488 3.102 4.848 2.463 0.986 1.981 0.974 2.642 2.258
1 0.384 -0.275 0.387 1.403 -0.994 0.620 -1.529 1.685 0.000 1.091 -1.644 1.078 0.000 0.781 -1.311 0.326 2.548 1.228 -0.728 -0.633 1.551 0.920 0.854 0.987 0.646 0.609 0.740 0.884
0 0.318 -1.818 -1.008 0.977 1.268 0.457 2.451 -1.522 0.000 0.881 1.351 0.461 2.215 0.929 0.239 -0.380 2.548 0.382 -0.613 1.330 0.000 1.563 1.193 0.994 0.829 0.874 0.901 1.026
1 0.612 -1.120 1.098 0.402 -0.480 0.818 0.188 1.511 0.000 0.800 -0.253 0.977 0.000 1.175 0.271 -1.289 1.274 2.531 0.226 -0.409 3.102 0.889 0.947 0.979 1.486 0.940 1.152 1.119
1 0.587 -0.737 -0.228 0.970 1.119 0.823 0.184 1.594 0.000 1.104 0.301 -0.818 2.215 0.819 0.712 -0.560 0.000 2.240 -0.419 0.340 3.102 1.445 1.103 0.988 0.715 1.363 1.019 0.926
0 1.030 -0.694 -1.638 0.893 -1.074 1.160 -0.766 0.485 0.000 1.632 -0.698 -1.142 2.215 1.050 -1.092 0.952 0.000 1.475 0.286 0.125 3.102 0.914 1.075 0.982 0.732 1.493 1.219 1.079
1 2.142 0.617 1.517 0.387 -0.862 0.345 1.203 -1.014 2.173 0.609 1.092 0.275 0.000 1.331 0.582 -0.183 2.548 0.557 1.540 -1.642 0.000 0.801 0.737 1.060 0.715 0.626 0.749 0.674
0 1.076 0.240 -0.246 0.871 -1.241 0.496 0.282 0.746 2.173 1.095 -0.648 1.100 2.215 0.446 -1.756 0.764 0.000 0.434 0.788 -0.991 0.000 1.079 0.868 1.047 0.818 0.634 0.795 0.733
0 1.400 0.901 -1.617 0.625 -0.163 0.661 -0.411 -1.616 2.173 0.685 0.524 0.425 0.000 0.881 -0.766 0.312 0.000 0.979 0.255 -0.667 3.102 0.898 1.105 1.253 0.730 0.716 0.738 0.795
0 3.302 1.132 1.051 0.658 0.768 1.308 0.251 -0.374 1.087 1.673 0.015 -0.898 0.000 0.688 -0.535 1.363 1.274 0.871 1.325 -1.583 0.000 1.646 1.249 0.995 1.919 1.288 1.330 1.329
0 1.757 0.202 0.750 0.767 -0.362 0.932 -1.033 -1.366 0.000 1.529 -1.012 -0.771 0.000 1.161 -0.287 0.059 0.000 2.185 1.147 1.099 3.102 0.795 0.529 1.354 1.144 1.491 1.319 1.161
0 1.290 0.905 -1.711 1.017 -0.695 1.008 -1.038 0.693 2.173 1.202 -0.595 0.187 0.000 1.011 0.139 -1.607 0.000 0.789 -0.613 -1.041 3.102 1.304 0.895 1.259 1.866 0.955 1.211 1.200
1 1.125 -0.004 1.694 0.373 0.329 0.978 0.640 -0.391 0.000 1.122 -0.376 1.521 2.215 0.432 2.413 -1.259 0.000 0.969 0.730 0.512 3.102 0.716 0.773 0.991 0.624 0.977 0.981 0.875
0 1.081 0.861 1.252 1.621 1.474 1.293 0.600 0.630 0.000 1.991 -0.090 -0.675 2.215 0.861 1.105 -0.201 0.000 1.135 2.489 -1.659 0.000 1.089 0.657 0.991 2.179 0.412 1.334 1.071
1 0.652 -0.294 1.241 1.034 0.490 1.033 0.551 -0.963 2.173 0.661 1.031 -1.654 2.215 1.376 -0.018 0.843 0.000 0.943 -0.329 -0.269 0.000 1.085 1.067 0.991 1.504 0.773 1.135 0.993
1 1.408 -1.028 -1.018 0.252 -0.242 0.465 -0.364 -0.200 0.000 1.466 0.669 0.739 1.107 1.031 0.415 -1.468 2.548 0.457 -1.091 -1.722 0.000 0.771 0.811 0.979 1.459 1.204 1.041 0.866
1 0.781 -1.143 -0.659 0.961 1.266 1.183 -0.686 0.119 2.173 1.126 -0.064 1.447 0.000 0.730 1.430 -1.535 0.000 1.601 0.513 1.658 0.000 0.871 1.345 1.184 1.058 0.620 1.107 0.978
1 1.300 -0.616 1.032 0.751 -0.731 0.961 -0.716 1.592 0.000 2.079 -1.063 -0.271 2.215 0.475 0.518 1.695 1.274 0.395 -2.204 0.349 0.000 1.350 0.983 1.369 1.265 1.428 1.135 0.982
1 0.833 0.809 1.657 1.637 1.019 0.705 1.077 -0.968 2.173 1.261 0.114 -0.298 1.107 1.032 0.017 0.236 0.000 0.640 -0.026 -1.598 0.000 0.894 0.982 0.981 1.250 1.054 1.018 0.853
1 1.686 -1.090 -0.301 0.890 0.557 1.304 -0.284 -1.393 2.173 0.388 2.118 0.513 0.000 0.514 -0.015 0.891 0.000 0.460 0.547 0.627 3.102 0.942 0.524 1.186 1.528 0.889 1.015 1.122
1 0.551 0.911 0.879 0.379 -0.796 1.154 -0.808 -0.966 0.000 1.168 -0.513 0.355 2.215 0.646 -1.309 0.773 0.000 0.544 -0.283 1.301 3.102 0.847 0.705 0.990 0.772 0.546 0.790 0.719
1 1.597 0.793 -1.119 0.691 -1.455 0.370 0.337 1.354 0.000 0.646 -1.005 0.732 2.215 1.019 0.040 0.209 0.000 0.545 0.958 0.239 3.102 0.962 0.793 0.994 0.719 0.745 0.812 0.739
0 1.033 -1.193 -0.452 0.247 0.970 0.503 -1.424 1.362 0.000 1.062 -0.416 -1.156 2.215 0.935 -0.023 0.555 2.548 0.410 -1.766 0.379 0.000 0.590 0.953 0.991 0.717 1.081 0.763 0.690
1 0.859 -1.004 1.521 0.781 -0.993 0.677 0.643 -0.338 2.173 0.486 0.409 1.283 0.000 0.679 0.110 0.285 0.000 0.715 -0.735 -0.157 1.551 0.702 0.773 0.984 0.627 0.633 0.694 0.643
0 0.612 -1.127 1.074 1.225 -0.426 0.927 -2.141 -0.473 0.000 1.290 -0.927 -1.085 2.215 1.183 1.981 -1.687 0.000 2.176 0.406 -1.581 0.000 0.945 0.651 1.170 0.895 1.604 1.179 1.142
1 0.535 0.321 -1.095 0.281 -0.960 0.876 -0.709 -0.076 0.000 1.563 -0.666 1.536 2.215 0.773 -0.321 0.435 0.000 0.682 -0.801 -0.952 3.102 0.711 0.667 0.985 0.888 0.741 0.872 0.758
1 0.745 1.586 1.578 0.863 -1.423 0.530 1.714 1.085 0.000 1.174 0.679 1.015 0.000 1.158 0.609 -1.186 2.548 1.851 0.832 -0.248 3.102 0.910 1.164 0.983 0.947 0.858 0.928 0.823
0 0.677 -1.014 -1.648 1.455 1.461 0.596 -2.358 0.517 0.000 0.800 0.849 -0.743 2.215 1.024 -0.282 -1.004 0.000 1.846 -0.977 0.378 3.102 2.210 1.423 0.982 1.074 1.623 1.417 1.258
1 0.815 -1.263 0.057 1.018 -0.208 0.339 -0.347 -1.646 2.173 1.223 0.600 -1.658 2.215 1.435 0.042 0.926 0.000 0.777 1.698 -0.698 0.000 1.022 1.058 1.000 0.784 0.477 0.886 0.836
0 3.512 -1.094 -0.220 0.338 -0.328 1.962 -1.099 1.544 1.087 1.461 -1.305 -0.922 2.215 1.219 -1.289 0.400 0.000 0.731 0.155 1.249 0.000 1.173 1.366 0.993 2.259 2.000 1.626 1.349
0 0.904 1.248 0.325 0.317 -1.624 0.685 -0.538 1.665 2.173 0.685 -2.145 -1.106 0.000 0.632 -1.460 1.017 0.000 1.085 -0.182 0.162 3.102 0.885 0.801 0.989 0.930 0.904 1.012 0.961

File diff suppressed because it is too large Load Diff

View File

@@ -1,500 +0,0 @@
1 0.644 0.247 -0.447 0.862 0.374 0.854 -1.126 -0.790 2.173 1.015 -0.201 1.400 0.000 1.575 1.807 1.607 0.000 1.585 -0.190 -0.744 3.102 0.958 1.061 0.980 0.875 0.581 0.905 0.796
0 0.385 1.800 1.037 1.044 0.349 1.502 -0.966 1.734 0.000 0.966 -1.960 -0.249 0.000 1.501 0.465 -0.354 2.548 0.834 -0.440 0.638 3.102 0.695 0.909 0.981 0.803 0.813 1.149 1.116
0 1.214 -0.166 0.004 0.505 1.434 0.628 -1.174 -1.230 1.087 0.579 -1.047 -0.118 0.000 0.835 0.340 1.234 2.548 0.711 -1.383 1.355 0.000 0.848 0.911 1.043 0.931 1.058 0.744 0.696
1 0.420 1.111 0.137 1.516 -1.657 0.854 0.623 1.605 1.087 1.511 -1.297 0.251 0.000 0.872 -0.368 -0.721 0.000 0.543 0.731 1.424 3.102 1.597 1.282 1.105 0.730 0.148 1.231 1.234
0 0.897 -1.703 -1.306 1.022 -0.729 0.836 0.859 -0.333 2.173 1.336 -0.965 0.972 2.215 0.671 1.021 -1.439 0.000 0.493 -2.019 -0.289 0.000 0.805 0.930 0.984 1.430 2.198 1.934 1.684
0 0.756 1.126 -0.945 2.355 -0.555 0.889 0.800 1.440 0.000 0.585 0.271 0.631 2.215 0.722 1.744 1.051 0.000 0.618 0.924 0.698 1.551 0.976 0.864 0.988 0.803 0.234 0.822 0.911
0 1.141 -0.741 0.953 1.478 -0.524 1.197 -0.871 1.689 2.173 0.875 1.321 -0.518 1.107 0.540 0.037 -0.987 0.000 0.879 1.187 0.245 0.000 0.888 0.701 1.747 1.358 2.479 1.491 1.223
1 0.606 -0.936 -0.384 1.257 -1.162 2.719 -0.600 0.100 2.173 3.303 -0.284 1.561 1.107 0.689 1.786 -0.326 0.000 0.780 -0.532 1.216 0.000 0.936 2.022 0.985 1.574 4.323 2.263 1.742
1 0.603 0.429 -0.279 1.448 1.301 1.008 2.423 -1.295 0.000 0.452 1.305 0.533 0.000 1.076 1.011 1.256 2.548 2.021 1.260 -0.343 0.000 0.890 0.969 1.281 0.763 0.652 0.827 0.785
0 1.171 -0.962 0.521 0.841 -0.315 1.196 -0.744 -0.882 2.173 0.726 -1.305 1.377 1.107 0.643 -1.790 -1.264 0.000 1.257 0.222 0.817 0.000 0.862 0.911 0.987 0.846 1.293 0.899 0.756
1 1.392 -0.358 0.235 1.494 -0.461 0.895 -0.848 1.549 2.173 0.841 -0.384 0.666 1.107 1.199 2.509 -0.891 0.000 1.109 -0.364 -0.945 0.000 0.693 2.135 1.170 1.362 0.959 2.056 1.842
1 1.024 1.076 -0.886 0.851 1.530 0.673 -0.449 0.187 1.087 0.628 -0.895 1.176 2.215 0.696 -0.232 -0.875 0.000 0.411 1.501 0.048 0.000 0.842 0.919 1.063 1.193 0.777 0.964 0.807
1 0.890 -0.760 1.182 1.369 0.751 0.696 -0.959 -0.710 1.087 0.775 -0.130 -1.409 2.215 0.701 -0.110 -0.739 0.000 0.508 -0.451 0.390 0.000 0.762 0.738 0.998 1.126 0.788 0.940 0.790
1 0.460 0.537 0.636 1.442 -0.269 0.585 0.323 -1.731 2.173 0.503 1.034 -0.927 0.000 0.928 -1.024 1.006 2.548 0.513 -0.618 -1.336 0.000 0.802 0.831 0.992 1.019 0.925 1.056 0.833
1 0.364 1.648 0.560 1.720 0.829 1.110 0.811 -0.588 0.000 0.408 1.045 1.054 2.215 0.319 -1.138 1.545 0.000 0.423 1.025 -1.265 3.102 1.656 0.928 1.003 0.544 0.327 0.670 0.746
1 0.525 -0.096 1.206 0.948 -1.103 1.519 -0.582 0.606 2.173 1.274 -0.572 -0.934 0.000 0.855 -1.028 -1.222 0.000 0.578 -1.000 -1.725 3.102 0.896 0.878 0.981 0.498 0.909 0.772 0.668
0 0.536 -0.821 -1.029 0.703 1.113 0.363 -0.711 0.022 1.087 0.325 1.503 1.249 2.215 0.673 1.041 -0.401 0.000 0.480 2.127 1.681 0.000 0.767 1.034 0.990 0.671 0.836 0.669 0.663
1 1.789 -0.583 1.641 0.897 0.799 0.515 -0.100 -1.483 0.000 1.101 0.031 -0.326 2.215 1.195 0.001 0.126 2.548 0.768 -0.148 0.601 0.000 0.916 0.921 1.207 1.069 0.483 0.934 0.795
1 1.332 -0.571 0.986 0.580 1.508 0.582 0.634 -0.746 1.087 1.084 -0.964 -0.489 0.000 0.785 0.274 0.343 2.548 0.779 0.721 1.489 0.000 1.733 1.145 0.990 1.270 0.715 0.897 0.915
0 1.123 0.629 -1.708 0.597 -0.882 0.752 0.195 1.522 2.173 1.671 1.515 -0.003 0.000 0.778 0.514 0.139 1.274 0.801 1.260 1.600 0.000 1.495 0.976 0.988 0.676 0.921 1.010 0.943
0 1.816 -0.515 0.171 0.980 -0.454 0.870 0.202 -1.399 2.173 1.130 1.066 -1.593 0.000 0.844 0.735 1.275 2.548 1.125 -1.133 0.348 0.000 0.837 0.693 0.988 1.112 0.784 1.009 0.974
1 0.364 0.694 0.445 1.862 0.159 0.963 -1.356 1.260 1.087 0.887 -0.540 -1.533 2.215 0.658 -2.544 -1.236 0.000 0.516 -0.807 0.039 0.000 0.891 1.004 0.991 1.092 0.976 1.000 0.953
1 0.790 -1.175 0.475 1.846 0.094 0.999 -1.090 0.257 0.000 1.422 0.854 1.112 2.215 1.302 1.004 -1.702 1.274 2.557 -0.787 -1.048 0.000 0.890 1.429 0.993 2.807 0.840 2.248 1.821
1 0.765 -0.500 -0.603 1.843 -0.560 1.068 0.007 0.746 2.173 1.154 -0.017 1.329 0.000 1.165 1.791 -1.585 0.000 1.116 0.441 -0.886 0.000 0.774 0.982 0.989 1.102 0.633 1.178 1.021
1 1.407 1.293 -1.418 0.502 -1.527 2.005 -2.122 0.622 0.000 1.699 1.508 -0.649 2.215 1.665 0.748 -0.755 0.000 2.555 0.811 1.423 1.551 7.531 5.520 0.985 1.115 1.881 4.487 3.379
1 0.772 -0.186 -1.372 0.823 -0.140 0.781 0.763 0.046 2.173 1.128 0.516 1.380 0.000 0.797 -0.640 -0.134 2.548 2.019 -0.972 -1.670 0.000 2.022 1.466 0.989 0.856 0.808 1.230 0.991
1 0.546 -0.954 0.715 1.335 -1.689 0.783 -0.443 -1.735 2.173 1.081 0.185 -0.435 0.000 1.433 -0.662 -0.389 0.000 0.969 0.924 1.099 0.000 0.910 0.879 0.988 0.683 0.753 0.878 0.865
1 0.596 0.276 -1.054 1.358 1.355 1.444 1.813 -0.208 0.000 1.175 -0.949 -1.573 0.000 0.855 -1.228 -0.925 2.548 1.837 -0.400 0.913 0.000 0.637 0.901 1.028 0.553 0.790 0.679 0.677
0 0.458 2.292 1.530 0.291 1.283 0.749 -0.930 -0.198 0.000 0.300 -1.560 0.990 0.000 0.811 -0.176 0.995 2.548 1.085 -0.178 -1.213 3.102 0.891 0.648 0.999 0.732 0.655 0.619 0.620
0 0.638 -0.575 -1.048 0.125 0.178 0.846 -0.753 -0.339 1.087 0.799 -0.727 1.182 0.000 0.888 0.283 0.717 0.000 1.051 -1.046 -1.557 3.102 0.889 0.871 0.989 0.884 0.923 0.836 0.779
1 0.434 -1.119 -0.313 2.427 0.461 0.497 0.261 -1.177 2.173 0.618 -0.737 -0.688 0.000 1.150 -1.237 -1.652 2.548 0.757 -0.054 1.700 0.000 0.809 0.741 0.982 1.450 0.936 1.086 0.910
1 0.431 -1.144 -1.030 0.778 -0.655 0.490 0.047 -1.546 0.000 1.583 -0.014 0.891 2.215 0.516 0.956 0.567 2.548 0.935 -1.123 -0.082 0.000 0.707 0.995 0.995 0.700 0.602 0.770 0.685
1 1.894 0.222 1.224 1.578 1.715 0.966 2.890 -0.013 0.000 0.922 -0.703 -0.844 0.000 0.691 2.056 1.039 0.000 0.900 -0.733 -1.240 3.102 1.292 1.992 1.026 0.881 0.684 1.759 1.755
0 0.985 -0.316 0.141 1.067 -0.946 0.819 -1.177 1.307 2.173 1.080 -0.429 0.557 1.107 1.726 1.435 -1.075 0.000 1.100 1.547 -0.647 0.000 0.873 1.696 1.179 1.146 1.015 1.538 1.270
0 0.998 -0.187 -0.236 0.882 0.755 0.468 0.950 -0.439 2.173 0.579 -0.550 -0.624 0.000 1.847 1.196 1.384 1.274 0.846 1.273 -1.072 0.000 1.194 0.797 1.013 1.319 1.174 0.963 0.898
0 0.515 0.246 -0.593 1.082 1.591 0.912 -0.623 -0.957 2.173 0.858 0.418 0.844 0.000 0.948 2.519 1.599 0.000 1.158 1.385 -0.095 3.102 0.973 1.033 0.988 0.998 1.716 1.054 0.901
0 0.919 -1.001 1.506 1.389 0.653 0.507 -0.616 -0.689 2.173 0.808 0.536 -0.467 2.215 0.496 2.187 -0.859 0.000 0.822 0.807 1.163 0.000 0.876 0.861 1.088 0.947 0.614 0.911 1.087
0 0.794 0.051 1.477 1.504 -1.695 0.716 0.315 0.264 1.087 0.879 -0.135 -1.094 2.215 1.433 -0.741 0.201 0.000 1.566 0.534 -0.989 0.000 0.627 0.882 0.974 0.807 1.130 0.929 0.925
1 0.455 -0.946 -1.175 1.453 -0.580 0.763 -0.856 0.840 0.000 0.829 1.223 1.174 2.215 0.714 0.638 -0.466 0.000 1.182 0.223 -1.333 0.000 0.977 0.938 0.986 0.713 0.714 0.796 0.843
1 0.662 -0.296 -1.287 1.212 -0.707 0.641 1.457 0.222 0.000 0.600 0.525 -1.700 2.215 0.784 -0.835 -0.961 2.548 0.865 1.131 1.162 0.000 0.854 0.877 0.978 0.740 0.734 0.888 0.811
0 0.390 0.698 -1.629 1.888 0.298 0.990 1.614 -1.572 0.000 1.666 0.170 0.719 2.215 1.590 1.064 -0.886 1.274 0.952 0.305 -1.216 0.000 1.048 0.897 1.173 0.891 1.936 1.273 1.102
0 1.014 0.117 1.384 0.686 -1.047 0.609 -1.245 -0.850 0.000 1.076 -1.158 0.814 1.107 1.598 -0.389 -0.111 0.000 0.907 1.688 -1.673 0.000 1.333 0.866 0.989 0.975 0.442 0.797 0.788
0 1.530 -1.408 -0.207 0.440 -1.357 0.902 -0.647 1.325 1.087 1.320 -0.819 0.246 1.107 0.503 1.407 -1.683 0.000 1.189 -0.972 -0.925 0.000 0.386 1.273 0.988 0.829 1.335 1.173 1.149
1 1.689 -0.590 0.915 2.076 1.202 0.644 -0.478 -0.238 0.000 0.809 -1.660 -1.184 0.000 1.227 -0.224 -0.808 2.548 1.655 1.047 -0.623 0.000 0.621 1.192 0.988 1.309 0.866 0.924 1.012
0 1.102 0.402 -1.622 1.262 1.022 0.576 0.271 -0.269 0.000 0.591 0.495 -1.278 0.000 1.271 0.209 0.575 2.548 0.941 0.964 -0.685 3.102 0.989 0.963 1.124 0.857 0.858 0.716 0.718
0 2.491 0.825 0.581 1.593 0.205 0.782 -0.815 1.499 0.000 1.179 -0.999 -1.509 0.000 0.926 0.920 -0.522 2.548 2.068 -1.021 -1.050 3.102 0.874 0.943 0.980 0.945 1.525 1.570 1.652
0 0.666 0.254 1.601 1.303 -0.250 1.236 -1.929 0.793 0.000 1.074 0.447 -0.871 0.000 0.991 1.059 -0.342 0.000 1.703 -0.393 -1.419 3.102 0.921 0.945 1.285 0.931 0.462 0.770 0.729
0 0.937 -1.126 1.424 1.395 1.743 0.760 0.428 -0.238 2.173 0.846 0.494 1.320 2.215 0.872 -1.826 -0.507 0.000 0.612 1.860 1.403 0.000 3.402 2.109 0.985 1.298 1.165 1.404 1.240
1 0.881 -1.086 -0.870 0.513 0.266 2.049 -1.870 1.160 0.000 2.259 -0.428 -0.935 2.215 1.321 -0.655 -0.449 2.548 1.350 -1.766 -0.108 0.000 0.911 1.852 0.987 1.167 0.820 1.903 1.443
0 0.410 0.835 -0.819 1.257 1.112 0.871 -1.737 -0.401 0.000 0.927 0.158 1.253 0.000 1.183 0.405 -1.570 0.000 0.807 -0.704 -0.438 3.102 0.932 0.962 0.987 0.653 0.315 0.616 0.648
1 0.634 0.196 -1.679 1.379 -0.967 2.260 -0.273 1.114 0.000 1.458 1.070 -0.278 1.107 1.195 0.110 -0.688 2.548 0.907 0.298 -1.359 0.000 0.949 1.129 0.984 0.675 0.877 0.938 0.824
1 0.632 -1.254 1.201 0.496 -0.106 0.235 2.731 -0.955 0.000 0.615 -0.805 0.600 0.000 0.633 -0.934 1.641 0.000 1.407 -0.483 -0.962 1.551 0.778 0.797 0.989 0.578 0.722 0.576 0.539
0 0.714 1.122 1.566 2.399 -1.431 1.665 0.299 0.323 0.000 1.489 1.087 -0.861 2.215 1.174 0.140 1.083 2.548 0.404 -0.968 1.105 0.000 0.867 0.969 0.981 1.039 1.552 1.157 1.173
1 0.477 -0.321 -0.471 1.966 1.034 2.282 1.359 -0.874 0.000 1.672 -0.258 1.109 0.000 1.537 0.604 0.231 2.548 1.534 -0.640 0.827 0.000 0.746 1.337 1.311 0.653 0.721 0.795 0.742
1 1.351 0.460 0.031 1.194 -1.185 0.670 -1.157 -1.637 2.173 0.599 -0.823 0.680 0.000 0.478 0.373 1.716 0.000 0.809 -0.919 0.010 1.551 0.859 0.839 1.564 0.994 0.777 0.971 0.826
1 0.520 -1.442 -0.348 0.840 1.654 1.273 -0.760 1.317 0.000 0.861 2.579 -0.791 0.000 1.779 0.257 -0.703 0.000 2.154 1.928 0.457 0.000 1.629 3.194 0.992 0.730 1.107 2.447 2.747
0 0.700 -0.308 0.920 0.438 -0.879 0.516 1.409 1.101 0.000 0.960 0.701 -0.049 2.215 1.442 -0.416 -1.439 2.548 0.628 1.009 -0.364 0.000 0.848 0.817 0.987 0.759 1.421 0.937 0.920
1 0.720 1.061 -0.546 0.798 -1.521 1.066 0.173 0.271 1.087 1.453 0.114 1.336 1.107 0.702 0.616 -0.367 0.000 0.543 -0.386 -1.301 0.000 0.653 0.948 0.989 1.031 1.500 0.965 0.790
1 0.735 -0.416 0.588 1.308 -0.382 1.042 0.344 1.609 0.000 0.926 0.163 -0.520 1.107 1.050 -0.427 1.159 2.548 0.834 0.613 0.948 0.000 0.848 1.189 1.042 0.844 1.099 0.829 0.843
1 0.777 -0.396 1.540 1.608 0.638 0.955 0.040 0.918 2.173 1.315 1.116 -0.823 0.000 0.781 -0.762 0.564 2.548 0.945 -0.573 1.379 0.000 0.679 0.706 1.124 0.608 0.593 0.515 0.493
1 0.934 0.319 -0.257 0.970 -0.980 0.726 0.774 0.731 0.000 0.896 0.038 -1.465 1.107 0.773 -0.055 -0.831 2.548 1.439 -0.229 0.698 0.000 0.964 1.031 0.995 0.845 0.480 0.810 0.762
0 0.461 0.771 0.019 2.055 -1.288 1.043 0.147 0.261 2.173 0.833 -0.156 1.425 0.000 0.832 0.805 -0.491 2.548 0.589 1.252 1.414 0.000 0.850 0.906 1.245 1.364 0.850 0.908 0.863
1 0.858 -0.116 -0.937 0.966 1.167 0.825 -0.108 1.111 1.087 0.733 1.163 -0.634 0.000 0.894 0.771 0.020 0.000 0.846 -1.124 -1.195 3.102 0.724 1.194 1.195 0.813 0.969 0.985 0.856
0 0.720 -0.335 -0.307 1.445 0.540 1.108 -0.034 -1.691 1.087 0.883 -1.356 -0.678 2.215 0.440 1.093 0.253 0.000 0.389 -1.582 -1.097 0.000 1.113 1.034 0.988 1.256 1.572 1.062 0.904
1 0.750 -0.811 -0.542 0.985 0.408 0.471 0.477 0.355 0.000 1.347 -0.875 -1.556 2.215 0.564 1.082 -0.724 0.000 0.793 -0.958 -0.020 3.102 0.836 0.825 0.986 1.066 0.924 0.927 0.883
0 0.392 -0.468 -0.216 0.680 1.565 1.086 -0.765 -0.581 1.087 1.264 -1.035 1.189 2.215 0.986 -0.338 0.747 0.000 0.884 -1.328 -0.965 0.000 1.228 0.988 0.982 1.135 1.741 1.108 0.956
1 0.434 -1.269 0.643 0.713 0.608 0.597 0.832 1.627 0.000 0.708 -0.422 0.079 2.215 1.533 -0.823 -1.127 2.548 0.408 -1.357 -0.828 0.000 1.331 1.087 0.999 1.075 1.015 0.875 0.809
0 0.828 -1.803 0.342 0.847 -0.162 1.585 -1.128 -0.272 2.173 1.974 0.039 -1.717 0.000 0.900 0.764 -1.741 0.000 1.349 -0.079 1.035 3.102 0.984 0.815 0.985 0.780 1.661 1.403 1.184
1 1.089 -0.350 -0.747 1.472 0.792 1.087 -0.069 -1.192 0.000 0.512 -0.841 -1.284 0.000 2.162 -0.821 0.545 2.548 1.360 2.243 -0.183 0.000 0.977 0.628 1.725 1.168 0.635 0.823 0.822
1 0.444 0.451 -1.332 1.176 -0.247 0.898 0.194 0.007 0.000 1.958 0.576 -1.618 2.215 0.584 1.203 0.268 0.000 0.939 1.033 1.264 3.102 0.829 0.886 0.985 1.265 0.751 1.032 0.948
0 0.629 0.114 1.177 0.917 -1.204 0.845 0.828 -0.088 0.000 0.962 -1.302 0.823 2.215 0.732 0.358 -1.334 2.548 0.538 0.582 1.561 0.000 1.028 0.834 0.988 0.904 1.205 1.039 0.885
1 1.754 -1.259 -0.573 0.959 -1.483 0.358 0.448 -1.452 0.000 0.711 0.313 0.499 2.215 1.482 -0.390 1.474 2.548 1.879 -1.540 0.668 0.000 0.843 0.825 1.313 1.315 0.939 1.048 0.871
1 0.549 0.706 -1.437 0.894 0.891 0.680 -0.762 -1.568 0.000 0.981 0.499 -0.425 2.215 1.332 0.678 0.485 1.274 0.803 0.022 -0.893 0.000 0.793 1.043 0.987 0.761 0.899 0.915 0.794
0 0.475 0.542 -0.987 1.569 0.069 0.551 1.543 -1.488 0.000 0.608 0.301 1.734 2.215 0.277 0.499 -0.522 0.000 1.375 1.212 0.696 3.102 0.652 0.756 0.987 0.828 0.830 0.715 0.679
1 0.723 0.049 -1.153 1.300 0.083 0.723 -0.749 0.630 0.000 1.126 0.412 -0.384 0.000 1.272 1.256 1.358 2.548 3.108 0.777 -1.486 3.102 0.733 1.096 1.206 1.269 0.899 1.015 0.903
1 1.062 0.296 0.725 0.285 -0.531 0.819 1.277 -0.667 0.000 0.687 0.829 -0.092 0.000 1.158 0.447 1.047 2.548 1.444 -0.186 -1.491 3.102 0.863 1.171 0.986 0.769 0.828 0.919 0.840
0 0.572 -0.349 1.396 2.023 0.795 0.577 0.457 -0.533 0.000 1.351 0.701 -1.091 0.000 0.724 -1.012 -0.182 2.548 0.923 -0.012 0.789 3.102 0.936 1.025 0.985 1.002 0.600 0.828 0.909
1 0.563 0.387 0.412 0.553 1.050 0.723 -0.992 -0.447 0.000 0.748 0.948 0.546 2.215 1.761 -0.559 -1.183 0.000 1.114 -0.251 1.192 3.102 0.936 0.912 0.976 0.578 0.722 0.829 0.892
1 1.632 1.577 -0.697 0.708 -1.263 0.863 0.012 1.197 2.173 0.498 0.990 -0.806 0.000 0.627 2.387 -1.283 0.000 0.607 1.290 -0.174 3.102 0.916 1.328 0.986 0.557 0.971 0.935 0.836
1 0.562 -0.360 0.399 0.803 -1.334 1.443 -0.116 1.628 2.173 0.750 0.987 0.135 1.107 0.795 0.298 -0.556 0.000 1.150 -0.113 -0.093 0.000 0.493 1.332 0.985 1.001 1.750 1.013 0.886
1 0.987 0.706 -0.492 0.861 0.607 0.593 0.088 -0.184 0.000 0.802 0.894 1.608 2.215 0.782 -0.471 1.500 2.548 0.521 0.772 -0.960 0.000 0.658 0.893 1.068 0.877 0.664 0.709 0.661
1 1.052 0.883 -0.581 1.566 0.860 0.931 1.515 -0.873 0.000 0.493 0.145 -0.672 0.000 1.133 0.935 1.581 2.548 1.630 0.695 0.923 3.102 1.105 1.087 1.713 0.948 0.590 0.872 0.883
1 2.130 -0.516 -0.291 0.776 -1.230 0.689 -0.257 0.800 2.173 0.730 -0.274 -1.437 0.000 0.615 0.241 1.083 0.000 0.834 0.757 1.613 3.102 0.836 0.806 1.333 1.061 0.730 0.889 0.783
1 0.742 0.797 1.628 0.311 -0.418 0.620 0.685 -1.457 0.000 0.683 1.774 -1.082 0.000 1.700 1.104 0.225 2.548 0.382 -2.184 -1.307 0.000 0.945 1.228 0.984 0.864 0.931 0.988 0.838
0 0.311 -1.249 -0.927 1.272 -1.262 0.642 -1.228 -0.136 0.000 1.220 -0.804 -1.558 2.215 0.950 -0.828 0.495 1.274 2.149 -1.672 0.634 0.000 1.346 0.887 0.981 0.856 1.101 1.001 1.106
0 0.660 -1.834 -0.667 0.601 1.236 0.932 -0.933 -0.135 2.173 1.373 -0.122 1.429 0.000 0.654 -0.034 -0.847 2.548 0.711 0.911 0.703 0.000 1.144 0.942 0.984 0.822 0.739 0.992 0.895
0 3.609 -0.590 0.851 0.615 0.455 1.280 0.003 -0.866 1.087 1.334 0.708 -1.131 0.000 0.669 0.480 0.092 0.000 0.975 0.983 -1.429 3.102 1.301 1.089 0.987 1.476 0.934 1.469 1.352
1 0.905 -0.403 1.567 2.651 0.953 1.194 -0.241 -0.567 1.087 0.308 -0.384 -0.007 0.000 0.608 -0.175 -1.163 2.548 0.379 0.941 1.662 0.000 0.580 0.721 1.126 0.895 0.544 1.097 0.836
1 0.983 0.255 1.093 0.905 -0.874 0.863 0.060 -0.368 0.000 0.824 -0.747 -0.633 0.000 0.614 0.961 1.052 0.000 0.792 -0.260 1.632 3.102 0.874 0.883 1.280 0.663 0.406 0.592 0.645
1 1.160 -1.027 0.274 0.460 0.322 2.085 -1.623 -0.840 0.000 1.634 -1.046 1.182 2.215 0.492 -0.367 1.174 0.000 0.824 -0.998 1.617 0.000 0.943 0.884 1.001 1.209 1.313 1.034 0.866
0 0.299 0.028 -1.372 1.930 -0.661 0.840 -0.979 0.664 1.087 0.535 -2.041 1.434 0.000 1.087 -1.797 0.344 0.000 0.485 -0.560 -1.105 3.102 0.951 0.890 0.980 0.483 0.684 0.730 0.706
0 0.293 1.737 -1.418 2.074 0.794 0.679 1.024 -1.457 0.000 1.034 1.094 -0.168 1.107 0.506 1.680 -0.661 0.000 0.523 -0.042 -1.274 3.102 0.820 0.944 0.987 0.842 0.694 0.761 0.750
0 0.457 -0.393 1.560 0.738 -0.007 0.475 -0.230 0.246 0.000 0.776 -1.264 -0.606 2.215 0.865 -0.731 -1.576 2.548 1.153 0.343 1.436 0.000 1.060 0.883 0.988 0.972 0.703 0.758 0.720
0 0.935 -0.582 0.240 2.401 0.818 1.231 -0.618 -1.289 0.000 0.799 0.544 -0.228 2.215 0.525 -1.494 -0.969 0.000 0.609 -1.123 1.168 3.102 0.871 0.767 1.035 1.154 0.919 0.868 1.006
1 0.902 -0.745 -1.215 1.174 -0.501 1.215 0.167 1.162 0.000 0.896 1.217 -0.976 0.000 0.585 -0.429 1.036 0.000 1.431 -0.416 0.151 3.102 0.524 0.952 0.990 0.707 0.271 0.592 0.826
1 0.653 0.337 -0.320 1.118 -0.934 1.050 0.745 0.529 1.087 1.075 1.742 -1.538 0.000 0.585 1.090 0.973 0.000 1.091 -0.187 1.160 1.551 1.006 1.108 0.978 1.121 0.838 0.947 0.908
0 1.157 1.401 0.340 0.395 -1.218 0.945 1.928 -0.876 0.000 1.384 0.320 1.002 1.107 1.900 1.177 -0.462 2.548 1.122 1.316 1.720 0.000 1.167 1.096 0.989 0.937 1.879 1.307 1.041
0 0.960 0.355 -0.152 0.872 -0.338 0.391 0.348 0.956 1.087 0.469 2.664 1.409 0.000 0.756 -1.561 1.500 0.000 0.525 1.436 1.728 3.102 1.032 0.946 0.996 0.929 0.470 0.698 0.898
1 1.038 0.274 0.825 1.198 0.963 1.078 -0.496 -1.014 2.173 0.739 -0.727 -0.151 2.215 1.035 -0.799 0.398 0.000 1.333 -0.872 -1.498 0.000 0.849 1.033 0.985 0.886 0.936 0.975 0.823
0 0.490 0.277 0.318 1.303 0.694 1.333 -1.620 -0.563 0.000 1.459 -1.326 1.140 0.000 0.779 -0.673 -1.324 2.548 0.860 -1.247 0.043 0.000 0.857 0.932 0.992 0.792 0.278 0.841 1.498
0 1.648 -0.688 -1.386 2.790 0.995 1.087 1.359 -0.687 0.000 1.050 -0.223 -0.261 2.215 0.613 -0.889 1.335 0.000 1.204 0.827 0.309 3.102 0.464 0.973 2.493 1.737 0.827 1.319 1.062
0 1.510 -0.662 1.668 0.860 0.280 0.705 0.974 -1.647 1.087 0.662 -0.393 -0.225 0.000 0.610 -0.996 0.532 2.548 0.464 1.305 0.102 0.000 0.859 1.057 1.498 0.799 1.260 0.946 0.863
1 0.850 -1.185 -0.117 0.943 -0.449 1.142 0.875 -0.030 0.000 2.223 -0.461 1.627 2.215 0.767 -1.761 -1.692 0.000 1.012 -0.727 0.639 3.102 3.649 2.062 0.985 1.478 1.087 1.659 1.358
0 0.933 1.259 0.130 0.326 -0.890 0.306 1.136 1.142 0.000 0.964 0.705 -1.373 2.215 0.546 -0.196 -0.001 0.000 0.578 -1.169 1.004 3.102 0.830 0.836 0.988 0.837 1.031 0.749 0.655
0 0.471 0.697 1.570 1.109 0.201 1.248 0.348 -1.448 0.000 2.103 0.773 0.686 2.215 1.451 -0.087 -0.453 2.548 1.197 -0.045 -1.026 0.000 0.793 1.094 0.987 0.851 1.804 1.378 1.089
1 2.446 -0.701 -1.568 0.059 0.822 1.401 -0.600 -0.044 2.173 0.324 -0.001 1.344 2.215 0.913 -0.818 1.049 0.000 0.442 -1.088 -0.005 0.000 0.611 1.062 0.979 0.562 0.988 0.998 0.806
0 0.619 2.029 0.933 0.528 -0.903 0.974 0.760 -0.311 2.173 0.825 0.658 -1.466 1.107 0.894 1.594 0.370 0.000 0.882 -0.258 1.661 0.000 1.498 1.088 0.987 0.867 1.139 0.900 0.779
1 0.674 -0.131 -0.362 0.518 -1.574 0.876 0.442 0.145 1.087 0.497 -1.526 -1.704 0.000 0.680 2.514 -1.374 0.000 0.792 -0.479 0.773 1.551 0.573 1.198 0.984 0.800 0.667 0.987 0.832
1 1.447 1.145 -0.937 0.307 -1.458 0.478 1.264 0.816 1.087 0.558 1.015 -0.101 2.215 0.937 -0.190 1.177 0.000 0.699 0.954 -1.512 0.000 0.877 0.838 0.990 0.873 0.566 0.646 0.713
1 0.976 0.308 -0.844 0.436 0.610 1.253 0.149 -1.585 2.173 1.415 0.568 0.096 2.215 0.953 -0.855 0.441 0.000 0.867 -0.650 1.643 0.000 0.890 1.234 0.988 0.796 2.002 1.179 0.977
0 0.697 0.401 -0.718 0.920 0.735 0.958 -0.172 0.168 2.173 0.872 -0.097 -1.335 0.000 0.513 -1.192 -1.710 1.274 0.426 -1.637 1.368 0.000 0.997 1.227 1.072 0.800 1.013 0.786 0.749
1 1.305 -2.157 1.740 0.661 -0.912 0.705 -0.516 0.759 2.173 0.989 -0.716 -0.300 2.215 0.627 -1.052 -1.736 0.000 0.467 -2.467 0.568 0.000 0.807 0.964 0.988 1.427 1.012 1.165 0.926
0 1.847 1.663 -0.618 0.280 1.258 1.462 -0.054 1.371 0.000 0.900 0.309 -0.544 0.000 0.331 -2.149 -0.341 0.000 1.091 -0.833 0.710 3.102 1.496 0.931 0.989 1.549 0.115 1.140 1.150
0 0.410 -0.323 1.069 2.160 0.010 0.892 0.942 -1.640 2.173 0.946 0.938 1.314 0.000 1.213 -1.099 -0.794 2.548 0.650 0.053 0.056 0.000 1.041 0.916 1.063 0.985 1.910 1.246 1.107
1 0.576 1.092 -0.088 0.777 -1.579 0.757 0.271 0.109 0.000 0.819 0.827 -1.554 2.215 1.313 2.341 -1.568 0.000 2.827 0.239 -0.338 0.000 0.876 0.759 0.986 0.692 0.457 0.796 0.791
1 0.537 0.925 -1.406 0.306 -0.050 0.906 1.051 0.037 0.000 1.469 -0.177 -1.320 2.215 1.872 0.723 1.158 0.000 1.313 0.227 -0.501 3.102 0.953 0.727 0.978 0.755 0.892 0.932 0.781
0 0.716 -0.065 -0.484 1.313 -1.563 0.596 -0.242 0.678 2.173 0.426 -1.909 0.616 0.000 0.885 -0.406 -1.343 2.548 0.501 -1.327 -0.340 0.000 0.470 0.728 1.109 0.919 0.881 0.665 0.692
1 0.624 -0.389 0.128 1.636 -1.110 1.025 0.573 -0.843 2.173 0.646 -0.697 1.064 0.000 0.632 -1.442 0.961 0.000 0.863 -0.106 1.717 0.000 0.825 0.917 1.257 0.983 0.713 0.890 0.824
0 0.484 2.101 1.714 1.131 -0.823 0.750 0.583 -1.304 1.087 0.894 0.421 0.559 2.215 0.921 -0.063 0.282 0.000 0.463 -0.474 -1.387 0.000 0.742 0.886 0.995 0.993 1.201 0.806 0.754
0 0.570 0.339 -1.478 0.528 0.439 0.978 1.479 -1.411 2.173 0.763 1.541 -0.734 0.000 1.375 0.840 0.903 0.000 0.965 1.599 0.364 0.000 0.887 1.061 0.992 1.322 1.453 1.013 0.969
0 0.940 1.303 1.636 0.851 -1.732 0.803 -0.030 -0.177 0.000 0.480 -0.125 -0.954 0.000 0.944 0.709 0.296 2.548 1.342 -0.418 1.197 3.102 0.853 0.989 0.979 0.873 0.858 0.719 0.786
1 0.599 0.544 -0.238 0.816 1.043 0.857 0.660 1.128 2.173 0.864 -0.624 -0.843 0.000 1.159 0.367 0.174 0.000 1.520 -0.543 -1.508 0.000 0.842 0.828 0.984 0.759 0.895 0.918 0.791
1 1.651 1.897 -0.914 0.423 0.315 0.453 0.619 -1.607 2.173 0.532 -0.424 0.209 1.107 0.369 2.479 0.034 0.000 0.701 0.217 0.984 0.000 0.976 0.951 1.035 0.879 0.825 0.915 0.798
1 0.926 -0.574 -0.763 0.285 1.094 0.672 2.314 1.545 0.000 1.124 0.415 0.809 0.000 1.387 0.270 -0.949 2.548 1.547 -0.631 -0.200 3.102 0.719 0.920 0.986 0.889 0.933 0.797 0.777
0 0.677 1.698 -0.890 0.641 -0.449 0.607 1.754 1.720 0.000 0.776 0.372 0.782 2.215 0.511 1.491 -0.480 0.000 0.547 -0.341 0.853 3.102 0.919 1.026 0.997 0.696 0.242 0.694 0.687
0 1.266 0.602 0.958 0.487 1.256 0.709 0.843 -1.196 0.000 0.893 1.303 -0.594 1.107 1.090 1.320 0.354 0.000 0.797 1.846 1.139 0.000 0.780 0.896 0.986 0.661 0.709 0.790 0.806
1 0.628 -0.616 -0.329 0.764 -1.150 0.477 -0.715 1.187 2.173 1.250 0.607 1.026 2.215 0.983 -0.023 -0.583 0.000 0.377 1.344 -1.015 0.000 0.744 0.954 0.987 0.837 0.841 0.795 0.694
1 1.035 -0.828 -1.358 1.870 -1.060 1.075 0.130 0.448 2.173 0.660 0.697 0.641 0.000 0.425 1.006 -1.035 0.000 0.751 1.055 1.364 3.102 0.826 0.822 0.988 0.967 0.901 1.077 0.906
1 0.830 0.265 -0.150 0.660 1.105 0.592 -0.557 0.908 2.173 0.670 -1.419 -0.671 0.000 1.323 -0.409 1.644 2.548 0.850 -0.033 -0.615 0.000 0.760 0.967 0.984 0.895 0.681 0.747 0.770
1 1.395 1.100 1.167 1.088 0.218 0.400 -0.132 0.024 2.173 0.743 0.530 -1.361 2.215 0.341 -0.691 -0.238 0.000 0.396 -1.426 -0.933 0.000 0.363 0.472 1.287 0.922 0.810 0.792 0.656
1 1.070 1.875 -1.298 1.215 -0.106 0.767 0.795 0.514 1.087 0.401 2.780 1.276 0.000 0.686 1.127 1.721 2.548 0.391 -0.259 -1.167 0.000 1.278 1.113 1.389 0.852 0.824 0.838 0.785
0 1.114 -0.071 1.719 0.399 -1.383 0.849 0.254 0.481 0.000 0.958 -0.579 0.742 0.000 1.190 -0.140 -0.862 2.548 0.479 1.390 0.856 0.000 0.952 0.988 0.985 0.764 0.419 0.835 0.827
0 0.714 0.376 -0.568 1.578 -1.165 0.648 0.141 0.639 2.173 0.472 0.569 1.449 1.107 0.783 1.483 0.361 0.000 0.540 -0.790 0.032 0.000 0.883 0.811 0.982 0.775 0.572 0.760 0.745
0 0.401 -1.731 0.765 0.974 1.648 0.652 -1.024 0.191 0.000 0.544 -0.366 -1.246 2.215 0.627 0.140 1.008 2.548 0.810 0.409 0.429 0.000 0.950 0.934 0.977 0.621 0.580 0.677 0.650
1 0.391 1.679 -1.298 0.605 -0.832 0.549 1.338 0.522 2.173 1.244 0.884 1.070 0.000 1.002 0.846 -1.345 2.548 0.783 -2.464 -0.237 0.000 4.515 2.854 0.981 0.877 0.939 1.942 1.489
1 0.513 -0.220 -0.444 1.699 0.479 1.109 0.181 -0.999 2.173 0.883 -0.335 -1.716 2.215 1.075 -0.380 1.352 0.000 0.857 0.048 0.147 0.000 0.937 0.758 0.986 1.206 0.958 0.949 0.876
0 1.367 -0.388 0.798 1.158 1.078 0.811 -1.024 -1.628 0.000 1.504 0.097 -0.999 2.215 1.652 -0.860 0.054 2.548 0.573 -0.142 -1.401 0.000 0.869 0.833 1.006 1.412 1.641 1.214 1.041
1 1.545 -0.533 -1.517 1.177 1.289 2.331 -0.370 -0.073 0.000 1.295 -0.358 -0.891 2.215 0.476 0.756 0.985 0.000 1.945 -0.016 -1.651 3.102 1.962 1.692 1.073 0.656 0.941 1.312 1.242
0 0.858 0.978 -1.258 0.286 0.161 0.729 1.230 1.087 2.173 0.561 2.670 -0.109 0.000 0.407 2.346 0.938 0.000 1.078 0.729 -0.658 3.102 0.597 0.921 0.982 0.579 0.954 0.733 0.769
1 1.454 -1.384 0.870 0.067 0.394 1.033 -0.673 0.318 0.000 1.166 -0.763 -1.533 2.215 2.848 -0.045 -0.856 2.548 0.697 -0.140 1.134 0.000 0.931 1.293 0.977 1.541 1.326 1.201 1.078
1 0.559 -0.913 0.486 1.104 -0.321 1.073 -0.348 1.345 0.000 0.901 -0.827 -0.842 0.000 0.739 0.047 -0.415 2.548 0.433 -1.132 1.268 0.000 0.797 0.695 0.985 0.868 0.346 0.674 0.623
1 1.333 0.780 -0.964 0.916 1.202 1.822 -0.071 0.742 2.173 1.486 -0.399 -0.824 0.000 0.740 0.568 -0.134 0.000 0.971 -0.070 -1.589 3.102 1.278 0.929 1.421 1.608 1.214 1.215 1.137
1 2.417 0.631 -0.317 0.323 0.581 0.841 1.524 -1.738 0.000 0.543 1.176 -0.325 0.000 0.827 0.700 0.866 0.000 0.834 -0.262 -1.702 3.102 0.932 0.820 0.988 0.646 0.287 0.595 0.589
0 0.955 -1.242 0.938 1.104 0.474 0.798 -0.743 1.535 0.000 1.356 -1.357 -1.080 2.215 1.320 -1.396 -0.132 2.548 0.728 -0.529 -0.633 0.000 0.832 0.841 0.988 0.923 1.077 0.988 0.816
1 1.305 -1.918 0.391 1.161 0.063 0.724 2.593 1.481 0.000 0.592 -1.207 -0.329 0.000 0.886 -0.836 -1.168 2.548 1.067 -1.481 -1.440 0.000 0.916 0.688 0.991 0.969 0.550 0.665 0.638
0 1.201 0.071 -1.123 2.242 -1.533 0.702 -0.256 0.688 0.000 0.967 0.491 1.040 2.215 1.271 -0.558 0.095 0.000 1.504 0.676 -0.383 3.102 0.917 1.006 0.985 1.017 1.057 0.928 1.057
0 0.994 -1.607 1.596 0.774 -1.391 0.625 -0.134 -0.862 2.173 0.746 -0.765 -0.316 2.215 1.131 -0.320 0.869 0.000 0.607 0.826 0.301 0.000 0.798 0.967 0.999 0.880 0.581 0.712 0.774
1 0.482 -0.467 0.729 1.419 1.458 0.824 0.376 -0.242 0.000 1.368 0.023 1.459 2.215 0.826 0.669 -1.079 2.548 0.936 2.215 -0.309 0.000 1.883 1.216 0.997 1.065 0.946 1.224 1.526
1 0.383 1.588 1.611 0.748 1.194 0.866 -0.279 -0.636 0.000 0.707 0.536 0.801 2.215 1.647 -1.155 0.367 0.000 1.292 0.303 -1.681 3.102 2.016 1.581 0.986 0.584 0.684 1.107 0.958
0 0.629 0.203 0.736 0.671 -0.271 1.350 -0.486 0.761 2.173 0.496 -0.805 -1.718 0.000 2.393 0.044 -1.046 1.274 0.651 -0.116 -0.541 0.000 0.697 1.006 0.987 1.069 2.317 1.152 0.902
0 0.905 -0.564 -0.570 0.263 1.096 1.219 -1.397 -1.414 1.087 1.164 -0.533 -0.208 0.000 1.459 1.965 0.784 0.000 2.220 -1.421 0.452 0.000 0.918 1.360 0.993 0.904 0.389 2.118 1.707
1 1.676 1.804 1.171 0.529 1.175 1.664 0.354 -0.530 0.000 1.004 0.691 -1.280 2.215 0.838 0.373 0.626 2.548 1.094 1.774 0.501 0.000 0.806 1.100 0.991 0.769 0.976 0.807 0.740
1 1.364 -1.936 0.020 1.327 0.428 1.021 -1.665 -0.907 2.173 0.818 -2.701 1.303 0.000 0.716 -0.590 -1.629 2.548 0.895 -2.280 -1.602 0.000 1.211 0.849 0.989 1.320 0.864 1.065 0.949
0 0.629 -0.626 0.609 1.828 1.280 0.644 -0.856 -0.873 2.173 0.555 1.066 -0.640 0.000 0.477 -1.364 -1.021 2.548 1.017 0.036 0.380 0.000 0.947 0.941 0.994 1.128 0.241 0.793 0.815
1 1.152 -0.843 0.926 1.802 0.800 2.493 -1.449 -1.127 0.000 1.737 0.833 0.488 0.000 1.026 0.929 -0.990 2.548 1.408 0.689 1.142 3.102 1.171 0.956 0.993 2.009 0.867 1.499 1.474
0 2.204 0.081 0.008 1.021 -0.679 2.676 0.090 1.163 0.000 2.210 -1.686 -1.195 0.000 1.805 0.891 -0.148 2.548 0.450 -0.502 -1.295 3.102 6.959 3.492 1.205 0.908 0.845 2.690 2.183
1 0.957 0.954 1.702 0.043 -0.503 1.113 0.033 -0.308 0.000 0.757 -0.363 -1.129 2.215 1.635 0.068 1.048 1.274 0.415 -2.098 0.061 0.000 1.010 0.979 0.992 0.704 1.125 0.761 0.715
0 1.222 0.418 1.059 1.303 1.442 0.282 -1.499 -1.286 0.000 1.567 0.016 -0.164 2.215 0.451 2.229 -1.229 0.000 0.660 -0.513 -0.296 3.102 2.284 1.340 0.985 1.531 0.314 1.032 1.094
1 0.603 1.675 -0.973 0.703 -1.709 1.023 0.652 1.296 2.173 1.078 0.363 -0.263 0.000 0.734 -0.457 -0.745 1.274 0.561 1.434 -0.042 0.000 0.888 0.771 0.984 0.847 1.234 0.874 0.777
0 0.897 0.949 -0.848 1.115 -0.085 0.522 -1.267 -1.418 0.000 0.684 -0.599 1.474 0.000 1.176 0.922 0.641 2.548 0.470 0.103 0.148 3.102 0.775 0.697 0.984 0.839 0.358 0.847 1.008
1 0.987 1.013 -1.504 0.468 -0.259 1.160 0.476 -0.971 2.173 1.266 0.919 0.780 0.000 0.634 1.695 0.233 0.000 0.487 -0.082 0.719 3.102 0.921 0.641 0.991 0.730 0.828 0.952 0.807
1 0.847 1.581 -1.397 1.629 1.529 1.053 0.816 -0.344 2.173 0.895 0.779 0.332 0.000 0.750 1.311 0.419 2.548 1.604 0.844 1.367 0.000 1.265 0.798 0.989 1.328 0.783 0.930 0.879
1 0.805 1.416 -1.327 0.397 0.589 0.488 0.982 0.843 0.000 0.664 -0.999 0.129 0.000 0.624 0.613 -0.558 0.000 1.431 -0.667 -1.561 3.102 0.959 1.103 0.989 0.590 0.632 0.926 0.798
0 1.220 -0.313 -0.489 1.759 0.201 1.698 -0.220 0.241 2.173 1.294 1.390 -1.682 0.000 1.447 -1.623 -1.296 0.000 1.710 0.872 -1.356 3.102 1.198 0.981 1.184 0.859 2.165 1.807 1.661
0 0.772 -0.611 -0.549 0.465 -1.528 1.103 -0.140 0.001 2.173 0.854 -0.406 1.655 0.000 0.733 -1.250 1.072 0.000 0.883 0.627 -1.132 3.102 0.856 0.927 0.987 1.094 1.013 0.938 0.870
1 1.910 0.771 0.828 0.231 1.267 1.398 1.455 -0.295 2.173 0.837 -2.564 0.770 0.000 0.540 2.189 1.287 0.000 1.345 1.311 -1.151 0.000 0.861 0.869 0.984 1.359 1.562 1.105 0.963
1 0.295 0.832 1.399 1.222 -0.517 2.480 0.013 1.591 0.000 2.289 0.436 0.287 2.215 1.995 -0.367 -0.409 1.274 0.375 1.367 -1.716 0.000 1.356 2.171 0.990 1.467 1.664 1.855 1.705
1 1.228 0.339 -0.575 0.417 1.474 0.480 -1.416 -1.498 2.173 0.614 -0.933 -0.961 0.000 1.189 1.690 1.003 0.000 1.690 -1.065 0.106 3.102 0.963 1.147 0.987 1.086 0.948 0.930 0.866
0 2.877 -1.014 1.440 0.782 0.483 1.134 -0.735 -0.196 2.173 1.123 0.084 -0.596 0.000 1.796 -0.356 1.044 2.548 1.406 1.582 -0.991 0.000 0.939 1.178 1.576 0.996 1.629 1.216 1.280
1 2.178 0.259 1.107 0.256 1.222 0.979 -0.440 -0.538 1.087 0.496 -0.760 -0.049 0.000 1.471 1.683 -1.486 0.000 0.646 0.695 -1.577 3.102 1.093 1.070 0.984 0.608 0.889 0.962 0.866
1 0.604 0.592 1.295 0.964 0.348 1.178 -0.016 0.832 2.173 1.626 -0.420 -0.760 0.000 0.748 0.461 -0.906 0.000 0.728 0.309 -1.269 1.551 0.852 0.604 0.989 0.678 0.949 1.021 0.878
0 0.428 -1.352 -0.912 1.713 0.797 1.894 -1.452 0.191 2.173 2.378 2.113 -1.190 0.000 0.860 2.174 0.949 0.000 1.693 0.759 1.426 3.102 0.885 1.527 1.186 1.090 3.294 4.492 3.676
0 0.473 0.485 0.154 1.433 -1.504 0.766 1.257 -1.302 2.173 0.414 0.119 0.238 0.000 0.805 0.242 -0.691 2.548 0.734 0.749 0.753 0.000 0.430 0.893 1.137 0.686 0.724 0.618 0.608
1 0.763 -0.601 0.876 0.182 -1.678 0.818 0.599 0.481 2.173 0.658 -0.737 -0.553 0.000 0.857 -1.138 -1.435 0.000 1.540 -1.466 -0.447 0.000 0.870 0.566 0.989 0.728 0.658 0.821 0.726
0 0.619 -0.273 -0.143 0.992 -1.267 0.566 0.876 -1.396 2.173 0.515 0.892 0.618 0.000 0.434 -0.902 0.862 2.548 0.490 -0.539 0.549 0.000 0.568 0.794 0.984 0.667 0.867 0.597 0.578
0 0.793 0.970 0.324 0.570 0.816 0.761 -0.550 1.519 2.173 1.150 0.496 -0.447 0.000 0.925 0.724 1.008 1.274 1.135 -0.275 -0.843 0.000 0.829 1.068 0.978 1.603 0.892 1.041 1.059
1 0.480 0.364 -0.067 1.906 -1.582 1.397 1.159 0.140 0.000 0.639 0.398 -1.102 0.000 1.597 -0.668 1.607 2.548 1.306 -0.797 0.288 3.102 0.856 1.259 1.297 1.022 1.032 1.049 0.939
0 0.514 1.304 1.490 1.741 -0.220 0.648 0.155 0.535 0.000 0.562 -1.016 0.837 0.000 0.863 -0.780 -0.815 2.548 1.688 -0.130 -1.545 3.102 0.887 0.980 1.309 1.269 0.654 1.044 1.035
0 1.225 0.333 0.656 0.893 0.859 1.037 -0.876 1.603 1.087 1.769 0.272 -0.227 2.215 1.000 0.579 -1.690 0.000 1.385 0.471 -0.860 0.000 0.884 1.207 0.995 1.097 2.336 1.282 1.145
0 2.044 -1.472 -0.294 0.392 0.369 0.927 0.718 1.492 1.087 1.619 -0.736 0.047 2.215 1.884 -0.101 -1.540 0.000 0.548 -0.441 1.117 0.000 0.798 0.877 0.981 0.750 2.272 1.469 1.276
0 1.037 -0.276 0.735 3.526 1.156 2.498 0.401 -0.590 1.087 0.714 -1.203 1.393 2.215 0.681 0.629 1.534 0.000 0.719 -0.355 -0.706 0.000 0.831 0.857 0.988 2.864 2.633 1.988 1.466
1 0.651 -1.218 -0.791 0.770 -1.449 0.610 -0.535 0.960 2.173 0.380 -1.072 -0.031 2.215 0.415 2.123 -1.100 0.000 0.776 0.217 0.420 0.000 0.986 1.008 1.001 0.853 0.588 0.799 0.776
0 1.586 -0.409 0.085 3.258 0.405 1.647 -0.674 -1.519 0.000 0.640 -1.027 -1.681 0.000 1.452 -0.444 -0.957 2.548 0.927 -0.017 1.215 3.102 0.519 0.866 0.992 0.881 0.847 1.018 1.278
0 0.712 0.092 -0.466 0.688 1.236 0.921 -1.217 -1.022 2.173 2.236 -1.167 0.868 2.215 0.851 -1.892 -0.753 0.000 0.475 -1.216 -0.383 0.000 0.668 0.758 0.988 1.180 2.093 1.157 0.934
0 0.419 0.471 0.974 2.805 0.235 1.473 -0.198 1.255 1.087 0.931 1.083 -0.712 0.000 1.569 1.358 -1.179 2.548 2.506 0.199 -0.842 0.000 0.929 0.991 0.992 1.732 2.367 1.549 1.430
1 0.667 1.003 1.504 0.368 1.061 0.885 -0.318 -0.353 0.000 1.438 -1.939 0.710 0.000 1.851 0.277 -1.460 2.548 1.403 0.517 -0.157 0.000 0.883 1.019 1.000 0.790 0.859 0.938 0.841
1 1.877 -0.492 0.372 0.441 0.955 1.034 -1.220 -0.846 1.087 0.952 -0.320 1.125 0.000 0.542 0.308 -1.261 2.548 1.018 -1.415 -1.547 0.000 1.280 0.932 0.991 1.273 0.878 0.921 0.906
0 1.052 0.901 1.176 1.280 1.517 0.562 -1.150 -0.079 2.173 1.228 -0.308 -0.354 0.000 0.790 -1.492 -0.963 0.000 0.942 -0.672 -1.588 3.102 1.116 0.902 0.988 1.993 0.765 1.375 1.325
1 0.518 -0.254 1.642 0.865 0.725 0.980 0.734 0.023 0.000 1.448 0.780 -1.736 2.215 0.955 0.513 -0.519 0.000 0.365 -0.444 -0.243 3.102 0.833 0.555 0.984 0.827 0.795 0.890 0.786
0 0.870 0.815 -0.506 0.663 -0.518 0.935 0.289 -1.675 2.173 1.188 0.005 0.635 0.000 0.580 0.066 -1.455 2.548 0.580 -0.634 -0.199 0.000 0.852 0.788 0.979 1.283 0.208 0.856 0.950
0 0.628 1.382 0.135 0.683 0.571 1.097 0.564 -0.950 2.173 0.617 -0.326 0.371 0.000 1.093 0.918 1.667 2.548 0.460 1.221 0.708 0.000 0.743 0.861 0.975 1.067 1.007 0.843 0.762
0 4.357 0.816 -1.609 1.845 -1.288 3.292 0.726 0.324 2.173 1.528 0.583 -0.801 2.215 0.605 0.572 1.406 0.000 0.794 -0.791 0.122 0.000 0.967 1.132 1.124 3.602 2.811 2.460 1.861
0 0.677 -1.265 1.559 0.866 -0.618 0.823 0.260 0.185 0.000 1.133 0.337 1.589 2.215 0.563 -0.830 0.510 0.000 0.777 0.117 -0.941 3.102 0.839 0.763 0.986 1.182 0.649 0.796 0.851
0 2.466 -1.838 -1.648 1.717 1.533 1.676 -1.553 -0.109 2.173 0.670 -0.666 0.284 0.000 0.334 -2.480 0.316 0.000 0.366 -0.804 -1.298 3.102 0.875 0.894 0.997 0.548 0.770 1.302 1.079
1 1.403 0.129 -1.307 0.688 0.306 0.579 0.753 0.814 1.087 0.474 0.694 -1.400 0.000 0.520 1.995 0.185 0.000 0.929 -0.504 1.270 3.102 0.972 0.998 1.353 0.948 0.650 0.688 0.724
1 0.351 1.188 -0.360 0.254 -0.346 1.129 0.545 1.691 0.000 0.652 -0.039 -0.258 2.215 1.089 0.655 0.472 2.548 0.554 -0.493 1.366 0.000 0.808 1.045 0.992 0.570 0.649 0.809 0.744
0 1.875 -0.013 -0.128 0.236 1.163 0.902 0.426 0.590 2.173 1.251 -1.210 -0.616 0.000 1.035 1.534 0.912 0.000 1.944 1.789 -1.691 0.000 0.974 1.113 0.990 0.925 1.120 0.956 0.912
0 0.298 0.750 -0.507 1.555 1.463 0.804 1.200 -0.665 0.000 0.439 -0.829 -0.252 1.107 0.770 -1.090 0.947 2.548 1.165 -0.166 -0.763 0.000 1.140 0.997 0.988 1.330 0.555 1.005 1.012
0 0.647 0.342 0.245 4.340 -0.157 2.229 0.068 1.170 2.173 2.133 -0.201 -1.441 0.000 1.467 0.697 -0.532 1.274 1.457 0.583 -1.640 0.000 0.875 1.417 0.976 2.512 2.390 1.794 1.665
1 1.731 -0.803 -1.013 1.492 -0.020 1.646 -0.541 1.121 2.173 0.459 -1.251 -1.495 2.215 0.605 -1.711 -0.232 0.000 0.658 0.634 -0.068 0.000 1.214 0.886 1.738 1.833 1.024 1.192 1.034
0 0.515 1.416 -1.089 1.697 1.426 1.414 0.941 0.027 0.000 1.480 0.133 -1.595 2.215 1.110 0.752 0.760 2.548 1.062 0.697 -0.492 0.000 0.851 0.955 0.994 1.105 1.255 1.175 1.095
0 1.261 0.858 1.465 0.757 0.305 2.310 0.679 1.080 2.173 1.544 2.518 -0.464 0.000 2.326 0.270 -0.841 0.000 2.163 0.839 -0.500 3.102 0.715 0.825 1.170 0.980 2.371 1.527 1.221
1 1.445 1.509 1.471 0.414 -1.285 0.767 0.864 -0.677 2.173 0.524 1.388 0.171 0.000 0.826 0.190 0.121 2.548 0.572 1.691 -1.603 0.000 0.870 0.935 0.994 0.968 0.735 0.783 0.777
1 0.919 -0.264 -1.245 0.681 -1.722 1.022 1.010 0.097 2.173 0.685 0.403 -1.351 0.000 1.357 -0.429 1.262 1.274 0.687 1.021 -0.563 0.000 0.953 0.796 0.991 0.873 1.749 1.056 0.917
1 0.293 -2.258 -1.427 1.191 1.202 0.394 -2.030 1.438 0.000 0.723 0.596 -0.024 2.215 0.525 -1.678 -0.290 0.000 0.788 -0.824 -1.029 3.102 0.821 0.626 0.976 1.080 0.810 0.842 0.771
0 3.286 0.386 1.688 1.619 -1.620 1.392 -0.009 0.280 0.000 1.179 -0.776 -0.110 2.215 1.256 0.248 -1.114 2.548 0.777 0.825 -0.156 0.000 1.026 1.065 0.964 0.909 1.249 1.384 1.395
1 1.075 0.603 0.561 0.656 -0.685 0.985 0.175 0.979 2.173 1.154 0.584 -0.886 0.000 1.084 -0.354 -1.004 2.548 0.865 1.224 1.269 0.000 1.346 1.073 1.048 0.873 1.310 1.003 0.865
1 1.098 -0.091 1.466 1.558 0.915 0.649 1.314 -1.182 2.173 0.791 0.073 0.351 0.000 0.517 0.940 1.195 0.000 1.150 1.187 -0.692 3.102 0.866 0.822 0.980 1.311 0.394 1.119 0.890
1 0.481 -1.042 0.148 1.135 -1.249 1.202 -0.344 0.308 1.087 0.779 -1.431 1.581 0.000 0.860 -0.860 -1.125 0.000 0.785 0.303 1.199 3.102 0.878 0.853 0.988 1.072 0.827 0.936 0.815
0 1.348 0.497 0.318 0.806 0.976 1.393 -0.152 0.632 2.173 2.130 0.515 -1.054 0.000 0.908 0.062 -0.780 0.000 1.185 0.687 1.668 1.551 0.720 0.898 0.985 0.683 1.292 1.320 1.131
0 2.677 -0.420 -1.685 1.828 1.433 2.040 -0.718 -0.039 0.000 0.400 -0.873 0.472 0.000 0.444 0.340 -0.830 2.548 0.431 0.768 -1.417 3.102 0.869 0.917 0.996 0.707 0.193 0.728 1.154
1 1.300 0.586 -0.122 1.306 0.609 0.727 -0.556 -1.652 2.173 0.636 0.720 1.393 2.215 0.328 1.280 -0.390 0.000 0.386 0.752 -0.905 0.000 0.202 0.751 1.106 0.864 0.799 0.928 0.717
0 0.637 -0.176 1.737 1.322 -0.414 0.702 -0.964 -0.680 0.000 1.054 -0.461 0.889 2.215 0.861 -0.267 0.225 0.000 1.910 -1.888 1.027 0.000 0.919 0.899 1.186 0.993 1.109 0.862 0.775
1 0.723 -0.104 1.572 0.428 -0.840 0.655 0.544 1.401 2.173 1.522 -0.154 -0.452 2.215 0.996 0.190 0.273 0.000 1.906 -0.176 0.966 0.000 0.945 0.894 0.990 0.981 1.555 0.988 0.893
0 2.016 -0.570 1.612 0.798 0.441 0.334 0.191 -0.909 0.000 0.939 0.146 0.021 2.215 0.553 -0.444 1.156 2.548 0.781 -1.545 -0.520 0.000 0.922 0.956 1.528 0.722 0.699 0.778 0.901
0 1.352 -0.707 1.284 0.665 0.580 0.694 -1.040 -0.899 2.173 0.692 -2.048 0.029 0.000 0.545 -2.042 1.259 0.000 0.661 -0.808 -1.251 3.102 0.845 0.991 0.979 0.662 0.225 0.685 0.769
1 1.057 -1.561 -0.411 0.952 -0.681 1.236 -1.107 1.045 2.173 1.288 -2.521 -0.521 0.000 1.361 -1.239 1.546 0.000 0.373 -1.540 0.028 0.000 0.794 0.782 0.987 0.889 0.832 0.972 0.828
0 1.118 -0.017 -1.227 1.077 1.256 0.714 0.624 -0.811 0.000 0.800 0.704 0.387 1.107 0.604 0.234 0.986 0.000 1.306 -0.456 0.094 3.102 0.828 0.984 1.195 0.987 0.672 0.774 0.748
1 0.602 2.201 0.212 0.119 0.182 0.474 2.130 1.270 0.000 0.370 2.088 -0.573 0.000 0.780 -0.725 -1.033 0.000 1.642 0.598 0.303 3.102 0.886 0.988 0.985 0.644 0.756 0.651 0.599
0 1.677 -0.844 1.581 0.585 0.887 1.012 -2.315 0.752 0.000 1.077 0.748 -0.195 0.000 0.718 0.832 -1.337 1.274 1.181 -0.557 -1.006 3.102 1.018 1.247 0.988 0.908 0.651 1.311 1.120
1 1.695 0.259 1.224 1.344 1.067 0.718 -1.752 -0.215 0.000 0.473 0.991 -0.993 0.000 0.891 1.285 -1.500 2.548 0.908 -0.131 0.288 0.000 0.945 0.824 0.979 1.009 0.951 0.934 0.833
0 0.793 0.628 0.432 1.707 0.302 0.919 1.045 -0.784 0.000 1.472 0.175 -1.284 2.215 1.569 0.155 0.971 2.548 0.435 0.735 1.625 0.000 0.801 0.907 0.992 0.831 1.446 1.082 1.051
1 0.537 -0.664 -0.244 1.104 1.272 1.154 0.394 1.633 0.000 1.527 0.963 0.559 2.215 1.744 0.650 -0.912 0.000 1.097 0.730 -0.368 3.102 1.953 1.319 1.045 1.309 0.869 1.196 1.126
1 0.585 -1.469 1.005 0.749 -1.060 1.224 -0.717 -0.323 2.173 1.012 -0.201 1.268 0.000 0.359 -0.567 0.476 0.000 1.117 -1.124 1.557 3.102 0.636 1.281 0.986 0.616 1.289 0.890 0.881
1 0.354 -1.517 0.667 2.534 -1.298 1.020 -0.375 1.254 0.000 1.119 -0.060 -1.538 2.215 1.059 -0.395 -0.140 0.000 2.609 0.199 -0.778 1.551 0.957 0.975 1.286 1.666 1.003 1.224 1.135
1 0.691 -1.619 -1.380 0.361 1.727 1.493 -1.093 -0.289 0.000 1.447 -0.640 1.341 0.000 1.453 -0.617 -1.456 1.274 1.061 -1.481 -0.091 0.000 0.744 0.649 0.987 0.596 0.727 0.856 0.797
0 1.336 1.293 -1.359 0.357 0.067 1.110 -0.058 -0.515 0.000 0.976 1.498 1.207 0.000 1.133 0.437 1.053 2.548 0.543 1.374 0.171 0.000 0.764 0.761 0.984 0.827 0.553 0.607 0.612
0 0.417 -1.111 1.661 2.209 -0.683 1.931 -0.642 0.959 1.087 1.514 -2.032 -0.686 0.000 1.521 -0.539 1.344 0.000 0.978 -0.866 0.363 1.551 2.813 1.850 1.140 1.854 0.799 1.600 1.556
0 1.058 0.390 -0.591 0.134 1.149 0.346 -1.550 0.186 0.000 1.108 -0.999 0.843 1.107 1.124 0.415 -1.514 0.000 1.067 -0.426 -1.000 3.102 1.744 1.050 0.985 1.006 1.010 0.883 0.789
1 1.655 0.253 1.216 0.270 1.703 0.500 -0.006 -1.418 2.173 0.690 -0.350 0.170 2.215 1.045 -0.924 -0.774 0.000 0.996 -0.745 -0.123 0.000 0.839 0.820 0.993 0.921 0.869 0.725 0.708
0 1.603 -0.850 0.564 0.829 0.093 1.270 -1.113 -1.155 2.173 0.853 -1.021 1.248 2.215 0.617 -1.270 1.733 0.000 0.935 -0.092 0.136 0.000 1.011 1.074 0.977 0.823 1.269 1.054 0.878
0 1.568 -0.792 1.005 0.545 0.896 0.895 -1.698 -0.988 0.000 0.608 -1.634 1.705 0.000 0.826 0.208 0.618 1.274 2.063 -1.743 -0.520 0.000 0.939 0.986 0.990 0.600 0.435 1.033 1.087
0 0.489 -1.335 -1.102 1.738 1.028 0.628 -0.992 -0.627 0.000 0.652 -0.064 -0.215 0.000 1.072 0.173 -1.251 2.548 1.042 0.057 0.841 3.102 0.823 0.895 1.200 1.164 0.770 0.837 0.846
1 1.876 0.870 1.234 0.556 -1.262 1.764 0.855 -0.467 2.173 1.079 1.351 0.852 0.000 0.773 0.383 0.874 0.000 1.292 0.829 -1.228 3.102 0.707 0.969 1.102 1.601 1.017 1.112 1.028
0 1.033 0.407 -0.374 0.705 -1.254 0.690 -0.231 1.502 2.173 0.433 -2.009 -0.057 0.000 0.861 1.151 0.334 0.000 0.960 -0.839 1.299 3.102 2.411 1.480 0.982 0.995 0.377 1.012 0.994
0 1.092 0.653 -0.801 0.463 0.426 0.529 -1.055 0.040 0.000 0.663 0.999 1.255 1.107 0.749 -1.106 1.185 2.548 0.841 -0.745 -1.029 0.000 0.841 0.743 0.988 0.750 1.028 0.831 0.868
1 0.799 -0.285 -0.011 0.531 1.392 1.063 0.854 0.494 2.173 1.187 -1.065 -0.851 0.000 0.429 -0.296 1.072 0.000 0.942 -1.985 1.172 0.000 0.873 0.693 0.992 0.819 0.689 1.131 0.913
0 0.503 1.973 -0.377 1.515 -1.514 0.708 1.081 -0.313 2.173 1.110 -0.417 0.839 0.000 0.712 -1.153 1.165 0.000 0.675 -0.303 -0.930 1.551 0.709 0.761 1.032 0.986 0.698 0.963 1.291
0 0.690 -0.574 -1.608 1.182 1.118 0.557 -2.243 0.144 0.000 0.969 0.216 -1.383 1.107 1.054 0.888 -0.709 2.548 0.566 1.663 -0.550 0.000 0.752 1.528 0.987 1.408 0.740 1.290 1.123
1 0.890 1.501 0.786 0.779 -0.615 1.126 0.716 1.541 2.173 0.887 0.728 -0.673 2.215 1.216 0.332 -0.020 0.000 0.965 1.828 0.101 0.000 0.827 0.715 1.099 1.088 1.339 0.924 0.878
0 0.566 0.883 0.655 1.600 0.034 1.155 2.028 -1.499 0.000 0.723 -0.871 0.763 0.000 1.286 -0.696 -0.676 2.548 1.134 -0.113 1.207 3.102 4.366 2.493 0.984 0.960 0.962 1.843 1.511
0 1.146 1.086 -0.911 0.838 1.298 0.821 0.127 -0.145 0.000 1.352 0.474 -1.580 2.215 1.619 -0.081 0.675 2.548 1.382 -0.748 0.127 0.000 0.958 0.976 1.239 0.876 1.481 1.116 1.076
0 1.739 -0.326 -1.661 0.420 -1.705 1.193 -0.031 -1.212 2.173 1.783 -0.442 0.522 0.000 1.064 -0.692 0.027 0.000 1.314 0.359 -0.037 3.102 0.968 0.897 0.986 0.907 1.196 1.175 1.112
1 0.669 0.194 -0.703 0.657 -0.260 0.899 -2.511 0.311 0.000 1.482 0.773 0.974 2.215 3.459 0.037 -1.299 1.274 2.113 0.067 1.516 0.000 0.740 0.871 0.979 1.361 2.330 1.322 1.046
1 1.355 -1.033 -1.173 0.552 -0.048 0.899 -0.482 -1.287 2.173 1.422 -1.227 0.390 1.107 1.937 -0.028 0.914 0.000 0.849 -0.230 -1.734 0.000 0.986 1.224 1.017 1.051 1.788 1.150 1.009
1 0.511 -0.202 1.029 0.780 1.154 0.816 0.532 -0.731 0.000 0.757 0.517 0.749 2.215 1.302 0.289 -1.188 0.000 0.584 1.211 -0.350 0.000 0.876 0.943 0.995 0.963 0.256 0.808 0.891
1 1.109 0.572 1.484 0.753 1.543 1.711 -0.145 -0.746 1.087 1.759 0.631 0.845 2.215 0.945 0.542 0.003 0.000 0.378 -1.150 -0.044 0.000 0.764 1.042 0.992 1.045 2.736 1.441 1.140
0 0.712 -0.025 0.553 0.928 -0.711 1.304 0.045 -0.300 0.000 0.477 0.720 0.969 0.000 1.727 -0.474 1.328 1.274 1.282 2.222 1.684 0.000 0.819 0.765 1.023 0.961 0.657 0.799 0.744
1 1.131 -0.302 1.079 0.901 0.236 0.904 -0.249 1.694 2.173 1.507 -0.702 -1.128 0.000 0.774 0.565 0.284 2.548 1.802 1.446 -0.192 0.000 3.720 2.108 0.986 0.930 1.101 1.484 1.238
0 1.392 1.253 0.118 0.864 -1.358 0.922 -0.447 -1.243 1.087 1.969 1.031 0.774 2.215 1.333 -0.359 -0.681 0.000 1.099 -0.257 1.473 0.000 1.246 0.909 1.475 1.234 2.531 1.449 1.306
0 1.374 2.291 -0.479 1.339 -0.243 0.687 2.345 1.310 0.000 0.467 1.081 0.772 0.000 0.656 1.155 -1.636 2.548 0.592 0.536 -1.269 3.102 0.981 0.821 1.010 0.877 0.217 0.638 0.758
1 0.401 -1.516 0.909 2.738 0.519 0.887 0.566 -1.202 0.000 0.909 -0.176 1.682 0.000 2.149 -0.878 -0.514 2.548 0.929 -0.563 -1.555 3.102 1.228 0.803 0.980 1.382 0.884 1.025 1.172
1 0.430 -1.589 1.417 2.158 1.226 1.180 -0.829 -0.781 2.173 0.798 1.400 -0.111 0.000 0.939 -0.878 1.076 2.548 0.576 1.335 -0.826 0.000 0.861 0.970 0.982 1.489 1.308 1.015 0.992
1 1.943 -0.391 -0.840 0.621 -1.613 2.026 1.734 1.025 0.000 0.930 0.573 -0.912 0.000 1.326 0.847 -0.220 1.274 1.181 0.079 0.709 3.102 1.164 1.007 0.987 1.094 0.821 0.857 0.786
1 0.499 0.436 0.887 0.859 1.509 0.733 -0.559 1.111 1.087 1.011 -0.796 0.279 2.215 1.472 -0.510 -0.982 0.000 1.952 0.379 -0.733 0.000 1.076 1.358 0.991 0.589 0.879 1.068 0.922
0 0.998 -0.407 -1.711 0.139 0.652 0.810 -0.331 -0.721 0.000 0.471 -0.533 0.442 0.000 0.531 -1.405 0.120 2.548 0.707 0.098 -1.176 1.551 1.145 0.809 0.988 0.529 0.612 0.562 0.609
1 1.482 0.872 0.638 1.288 0.362 0.856 0.900 -0.511 1.087 1.072 1.061 -1.432 2.215 1.770 -2.292 -1.547 0.000 1.131 1.374 0.783 0.000 6.316 4.381 1.002 1.317 1.048 2.903 2.351
1 2.084 -0.422 1.289 1.125 0.735 1.104 -0.518 -0.326 2.173 0.413 -0.719 -0.699 0.000 0.857 0.108 -1.631 0.000 0.527 0.641 -1.362 3.102 0.791 0.952 1.016 0.776 0.856 0.987 0.836
0 0.464 0.674 0.025 0.430 -1.703 0.982 -1.311 -0.808 2.173 1.875 1.060 0.821 2.215 0.954 -0.480 -1.677 0.000 0.567 0.702 -0.939 0.000 0.781 1.076 0.989 1.256 3.632 1.652 1.252
1 0.457 -1.944 -1.010 1.409 0.931 1.098 -0.742 -0.415 0.000 1.537 -0.834 0.945 2.215 1.752 -0.287 -1.269 2.548 0.692 -1.537 -0.223 0.000 0.801 1.192 1.094 1.006 1.659 1.175 1.122
0 3.260 -0.943 1.737 0.920 1.309 0.946 -0.139 -0.271 2.173 0.994 -0.952 -0.311 0.000 0.563 -0.136 -0.881 0.000 1.236 -0.507 0.906 1.551 0.747 0.869 0.985 1.769 1.034 1.179 1.042
0 0.615 -0.778 0.246 1.861 1.619 0.560 -0.943 -0.204 2.173 0.550 -0.759 -1.342 2.215 0.578 0.076 -0.973 0.000 0.939 0.035 0.680 0.000 0.810 0.747 1.401 0.772 0.702 0.719 0.662
1 2.370 -0.064 -0.237 1.737 0.154 2.319 -1.838 -1.673 0.000 1.053 -1.305 -0.075 0.000 0.925 0.149 0.318 1.274 0.851 -0.922 0.981 3.102 0.919 0.940 0.989 0.612 0.598 1.219 1.626
1 1.486 0.311 -1.262 1.354 -0.847 0.886 -0.158 1.213 2.173 1.160 -0.218 0.239 0.000 1.166 0.494 0.278 2.548 0.575 1.454 -1.701 0.000 0.429 1.129 0.983 1.111 1.049 1.006 0.920
1 1.294 1.587 -0.864 0.487 -0.312 0.828 1.051 -0.031 1.087 2.443 1.216 1.609 2.215 1.167 0.813 0.921 0.000 1.751 -0.415 0.119 0.000 1.015 1.091 0.974 1.357 2.093 1.178 1.059
1 0.984 0.465 -1.661 0.379 -0.554 0.977 0.237 0.365 0.000 0.510 0.143 1.101 0.000 1.099 -0.662 -1.593 2.548 1.104 -0.197 -0.648 3.102 0.925 0.922 0.986 0.642 0.667 0.806 0.722
1 0.930 -0.009 0.047 0.667 1.367 1.065 -0.231 0.815 0.000 1.199 -1.114 -0.877 2.215 0.940 0.824 -1.583 0.000 1.052 -0.407 -0.076 1.551 1.843 1.257 1.013 1.047 0.751 1.158 0.941
0 0.767 -0.011 -0.637 0.341 -1.437 1.438 -0.425 -0.450 2.173 1.073 -0.718 1.341 2.215 0.633 -1.394 0.486 0.000 0.603 -1.945 -1.626 0.000 0.703 0.790 0.984 1.111 1.848 1.129 1.072
1 1.779 0.017 0.432 0.402 1.022 0.959 1.480 1.595 2.173 1.252 1.365 0.006 0.000 1.188 -0.174 -1.107 0.000 1.181 0.518 -0.258 0.000 1.057 0.910 0.991 1.616 0.779 1.158 1.053
0 0.881 0.630 1.029 1.990 0.508 1.102 0.742 -1.298 2.173 1.565 1.085 0.686 2.215 2.691 1.391 -0.904 0.000 0.499 1.388 -1.199 0.000 0.347 0.861 0.997 0.881 1.920 1.233 1.310
0 1.754 -0.266 0.389 0.347 -0.030 0.462 -1.408 -0.957 2.173 0.515 -2.341 -1.700 0.000 0.588 -0.797 1.355 2.548 0.608 0.329 -1.389 0.000 1.406 0.909 0.988 0.760 0.593 0.768 0.847
0 1.087 0.311 -1.447 0.173 0.567 0.854 0.362 0.584 0.000 1.416 -0.716 -1.211 2.215 0.648 -0.358 -0.692 1.274 0.867 -0.513 0.206 0.000 0.803 0.813 0.984 1.110 0.491 0.921 0.873
0 0.279 1.114 -1.190 3.004 -0.738 1.233 0.896 1.092 2.173 0.454 -0.374 0.117 2.215 0.357 0.119 1.270 0.000 0.458 1.343 0.316 0.000 0.495 0.540 0.988 1.715 1.139 1.618 1.183
1 1.773 -0.694 -1.518 2.306 -1.200 3.104 0.749 0.362 0.000 1.871 0.230 -1.686 2.215 0.805 -0.179 -0.871 1.274 0.910 0.607 -0.246 0.000 1.338 1.598 0.984 1.050 0.919 1.678 1.807
0 0.553 0.683 0.827 0.973 -0.706 1.488 0.149 1.140 2.173 1.788 0.447 -0.478 0.000 0.596 1.043 1.607 0.000 0.373 -0.868 -1.308 1.551 1.607 1.026 0.998 1.134 0.808 1.142 0.936
1 0.397 1.101 -1.139 1.688 0.146 0.972 0.541 1.518 0.000 1.549 -0.873 -1.012 0.000 2.282 -0.151 0.314 2.548 1.174 0.033 -1.368 0.000 0.937 0.776 1.039 1.143 0.959 0.986 1.013
1 0.840 1.906 -0.959 0.869 0.576 0.642 0.554 -1.351 0.000 0.756 0.923 -0.823 2.215 1.251 1.130 0.545 2.548 1.513 0.410 1.073 0.000 1.231 0.985 1.163 0.812 0.987 0.816 0.822
1 0.477 1.665 0.814 0.763 -0.382 0.828 -0.008 0.280 2.173 1.213 -0.001 1.560 0.000 1.136 0.311 -1.289 0.000 0.797 1.091 -0.616 3.102 1.026 0.964 0.992 0.772 0.869 0.916 0.803
0 2.655 0.020 0.273 1.464 0.482 1.709 -0.107 -1.456 2.173 0.825 0.141 -0.386 0.000 1.342 -0.592 1.635 1.274 0.859 -0.175 -0.874 0.000 0.829 0.946 1.003 2.179 0.836 1.505 1.176
0 0.771 -1.992 -0.720 0.732 -1.464 0.869 -1.290 0.388 2.173 0.926 -1.072 -1.489 2.215 0.640 -1.232 0.840 0.000 0.528 -2.440 -0.446 0.000 0.811 0.868 0.993 0.995 1.317 0.809 0.714
0 1.357 1.302 0.076 0.283 -1.060 0.783 1.559 -0.994 0.000 0.947 1.212 1.617 0.000 1.127 0.311 0.442 2.548 0.582 -0.052 1.186 1.551 1.330 0.995 0.985 0.846 0.404 0.858 0.815
0 0.442 -0.381 -0.424 1.244 0.591 0.731 0.605 -0.713 2.173 0.629 2.762 1.040 0.000 0.476 2.693 -0.617 0.000 0.399 0.442 1.486 3.102 0.839 0.755 0.988 0.869 0.524 0.877 0.918
0 0.884 0.422 0.055 0.818 0.624 0.950 -0.763 1.624 0.000 0.818 -0.609 -1.166 0.000 1.057 -0.528 1.070 2.548 1.691 -0.124 -0.335 3.102 1.104 0.933 0.985 0.913 1.000 0.863 1.056
0 1.276 0.156 1.714 1.053 -1.189 0.672 -0.464 -0.030 2.173 0.469 -2.483 0.442 0.000 0.564 2.580 -0.253 0.000 0.444 -0.628 1.080 1.551 5.832 2.983 0.985 1.162 0.494 1.809 1.513
0 1.106 -0.556 0.406 0.573 -1.400 0.769 -0.518 1.457 2.173 0.743 -0.352 -0.010 0.000 1.469 -0.550 -0.930 2.548 0.540 1.236 -0.571 0.000 0.962 0.970 1.101 0.805 1.107 0.873 0.773
0 0.539 -0.964 -0.464 1.371 -1.606 0.667 -0.160 0.655 0.000 0.952 0.352 -0.740 2.215 0.952 0.007 1.123 0.000 1.061 -0.505 1.389 3.102 1.063 0.991 1.019 0.633 0.967 0.732 0.799
1 0.533 -0.989 -1.608 0.462 -1.723 1.204 -0.598 -0.098 2.173 1.343 -0.460 1.632 2.215 0.577 0.221 -0.492 0.000 0.628 -0.073 0.472 0.000 0.518 0.880 0.988 1.179 1.874 1.041 0.813
1 1.024 1.075 -0.795 0.286 -1.436 1.365 0.857 -0.309 2.173 0.804 1.532 1.435 0.000 1.511 0.722 1.494 0.000 1.778 0.903 0.753 1.551 0.686 0.810 0.999 0.900 1.360 1.133 0.978
1 2.085 -0.269 -1.423 0.789 1.298 0.281 1.652 0.187 0.000 0.658 -0.760 -0.042 2.215 0.663 0.024 0.120 0.000 0.552 -0.299 -0.428 3.102 0.713 0.811 1.130 0.705 0.218 0.675 0.743
1 0.980 -0.443 0.813 0.785 -1.253 0.719 0.448 -1.458 0.000 1.087 0.595 0.635 1.107 1.428 0.029 -0.995 0.000 1.083 1.562 -0.092 0.000 0.834 0.891 1.165 0.967 0.661 0.880 0.817
1 0.903 -0.733 -0.980 0.634 -0.639 0.780 0.266 -0.287 2.173 1.264 -0.936 1.004 0.000 1.002 -0.056 -1.344 2.548 1.183 -0.098 1.169 0.000 0.733 1.002 0.985 0.711 0.916 0.966 0.875
0 0.734 -0.304 -1.175 2.851 1.674 0.904 -0.634 0.412 2.173 1.363 -1.050 -0.282 0.000 1.476 -1.603 0.103 0.000 2.231 -0.718 1.708 3.102 0.813 0.896 1.088 0.686 1.392 1.033 1.078
1 1.680 0.591 -0.243 0.111 -0.478 0.326 -0.079 -1.555 2.173 0.711 0.714 0.922 2.215 0.355 0.858 1.682 0.000 0.727 1.620 1.360 0.000 0.334 0.526 1.001 0.862 0.633 0.660 0.619
1 1.163 0.225 -0.202 0.501 -0.979 1.609 -0.938 1.424 0.000 1.224 -0.118 -1.274 0.000 2.034 1.241 -0.254 0.000 1.765 0.536 0.237 3.102 0.894 0.838 0.988 0.693 0.579 0.762 0.726
0 1.223 1.232 1.471 0.489 1.728 0.703 -0.111 0.411 0.000 1.367 1.014 -1.294 1.107 1.524 -0.414 -0.164 2.548 1.292 0.833 0.316 0.000 0.861 0.752 0.994 0.836 1.814 1.089 0.950
0 0.816 1.637 -1.557 1.036 -0.342 0.913 1.333 0.949 2.173 0.812 0.756 -0.628 2.215 1.333 0.470 1.495 0.000 1.204 -2.222 -1.675 0.000 1.013 0.924 1.133 0.758 1.304 0.855 0.860
0 0.851 -0.564 -0.691 0.692 1.345 1.219 1.014 0.318 0.000 1.422 -0.262 -1.635 2.215 0.531 1.802 0.008 0.000 0.508 0.515 -1.267 3.102 0.821 0.787 1.026 0.783 0.432 1.149 1.034
0 0.800 -0.599 0.204 0.552 -0.484 0.974 0.413 0.961 2.173 1.269 -0.984 -1.039 2.215 0.380 -1.213 1.371 0.000 0.551 0.332 -0.659 0.000 0.694 0.852 0.984 1.057 2.037 1.096 0.846
0 0.744 -0.071 -0.255 0.638 0.512 1.125 0.407 0.844 2.173 0.860 -0.481 -0.677 0.000 1.102 0.181 -1.194 0.000 1.011 -1.081 -1.713 3.102 0.854 0.862 0.982 1.111 1.372 1.042 0.920
1 0.400 1.049 -0.625 0.880 -0.407 1.040 2.150 -1.359 0.000 0.747 -0.144 0.847 2.215 0.560 -1.829 0.698 0.000 1.663 -0.668 0.267 0.000 0.845 0.964 0.996 0.820 0.789 0.668 0.668
0 1.659 -0.705 -1.057 1.803 -1.436 1.008 0.693 0.005 0.000 0.895 -0.007 0.681 1.107 1.085 0.125 1.476 2.548 1.214 1.068 0.486 0.000 0.867 0.919 0.986 1.069 0.692 1.026 1.313
0 0.829 -0.153 0.861 0.615 -0.548 0.589 1.077 -0.041 2.173 1.056 0.763 -1.737 0.000 0.639 0.970 0.725 0.000 0.955 1.227 -0.799 3.102 1.020 1.024 0.985 0.750 0.525 0.685 0.671
1 0.920 -0.806 -0.840 1.048 0.278 0.973 -0.077 -1.364 2.173 1.029 0.309 0.133 0.000 1.444 1.484 1.618 1.274 1.419 -0.482 0.417 0.000 0.831 1.430 1.151 1.829 1.560 1.343 1.224
1 0.686 0.249 -0.905 0.343 -1.731 0.724 -2.823 -0.901 0.000 0.982 0.303 1.312 1.107 1.016 0.245 0.610 0.000 1.303 -0.557 -0.360 3.102 1.384 1.030 0.984 0.862 1.144 0.866 0.779
0 1.603 0.444 0.508 0.586 0.401 0.610 0.467 -1.735 2.173 0.914 0.626 -1.019 0.000 0.812 0.422 -0.408 2.548 0.902 1.679 1.490 0.000 1.265 0.929 0.990 1.004 0.816 0.753 0.851
1 0.623 0.780 -0.203 0.056 0.015 0.899 0.793 1.326 1.087 0.803 1.478 -1.499 2.215 1.561 1.492 -0.120 0.000 0.904 0.795 0.137 0.000 0.548 1.009 0.850 0.924 0.838 0.914 0.860
0 1.654 -2.032 -1.160 0.859 -1.583 0.689 -1.965 0.891 0.000 0.646 -1.014 -0.288 2.215 0.630 -0.815 0.402 0.000 0.638 0.316 0.655 3.102 0.845 0.879 0.993 1.067 0.625 1.041 0.958
1 0.828 -1.269 -1.203 0.744 -0.213 0.626 -1.017 -0.404 0.000 1.281 -0.931 1.733 2.215 0.699 -0.351 1.287 0.000 1.251 -1.171 0.197 0.000 0.976 1.186 0.987 0.646 0.655 0.733 0.671
1 0.677 0.111 1.090 1.580 1.591 1.560 0.654 -0.341 2.173 0.794 -0.266 0.702 0.000 0.823 0.651 -1.239 2.548 0.730 1.467 -1.530 0.000 1.492 1.023 0.983 1.909 1.022 1.265 1.127
1 0.736 0.882 -1.060 0.589 0.168 1.663 0.781 1.022 2.173 2.025 1.648 -1.292 0.000 1.240 0.924 -0.421 1.274 1.354 0.065 0.501 0.000 0.316 0.925 0.988 0.664 1.736 0.992 0.807
1 1.040 -0.822 1.638 0.974 -0.674 0.393 0.830 0.011 2.173 0.770 -0.140 -0.402 0.000 0.294 -0.133 0.030 0.000 1.220 0.807 0.638 0.000 0.826 1.063 1.216 1.026 0.705 0.934 0.823
1 0.711 0.602 0.048 1.145 0.966 0.934 0.263 -1.589 2.173 0.971 -0.496 -0.421 1.107 0.628 -0.865 0.845 0.000 0.661 -0.008 -0.565 0.000 0.893 0.705 0.988 0.998 1.339 0.908 0.872
1 0.953 -1.651 -0.167 0.885 1.053 1.013 -1.239 0.133 0.000 1.884 -1.122 1.222 2.215 1.906 -0.860 -1.184 1.274 1.413 -0.668 -1.647 0.000 1.873 1.510 1.133 1.050 1.678 1.246 1.061
1 0.986 -0.892 -1.380 0.917 1.134 0.950 -1.162 -0.469 0.000 0.569 -1.393 0.215 0.000 0.320 2.667 1.712 0.000 1.570 -0.375 1.457 3.102 0.925 1.128 1.011 0.598 0.824 0.913 0.833
1 1.067 0.099 1.154 0.527 -0.789 1.085 0.623 -1.602 2.173 1.511 -0.230 0.022 2.215 0.269 -0.377 0.883 0.000 0.571 -0.540 -0.512 0.000 0.414 0.803 1.022 0.959 2.053 1.041 0.780
0 0.825 -2.118 0.217 1.453 -0.493 0.819 0.313 -0.942 0.000 2.098 -0.725 1.096 2.215 0.484 1.336 1.458 0.000 0.482 0.100 1.163 0.000 0.913 0.536 0.990 1.679 0.957 1.095 1.143
1 1.507 0.054 1.120 0.698 -1.340 0.912 0.384 0.015 1.087 0.720 0.247 -0.820 0.000 0.286 0.154 1.578 2.548 0.629 1.582 -0.576 0.000 0.828 0.893 1.136 0.514 0.632 0.699 0.709
1 0.610 1.180 -0.993 0.816 0.301 0.932 0.758 1.539 0.000 0.726 -0.830 0.248 2.215 0.883 0.857 -1.305 0.000 1.338 1.009 -0.252 3.102 0.901 1.074 0.987 0.875 1.159 1.035 0.858
1 1.247 -1.360 1.502 1.525 -1.332 0.618 1.063 0.755 0.000 0.582 -0.155 0.473 2.215 1.214 -0.422 -0.551 2.548 0.838 -1.171 -1.166 0.000 2.051 1.215 1.062 1.091 0.725 0.896 1.091
0 0.373 -0.600 1.291 2.573 0.207 0.765 -0.209 1.667 0.000 0.668 0.724 -1.499 0.000 1.045 -0.338 -0.754 2.548 0.558 -0.469 0.029 3.102 0.868 0.939 1.124 0.519 0.383 0.636 0.838
0 0.791 0.336 -0.307 0.494 1.213 1.158 0.336 1.081 2.173 0.918 1.289 -0.449 0.000 0.735 -0.521 -0.969 0.000 1.052 0.499 -1.188 3.102 0.699 1.013 0.987 0.622 1.050 0.712 0.661
0 1.321 0.856 0.464 0.202 0.901 1.144 0.120 -1.651 0.000 0.803 0.577 -0.509 2.215 0.695 -0.114 0.423 2.548 0.621 1.852 -0.420 0.000 0.697 0.964 0.983 0.527 0.659 0.719 0.729
0 0.563 2.081 0.913 0.982 -0.533 0.549 -0.481 -1.730 0.000 0.962 0.921 0.569 2.215 0.731 1.184 -0.679 1.274 0.918 0.931 -1.432 0.000 1.008 0.919 0.993 0.895 0.819 0.810 0.878
1 1.148 0.345 0.953 0.921 0.617 0.991 1.103 -0.484 0.000 0.970 1.978 1.525 0.000 1.150 0.689 -0.757 2.548 0.517 0.995 1.245 0.000 1.093 1.140 0.998 1.006 0.756 0.864 0.838
1 1.400 0.128 -1.695 1.169 1.070 1.094 -0.345 -0.249 0.000 1.224 0.364 -0.036 2.215 1.178 0.530 -1.544 0.000 1.334 0.933 1.604 0.000 0.560 1.267 1.073 0.716 0.780 0.832 0.792
0 0.330 -2.133 1.403 0.628 0.379 1.686 -0.995 0.030 1.087 2.071 0.127 -0.457 0.000 4.662 -0.855 1.477 0.000 2.072 -0.917 -1.416 3.102 5.403 3.074 0.977 0.936 1.910 2.325 1.702
0 0.989 0.473 0.968 1.970 1.368 0.844 0.574 -0.290 2.173 0.866 -0.345 -1.019 0.000 1.130 0.605 -0.752 0.000 0.956 -0.888 0.870 3.102 0.885 0.886 0.982 1.157 1.201 1.100 1.068
1 0.773 0.418 0.753 1.388 1.070 1.104 -0.378 -0.758 0.000 1.027 0.397 -0.496 2.215 1.234 0.027 1.084 2.548 0.936 0.209 1.677 0.000 1.355 1.020 0.983 0.550 1.206 0.916 0.931
0 0.319 2.015 1.534 0.570 -1.134 0.632 0.124 0.757 0.000 0.477 0.598 -1.109 1.107 0.449 0.438 -0.755 2.548 0.574 -0.659 0.691 0.000 0.440 0.749 0.985 0.517 0.158 0.505 0.522
0 1.215 1.453 -1.386 1.276 1.298 0.643 0.570 -0.196 2.173 0.588 2.104 0.498 0.000 0.617 -0.296 -0.801 2.548 0.452 0.110 0.313 0.000 0.815 0.953 1.141 1.166 0.547 0.892 0.807
1 1.257 -1.869 -0.060 0.265 0.653 1.527 -0.346 1.163 2.173 0.758 -2.119 -0.604 0.000 1.473 -1.133 -1.290 2.548 0.477 -0.428 -0.066 0.000 0.818 0.841 0.984 1.446 1.729 1.211 1.054
1 1.449 0.464 1.585 1.418 -1.488 1.540 0.942 0.087 0.000 0.898 0.402 -0.631 2.215 0.753 0.039 -1.729 0.000 0.859 0.849 -1.054 0.000 0.791 0.677 0.995 0.687 0.527 0.703 0.606
1 1.084 -1.997 0.900 1.333 1.024 0.872 -0.864 -1.500 2.173 1.072 -0.813 -0.421 2.215 0.924 0.478 0.304 0.000 0.992 -0.398 -1.022 0.000 0.741 1.085 0.980 1.221 1.176 1.032 0.961
0 1.712 1.129 0.125 1.120 -1.402 1.749 0.951 -1.575 2.173 1.711 0.445 0.578 0.000 1.114 0.234 -1.011 0.000 1.577 -0.088 0.086 3.102 2.108 1.312 1.882 1.597 2.009 1.441 1.308
0 0.530 0.248 1.622 1.450 -1.012 1.221 -1.154 -0.763 2.173 1.698 -0.586 0.733 0.000 0.889 1.042 1.038 1.274 0.657 0.008 0.701 0.000 0.430 1.005 0.983 0.930 2.264 1.357 1.146
1 0.921 1.735 0.883 0.699 -1.614 0.821 1.463 0.319 1.087 1.099 0.814 -1.600 2.215 1.375 0.702 -0.691 0.000 0.869 1.326 -0.790 0.000 0.980 0.900 0.988 0.832 1.452 0.816 0.709
0 2.485 -0.823 -0.297 0.886 -1.404 0.989 0.835 1.615 2.173 0.382 0.588 -0.224 0.000 1.029 -0.456 1.546 2.548 0.613 -0.359 -0.789 0.000 0.768 0.977 1.726 2.007 0.913 1.338 1.180
1 0.657 -0.069 -0.078 1.107 1.549 0.804 1.335 -1.630 2.173 1.271 0.481 0.153 1.107 1.028 0.144 -0.762 0.000 1.098 0.132 1.570 0.000 0.830 0.979 1.175 1.069 1.624 1.000 0.868
1 2.032 0.329 -1.003 0.493 -0.136 1.159 -0.224 0.750 1.087 0.396 0.546 0.587 0.000 0.620 1.805 0.982 0.000 1.236 0.744 -1.621 0.000 0.930 1.200 0.988 0.482 0.771 0.887 0.779
0 0.524 -1.319 0.634 0.471 1.221 0.599 -0.588 -0.461 0.000 1.230 -1.504 -1.517 1.107 1.436 -0.035 0.104 2.548 0.629 1.997 -1.282 0.000 2.084 1.450 0.984 1.084 1.827 1.547 1.213
1 0.871 0.618 -1.544 0.718 0.186 1.041 -1.180 0.434 2.173 1.133 1.558 -1.301 0.000 0.452 -0.595 0.522 0.000 0.665 0.567 0.130 3.102 1.872 1.114 1.095 1.398 0.979 1.472 1.168
1 3.308 1.037 -0.634 0.690 -0.619 1.975 0.949 1.280 0.000 0.826 0.546 -0.139 2.215 0.635 -0.045 0.427 0.000 1.224 0.112 1.339 3.102 1.756 1.050 0.992 0.738 0.903 0.968 1.238
0 0.588 2.104 -0.872 1.136 1.743 0.842 0.638 0.015 0.000 0.481 0.928 1.000 2.215 0.595 0.125 1.429 0.000 0.951 -1.140 -0.511 3.102 1.031 1.057 0.979 0.673 1.064 1.001 0.891
0 0.289 0.823 0.013 0.615 -1.601 0.177 2.403 -0.015 0.000 0.258 1.151 1.036 2.215 0.694 0.553 -1.326 2.548 0.411 0.366 0.106 0.000 0.482 0.562 0.989 0.670 0.404 0.516 0.561
1 0.294 -0.660 -1.162 1.752 0.384 0.860 0.513 1.119 0.000 2.416 0.107 -1.342 0.000 1.398 0.361 -0.350 2.548 1.126 -0.902 0.040 1.551 0.650 1.125 0.988 0.531 0.843 0.912 0.911
0 0.599 -0.616 1.526 1.381 0.507 0.955 -0.646 -0.085 2.173 0.775 -0.533 1.116 2.215 0.789 -0.136 -1.176 0.000 2.449 1.435 -1.433 0.000 1.692 1.699 1.000 0.869 1.119 1.508 1.303
1 1.100 -1.174 -1.114 1.601 -1.576 1.056 -1.343 0.547 2.173 0.555 0.367 0.592 2.215 0.580 -1.862 -0.914 0.000 0.904 0.508 -0.444 0.000 1.439 1.105 0.986 1.408 1.104 1.190 1.094
1 2.237 -0.701 1.470 0.719 -0.199 0.745 -0.132 -0.737 1.087 0.976 -0.227 0.093 2.215 0.699 0.057 1.133 0.000 0.661 0.573 -0.679 0.000 0.785 0.772 1.752 1.235 0.856 0.990 0.825
1 0.455 -0.880 -1.482 1.260 -0.178 1.499 0.158 1.022 0.000 1.867 -0.435 -0.675 2.215 1.234 0.783 1.586 0.000 0.641 -0.454 -0.409 3.102 1.002 0.964 0.986 0.761 0.240 1.190 0.995
1 1.158 -0.778 -0.159 0.823 1.641 1.341 -0.830 -1.169 2.173 0.840 -1.554 0.934 0.000 0.693 0.488 -1.218 2.548 1.042 1.395 0.276 0.000 0.946 0.785 1.350 1.079 0.893 1.267 1.151
1 0.902 -0.078 -0.055 0.872 -0.012 0.843 1.276 1.739 2.173 0.838 1.492 0.918 0.000 0.626 0.904 -0.648 2.548 0.412 -2.027 -0.883 0.000 2.838 1.664 0.988 1.803 0.768 1.244 1.280
1 0.649 -1.028 -1.521 1.097 0.774 1.216 -0.383 -0.318 2.173 1.643 -0.285 -1.705 0.000 0.911 -0.091 0.341 0.000 0.592 0.537 0.732 3.102 0.911 0.856 1.027 1.160 0.874 0.986 0.893
1 1.192 1.846 -0.781 1.326 -0.747 1.550 1.177 1.366 0.000 1.196 0.151 0.387 2.215 0.527 2.261 -0.190 0.000 0.390 1.474 0.381 0.000 0.986 1.025 1.004 1.392 0.761 0.965 1.043
0 0.438 -0.358 -1.549 0.836 0.436 0.818 0.276 -0.708 2.173 0.707 0.826 0.392 0.000 1.050 1.741 -1.066 0.000 1.276 -1.583 0.842 0.000 1.475 1.273 0.986 0.853 1.593 1.255 1.226
1 1.083 0.142 1.701 0.605 -0.253 1.237 0.791 1.183 2.173 0.842 2.850 -0.082 0.000 0.724 -0.464 -0.694 0.000 1.499 0.456 -0.226 3.102 0.601 0.799 1.102 0.995 1.389 1.013 0.851
0 0.828 1.897 -0.615 0.572 -0.545 0.572 0.461 0.464 2.173 0.393 0.356 1.069 2.215 1.840 0.088 1.500 0.000 0.407 -0.663 -0.787 0.000 0.950 0.965 0.979 0.733 0.363 0.618 0.733
0 0.735 1.438 1.197 1.123 -0.214 0.641 0.949 0.858 0.000 1.162 0.524 -0.896 2.215 0.992 0.454 -1.475 2.548 0.902 1.079 0.019 0.000 0.822 0.917 1.203 1.032 0.569 0.780 0.764
0 0.437 -2.102 0.044 1.779 -1.042 1.231 -0.181 -0.515 1.087 2.666 0.863 1.466 2.215 1.370 0.345 -1.371 0.000 0.906 0.363 1.611 0.000 1.140 1.362 1.013 3.931 3.004 2.724 2.028
1 0.881 1.814 -0.987 0.384 0.800 2.384 1.422 0.640 0.000 1.528 0.292 -0.962 1.107 2.126 -0.371 -1.401 2.548 0.700 0.109 0.203 0.000 0.450 0.813 0.985 0.956 1.013 0.993 0.774
1 0.630 0.408 0.152 0.194 0.316 0.710 -0.824 -0.358 2.173 0.741 0.535 -0.851 2.215 0.933 0.406 1.148 0.000 0.523 -0.479 -0.625 0.000 0.873 0.960 0.988 0.830 0.921 0.711 0.661
1 0.870 -0.448 -1.134 0.616 0.135 0.600 0.649 -0.622 2.173 0.768 0.709 -0.123 0.000 1.308 0.500 1.468 0.000 1.973 -0.286 1.462 3.102 0.909 0.944 0.990 0.835 1.250 0.798 0.776
0 1.290 0.552 1.330 0.615 -1.353 0.661 0.240 -0.393 0.000 0.531 0.053 -1.588 0.000 0.675 0.839 -0.345 1.274 1.597 0.020 0.536 3.102 1.114 0.964 0.987 0.783 0.675 0.662 0.675
1 0.943 0.936 1.068 1.373 0.671 2.170 -2.011 -1.032 0.000 0.640 0.361 -0.806 0.000 2.239 -0.083 0.590 2.548 1.224 0.646 -1.723 0.000 0.879 0.834 0.981 1.436 0.568 0.916 0.931
1 0.431 1.686 -1.053 0.388 1.739 0.457 -0.471 -0.743 2.173 0.786 1.432 -0.547 2.215 0.537 -0.413 1.256 0.000 0.413 2.311 -0.408 0.000 1.355 1.017 0.982 0.689 1.014 0.821 0.715
0 1.620 -0.055 -0.862 1.341 -1.571 0.634 -0.906 0.935 2.173 0.501 -2.198 -0.525 0.000 0.778 -0.708 -0.060 0.000 0.988 -0.621 0.489 3.102 0.870 0.956 1.216 0.992 0.336 0.871 0.889
1 0.549 0.304 -1.443 1.309 -0.312 1.116 0.644 1.519 2.173 1.078 -0.303 -0.736 0.000 1.261 0.387 0.628 2.548 0.945 -0.190 0.090 0.000 0.893 1.043 1.000 1.124 1.077 1.026 0.886
0 0.412 -0.618 -1.486 1.133 -0.665 0.646 0.436 1.520 0.000 0.993 0.976 0.106 2.215 0.832 0.091 0.164 2.548 0.672 -0.650 1.256 0.000 0.695 1.131 0.991 1.017 0.455 1.226 1.087
0 1.183 -0.084 1.644 1.389 0.967 0.843 0.938 -0.670 0.000 0.480 0.256 0.123 2.215 0.437 1.644 0.491 0.000 0.501 -0.416 0.101 3.102 1.060 0.804 1.017 0.775 0.173 0.535 0.760
0 1.629 -1.486 -0.683 2.786 -0.492 1.347 -2.638 1.453 0.000 1.857 0.208 0.873 0.000 0.519 -1.265 -1.602 1.274 0.903 -1.102 -0.329 1.551 6.892 3.522 0.998 0.570 0.477 2.039 2.006
1 2.045 -0.671 -1.235 0.490 -0.952 0.525 -1.252 1.289 0.000 1.088 -0.993 0.648 2.215 0.975 -0.109 -0.254 2.548 0.556 -1.095 -0.194 0.000 0.803 0.861 0.980 1.282 0.945 0.925 0.811
0 0.448 -0.058 -0.974 0.945 -1.633 1.181 -1.139 0.266 2.173 1.118 -0.761 1.502 1.107 1.706 0.585 -0.680 0.000 0.487 -1.951 0.945 0.000 2.347 1.754 0.993 1.161 1.549 1.414 1.176
0 0.551 0.519 0.448 2.183 1.293 1.220 0.628 -0.627 2.173 1.019 -0.002 -0.652 0.000 1.843 -0.386 1.042 2.548 0.400 -1.102 -1.014 0.000 0.648 0.792 1.049 0.888 2.132 1.262 1.096
0 1.624 0.488 1.403 0.760 0.559 0.812 0.777 -1.244 2.173 0.613 0.589 -0.030 2.215 0.692 1.058 0.683 0.000 1.054 1.165 -0.765 0.000 0.915 0.875 1.059 0.821 0.927 0.792 0.721
1 0.774 0.444 1.257 0.515 -0.689 0.515 1.448 -1.271 0.000 0.793 0.118 0.811 1.107 0.679 0.326 -0.426 0.000 1.066 -0.865 -0.049 3.102 0.960 1.046 0.986 0.716 0.772 0.855 0.732
1 2.093 -1.240 1.615 0.918 -1.202 1.412 -0.541 0.640 1.087 2.019 0.872 -0.639 0.000 0.672 -0.936 0.972 0.000 0.896 0.235 0.212 0.000 0.810 0.700 1.090 0.797 0.862 1.049 0.874
1 0.908 1.069 0.283 0.400 1.293 0.609 1.452 -1.136 0.000 0.623 0.417 -0.098 2.215 1.023 0.775 1.054 1.274 0.706 2.346 -1.305 0.000 0.744 1.006 0.991 0.606 0.753 0.796 0.753
0 0.403 -1.328 -0.065 0.901 1.052 0.708 -0.354 -0.718 2.173 0.892 0.633 1.684 2.215 0.999 -1.205 0.941 0.000 0.930 1.072 -0.809 0.000 2.105 1.430 0.989 0.838 1.147 1.042 0.883
0 1.447 0.453 0.118 1.731 0.650 0.771 0.446 -1.564 0.000 0.973 -2.014 0.354 0.000 1.949 -0.643 -1.531 1.274 1.106 -0.334 -1.163 0.000 0.795 0.821 1.013 1.699 0.918 1.118 1.018
1 1.794 0.123 -0.454 0.057 1.489 0.966 -1.190 1.090 1.087 0.539 -0.535 1.035 0.000 1.096 -1.069 -1.236 2.548 0.659 -1.196 -0.283 0.000 0.803 0.756 0.985 1.343 1.109 0.993 0.806
0 1.484 -2.047 0.813 0.591 -0.295 0.923 0.312 -1.164 2.173 0.654 -0.316 0.752 2.215 0.599 1.966 -1.128 0.000 0.626 -0.304 -1.431 0.000 1.112 0.910 1.090 0.986 1.189 1.350 1.472
0 0.417 -2.016 0.849 1.817 0.040 1.201 -1.676 -1.394 0.000 0.792 0.537 0.641 2.215 0.794 -1.222 0.187 0.000 0.825 -0.217 1.334 3.102 1.470 0.931 0.987 1.203 0.525 0.833 0.827
1 0.603 1.009 0.033 0.486 1.225 0.884 -0.617 -1.058 0.000 0.500 -1.407 -0.567 0.000 1.476 -0.876 0.605 2.548 0.970 0.560 1.092 3.102 0.853 1.153 0.988 0.846 0.920 0.944 0.835
1 1.381 -0.326 0.552 0.417 -0.027 1.030 -0.835 -1.287 2.173 0.941 -0.421 1.519 2.215 0.615 -1.650 0.377 0.000 0.606 0.644 0.650 0.000 1.146 0.970 0.990 1.191 0.884 0.897 0.826
1 0.632 1.200 -0.703 0.438 -1.700 0.779 -0.731 0.958 1.087 0.605 0.393 -1.376 0.000 0.670 -0.827 -1.315 2.548 0.626 -0.501 0.417 0.000 0.904 0.903 0.998 0.673 0.803 0.722 0.640
1 1.561 -0.569 1.580 0.329 0.237 1.059 0.731 0.415 2.173 0.454 0.016 -0.828 0.000 0.587 0.008 -0.291 1.274 0.597 1.119 1.191 0.000 0.815 0.908 0.988 0.733 0.690 0.892 0.764
1 2.102 0.087 0.449 1.164 -0.390 1.085 -0.408 -1.116 2.173 0.578 0.197 -0.137 0.000 1.202 0.917 1.523 0.000 0.959 -0.832 1.404 3.102 1.380 1.109 1.486 1.496 0.886 1.066 1.025
1 1.698 -0.489 -0.552 0.976 -1.009 1.620 -0.721 0.648 1.087 1.481 -1.860 -1.354 0.000 1.142 -1.140 1.401 2.548 1.000 -1.274 -0.158 0.000 1.430 1.130 0.987 1.629 1.154 1.303 1.223
1 1.111 -0.249 -1.457 0.421 0.939 0.646 -2.076 0.362 0.000 1.315 0.796 -1.436 2.215 0.780 0.130 0.055 0.000 1.662 -0.834 0.461 0.000 0.920 0.948 0.990 1.046 0.905 1.493 1.169
1 0.945 0.390 -1.159 1.675 0.437 0.356 0.261 0.543 1.087 0.574 0.838 1.599 2.215 0.496 -1.220 -0.022 0.000 0.558 -2.454 1.440 0.000 0.763 0.983 1.728 1.000 0.578 0.922 1.003
1 2.076 0.014 -1.314 0.854 -0.306 3.446 1.341 0.598 0.000 2.086 0.227 -0.747 2.215 1.564 -0.216 1.649 2.548 0.965 -0.857 -1.062 0.000 0.477 0.734 1.456 1.003 1.660 1.001 0.908
1 1.992 0.192 -0.103 0.108 -1.599 0.938 0.595 -1.360 2.173 0.869 -1.012 1.432 0.000 1.302 0.850 0.436 2.548 0.487 1.051 -1.027 0.000 0.502 0.829 0.983 1.110 1.394 0.904 0.836
0 0.460 1.625 1.485 1.331 1.242 0.675 -0.329 -1.039 1.087 0.671 -1.028 -0.514 0.000 1.265 -0.788 0.415 1.274 0.570 -0.683 -1.738 0.000 0.725 0.758 1.004 1.024 1.156 0.944 0.833
0 0.871 0.839 -1.536 0.428 1.198 0.875 -1.256 -0.466 1.087 0.684 -0.768 0.150 0.000 0.556 -1.793 0.389 0.000 0.942 -1.126 1.339 1.551 0.624 0.734 0.986 1.357 0.960 1.474 1.294
1 0.951 1.651 0.576 1.273 1.495 0.834 0.048 -0.578 2.173 0.386 -0.056 -1.448 0.000 0.597 -0.196 0.162 2.548 0.524 1.649 1.625 0.000 0.737 0.901 1.124 1.014 0.556 1.039 0.845
1 1.049 -0.223 0.685 0.256 -1.191 2.506 0.238 -0.359 0.000 1.510 -0.904 1.158 1.107 2.733 -0.902 1.679 2.548 0.407 -0.474 -1.572 0.000 1.513 2.472 0.982 1.238 0.978 1.985 1.510
0 0.455 -0.028 0.265 1.286 1.373 0.459 0.331 -0.922 0.000 0.343 0.634 0.430 0.000 0.279 -0.084 -0.272 0.000 0.475 0.926 -0.123 3.102 0.803 0.495 0.987 0.587 0.211 0.417 0.445
1 2.074 0.388 0.878 1.110 1.557 1.077 -0.226 -0.295 2.173 0.865 -0.319 -1.116 2.215 0.707 -0.835 0.722 0.000 0.632 -0.608 -0.728 0.000 0.715 0.802 1.207 1.190 0.960 1.143 0.926
1 1.390 0.265 1.196 0.919 -1.371 1.858 0.506 0.786 0.000 1.280 -1.367 -0.720 2.215 1.483 -0.441 -0.675 2.548 1.076 0.294 -0.539 0.000 1.126 0.830 1.155 1.551 0.702 1.103 0.933
1 1.014 -0.079 1.597 1.038 -0.281 1.135 -0.722 -0.177 2.173 0.544 -1.475 -1.501 0.000 1.257 -1.315 1.212 0.000 0.496 -0.060 1.180 1.551 0.815 0.611 1.411 1.110 0.792 0.846 0.853
0 0.335 1.267 -1.154 2.011 -0.574 0.753 0.618 1.411 0.000 0.474 0.748 0.681 2.215 0.608 -0.446 -0.354 2.548 0.399 1.295 -0.581 0.000 0.911 0.882 0.975 0.832 0.598 0.580 0.678
1 0.729 -0.189 1.182 0.293 1.310 0.412 0.459 -0.632 0.000 0.869 -1.128 -0.625 2.215 1.173 -0.893 0.478 2.548 0.584 -2.394 -1.727 0.000 2.016 1.272 0.995 1.034 0.905 0.966 1.038
1 1.225 -1.215 -0.088 0.881 -0.237 0.600 -0.976 1.462 2.173 0.876 0.506 1.583 2.215 0.718 1.228 -0.031 0.000 0.653 -1.292 1.216 0.000 0.838 1.108 0.981 1.805 0.890 1.251 1.197
1 2.685 -0.444 0.847 0.253 0.183 0.641 -1.541 -0.873 2.173 0.417 2.874 -0.551 0.000 0.706 -1.431 0.764 0.000 1.390 -0.596 -1.397 0.000 0.894 0.829 0.993 0.789 0.654 0.883 0.746
0 0.638 -0.481 0.683 1.457 -1.024 0.707 -1.338 1.498 0.000 0.980 0.518 0.289 2.215 0.964 -0.531 -0.423 0.000 0.694 -0.654 -1.314 3.102 0.807 1.283 1.335 0.658 0.907 0.797 0.772
1 1.789 -0.765 -0.732 0.421 -0.020 1.142 -1.353 1.439 2.173 0.725 -1.518 -1.261 0.000 0.812 -2.597 -0.463 0.000 1.203 -0.120 1.001 0.000 0.978 0.673 0.985 1.303 1.400 1.078 0.983
1 0.784 -1.431 1.724 0.848 0.559 0.615 -1.643 -1.456 0.000 1.339 -0.513 0.040 2.215 0.394 -2.483 1.304 0.000 0.987 0.889 -0.339 0.000 0.732 0.713 0.987 0.973 0.705 0.875 0.759
1 0.911 1.098 -1.289 0.421 0.823 1.218 -0.503 0.431 0.000 0.775 0.432 -1.680 0.000 0.855 -0.226 -0.460 2.548 0.646 -0.947 -1.243 1.551 2.201 1.349 0.985 0.730 0.451 0.877 0.825
1 0.959 0.372 -0.269 1.255 0.702 1.151 0.097 0.805 2.173 0.993 1.011 0.767 2.215 1.096 0.185 0.381 0.000 1.001 -0.205 0.059 0.000 0.979 0.997 1.168 0.796 0.771 0.839 0.776
0 0.283 -1.864 -1.663 0.219 1.624 0.955 -1.213 0.932 2.173 0.889 0.395 -0.268 0.000 0.597 -1.083 -0.921 2.548 0.584 1.325 -1.072 0.000 0.856 0.927 0.996 0.937 0.936 1.095 0.892
0 2.017 -0.488 -0.466 1.029 -0.870 3.157 0.059 -0.343 2.173 3.881 0.872 1.502 1.107 3.631 1.720 0.963 0.000 0.633 -1.264 -1.734 0.000 4.572 3.339 1.005 1.407 5.590 3.614 3.110
1 1.088 0.414 -0.841 0.485 0.605 0.860 1.110 -0.568 0.000 1.152 -0.325 1.203 2.215 0.324 1.652 -0.104 0.000 0.510 1.095 -1.728 0.000 0.880 0.722 0.989 0.977 0.711 0.888 0.762
0 0.409 -1.717 0.712 0.809 -1.301 0.701 -1.529 -1.411 0.000 1.191 -0.582 0.438 2.215 1.147 0.813 -0.571 2.548 1.039 0.543 0.892 0.000 0.636 0.810 0.986 0.861 1.411 0.907 0.756
1 1.094 1.577 -0.988 0.497 -0.149 0.891 -2.459 1.034 0.000 0.646 0.792 -1.022 0.000 1.573 0.254 -0.053 2.548 1.428 0.190 -1.641 3.102 4.322 2.687 0.985 0.881 1.135 1.907 1.831
1 0.613 1.993 -0.280 0.544 0.931 0.909 1.526 1.559 0.000 0.840 1.473 -0.483 2.215 0.856 0.352 0.408 2.548 1.058 1.733 -1.396 0.000 0.801 1.066 0.984 0.639 0.841 0.871 0.748
0 0.958 -1.202 0.600 0.434 0.170 0.783 -0.214 1.319 0.000 0.835 -0.454 -0.615 2.215 0.658 -1.858 -0.891 0.000 0.640 0.172 -1.204 3.102 1.790 1.086 0.997 0.804 0.403 0.793 0.756
1 1.998 -0.238 0.972 0.058 0.266 0.759 1.576 -0.357 2.173 1.004 -0.349 -0.747 2.215 0.962 0.490 -0.453 0.000 1.592 0.661 -1.405 0.000 0.874 1.086 0.990 1.436 1.527 1.177 0.993
1 0.796 -0.171 -0.818 0.574 -1.625 1.201 -0.737 1.451 2.173 0.651 0.404 -0.452 0.000 1.150 -0.652 -0.120 0.000 1.008 -0.093 0.531 3.102 0.884 0.706 0.979 1.193 0.937 0.943 0.881
1 0.773 1.023 0.527 1.537 -0.201 2.967 -0.574 -1.534 2.173 2.346 -0.307 0.394 2.215 1.393 0.135 -0.027 0.000 3.015 0.187 0.516 0.000 0.819 1.260 0.982 2.552 3.862 2.179 1.786
0 1.823 1.008 -1.489 0.234 -0.962 0.591 0.461 0.996 2.173 0.568 -1.297 -0.410 0.000 0.887 2.157 1.194 0.000 2.079 0.369 -0.085 3.102 0.770 0.945 0.995 1.179 0.971 0.925 0.983
0 0.780 0.640 0.490 0.680 -1.301 0.715 -0.137 0.152 2.173 0.616 -0.831 1.668 0.000 1.958 0.528 -0.982 2.548 0.966 -1.551 0.462 0.000 1.034 1.079 1.008 0.827 1.369 1.152 0.983
1 0.543 0.801 1.543 1.134 -0.772 0.954 -0.849 0.410 1.087 0.851 -1.988 1.686 0.000 0.799 -0.912 -1.156 0.000 0.479 0.097 1.334 0.000 0.923 0.597 0.989 1.231 0.759 0.975 0.867
0 1.241 -0.014 0.129 1.158 0.670 0.445 -0.732 1.739 2.173 0.918 0.659 -1.340 2.215 0.557 2.410 -1.404 0.000 0.966 -1.545 -1.120 0.000 0.874 0.918 0.987 1.001 0.798 0.904 0.937
0 1.751 -0.266 -1.575 0.489 1.292 1.112 1.533 0.137 2.173 1.204 -0.414 -0.928 0.000 0.879 1.237 -0.415 2.548 1.479 1.469 0.913 0.000 2.884 1.747 0.989 1.742 0.600 1.363 1.293
1 1.505 1.208 -1.476 0.995 -0.836 2.800 -1.600 0.111 0.000 2.157 1.241 1.110 2.215 1.076 2.619 -0.913 0.000 1.678 2.204 -1.575 0.000 0.849 1.224 0.990 1.412 0.976 1.271 1.105
0 0.816 0.611 0.779 1.694 0.278 0.575 -0.787 1.592 2.173 1.148 1.076 -0.831 2.215 0.421 1.316 0.632 0.000 0.589 0.452 -1.466 0.000 0.779 0.909 0.990 1.146 1.639 1.236 0.949
1 0.551 -0.808 0.330 1.188 -0.294 0.447 -0.035 -0.993 0.000 0.432 -0.276 -0.481 2.215 1.959 -0.288 1.195 2.548 0.638 0.583 1.107 0.000 0.832 0.924 0.993 0.723 0.976 0.968 0.895
0 1.316 -0.093 0.995 0.860 -0.621 0.593 -0.560 -1.599 2.173 0.524 -0.318 -0.240 2.215 0.566 0.759 -0.368 0.000 0.483 -2.030 -1.104 0.000 1.468 1.041 1.464 0.811 0.778 0.690 0.722
1 1.528 0.067 -0.855 0.959 -1.464 1.143 -0.082 1.023 0.000 0.702 -0.763 -0.244 0.000 0.935 -0.881 0.206 2.548 0.614 -0.831 1.657 3.102 1.680 1.105 0.983 1.078 0.559 0.801 0.809
0 0.558 -0.833 -0.598 1.436 -1.724 1.316 -0.661 1.593 2.173 1.148 -0.503 -0.132 1.107 1.584 -0.125 0.380 0.000 1.110 -1.216 -0.181 0.000 1.258 0.860 1.053 0.790 1.814 1.159 1.007
1 0.819 0.879 1.221 0.598 -1.450 0.754 0.417 -0.369 2.173 0.477 1.199 0.274 0.000 1.073 0.368 0.273 2.548 1.599 2.047 1.690 0.000 0.933 0.984 0.983 0.788 0.613 0.728 0.717
0 0.981 -1.007 0.489 0.923 1.261 0.436 -0.698 -0.506 2.173 0.764 -1.105 -1.241 2.215 0.577 -2.573 -0.036 0.000 0.565 -1.628 1.610 0.000 0.688 0.801 0.991 0.871 0.554 0.691 0.656
0 2.888 0.568 -1.416 1.461 -1.157 1.756 -0.900 0.522 0.000 0.657 0.409 1.076 2.215 1.419 0.672 -0.019 0.000 1.436 -0.184 -0.980 3.102 0.946 0.919 0.995 1.069 0.890 0.834 0.856
1 0.522 1.805 -0.963 1.136 0.418 0.727 -0.195 -1.695 2.173 0.309 2.559 -0.178 0.000 0.521 1.794 0.919 0.000 0.788 0.174 -0.406 3.102 0.555 0.729 1.011 1.385 0.753 0.927 0.832
1 0.793 -0.162 -1.643 0.634 0.337 0.898 -0.633 1.689 0.000 0.806 -0.826 -0.356 2.215 0.890 -0.142 -1.268 0.000 1.293 0.574 0.725 0.000 0.833 1.077 0.988 0.721 0.679 0.867 0.753
0 1.298 1.098 0.280 0.371 -0.373 0.855 -0.306 -1.186 0.000 0.977 -0.421 1.003 0.000 0.978 0.956 -1.249 2.548 0.735 0.577 -0.037 3.102 0.974 1.002 0.992 0.549 0.587 0.725 0.954
1 0.751 -0.520 -1.653 0.168 -0.419 0.878 -1.023 -1.364 2.173 1.310 -0.667 0.863 0.000 1.196 -0.827 0.358 0.000 1.154 -0.165 -0.360 1.551 0.871 0.950 0.983 0.907 0.955 0.959 0.874
0 1.730 0.666 -1.432 0.446 1.302 0.921 -0.203 0.621 0.000 1.171 -0.365 -0.611 1.107 0.585 0.807 1.150 0.000 0.415 -0.843 1.311 0.000 0.968 0.786 0.986 1.059 0.371 0.790 0.848
1 0.596 -1.486 0.690 1.045 -1.344 0.928 0.867 0.820 2.173 0.610 0.999 -1.329 2.215 0.883 -0.001 -0.106 0.000 1.145 2.184 -0.808 0.000 2.019 1.256 1.056 1.751 1.037 1.298 1.518
1 0.656 -1.993 -0.519 1.643 -0.143 0.815 0.256 1.220 1.087 0.399 -1.184 -1.458 0.000 0.738 1.361 -1.443 0.000 0.842 0.033 0.293 0.000 0.910 0.891 0.993 0.668 0.562 0.958 0.787
1 1.127 -0.542 0.645 0.318 -1.496 0.661 -0.640 0.369 2.173 0.992 0.358 1.702 0.000 1.004 0.316 -1.109 0.000 1.616 -0.936 -0.707 1.551 0.875 1.191 0.985 0.651 0.940 0.969 0.834
0 0.916 -1.423 -1.490 1.248 -0.538 0.625 -0.535 -0.174 0.000 0.769 -0.389 1.608 2.215 0.667 -1.138 -1.738 1.274 0.877 -0.019 0.482 0.000 0.696 0.917 1.121 0.678 0.347 0.647 0.722
1 2.756 -0.637 -1.715 1.331 1.124 0.913 -0.296 -0.491 0.000 0.983 -0.831 0.000 2.215 1.180 -0.428 0.742 0.000 1.113 0.005 -1.157 1.551 1.681 1.096 1.462 0.976 0.917 1.009 1.040
0 0.755 1.754 0.701 2.111 0.256 1.243 0.057 -1.502 2.173 0.565 -0.034 -1.078 1.107 0.529 1.696 -1.090 0.000 0.665 0.292 0.107 0.000 0.870 0.780 0.990 2.775 0.465 1.876 1.758
1 0.593 -0.762 1.743 0.908 0.442 0.773 -1.357 -0.768 2.173 0.432 1.421 1.236 0.000 0.579 0.291 -0.403 0.000 0.966 -0.309 1.016 3.102 0.893 0.743 0.989 0.857 1.030 0.943 0.854
1 0.891 -1.151 -1.269 0.504 -0.622 0.893 -0.549 0.700 0.000 0.828 -0.825 0.154 2.215 1.083 0.632 -1.141 0.000 1.059 -0.557 1.526 3.102 2.117 1.281 0.987 0.819 0.802 0.917 0.828
1 2.358 -0.248 0.080 0.747 -0.975 1.019 1.374 1.363 0.000 0.935 0.127 -1.707 2.215 0.312 -0.827 0.017 0.000 0.737 1.059 -0.327 0.000 0.716 0.828 1.495 0.953 0.704 0.880 0.745
0 0.660 -0.017 -1.138 0.453 1.002 0.645 0.518 0.703 2.173 0.751 0.705 -0.592 2.215 0.744 -0.909 -1.596 0.000 0.410 -1.135 0.481 0.000 0.592 0.922 0.989 0.897 0.948 0.777 0.701
1 0.718 0.518 0.225 1.710 -0.022 1.888 -0.424 1.092 0.000 4.134 0.185 -1.366 0.000 1.415 1.293 0.242 2.548 2.351 0.264 -0.057 3.102 0.830 1.630 0.976 1.215 0.890 1.422 1.215
1 1.160 0.203 0.941 0.594 0.212 0.636 -0.556 0.679 2.173 1.089 -0.481 -1.008 1.107 1.245 -0.056 -1.357 0.000 0.587 1.007 0.056 0.000 1.106 0.901 0.987 0.786 1.224 0.914 0.837
1 0.697 0.542 0.619 0.985 1.481 0.745 0.415 1.644 2.173 0.903 0.495 -0.958 2.215 1.165 1.195 0.346 0.000 1.067 -0.881 -0.264 0.000 0.830 1.025 0.987 0.690 0.863 0.894 0.867
0 1.430 0.190 -0.700 0.246 0.518 1.302 0.660 -0.247 2.173 1.185 -0.539 1.504 0.000 1.976 -0.401 1.079 0.000 0.855 -0.958 -1.110 3.102 0.886 0.953 0.993 0.889 1.400 1.376 1.119
1 1.122 -0.795 0.202 0.397 -1.553 0.597 -1.459 -0.734 2.173 0.522 1.044 1.027 2.215 0.783 -1.243 1.701 0.000 0.371 1.737 0.199 0.000 1.719 1.176 0.988 0.723 1.583 1.063 0.914
0 1.153 0.526 1.236 0.266 0.001 1.139 -1.236 -0.585 2.173 1.337 -0.215 -1.356 2.215 1.780 1.129 0.902 0.000 1.608 -0.391 -0.161 0.000 1.441 1.633 0.990 1.838 1.516 1.635 1.373
1 0.760 1.012 0.758 0.937 0.051 0.941 0.687 -1.247 2.173 1.288 -0.743 0.822 0.000 1.552 1.782 -1.533 0.000 0.767 1.349 0.168 0.000 0.716 0.862 0.988 0.595 0.359 0.697 0.623
1 1.756 -1.469 1.395 1.345 -1.595 0.817 0.017 -0.741 2.173 0.483 -0.008 0.293 0.000 1.768 -0.663 0.438 1.274 1.202 -1.387 -0.222 0.000 1.022 1.058 0.992 1.407 1.427 1.356 1.133
0 0.397 0.582 -0.758 1.260 -1.735 0.889 -0.515 1.139 2.173 0.973 1.616 0.460 0.000 1.308 1.001 -0.709 2.548 0.858 0.995 -0.231 0.000 0.749 0.888 0.979 1.487 1.804 1.208 1.079
0 0.515 -0.984 0.425 1.114 -0.439 1.999 0.818 1.561 0.000 1.407 0.009 -0.380 0.000 1.332 0.230 0.397 0.000 1.356 -0.616 -1.057 3.102 0.978 1.017 0.990 1.118 0.862 0.835 0.919
1 1.368 -0.921 -0.866 0.842 -0.598 0.456 -1.176 1.219 1.087 0.419 -1.974 -0.819 0.000 0.791 -1.640 0.881 0.000 1.295 -0.782 0.442 3.102 0.945 0.761 0.974 0.915 0.535 0.733 0.651
0 2.276 0.134 0.399 2.525 0.376 1.111 -1.078 -1.571 0.000 0.657 2.215 -0.900 0.000 1.183 -0.662 -0.508 2.548 1.436 -0.517 0.960 3.102 0.569 0.931 0.993 1.170 0.967 0.879 1.207
0 0.849 0.907 0.124 0.652 1.585 0.715 0.355 -1.200 0.000 0.599 -0.892 1.301 0.000 1.106 1.151 0.582 0.000 1.895 -0.279 -0.568 3.102 0.881 0.945 0.998 0.559 0.649 0.638 0.660
1 2.105 0.248 -0.797 0.530 0.206 1.957 -2.175 0.797 0.000 1.193 0.637 -1.646 2.215 0.881 1.111 -1.046 0.000 0.872 -0.185 1.085 1.551 0.986 1.343 1.151 1.069 0.714 2.063 1.951
1 1.838 1.060 1.637 1.017 1.370 0.913 0.461 -0.609 1.087 0.766 -0.461 0.303 2.215 0.724 -0.061 0.886 0.000 0.941 1.123 -0.745 0.000 0.858 0.847 0.979 1.313 1.083 1.094 0.910
0 0.364 1.274 1.066 1.570 -0.394 0.485 0.012 -1.716 0.000 0.317 -1.233 0.534 2.215 0.548 -2.165 0.762 0.000 0.729 0.169 -0.318 3.102 0.892 0.944 1.013 0.594 0.461 0.688 0.715
1 0.503 1.343 -0.031 1.134 -1.204 0.590 -0.309 0.174 2.173 0.408 2.372 -0.628 0.000 1.850 0.400 1.147 2.548 0.664 -0.458 -0.885 0.000 1.445 1.283 0.989 1.280 1.118 1.127 1.026
0 1.873 0.258 0.103 2.491 0.530 1.678 0.644 -1.738 2.173 1.432 0.848 -1.340 0.000 0.621 1.323 -1.316 0.000 0.628 0.789 -0.206 1.551 0.426 0.802 1.125 0.688 1.079 1.338 1.239
1 0.826 -0.732 1.587 0.582 -1.236 0.495 0.757 -0.741 2.173 0.940 1.474 0.354 2.215 0.474 1.055 -1.657 0.000 0.415 1.758 0.841 0.000 0.451 0.578 0.984 0.757 0.922 0.860 0.696
0 0.935 -1.614 -0.597 0.299 1.223 0.707 -0.853 -1.026 0.000 0.751 0.007 -1.691 0.000 1.062 -0.125 0.976 2.548 0.877 1.275 0.646 0.000 0.962 1.074 0.980 0.608 0.726 0.741 0.662
1 0.643 0.542 -1.285 0.474 -0.366 0.667 -0.446 1.195 2.173 1.076 0.145 -0.126 0.000 0.970 -0.661 0.394 1.274 1.218 -0.184 -1.722 0.000 1.331 1.019 0.985 1.192 0.677 0.973 0.910
0 0.713 0.164 1.080 1.427 -0.460 0.960 -0.152 -0.940 2.173 1.427 -0.901 1.036 1.107 0.440 -1.269 -0.194 0.000 0.452 1.932 -0.532 0.000 1.542 1.210 1.374 1.319 1.818 1.220 1.050
0 0.876 -0.463 -1.224 2.458 -1.689 1.007 -0.752 0.398 0.000 2.456 -1.285 -0.152 1.107 1.641 1.838 1.717 0.000 0.458 0.194 0.488 3.102 4.848 2.463 0.986 1.981 0.974 2.642 2.258
1 0.384 -0.275 0.387 1.403 -0.994 0.620 -1.529 1.685 0.000 1.091 -1.644 1.078 0.000 0.781 -1.311 0.326 2.548 1.228 -0.728 -0.633 1.551 0.920 0.854 0.987 0.646 0.609 0.740 0.884
0 0.318 -1.818 -1.008 0.977 1.268 0.457 2.451 -1.522 0.000 0.881 1.351 0.461 2.215 0.929 0.239 -0.380 2.548 0.382 -0.613 1.330 0.000 1.563 1.193 0.994 0.829 0.874 0.901 1.026
1 0.612 -1.120 1.098 0.402 -0.480 0.818 0.188 1.511 0.000 0.800 -0.253 0.977 0.000 1.175 0.271 -1.289 1.274 2.531 0.226 -0.409 3.102 0.889 0.947 0.979 1.486 0.940 1.152 1.119
1 0.587 -0.737 -0.228 0.970 1.119 0.823 0.184 1.594 0.000 1.104 0.301 -0.818 2.215 0.819 0.712 -0.560 0.000 2.240 -0.419 0.340 3.102 1.445 1.103 0.988 0.715 1.363 1.019 0.926
0 1.030 -0.694 -1.638 0.893 -1.074 1.160 -0.766 0.485 0.000 1.632 -0.698 -1.142 2.215 1.050 -1.092 0.952 0.000 1.475 0.286 0.125 3.102 0.914 1.075 0.982 0.732 1.493 1.219 1.079
1 2.142 0.617 1.517 0.387 -0.862 0.345 1.203 -1.014 2.173 0.609 1.092 0.275 0.000 1.331 0.582 -0.183 2.548 0.557 1.540 -1.642 0.000 0.801 0.737 1.060 0.715 0.626 0.749 0.674
0 1.076 0.240 -0.246 0.871 -1.241 0.496 0.282 0.746 2.173 1.095 -0.648 1.100 2.215 0.446 -1.756 0.764 0.000 0.434 0.788 -0.991 0.000 1.079 0.868 1.047 0.818 0.634 0.795 0.733
0 1.400 0.901 -1.617 0.625 -0.163 0.661 -0.411 -1.616 2.173 0.685 0.524 0.425 0.000 0.881 -0.766 0.312 0.000 0.979 0.255 -0.667 3.102 0.898 1.105 1.253 0.730 0.716 0.738 0.795
0 3.302 1.132 1.051 0.658 0.768 1.308 0.251 -0.374 1.087 1.673 0.015 -0.898 0.000 0.688 -0.535 1.363 1.274 0.871 1.325 -1.583 0.000 1.646 1.249 0.995 1.919 1.288 1.330 1.329
0 1.757 0.202 0.750 0.767 -0.362 0.932 -1.033 -1.366 0.000 1.529 -1.012 -0.771 0.000 1.161 -0.287 0.059 0.000 2.185 1.147 1.099 3.102 0.795 0.529 1.354 1.144 1.491 1.319 1.161
0 1.290 0.905 -1.711 1.017 -0.695 1.008 -1.038 0.693 2.173 1.202 -0.595 0.187 0.000 1.011 0.139 -1.607 0.000 0.789 -0.613 -1.041 3.102 1.304 0.895 1.259 1.866 0.955 1.211 1.200
1 1.125 -0.004 1.694 0.373 0.329 0.978 0.640 -0.391 0.000 1.122 -0.376 1.521 2.215 0.432 2.413 -1.259 0.000 0.969 0.730 0.512 3.102 0.716 0.773 0.991 0.624 0.977 0.981 0.875
0 1.081 0.861 1.252 1.621 1.474 1.293 0.600 0.630 0.000 1.991 -0.090 -0.675 2.215 0.861 1.105 -0.201 0.000 1.135 2.489 -1.659 0.000 1.089 0.657 0.991 2.179 0.412 1.334 1.071
1 0.652 -0.294 1.241 1.034 0.490 1.033 0.551 -0.963 2.173 0.661 1.031 -1.654 2.215 1.376 -0.018 0.843 0.000 0.943 -0.329 -0.269 0.000 1.085 1.067 0.991 1.504 0.773 1.135 0.993
1 1.408 -1.028 -1.018 0.252 -0.242 0.465 -0.364 -0.200 0.000 1.466 0.669 0.739 1.107 1.031 0.415 -1.468 2.548 0.457 -1.091 -1.722 0.000 0.771 0.811 0.979 1.459 1.204 1.041 0.866
1 0.781 -1.143 -0.659 0.961 1.266 1.183 -0.686 0.119 2.173 1.126 -0.064 1.447 0.000 0.730 1.430 -1.535 0.000 1.601 0.513 1.658 0.000 0.871 1.345 1.184 1.058 0.620 1.107 0.978
1 1.300 -0.616 1.032 0.751 -0.731 0.961 -0.716 1.592 0.000 2.079 -1.063 -0.271 2.215 0.475 0.518 1.695 1.274 0.395 -2.204 0.349 0.000 1.350 0.983 1.369 1.265 1.428 1.135 0.982
1 0.833 0.809 1.657 1.637 1.019 0.705 1.077 -0.968 2.173 1.261 0.114 -0.298 1.107 1.032 0.017 0.236 0.000 0.640 -0.026 -1.598 0.000 0.894 0.982 0.981 1.250 1.054 1.018 0.853
1 1.686 -1.090 -0.301 0.890 0.557 1.304 -0.284 -1.393 2.173 0.388 2.118 0.513 0.000 0.514 -0.015 0.891 0.000 0.460 0.547 0.627 3.102 0.942 0.524 1.186 1.528 0.889 1.015 1.122
1 0.551 0.911 0.879 0.379 -0.796 1.154 -0.808 -0.966 0.000 1.168 -0.513 0.355 2.215 0.646 -1.309 0.773 0.000 0.544 -0.283 1.301 3.102 0.847 0.705 0.990 0.772 0.546 0.790 0.719
1 1.597 0.793 -1.119 0.691 -1.455 0.370 0.337 1.354 0.000 0.646 -1.005 0.732 2.215 1.019 0.040 0.209 0.000 0.545 0.958 0.239 3.102 0.962 0.793 0.994 0.719 0.745 0.812 0.739
0 1.033 -1.193 -0.452 0.247 0.970 0.503 -1.424 1.362 0.000 1.062 -0.416 -1.156 2.215 0.935 -0.023 0.555 2.548 0.410 -1.766 0.379 0.000 0.590 0.953 0.991 0.717 1.081 0.763 0.690
1 0.859 -1.004 1.521 0.781 -0.993 0.677 0.643 -0.338 2.173 0.486 0.409 1.283 0.000 0.679 0.110 0.285 0.000 0.715 -0.735 -0.157 1.551 0.702 0.773 0.984 0.627 0.633 0.694 0.643
0 0.612 -1.127 1.074 1.225 -0.426 0.927 -2.141 -0.473 0.000 1.290 -0.927 -1.085 2.215 1.183 1.981 -1.687 0.000 2.176 0.406 -1.581 0.000 0.945 0.651 1.170 0.895 1.604 1.179 1.142
1 0.535 0.321 -1.095 0.281 -0.960 0.876 -0.709 -0.076 0.000 1.563 -0.666 1.536 2.215 0.773 -0.321 0.435 0.000 0.682 -0.801 -0.952 3.102 0.711 0.667 0.985 0.888 0.741 0.872 0.758
1 0.745 1.586 1.578 0.863 -1.423 0.530 1.714 1.085 0.000 1.174 0.679 1.015 0.000 1.158 0.609 -1.186 2.548 1.851 0.832 -0.248 3.102 0.910 1.164 0.983 0.947 0.858 0.928 0.823
0 0.677 -1.014 -1.648 1.455 1.461 0.596 -2.358 0.517 0.000 0.800 0.849 -0.743 2.215 1.024 -0.282 -1.004 0.000 1.846 -0.977 0.378 3.102 2.210 1.423 0.982 1.074 1.623 1.417 1.258
1 0.815 -1.263 0.057 1.018 -0.208 0.339 -0.347 -1.646 2.173 1.223 0.600 -1.658 2.215 1.435 0.042 0.926 0.000 0.777 1.698 -0.698 0.000 1.022 1.058 1.000 0.784 0.477 0.886 0.836
0 3.512 -1.094 -0.220 0.338 -0.328 1.962 -1.099 1.544 1.087 1.461 -1.305 -0.922 2.215 1.219 -1.289 0.400 0.000 0.731 0.155 1.249 0.000 1.173 1.366 0.993 2.259 2.000 1.626 1.349
0 0.904 1.248 0.325 0.317 -1.624 0.685 -0.538 1.665 2.173 0.685 -2.145 -1.106 0.000 0.632 -1.460 1.017 0.000 1.085 -0.182 0.162 3.102 0.885 0.801 0.989 0.930 0.904 1.012 0.961

File diff suppressed because it is too large Load Diff

View File

@@ -1,270 +0,0 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Copyright (c) Microsoft Corporation. All rights reserved. \n",
"Licensed under the MIT License."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Impressions](https://PixelServer20190423114238.azurewebsites.net/api/impressions/MachineLearningNotebooks/how-to-use-azureml/contrib/gbdt/lightgbm/lightgbm-example.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Use LightGBM Estimator in Azure Machine Learning\n",
"In this notebook we will demonstrate how to run a training job using LightGBM Estimator. [LightGBM](https://lightgbm.readthedocs.io/en/latest/) is a gradient boosting framework that uses tree based learning algorithms. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prerequisites\n",
"This notebook uses azureml-contrib-gbdt package, if you don't already have the package, please install by uncommenting below cell."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#!pip install azureml-contrib-gbdt"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core import Workspace, Run, Experiment\n",
"import shutil, os\n",
"from azureml.widgets import RunDetails\n",
"from azureml.contrib.gbdt import LightGBM\n",
"from azureml.train.dnn import Mpi\n",
"from azureml.core.compute import AmlCompute, ComputeTarget\n",
"from azureml.core.compute_target import ComputeTargetException"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If you are using an AzureML Compute Instance, you are all set. Otherwise, go through the [configuration.ipynb](../../../configuration.ipynb) notebook to install the Azure Machine Learning Python SDK and create an Azure ML Workspace"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Set up machine learning resources"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ws = Workspace.from_config()\n",
"\n",
"print('Workspace name: ' + ws.name, \n",
" 'Azure region: ' + ws.location, \n",
" 'Subscription id: ' + ws.subscription_id, \n",
" 'Resource group: ' + ws.resource_group, sep = '\\n')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"cluster_vm_size = \"STANDARD_DS14_V2\"\n",
"cluster_min_nodes = 0\n",
"cluster_max_nodes = 20\n",
"cpu_cluster_name = 'TrainingCompute2' \n",
"\n",
"try:\n",
" cpu_cluster = AmlCompute(ws, cpu_cluster_name)\n",
" if cpu_cluster and type(cpu_cluster) is AmlCompute:\n",
" print('found compute target: ' + cpu_cluster_name)\n",
"except ComputeTargetException:\n",
" print('creating a new compute target...')\n",
" provisioning_config = AmlCompute.provisioning_configuration(vm_size = cluster_vm_size, \n",
" vm_priority = 'lowpriority', \n",
" min_nodes = cluster_min_nodes, \n",
" max_nodes = cluster_max_nodes)\n",
" cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, provisioning_config)\n",
" \n",
" # can poll for a minimum number of nodes and for a specific timeout. \n",
" # if no min node count is provided it will use the scale settings for the cluster\n",
" cpu_cluster.wait_for_completion(show_output=True, min_node_count=None, timeout_in_minutes=20)\n",
" \n",
" # For a more detailed view of current Azure Machine Learning Compute status, use get_status()\n",
" print(cpu_cluster.get_status().serialize())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"From this point, you can either upload training data file directly or use Datastore for training data storage\n",
"## Upload training file from local"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"scripts_folder = \"scripts_folder\"\n",
"if not os.path.isdir(scripts_folder):\n",
" os.mkdir(scripts_folder)\n",
"shutil.copy('./train.conf', os.path.join(scripts_folder, 'train.conf'))\n",
"shutil.copy('./binary0.train', os.path.join(scripts_folder, 'binary0.train'))\n",
"shutil.copy('./binary1.train', os.path.join(scripts_folder, 'binary1.train'))\n",
"shutil.copy('./binary0.test', os.path.join(scripts_folder, 'binary0.test'))\n",
"shutil.copy('./binary1.test', os.path.join(scripts_folder, 'binary1.test'))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"training_data_list=[\"binary0.train\", \"binary1.train\"]\n",
"validation_data_list = [\"binary0.test\", \"binary1.test\"]\n",
"lgbm = LightGBM(source_directory=scripts_folder, \n",
" compute_target=cpu_cluster, \n",
" distributed_training=Mpi(),\n",
" node_count=2,\n",
" lightgbm_config='train.conf',\n",
" data=training_data_list,\n",
" valid=validation_data_list\n",
" )\n",
"experiment_name = 'lightgbm-estimator-test'\n",
"experiment = Experiment(ws, name=experiment_name)\n",
"run = experiment.submit(lgbm, tags={\"test public docker image\": None})\n",
"RunDetails(run).show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"run.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Use data reference"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core.datastore import Datastore\n",
"from azureml.data.data_reference import DataReference\n",
"datastore = ws.get_default_datastore()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"datastore.upload(src_dir='.',\n",
" target_path='.',\n",
" show_progress=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"training_data_list=[\"binary0.train\", \"binary1.train\"]\n",
"validation_data_list = [\"binary0.test\", \"binary1.test\"]\n",
"lgbm = LightGBM(source_directory='.', \n",
" compute_target=cpu_cluster, \n",
" distributed_training=Mpi(),\n",
" node_count=2,\n",
" inputs=[datastore.as_mount()],\n",
" lightgbm_config='train.conf',\n",
" data=training_data_list,\n",
" valid=validation_data_list\n",
" )\n",
"experiment_name = 'lightgbm-estimator-test'\n",
"experiment = Experiment(ws, name=experiment_name)\n",
"run = experiment.submit(lgbm, tags={\"use datastore.as_mount()\": None})\n",
"RunDetails(run).show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"run.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# uncomment below and run if compute resources are no longer needed\n",
"# cpu_cluster.delete() "
]
}
],
"metadata": {
"authors": [
{
"name": "jingywa"
}
],
"kernelspec": {
"display_name": "Python 3.6",
"language": "python",
"name": "python36"
},
"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.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -1,7 +0,0 @@
name: lightgbm-example
dependencies:
- pip:
- azureml-sdk
- azureml-contrib-gbdt
- azureml-widgets
- azureml-core

View File

@@ -1,111 +0,0 @@
# task type, support train and predict
task = train
# boosting type, support gbdt for now, alias: boosting, boost
boosting_type = gbdt
# application type, support following application
# regression , regression task
# binary , binary classification task
# lambdarank , lambdarank task
# alias: application, app
objective = binary
# eval metrics, support multi metric, delimite by ',' , support following metrics
# l1
# l2 , default metric for regression
# ndcg , default metric for lambdarank
# auc
# binary_logloss , default metric for binary
# binary_error
metric = binary_logloss,auc
# frequence for metric output
metric_freq = 1
# true if need output metric for training data, alias: tranining_metric, train_metric
is_training_metric = true
# number of bins for feature bucket, 255 is a recommend setting, it can save memories, and also has good accuracy.
max_bin = 255
# training data
# if exsting weight file, should name to "binary.train.weight"
# alias: train_data, train
data = binary.train
# validation data, support multi validation data, separated by ','
# if exsting weight file, should name to "binary.test.weight"
# alias: valid, test, test_data,
valid_data = binary.test
# number of trees(iterations), alias: num_tree, num_iteration, num_iterations, num_round, num_rounds
num_trees = 100
# shrinkage rate , alias: shrinkage_rate
learning_rate = 0.1
# number of leaves for one tree, alias: num_leaf
num_leaves = 63
# type of tree learner, support following types:
# serial , single machine version
# feature , use feature parallel to train
# data , use data parallel to train
# voting , use voting based parallel to train
# alias: tree
tree_learner = feature
# number of threads for multi-threading. One thread will use one CPU, defalut is setted to #cpu.
# num_threads = 8
# feature sub-sample, will random select 80% feature to train on each iteration
# alias: sub_feature
feature_fraction = 0.8
# Support bagging (data sub-sample), will perform bagging every 5 iterations
bagging_freq = 5
# Bagging farction, will random select 80% data on bagging
# alias: sub_row
bagging_fraction = 0.8
# minimal number data for one leaf, use this to deal with over-fit
# alias : min_data_per_leaf, min_data
min_data_in_leaf = 50
# minimal sum hessians for one leaf, use this to deal with over-fit
min_sum_hessian_in_leaf = 5.0
# save memory and faster speed for sparse feature, alias: is_sparse
is_enable_sparse = true
# when data is bigger than memory size, set this to true. otherwise set false will have faster speed
# alias: two_round_loading, two_round
use_two_round_loading = false
# true if need to save data to binary file and application will auto load data from binary file next time
# alias: is_save_binary, save_binary
is_save_binary_file = false
# output model file
output_model = LightGBM_model.txt
# support continuous train from trained gbdt model
# input_model= trained_model.txt
# output prediction file for predict task
# output_result= prediction.txt
# support continuous train from initial score file
# input_init_score= init_score.txt
# number of machines in parallel training, alias: num_machine
num_machines = 2
# local listening port in parallel training, alias: local_port
local_listen_port = 12400
# machines list file for parallel training, alias: mlist
machine_list_file = mlist.txt

View File

@@ -230,6 +230,15 @@ You may check the version of tensorflow and uninstall as follows
2) enter `pip freeze` and look for `tensorflow` , if found, the version listed should be < 1.13
3) If the listed version is a not a supported version, `pip uninstall tensorflow` in the command shell and enter y for confirmation.
## KeyError: 'brand' when running AutoML on local compute or Azure Databricks cluster**
If a new environment was created after 10 June 2020 using SDK 1.7.0 or lower, training may fail with the above error due to an update in the py-cpuinfo package. (Environments created on or before 10 June 2020 are unaffected, as well as experiments run on remote compute as cached training images are used.) To work around this issue, either of the two following steps can be taken:
1) Update the SDK version to 1.8.0 or higher (this will also downgrade py-cpuinfo to 5.0.0):
`pip install --upgrade azureml-sdk[automl]`
2) Downgrade the installed version of py-cpuinfo to 5.0.0:
`pip install py-cpuinfo==5.0.0`
## Remote run: DsvmCompute.create fails
There are several reasons why the DsvmCompute.create can fail. The reason is usually in the error message but you have to look at the end of the error message for the detailed reason. Some common reasons are:
1) `Compute name is invalid, it should start with a letter, be between 2 and 16 character, and only include letters (a-zA-Z), numbers (0-9) and \'-\'.` Note that underscore is not allowed in the name.

View File

@@ -6,7 +6,7 @@ dependencies:
- python>=3.5.2,<3.6.8
- nb_conda
- matplotlib==2.1.0
- numpy>=1.16.0,<=1.16.2
- numpy~=1.16.0
- cython
- urllib3<1.24
- scipy==1.4.1
@@ -14,6 +14,7 @@ dependencies:
- pandas>=0.22.0,<=0.23.4
- py-xgboost<=0.90
- conda-forge::fbprophet==0.5
- holidays==0.9.11
- pytorch::pytorch=1.4.0
- cudatoolkit=10.1.243
@@ -26,6 +27,5 @@ dependencies:
- azureml-pipeline
- pytorch-transformers==1.0.0
- spacy==2.1.8
- pyarrow==0.17.0
- https://aka.ms/automl-resources/packages/en_core_web_sm-2.1.0.tar.gz

View File

@@ -7,7 +7,7 @@ dependencies:
- python>=3.5.2,<3.6.8
- nb_conda
- matplotlib==2.1.0
- numpy>=1.16.0,<=1.16.2
- numpy~=1.16.0
- cython
- urllib3<1.24
- scipy==1.4.1
@@ -15,6 +15,7 @@ dependencies:
- pandas>=0.22.0,<=0.23.4
- py-xgboost<=0.90
- conda-forge::fbprophet==0.5
- holidays==0.9.11
- pytorch::pytorch=1.4.0
- cudatoolkit=9.0
@@ -27,5 +28,4 @@ dependencies:
- azureml-pipeline
- pytorch-transformers==1.0.0
- spacy==2.1.8
- pyarrow==0.17.0
- https://aka.ms/automl-resources/packages/en_core_web_sm-2.1.0.tar.gz

View File

@@ -57,7 +57,7 @@
"9. Test the ACI service.\n",
"\n",
"In addition this notebook showcases the following features\n",
"- **Blacklisting** certain pipelines\n",
"- **Blocking** certain pipelines\n",
"- Specifying **target metrics** to indicate stopping criteria\n",
"- Handling **missing data** in the input"
]
@@ -89,7 +89,7 @@
"from azureml.automl.core.featurization import FeaturizationConfig\n",
"from azureml.core.dataset import Dataset\n",
"from azureml.train.automl import AutoMLConfig\n",
"from azureml.explain.model._internal.explanation_client import ExplanationClient"
"from azureml.interpret._internal.explanation_client import ExplanationClient"
]
},
{
@@ -105,7 +105,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -314,8 +314,8 @@
"|**task**|classification or regression or forecasting|\n",
"|**primary_metric**|This is the metric that you want to optimize. Classification supports the following primary metrics: <br><i>accuracy</i><br><i>AUC_weighted</i><br><i>average_precision_score_weighted</i><br><i>norm_macro_recall</i><br><i>precision_score_weighted</i>|\n",
"|**iteration_timeout_minutes**|Time limit in minutes for each iteration.|\n",
"|**blacklist_models** | *List* of *strings* indicating machine learning algorithms for AutoML to avoid in this run. <br><br> Allowed values for **Classification**<br><i>LogisticRegression</i><br><i>SGD</i><br><i>MultinomialNaiveBayes</i><br><i>BernoulliNaiveBayes</i><br><i>SVM</i><br><i>LinearSVM</i><br><i>KNN</i><br><i>DecisionTree</i><br><i>RandomForest</i><br><i>ExtremeRandomTrees</i><br><i>LightGBM</i><br><i>GradientBoosting</i><br><i>TensorFlowDNN</i><br><i>TensorFlowLinearClassifier</i><br><br>Allowed values for **Regression**<br><i>ElasticNet</i><br><i>GradientBoosting</i><br><i>DecisionTree</i><br><i>KNN</i><br><i>LassoLars</i><br><i>SGD</i><br><i>RandomForest</i><br><i>ExtremeRandomTrees</i><br><i>LightGBM</i><br><i>TensorFlowLinearRegressor</i><br><i>TensorFlowDNN</i><br><br>Allowed values for **Forecasting**<br><i>ElasticNet</i><br><i>GradientBoosting</i><br><i>DecisionTree</i><br><i>KNN</i><br><i>LassoLars</i><br><i>SGD</i><br><i>RandomForest</i><br><i>ExtremeRandomTrees</i><br><i>LightGBM</i><br><i>TensorFlowLinearRegressor</i><br><i>TensorFlowDNN</i><br><i>Arima</i><br><i>Prophet</i>|\n",
"| **whitelist_models** | *List* of *strings* indicating machine learning algorithms for AutoML to use in this run. Same values listed above for **blacklist_models** allowed for **whitelist_models**.|\n",
"|**blocked_models** | *List* of *strings* indicating machine learning algorithms for AutoML to avoid in this run. <br><br> Allowed values for **Classification**<br><i>LogisticRegression</i><br><i>SGD</i><br><i>MultinomialNaiveBayes</i><br><i>BernoulliNaiveBayes</i><br><i>SVM</i><br><i>LinearSVM</i><br><i>KNN</i><br><i>DecisionTree</i><br><i>RandomForest</i><br><i>ExtremeRandomTrees</i><br><i>LightGBM</i><br><i>GradientBoosting</i><br><i>TensorFlowDNN</i><br><i>TensorFlowLinearClassifier</i><br><br>Allowed values for **Regression**<br><i>ElasticNet</i><br><i>GradientBoosting</i><br><i>DecisionTree</i><br><i>KNN</i><br><i>LassoLars</i><br><i>SGD</i><br><i>RandomForest</i><br><i>ExtremeRandomTrees</i><br><i>LightGBM</i><br><i>TensorFlowLinearRegressor</i><br><i>TensorFlowDNN</i><br><br>Allowed values for **Forecasting**<br><i>ElasticNet</i><br><i>GradientBoosting</i><br><i>DecisionTree</i><br><i>KNN</i><br><i>LassoLars</i><br><i>SGD</i><br><i>RandomForest</i><br><i>ExtremeRandomTrees</i><br><i>LightGBM</i><br><i>TensorFlowLinearRegressor</i><br><i>TensorFlowDNN</i><br><i>Arima</i><br><i>Prophet</i>|\n",
"|**allowed_models** | *List* of *strings* indicating machine learning algorithms for AutoML to use in this run. Same values listed above for **blocked_models** allowed for **allowed_models**.|\n",
"|**experiment_exit_score**| Value indicating the target for *primary_metric*. <br>Once the target is surpassed the run terminates.|\n",
"|**experiment_timeout_hours**| Maximum amount of time in hours that all iterations combined can take before the experiment terminates.|\n",
"|**enable_early_stopping**| Flag to enble early termination if the score is not improving in the short term.|\n",
@@ -349,7 +349,7 @@
" debug_log = 'automl_errors.log',\n",
" compute_target=compute_target,\n",
" experiment_exit_score = 0.9984,\n",
" blacklist_models = ['KNN','LinearSVM'],\n",
" blocked_models = ['KNN','LinearSVM'],\n",
" enable_onnx_compatible_models=True,\n",
" training_data = train_data,\n",
" label_column_name = label,\n",
@@ -362,7 +362,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Call the `submit` method on the experiment object and pass the run configuration. Execution of local runs is synchronous. Depending on the data and the number of iterations this can run for a while."
"Call the `submit` method on the experiment object and pass the run configuration. Execution of local runs is synchronous. Depending on the data and the number of iterations this can run for a while. Validation errors and current status will be shown when setting `show_output=True` and the execution will be synchronous."
]
},
{
@@ -675,10 +675,8 @@
"model_name = best_run.properties['model_name']\n",
"\n",
"script_file_name = 'inference/score.py'\n",
"conda_env_file_name = 'inference/env.yml'\n",
"\n",
"best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')\n",
"best_run.download_file('outputs/conda_env_v_1_0_0.yml', 'inference/env.yml')"
"best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py')"
]
},
{
@@ -721,8 +719,7 @@
"from azureml.core.model import Model\n",
"from azureml.core.environment import Environment\n",
"\n",
"myenv = Environment.from_conda_specification(name=\"myenv\", file_path=conda_env_file_name)\n",
"inference_config = InferenceConfig(entry_script=script_file_name, environment=myenv)\n",
"inference_config = InferenceConfig(entry_script=script_file_name)\n",
"\n",
"aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1, \n",
" memory_gb = 1, \n",
@@ -736,24 +733,6 @@
"print(aci_service.state)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Delete a Web Service\n",
"\n",
"Deletes the specified web service."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"#aci_service.delete()"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -778,7 +757,9 @@
"source": [
"## Test\n",
"\n",
"Now that the model is trained, run the test data through the trained model to get the predicted values."
"Now that the model is trained, run the test data through the trained model to get the predicted values. This calls the ACI web service to do the prediction.\n",
"\n",
"Note that the JSON passed to the ACI web service is an array of rows of data. Each row should either be an array of values in the same order that was used for training or a dictionary where the keys are the same as the column names used for training. The example below uses dictionary rows."
]
},
{
@@ -818,10 +799,27 @@
"metadata": {},
"outputs": [],
"source": [
"y_pred = fitted_model.predict(X_test)\n",
"import json\n",
"import requests\n",
"\n",
"X_test_json = X_test.to_json(orient='records')\n",
"data = \"{\\\"data\\\": \" + X_test_json +\"}\"\n",
"headers = {'Content-Type': 'application/json'}\n",
"\n",
"resp = requests.post(aci_service.scoring_uri, data, headers=headers)\n",
"\n",
"y_pred = json.loads(json.loads(resp.text))['result']"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"actual = array(y_test)\n",
"actual = actual[:,0]\n",
"print(y_pred.shape, \" \", actual.shape)"
"print(len(y_pred), \" \", len(actual))"
]
},
{
@@ -830,8 +828,7 @@
"source": [
"### Calculate metrics for the prediction\n",
"\n",
"Now visualize the data on a scatter plot to show what our truth (actual) values are compared to the predicted values \n",
"from the trained model that was returned."
"Now visualize the data as a confusion matrix that compared the predicted values against the actual values.\n"
]
},
{
@@ -841,12 +838,45 @@
"outputs": [],
"source": [
"%matplotlib notebook\n",
"test_pred = plt.scatter(actual, y_pred, color='b')\n",
"test_test = plt.scatter(actual, actual, color='g')\n",
"plt.legend((test_pred, test_test), ('prediction', 'truth'), loc='upper left', fontsize=8)\n",
"from sklearn.metrics import confusion_matrix\n",
"import numpy as np\n",
"import itertools\n",
"\n",
"cf =confusion_matrix(actual,y_pred)\n",
"plt.imshow(cf,cmap=plt.cm.Blues,interpolation='nearest')\n",
"plt.colorbar()\n",
"plt.title('Confusion Matrix')\n",
"plt.xlabel('Predicted')\n",
"plt.ylabel('Actual')\n",
"class_labels = ['no','yes']\n",
"tick_marks = np.arange(len(class_labels))\n",
"plt.xticks(tick_marks,class_labels)\n",
"plt.yticks([-0.5,0,1,1.5],['','no','yes',''])\n",
"# plotting text value inside cells\n",
"thresh = cf.max() / 2.\n",
"for i,j in itertools.product(range(cf.shape[0]),range(cf.shape[1])):\n",
" plt.text(j,i,format(cf[i,j],'d'),horizontalalignment='center',color='white' if cf[i,j] >thresh else 'black')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Delete a Web Service\n",
"\n",
"Deletes the specified web service."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"aci_service.delete()"
]
},
{
"cell_type": "markdown",
"metadata": {},

View File

@@ -2,7 +2,3 @@ name: auto-ml-classification-bank-marketing-all-features
dependencies:
- pip:
- azureml-sdk
- azureml-train-automl
- azureml-widgets
- matplotlib
- onnxruntime==1.0.0

View File

@@ -93,7 +93,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -232,7 +232,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Call the `submit` method on the experiment object and pass the run configuration. Depending on the data and the number of iterations this can run for a while."
"Call the `submit` method on the experiment object and pass the run configuration. Depending on the data and the number of iterations this can run for a while. Validation errors and current status will be shown when setting `show_output=True` and the execution will be synchronous."
]
},
{

View File

@@ -2,6 +2,3 @@ name: auto-ml-classification-credit-card-fraud
dependencies:
- pip:
- azureml-sdk
- azureml-train-automl
- azureml-widgets
- matplotlib

View File

@@ -97,7 +97,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},

View File

@@ -2,11 +2,3 @@ name: auto-ml-classification-text-dnn
dependencies:
- pip:
- azureml-sdk
- azureml-train-automl
- azureml-widgets
- matplotlib
- https://download.pytorch.org/whl/cpu/torch-1.1.0-cp35-cp35m-win_amd64.whl
- sentencepiece==0.1.82
- pytorch-transformers==1.0
- spacy==2.1.8
- https://aka.ms/automl-resources/packages/en_core_web_sm-2.1.0.tar.gz

View File

@@ -88,7 +88,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -201,10 +201,9 @@
"conda_run_config.environment.docker.enabled = True\n",
"conda_run_config.environment.docker.base_image = azureml.core.runconfig.DEFAULT_CPU_IMAGE\n",
"\n",
"cd = CondaDependencies.create(pip_packages=['azureml-sdk[automl]', 'applicationinsights', 'azureml-opendatasets'], \n",
"cd = CondaDependencies.create(pip_packages=['azureml-sdk[automl]', 'applicationinsights', 'azureml-opendatasets', 'azureml-defaults'], \n",
" conda_packages=['numpy==1.16.2'], \n",
" pin_sdk_version=False)\n",
"#cd.add_pip_package('azureml-explain-model')\n",
"conda_run_config.environment.python.conda_dependencies = cd\n",
"\n",
"print('run config is ready')"

View File

@@ -2,7 +2,3 @@ name: auto-ml-continuous-retraining
dependencies:
- pip:
- azureml-sdk
- azureml-train-automl
- azureml-widgets
- matplotlib
- azureml-pipeline

View File

@@ -114,7 +114,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -217,7 +217,7 @@
"\n",
"**Time column** is the time axis along which to predict.\n",
"\n",
"**Grain** is another word for an individual time series in your dataset. Grains are identified by values of the columns listed `grain_column_names`, for example \"store\" and \"item\" if your data has multiple time series of sales, one series for each combination of store and item sold.\n",
"**Time series identifier columns** are identified by values of the columns listed `time_series_id_column_names`, for example \"store\" and \"item\" if your data has multiple time series of sales, one series for each combination of store and item sold.\n",
"\n",
"This dataset has only one time series. Please see the [orange juice notebook](https://github.com/Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales) for an example of a multi-time series dataset."
]
@@ -269,7 +269,7 @@
"source": [
"target_column_name = 'BeerProduction'\n",
"time_column_name = 'DATE'\n",
"grain_column_names = []\n",
"time_series_id_column_names = []\n",
"freq = 'M' #Monthly data"
]
},
@@ -329,7 +329,7 @@
},
"outputs": [],
"source": [
"max_horizon = 12"
"forecast_horizon = 12"
]
},
{
@@ -352,8 +352,6 @@
"|**label_column_name**|The name of the label column.|\n",
"|**enable_dnn**|Enable Forecasting DNNs|\n",
"\n",
"This notebook uses the blacklist_models parameter to exclude some models that take a longer time to train on this dataset. You can choose to remove models from the blacklist_models list but you may need to increase the iteration_timeout_minutes parameter value to get results.\n",
"\n",
"This step requires an Enterprise workspace to gain access to this feature. To learn more about creating an Enterprise workspace or upgrading to an Enterprise workspace from the Azure portal, please visit our [Workspace page.](https://docs.microsoft.com/azure/machine-learning/service/concept-workspace#upgrade)."
]
},
@@ -366,11 +364,10 @@
},
"outputs": [],
"source": [
"automl_settings = {\n",
" 'time_column_name': time_column_name,\n",
" 'max_horizon': max_horizon,\n",
" 'enable_dnn' : True,\n",
"}\n",
"from azureml.automl.core.forecasting_parameters import ForecastingParameters\n",
"forecasting_parameters = ForecastingParameters(\n",
" time_column_name=time_column_name, forecast_horizon=forecast_horizon\n",
")\n",
"\n",
"automl_config = AutoMLConfig(task='forecasting', \n",
" primary_metric='normalized_root_mean_squared_error',\n",
@@ -382,7 +379,8 @@
" compute_target=compute_target,\n",
" max_concurrent_iterations=4,\n",
" max_cores_per_iteration=-1,\n",
" **automl_settings)"
" enable_dnn=True,\n",
" forecasting_parameters=forecasting_parameters)"
]
},
{
@@ -392,7 +390,7 @@
"hidePrompt": false
},
"source": [
"We will now run the experiment, starting with 10 iterations of model search. The experiment can be continued for more iterations if more accurate results are required."
"We will now run the experiment, starting with 10 iterations of model search. The experiment can be continued for more iterations if more accurate results are required. Validation errors and current status will be shown when setting `show_output=True` and the execution will be synchronous."
]
},
{
@@ -583,7 +581,7 @@
"source": [
"from helper import run_inference\n",
"\n",
"test_run = run_inference(test_experiment, compute_target, script_folder, best_dnn_run, test_dataset, valid_dataset, max_horizon,\n",
"test_run = run_inference(test_experiment, compute_target, script_folder, best_dnn_run, test_dataset, valid_dataset, forecast_horizon,\n",
" target_column_name, time_column_name, freq)"
]
},
@@ -605,7 +603,7 @@
"from helper import run_multiple_inferences\n",
"\n",
"summary_df = run_multiple_inferences(summary_df, experiment, test_experiment, compute_target, script_folder, test_dataset, \n",
" valid_dataset, max_horizon, target_column_name, time_column_name, freq)"
" valid_dataset, forecast_horizon, target_column_name, time_column_name, freq)"
]
},
{

View File

@@ -1,11 +1,4 @@
name: auto-ml-forecasting-beer-remote
dependencies:
- py-xgboost<=0.90
- pip:
- azureml-sdk
- numpy==1.16.2
- pandas==0.23.4
- azureml-train-automl
- azureml-widgets
- matplotlib
- azureml-train

View File

@@ -87,7 +87,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -238,6 +238,22 @@
"test.to_pandas_dataframe().head(5).reset_index(drop=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Forecasting Parameters\n",
"To define forecasting parameters for your experiment training, you can leverage the ForecastingParameters class. The table below details the forecasting parameter we will be passing into our experiment.\n",
"\n",
"|Property|Description|\n",
"|-|-|\n",
"|**time_column_name**|The name of your time column.|\n",
"|**forecast_horizon**|The forecast horizon is how many periods forward you would like to forecast. This integer horizon is in units of the timeseries frequency (e.g. daily, weekly).|\n",
"|**country_or_region_for_holidays**|The country/region used to generate holiday features. These should be ISO 3166 two-letter country/region codes (i.e. 'US', 'GB').|\n",
"|**target_lags**|The target_lags specifies how far back we will construct the lags of the target variable.|\n",
"|**drop_column_names**|Name(s) of columns to drop prior to modeling|"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -250,20 +266,16 @@
"|-|-|\n",
"|**task**|forecasting|\n",
"|**primary_metric**|This is the metric that you want to optimize.<br> Forecasting supports the following primary metrics <br><i>spearman_correlation</i><br><i>normalized_root_mean_squared_error</i><br><i>r2_score</i><br><i>normalized_mean_absolute_error</i>\n",
"|**blacklist_models**|Models in blacklist won't be used by AutoML. All supported models can be found at [here](https://docs.microsoft.com/en-us/python/api/azureml-train-automl-client/azureml.train.automl.constants.supportedmodels.forecasting?view=azure-ml-py).|\n",
"|**blocked_models**|Models in blocked_models won't be used by AutoML. All supported models can be found at [here](https://docs.microsoft.com/en-us/python/api/azureml-train-automl-client/azureml.train.automl.constants.supportedmodels.forecasting?view=azure-ml-py).|\n",
"|**experiment_timeout_hours**|Experimentation timeout in hours.|\n",
"|**training_data**|Input dataset, containing both features and label column.|\n",
"|**label_column_name**|The name of the label column.|\n",
"|**compute_target**|The remote compute for training.|\n",
"|**n_cross_validations**|Number of cross validation splits.|\n",
"|**enable_early_stopping**|If early stopping is on, training will stop when the primary metric is no longer improving.|\n",
"|**time_column_name**|Name of the datetime column in the input data|\n",
"|**max_horizon**|Maximum desired forecast horizon in units of time-series frequency|\n",
"|**country_or_region**|The country/region used to generate holiday features. These should be ISO 3166 two-letter country/region codes (i.e. 'US', 'GB').|\n",
"|**target_lags**|The target_lags specifies how far back we will construct the lags of the target variable.|\n",
"|**drop_column_names**|Name(s) of columns to drop prior to modeling|\n",
"|**forecasting_parameters**|A class that holds all the forecasting related parameters.|\n",
"\n",
"This notebook uses the blacklist_models parameter to exclude some models that take a longer time to train on this dataset. You can choose to remove models from the blacklist_models list but you may need to increase the experiment_timeout_hours parameter value to get results."
"This notebook uses the blocked_models parameter to exclude some models that take a longer time to train on this dataset. You can choose to remove models from the blocked_models list but you may need to increase the experiment_timeout_hours parameter value to get results."
]
},
{
@@ -281,7 +293,7 @@
"metadata": {},
"outputs": [],
"source": [
"max_horizon = 14"
"forecast_horizon = 14"
]
},
{
@@ -297,17 +309,18 @@
"metadata": {},
"outputs": [],
"source": [
"time_series_settings = {\n",
" 'time_column_name': time_column_name,\n",
" 'max_horizon': max_horizon, \n",
" 'country_or_region': 'US', # set country_or_region will trigger holiday featurizer\n",
" 'target_lags': 'auto', # use heuristic based lag setting \n",
" 'drop_column_names': ['casual', 'registered'] # these columns are a breakdown of the total and therefore a leak\n",
"}\n",
"from azureml.automl.core.forecasting_parameters import ForecastingParameters\n",
"forecasting_parameters = ForecastingParameters(\n",
" time_column_name=time_column_name,\n",
" forecast_horizon=forecast_horizon,\n",
" country_or_region_for_holidays='US', # set country_or_region will trigger holiday featurizer\n",
" target_lags='auto', # use heuristic based lag setting \n",
" drop_column_names=['casual', 'registered'] # these columns are a breakdown of the total and therefore a leak\n",
")\n",
"\n",
"automl_config = AutoMLConfig(task='forecasting', \n",
" primary_metric='normalized_root_mean_squared_error',\n",
" blacklist_models = ['ExtremeRandomTrees'], \n",
" blocked_models = ['ExtremeRandomTrees'], \n",
" experiment_timeout_hours=0.3,\n",
" training_data=train,\n",
" label_column_name=target_column_name,\n",
@@ -317,7 +330,7 @@
" max_concurrent_iterations=4,\n",
" max_cores_per_iteration=-1,\n",
" verbosity=logging.INFO,\n",
" **time_series_settings)"
" forecasting_parameters=forecasting_parameters)"
]
},
{
@@ -422,7 +435,7 @@
"source": [
"We now use the best fitted model from the AutoML Run to make forecasts for the test set. We will do batch scoring on the test dataset which should have the same schema as training dataset.\n",
"\n",
"The scoring will run on a remote compute. In this example, it will reuse the training compute.|"
"The scoring will run on a remote compute. In this example, it will reuse the training compute."
]
},
{
@@ -439,7 +452,7 @@
"metadata": {},
"source": [
"### Retrieving forecasts from the model\n",
"To run the forecast on the remote compute we will use two helper scripts: forecasting_script and forecasting_helper. These scripts contain the utility methods which will be used by the remote estimator. We copy these scripts to the project folder to upload them to remote compute."
"To run the forecast on the remote compute we will use a helper script: forecasting_script. This script contains the utility methods which will be used by the remote estimator. We copy the script to the project folder to upload it to remote compute."
]
},
{
@@ -453,15 +466,14 @@
"\n",
"script_folder = os.path.join(os.getcwd(), 'forecast')\n",
"os.makedirs(script_folder, exist_ok=True)\n",
"shutil.copy('forecasting_script.py', script_folder)\n",
"shutil.copy('forecasting_helper.py', script_folder)"
"shutil.copy('forecasting_script.py', script_folder)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For brevity we have created the function called run_forecast. It submits the test data to the best model and run the estimation on the selected compute target."
"For brevity, we have created a function called run_forecast that submits the test data to the best model determined during the training run and retrieves forecasts. The test set is longer than the forecast horizon specified at train time, so the forecasting script uses a so-called rolling evaluation to generate predictions over the whole test set. A rolling evaluation iterates the forecaster over the test set, using the actuals in the test set to make lag features as needed. "
]
},
{
@@ -472,8 +484,7 @@
"source": [
"from run_forecast import run_rolling_forecast\n",
"\n",
"remote_run = run_rolling_forecast(test_experiment, compute_target, best_run, test, max_horizon,\n",
" target_column_name, time_column_name)\n",
"remote_run = run_rolling_forecast(test_experiment, compute_target, best_run, test, target_column_name)\n",
"remote_run"
]
},
@@ -537,7 +548,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"The MAPE seems high; it is being skewed by an actual with a small absolute value. For a more informative evaluation, we can calculate the metrics by forecast horizon:"
"Since we did a rolling evaluation on the test set, we can analyze the predictions by their forecast horizon relative to the rolling origin. The model was initially trained at a forecast horizon of 14, so each prediction from the model is associated with a horizon value from 1 to 14. The horizon values are in a column named, \"horizon_origin,\" in the prediction set. For example, we can calculate some of the error metrics grouped by the horizon:"
]
},
{
@@ -557,7 +568,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"It's also interesting to see the distributions of APE (absolute percentage error) by horizon. On a log scale, the outlying APE in the horizon-3 group is clear."
"To drill down more, we can look at the distributions of APE (absolute percentage error) by horizon. From the chart, it is clear that the overall MAPE is being skewed by one particular point where the actual value is of small absolute value."
]
},
{
@@ -567,7 +578,7 @@
"outputs": [],
"source": [
"df_all_APE = df_all.assign(APE=APE(df_all[target_column_name], df_all['predicted']))\n",
"APEs = [df_all_APE[df_all['horizon_origin'] == h].APE.values for h in range(1, max_horizon + 1)]\n",
"APEs = [df_all_APE[df_all['horizon_origin'] == h].APE.values for h in range(1, forecast_horizon + 1)]\n",
"\n",
"%matplotlib inline\n",
"plt.boxplot(APEs)\n",
@@ -631,5 +642,5 @@
"version": 3
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}

View File

@@ -1,10 +1,4 @@
name: auto-ml-forecasting-bike-share
dependencies:
- py-xgboost<=0.90
- pip:
- azureml-sdk
- numpy==1.16.2
- pandas==0.23.4
- azureml-train-automl
- azureml-widgets
- matplotlib

View File

@@ -1,99 +0,0 @@
import pandas as pd
import numpy as np
from pandas.tseries.frequencies import to_offset
def align_outputs(y_predicted, X_trans, X_test, y_test, target_column_name,
predicted_column_name='predicted',
horizon_colname='horizon_origin'):
"""
Demonstrates how to get the output aligned to the inputs
using pandas indexes. Helps understand what happened if
the output's shape differs from the input shape, or if
the data got re-sorted by time and grain during forecasting.
Typical causes of misalignment are:
* we predicted some periods that were missing in actuals -> drop from eval
* model was asked to predict past max_horizon -> increase max horizon
* data at start of X_test was needed for lags -> provide previous periods
"""
if (horizon_colname in X_trans):
df_fcst = pd.DataFrame({predicted_column_name: y_predicted,
horizon_colname: X_trans[horizon_colname]})
else:
df_fcst = pd.DataFrame({predicted_column_name: y_predicted})
# y and X outputs are aligned by forecast() function contract
df_fcst.index = X_trans.index
# align original X_test to y_test
X_test_full = X_test.copy()
X_test_full[target_column_name] = y_test
# X_test_full's index does not include origin, so reset for merge
df_fcst.reset_index(inplace=True)
X_test_full = X_test_full.reset_index().drop(columns='index')
together = df_fcst.merge(X_test_full, how='right')
# drop rows where prediction or actuals are nan
# happens because of missing actuals
# or at edges of time due to lags/rolling windows
clean = together[together[[target_column_name,
predicted_column_name]].notnull().all(axis=1)]
return(clean)
def do_rolling_forecast(fitted_model, X_test, y_test, target_column_name,
time_column_name, max_horizon, freq='D'):
"""
Produce forecasts on a rolling origin over the given test set.
Each iteration makes a forecast for the next 'max_horizon' periods
with respect to the current origin, then advances the origin by the
horizon time duration. The prediction context for each forecast is set so
that the forecaster uses the actual target values prior to the current
origin time for constructing lag features.
This function returns a concatenated DataFrame of rolling forecasts.
"""
df_list = []
origin_time = X_test[time_column_name].min()
while origin_time <= X_test[time_column_name].max():
# Set the horizon time - end date of the forecast
horizon_time = origin_time + max_horizon * to_offset(freq)
# Extract test data from an expanding window up-to the horizon
expand_wind = (X_test[time_column_name] < horizon_time)
X_test_expand = X_test[expand_wind]
y_query_expand = np.zeros(len(X_test_expand)).astype(np.float)
y_query_expand.fill(np.NaN)
if origin_time != X_test[time_column_name].min():
# Set the context by including actuals up-to the origin time
test_context_expand_wind = (X_test[time_column_name] < origin_time)
context_expand_wind = (
X_test_expand[time_column_name] < origin_time)
y_query_expand[context_expand_wind] = y_test[
test_context_expand_wind]
# Make a forecast out to the maximum horizon
y_fcst, X_trans = fitted_model.forecast(X_test_expand, y_query_expand)
# Align forecast with test set for dates within the
# current rolling window
trans_tindex = X_trans.index.get_level_values(time_column_name)
trans_roll_wind = (trans_tindex >= origin_time) & (
trans_tindex < horizon_time)
test_roll_wind = expand_wind & (
X_test[time_column_name] >= origin_time)
df_list.append(align_outputs(y_fcst[trans_roll_wind],
X_trans[trans_roll_wind],
X_test[test_roll_wind],
y_test[test_roll_wind],
target_column_name))
# Advance the origin time
origin_time = horizon_time
return pd.concat(df_list, ignore_index=True)

View File

@@ -1,37 +1,21 @@
import argparse
import azureml.train.automl
from azureml.automl.runtime.shared import forecasting_models
from azureml.core import Run
from sklearn.externals import joblib
import forecasting_helper
parser = argparse.ArgumentParser()
parser.add_argument(
'--max_horizon', type=int, dest='max_horizon',
default=10, help='Max Horizon for forecasting')
parser.add_argument(
'--target_column_name', type=str, dest='target_column_name',
help='Target Column Name')
parser.add_argument(
'--time_column_name', type=str, dest='time_column_name',
help='Time Column Name')
parser.add_argument(
'--frequency', type=str, dest='freq',
help='Frequency of prediction')
args = parser.parse_args()
max_horizon = args.max_horizon
target_column_name = args.target_column_name
time_column_name = args.time_column_name
freq = args.freq
run = Run.get_context()
# get input dataset by name
test_dataset = run.input_datasets['test_data']
grain_column_names = []
df = test_dataset.to_pandas_dataframe().reset_index(drop=True)
X_test_df = test_dataset.drop_columns(columns=[target_column_name]).to_pandas_dataframe().reset_index(drop=True)
@@ -39,14 +23,12 @@ y_test_df = test_dataset.with_timestamp_columns(None).keep_columns(columns=[targ
fitted_model = joblib.load('model.pkl')
df_all = forecasting_helper.do_rolling_forecast(
fitted_model,
X_test_df,
y_test_df.values.T[0],
target_column_name,
time_column_name,
max_horizon,
freq)
y_pred, X_trans = fitted_model.rolling_evaluation(X_test_df, y_test_df.values)
# Add predictions, actuals, and horizon relative to rolling origin to the test feature data
assign_dict = {'horizon_origin': X_trans['horizon_origin'].values, 'predicted': y_pred,
target_column_name: y_test_df[target_column_name].values}
df_all = X_test_df.assign(**assign_dict)
file_name = 'outputs/predictions.csv'
export_csv = df_all.to_csv(file_name, header=True)

View File

@@ -5,8 +5,7 @@ from azureml.core.run import Run
def run_rolling_forecast(test_experiment, compute_target, train_run, test_dataset,
max_horizon, target_column_name, time_column_name,
freq='D', inference_folder='./forecast'):
target_column_name, inference_folder='./forecast'):
condafile = inference_folder + '/condafile.yml'
train_run.download_file('outputs/model.pkl',
inference_folder + '/model.pkl')
@@ -20,10 +19,7 @@ def run_rolling_forecast(test_experiment, compute_target, train_run, test_datase
est = Estimator(source_directory=inference_folder,
entry_script='forecasting_script.py',
script_params={
'--max_horizon': max_horizon,
'--target_column_name': target_column_name,
'--time_column_name': time_column_name,
'--frequency': freq
'--target_column_name': target_column_name
},
inputs=[test_dataset.as_named_input('test_data')],
compute_target=compute_target,

View File

@@ -97,7 +97,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -288,7 +288,20 @@
"metadata": {},
"outputs": [],
"source": [
"max_horizon = 48"
"forecast_horizon = 48"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Forecasting Parameters\n",
"To define forecasting parameters for your experiment training, you can leverage the ForecastingParameters class. The table below details the forecasting parameter we will be passing into our experiment.\n",
"\n",
"|Property|Description|\n",
"|-|-|\n",
"|**time_column_name**|The name of your time column.|\n",
"|**forecast_horizon**|The forecast horizon is how many periods forward you would like to forecast. This integer horizon is in units of the timeseries frequency (e.g. daily, weekly).|"
]
},
{
@@ -297,28 +310,27 @@
"source": [
"## Train\n",
"\n",
"Instantiate an AutoMLConfig object. This config defines the settings and data used to run the experiment. We can provide extra configurations within 'automl_settings', for this forecasting task we add the name of the time column and the maximum forecast horizon.\n",
"Instantiate an AutoMLConfig object. This config defines the settings and data used to run the experiment. We can provide extra configurations within 'automl_settings', for this forecasting task we add the forecasting parameters to hold all the additional forecasting parameters.\n",
"\n",
"|Property|Description|\n",
"|-|-|\n",
"|**task**|forecasting|\n",
"|**primary_metric**|This is the metric that you want to optimize.<br> Forecasting supports the following primary metrics <br><i>spearman_correlation</i><br><i>normalized_root_mean_squared_error</i><br><i>r2_score</i><br><i>normalized_mean_absolute_error</i>|\n",
"|**blacklist_models**|Models in blacklist won't be used by AutoML. All supported models can be found at [here](https://docs.microsoft.com/en-us/python/api/azureml-train-automl-client/azureml.train.automl.constants.supportedmodels.forecasting?view=azure-ml-py).|\n",
"|**blocked_models**|Models in blocked_models won't be used by AutoML. All supported models can be found at [here](https://docs.microsoft.com/en-us/python/api/azureml-train-automl-client/azureml.train.automl.constants.supportedmodels.forecasting?view=azure-ml-py).|\n",
"|**experiment_timeout_hours**|Maximum amount of time in hours that the experiment take before it terminates.|\n",
"|**training_data**|The training data to be used within the experiment.|\n",
"|**label_column_name**|The name of the label column.|\n",
"|**compute_target**|The remote compute for training.|\n",
"|**n_cross_validations**|Number of cross validation splits. Rolling Origin Validation is used to split time-series in a temporally consistent way.|\n",
"|**enable_early_stopping**|Flag to enble early termination if the score is not improving in the short term.|\n",
"|**time_column_name**|The name of your time column.|\n",
"|**max_horizon**|The number of periods out you would like to predict past your training data. Periods are inferred from your data.|\n"
"|**forecasting_parameters**|A class holds all the forecasting related parameters.|\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook uses the blacklist_models parameter to exclude some models that take a longer time to train on this dataset. You can choose to remove models from the blacklist_models list but you may need to increase the experiment_timeout_hours parameter value to get results."
"This notebook uses the blocked_models parameter to exclude some models that take a longer time to train on this dataset. You can choose to remove models from the blocked_models list but you may need to increase the experiment_timeout_hours parameter value to get results."
]
},
{
@@ -327,14 +339,14 @@
"metadata": {},
"outputs": [],
"source": [
"automl_settings = {\n",
" 'time_column_name': time_column_name,\n",
" 'max_horizon': max_horizon,\n",
"}\n",
"from azureml.automl.core.forecasting_parameters import ForecastingParameters\n",
"forecasting_parameters = ForecastingParameters(\n",
" time_column_name=time_column_name, forecast_horizon=forecast_horizon\n",
")\n",
"\n",
"automl_config = AutoMLConfig(task='forecasting', \n",
" primary_metric='normalized_root_mean_squared_error',\n",
" blacklist_models = ['ExtremeRandomTrees', 'AutoArima', 'Prophet'], \n",
" blocked_models = ['ExtremeRandomTrees', 'AutoArima', 'Prophet'], \n",
" experiment_timeout_hours=0.3,\n",
" training_data=train,\n",
" label_column_name=target_column_name,\n",
@@ -342,7 +354,7 @@
" enable_early_stopping=True,\n",
" n_cross_validations=3, \n",
" verbosity=logging.INFO,\n",
" **automl_settings)"
" forecasting_parameters=forecasting_parameters)"
]
},
{
@@ -550,7 +562,7 @@
"metadata": {},
"source": [
"## Advanced Training <a id=\"advanced_training\"></a>\n",
"We did not use lags in the previous model specification. In effect, the prediction was the result of a simple regression on date, grain and any additional features. This is often a very good prediction as common time series patterns like seasonality and trends can be captured in this manner. Such simple regression is horizon-less: it doesn't matter how far into the future we are predicting, because we are not using past data. In the previous example, the horizon was only used to split the data for cross-validation."
"We did not use lags in the previous model specification. In effect, the prediction was the result of a simple regression on date, time series identifier columns and any additional features. This is often a very good prediction as common time series patterns like seasonality and trends can be captured in this manner. Such simple regression is horizon-less: it doesn't matter how far into the future we are predicting, because we are not using past data. In the previous example, the horizon was only used to split the data for cross-validation."
]
},
{
@@ -558,9 +570,9 @@
"metadata": {},
"source": [
"### Using lags and rolling window features\n",
"Now we will configure the target lags, that is the previous values of the target variables, meaning the prediction is no longer horizon-less. We therefore must still specify the `max_horizon` that the model will learn to forecast. The `target_lags` keyword specifies how far back we will construct the lags of the target variable, and the `target_rolling_window_size` specifies the size of the rolling window over which we will generate the `max`, `min` and `sum` features.\n",
"Now we will configure the target lags, that is the previous values of the target variables, meaning the prediction is no longer horizon-less. We therefore must still specify the `forecast_horizon` that the model will learn to forecast. The `target_lags` keyword specifies how far back we will construct the lags of the target variable, and the `target_rolling_window_size` specifies the size of the rolling window over which we will generate the `max`, `min` and `sum` features.\n",
"\n",
"This notebook uses the blacklist_models parameter to exclude some models that take a longer time to train on this dataset. You can choose to remove models from the blacklist_models list but you may need to increase the iteration_timeout_minutes parameter value to get results."
"This notebook uses the blocked_models parameter to exclude some models that take a longer time to train on this dataset. You can choose to remove models from the blocked_models list but you may need to increase the iteration_timeout_minutes parameter value to get results."
]
},
{
@@ -569,16 +581,14 @@
"metadata": {},
"outputs": [],
"source": [
"automl_advanced_settings = {\n",
" 'time_column_name': time_column_name,\n",
" 'max_horizon': max_horizon,\n",
" 'target_lags': 12,\n",
" 'target_rolling_window_size': 4,\n",
"}\n",
"advanced_forecasting_parameters = ForecastingParameters(\n",
" time_column_name=time_column_name, forecast_horizon=forecast_horizon,\n",
" target_lags=12, target_rolling_window_size=4\n",
")\n",
"\n",
"automl_config = AutoMLConfig(task='forecasting', \n",
" primary_metric='normalized_root_mean_squared_error',\n",
" blacklist_models = ['ElasticNet','ExtremeRandomTrees','GradientBoosting','XGBoostRegressor','ExtremeRandomTrees', 'AutoArima', 'Prophet'], #These models are blacklisted for tutorial purposes, remove this for real use cases. \n",
" blocked_models = ['ElasticNet','ExtremeRandomTrees','GradientBoosting','XGBoostRegressor','ExtremeRandomTrees', 'AutoArima', 'Prophet'], #These models are blocked for tutorial purposes, remove this for real use cases. \n",
" experiment_timeout_hours=0.3,\n",
" training_data=train,\n",
" label_column_name=target_column_name,\n",
@@ -586,7 +596,7 @@
" enable_early_stopping = True,\n",
" n_cross_validations=3, \n",
" verbosity=logging.INFO,\n",
" **automl_advanced_settings)"
" forecasting_parameters=advanced_forecasting_parameters)"
]
},
{
@@ -635,7 +645,7 @@
"metadata": {},
"source": [
"## Advanced Results<a id=\"advanced_results\"></a>\n",
"We did not use lags in the previous model specification. In effect, the prediction was the result of a simple regression on date, grain and any additional features. This is often a very good prediction as common time series patterns like seasonality and trends can be captured in this manner. Such simple regression is horizon-less: it doesn't matter how far into the future we are predicting, because we are not using past data. In the previous example, the horizon was only used to split the data for cross-validation."
"We did not use lags in the previous model specification. In effect, the prediction was the result of a simple regression on date, time series identifier columns and any additional features. This is often a very good prediction as common time series patterns like seasonality and trends can be captured in this manner. Such simple regression is horizon-less: it doesn't matter how far into the future we are predicting, because we are not using past data. In the previous example, the horizon was only used to split the data for cross-validation."
]
},
{

View File

@@ -2,8 +2,3 @@ name: auto-ml-forecasting-energy-demand
dependencies:
- pip:
- azureml-sdk
- numpy==1.16.2
- pandas==0.23.4
- azureml-train-automl
- azureml-widgets
- matplotlib

View File

@@ -94,7 +94,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -142,15 +142,15 @@
"outputs": [],
"source": [
"TIME_COLUMN_NAME = 'date'\n",
"GRAIN_COLUMN_NAME = 'grain'\n",
"TIME_SERIES_ID_COLUMN_NAME = 'time_series_id'\n",
"TARGET_COLUMN_NAME = 'y'\n",
"\n",
"def get_timeseries(train_len: int,\n",
" test_len: int,\n",
" time_column_name: str,\n",
" target_column_name: str,\n",
" grain_column_name: str,\n",
" grains: int = 1,\n",
" time_series_id_column_name: str,\n",
" time_series_number: int = 1,\n",
" freq: str = 'H'):\n",
" \"\"\"\n",
" Return the time series of designed length.\n",
@@ -161,9 +161,8 @@
" :type test_len: int\n",
" :param time_column_name: The desired name of a time column.\n",
" :type time_column_name: str\n",
" :param\n",
" :param grains: The number of grains.\n",
" :type grains: int\n",
" :param time_series_number: The number of time series in the data set.\n",
" :type time_series_number: int\n",
" :param freq: The frequency string representing pandas offset.\n",
" see https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html\n",
" :type freq: str\n",
@@ -174,14 +173,14 @@
" data_train = [] # type: List[pd.DataFrame]\n",
" data_test = [] # type: List[pd.DataFrame]\n",
" data_length = train_len + test_len\n",
" for i in range(grains):\n",
" for i in range(time_series_number):\n",
" X = pd.DataFrame({\n",
" time_column_name: pd.date_range(start='2000-01-01',\n",
" periods=data_length,\n",
" freq=freq),\n",
" target_column_name: np.arange(data_length).astype(float) + np.random.rand(data_length) + i*5,\n",
" 'ext_predictor': np.asarray(range(42, 42 + data_length)),\n",
" grain_column_name: np.repeat('g{}'.format(i), data_length)\n",
" time_series_id_column_name: np.repeat('ts{}'.format(i), data_length)\n",
" })\n",
" data_train.append(X[:train_len])\n",
" data_test.append(X[train_len:])\n",
@@ -197,8 +196,8 @@
" test_len=n_test_periods,\n",
" time_column_name=TIME_COLUMN_NAME,\n",
" target_column_name=TARGET_COLUMN_NAME,\n",
" grain_column_name=GRAIN_COLUMN_NAME,\n",
" grains=2)"
" time_series_id_column_name=TIME_SERIES_ID_COLUMN_NAME,\n",
" time_series_number=2)"
]
},
{
@@ -228,7 +227,7 @@
"whole_data = X_train.copy()\n",
"target_label = 'y'\n",
"whole_data[target_label] = y_train\n",
"for g in whole_data.groupby('grain'): \n",
"for g in whole_data.groupby('time_series_id'): \n",
" plt.plot(g[1]['date'].values, g[1]['y'].values, label=g[0])\n",
"plt.legend()\n",
"plt.show()"
@@ -297,7 +296,7 @@
"source": [
"## Create the configuration and train a forecaster <a id=\"train\"></a>\n",
"First generate the configuration, in which we:\n",
"* Set metadata columns: target, time column and grain column names.\n",
"* Set metadata columns: target, time column and time-series id column names.\n",
"* Validate our data using cross validation with rolling window method.\n",
"* Set normalized root mean squared error as a metric to select the best model.\n",
"* Set early termination to True, so the iterations through the models will stop when no improvements in accuracy score will be made.\n",
@@ -312,21 +311,22 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.automl.core.forecasting_parameters import ForecastingParameters\n",
"lags = [1,2,3]\n",
"max_horizon = n_test_periods\n",
"time_series_settings = { \n",
" 'time_column_name': TIME_COLUMN_NAME,\n",
" 'grain_column_names': [ GRAIN_COLUMN_NAME ],\n",
" 'max_horizon': max_horizon,\n",
" 'target_lags': lags\n",
"}"
"forecast_horizon = n_test_periods\n",
"forecasting_parameters = ForecastingParameters(\n",
" time_column_name=TIME_COLUMN_NAME,\n",
" forecast_horizon=forecast_horizon,\n",
" time_series_id_column_names=[ TIME_SERIES_ID_COLUMN_NAME ],\n",
" target_lags=lags\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run the model selection and training process."
"Run the model selection and training process. Validation errors and current status will be shown when setting `show_output=True` and the execution will be synchronous."
]
},
{
@@ -352,7 +352,7 @@
" max_concurrent_iterations=4,\n",
" max_cores_per_iteration=-1,\n",
" label_column_name=target_label,\n",
" **time_series_settings)\n",
" forecasting_parameters=forecasting_parameters)\n",
"\n",
"remote_run = experiment.submit(automl_config, show_output=False)"
]
@@ -482,7 +482,7 @@
"# use forecast_quantiles function, not the forecast() one\n",
"y_pred_quantiles = fitted_model.forecast_quantiles(X_test)\n",
"\n",
"# quantile forecasts returned in a Dataframe along with the time and grain columns \n",
"# quantile forecasts returned in a Dataframe along with the time and time series id columns \n",
"y_pred_quantiles"
]
},
@@ -492,7 +492,7 @@
"source": [
"#### Destination-date forecast: \"just do something\"\n",
"\n",
"In some scenarios, the X_test is not known. The forecast is likely to be weak, because it is missing contemporaneous predictors, which we will need to impute. If you still wish to predict forward under the assumption that the last known values will be carried forward, you can forecast out to \"destination date\". The destination date still needs to fit within the maximum horizon from training."
"In some scenarios, the X_test is not known. The forecast is likely to be weak, because it is missing contemporaneous predictors, which we will need to impute. If you still wish to predict forward under the assumption that the last known values will be carried forward, you can forecast out to \"destination date\". The destination date still needs to fit within the forecast horizon from training."
]
},
{
@@ -519,7 +519,7 @@
"\n",
"![Forecasting after training](forecast_function_away_from_train.png)\n",
"\n",
"The notion of forecast origin comes into play: the forecast origin is **the last period for which we have seen the target value**. This applies per grain, so each grain can have a different forecast origin. \n",
"The notion of forecast origin comes into play: the forecast origin is **the last period for which we have seen the target value**. This applies per time-series, so each time-series can have a different forecast origin. \n",
"\n",
"The part of data before the forecast origin is the **prediction context**. To provide the context values the model needs when it looks back, we pass definite values in `y_test` (aligned with corresponding times in `X_test`)."
]
@@ -536,13 +536,13 @@
" test_len=4,\n",
" time_column_name=TIME_COLUMN_NAME,\n",
" target_column_name=TARGET_COLUMN_NAME,\n",
" grain_column_name=GRAIN_COLUMN_NAME,\n",
" grains=2)\n",
" time_series_id_column_name=TIME_SERIES_ID_COLUMN_NAME,\n",
" time_series_number=2)\n",
"\n",
"# end of the data we trained on\n",
"print(X_train.groupby(GRAIN_COLUMN_NAME)[TIME_COLUMN_NAME].max())\n",
"print(X_train.groupby(TIME_SERIES_ID_COLUMN_NAME)[TIME_COLUMN_NAME].max())\n",
"# start of the data we want to predict on\n",
"print(X_away.groupby(GRAIN_COLUMN_NAME)[TIME_COLUMN_NAME].min())"
"print(X_away.groupby(TIME_SERIES_ID_COLUMN_NAME)[TIME_COLUMN_NAME].min())"
]
},
{
@@ -569,7 +569,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"How should we read that eror message? The forecast origin is at the last time the model saw an actual value of `y` (the target). That was at the end of the training data! The model is attempting to forecast from the end of training data. But the requested forecast periods are past the maximum horizon. We need to provide a define `y` value to establish the forecast origin.\n",
"How should we read that eror message? The forecast origin is at the last time the model saw an actual value of `y` (the target). That was at the end of the training data! The model is attempting to forecast from the end of training data. But the requested forecast periods are past the forecast horizon. We need to provide a define `y` value to establish the forecast origin.\n",
"\n",
"We will use this helper function to take the required amount of context from the data preceding the testing data. It's definition is intentionally simplified to keep the idea in the clear."
]
@@ -584,7 +584,7 @@
"\n",
" \"\"\"\n",
" This function will take the full dataset, and create the query\n",
" to predict all values of the grain from the `forecast_origin`\n",
" to predict all values of the time series from the `forecast_origin`\n",
" forward for the next `horizon` horizons. Context from previous\n",
" `lookback` periods will be included.\n",
"\n",
@@ -654,8 +654,8 @@
"metadata": {},
"outputs": [],
"source": [
"print(X_context.groupby(GRAIN_COLUMN_NAME)[TIME_COLUMN_NAME].agg(['min','max','count']))\n",
"print(X_away.groupby(GRAIN_COLUMN_NAME)[TIME_COLUMN_NAME].agg(['min','max','count']))\n",
"print(X_context.groupby(TIME_SERIES_ID_COLUMN_NAME)[TIME_COLUMN_NAME].agg(['min','max','count']))\n",
"print(X_away.groupby(TIME_SERIES_ID_COLUMN_NAME)[TIME_COLUMN_NAME].agg(['min','max','count']))\n",
"X_context.tail(5)"
]
},
@@ -685,7 +685,7 @@
"n_lookback_periods = max(lags)\n",
"lookback = pd.DateOffset(hours=n_lookback_periods)\n",
"\n",
"horizon = pd.DateOffset(hours=max_horizon)\n",
"horizon = pd.DateOffset(hours=forecast_horizon)\n",
"\n",
"# now make the forecast query from context (refer to figure)\n",
"X_pred, y_pred = make_forecasting_query(fulldata, TIME_COLUMN_NAME, TARGET_COLUMN_NAME,\n",
@@ -701,7 +701,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that the forecast origin is at 17:00 for both grains, and periods from 18:00 are to be forecast."
"Note that the forecast origin is at 17:00 for both time-series, and periods from 18:00 are to be forecast."
]
},
{
@@ -716,7 +716,7 @@
"# show the forecast aligned\n",
"X_show = xy_away.reset_index()\n",
"# without the generated features\n",
"X_show[['date', 'grain', 'ext_predictor', '_automl_target_col']]\n",
"X_show[['date', 'time_series_id', 'ext_predictor', '_automl_target_col']]\n",
"# prediction is in _automl_target_col"
]
},
@@ -724,14 +724,14 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Forecasting farther than the maximum horizon <a id=\"recursive forecasting\"></a>\n",
"When the forecast destination, or the latest date in the prediction data frame, is farther into the future than the specified maximum horizon, the `forecast()` function will still make point predictions out to the later date using a recursive operation mode. Internally, the method recursively applies the regular forecaster to generate context so that we can forecast further into the future. \n",
"## Forecasting farther than the forecast horizon <a id=\"recursive forecasting\"></a>\n",
"When the forecast destination, or the latest date in the prediction data frame, is farther into the future than the specified forecast horizon, the `forecast()` function will still make point predictions out to the later date using a recursive operation mode. Internally, the method recursively applies the regular forecaster to generate context so that we can forecast further into the future. \n",
"\n",
"To illustrate the use-case and operation of recursive forecasting, we'll consider an example with a single time-series where the forecasting period directly follows the training period and is twice as long as the maximum horizon given at training time.\n",
"To illustrate the use-case and operation of recursive forecasting, we'll consider an example with a single time-series where the forecasting period directly follows the training period and is twice as long as the forecasting horizon given at training time.\n",
"\n",
"![Recursive_forecast_overview](recursive_forecast_overview_small.png)\n",
"\n",
"Internally, we apply the forecaster in an iterative manner and finish the forecast task in two interations. In the first iteration, we apply the forecaster and get the prediction for the first max-horizon periods (y_pred1). In the second iteraction, y_pred1 is used as the context to produce the prediction for the next max-horizon periods (y_pred2). The combination of (y_pred1 and y_pred2) gives the results for the total forecast periods. \n",
"Internally, we apply the forecaster in an iterative manner and finish the forecast task in two interations. In the first iteration, we apply the forecaster and get the prediction for the first forecast-horizon periods (y_pred1). In the second iteraction, y_pred1 is used as the context to produce the prediction for the next forecast-horizon periods (y_pred2). The combination of (y_pred1 and y_pred2) gives the results for the total forecast periods. \n",
"\n",
"A caveat: forecast accuracy will likely be worse the farther we predict into the future since errors are compounded with recursive application of the forecaster.\n",
"\n",
@@ -745,16 +745,17 @@
"metadata": {},
"outputs": [],
"source": [
"# generate the same kind of test data we trained on, but with a single grain/time-series and test period twice as long as the max_horizon\n",
"# generate the same kind of test data we trained on, but with a single time-series and test period twice as long\n",
"# as the forecast_horizon.\n",
"_, _, X_test_long, y_test_long = get_timeseries(train_len=n_train_periods,\n",
" test_len=max_horizon*2,\n",
" test_len=forecast_horizon*2,\n",
" time_column_name=TIME_COLUMN_NAME,\n",
" target_column_name=TARGET_COLUMN_NAME,\n",
" grain_column_name=GRAIN_COLUMN_NAME,\n",
" grains=1)\n",
" time_series_id_column_name=TIME_SERIES_ID_COLUMN_NAME,\n",
" time_series_number=1)\n",
"\n",
"print(X_test_long.groupby(GRAIN_COLUMN_NAME)[TIME_COLUMN_NAME].min())\n",
"print(X_test_long.groupby(GRAIN_COLUMN_NAME)[TIME_COLUMN_NAME].max())"
"print(X_test_long.groupby(TIME_SERIES_ID_COLUMN_NAME)[TIME_COLUMN_NAME].min())\n",
"print(X_test_long.groupby(TIME_SERIES_ID_COLUMN_NAME)[TIME_COLUMN_NAME].max())"
]
},
{
@@ -775,8 +776,8 @@
"outputs": [],
"source": [
"# What forecast() function does in this case is equivalent to iterating it twice over the test set as the following. \n",
"y_pred1, _ = fitted_model.forecast(X_test_long[:max_horizon])\n",
"y_pred_all, _ = fitted_model.forecast(X_test_long, np.concatenate((y_pred1, np.full(max_horizon, np.nan))))\n",
"y_pred1, _ = fitted_model.forecast(X_test_long[:forecast_horizon])\n",
"y_pred_all, _ = fitted_model.forecast(X_test_long, np.concatenate((y_pred1, np.full(forecast_horizon, np.nan))))\n",
"np.array_equal(y_pred_all, y_pred_long)"
]
},
@@ -785,7 +786,7 @@
"metadata": {},
"source": [
"#### Confidence interval and distributional forecasts\n",
"AutoML cannot currently estimate forecast errors beyond the maximum horizon set during training, so the `forecast_quantiles()` function will return missing values for quantiles not equal to 0.5 beyond the maximum horizon. "
"AutoML cannot currently estimate forecast errors beyond the forecast horizon set during training, so the `forecast_quantiles()` function will return missing values for quantiles not equal to 0.5 beyond the forecast horizon. "
]
},
{
@@ -801,7 +802,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Similarly with the simple senarios illustrated above, forecasting farther than the max horizon in other senarios like 'multiple grain', 'Destination-date forecast', and 'forecast away from the training data' are also automatically handled by the `forecast()` function. "
"Similarly with the simple senarios illustrated above, forecasting farther than the forecast horizon in other senarios like 'multiple time-series', 'Destination-date forecast', and 'forecast away from the training data' are also automatically handled by the `forecast()` function. "
]
}
],

View File

@@ -1,10 +1,4 @@
name: auto-ml-forecasting-function
dependencies:
- py-xgboost<=0.90
- pip:
- azureml-sdk
- numpy==1.16.2
- pandas==0.23.4
- azureml-train-automl
- azureml-widgets
- matplotlib

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -82,7 +82,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -178,7 +178,7 @@
"source": [
"Each row in the DataFrame holds a quantity of weekly sales for an OJ brand at a single store. The data also includes the sales price, a flag indicating if the OJ brand was advertised in the store that week, and some customer demographic information based on the store location. For historical reasons, the data also include the logarithm of the sales quantity. The Dominick's grocery data is commonly used to illustrate econometric modeling techniques where logarithms of quantities are generally preferred. \n",
"\n",
"The task is now to build a time-series model for the _Quantity_ column. It is important to note that this dataset is comprised of many individual time-series - one for each unique combination of _Store_ and _Brand_. To distinguish the individual time-series, we thus define the **grain** - the columns whose values determine the boundaries between time-series: "
"The task is now to build a time-series model for the _Quantity_ column. It is important to note that this dataset is comprised of many individual time-series - one for each unique combination of _Store_ and _Brand_. To distinguish the individual time-series, we define the **time_series_id_column_names** - the columns whose values determine the boundaries between time-series: "
]
},
{
@@ -187,8 +187,8 @@
"metadata": {},
"outputs": [],
"source": [
"grain_column_names = ['Store', 'Brand']\n",
"nseries = data.groupby(grain_column_names).ngroups\n",
"time_series_id_column_names = ['Store', 'Brand']\n",
"nseries = data.groupby(time_series_id_column_names).ngroups\n",
"print('Data contains {0} individual time-series.'.format(nseries))"
]
},
@@ -207,7 +207,7 @@
"source": [
"use_stores = [2, 5, 8]\n",
"data_subset = data[data.Store.isin(use_stores)]\n",
"nseries = data_subset.groupby(grain_column_names).ngroups\n",
"nseries = data_subset.groupby(time_series_id_column_names).ngroups\n",
"print('Data subset contains {0} individual time-series.'.format(nseries))"
]
},
@@ -216,7 +216,7 @@
"metadata": {},
"source": [
"### Data Splitting\n",
"We now split the data into a training and a testing set for later forecast evaluation. The test set will contain the final 20 weeks of observed sales for each time-series. The splits should be stratified by series, so we use a group-by statement on the grain columns."
"We now split the data into a training and a testing set for later forecast evaluation. The test set will contain the final 20 weeks of observed sales for each time-series. The splits should be stratified by series, so we use a group-by statement on the time series identifier columns."
]
},
{
@@ -227,15 +227,15 @@
"source": [
"n_test_periods = 20\n",
"\n",
"def split_last_n_by_grain(df, n):\n",
" \"\"\"Group df by grain and split on last n rows for each group.\"\"\"\n",
"def split_last_n_by_series_id(df, n):\n",
" \"\"\"Group df by series identifiers and split on last n rows for each group.\"\"\"\n",
" df_grouped = (df.sort_values(time_column_name) # Sort by ascending time\n",
" .groupby(grain_column_names, group_keys=False))\n",
" .groupby(time_series_id_column_names, group_keys=False))\n",
" df_head = df_grouped.apply(lambda dfg: dfg.iloc[:-n])\n",
" df_tail = df_grouped.apply(lambda dfg: dfg.iloc[-n:])\n",
" return df_head, df_tail\n",
"\n",
"train, test = split_last_n_by_grain(data_subset, n_test_periods)"
"train, test = split_last_n_by_series_id(data_subset, n_test_periods)"
]
},
{
@@ -301,11 +301,11 @@
"For forecasting tasks, AutoML uses pre-processing and estimation steps that are specific to time-series. AutoML will undertake the following pre-processing steps:\n",
"* Detect time-series sample frequency (e.g. hourly, daily, weekly) and create new records for absent time points to make the series regular. A regular time series has a well-defined frequency and has a value at every sample point in a contiguous time span \n",
"* Impute missing values in the target (via forward-fill) and feature columns (using median column values) \n",
"* Create grain-based features to enable fixed effects across different series\n",
"* Create features based on time series identifiers to enable fixed effects across different series\n",
"* Create time-based features to assist in learning seasonal patterns\n",
"* Encode categorical variables to numeric quantities\n",
"\n",
"In this notebook, AutoML will train a single, regression-type model across **all** time-series in a given training set. This allows the model to generalize across related series. If you're looking for training multiple models for different time-series, please check out the forecasting grouping notebook. \n",
"In this notebook, AutoML will train a single, regression-type model across **all** time-series in a given training set. This allows the model to generalize across related series. If you're looking for training multiple models for different time-series, please see the many-models notebook.\n",
"\n",
"You are almost ready to start an AutoML training job. First, we need to separate the target column from the rest of the DataFrame: "
]
@@ -353,6 +353,21 @@
"featurization_config.add_transformer_params('Imputer', ['INCOME'], {\"strategy\": \"median\"})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Forecasting Parameters\n",
"To define forecasting parameters for your experiment training, you can leverage the ForecastingParameters class. The table below details the forecasting parameter we will be passing into our experiment.\n",
"\n",
"\n",
"|Property|Description|\n",
"|-|-|\n",
"|**time_column_name**|The name of your time column.|\n",
"|**forecast_horizon**|The forecast horizon is how many periods forward you would like to forecast. This integer horizon is in units of the timeseries frequency (e.g. daily, weekly).|\n",
"|**time_series_id_column_names**|The column names used to uniquely identify the time series in data that has multiple rows with the same timestamp. If the time series identifiers are not defined, the data set is assumed to be one time series.|"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -361,9 +376,9 @@
"\n",
"The [AutoMLConfig](https://docs.microsoft.com/en-us/python/api/azureml-train-automl-client/azureml.train.automl.automlconfig.automlconfig?view=azure-ml-py) object defines the settings and data for an AutoML training job. Here, we set necessary inputs like the task type, the number of AutoML iterations to try, the training data, and cross-validation parameters.\n",
"\n",
"For forecasting tasks, there are some additional parameters that can be set: the name of the column holding the date/time, the grain column names, and the maximum forecast horizon. A time column is required for forecasting, while the grain is optional. If grain columns are not given, AutoML assumes that the whole dataset is a single time-series. We also pass a list of columns to drop prior to modeling. The _logQuantity_ column is completely correlated with the target quantity, so it must be removed to prevent a target leak.\n",
"For forecasting tasks, there are some additional parameters that can be set in the `ForecastingParameters` class: the name of the column holding the date/time, the timeseries id column names, and the maximum forecast horizon. A time column is required for forecasting, while the time_series_id is optional. If time_series_id columns are not given, AutoML assumes that the whole dataset is a single time-series. We also pass a list of columns to drop prior to modeling. The _logQuantity_ column is completely correlated with the target quantity, so it must be removed to prevent a target leak.\n",
"\n",
"The forecast horizon is given in units of the time-series frequency; for instance, the OJ series frequency is weekly, so a horizon of 20 means that a trained model will estimate sales up to 20 weeks beyond the latest date in the training data for each series. In this example, we set the maximum horizon to the number of samples per series in the test set (n_test_periods). Generally, the value of this parameter will be dictated by business needs. For example, a demand planning application that estimates the next month of sales should set the horizon according to suitable planning time-scales. Please see the [energy_demand notebook](https://github.com/Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/automated-machine-learning/forecasting-energy-demand) for more discussion of forecast horizon.\n",
"The forecast horizon is given in units of the time-series frequency; for instance, the OJ series frequency is weekly, so a horizon of 20 means that a trained model will estimate sales up to 20 weeks beyond the latest date in the training data for each series. In this example, we set the forecast horizon to the number of samples per series in the test set (n_test_periods). Generally, the value of this parameter will be dictated by business needs. For example, a demand planning application that estimates the next month of sales should set the horizon according to suitable planning time-scales. Please see the [energy_demand notebook](https://github.com/Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/automated-machine-learning/forecasting-energy-demand) for more discussion of forecast horizon.\n",
"\n",
"We note here that AutoML can sweep over two types of time-series models:\n",
"* Models that are trained for each series such as ARIMA and Facebook's Prophet. Note that these models are only available for [Enterprise Edition Workspaces](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-manage-workspace#upgrade).\n",
@@ -389,11 +404,8 @@
"|**enable_voting_ensemble**|Allow AutoML to create a Voting ensemble of the best performing models|\n",
"|**enable_stack_ensemble**|Allow AutoML to create a Stack ensemble of the best performing models|\n",
"|**debug_log**|Log file path for writing debugging information|\n",
"|**time_column_name**|Name of the datetime column in the input data|\n",
"|**grain_column_names**|Name(s) of the columns defining individual series in the input data|\n",
"|**max_horizon**|Maximum desired forecast horizon in units of time-series frequency|\n",
"|**featurization**| 'auto' / 'off' / FeaturizationConfig Indicator for whether featurization step should be done automatically or not, or whether customized featurization should be used. Setting this enables AutoML to perform featurization on the input to handle *missing data*, and to perform some common *feature extraction*.|\n",
"|**max_cores_per_iteration**|Maximum number of cores to utilize per iteration. A value of -1 indicates all available cores should be used.|"
"|**max_cores_per_iteration**|Maximum number of cores to utilize per iteration. A value of -1 indicates all available cores should be used"
]
},
{
@@ -402,11 +414,12 @@
"metadata": {},
"outputs": [],
"source": [
"time_series_settings = {\n",
" 'time_column_name': time_column_name,\n",
" 'grain_column_names': grain_column_names,\n",
" 'max_horizon': n_test_periods\n",
"}\n",
"from azureml.automl.core.forecasting_parameters import ForecastingParameters\n",
"forecasting_parameters = ForecastingParameters(\n",
" time_column_name=time_column_name,\n",
" forecast_horizon=n_test_periods,\n",
" time_series_id_column_names=time_series_id_column_names\n",
")\n",
"\n",
"automl_config = AutoMLConfig(task='forecasting',\n",
" debug_log='automl_oj_sales_errors.log',\n",
@@ -420,7 +433,7 @@
" n_cross_validations=3,\n",
" verbosity=logging.INFO,\n",
" max_cores_per_iteration=-1,\n",
" **time_series_settings)"
" forecasting_parameters=forecasting_parameters)"
]
},
{
@@ -428,7 +441,7 @@
"metadata": {},
"source": [
"You can now submit a new training run. Depending on the data and number of iterations this operation may take several minutes.\n",
"Information from each iteration will be printed to the console."
"Information from each iteration will be printed to the console. Validation errors and current status will be shown when setting `show_output=True` and the execution will be synchronous."
]
},
{
@@ -537,9 +550,8 @@
"metadata": {},
"outputs": [],
"source": [
"# The featurized data, aligned to y, will also be returned.\n",
"# forecast returns the predictions and the featurized data, aligned to X_test.\n",
"# This contains the assumptions that were made in the forecast\n",
"# and helps align the forecast to the original data\n",
"y_predictions, X_trans = fitted_model.forecast(X_test)"
]
},
@@ -560,7 +572,7 @@
"\n",
"To evaluate the accuracy of the forecast, we'll compare against the actual sales quantities for some select metrics, included the mean absolute percentage error (MAPE). \n",
"\n",
"It is a good practice to always align the output explicitly to the input, as the count and order of the rows may have changed during transformations that span multiple rows."
"We'll add predictions and actuals into a single dataframe for convenience in calculating the metrics."
]
},
{
@@ -569,9 +581,8 @@
"metadata": {},
"outputs": [],
"source": [
"from forecasting_helper import align_outputs\n",
"\n",
"df_all = align_outputs(y_predictions, X_trans, X_test, y_test, target_column_name)"
"assign_dict = {'predicted': y_predictions, target_column_name: y_test}\n",
"df_all = X_test.assign(**assign_dict)"
]
},
{
@@ -794,5 +805,5 @@
"task": "Forecasting"
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}

View File

@@ -1,10 +1,4 @@
name: auto-ml-forecasting-orange-juice-sales
dependencies:
- py-xgboost<=0.90
- pip:
- azureml-sdk
- numpy==1.16.2
- pandas==0.23.4
- azureml-train-automl
- azureml-widgets
- matplotlib

View File

@@ -1,98 +0,0 @@
import pandas as pd
import numpy as np
from pandas.tseries.frequencies import to_offset
def align_outputs(y_predicted, X_trans, X_test, y_test, target_column_name,
predicted_column_name='predicted',
horizon_colname='horizon_origin'):
"""
Demonstrates how to get the output aligned to the inputs
using pandas indexes. Helps understand what happened if
the output's shape differs from the input shape, or if
the data got re-sorted by time and grain during forecasting.
Typical causes of misalignment are:
* we predicted some periods that were missing in actuals -> drop from eval
* model was asked to predict past max_horizon -> increase max horizon
* data at start of X_test was needed for lags -> provide previous periods
"""
if (horizon_colname in X_trans):
df_fcst = pd.DataFrame({predicted_column_name: y_predicted,
horizon_colname: X_trans[horizon_colname]})
else:
df_fcst = pd.DataFrame({predicted_column_name: y_predicted})
# y and X outputs are aligned by forecast() function contract
df_fcst.index = X_trans.index
# align original X_test to y_test
X_test_full = X_test.copy()
X_test_full[target_column_name] = y_test
# X_test_full's index does not include origin, so reset for merge
df_fcst.reset_index(inplace=True)
X_test_full = X_test_full.reset_index().drop(columns='index')
together = df_fcst.merge(X_test_full, how='right')
# drop rows where prediction or actuals are nan
# happens because of missing actuals
# or at edges of time due to lags/rolling windows
clean = together[together[[target_column_name,
predicted_column_name]].notnull().all(axis=1)]
return(clean)
def do_rolling_forecast(fitted_model, X_test, y_test, target_column_name, time_column_name, max_horizon, freq='D'):
"""
Produce forecasts on a rolling origin over the given test set.
Each iteration makes a forecast for the next 'max_horizon' periods
with respect to the current origin, then advances the origin by the
horizon time duration. The prediction context for each forecast is set so
that the forecaster uses the actual target values prior to the current
origin time for constructing lag features.
This function returns a concatenated DataFrame of rolling forecasts.
"""
df_list = []
origin_time = X_test[time_column_name].min()
while origin_time <= X_test[time_column_name].max():
# Set the horizon time - end date of the forecast
horizon_time = origin_time + max_horizon * to_offset(freq)
# Extract test data from an expanding window up-to the horizon
expand_wind = (X_test[time_column_name] < horizon_time)
X_test_expand = X_test[expand_wind]
y_query_expand = np.zeros(len(X_test_expand)).astype(np.float)
y_query_expand.fill(np.NaN)
if origin_time != X_test[time_column_name].min():
# Set the context by including actuals up-to the origin time
test_context_expand_wind = (X_test[time_column_name] < origin_time)
context_expand_wind = (
X_test_expand[time_column_name] < origin_time)
y_query_expand[context_expand_wind] = y_test[
test_context_expand_wind]
# Make a forecast out to the maximum horizon
y_fcst, X_trans = fitted_model.forecast(X_test_expand, y_query_expand)
# Align forecast with test set for dates within the
# current rolling window
trans_tindex = X_trans.index.get_level_values(time_column_name)
trans_roll_wind = (trans_tindex >= origin_time) & (
trans_tindex < horizon_time)
test_roll_wind = expand_wind & (
X_test[time_column_name] >= origin_time)
df_list.append(align_outputs(y_fcst[trans_roll_wind],
X_trans[trans_roll_wind],
X_test[test_roll_wind],
y_test[test_roll_wind],
target_column_name))
# Advance the origin time
origin_time = horizon_time
return pd.concat(df_list, ignore_index=True)

View File

@@ -1,22 +0,0 @@
import pandas as pd
import numpy as np
def APE(actual, pred):
"""
Calculate absolute percentage error.
Returns a vector of APE values with same length as actual/pred.
"""
return 100 * np.abs((actual - pred) / actual)
def MAPE(actual, pred):
"""
Calculate mean absolute percentage error.
Remove NA and values where actual is close to zero
"""
not_na = ~(np.isnan(actual) | np.isnan(pred))
not_zero = ~np.isclose(actual, 0.0)
actual_safe = actual[not_na & not_zero]
pred_safe = pred[not_na & not_zero]
return np.mean(APE(actual_safe, pred_safe))

View File

@@ -80,7 +80,7 @@
"from azureml.core.workspace import Workspace\n",
"from azureml.core.dataset import Dataset\n",
"from azureml.train.automl import AutoMLConfig\n",
"from azureml.explain.model._internal.explanation_client import ExplanationClient"
"from azureml.interpret._internal.explanation_client import ExplanationClient"
]
},
{
@@ -96,7 +96,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -354,7 +354,7 @@
"metadata": {},
"source": [
"## Explanation\n",
"In this section, we will show how to compute model explanations and visualize the explanations using azureml-explain-model package. We will also show how to run the automl model and the explainer model through deploying an AKS web service.\n",
"In this section, we will show how to compute model explanations and visualize the explanations using azureml-interpret package. We will also show how to run the automl model and the explainer model through deploying an AKS web service.\n",
"\n",
"Besides retrieving an existing model explanation for an AutoML model, you can also explain your AutoML model with different test data. The following steps will allow you to compute and visualize engineered feature importance based on your test data.\n",
"\n",
@@ -434,7 +434,7 @@
"metadata": {},
"source": [
"#### Initialize the Mimic Explainer for feature importance\n",
"For explaining the AutoML models, use the MimicWrapper from azureml.explain.model package. The MimicWrapper can be initialized with fields in automl_explainer_setup_obj, your workspace and a surrogate model to explain the AutoML model (fitted_model here). The MimicWrapper also takes the automl_run object where engineered explanations will be uploaded."
"For explaining the AutoML models, use the MimicWrapper from azureml-interpret package. The MimicWrapper can be initialized with fields in automl_explainer_setup_obj, your workspace and a surrogate model to explain the AutoML model (fitted_model here). The MimicWrapper also takes the automl_run object where engineered explanations will be uploaded."
]
},
{
@@ -443,7 +443,8 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.explain.model.mimic_wrapper import MimicWrapper\n",
"from interpret.ext.glassbox import LGBMExplainableModel\n",
"from azureml.interpret.mimic_wrapper import MimicWrapper\n",
"explainer = MimicWrapper(ws, automl_explainer_setup_obj.automl_estimator,\n",
" explainable_model=automl_explainer_setup_obj.surrogate_model, \n",
" init_dataset=automl_explainer_setup_obj.X_transform, run=automl_run,\n",
@@ -486,7 +487,7 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.explain.model.scoring.scoring_explainer import TreeScoringExplainer\n",
"from azureml.interpret.scoring.scoring_explainer import TreeScoringExplainer\n",
"import joblib\n",
"\n",
"# Initialize the ScoringExplainer\n",
@@ -507,7 +508,7 @@
"source": [
"### Deploying the scoring and explainer models to a web service to Azure Kubernetes Service (AKS)\n",
"\n",
"We use the TreeScoringExplainer from azureml.explain.model package to create the scoring explainer which will be used to compute the raw and engineered feature importances at the inference time. In the cell below, we register the AutoML model and the scoring explainer with the Model Management Service."
"We use the TreeScoringExplainer from azureml.interpret package to create the scoring explainer which will be used to compute the raw and engineered feature importances at the inference time. In the cell below, we register the AutoML model and the scoring explainer with the Model Management Service."
]
},
{
@@ -529,7 +530,7 @@
"source": [
"#### Create the conda dependencies for setting up the service\n",
"\n",
"We need to create the conda dependencies comprising of the azureml-explain-model, azureml-train-automl and azureml-defaults packages."
"We need to download the conda dependencies using the automl_run object."
]
},
{
@@ -566,7 +567,7 @@
"import os\n",
"import pickle\n",
"import azureml.train.automl\n",
"import azureml.explain.model\n",
"import azureml.interpret\n",
"from azureml.train.automl.runtime.automl_explain_utilities import AutoMLExplainerSetupClass, \\\n",
" automl_setup_model_explanations\n",
"import joblib\n",

View File

@@ -2,6 +2,3 @@ name: auto-ml-classification-credit-card-fraud-local
dependencies:
- pip:
- azureml-sdk
- azureml-train-automl
- azureml-widgets
- matplotlib

View File

@@ -98,7 +98,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -625,7 +625,7 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.explain.model._internal.explanation_client import ExplanationClient\n",
"from azureml.interpret._internal.explanation_client import ExplanationClient\n",
"client = ExplanationClient.from_run(automl_run)\n",
"engineered_explanations = client.download_model_explanation(raw=False, comment='engineered explanations')\n",
"print(engineered_explanations.get_feature_importance_dict())\n",
@@ -659,7 +659,7 @@
"In this section we will show how you can operationalize an AutoML model and the explainer which was used to compute the explanations in the previous section.\n",
"\n",
"### Register the AutoML model and the scoring explainer\n",
"We use the *TreeScoringExplainer* from *azureml.explain.model* package to create the scoring explainer which will be used to compute the raw and engineered feature importances at the inference time. \n",
"We use the *TreeScoringExplainer* from *azureml-interpret* package to create the scoring explainer which will be used to compute the raw and engineered feature importances at the inference time. \n",
"In the cell below, we register the AutoML model and the scoring explainer with the Model Management Service."
]
},
@@ -681,7 +681,7 @@
"metadata": {},
"source": [
"### Create the conda dependencies for setting up the service\n",
"We need to create the conda dependencies comprising of the *azureml-explain-model*, *azureml-train-automl* and *azureml-defaults* packages. "
"We need to create the conda dependencies comprising of the *azureml* packages using the training environment from the *automl_run*."
]
},
{

View File

@@ -2,6 +2,3 @@ name: auto-ml-regression-explanation-featurization
dependencies:
- pip:
- azureml-sdk
- azureml-train-automl
- azureml-widgets
- matplotlib

View File

@@ -4,7 +4,7 @@ import pandas as pd
import os
import pickle
import azureml.train.automl
import azureml.explain.model
import azureml.interpret
from azureml.train.automl.runtime.automl_explain_utilities import AutoMLExplainerSetupClass, \
automl_setup_model_explanations
import joblib

View File

@@ -7,12 +7,13 @@ from azureml.core.experiment import Experiment
from azureml.core.dataset import Dataset
from azureml.train.automl.runtime.automl_explain_utilities import AutoMLExplainerSetupClass, \
automl_setup_model_explanations, automl_check_model_if_explainable
from azureml.explain.model.mimic.models.lightgbm_model import LGBMExplainableModel
from azureml.explain.model.mimic_wrapper import MimicWrapper
from azureml.automl.core.shared.constants import MODEL_PATH
from azureml.explain.model.scoring.scoring_explainer import TreeScoringExplainer
from interpret.ext.glassbox import LGBMExplainableModel
from azureml.interpret.mimic_wrapper import MimicWrapper
from automl.client.core.common.constants import MODEL_PATH
from azureml.interpret.scoring.scoring_explainer import TreeScoringExplainer
import joblib
OUTPUT_DIR = './outputs/'
os.makedirs(OUTPUT_DIR, exist_ok=True)

View File

@@ -92,7 +92,7 @@
"metadata": {},
"outputs": [],
"source": [
"print(\"This notebook was created using version 1.8.0 of the Azure ML SDK\")\n",
"print(\"This notebook was created using version 1.12.0 of the Azure ML SDK\")\n",
"print(\"You are currently using version\", azureml.core.VERSION, \"of the Azure ML SDK\")"
]
},
@@ -233,7 +233,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Call the `submit` method on the experiment object and pass the run configuration. Execution of remote runs is asynchronous. Depending on the data and the number of iterations this can run for a while."
"Call the `submit` method on the experiment object and pass the run configuration. Execution of remote runs is asynchronous. Depending on the data and the number of iterations this can run for a while. Validation errors and current status will be shown when setting `show_output=True` and the execution will be synchronous."
]
},
{

View File

@@ -2,7 +2,3 @@ name: auto-ml-regression
dependencies:
- pip:
- azureml-sdk
- pandas==0.23.4
- azureml-train-automl
- azureml-widgets
- matplotlib

View File

@@ -13,32 +13,45 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Automated ML on Azure Databricks\n",
"We support installing AML SDK as library from GUI. When attaching a library follow this https://docs.databricks.com/user-guide/libraries.html and add the below string as your PyPi package. You can select the option to attach the library to all clusters or just one cluster.\n",
"\n",
"In this example we use the scikit-learn's <a href=\"http://scikit-learn.org/stable/datasets/index.html#optical-recognition-of-handwritten-digits-dataset\" target=\"_blank\">digit dataset</a> to showcase how you can use AutoML for a simple classification problem.\n",
"\n",
"In this notebook you will learn how to:\n",
"1. Create Azure Machine Learning Workspace object and initialize your notebook directory to easily reload this object from a configuration file.\n",
"2. Create an `Experiment` in an existing `Workspace`.\n",
"3. Configure Automated ML using `AutoMLConfig`.\n",
"4. Train the model using Azure Databricks.\n",
"5. Explore the results.\n",
"6. Viewing the engineered names for featurized data and featurization summary for all raw features.\n",
"7. Test the best fitted model.\n",
"\n",
"Before running this notebook, please follow the <a href=\"https://github.com/Azure/MachineLearningNotebooks/tree/master/how-to-use-azureml/azure-databricks\" target=\"_blank\">readme for using Automated ML on Azure Databricks</a> for installing necessary libraries to your cluster."
"**install azureml-sdk with Automated ML**\n",
"* Source: Upload Python Egg or PyPi\n",
"* PyPi Name: `azureml-sdk[automl]`\n",
"* Select Install Library"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We support installing AML SDK with Automated ML as library from GUI. When attaching a library follow <a href=\"https://docs.databricks.com/user-guide/libraries.html\" target=\"_blank\">this link</a> and add the below string as your PyPi package. You can select the option to attach the library to all clusters or just one cluster.\n",
"# AutoML : Classification with Local Compute on Azure DataBricks\n",
"\n",
"**azureml-sdk with automated ml**\n",
"* Source: Upload Python Egg or PyPi\n",
"* PyPi Name: `azureml-sdk[automl]`\n",
"* Select Install Library"
"In this example we use the scikit-learn's to showcase how you can use AutoML for a simple classification problem.\n",
"\n",
"In this notebook you will learn how to:\n",
"1. Create Azure Machine Learning Workspace object and initialize your notebook directory to easily reload this object from a configuration file.\n",
"2. Create an `Experiment` in an existing `Workspace`.\n",
"3. Configure AutoML using `AutoMLConfig`.\n",
"4. Train the model using AzureDataBricks.\n",
"5. Explore the results.\n",
"6. Test the best fitted model.\n",
"\n",
"Prerequisites:\n",
"Before running this notebook, please follow the readme for installing necessary libraries to your cluster."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Register Machine Learning Services Resource Provider\n",
"Microsoft.MachineLearningServices only needs to be registed once in the subscription. To register it:\n",
"Start the Azure portal.\n",
"Select your All services and then Subscription.\n",
"Select the subscription that you want to use.\n",
"Click on Resource providers\n",
"Click the Register link next to Microsoft.MachineLearningServices"
]
},
{
@@ -145,31 +158,8 @@
" resource_group = resource_group)\n",
"\n",
"# Persist the subscription id, resource group name, and workspace name in aml_config/config.json.\n",
"ws.write_config()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create a Folder to Host Sample Projects\n",
"Finally, create a folder where all the sample projects will be hosted."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"\n",
"sample_projects_folder = './sample_projects'\n",
"\n",
"if not os.path.isdir(sample_projects_folder):\n",
" os.mkdir(sample_projects_folder)\n",
" \n",
"print('Sample projects will be created in {}.'.format(sample_projects_folder))"
"ws.write_config()\n",
"write_config(path=\"/databricks/driver/aml_config/\",file_name=<alias_conf.cfg>)"
]
},
{
@@ -178,7 +168,7 @@
"source": [
"## Create an Experiment\n",
"\n",
"As part of the setup you have already created an Azure ML `Workspace` object. For Automated ML you will need to create an `Experiment` object, which is a named object in a `Workspace` used to run experiments."
"As part of the setup you have already created an Azure ML `Workspace` object. For AutoML you will need to create an `Experiment` object, which is a named object in a `Workspace` used to run experiments."
]
},
{
@@ -191,6 +181,7 @@
"import os\n",
"import random\n",
"import time\n",
"import json\n",
"\n",
"from matplotlib import pyplot as plt\n",
"from matplotlib.pyplot import imshow\n",
@@ -212,7 +203,6 @@
"source": [
"# Choose a name for the experiment and specify the project folder.\n",
"experiment_name = 'automl-local-classification'\n",
"project_folder = './sample_projects/automl-local-classification'\n",
"\n",
"experiment = Experiment(ws, experiment_name)\n",
"\n",
@@ -222,94 +212,11 @@
"output['Workspace Name'] = ws.name\n",
"output['Resource Group'] = ws.resource_group\n",
"output['Location'] = ws.location\n",
"output['Project Directory'] = project_folder\n",
"output['Experiment Name'] = experiment.name\n",
"pd.set_option('display.max_colwidth', -1)\n",
"pd.DataFrame(data = output, index = ['']).T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Diagnostics\n",
"\n",
"Opt-in diagnostics for better experience, quality, and security of future releases."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.telemetry import set_diagnostics_collection\n",
"set_diagnostics_collection(send_diagnostics = True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Registering Datastore"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Datastore is the way to save connection information to a storage service (e.g. Azure Blob, Azure Data Lake, Azure SQL) information to your workspace so you can access them without exposing credentials in your code. The first thing you will need to do is register a datastore, you can refer to our [python SDK documentation](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.datastore.datastore?view=azure-ml-py) on how to register datastores. __Note: for best security practices, please do not check in code that contains registering datastores with secrets into your source control__\n",
"\n",
"The code below registers a datastore pointing to a publicly readable blob container."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core import Datastore\n",
"\n",
"datastore_name = 'demo_training'\n",
"container_name = 'digits' \n",
"account_name = 'automlpublicdatasets'\n",
"Datastore.register_azure_blob_container(\n",
" workspace = ws, \n",
" datastore_name = datastore_name, \n",
" container_name = container_name, \n",
" account_name = account_name,\n",
" overwrite = True\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Below is an example on how to register a private blob container\n",
"```python\n",
"datastore = Datastore.register_azure_blob_container(\n",
" workspace = ws, \n",
" datastore_name = 'example_datastore', \n",
" container_name = 'example-container', \n",
" account_name = 'storageaccount',\n",
" account_key = 'accountkey'\n",
")\n",
"```\n",
"The example below shows how to register an Azure Data Lake store. Please make sure you have granted the necessary permissions for the service principal to access the data lake.\n",
"```python\n",
"datastore = Datastore.register_azure_data_lake(\n",
" workspace = ws,\n",
" datastore_name = 'example_datastore',\n",
" store_name = 'adlsstore',\n",
" tenant_id = 'tenant-id-of-service-principal',\n",
" client_id = 'client-id-of-service-principal',\n",
" client_secret = 'client-secret-of-service-principal'\n",
")\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -323,9 +230,7 @@
"source": [
"Automated ML takes a `TabularDataset` as input.\n",
"\n",
"You are free to use the data preparation libraries/tools of your choice to do the require preparation and once you are done, you can write it to a datastore and create a TabularDataset from it.\n",
"\n",
"You will get the datastore you registered previously and pass it to Dataset for reading. The data comes from the digits dataset: `sklearn.datasets.load_digits()`. `DataPath` points to a specific location within a datastore. "
"You are free to use the data preparation libraries/tools of your choice to do the require preparation and once you are done, you can write it to a datastore and create a TabularDataset from it."
]
},
{
@@ -334,13 +239,12 @@
"metadata": {},
"outputs": [],
"source": [
"# The data referenced here was a 1MB simple random sample of the Chicago Crime data into a local temporary directory.\n",
"from azureml.core.dataset import Dataset\n",
"from azureml.data.datapath import DataPath\n",
"\n",
"datastore = Datastore.get(workspace = ws, datastore_name = datastore_name)\n",
"\n",
"X_train = Dataset.Tabular.from_delimited_files(datastore.path('X.csv'))\n",
"y_train = Dataset.Tabular.from_delimited_files(datastore.path('y.csv'))"
"example_data = 'https://dprepdata.blob.core.windows.net/demo/crime0-random.csv'\n",
"dataset = Dataset.Tabular.from_delimited_files(example_data)\n",
"dataset.take(5).to_pandas_dataframe()"
]
},
{
@@ -357,16 +261,8 @@
"metadata": {},
"outputs": [],
"source": [
"X_train.take(5).to_pandas_dataframe()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"y_train.take(5).to_pandas_dataframe()"
"training_data = dataset.drop_columns(columns=['FBI Code'])\n",
"label = 'Primary Type'"
]
},
{
@@ -384,14 +280,11 @@
"|**primary_metric**|This is the metric that you want to optimize. Regression supports the following primary metrics: <br><i>spearman_correlation</i><br><i>normalized_root_mean_squared_error</i><br><i>r2_score</i><br><i>normalized_mean_absolute_error</i>|\n",
"|**iteration_timeout_minutes**|Time limit in minutes for each iteration.|\n",
"|**iterations**|Number of iterations. In each iteration AutoML trains a specific pipeline with the data.|\n",
"|**n_cross_validations**|Number of cross validation splits.|\n",
"|**spark_context**|Spark Context object. for Databricks, use spark_context=sc|\n",
"|**max_concurrent_iterations**|Maximum number of iterations to execute in parallel. This should be <= number of worker nodes in your Azure Databricks cluster.|\n",
"|**X**|(sparse) array-like, shape = [n_samples, n_features]|\n",
"|**y**|(sparse) array-like, shape = [n_samples, ], [n_samples, n_classes]<br>Multi-class targets. An indicator matrix turns on multilabel classification. This should be an array of integers.|\n",
"|**path**|Relative path to the project folder. AutoML stores configuration files for the experiment under this folder. You can specify a new empty folder.|\n",
"|**preprocess**|set this to True to enable pre-processing of data eg. string to numeric using one-hot encoding|\n",
"|**exit_score**|Target score for experiment. It is associated with the metric. eg. exit_score=0.995 will exit experiment after that|"
"|**n_cross_validations**|Number of cross validation splits.|\n",
"|**training_data**|Input dataset, containing both features and label column.|\n",
"|**label_column_name**|The name of the label column.|"
]
},
{
@@ -404,15 +297,13 @@
" debug_log = 'automl_errors.log',\n",
" primary_metric = 'AUC_weighted',\n",
" iteration_timeout_minutes = 10,\n",
" iterations = 3,\n",
" preprocess = True,\n",
" iterations = 5,\n",
" n_cross_validations = 10,\n",
" max_concurrent_iterations = 2, #change it based on number of worker nodes\n",
" verbosity = logging.INFO,\n",
" spark_context=sc, #databricks/spark related\n",
" X = X_train, \n",
" y = y_train,\n",
" path = project_folder)"
" training_data=training_data,\n",
" label_column_name=label)"
]
},
{
@@ -433,26 +324,6 @@
"local_run = experiment.submit(automl_config, show_output = True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Continue experiment"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"local_run.continue_experiment(iterations=2,\n",
" X=X_train, \n",
" y=y_train,\n",
" spark_context=sc,\n",
" show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -475,14 +346,7 @@
"metadata": {},
"outputs": [],
"source": [
"displayHTML(\"<a href={} target='_blank'>Your experiment in Azure Portal: {}</a>\".format(local_run.get_portal_url(), local_run.id))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following will show the child runs and waits for the parent run to complete."
"displayHTML(\"<a href={} target='_blank'>Azure Portal: {}</a>\".format(local_run.get_portal_url(), local_run.id))"
]
},
{
@@ -503,6 +367,7 @@
"metricslist = {}\n",
"for run in children:\n",
" properties = run.get_properties()\n",
" #print(properties)\n",
" metrics = {k: v for k, v in run.get_metrics().items() if isinstance(v, float)} \n",
" metricslist[int(properties['iteration'])] = metrics\n",
"\n",
@@ -514,9 +379,11 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"### Retrieve the Best Model after the above run is complete \n",
"## Deploy\n",
"\n",
"Below we select the best pipeline from our iterations. The `get_output` method returns the best run and the fitted model. The Model includes the pipeline and any pre-processing. Overloads on `get_output` allow you to retrieve the best run and fitted model for *any* logged metric or for a particular *iteration*."
"### Retrieve the Best Model\n",
"\n",
"Below we select the best pipeline from our iterations. The `get_output` method on `automl_classifier` returns the best run and the fitted model for the last invocation. Overloads on `get_output` allow you to retrieve the best run and fitted model for *any* logged metric or for a particular *iteration*."
]
},
{
@@ -525,71 +392,7 @@
"metadata": {},
"outputs": [],
"source": [
"best_run, fitted_model = local_run.get_output()\n",
"print(best_run)\n",
"print(fitted_model)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Best Model Based on Any Other Metric after the above run is complete based on the child run\n",
"Show the run and the model that has the smallest `log_loss` value:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"lookup_metric = \"log_loss\"\n",
"best_run, fitted_model = local_run.get_output(metric = lookup_metric)\n",
"print(best_run)\n",
"print(fitted_model)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### View the engineered names for featurized data\n",
"Below we display the engineered feature names generated for the featurized data using the preprocessing featurization."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"fitted_model.named_steps['datatransformer'].get_engineered_feature_names()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### View the featurization summary\n",
"Below we display the featurization that was performed on different raw features in the user data. For each raw feature in the user data, the following information is displayed:-\n",
"- Raw feature name\n",
"- Number of engineered features formed out of this raw feature\n",
"- Type detected\n",
"- If feature was dropped\n",
"- List of feature transformations for the raw feature"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Get the featurization summary as a list of JSON\n",
"featurization_summary = fitted_model.named_steps['datatransformer'].get_featurization_summary()\n",
"# View the featurization summary as a pandas dataframe\n",
"pd.DataFrame.from_records(featurization_summary)"
"best_run, fitted_model = local_run.get_output()"
]
},
{
@@ -607,11 +410,13 @@
"metadata": {},
"outputs": [],
"source": [
"blob_location = \"https://{}.blob.core.windows.net/{}\".format(account_name, container_name)\n",
"X_test = pd.read_csv(\"{}./X_valid.csv\".format(blob_location), header=0)\n",
"y_test = pd.read_csv(\"{}/y_valid.csv\".format(blob_location), header=0)\n",
"images = pd.read_csv(\"{}/images.csv\".format(blob_location), header=None)\n",
"images = np.reshape(images.values, (100,8,8))"
"dataset_test = Dataset.Tabular.from_delimited_files(path='https://dprepdata.blob.core.windows.net/demo/crime0-test.csv')\n",
"\n",
"df_test = dataset_test.to_pandas_dataframe()\n",
"df_test = df_test[pd.notnull(df_test['Primary Type'])]\n",
"\n",
"y_test = df_test[['Primary Type']]\n",
"X_test = df_test.drop(['Primary Type', 'FBI Code'], axis=1)"
]
},
{
@@ -628,35 +433,9 @@
"metadata": {},
"outputs": [],
"source": [
"# Randomly select digits and test.\n",
"for index in np.random.choice(len(y_test), 2, replace = False):\n",
" print(index)\n",
" predicted = fitted_model.predict(X_test[index:index + 1])[0]\n",
" label = y_test.values[index]\n",
" title = \"Label value = %d Predicted value = %d \" % (label, predicted)\n",
" fig = plt.figure(3, figsize = (5,5))\n",
" ax1 = fig.add_axes((0,0,.8,.8))\n",
" ax1.set_title(title)\n",
" plt.imshow(images[index], cmap = plt.cm.gray_r, interpolation = 'nearest')\n",
" display(fig)"
"fitted_model.predict(X_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"When deploying an automated ML trained model, please specify _pippackages=['azureml-sdk[automl]']_ in your CondaDependencies.\n",
"\n",
"Please refer to only the **Deploy** section in this notebook - <a href=\"https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/classification-with-deployment\" target=\"_blank\">Deployment of Automated ML trained model</a>"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
@@ -689,10 +468,10 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
"version": "3.6.8"
},
"name": "auto-ml-classification-local-adb",
"notebookId": 587284549713154
"notebookId": 1275190406842063
},
"nbformat": 4,
"nbformat_minor": 1

View File

@@ -27,7 +27,7 @@
"source": [
"# AutoML : Classification with Local Compute on Azure DataBricks with deployment to ACI\n",
"\n",
"In this example we use the scikit-learn's [digit dataset](http://scikit-learn.org/stable/datasets/index.html#optical-recognition-of-handwritten-digits-dataset) to showcase how you can use AutoML for a simple classification problem.\n",
"In this example we use the scikit-learn's to showcase how you can use AutoML for a simple classification problem.\n",
"\n",
"In this notebook you will learn how to:\n",
"1. Create Azure Machine Learning Workspace object and initialize your notebook directory to easily reload this object from a configuration file.\n",
@@ -164,30 +164,6 @@
"write_config(path=\"/databricks/driver/aml_config/\",file_name=<alias_conf.cfg>)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create a Folder to Host Sample Projects\n",
"Finally, create a folder where all the sample projects will be hosted."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"\n",
"sample_projects_folder = './sample_projects'\n",
"\n",
"if not os.path.isdir(sample_projects_folder):\n",
" os.mkdir(sample_projects_folder)\n",
" \n",
"print('Sample projects will be created in {}.'.format(sample_projects_folder))"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -229,7 +205,6 @@
"source": [
"# Choose a name for the experiment and specify the project folder.\n",
"experiment_name = 'automl-local-classification'\n",
"project_folder = './sample_projects/automl-local-classification'\n",
"\n",
"experiment = Experiment(ws, experiment_name)\n",
"\n",
@@ -239,94 +214,11 @@
"output['Workspace Name'] = ws.name\n",
"output['Resource Group'] = ws.resource_group\n",
"output['Location'] = ws.location\n",
"output['Project Directory'] = project_folder\n",
"output['Experiment Name'] = experiment.name\n",
"pd.set_option('display.max_colwidth', -1)\n",
"pd.DataFrame(data = output, index = ['']).T"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Diagnostics\n",
"\n",
"Opt-in diagnostics for better experience, quality, and security of future releases."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.telemetry import set_diagnostics_collection\n",
"set_diagnostics_collection(send_diagnostics = True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Registering Datastore"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Datastore is the way to save connection information to a storage service (e.g. Azure Blob, Azure Data Lake, Azure SQL) information to your workspace so you can access them without exposing credentials in your code. The first thing you will need to do is register a datastore, you can refer to our [python SDK documentation](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.datastore.datastore?view=azure-ml-py) on how to register datastores. __Note: for best security practices, please do not check in code that contains registering datastores with secrets into your source control__\n",
"\n",
"The code below registers a datastore pointing to a publicly readable blob container."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core import Datastore\n",
"\n",
"datastore_name = 'demo_training'\n",
"container_name = 'digits' \n",
"account_name = 'automlpublicdatasets'\n",
"Datastore.register_azure_blob_container(\n",
" workspace = ws, \n",
" datastore_name = datastore_name, \n",
" container_name = container_name, \n",
" account_name = account_name,\n",
" overwrite = True\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Below is an example on how to register a private blob container\n",
"```python\n",
"datastore = Datastore.register_azure_blob_container(\n",
" workspace = ws, \n",
" datastore_name = 'example_datastore', \n",
" container_name = 'example-container', \n",
" account_name = 'storageaccount',\n",
" account_key = 'accountkey'\n",
")\n",
"```\n",
"The example below shows how to register an Azure Data Lake store. Please make sure you have granted the necessary permissions for the service principal to access the data lake.\n",
"```python\n",
"datastore = Datastore.register_azure_data_lake(\n",
" workspace = ws,\n",
" datastore_name = 'example_datastore',\n",
" store_name = 'adlsstore',\n",
" tenant_id = 'tenant-id-of-service-principal',\n",
" client_id = 'client-id-of-service-principal',\n",
" client_secret = 'client-secret-of-service-principal'\n",
")\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -340,9 +232,7 @@
"source": [
"Automated ML takes a `TabularDataset` as input.\n",
"\n",
"You are free to use the data preparation libraries/tools of your choice to do the require preparation and once you are done, you can write it to a datastore and create a TabularDataset from it.\n",
"\n",
"You will get the datastore you registered previously and pass it to Dataset for reading. The data comes from the digits dataset: `sklearn.datasets.load_digits()`. `DataPath` points to a specific location within a datastore. "
"You are free to use the data preparation libraries/tools of your choice to do the require preparation and once you are done, you can write it to a datastore and create a TabularDataset from it."
]
},
{
@@ -351,13 +241,12 @@
"metadata": {},
"outputs": [],
"source": [
"# The data referenced here was a 1MB simple random sample of the Chicago Crime data into a local temporary directory.\n",
"from azureml.core.dataset import Dataset\n",
"from azureml.data.datapath import DataPath\n",
"\n",
"datastore = Datastore.get(workspace = ws, datastore_name = datastore_name)\n",
"\n",
"X_train = Dataset.Tabular.from_delimited_files(datastore.path('X.csv'))\n",
"y_train = Dataset.Tabular.from_delimited_files(datastore.path('y.csv'))"
"example_data = 'https://dprepdata.blob.core.windows.net/demo/crime0-random.csv'\n",
"dataset = Dataset.Tabular.from_delimited_files(example_data)\n",
"dataset.take(5).to_pandas_dataframe()"
]
},
{
@@ -374,16 +263,8 @@
"metadata": {},
"outputs": [],
"source": [
"X_train.take(5).to_pandas_dataframe()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"y_train.take(5).to_pandas_dataframe()"
"training_data = dataset.drop_columns(columns=['FBI Code'])\n",
"label = 'Primary Type'"
]
},
{
@@ -401,14 +282,11 @@
"|**primary_metric**|This is the metric that you want to optimize. Regression supports the following primary metrics: <br><i>spearman_correlation</i><br><i>normalized_root_mean_squared_error</i><br><i>r2_score</i><br><i>normalized_mean_absolute_error</i>|\n",
"|**iteration_timeout_minutes**|Time limit in minutes for each iteration.|\n",
"|**iterations**|Number of iterations. In each iteration AutoML trains a specific pipeline with the data.|\n",
"|**n_cross_validations**|Number of cross validation splits.|\n",
"|**spark_context**|Spark Context object. for Databricks, use spark_context=sc|\n",
"|**max_concurrent_iterations**|Maximum number of iterations to execute in parallel. This should be <= number of worker nodes in your Azure Databricks cluster.|\n",
"|**X**|(sparse) array-like, shape = [n_samples, n_features]|\n",
"|**y**|(sparse) array-like, shape = [n_samples, ], [n_samples, n_classes]<br>Multi-class targets. An indicator matrix turns on multilabel classification. This should be an array of integers.|\n",
"|**path**|Relative path to the project folder. AutoML stores configuration files for the experiment under this folder. You can specify a new empty folder.|\n",
"|**preprocess**|set this to True to enable pre-processing of data eg. string to numeric using one-hot encoding|\n",
"|**exit_score**|Target score for experiment. It is associated with the metric. eg. exit_score=0.995 will exit experiment after that|"
"|**n_cross_validations**|Number of cross validation splits.|\n",
"|**training_data**|Input dataset, containing both features and label column.|\n",
"|**label_column_name**|The name of the label column.|"
]
},
{
@@ -422,14 +300,12 @@
" primary_metric = 'AUC_weighted',\n",
" iteration_timeout_minutes = 10,\n",
" iterations = 5,\n",
" preprocess = True,\n",
" n_cross_validations = 10,\n",
" max_concurrent_iterations = 2, #change it based on number of worker nodes\n",
" verbosity = logging.INFO,\n",
" spark_context=sc, #databricks/spark related\n",
" X = X_train, \n",
" y = y_train,\n",
" path = project_folder)"
" training_data=training_data,\n",
" label_column_name=label)"
]
},
{
@@ -475,13 +351,6 @@
"displayHTML(\"<a href={} target='_blank'>Azure Portal: {}</a>\".format(local_run.get_portal_url(), local_run.id))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following will show the child runs and waits for the parent run to complete."
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -651,11 +520,13 @@
"metadata": {},
"outputs": [],
"source": [
"blob_location = \"https://{}.blob.core.windows.net/{}\".format(account_name, container_name)\n",
"X_test = pd.read_csv(\"{}./X_valid.csv\".format(blob_location), header=0)\n",
"y_test = pd.read_csv(\"{}/y_valid.csv\".format(blob_location), header=0)\n",
"images = pd.read_csv(\"{}/images.csv\".format(blob_location), header=None)\n",
"images = np.reshape(images.values, (100,8,8))"
"dataset_test = Dataset.Tabular.from_delimited_files(path='https://dprepdata.blob.core.windows.net/demo/crime0-test.csv')\n",
"\n",
"df_test = dataset_test.to_pandas_dataframe()\n",
"df_test = df_test[pd.notnull(df_test['Primary Type'])]\n",
"\n",
"y_test = df_test[['Primary Type']]\n",
"X_test = df_test.drop(['Primary Type', 'FBI Code'], axis=1)"
]
},
{
@@ -672,20 +543,7 @@
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"# Randomly select digits and test.\n",
"for index in np.random.choice(len(y_test), 2, replace = False):\n",
" print(index)\n",
" test_sample = json.dumps({'data':X_test[index:index + 1].values.tolist()})\n",
" predicted = aci_service.run(input_data = test_sample)\n",
" label = y_test.values[index]\n",
" predictedDict = json.loads(predicted)\n",
" title = \"Label value = %d Predicted value = %s \" % ( label,predictedDict['result'][0]) \n",
" fig = plt.figure(3, figsize = (5,5))\n",
" ax1 = fig.add_axes((0,0,.8,.8))\n",
" ax1.set_title(title)\n",
" plt.imshow(images[index], cmap = plt.cm.gray_r, interpolation = 'nearest')\n",
" display(fig)"
"fitted_model.predict(X_test)"
]
},
{
@@ -703,7 +561,7 @@
"metadata": {},
"outputs": [],
"source": [
"myservice.delete()"
"aci_service.delete()"
]
},
{
@@ -741,7 +599,7 @@
"version": "3.6.8"
},
"name": "auto-ml-classification-local-adb",
"notebookId": 2733885892129020
"notebookId": 3772036807853791
},
"nbformat": 4,
"nbformat_minor": 1

View File

@@ -50,10 +50,12 @@ pip install azureml-accel-models[gpu]
### Step 4: Follow our notebooks
The notebooks in this repo walk through the following scenarios:
* [Quickstart](accelerated-models-quickstart.ipynb), deploy and inference a ResNet50 model trained on ImageNet
* [Object Detection](accelerated-models-object-detection.ipynb), deploy and inference an SSD-VGG model that can do object detection
* [Training models](accelerated-models-training.ipynb), train one of our accelerated models on the Kaggle Cats and Dogs dataset to see how to improve accuracy on custom datasets
We provide notebooks to walk through the following scenarios, linked below:
* [Quickstart](https://github.com/Azure/MachineLearningNotebooks/blob/33d6def8c30d3dd3a5bfbea50b9c727788185faf/how-to-use-azureml/deployment/accelerated-models/accelerated-models-quickstart.ipynb), deploy and inference a ResNet50 model trained on ImageNet
* [Object Detection](https://github.com/Azure/MachineLearningNotebooks/blob/33d6def8c30d3dd3a5bfbea50b9c727788185faf/how-to-use-azureml/deployment/accelerated-models/accelerated-models-object-detection.ipynb), deploy and inference an SSD-VGG model that can do object detection
* [Training models](https://github.com/Azure/MachineLearningNotebooks/blob/33d6def8c30d3dd3a5bfbea50b9c727788185faf/how-to-use-azureml/deployment/accelerated-models/accelerated-models-training.ipynb), train one of our accelerated models on the Kaggle Cats and Dogs dataset to see how to improve accuracy on custom datasets
**Note**: the above notebooks work only for tensorflow >= 1.6,<2.0.
<a name="model-classes"></a>
## Model Classes

View File

@@ -86,7 +86,37 @@
"source": [
"In this example, we will be using and registering two models. \n",
"\n",
"You wil need to have a `first_model.pkl` file and `second_model.pkl` file in the current directory. The below call registers the files as Models with the names `my_first_model` and `my_second_model` in the workspace."
"First we will train two simple models on the [diabetes dataset](https://scikit-learn.org/stable/datasets/index.html#diabetes-dataset) included with scikit-learn, serializing them to files in the current directory."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import joblib\n",
"import sklearn\n",
"\n",
"from sklearn.datasets import load_diabetes\n",
"from sklearn.linear_model import BayesianRidge, Ridge\n",
"\n",
"x, y = load_diabetes(return_X_y=True)\n",
"\n",
"first_model = Ridge().fit(x, y)\n",
"second_model = BayesianRidge().fit(x, y)\n",
"\n",
"joblib.dump(first_model, \"first_model.pkl\")\n",
"joblib.dump(second_model, \"second_model.pkl\")\n",
"\n",
"print(\"Trained models using scikit-learn {}.\".format(sklearn.__version__))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we have our trained models locally, we will register them as Models with the names `my_first_model` and `my_second_model` in the workspace."
]
},
{
@@ -149,25 +179,24 @@
"outputs": [],
"source": [
"%%writefile score.py\n",
"import pickle\n",
"import joblib\n",
"import json\n",
"import numpy as np\n",
"from sklearn.externals import joblib\n",
"from sklearn.linear_model import Ridge\n",
"\n",
"from azureml.core.model import Model\n",
"\n",
"def init():\n",
" global model_1, model_2\n",
" # note here \"my_first_model\" is the name of the model registered under the workspace\n",
" # this call should return the path to the model.pkl file on the local disk.\n",
" # Here \"my_first_model\" is the name of the model registered under the workspace.\n",
" # This call will return the path to the .pkl file on the local disk.\n",
" model_1_path = Model.get_model_path(model_name='my_first_model')\n",
" model_2_path = Model.get_model_path(model_name='my_second_model')\n",
" \n",
" # deserialize the model files back into a sklearn model\n",
" # Deserialize the model files back into scikit-learn models.\n",
" model_1 = joblib.load(model_1_path)\n",
" model_2 = joblib.load(model_2_path)\n",
"\n",
"# note you can pass in multiple rows for scoring\n",
"# Note you can pass in multiple rows for scoring.\n",
"def run(raw_data):\n",
" try:\n",
" data = json.loads(raw_data)['data']\n",
@@ -177,7 +206,7 @@
" result_1 = model_1.predict(data)\n",
" result_2 = model_2.predict(data)\n",
"\n",
" # you can return any data type as long as it is JSON-serializable\n",
" # You can return any JSON-serializable value.\n",
" return {\"prediction1\": result_1.tolist(), \"prediction2\": result_2.tolist()}\n",
" except Exception as e:\n",
" result = str(e)\n",
@@ -208,10 +237,10 @@
"source": [
"from azureml.core import Environment\n",
"\n",
"env = Environment.from_conda_specification(name='deploytocloudenv', file_path='myenv.yml')\n",
"\n",
"# This is optional at this point\n",
"# env.register(workspace=ws)"
"env = Environment(\"deploytocloudenv\")\n",
"env.python.conda_dependencies.add_pip_package(\"joblib\")\n",
"env.python.conda_dependencies.add_pip_package(\"numpy\")\n",
"env.python.conda_dependencies.add_pip_package(\"scikit-learn=={}\".format(sklearn.__version__))"
]
},
{
@@ -281,25 +310,15 @@
},
"outputs": [],
"source": [
"from azureml.core.webservice import AciWebservice, Webservice\n",
"from azureml.exceptions import WebserviceException\n",
"from azureml.core.webservice import AciWebservice\n",
"\n",
"aci_service_name = \"aciservice-multimodel\"\n",
"\n",
"deployment_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)\n",
"aci_service_name = 'aciservice-multimodel'\n",
"\n",
"try:\n",
" # if you want to get existing service below is the command\n",
" # since aci name needs to be unique in subscription deleting existing aci if any\n",
" # we use aci_service_name to create azure aci\n",
" service = Webservice(ws, name=aci_service_name)\n",
" if service:\n",
" service.delete()\n",
"except WebserviceException as e:\n",
" print()\n",
"\n",
"service = Model.deploy(ws, aci_service_name, [my_model_1, my_model_2], inference_config, deployment_config)\n",
"\n",
"service = Model.deploy(ws, aci_service_name, [my_model_1, my_model_2], inference_config, deployment_config, overwrite=True)\n",
"service.wait_for_deployment(True)\n",
"\n",
"print(service.state)"
]
},
@@ -317,13 +336,11 @@
"outputs": [],
"source": [
"import json\n",
"test_sample = json.dumps({'data': [\n",
" [1,2,3,4,5,6,7,8,9,10], \n",
" [10,9,8,7,6,5,4,3,2,1]\n",
"]})\n",
"\n",
"test_sample_encoded = bytes(test_sample, encoding='utf8')\n",
"prediction = service.run(input_data=test_sample_encoded)\n",
"test_sample = json.dumps({'data': x[0:2].tolist()})\n",
"\n",
"prediction = service.run(test_sample)\n",
"\n",
"print(prediction)"
]
},

View File

@@ -2,3 +2,5 @@ name: multi-model-register-and-deploy
dependencies:
- pip:
- azureml-sdk
- numpy
- scikit-learn

View File

@@ -1,8 +0,0 @@
name: project_environment
dependencies:
- python=3.6.2
- pip:
- azureml-defaults
- scikit-learn
- numpy
- inference-schema[numpy-support]

View File

@@ -1,442 +0,0 @@
3.807590643342410180e-02,5.068011873981870252e-02,6.169620651868849837e-02,2.187235499495579841e-02,-4.422349842444640161e-02,-3.482076283769860309e-02,-4.340084565202689815e-02,-2.592261998182820038e-03,1.990842087631829876e-02,-1.764612515980519894e-02
-1.882016527791040067e-03,-4.464163650698899782e-02,-5.147406123880610140e-02,-2.632783471735180084e-02,-8.448724111216979540e-03,-1.916333974822199970e-02,7.441156407875940126e-02,-3.949338287409189657e-02,-6.832974362442149896e-02,-9.220404962683000083e-02
8.529890629667830071e-02,5.068011873981870252e-02,4.445121333659410312e-02,-5.670610554934250001e-03,-4.559945128264750180e-02,-3.419446591411950259e-02,-3.235593223976569732e-02,-2.592261998182820038e-03,2.863770518940129874e-03,-2.593033898947460017e-02
-8.906293935226029801e-02,-4.464163650698899782e-02,-1.159501450521270051e-02,-3.665644679856060184e-02,1.219056876180000040e-02,2.499059336410210108e-02,-3.603757004385269719e-02,3.430885887772629900e-02,2.269202256674450122e-02,-9.361911330135799444e-03
5.383060374248070309e-03,-4.464163650698899782e-02,-3.638469220447349689e-02,2.187235499495579841e-02,3.934851612593179802e-03,1.559613951041610019e-02,8.142083605192099172e-03,-2.592261998182820038e-03,-3.199144494135589684e-02,-4.664087356364819692e-02
-9.269547780327989928e-02,-4.464163650698899782e-02,-4.069594049999709917e-02,-1.944209332987930153e-02,-6.899064987206669775e-02,-7.928784441181220555e-02,4.127682384197570165e-02,-7.639450375000099436e-02,-4.118038518800790082e-02,-9.634615654166470144e-02
-4.547247794002570037e-02,5.068011873981870252e-02,-4.716281294328249912e-02,-1.599922263614299983e-02,-4.009563984984299695e-02,-2.480001206043359885e-02,7.788079970179680352e-04,-3.949338287409189657e-02,-6.291294991625119570e-02,-3.835665973397880263e-02
6.350367559056099842e-02,5.068011873981870252e-02,-1.894705840284650021e-03,6.662967401352719310e-02,9.061988167926439408e-02,1.089143811236970016e-01,2.286863482154040048e-02,1.770335448356720118e-02,-3.581672810154919867e-02,3.064409414368320182e-03
4.170844488444359899e-02,5.068011873981870252e-02,6.169620651868849837e-02,-4.009931749229690007e-02,-1.395253554402150001e-02,6.201685656730160021e-03,-2.867429443567860031e-02,-2.592261998182820038e-03,-1.495647502491130078e-02,1.134862324403770016e-02
-7.090024709716259699e-02,-4.464163650698899782e-02,3.906215296718960200e-02,-3.321357610482440076e-02,-1.257658268582039982e-02,-3.450761437590899733e-02,-2.499265663159149983e-02,-2.592261998182820038e-03,6.773632611028609918e-02,-1.350401824497050006e-02
-9.632801625429950054e-02,-4.464163650698899782e-02,-8.380842345523309422e-02,8.100872220010799790e-03,-1.033894713270950005e-01,-9.056118903623530669e-02,-1.394774321933030074e-02,-7.639450375000099436e-02,-6.291294991625119570e-02,-3.421455281914410201e-02
2.717829108036539862e-02,5.068011873981870252e-02,1.750591148957160101e-02,-3.321357610482440076e-02,-7.072771253015849857e-03,4.597154030400080194e-02,-6.549067247654929980e-02,7.120997975363539678e-02,-9.643322289178400675e-02,-5.906719430815229877e-02
1.628067572730669890e-02,-4.464163650698899782e-02,-2.884000768730720157e-02,-9.113481248670509197e-03,-4.320865536613589623e-03,-9.768885894535990141e-03,4.495846164606279866e-02,-3.949338287409189657e-02,-3.075120986455629965e-02,-4.249876664881350324e-02
5.383060374248070309e-03,5.068011873981870252e-02,-1.894705840284650021e-03,8.100872220010799790e-03,-4.320865536613589623e-03,-1.571870666853709964e-02,-2.902829807069099918e-03,-2.592261998182820038e-03,3.839324821169769891e-02,-1.350401824497050006e-02
4.534098333546320025e-02,-4.464163650698899782e-02,-2.560657146566450160e-02,-1.255635194240680048e-02,1.769438019460449832e-02,-6.128357906048329537e-05,8.177483968693349814e-02,-3.949338287409189657e-02,-3.199144494135589684e-02,-7.563562196749110123e-02
-5.273755484206479882e-02,5.068011873981870252e-02,-1.806188694849819934e-02,8.040115678847230274e-02,8.924392882106320368e-02,1.076617872765389949e-01,-3.971920784793980114e-02,1.081111006295440019e-01,3.605579008983190309e-02,-4.249876664881350324e-02
-5.514554978810590376e-03,-4.464163650698899782e-02,4.229558918883229851e-02,4.941532054484590319e-02,2.457414448561009990e-02,-2.386056667506489953e-02,7.441156407875940126e-02,-3.949338287409189657e-02,5.227999979678119719e-02,2.791705090337660150e-02
7.076875249260000666e-02,5.068011873981870252e-02,1.211685112016709989e-02,5.630106193231849965e-02,3.420581449301800248e-02,4.941617338368559792e-02,-3.971920784793980114e-02,3.430885887772629900e-02,2.736770754260900093e-02,-1.077697500466389974e-03
-3.820740103798660192e-02,-4.464163650698899782e-02,-1.051720243133190055e-02,-3.665644679856060184e-02,-3.734373413344069942e-02,-1.947648821001150138e-02,-2.867429443567860031e-02,-2.592261998182820038e-03,-1.811826730789670159e-02,-1.764612515980519894e-02
-2.730978568492789874e-02,-4.464163650698899782e-02,-1.806188694849819934e-02,-4.009931749229690007e-02,-2.944912678412469915e-03,-1.133462820348369975e-02,3.759518603788870178e-02,-3.949338287409189657e-02,-8.944018957797799166e-03,-5.492508739331759815e-02
-4.910501639104519755e-02,-4.464163650698899782e-02,-5.686312160821060252e-02,-4.354218818603310115e-02,-4.559945128264750180e-02,-4.327577130601600180e-02,7.788079970179680352e-04,-3.949338287409189657e-02,-1.190068480150809939e-02,1.549073015887240078e-02
-8.543040090124079389e-02,5.068011873981870252e-02,-2.237313524402180162e-02,1.215130832538269907e-03,-3.734373413344069942e-02,-2.636575436938120090e-02,1.550535921336619952e-02,-3.949338287409189657e-02,-7.212845460195599356e-02,-1.764612515980519894e-02
-8.543040090124079389e-02,-4.464163650698899782e-02,-4.050329988046450294e-03,-9.113481248670509197e-03,-2.944912678412469915e-03,7.767427965677820186e-03,2.286863482154040048e-02,-3.949338287409189657e-02,-6.117659509433449883e-02,-1.350401824497050006e-02
4.534098333546320025e-02,5.068011873981870252e-02,6.061839444480759953e-02,3.105334362634819961e-02,2.870200306021350109e-02,-4.734670130927989828e-02,-5.444575906428809897e-02,7.120997975363539678e-02,1.335989800130079896e-01,1.356118306890790048e-01
-6.363517019512339445e-02,-4.464163650698899782e-02,3.582871674554689856e-02,-2.288496402361559975e-02,-3.046396984243510131e-02,-1.885019128643240088e-02,-6.584467611156170040e-03,-2.592261998182820038e-03,-2.595242443518940012e-02,-5.492508739331759815e-02
-6.726770864614299572e-02,5.068011873981870252e-02,-1.267282657909369996e-02,-4.009931749229690007e-02,-1.532848840222260020e-02,4.635943347782499856e-03,-5.812739686837520292e-02,3.430885887772629900e-02,1.919903307856710151e-02,-3.421455281914410201e-02
-1.072256316073579990e-01,-4.464163650698899782e-02,-7.734155101194770121e-02,-2.632783471735180084e-02,-8.962994274508359616e-02,-9.619786134844690584e-02,2.655027262562750096e-02,-7.639450375000099436e-02,-4.257210492279420166e-02,-5.219804415301099697e-03
-2.367724723390840155e-02,-4.464163650698899782e-02,5.954058237092670069e-02,-4.009931749229690007e-02,-4.284754556624519733e-02,-4.358891976780549654e-02,1.182372140927919965e-02,-3.949338287409189657e-02,-1.599826775813870117e-02,4.034337164788070335e-02
5.260606023750229870e-02,-4.464163650698899782e-02,-2.129532317014089932e-02,-7.452802442965950069e-02,-4.009563984984299695e-02,-3.763909899380440266e-02,-6.584467611156170040e-03,-3.949338287409189657e-02,-6.092541861022970299e-04,-5.492508739331759815e-02
6.713621404158050254e-02,5.068011873981870252e-02,-6.205954135808240159e-03,6.318680331979099896e-02,-4.284754556624519733e-02,-9.588471288665739722e-02,5.232173725423699961e-02,-7.639450375000099436e-02,5.942380044479410317e-02,5.276969239238479825e-02
-6.000263174410389727e-02,-4.464163650698899782e-02,4.445121333659410312e-02,-1.944209332987930153e-02,-9.824676969418109224e-03,-7.576846662009279788e-03,2.286863482154040048e-02,-3.949338287409189657e-02,-2.712864555432650121e-02,-9.361911330135799444e-03
-2.367724723390840155e-02,-4.464163650698899782e-02,-6.548561819925780014e-02,-8.141376581713200000e-02,-3.871968699164179961e-02,-5.360967054507050078e-02,5.968501286241110343e-02,-7.639450375000099436e-02,-3.712834601047360072e-02,-4.249876664881350324e-02
3.444336798240450054e-02,5.068011873981870252e-02,1.252871188776620015e-01,2.875809638242839833e-02,-5.385516843185429725e-02,-1.290037051243130006e-02,-1.023070505174200062e-01,1.081111006295440019e-01,2.714857279071319972e-04,2.791705090337660150e-02
3.081082953138499989e-02,-4.464163650698899782e-02,-5.039624916492520257e-02,-2.227739861197989939e-03,-4.422349842444640161e-02,-8.993489211265630334e-02,1.185912177278039964e-01,-7.639450375000099436e-02,-1.811826730789670159e-02,3.064409414368320182e-03
1.628067572730669890e-02,-4.464163650698899782e-02,-6.332999405149600247e-02,-5.731367096097819691e-02,-5.798302700645770191e-02,-4.891244361822749687e-02,8.142083605192099172e-03,-3.949338287409189657e-02,-5.947269741072230137e-02,-6.735140813782170000e-02
4.897352178648269744e-02,5.068011873981870252e-02,-3.099563183506899924e-02,-4.928030602040309877e-02,4.934129593323050011e-02,-4.132213582324419619e-03,1.333177689441520097e-01,-5.351580880693729975e-02,2.131084656824479978e-02,1.963283707370720027e-02
1.264813727628719998e-02,-4.464163650698899782e-02,2.289497185897609866e-02,5.285819123858220142e-02,8.062710187196569719e-03,-2.855779360190789998e-02,3.759518603788870178e-02,-3.949338287409189657e-02,5.472400334817909689e-02,-2.593033898947460017e-02
-9.147093429830140468e-03,-4.464163650698899782e-02,1.103903904628619932e-02,-5.731367096097819691e-02,-2.496015840963049931e-02,-4.296262284422640298e-02,3.023191042971450082e-02,-3.949338287409189657e-02,1.703713241477999851e-02,-5.219804415301099697e-03
-1.882016527791040067e-03,5.068011873981870252e-02,7.139651518361660176e-02,9.761551025715360652e-02,8.786797596286209655e-02,7.540749571221680436e-02,-2.131101882750449997e-02,7.120997975363539678e-02,7.142403278057639360e-02,2.377494398854190089e-02
-1.882016527791040067e-03,5.068011873981870252e-02,1.427247526792889930e-02,-7.452802442965950069e-02,2.558898754392050119e-03,6.201685656730160021e-03,-1.394774321933030074e-02,-2.592261998182820038e-03,1.919903307856710151e-02,3.064409414368320182e-03
5.383060374248070309e-03,5.068011873981870252e-02,-8.361578283570040432e-03,2.187235499495579841e-02,5.484510736603499803e-02,7.321545647968999426e-02,-2.499265663159149983e-02,3.430885887772629900e-02,1.255315281338930007e-02,9.419076154073199869e-02
-9.996055470531900466e-02,-4.464163650698899782e-02,-6.764124234701959781e-02,-1.089567313670219972e-01,-7.449446130487119566e-02,-7.271172671423199729e-02,1.550535921336619952e-02,-3.949338287409189657e-02,-4.986846773523059828e-02,-9.361911330135799444e-03
-6.000263174410389727e-02,5.068011873981870252e-02,-1.051720243133190055e-02,-1.485159908304049987e-02,-4.972730985725089953e-02,-2.354741821327540133e-02,-5.812739686837520292e-02,1.585829843977170153e-02,-9.918957363154769225e-03,-3.421455281914410201e-02
1.991321417832630017e-02,-4.464163650698899782e-02,-2.345094731790270046e-02,-7.108515373592319553e-02,2.044628591100669870e-02,-1.008203435632550049e-02,1.185912177278039964e-01,-7.639450375000099436e-02,-4.257210492279420166e-02,7.348022696655839847e-02
4.534098333546320025e-02,5.068011873981870252e-02,6.816307896197400240e-02,8.100872220010799790e-03,-1.670444126042380101e-02,4.635943347782499856e-03,-7.653558588881050062e-02,7.120997975363539678e-02,3.243322577960189995e-02,-1.764612515980519894e-02
2.717829108036539862e-02,5.068011873981870252e-02,-3.530688013059259805e-02,3.220096707616459941e-02,-1.120062982761920074e-02,1.504458729887179960e-03,-1.026610541524320026e-02,-2.592261998182820038e-03,-1.495647502491130078e-02,-5.078298047848289754e-02
-5.637009329308430294e-02,-4.464163650698899782e-02,-1.159501450521270051e-02,-3.321357610482440076e-02,-4.697540414084860200e-02,-4.765984977106939996e-02,4.460445801105040325e-03,-3.949338287409189657e-02,-7.979397554541639223e-03,-8.806194271199530021e-02
-7.816532399920170238e-02,-4.464163650698899782e-02,-7.303030271642410587e-02,-5.731367096097819691e-02,-8.412613131227909824e-02,-7.427746902317970690e-02,-2.499265663159149983e-02,-3.949338287409189657e-02,-1.811826730789670159e-02,-8.391983579716059960e-02
6.713621404158050254e-02,5.068011873981870252e-02,-4.177375257387799801e-02,1.154374291374709975e-02,2.558898754392050119e-03,5.888537194940629722e-03,4.127682384197570165e-02,-3.949338287409189657e-02,-5.947269741072230137e-02,-2.178823207463989955e-02
-4.183993948900609910e-02,5.068011873981870252e-02,1.427247526792889930e-02,-5.670610554934250001e-03,-1.257658268582039982e-02,6.201685656730160021e-03,-7.285394808472339667e-02,7.120997975363539678e-02,3.546193866076970125e-02,-1.350401824497050006e-02
3.444336798240450054e-02,-4.464163650698899782e-02,-7.283766209689159811e-03,1.498661360748330083e-02,-4.422349842444640161e-02,-3.732595053201490098e-02,-2.902829807069099918e-03,-3.949338287409189657e-02,-2.139368094035999993e-02,7.206516329203029904e-03
5.987113713954139715e-02,5.068011873981870252e-02,1.642809941569069870e-02,2.875809638242839833e-02,-4.147159270804409714e-02,-2.918409052548700047e-02,-2.867429443567860031e-02,-2.592261998182820038e-03,-2.396681493414269844e-03,-2.178823207463989955e-02
-5.273755484206479882e-02,-4.464163650698899782e-02,-9.439390357450949676e-03,-5.670610554934250001e-03,3.970962592582259754e-02,4.471894645684260094e-02,2.655027262562750096e-02,-2.592261998182820038e-03,-1.811826730789670159e-02,-1.350401824497050006e-02
-9.147093429830140468e-03,-4.464163650698899782e-02,-1.590626280073640167e-02,7.007254470726349826e-02,1.219056876180000040e-02,2.217225720799630151e-02,1.550535921336619952e-02,-2.592261998182820038e-03,-3.324878724762579674e-02,4.862758547755009764e-02
-4.910501639104519755e-02,-4.464163650698899782e-02,2.505059600673789980e-02,8.100872220010799790e-03,2.044628591100669870e-02,1.778817874294279927e-02,5.232173725423699961e-02,-3.949338287409189657e-02,-4.118038518800790082e-02,7.206516329203029904e-03
-4.183993948900609910e-02,-4.464163650698899782e-02,-4.931843709104429679e-02,-3.665644679856060184e-02,-7.072771253015849857e-03,-2.260797282790679916e-02,8.545647749102060209e-02,-3.949338287409189657e-02,-6.648814822283539983e-02,7.206516329203029904e-03
-4.183993948900609910e-02,-4.464163650698899782e-02,4.121777711495139968e-02,-2.632783471735180084e-02,-3.183992270063620150e-02,-3.043668437264510085e-02,-3.603757004385269719e-02,2.942906133203560069e-03,3.365681290238470291e-02,-1.764612515980519894e-02
-2.730978568492789874e-02,-4.464163650698899782e-02,-6.332999405149600247e-02,-5.042792957350569760e-02,-8.962994274508359616e-02,-1.043397213549750041e-01,5.232173725423699961e-02,-7.639450375000099436e-02,-5.615757309500619965e-02,-6.735140813782170000e-02
4.170844488444359899e-02,-4.464163650698899782e-02,-6.440780612537699845e-02,3.564383776990089764e-02,1.219056876180000040e-02,-5.799374901012400302e-02,1.811790603972839864e-01,-7.639450375000099436e-02,-6.092541861022970299e-04,-5.078298047848289754e-02
6.350367559056099842e-02,5.068011873981870252e-02,-2.560657146566450160e-02,1.154374291374709975e-02,6.447677737344290061e-02,4.847672799831700269e-02,3.023191042971450082e-02,-2.592261998182820038e-03,3.839324821169769891e-02,1.963283707370720027e-02
-7.090024709716259699e-02,-4.464163650698899782e-02,-4.050329988046450294e-03,-4.009931749229690007e-02,-6.623874415566440021e-02,-7.866154748823310505e-02,5.232173725423699961e-02,-7.639450375000099436e-02,-5.140053526058249722e-02,-3.421455281914410201e-02
-4.183993948900609910e-02,5.068011873981870252e-02,4.572166603000769880e-03,-5.387080026724189868e-02,-4.422349842444640161e-02,-2.730519975474979960e-02,-8.021722369289760457e-02,7.120997975363539678e-02,3.664579779339879884e-02,1.963283707370720027e-02
-2.730978568492789874e-02,5.068011873981870252e-02,-7.283766209689159811e-03,-4.009931749229690007e-02,-1.120062982761920074e-02,-1.383981589779990050e-02,5.968501286241110343e-02,-3.949338287409189657e-02,-8.238148325810279449e-02,-2.593033898947460017e-02
-3.457486258696700065e-02,-4.464163650698899782e-02,-3.746250427835440266e-02,-6.075654165471439799e-02,2.044628591100669870e-02,4.346635260968449710e-02,-1.394774321933030074e-02,-2.592261998182820038e-03,-3.075120986455629965e-02,-7.149351505265640061e-02
6.713621404158050254e-02,5.068011873981870252e-02,-2.560657146566450160e-02,-4.009931749229690007e-02,-6.348683843926219983e-02,-5.987263978086120042e-02,-2.902829807069099918e-03,-3.949338287409189657e-02,-1.919704761394450121e-02,1.134862324403770016e-02
-4.547247794002570037e-02,5.068011873981870252e-02,-2.452875939178359929e-02,5.974393262605470073e-02,5.310804470794310353e-03,1.496984258683710031e-02,-5.444575906428809897e-02,7.120997975363539678e-02,4.234489544960749752e-02,1.549073015887240078e-02
-9.147093429830140468e-03,5.068011873981870252e-02,-1.806188694849819934e-02,-3.321357610482440076e-02,-2.083229983502719873e-02,1.215150643073130074e-02,-7.285394808472339667e-02,7.120997975363539678e-02,2.714857279071319972e-04,1.963283707370720027e-02
4.170844488444359899e-02,5.068011873981870252e-02,-1.482845072685549936e-02,-1.714684618924559867e-02,-5.696818394814720174e-03,8.393724889256879915e-03,-1.394774321933030074e-02,-1.854239580664649974e-03,-1.190068480150809939e-02,3.064409414368320182e-03
3.807590643342410180e-02,5.068011873981870252e-02,-2.991781976118810041e-02,-4.009931749229690007e-02,-3.321587555883730170e-02,-2.417371513685449835e-02,-1.026610541524320026e-02,-2.592261998182820038e-03,-1.290794225416879923e-02,3.064409414368320182e-03
1.628067572730669890e-02,-4.464163650698899782e-02,-4.608500086940160029e-02,-5.670610554934250001e-03,-7.587041416307230279e-02,-6.143838208980879900e-02,-1.394774321933030074e-02,-3.949338287409189657e-02,-5.140053526058249722e-02,1.963283707370720027e-02
-1.882016527791040067e-03,-4.464163650698899782e-02,-6.979686649478139548e-02,-1.255635194240680048e-02,-1.930069620102049918e-04,-9.142588970956939953e-03,7.072992627467229731e-02,-3.949338287409189657e-02,-6.291294991625119570e-02,4.034337164788070335e-02
-1.882016527791040067e-03,-4.464163650698899782e-02,3.367309259778510089e-02,1.251584758070440062e-01,2.457414448561009990e-02,2.624318721126020146e-02,-1.026610541524320026e-02,-2.592261998182820038e-03,2.671425763351279944e-02,6.105390622205419948e-02
6.350367559056099842e-02,5.068011873981870252e-02,-4.050329988046450294e-03,-1.255635194240680048e-02,1.030034574030749966e-01,4.878987646010649742e-02,5.600337505832399948e-02,-2.592261998182820038e-03,8.449528221240310000e-02,-1.764612515980519894e-02
1.264813727628719998e-02,5.068011873981870252e-02,-2.021751109626000048e-02,-2.227739861197989939e-03,3.833367306762140020e-02,5.317395492515999966e-02,-6.584467611156170040e-03,3.430885887772629900e-02,-5.145307980263110273e-03,-9.361911330135799444e-03
1.264813727628719998e-02,5.068011873981870252e-02,2.416542455238970041e-03,5.630106193231849965e-02,2.732605020201240090e-02,1.716188181936379939e-02,4.127682384197570165e-02,-3.949338287409189657e-02,3.711738233435969789e-03,7.348022696655839847e-02
-9.147093429830140468e-03,5.068011873981870252e-02,-3.099563183506899924e-02,-2.632783471735180084e-02,-1.120062982761920074e-02,-1.000728964429089965e-03,-2.131101882750449997e-02,-2.592261998182820038e-03,6.209315616505399656e-03,2.791705090337660150e-02
-3.094232413594750000e-02,5.068011873981870252e-02,2.828403222838059977e-02,7.007254470726349826e-02,-1.267806699165139883e-01,-1.068449090492910036e-01,-5.444575906428809897e-02,-4.798064067555100204e-02,-3.075120986455629965e-02,1.549073015887240078e-02
-9.632801625429950054e-02,-4.464163650698899782e-02,-3.638469220447349689e-02,-7.452802442965950069e-02,-3.871968699164179961e-02,-2.761834821653930128e-02,1.550535921336619952e-02,-3.949338287409189657e-02,-7.408887149153539631e-02,-1.077697500466389974e-03
5.383060374248070309e-03,-4.464163650698899782e-02,-5.794093368209150136e-02,-2.288496402361559975e-02,-6.761469701386560449e-02,-6.832764824917850199e-02,-5.444575906428809897e-02,-2.592261998182820038e-03,4.289568789252869857e-02,-8.391983579716059960e-02
-1.035930931563389945e-01,-4.464163650698899782e-02,-3.746250427835440266e-02,-2.632783471735180084e-02,2.558898754392050119e-03,1.998021797546959896e-02,1.182372140927919965e-02,-2.592261998182820038e-03,-6.832974362442149896e-02,-2.593033898947460017e-02
7.076875249260000666e-02,-4.464163650698899782e-02,1.211685112016709989e-02,4.252957915737339695e-02,7.135654166444850566e-02,5.348710338694950134e-02,5.232173725423699961e-02,-2.592261998182820038e-03,2.539313491544940155e-02,-5.219804415301099697e-03
1.264813727628719998e-02,5.068011873981870252e-02,-2.237313524402180162e-02,-2.977070541108809906e-02,1.081461590359879960e-02,2.843522644378690054e-02,-2.131101882750449997e-02,3.430885887772629900e-02,-6.080248196314420352e-03,-1.077697500466389974e-03
-1.641217033186929963e-02,-4.464163650698899782e-02,-3.530688013059259805e-02,-2.632783471735180084e-02,3.282986163481690228e-02,1.716188181936379939e-02,1.001830287073690040e-01,-3.949338287409189657e-02,-7.020931272868760620e-02,-7.977772888232589898e-02
-3.820740103798660192e-02,-4.464163650698899782e-02,9.961226972405269262e-03,-4.698505887976939938e-02,-5.935897986465880211e-02,-5.298337362149149743e-02,-1.026610541524320026e-02,-3.949338287409189657e-02,-1.599826775813870117e-02,-4.249876664881350324e-02
1.750521923228520000e-03,-4.464163650698899782e-02,-3.961812842611620034e-02,-1.009233664264470032e-01,-2.908801698423390050e-02,-3.012353591085559917e-02,4.495846164606279866e-02,-5.019470792810550031e-02,-6.832974362442149896e-02,-1.294830118603420011e-01
4.534098333546320025e-02,-4.464163650698899782e-02,7.139651518361660176e-02,1.215130832538269907e-03,-9.824676969418109224e-03,-1.000728964429089965e-03,1.550535921336619952e-02,-3.949338287409189657e-02,-4.118038518800790082e-02,-7.149351505265640061e-02
-7.090024709716259699e-02,5.068011873981870252e-02,-7.518592686418590354e-02,-4.009931749229690007e-02,-5.110326271545199972e-02,-1.509240974495799914e-02,-3.971920784793980114e-02,-2.592261998182820038e-03,-9.643322289178400675e-02,-3.421455281914410201e-02
4.534098333546320025e-02,-4.464163650698899782e-02,-6.205954135808240159e-03,1.154374291374709975e-02,6.310082451524179348e-02,1.622243643399520069e-02,9.650139090328180291e-02,-3.949338287409189657e-02,4.289568789252869857e-02,-3.835665973397880263e-02
-5.273755484206479882e-02,5.068011873981870252e-02,-4.069594049999709917e-02,-6.764228304218700139e-02,-3.183992270063620150e-02,-3.701280207022530216e-02,3.759518603788870178e-02,-3.949338287409189657e-02,-3.452371533034950118e-02,6.933812005172369786e-02
-4.547247794002570037e-02,-4.464163650698899782e-02,-4.824062501716339796e-02,-1.944209332987930153e-02,-1.930069620102049918e-04,-1.603185513032660131e-02,6.704828847058519337e-02,-3.949338287409189657e-02,-2.479118743246069845e-02,1.963283707370720027e-02
1.264813727628719998e-02,-4.464163650698899782e-02,-2.560657146566450160e-02,-4.009931749229690007e-02,-3.046396984243510131e-02,-4.515466207675319921e-02,7.809320188284639419e-02,-7.639450375000099436e-02,-7.212845460195599356e-02,1.134862324403770016e-02
4.534098333546320025e-02,-4.464163650698899782e-02,5.199589785376040191e-02,-5.387080026724189868e-02,6.310082451524179348e-02,6.476044801137270657e-02,-1.026610541524320026e-02,3.430885887772629900e-02,3.723201120896890010e-02,1.963283707370720027e-02
-2.004470878288880029e-02,-4.464163650698899782e-02,4.572166603000769880e-03,9.761551025715360652e-02,5.310804470794310353e-03,-2.072908205716959829e-02,6.336665066649820044e-02,-3.949338287409189657e-02,1.255315281338930007e-02,1.134862324403770016e-02
-4.910501639104519755e-02,-4.464163650698899782e-02,-6.440780612537699845e-02,-1.020709899795499975e-01,-2.944912678412469915e-03,-1.540555820674759969e-02,6.336665066649820044e-02,-4.724261825803279663e-02,-3.324878724762579674e-02,-5.492508739331759815e-02
-7.816532399920170238e-02,-4.464163650698899782e-02,-1.698407487461730050e-02,-1.255635194240680048e-02,-1.930069620102049918e-04,-1.352666743601040056e-02,7.072992627467229731e-02,-3.949338287409189657e-02,-4.118038518800790082e-02,-9.220404962683000083e-02
-7.090024709716259699e-02,-4.464163650698899782e-02,-5.794093368209150136e-02,-8.141376581713200000e-02,-4.559945128264750180e-02,-2.887094206369749880e-02,-4.340084565202689815e-02,-2.592261998182820038e-03,1.143797379512540100e-03,-5.219804415301099697e-03
5.623859868852180283e-02,5.068011873981870252e-02,9.961226972405269262e-03,4.941532054484590319e-02,-4.320865536613589623e-03,-1.227407358885230018e-02,-4.340084565202689815e-02,3.430885887772629900e-02,6.078775415074400001e-02,3.205915781821130212e-02
-2.730978568492789874e-02,-4.464163650698899782e-02,8.864150836571099701e-02,-2.518021116424929914e-02,2.182223876920789951e-02,4.252690722431590187e-02,-3.235593223976569732e-02,3.430885887772629900e-02,2.863770518940129874e-03,7.762233388139309909e-02
1.750521923228520000e-03,5.068011873981870252e-02,-5.128142061927360405e-03,-1.255635194240680048e-02,-1.532848840222260020e-02,-1.383981589779990050e-02,8.142083605192099172e-03,-3.949338287409189657e-02,-6.080248196314420352e-03,-6.735140813782170000e-02
-1.882016527791040067e-03,-4.464163650698899782e-02,-6.440780612537699845e-02,1.154374291374709975e-02,2.732605020201240090e-02,3.751653183568340322e-02,-1.394774321933030074e-02,3.430885887772629900e-02,1.178390038357590014e-02,-5.492508739331759815e-02
1.628067572730669890e-02,-4.464163650698899782e-02,1.750591148957160101e-02,-2.288496402361559975e-02,6.034891879883950289e-02,4.440579799505309927e-02,3.023191042971450082e-02,-2.592261998182820038e-03,3.723201120896890010e-02,-1.077697500466389974e-03
1.628067572730669890e-02,5.068011873981870252e-02,-4.500718879552070145e-02,6.318680331979099896e-02,1.081461590359879960e-02,-3.744320408500199904e-04,6.336665066649820044e-02,-3.949338287409189657e-02,-3.075120986455629965e-02,3.620126473304600273e-02
-9.269547780327989928e-02,-4.464163650698899782e-02,2.828403222838059977e-02,-1.599922263614299983e-02,3.695772020942030001e-02,2.499059336410210108e-02,5.600337505832399948e-02,-3.949338287409189657e-02,-5.145307980263110273e-03,-1.077697500466389974e-03
5.987113713954139715e-02,5.068011873981870252e-02,4.121777711495139968e-02,1.154374291374709975e-02,4.108557878402369773e-02,7.071026878537380045e-02,-3.603757004385269719e-02,3.430885887772629900e-02,-1.090443584737709956e-02,-3.007244590430930078e-02
-2.730978568492789874e-02,-4.464163650698899782e-02,6.492964274033119487e-02,-2.227739861197989939e-03,-2.496015840963049931e-02,-1.728444897748479883e-02,2.286863482154040048e-02,-3.949338287409189657e-02,-6.117659509433449883e-02,-6.320930122298699938e-02
2.354575262934580082e-02,5.068011873981870252e-02,-3.207344390894990155e-02,-4.009931749229690007e-02,-3.183992270063620150e-02,-2.166852744253820046e-02,-1.394774321933030074e-02,-2.592261998182820038e-03,-1.090443584737709956e-02,1.963283707370720027e-02
-9.632801625429950054e-02,-4.464163650698899782e-02,-7.626373893806680238e-02,-4.354218818603310115e-02,-4.559945128264750180e-02,-3.482076283769860309e-02,8.142083605192099172e-03,-3.949338287409189657e-02,-5.947269741072230137e-02,-8.391983579716059960e-02
2.717829108036539862e-02,-4.464163650698899782e-02,4.984027370599859730e-02,-5.501842382034440038e-02,-2.944912678412469915e-03,4.064801645357869753e-02,-5.812739686837520292e-02,5.275941931568080279e-02,-5.295879323920039961e-02,-5.219804415301099697e-03
1.991321417832630017e-02,5.068011873981870252e-02,4.552902541047500196e-02,2.990571983224480160e-02,-6.211088558106100249e-02,-5.580170977759729700e-02,-7.285394808472339667e-02,2.692863470254440103e-02,4.560080841412490066e-02,4.034337164788070335e-02
3.807590643342410180e-02,5.068011873981870252e-02,-9.439390357450949676e-03,2.362754385640800005e-03,1.182945896190920002e-03,3.751653183568340322e-02,-5.444575906428809897e-02,5.017634085436720182e-02,-2.595242443518940012e-02,1.066170822852360034e-01
4.170844488444359899e-02,5.068011873981870252e-02,-3.207344390894990155e-02,-2.288496402361559975e-02,-4.972730985725089953e-02,-4.014428668812060341e-02,3.023191042971450082e-02,-3.949338287409189657e-02,-1.260973855604090033e-01,1.549073015887240078e-02
1.991321417832630017e-02,-4.464163650698899782e-02,4.572166603000769880e-03,-2.632783471735180084e-02,2.319819162740899970e-02,1.027261565999409987e-02,6.704828847058519337e-02,-3.949338287409189657e-02,-2.364455757213410059e-02,-4.664087356364819692e-02
-8.543040090124079389e-02,-4.464163650698899782e-02,2.073934771121430098e-02,-2.632783471735180084e-02,5.310804470794310353e-03,1.966706951368000014e-02,-2.902829807069099918e-03,-2.592261998182820038e-03,-2.364455757213410059e-02,3.064409414368320182e-03
1.991321417832630017e-02,5.068011873981870252e-02,1.427247526792889930e-02,6.318680331979099896e-02,1.494247447820220079e-02,2.029336643725910064e-02,-4.708248345611389801e-02,3.430885887772629900e-02,4.666077235681449775e-02,9.004865462589720093e-02
2.354575262934580082e-02,-4.464163650698899782e-02,1.101977498433290015e-01,6.318680331979099896e-02,1.356652162000110060e-02,-3.294187206696139875e-02,-2.499265663159149983e-02,2.065544415363990138e-02,9.924022573398999514e-02,2.377494398854190089e-02
-3.094232413594750000e-02,5.068011873981870252e-02,1.338730381358059929e-03,-5.670610554934250001e-03,6.447677737344290061e-02,4.941617338368559792e-02,-4.708248345611389801e-02,1.081111006295440019e-01,8.379676636552239877e-02,3.064409414368320182e-03
4.897352178648269744e-02,5.068011873981870252e-02,5.846277029704580186e-02,7.007254470726349826e-02,1.356652162000110060e-02,2.060651489904859884e-02,-2.131101882750449997e-02,3.430885887772629900e-02,2.200405045615050001e-02,2.791705090337660150e-02
5.987113713954139715e-02,-4.464163650698899782e-02,-2.129532317014089932e-02,8.728689817594480205e-02,4.521343735862710239e-02,3.156671106168230240e-02,-4.708248345611389801e-02,7.120997975363539678e-02,7.912108138965789905e-02,1.356118306890790048e-01
-5.637009329308430294e-02,5.068011873981870252e-02,-1.051720243133190055e-02,2.531522568869210010e-02,2.319819162740899970e-02,4.002171952999959703e-02,-3.971920784793980114e-02,3.430885887772629900e-02,2.061233072136409855e-02,5.691179930721949887e-02
1.628067572730669890e-02,-4.464163650698899782e-02,-4.716281294328249912e-02,-2.227739861197989939e-03,-1.945634697682600139e-02,-4.296262284422640298e-02,3.391354823380159783e-02,-3.949338287409189657e-02,2.736770754260900093e-02,2.791705090337660150e-02
-4.910501639104519755e-02,-4.464163650698899782e-02,4.572166603000769880e-03,1.154374291374709975e-02,-3.734373413344069942e-02,-1.853704282464289921e-02,-1.762938102341739949e-02,-2.592261998182820038e-03,-3.980959436433750137e-02,-2.178823207463989955e-02
6.350367559056099842e-02,-4.464163650698899782e-02,1.750591148957160101e-02,2.187235499495579841e-02,8.062710187196569719e-03,2.154596028441720101e-02,-3.603757004385269719e-02,3.430885887772629900e-02,1.990842087631829876e-02,1.134862324403770016e-02
4.897352178648269744e-02,5.068011873981870252e-02,8.109682384854470516e-02,2.187235499495579841e-02,4.383748450042589812e-02,6.413415108779360607e-02,-5.444575906428809897e-02,7.120997975363539678e-02,3.243322577960189995e-02,4.862758547755009764e-02
5.383060374248070309e-03,5.068011873981870252e-02,3.475090467166599972e-02,-1.080116308095460057e-03,1.525377602983150060e-01,1.987879896572929961e-01,-6.180903467246220279e-02,1.852344432601940039e-01,1.556684454070180086e-02,7.348022696655839847e-02
-5.514554978810590376e-03,-4.464163650698899782e-02,2.397278393285700096e-02,8.100872220010799790e-03,-3.459182841703849903e-02,-3.889169284096249957e-02,2.286863482154040048e-02,-3.949338287409189657e-02,-1.599826775813870117e-02,-1.350401824497050006e-02
-5.514554978810590376e-03,5.068011873981870252e-02,-8.361578283570040432e-03,-2.227739861197989939e-03,-3.321587555883730170e-02,-6.363042132233559522e-02,-3.603757004385269719e-02,-2.592261998182820038e-03,8.058546423866649877e-02,7.206516329203029904e-03
-8.906293935226029801e-02,-4.464163650698899782e-02,-6.117436990373419786e-02,-2.632783471735180084e-02,-5.523112129005539744e-02,-5.454911593043910295e-02,4.127682384197570165e-02,-7.639450375000099436e-02,-9.393564550871469354e-02,-5.492508739331759815e-02
3.444336798240450054e-02,5.068011873981870252e-02,-1.894705840284650021e-03,-1.255635194240680048e-02,3.833367306762140020e-02,1.371724873967889932e-02,7.809320188284639419e-02,-3.949338287409189657e-02,4.551890466127779880e-03,-9.634615654166470144e-02
-5.273755484206479882e-02,-4.464163650698899782e-02,-6.225218197761509670e-02,-2.632783471735180084e-02,-5.696818394814720174e-03,-5.071658967693000106e-03,3.023191042971450082e-02,-3.949338287409189657e-02,-3.075120986455629965e-02,-7.149351505265640061e-02
9.015598825267629943e-03,-4.464163650698899782e-02,1.642809941569069870e-02,4.658001526274530187e-03,9.438663045397699403e-03,1.058576412178359981e-02,-2.867429443567860031e-02,3.430885887772629900e-02,3.896836603088559697e-02,1.190434030297399942e-01
-6.363517019512339445e-02,5.068011873981870252e-02,9.618619288287730273e-02,1.045012516446259948e-01,-2.944912678412469915e-03,-4.758510505903469807e-03,-6.584467611156170040e-03,-2.592261998182820038e-03,2.269202256674450122e-02,7.348022696655839847e-02
-9.632801625429950054e-02,-4.464163650698899782e-02,-6.979686649478139548e-02,-6.764228304218700139e-02,-1.945634697682600139e-02,-1.070833127990459925e-02,1.550535921336619952e-02,-3.949338287409189657e-02,-4.687948284421659950e-02,-7.977772888232589898e-02
1.628067572730669890e-02,5.068011873981870252e-02,-2.129532317014089932e-02,-9.113481248670509197e-03,3.420581449301800248e-02,4.785043107473799934e-02,7.788079970179680352e-04,-2.592261998182820038e-03,-1.290794225416879923e-02,2.377494398854190089e-02
-4.183993948900609910e-02,5.068011873981870252e-02,-5.362968538656789907e-02,-4.009931749229690007e-02,-8.412613131227909824e-02,-7.177228132886340206e-02,-2.902829807069099918e-03,-3.949338287409189657e-02,-7.212845460195599356e-02,-3.007244590430930078e-02
-7.453278554818210111e-02,-4.464163650698899782e-02,4.337340126271319735e-02,-3.321357610482440076e-02,1.219056876180000040e-02,2.518648827290310109e-04,6.336665066649820044e-02,-3.949338287409189657e-02,-2.712864555432650121e-02,-4.664087356364819692e-02
-5.514554978810590376e-03,-4.464163650698899782e-02,5.630714614928399725e-02,-3.665644679856060184e-02,-4.835135699904979933e-02,-4.296262284422640298e-02,-7.285394808472339667e-02,3.799897096531720114e-02,5.078151336297320045e-02,5.691179930721949887e-02
-9.269547780327989928e-02,-4.464163650698899782e-02,-8.165279930747129655e-02,-5.731367096097819691e-02,-6.073493272285990230e-02,-6.801449978738899338e-02,4.864009945014990260e-02,-7.639450375000099436e-02,-6.648814822283539983e-02,-2.178823207463989955e-02
5.383060374248070309e-03,-4.464163650698899782e-02,4.984027370599859730e-02,9.761551025715360652e-02,-1.532848840222260020e-02,-1.634500359211620013e-02,-6.584467611156170040e-03,-2.592261998182820038e-03,1.703713241477999851e-02,-1.350401824497050006e-02
3.444336798240450054e-02,5.068011873981870252e-02,1.112755619172099975e-01,7.695828609473599757e-02,-3.183992270063620150e-02,-3.388131745233000092e-02,-2.131101882750449997e-02,-2.592261998182820038e-03,2.801650652326400162e-02,7.348022696655839847e-02
2.354575262934580082e-02,-4.464163650698899782e-02,6.169620651868849837e-02,5.285819123858220142e-02,-3.459182841703849903e-02,-4.891244361822749687e-02,-2.867429443567860031e-02,-2.592261998182820038e-03,5.472400334817909689e-02,-5.219804415301099697e-03
4.170844488444359899e-02,5.068011873981870252e-02,1.427247526792889930e-02,4.252957915737339695e-02,-3.046396984243510131e-02,-1.313877426218630021e-03,-4.340084565202689815e-02,-2.592261998182820038e-03,-3.324878724762579674e-02,1.549073015887240078e-02
-2.730978568492789874e-02,-4.464163650698899782e-02,4.768464955823679963e-02,-4.698505887976939938e-02,3.420581449301800248e-02,5.724488492842390308e-02,-8.021722369289760457e-02,1.302517731550900115e-01,4.506616833626150148e-02,1.314697237742440128e-01
4.170844488444359899e-02,5.068011873981870252e-02,1.211685112016709989e-02,3.908670846363720280e-02,5.484510736603499803e-02,4.440579799505309927e-02,4.460445801105040325e-03,-2.592261998182820038e-03,4.560080841412490066e-02,-1.077697500466389974e-03
-3.094232413594750000e-02,-4.464163650698899782e-02,5.649978676881649634e-03,-9.113481248670509197e-03,1.907033305280559851e-02,6.827982580309210209e-03,7.441156407875940126e-02,-3.949338287409189657e-02,-4.118038518800790082e-02,-4.249876664881350324e-02
3.081082953138499989e-02,5.068011873981870252e-02,4.660683748435590079e-02,-1.599922263614299983e-02,2.044628591100669870e-02,5.066876723084379891e-02,-5.812739686837520292e-02,7.120997975363539678e-02,6.209315616505399656e-03,7.206516329203029904e-03
-4.183993948900609910e-02,-4.464163650698899782e-02,1.285205550993039902e-01,6.318680331979099896e-02,-3.321587555883730170e-02,-3.262872360517189707e-02,1.182372140927919965e-02,-3.949338287409189657e-02,-1.599826775813870117e-02,-5.078298047848289754e-02
-3.094232413594750000e-02,5.068011873981870252e-02,5.954058237092670069e-02,1.215130832538269907e-03,1.219056876180000040e-02,3.156671106168230240e-02,-4.340084565202689815e-02,3.430885887772629900e-02,1.482271084126630077e-02,7.206516329203029904e-03
-5.637009329308430294e-02,-4.464163650698899782e-02,9.295275666123460623e-02,-1.944209332987930153e-02,1.494247447820220079e-02,2.342485105515439842e-02,-2.867429443567860031e-02,2.545258986750810123e-02,2.605608963368469949e-02,4.034337164788070335e-02
-6.000263174410389727e-02,5.068011873981870252e-02,1.535028734180979987e-02,-1.944209332987930153e-02,3.695772020942030001e-02,4.816357953652750101e-02,1.918699701745330000e-02,-2.592261998182820038e-03,-3.075120986455629965e-02,-1.077697500466389974e-03
-4.910501639104519755e-02,5.068011873981870252e-02,-5.128142061927360405e-03,-4.698505887976939938e-02,-2.083229983502719873e-02,-2.041593359538010008e-02,-6.917231028063640375e-02,7.120997975363539678e-02,6.123790751970099866e-02,-3.835665973397880263e-02
2.354575262934580082e-02,-4.464163650698899782e-02,7.031870310973570293e-02,2.531522568869210010e-02,-3.459182841703849903e-02,-1.446611282137899926e-02,-3.235593223976569732e-02,-2.592261998182820038e-03,-1.919704761394450121e-02,-9.361911330135799444e-03
1.750521923228520000e-03,-4.464163650698899782e-02,-4.050329988046450294e-03,-5.670610554934250001e-03,-8.448724111216979540e-03,-2.386056667506489953e-02,5.232173725423699961e-02,-3.949338287409189657e-02,-8.944018957797799166e-03,-1.350401824497050006e-02
-3.457486258696700065e-02,5.068011873981870252e-02,-8.168937664037369826e-04,7.007254470726349826e-02,3.970962592582259754e-02,6.695248724389940564e-02,-6.549067247654929980e-02,1.081111006295440019e-01,2.671425763351279944e-02,7.348022696655839847e-02
4.170844488444359899e-02,5.068011873981870252e-02,-4.392937672163980262e-02,6.318680331979099896e-02,-4.320865536613589623e-03,1.622243643399520069e-02,-1.394774321933030074e-02,-2.592261998182820038e-03,-3.452371533034950118e-02,1.134862324403770016e-02
6.713621404158050254e-02,5.068011873981870252e-02,2.073934771121430098e-02,-5.670610554934250001e-03,2.044628591100669870e-02,2.624318721126020146e-02,-2.902829807069099918e-03,-2.592261998182820038e-03,8.640282933063080789e-03,3.064409414368320182e-03
-2.730978568492789874e-02,5.068011873981870252e-02,6.061839444480759953e-02,4.941532054484590319e-02,8.511607024645979902e-02,8.636769187485039689e-02,-2.902829807069099918e-03,3.430885887772629900e-02,3.781447882634390162e-02,4.862758547755009764e-02
-1.641217033186929963e-02,-4.464163650698899782e-02,-1.051720243133190055e-02,1.215130832538269907e-03,-3.734373413344069942e-02,-3.576020822306719832e-02,1.182372140927919965e-02,-3.949338287409189657e-02,-2.139368094035999993e-02,-3.421455281914410201e-02
-1.882016527791040067e-03,5.068011873981870252e-02,-3.315125598283080038e-02,-1.829446977677679984e-02,3.145390877661580209e-02,4.284005568610550069e-02,-1.394774321933030074e-02,1.991742173612169944e-02,1.022564240495780000e-02,2.791705090337660150e-02
-1.277963188084970010e-02,-4.464163650698899782e-02,-6.548561819925780014e-02,-6.993753018282070077e-02,1.182945896190920002e-03,1.684873335757430118e-02,-2.902829807069099918e-03,-7.020396503291909812e-03,-3.075120986455629965e-02,-5.078298047848289754e-02
-5.514554978810590376e-03,-4.464163650698899782e-02,4.337340126271319735e-02,8.728689817594480205e-02,1.356652162000110060e-02,7.141131042098750048e-03,-1.394774321933030074e-02,-2.592261998182820038e-03,4.234489544960749752e-02,-1.764612515980519894e-02
-9.147093429830140468e-03,-4.464163650698899782e-02,-6.225218197761509670e-02,-7.452802442965950069e-02,-2.358420555142939912e-02,-1.321351897422090062e-02,4.460445801105040325e-03,-3.949338287409189657e-02,-3.581672810154919867e-02,-4.664087356364819692e-02
-4.547247794002570037e-02,5.068011873981870252e-02,6.385183066645029604e-02,7.007254470726349826e-02,1.332744202834990066e-01,1.314610703725430096e-01,-3.971920784793980114e-02,1.081111006295440019e-01,7.573758845754760549e-02,8.590654771106250032e-02
-5.273755484206479882e-02,-4.464163650698899782e-02,3.043965637614240091e-02,-7.452802442965950069e-02,-2.358420555142939912e-02,-1.133462820348369975e-02,-2.902829807069099918e-03,-2.592261998182820038e-03,-3.075120986455629965e-02,-1.077697500466389974e-03
1.628067572730669890e-02,5.068011873981870252e-02,7.247432725749750060e-02,7.695828609473599757e-02,-8.448724111216979540e-03,5.575388733151089883e-03,-6.584467611156170040e-03,-2.592261998182820038e-03,-2.364455757213410059e-02,6.105390622205419948e-02
4.534098333546320025e-02,-4.464163650698899782e-02,-1.913969902237900103e-02,2.187235499495579841e-02,2.732605020201240090e-02,-1.352666743601040056e-02,1.001830287073690040e-01,-3.949338287409189657e-02,1.776347786711730131e-02,-1.350401824497050006e-02
-4.183993948900609910e-02,-4.464163650698899782e-02,-6.656343027313869898e-02,-4.698505887976939938e-02,-3.734373413344069942e-02,-4.327577130601600180e-02,4.864009945014990260e-02,-3.949338287409189657e-02,-5.615757309500619965e-02,-1.350401824497050006e-02
-5.637009329308430294e-02,5.068011873981870252e-02,-6.009655782985329903e-02,-3.665644679856060184e-02,-8.825398988688250290e-02,-7.083283594349480683e-02,-1.394774321933030074e-02,-3.949338287409189657e-02,-7.814091066906959926e-02,-1.046303703713340055e-01
7.076875249260000666e-02,-4.464163650698899782e-02,6.924089103585480409e-02,3.793908501382069892e-02,2.182223876920789951e-02,1.504458729887179960e-03,-3.603757004385269719e-02,3.910600459159439823e-02,7.763278919555950675e-02,1.066170822852360034e-01
1.750521923228520000e-03,5.068011873981870252e-02,5.954058237092670069e-02,-2.227739861197989939e-03,6.172487165704060308e-02,6.319470570242499696e-02,-5.812739686837520292e-02,1.081111006295440019e-01,6.898221163630259556e-02,1.273276168594099922e-01
-1.882016527791040067e-03,-4.464163650698899782e-02,-2.668438353954540043e-02,4.941532054484590319e-02,5.897296594063840269e-02,-1.603185513032660131e-02,-4.708248345611389801e-02,7.120997975363539678e-02,1.335989800130079896e-01,1.963283707370720027e-02
2.354575262934580082e-02,5.068011873981870252e-02,-2.021751109626000048e-02,-3.665644679856060184e-02,-1.395253554402150001e-02,-1.509240974495799914e-02,5.968501286241110343e-02,-3.949338287409189657e-02,-9.643322289178400675e-02,-1.764612515980519894e-02
-2.004470878288880029e-02,-4.464163650698899782e-02,-4.608500086940160029e-02,-9.862811928581330378e-02,-7.587041416307230279e-02,-5.987263978086120042e-02,-1.762938102341739949e-02,-3.949338287409189657e-02,-5.140053526058249722e-02,-4.664087356364819692e-02
4.170844488444359899e-02,5.068011873981870252e-02,7.139651518361660176e-02,8.100872220010799790e-03,3.833367306762140020e-02,1.590928797220559840e-02,-1.762938102341739949e-02,3.430885887772629900e-02,7.341007804911610368e-02,8.590654771106250032e-02
-6.363517019512339445e-02,5.068011873981870252e-02,-7.949717515970949888e-02,-5.670610554934250001e-03,-7.174255558846899528e-02,-6.644875747844139480e-02,-1.026610541524320026e-02,-3.949338287409189657e-02,-1.811826730789670159e-02,-5.492508739331759815e-02
1.628067572730669890e-02,5.068011873981870252e-02,9.961226972405269262e-03,-4.354218818603310115e-02,-9.650970703608929835e-02,-9.463211903949929338e-02,-3.971920784793980114e-02,-3.949338287409189657e-02,1.703713241477999851e-02,7.206516329203029904e-03
6.713621404158050254e-02,-4.464163650698899782e-02,-3.854031635223530150e-02,-2.632783471735180084e-02,-3.183992270063620150e-02,-2.636575436938120090e-02,8.142083605192099172e-03,-3.949338287409189657e-02,-2.712864555432650121e-02,3.064409414368320182e-03
4.534098333546320025e-02,5.068011873981870252e-02,1.966153563733339868e-02,3.908670846363720280e-02,2.044628591100669870e-02,2.593003874947069978e-02,8.142083605192099172e-03,-2.592261998182820038e-03,-3.303712578676999863e-03,1.963283707370720027e-02
4.897352178648269744e-02,-4.464163650698899782e-02,2.720622015449970094e-02,-2.518021116424929914e-02,2.319819162740899970e-02,1.841447566652189977e-02,-6.180903467246220279e-02,8.006624876385350087e-02,7.222365081991240221e-02,3.205915781821130212e-02
4.170844488444359899e-02,-4.464163650698899782e-02,-8.361578283570040432e-03,-2.632783471735180084e-02,2.457414448561009990e-02,1.622243643399520069e-02,7.072992627467229731e-02,-3.949338287409189657e-02,-4.836172480289190057e-02,-3.007244590430930078e-02
-2.367724723390840155e-02,-4.464163650698899782e-02,-1.590626280073640167e-02,-1.255635194240680048e-02,2.044628591100669870e-02,4.127431337715779802e-02,-4.340084565202689815e-02,3.430885887772629900e-02,1.407245251576850001e-02,-9.361911330135799444e-03
-3.820740103798660192e-02,5.068011873981870252e-02,4.572166603000769880e-03,3.564383776990089764e-02,-1.120062982761920074e-02,5.888537194940629722e-03,-4.708248345611389801e-02,3.430885887772629900e-02,1.630495279994180133e-02,-1.077697500466389974e-03
4.897352178648269744e-02,-4.464163650698899782e-02,-4.285156464775889684e-02,-5.387080026724189868e-02,4.521343735862710239e-02,5.004247030726469841e-02,3.391354823380159783e-02,-2.592261998182820038e-03,-2.595242443518940012e-02,-6.320930122298699938e-02
4.534098333546320025e-02,5.068011873981870252e-02,5.649978676881649634e-03,5.630106193231849965e-02,6.447677737344290061e-02,8.918602803095619647e-02,-3.971920784793980114e-02,7.120997975363539678e-02,1.556684454070180086e-02,-9.361911330135799444e-03
4.534098333546320025e-02,5.068011873981870252e-02,-3.530688013059259805e-02,6.318680331979099896e-02,-4.320865536613589623e-03,-1.627025888008149911e-03,-1.026610541524320026e-02,-2.592261998182820038e-03,1.556684454070180086e-02,5.691179930721949887e-02
1.628067572730669890e-02,-4.464163650698899782e-02,2.397278393285700096e-02,-2.288496402361559975e-02,-2.496015840963049931e-02,-2.605260590759169922e-02,-3.235593223976569732e-02,-2.592261998182820038e-03,3.723201120896890010e-02,3.205915781821130212e-02
-7.453278554818210111e-02,5.068011873981870252e-02,-1.806188694849819934e-02,8.100872220010799790e-03,-1.945634697682600139e-02,-2.480001206043359885e-02,-6.549067247654929980e-02,3.430885887772629900e-02,6.731721791468489591e-02,-1.764612515980519894e-02
-8.179786245022120650e-02,5.068011873981870252e-02,4.229558918883229851e-02,-1.944209332987930153e-02,3.970962592582259754e-02,5.755803339021339782e-02,-6.917231028063640375e-02,1.081111006295440019e-01,4.718616788601970313e-02,-3.835665973397880263e-02
-6.726770864614299572e-02,-4.464163650698899782e-02,-5.470749746044879791e-02,-2.632783471735180084e-02,-7.587041416307230279e-02,-8.210618056791800512e-02,4.864009945014990260e-02,-7.639450375000099436e-02,-8.682899321629239386e-02,-1.046303703713340055e-01
5.383060374248070309e-03,-4.464163650698899782e-02,-2.972517914165530208e-03,4.941532054484590319e-02,7.410844738085080319e-02,7.071026878537380045e-02,4.495846164606279866e-02,-2.592261998182820038e-03,-1.498586820292070049e-03,-9.361911330135799444e-03
-1.882016527791040067e-03,-4.464163650698899782e-02,-6.656343027313869898e-02,1.215130832538269907e-03,-2.944912678412469915e-03,3.070201038834840124e-03,1.182372140927919965e-02,-2.592261998182820038e-03,-2.028874775162960165e-02,-2.593033898947460017e-02
9.015598825267629943e-03,-4.464163650698899782e-02,-1.267282657909369996e-02,2.875809638242839833e-02,-1.808039411862490120e-02,-5.071658967693000106e-03,-4.708248345611389801e-02,3.430885887772629900e-02,2.337484127982079885e-02,-5.219804415301099697e-03
-5.514554978810590376e-03,5.068011873981870252e-02,-4.177375257387799801e-02,-4.354218818603310115e-02,-7.999827273767569358e-02,-7.615635979391689736e-02,-3.235593223976569732e-02,-3.949338287409189657e-02,1.022564240495780000e-02,-9.361911330135799444e-03
5.623859868852180283e-02,5.068011873981870252e-02,-3.099563183506899924e-02,8.100872220010799790e-03,1.907033305280559851e-02,2.123281182262769934e-02,3.391354823380159783e-02,-3.949338287409189657e-02,-2.952762274177360077e-02,-5.906719430815229877e-02
9.015598825267629943e-03,5.068011873981870252e-02,-5.128142061927360405e-03,-6.419941234845069622e-02,6.998058880624739853e-02,8.386250418053420308e-02,-3.971920784793980114e-02,7.120997975363539678e-02,3.953987807202419963e-02,1.963283707370720027e-02
-6.726770864614299572e-02,-4.464163650698899782e-02,-5.901874575597240019e-02,3.220096707616459941e-02,-5.110326271545199972e-02,-4.953874054180659736e-02,-1.026610541524320026e-02,-3.949338287409189657e-02,2.007840549823790115e-03,2.377494398854190089e-02
2.717829108036539862e-02,5.068011873981870252e-02,2.505059600673789980e-02,1.498661360748330083e-02,2.595009734381130070e-02,4.847672799831700269e-02,-3.971920784793980114e-02,3.430885887772629900e-02,7.837142301823850701e-03,2.377494398854190089e-02
-2.367724723390840155e-02,-4.464163650698899782e-02,-4.608500086940160029e-02,-3.321357610482440076e-02,3.282986163481690228e-02,3.626393798852529937e-02,3.759518603788870178e-02,-2.592261998182820038e-03,-3.324878724762579674e-02,1.134862324403770016e-02
4.897352178648269744e-02,5.068011873981870252e-02,3.494354529119849794e-03,7.007254470726349826e-02,-8.448724111216979540e-03,1.340410027788939938e-02,-5.444575906428809897e-02,3.430885887772629900e-02,1.331596790892770020e-02,3.620126473304600273e-02
-5.273755484206479882e-02,-4.464163650698899782e-02,5.415152200152219958e-02,-2.632783471735180084e-02,-5.523112129005539744e-02,-3.388131745233000092e-02,-1.394774321933030074e-02,-3.949338287409189657e-02,-7.408887149153539631e-02,-5.906719430815229877e-02
4.170844488444359899e-02,-4.464163650698899782e-02,-4.500718879552070145e-02,3.449621432008449784e-02,4.383748450042589812e-02,-1.571870666853709964e-02,3.759518603788870178e-02,-1.440062067847370023e-02,8.989869327767099905e-02,7.206516329203029904e-03
5.623859868852180283e-02,-4.464163650698899782e-02,-5.794093368209150136e-02,-7.965857695567990157e-03,5.209320164963270050e-02,4.910302492189610318e-02,5.600337505832399948e-02,-2.141183364489639834e-02,-2.832024254799870092e-02,4.448547856271539702e-02
-3.457486258696700065e-02,5.068011873981870252e-02,-5.578530953432969675e-02,-1.599922263614299983e-02,-9.824676969418109224e-03,-7.889995123798789270e-03,3.759518603788870178e-02,-3.949338287409189657e-02,-5.295879323920039961e-02,2.791705090337660150e-02
8.166636784565869944e-02,5.068011873981870252e-02,1.338730381358059929e-03,3.564383776990089764e-02,1.263946559924939983e-01,9.106491880169340081e-02,1.918699701745330000e-02,3.430885887772629900e-02,8.449528221240310000e-02,-3.007244590430930078e-02
-1.882016527791040067e-03,5.068011873981870252e-02,3.043965637614240091e-02,5.285819123858220142e-02,3.970962592582259754e-02,5.661858800484489973e-02,-3.971920784793980114e-02,7.120997975363539678e-02,2.539313491544940155e-02,2.791705090337660150e-02
1.107266754538149961e-01,5.068011873981870252e-02,6.727790750762559745e-03,2.875809638242839833e-02,-2.771206412603280031e-02,-7.263698200219739949e-03,-4.708248345611389801e-02,3.430885887772629900e-02,2.007840549823790115e-03,7.762233388139309909e-02
-3.094232413594750000e-02,-4.464163650698899782e-02,4.660683748435590079e-02,1.498661360748330083e-02,-1.670444126042380101e-02,-4.703355284749029946e-02,7.788079970179680352e-04,-2.592261998182820038e-03,6.345592137206540473e-02,-2.593033898947460017e-02
1.750521923228520000e-03,5.068011873981870252e-02,2.612840808061879863e-02,-9.113481248670509197e-03,2.457414448561009990e-02,3.845597722105199845e-02,-2.131101882750449997e-02,3.430885887772629900e-02,9.436409146079870192e-03,3.064409414368320182e-03
9.015598825267629943e-03,-4.464163650698899782e-02,4.552902541047500196e-02,2.875809638242839833e-02,1.219056876180000040e-02,-1.383981589779990050e-02,2.655027262562750096e-02,-3.949338287409189657e-02,4.613233103941480340e-02,3.620126473304600273e-02
3.081082953138499989e-02,-4.464163650698899782e-02,4.013996504107050084e-02,7.695828609473599757e-02,1.769438019460449832e-02,3.782968029747289795e-02,-2.867429443567860031e-02,3.430885887772629900e-02,-1.498586820292070049e-03,1.190434030297399942e-01
3.807590643342410180e-02,5.068011873981870252e-02,-1.806188694849819934e-02,6.662967401352719310e-02,-5.110326271545199972e-02,-1.665815205390569834e-02,-7.653558588881050062e-02,3.430885887772629900e-02,-1.190068480150809939e-02,-1.350401824497050006e-02
9.015598825267629943e-03,-4.464163650698899782e-02,1.427247526792889930e-02,1.498661360748330083e-02,5.484510736603499803e-02,4.722413415115889884e-02,7.072992627467229731e-02,-3.949338287409189657e-02,-3.324878724762579674e-02,-5.906719430815229877e-02
9.256398319871740610e-02,-4.464163650698899782e-02,3.690652881942779739e-02,2.187235499495579841e-02,-2.496015840963049931e-02,-1.665815205390569834e-02,7.788079970179680352e-04,-3.949338287409189657e-02,-2.251217192966049885e-02,-2.178823207463989955e-02
6.713621404158050254e-02,-4.464163650698899782e-02,3.494354529119849794e-03,3.564383776990089764e-02,4.934129593323050011e-02,3.125356259989280072e-02,7.072992627467229731e-02,-3.949338287409189657e-02,-6.092541861022970299e-04,1.963283707370720027e-02
1.750521923228520000e-03,-4.464163650698899782e-02,-7.087467856866229432e-02,-2.288496402361559975e-02,-1.568959820211340015e-03,-1.000728964429089965e-03,2.655027262562750096e-02,-3.949338287409189657e-02,-2.251217192966049885e-02,7.206516329203029904e-03
3.081082953138499989e-02,-4.464163650698899782e-02,-3.315125598283080038e-02,-2.288496402361559975e-02,-4.697540414084860200e-02,-8.116673518254939601e-02,1.038646665114559969e-01,-7.639450375000099436e-02,-3.980959436433750137e-02,-5.492508739331759815e-02
2.717829108036539862e-02,5.068011873981870252e-02,9.403056873511560221e-02,9.761551025715360652e-02,-3.459182841703849903e-02,-3.200242668159279658e-02,-4.340084565202689815e-02,-2.592261998182820038e-03,3.664579779339879884e-02,1.066170822852360034e-01
1.264813727628719998e-02,5.068011873981870252e-02,3.582871674554689856e-02,4.941532054484590319e-02,5.346915450783389784e-02,7.415490186505870052e-02,-6.917231028063640375e-02,1.450122215054540087e-01,4.560080841412490066e-02,4.862758547755009764e-02
7.440129094361959405e-02,-4.464163650698899782e-02,3.151746845002330322e-02,1.010583809508899950e-01,4.658939021682820258e-02,3.689023491210430272e-02,1.550535921336619952e-02,-2.592261998182820038e-03,3.365681290238470291e-02,4.448547856271539702e-02
-4.183993948900609910e-02,-4.464163650698899782e-02,-6.548561819925780014e-02,-4.009931749229690007e-02,-5.696818394814720174e-03,1.434354566325799982e-02,-4.340084565202689815e-02,3.430885887772629900e-02,7.026862549151949647e-03,-1.350401824497050006e-02
-8.906293935226029801e-02,-4.464163650698899782e-02,-4.177375257387799801e-02,-1.944209332987930153e-02,-6.623874415566440021e-02,-7.427746902317970690e-02,8.142083605192099172e-03,-3.949338287409189657e-02,1.143797379512540100e-03,-3.007244590430930078e-02
2.354575262934580082e-02,5.068011873981870252e-02,-3.961812842611620034e-02,-5.670610554934250001e-03,-4.835135699904979933e-02,-3.325502052875090042e-02,1.182372140927919965e-02,-3.949338287409189657e-02,-1.016435479455120028e-01,-6.735140813782170000e-02
-4.547247794002570037e-02,-4.464163650698899782e-02,-3.854031635223530150e-02,-2.632783471735180084e-02,-1.532848840222260020e-02,8.781618063081050515e-04,-3.235593223976569732e-02,-2.592261998182820038e-03,1.143797379512540100e-03,-3.835665973397880263e-02
-2.367724723390840155e-02,5.068011873981870252e-02,-2.560657146566450160e-02,4.252957915737339695e-02,-5.385516843185429725e-02,-4.765984977106939996e-02,-2.131101882750449997e-02,-3.949338287409189657e-02,1.143797379512540100e-03,1.963283707370720027e-02
-9.996055470531900466e-02,-4.464163650698899782e-02,-2.345094731790270046e-02,-6.419941234845069622e-02,-5.798302700645770191e-02,-6.018578824265070210e-02,1.182372140927919965e-02,-3.949338287409189657e-02,-1.811826730789670159e-02,-5.078298047848289754e-02
-2.730978568492789874e-02,-4.464163650698899782e-02,-6.656343027313869898e-02,-1.123996020607579971e-01,-4.972730985725089953e-02,-4.139688053527879746e-02,7.788079970179680352e-04,-3.949338287409189657e-02,-3.581672810154919867e-02,-9.361911330135799444e-03
3.081082953138499989e-02,5.068011873981870252e-02,3.259528052390420205e-02,4.941532054484590319e-02,-4.009563984984299695e-02,-4.358891976780549654e-02,-6.917231028063640375e-02,3.430885887772629900e-02,6.301661511474640487e-02,3.064409414368320182e-03
-1.035930931563389945e-01,5.068011873981870252e-02,-4.608500086940160029e-02,-2.632783471735180084e-02,-2.496015840963049931e-02,-2.480001206043359885e-02,3.023191042971450082e-02,-3.949338287409189657e-02,-3.980959436433750137e-02,-5.492508739331759815e-02
6.713621404158050254e-02,5.068011873981870252e-02,-2.991781976118810041e-02,5.744868538213489945e-02,-1.930069620102049918e-04,-1.571870666853709964e-02,7.441156407875940126e-02,-5.056371913686460301e-02,-3.845911230135379971e-02,7.206516329203029904e-03
-5.273755484206479882e-02,-4.464163650698899782e-02,-1.267282657909369996e-02,-6.075654165471439799e-02,-1.930069620102049918e-04,8.080576427467340075e-03,1.182372140927919965e-02,-2.592261998182820038e-03,-2.712864555432650121e-02,-5.078298047848289754e-02
-2.730978568492789874e-02,5.068011873981870252e-02,-1.590626280073640167e-02,-2.977070541108809906e-02,3.934851612593179802e-03,-6.875805026395569565e-04,4.127682384197570165e-02,-3.949338287409189657e-02,-2.364455757213410059e-02,1.134862324403770016e-02
-3.820740103798660192e-02,5.068011873981870252e-02,7.139651518361660176e-02,-5.731367096097819691e-02,1.539137131565160022e-01,1.558866503921270130e-01,7.788079970179680352e-04,7.194800217115350505e-02,5.027649338998960160e-02,6.933812005172369786e-02
9.015598825267629943e-03,-4.464163650698899782e-02,-3.099563183506899924e-02,2.187235499495579841e-02,8.062710187196569719e-03,8.706873351046409346e-03,4.460445801105040325e-03,-2.592261998182820038e-03,9.436409146079870192e-03,1.134862324403770016e-02
1.264813727628719998e-02,5.068011873981870252e-02,2.609183074771409820e-04,-1.140872838930430053e-02,3.970962592582259754e-02,5.724488492842390308e-02,-3.971920784793980114e-02,5.608052019451260223e-02,2.405258322689299982e-02,3.205915781821130212e-02
6.713621404158050254e-02,-4.464163650698899782e-02,3.690652881942779739e-02,-5.042792957350569760e-02,-2.358420555142939912e-02,-3.450761437590899733e-02,4.864009945014990260e-02,-3.949338287409189657e-02,-2.595242443518940012e-02,-3.835665973397880263e-02
4.534098333546320025e-02,-4.464163650698899782e-02,3.906215296718960200e-02,4.597244985110970211e-02,6.686757328995440036e-03,-2.417371513685449835e-02,8.142083605192099172e-03,-1.255556463467829946e-02,6.432823302367089713e-02,5.691179930721949887e-02
6.713621404158050254e-02,5.068011873981870252e-02,-1.482845072685549936e-02,5.859630917623830093e-02,-5.935897986465880211e-02,-3.450761437590899733e-02,-6.180903467246220279e-02,1.290620876969899959e-02,-5.145307980263110273e-03,4.862758547755009764e-02
2.717829108036539862e-02,-4.464163650698899782e-02,6.727790750762559745e-03,3.564383776990089764e-02,7.961225881365530110e-02,7.071026878537380045e-02,1.550535921336619952e-02,3.430885887772629900e-02,4.067226371449769728e-02,1.134862324403770016e-02
5.623859868852180283e-02,-4.464163650698899782e-02,-6.871905442090049665e-02,-6.878990659528949614e-02,-1.930069620102049918e-04,-1.000728964429089965e-03,4.495846164606279866e-02,-3.764832683029650101e-02,-4.836172480289190057e-02,-1.077697500466389974e-03
3.444336798240450054e-02,5.068011873981870252e-02,-9.439390357450949676e-03,5.974393262605470073e-02,-3.596778127523959923e-02,-7.576846662009279788e-03,-7.653558588881050062e-02,7.120997975363539678e-02,1.100810104587249955e-02,-2.178823207463989955e-02
2.354575262934580082e-02,-4.464163650698899782e-02,1.966153563733339868e-02,-1.255635194240680048e-02,8.374011738825870577e-02,3.876912568284150012e-02,6.336665066649820044e-02,-2.592261998182820038e-03,6.604820616309839409e-02,4.862758547755009764e-02
4.897352178648269744e-02,5.068011873981870252e-02,7.462995140525929827e-02,6.662967401352719310e-02,-9.824676969418109224e-03,-2.253322811587220049e-03,-4.340084565202689815e-02,3.430885887772629900e-02,3.365681290238470291e-02,1.963283707370720027e-02
3.081082953138499989e-02,5.068011873981870252e-02,-8.361578283570040432e-03,4.658001526274530187e-03,1.494247447820220079e-02,2.749578105841839898e-02,8.142083605192099172e-03,-8.127430129569179762e-03,-2.952762274177360077e-02,5.691179930721949887e-02
-1.035930931563389945e-01,5.068011873981870252e-02,-2.345094731790270046e-02,-2.288496402361559975e-02,-8.687803702868139577e-02,-6.770135132559949864e-02,-1.762938102341739949e-02,-3.949338287409189657e-02,-7.814091066906959926e-02,-7.149351505265640061e-02
1.628067572730669890e-02,5.068011873981870252e-02,-4.608500086940160029e-02,1.154374291374709975e-02,-3.321587555883730170e-02,-1.603185513032660131e-02,-1.026610541524320026e-02,-2.592261998182820038e-03,-4.398540256559110156e-02,-4.249876664881350324e-02
-6.000263174410389727e-02,5.068011873981870252e-02,5.415152200152219958e-02,-1.944209332987930153e-02,-4.972730985725089953e-02,-4.891244361822749687e-02,2.286863482154040048e-02,-3.949338287409189657e-02,-4.398540256559110156e-02,-5.219804415301099697e-03
-2.730978568492789874e-02,-4.464163650698899782e-02,-3.530688013059259805e-02,-2.977070541108809906e-02,-5.660707414825649764e-02,-5.862004593370299943e-02,3.023191042971450082e-02,-3.949338287409189657e-02,-4.986846773523059828e-02,-1.294830118603420011e-01
4.170844488444359899e-02,-4.464163650698899782e-02,-3.207344390894990155e-02,-6.190416520781699683e-02,7.961225881365530110e-02,5.098191569263330059e-02,5.600337505832399948e-02,-9.972486173364639508e-03,4.506616833626150148e-02,-5.906719430815229877e-02
-8.179786245022120650e-02,-4.464163650698899782e-02,-8.165279930747129655e-02,-4.009931749229690007e-02,2.558898754392050119e-03,-1.853704282464289921e-02,7.072992627467229731e-02,-3.949338287409189657e-02,-1.090443584737709956e-02,-9.220404962683000083e-02
-4.183993948900609910e-02,-4.464163650698899782e-02,4.768464955823679963e-02,5.974393262605470073e-02,1.277706088506949944e-01,1.280164372928579986e-01,-2.499265663159149983e-02,1.081111006295440019e-01,6.389312063683939835e-02,4.034337164788070335e-02
-1.277963188084970010e-02,-4.464163650698899782e-02,6.061839444480759953e-02,5.285819123858220142e-02,4.796534307502930278e-02,2.937467182915549924e-02,-1.762938102341739949e-02,3.430885887772629900e-02,7.021129819331020649e-02,7.206516329203029904e-03
6.713621404158050254e-02,-4.464163650698899782e-02,5.630714614928399725e-02,7.351541540099980343e-02,-1.395253554402150001e-02,-3.920484130275200124e-02,-3.235593223976569732e-02,-2.592261998182820038e-03,7.573758845754760549e-02,3.620126473304600273e-02
-5.273755484206479882e-02,5.068011873981870252e-02,9.834181703063900326e-02,8.728689817594480205e-02,6.034891879883950289e-02,4.878987646010649742e-02,-5.812739686837520292e-02,1.081111006295440019e-01,8.449528221240310000e-02,4.034337164788070335e-02
5.383060374248070309e-03,-4.464163650698899782e-02,5.954058237092670069e-02,-5.616604740787570216e-02,2.457414448561009990e-02,5.286080646337049799e-02,-4.340084565202689815e-02,5.091436327188540029e-02,-4.219859706946029777e-03,-3.007244590430930078e-02
8.166636784565869944e-02,-4.464163650698899782e-02,3.367309259778510089e-02,8.100872220010799790e-03,5.209320164963270050e-02,5.661858800484489973e-02,-1.762938102341739949e-02,3.430885887772629900e-02,3.486419309615960277e-02,6.933812005172369786e-02
3.081082953138499989e-02,5.068011873981870252e-02,5.630714614928399725e-02,7.695828609473599757e-02,4.934129593323050011e-02,-1.227407358885230018e-02,-3.603757004385269719e-02,7.120997975363539678e-02,1.200533820015380060e-01,9.004865462589720093e-02
1.750521923228520000e-03,-4.464163650698899782e-02,-6.548561819925780014e-02,-5.670610554934250001e-03,-7.072771253015849857e-03,-1.947648821001150138e-02,4.127682384197570165e-02,-3.949338287409189657e-02,-3.303712578676999863e-03,7.206516329203029904e-03
-4.910501639104519755e-02,-4.464163650698899782e-02,1.608549173157310108e-01,-4.698505887976939938e-02,-2.908801698423390050e-02,-1.978963667180099958e-02,-4.708248345611389801e-02,3.430885887772629900e-02,2.801650652326400162e-02,1.134862324403770016e-02
-2.730978568492789874e-02,5.068011873981870252e-02,-5.578530953432969675e-02,2.531522568869210010e-02,-7.072771253015849857e-03,-2.354741821327540133e-02,5.232173725423699961e-02,-3.949338287409189657e-02,-5.145307980263110273e-03,-5.078298047848289754e-02
7.803382939463919532e-02,5.068011873981870252e-02,-2.452875939178359929e-02,-4.239456463293059946e-02,6.686757328995440036e-03,5.286080646337049799e-02,-6.917231028063640375e-02,8.080427118137170628e-02,-3.712834601047360072e-02,5.691179930721949887e-02
1.264813727628719998e-02,-4.464163650698899782e-02,-3.638469220447349689e-02,4.252957915737339695e-02,-1.395253554402150001e-02,1.293437758520510003e-02,-2.683347553363510038e-02,5.156973385758089994e-03,-4.398540256559110156e-02,7.206516329203029904e-03
4.170844488444359899e-02,-4.464163650698899782e-02,-8.361578283570040432e-03,-5.731367096097819691e-02,8.062710187196569719e-03,-3.137612975801370302e-02,1.517259579645879874e-01,-7.639450375000099436e-02,-8.023654024890179703e-02,-1.764612515980519894e-02
4.897352178648269744e-02,-4.464163650698899782e-02,-4.177375257387799801e-02,1.045012516446259948e-01,3.558176735121919981e-02,-2.573945744580210040e-02,1.774974225931970073e-01,-7.639450375000099436e-02,-1.290794225416879923e-02,1.549073015887240078e-02
-1.641217033186929963e-02,5.068011873981870252e-02,1.274427430254229943e-01,9.761551025715360652e-02,1.631842733640340160e-02,1.747503028115330106e-02,-2.131101882750449997e-02,3.430885887772629900e-02,3.486419309615960277e-02,3.064409414368320182e-03
-7.453278554818210111e-02,5.068011873981870252e-02,-7.734155101194770121e-02,-4.698505887976939938e-02,-4.697540414084860200e-02,-3.262872360517189707e-02,4.460445801105040325e-03,-3.949338287409189657e-02,-7.212845460195599356e-02,-1.764612515980519894e-02
3.444336798240450054e-02,5.068011873981870252e-02,2.828403222838059977e-02,-3.321357610482440076e-02,-4.559945128264750180e-02,-9.768885894535990141e-03,-5.076412126020100196e-02,-2.592261998182820038e-03,-5.947269741072230137e-02,-2.178823207463989955e-02
-3.457486258696700065e-02,5.068011873981870252e-02,-2.560657146566450160e-02,-1.714684618924559867e-02,1.182945896190920002e-03,-2.879619735166290186e-03,8.142083605192099172e-03,-1.550765430475099967e-02,1.482271084126630077e-02,4.034337164788070335e-02
-5.273755484206479882e-02,5.068011873981870252e-02,-6.225218197761509670e-02,1.154374291374709975e-02,-8.448724111216979540e-03,-3.669965360843580049e-02,1.222728555318910032e-01,-7.639450375000099436e-02,-8.682899321629239386e-02,3.064409414368320182e-03
5.987113713954139715e-02,-4.464163650698899782e-02,-8.168937664037369826e-04,-8.485663651086830517e-02,7.548440023905199359e-02,7.947842571548069390e-02,4.460445801105040325e-03,3.430885887772629900e-02,2.337484127982079885e-02,2.791705090337660150e-02
6.350367559056099842e-02,5.068011873981870252e-02,8.864150836571099701e-02,7.007254470726349826e-02,2.044628591100669870e-02,3.751653183568340322e-02,-5.076412126020100196e-02,7.120997975363539678e-02,2.930041326858690010e-02,7.348022696655839847e-02
9.015598825267629943e-03,-4.464163650698899782e-02,-3.207344390894990155e-02,-2.632783471735180084e-02,4.246153164222479792e-02,-1.039518281811509931e-02,1.590892335727620011e-01,-7.639450375000099436e-02,-1.190068480150809939e-02,-3.835665973397880263e-02
5.383060374248070309e-03,5.068011873981870252e-02,3.043965637614240091e-02,8.384402748220859403e-02,-3.734373413344069942e-02,-4.734670130927989828e-02,1.550535921336619952e-02,-3.949338287409189657e-02,8.640282933063080789e-03,1.549073015887240078e-02
3.807590643342410180e-02,5.068011873981870252e-02,8.883414898524360018e-03,4.252957915737339695e-02,-4.284754556624519733e-02,-2.104223051895920057e-02,-3.971920784793980114e-02,-2.592261998182820038e-03,-1.811826730789670159e-02,7.206516329203029904e-03
1.264813727628719998e-02,-4.464163650698899782e-02,6.727790750762559745e-03,-5.616604740787570216e-02,-7.587041416307230279e-02,-6.644875747844139480e-02,-2.131101882750449997e-02,-3.764832683029650101e-02,-1.811826730789670159e-02,-9.220404962683000083e-02
7.440129094361959405e-02,5.068011873981870252e-02,-2.021751109626000048e-02,4.597244985110970211e-02,7.410844738085080319e-02,3.281930490884039930e-02,-3.603757004385269719e-02,7.120997975363539678e-02,1.063542767417259977e-01,3.620126473304600273e-02
1.628067572730669890e-02,-4.464163650698899782e-02,-2.452875939178359929e-02,3.564383776990089764e-02,-7.072771253015849857e-03,-3.192768196955810076e-03,-1.394774321933030074e-02,-2.592261998182820038e-03,1.556684454070180086e-02,1.549073015887240078e-02
-5.514554978810590376e-03,5.068011873981870252e-02,-1.159501450521270051e-02,1.154374291374709975e-02,-2.220825269322829892e-02,-1.540555820674759969e-02,-2.131101882750449997e-02,-2.592261998182820038e-03,1.100810104587249955e-02,6.933812005172369786e-02
1.264813727628719998e-02,-4.464163650698899782e-02,2.612840808061879863e-02,6.318680331979099896e-02,1.250187031342930022e-01,9.169121572527250130e-02,6.336665066649820044e-02,-2.592261998182820038e-03,5.757285620242599822e-02,-2.178823207463989955e-02
-3.457486258696700065e-02,-4.464163650698899782e-02,-5.901874575597240019e-02,1.215130832538269907e-03,-5.385516843185429725e-02,-7.803525056465400456e-02,6.704828847058519337e-02,-7.639450375000099436e-02,-2.139368094035999993e-02,1.549073015887240078e-02
6.713621404158050254e-02,5.068011873981870252e-02,-3.638469220447349689e-02,-8.485663651086830517e-02,-7.072771253015849857e-03,1.966706951368000014e-02,-5.444575906428809897e-02,3.430885887772629900e-02,1.143797379512540100e-03,3.205915781821130212e-02
3.807590643342410180e-02,5.068011873981870252e-02,-2.452875939178359929e-02,4.658001526274530187e-03,-2.633611126783170012e-02,-2.636575436938120090e-02,1.550535921336619952e-02,-3.949338287409189657e-02,-1.599826775813870117e-02,-2.593033898947460017e-02
9.015598825267629943e-03,5.068011873981870252e-02,1.858372356345249984e-02,3.908670846363720280e-02,1.769438019460449832e-02,1.058576412178359981e-02,1.918699701745330000e-02,-2.592261998182820038e-03,1.630495279994180133e-02,-1.764612515980519894e-02
-9.269547780327989928e-02,5.068011873981870252e-02,-9.027529589851850111e-02,-5.731367096097819691e-02,-2.496015840963049931e-02,-3.043668437264510085e-02,-6.584467611156170040e-03,-2.592261998182820038e-03,2.405258322689299982e-02,3.064409414368320182e-03
7.076875249260000666e-02,-4.464163650698899782e-02,-5.128142061927360405e-03,-5.670610554934250001e-03,8.786797596286209655e-02,1.029645603496960049e-01,1.182372140927919965e-02,3.430885887772629900e-02,-8.944018957797799166e-03,2.791705090337660150e-02
-1.641217033186929963e-02,-4.464163650698899782e-02,-5.255187331268700024e-02,-3.321357610482440076e-02,-4.422349842444640161e-02,-3.638650514664620167e-02,1.918699701745330000e-02,-3.949338287409189657e-02,-6.832974362442149896e-02,-3.007244590430930078e-02
4.170844488444359899e-02,5.068011873981870252e-02,-2.237313524402180162e-02,2.875809638242839833e-02,-6.623874415566440021e-02,-4.515466207675319921e-02,-6.180903467246220279e-02,-2.592261998182820038e-03,2.863770518940129874e-03,-5.492508739331759815e-02
1.264813727628719998e-02,-4.464163650698899782e-02,-2.021751109626000048e-02,-1.599922263614299983e-02,1.219056876180000040e-02,2.123281182262769934e-02,-7.653558588881050062e-02,1.081111006295440019e-01,5.988072306548120061e-02,-2.178823207463989955e-02
-3.820740103798660192e-02,-4.464163650698899782e-02,-5.470749746044879791e-02,-7.797089512339580586e-02,-3.321587555883730170e-02,-8.649025903297140327e-02,1.406810445523269948e-01,-7.639450375000099436e-02,-1.919704761394450121e-02,-5.219804415301099697e-03
4.534098333546320025e-02,-4.464163650698899782e-02,-6.205954135808240159e-03,-1.599922263614299983e-02,1.250187031342930022e-01,1.251981011367520047e-01,1.918699701745330000e-02,3.430885887772629900e-02,3.243322577960189995e-02,-5.219804415301099697e-03
7.076875249260000666e-02,5.068011873981870252e-02,-1.698407487461730050e-02,2.187235499495579841e-02,4.383748450042589812e-02,5.630543954305530091e-02,3.759518603788870178e-02,-2.592261998182820038e-03,-7.020931272868760620e-02,-1.764612515980519894e-02
-7.453278554818210111e-02,5.068011873981870252e-02,5.522933407540309841e-02,-4.009931749229690007e-02,5.346915450783389784e-02,5.317395492515999966e-02,-4.340084565202689815e-02,7.120997975363539678e-02,6.123790751970099866e-02,-3.421455281914410201e-02
5.987113713954139715e-02,5.068011873981870252e-02,7.678557555302109594e-02,2.531522568869210010e-02,1.182945896190920002e-03,1.684873335757430118e-02,-5.444575906428809897e-02,3.430885887772629900e-02,2.993564839653250001e-02,4.448547856271539702e-02
7.440129094361959405e-02,-4.464163650698899782e-02,1.858372356345249984e-02,6.318680331979099896e-02,6.172487165704060308e-02,4.284005568610550069e-02,8.142083605192099172e-03,-2.592261998182820038e-03,5.803912766389510147e-02,-5.906719430815229877e-02
9.015598825267629943e-03,-4.464163650698899782e-02,-2.237313524402180162e-02,-3.206595255172180192e-02,-4.972730985725089953e-02,-6.864079671096809387e-02,7.809320188284639419e-02,-7.085933561861459951e-02,-6.291294991625119570e-02,-3.835665973397880263e-02
-7.090024709716259699e-02,-4.464163650698899782e-02,9.295275666123460623e-02,1.269136646684959971e-02,2.044628591100669870e-02,4.252690722431590187e-02,7.788079970179680352e-04,3.598276718899090076e-04,-5.454415271109520208e-02,-1.077697500466389974e-03
2.354575262934580082e-02,5.068011873981870252e-02,-3.099563183506899924e-02,-5.670610554934250001e-03,-1.670444126042380101e-02,1.778817874294279927e-02,-3.235593223976569732e-02,-2.592261998182820038e-03,-7.408887149153539631e-02,-3.421455281914410201e-02
-5.273755484206479882e-02,5.068011873981870252e-02,3.906215296718960200e-02,-4.009931749229690007e-02,-5.696818394814720174e-03,-1.290037051243130006e-02,1.182372140927919965e-02,-3.949338287409189657e-02,1.630495279994180133e-02,3.064409414368320182e-03
6.713621404158050254e-02,-4.464163650698899782e-02,-6.117436990373419786e-02,-4.009931749229690007e-02,-2.633611126783170012e-02,-2.448686359864400003e-02,3.391354823380159783e-02,-3.949338287409189657e-02,-5.615757309500619965e-02,-5.906719430815229877e-02
1.750521923228520000e-03,-4.464163650698899782e-02,-8.361578283570040432e-03,-6.419941234845069622e-02,-3.871968699164179961e-02,-2.448686359864400003e-02,4.460445801105040325e-03,-3.949338287409189657e-02,-6.468302246445030435e-02,-5.492508739331759815e-02
2.354575262934580082e-02,5.068011873981870252e-02,-3.746250427835440266e-02,-4.698505887976939938e-02,-9.100589560328480043e-02,-7.553006287033779687e-02,-3.235593223976569732e-02,-3.949338287409189657e-02,-3.075120986455629965e-02,-1.350401824497050006e-02
3.807590643342410180e-02,5.068011873981870252e-02,-1.375063865297449991e-02,-1.599922263614299983e-02,-3.596778127523959923e-02,-2.198167590432769866e-02,-1.394774321933030074e-02,-2.592261998182820038e-03,-2.595242443518940012e-02,-1.077697500466389974e-03
1.628067572730669890e-02,-4.464163650698899782e-02,7.355213933137849658e-02,-4.124694104539940176e-02,-4.320865536613589623e-03,-1.352666743601040056e-02,-1.394774321933030074e-02,-1.116217163146459961e-03,4.289568789252869857e-02,4.448547856271539702e-02
-1.882016527791040067e-03,5.068011873981870252e-02,-2.452875939178359929e-02,5.285819123858220142e-02,2.732605020201240090e-02,3.000096875273459973e-02,3.023191042971450082e-02,-2.592261998182820038e-03,-2.139368094035999993e-02,3.620126473304600273e-02
1.264813727628719998e-02,-4.464163650698899782e-02,3.367309259778510089e-02,3.334859052598110329e-02,3.007795591841460128e-02,2.718263259662880016e-02,-2.902829807069099918e-03,8.847085473348980864e-03,3.119299070280229930e-02,2.791705090337660150e-02
7.440129094361959405e-02,-4.464163650698899782e-02,3.475090467166599972e-02,9.417263956341730136e-02,5.759701308243719842e-02,2.029336643725910064e-02,2.286863482154040048e-02,-2.592261998182820038e-03,7.380214692004880006e-02,-2.178823207463989955e-02
4.170844488444359899e-02,5.068011873981870252e-02,-3.854031635223530150e-02,5.285819123858220142e-02,7.686035309725310072e-02,1.164299442066459994e-01,-3.971920784793980114e-02,7.120997975363539678e-02,-2.251217192966049885e-02,-1.350401824497050006e-02
-9.147093429830140468e-03,5.068011873981870252e-02,-3.961812842611620034e-02,-4.009931749229690007e-02,-8.448724111216979540e-03,1.622243643399520069e-02,-6.549067247654929980e-02,7.120997975363539678e-02,1.776347786711730131e-02,-6.735140813782170000e-02
9.015598825267629943e-03,5.068011873981870252e-02,-1.894705840284650021e-03,2.187235499495579841e-02,-3.871968699164179961e-02,-2.480001206043359885e-02,-6.584467611156170040e-03,-3.949338287409189657e-02,-3.980959436433750137e-02,-1.350401824497050006e-02
6.713621404158050254e-02,5.068011873981870252e-02,-3.099563183506899924e-02,4.658001526274530187e-03,2.457414448561009990e-02,3.563764106494619888e-02,-2.867429443567860031e-02,3.430885887772629900e-02,2.337484127982079885e-02,8.176444079622779970e-02
1.750521923228520000e-03,-4.464163650698899782e-02,-4.608500086940160029e-02,-3.321357610482440076e-02,-7.311850844667000526e-02,-8.147988364433890462e-02,4.495846164606279866e-02,-6.938329078357829971e-02,-6.117659509433449883e-02,-7.977772888232589898e-02
-9.147093429830140468e-03,5.068011873981870252e-02,1.338730381358059929e-03,-2.227739861197989939e-03,7.961225881365530110e-02,7.008397186179469995e-02,3.391354823380159783e-02,-2.592261998182820038e-03,2.671425763351279944e-02,8.176444079622779970e-02
-5.514554978810590376e-03,-4.464163650698899782e-02,6.492964274033119487e-02,3.564383776990089764e-02,-1.568959820211340015e-03,1.496984258683710031e-02,-1.394774321933030074e-02,7.288388806489919797e-04,-1.811826730789670159e-02,3.205915781821130212e-02
9.619652164973699349e-02,-4.464163650698899782e-02,4.013996504107050084e-02,-5.731367096097819691e-02,4.521343735862710239e-02,6.068951800810880315e-02,-2.131101882750449997e-02,3.615391492152170150e-02,1.255315281338930007e-02,2.377494398854190089e-02
-7.453278554818210111e-02,-4.464163650698899782e-02,-2.345094731790270046e-02,-5.670610554934250001e-03,-2.083229983502719873e-02,-1.415296435958940044e-02,1.550535921336619952e-02,-3.949338287409189657e-02,-3.845911230135379971e-02,-3.007244590430930078e-02
5.987113713954139715e-02,5.068011873981870252e-02,5.307370992764130074e-02,5.285819123858220142e-02,3.282986163481690228e-02,1.966706951368000014e-02,-1.026610541524320026e-02,3.430885887772629900e-02,5.520503808961670089e-02,-1.077697500466389974e-03
-2.367724723390840155e-02,-4.464163650698899782e-02,4.013996504107050084e-02,-1.255635194240680048e-02,-9.824676969418109224e-03,-1.000728964429089965e-03,-2.902829807069099918e-03,-2.592261998182820038e-03,-1.190068480150809939e-02,-3.835665973397880263e-02
9.015598825267629943e-03,-4.464163650698899782e-02,-2.021751109626000048e-02,-5.387080026724189868e-02,3.145390877661580209e-02,2.060651489904859884e-02,5.600337505832399948e-02,-3.949338287409189657e-02,-1.090443584737709956e-02,-1.077697500466389974e-03
1.628067572730669890e-02,5.068011873981870252e-02,1.427247526792889930e-02,1.215130832538269907e-03,1.182945896190920002e-03,-2.135537898074869878e-02,-3.235593223976569732e-02,3.430885887772629900e-02,7.496833602773420036e-02,4.034337164788070335e-02
1.991321417832630017e-02,-4.464163650698899782e-02,-3.422906805671169922e-02,5.515343848250200270e-02,6.722868308984519814e-02,7.415490186505870052e-02,-6.584467611156170040e-03,3.283281404268990206e-02,2.472532334280450050e-02,6.933812005172369786e-02
8.893144474769780483e-02,-4.464163650698899782e-02,6.727790750762559745e-03,2.531522568869210010e-02,3.007795591841460128e-02,8.706873351046409346e-03,6.336665066649820044e-02,-3.949338287409189657e-02,9.436409146079870192e-03,3.205915781821130212e-02
1.991321417832630017e-02,-4.464163650698899782e-02,4.572166603000769880e-03,4.597244985110970211e-02,-1.808039411862490120e-02,-5.454911593043910295e-02,6.336665066649820044e-02,-3.949338287409189657e-02,2.866072031380889965e-02,6.105390622205419948e-02
-2.367724723390840155e-02,-4.464163650698899782e-02,3.043965637614240091e-02,-5.670610554934250001e-03,8.236416453005759863e-02,9.200436418706199604e-02,-1.762938102341739949e-02,7.120997975363539678e-02,3.304707235493409972e-02,3.064409414368320182e-03
9.619652164973699349e-02,-4.464163650698899782e-02,5.199589785376040191e-02,7.925353333865589600e-02,5.484510736603499803e-02,3.657708645031480105e-02,-7.653558588881050062e-02,1.413221094178629955e-01,9.864637430492799453e-02,6.105390622205419948e-02
2.354575262934580082e-02,5.068011873981870252e-02,6.169620651868849837e-02,6.203917986997459916e-02,2.457414448561009990e-02,-3.607335668485669999e-02,-9.126213710515880539e-02,1.553445353507079962e-01,1.333957338374689994e-01,8.176444079622779970e-02
7.076875249260000666e-02,5.068011873981870252e-02,-7.283766209689159811e-03,4.941532054484590319e-02,6.034891879883950289e-02,-4.445362044113949918e-03,-5.444575906428809897e-02,1.081111006295440019e-01,1.290194116001679991e-01,5.691179930721949887e-02
3.081082953138499989e-02,-4.464163650698899782e-02,5.649978676881649634e-03,1.154374291374709975e-02,7.823630595545419397e-02,7.791268340653299818e-02,-4.340084565202689815e-02,1.081111006295440019e-01,6.604820616309839409e-02,1.963283707370720027e-02
-1.882016527791040067e-03,-4.464163650698899782e-02,5.415152200152219958e-02,-6.649465948908450663e-02,7.273249452264969606e-02,5.661858800484489973e-02,-4.340084565202689815e-02,8.486339447772170419e-02,8.449528221240310000e-02,4.862758547755009764e-02
4.534098333546320025e-02,5.068011873981870252e-02,-8.361578283570040432e-03,-3.321357610482440076e-02,-7.072771253015849857e-03,1.191310268097639903e-03,-3.971920784793980114e-02,3.430885887772629900e-02,2.993564839653250001e-02,2.791705090337660150e-02
7.440129094361959405e-02,-4.464163650698899782e-02,1.145089981388529993e-01,2.875809638242839833e-02,2.457414448561009990e-02,2.499059336410210108e-02,1.918699701745330000e-02,-2.592261998182820038e-03,-6.092541861022970299e-04,-5.219804415301099697e-03
-3.820740103798660192e-02,-4.464163650698899782e-02,6.708526688809300642e-02,-6.075654165471439799e-02,-2.908801698423390050e-02,-2.323426975148589965e-02,-1.026610541524320026e-02,-2.592261998182820038e-03,-1.498586820292070049e-03,1.963283707370720027e-02
-1.277963188084970010e-02,5.068011873981870252e-02,-5.578530953432969675e-02,-2.227739861197989939e-03,-2.771206412603280031e-02,-2.918409052548700047e-02,1.918699701745330000e-02,-3.949338287409189657e-02,-1.705210460474350029e-02,4.448547856271539702e-02
9.015598825267629943e-03,5.068011873981870252e-02,3.043965637614240091e-02,4.252957915737339695e-02,-2.944912678412469915e-03,3.689023491210430272e-02,-6.549067247654929980e-02,7.120997975363539678e-02,-2.364455757213410059e-02,1.549073015887240078e-02
8.166636784565869944e-02,5.068011873981870252e-02,-2.560657146566450160e-02,-3.665644679856060184e-02,-7.036660273026780488e-02,-4.640725592391130305e-02,-3.971920784793980114e-02,-2.592261998182820038e-03,-4.118038518800790082e-02,-5.219804415301099697e-03
3.081082953138499989e-02,-4.464163650698899782e-02,1.048086894739250069e-01,7.695828609473599757e-02,-1.120062982761920074e-02,-1.133462820348369975e-02,-5.812739686837520292e-02,3.430885887772629900e-02,5.710418744784390155e-02,3.620126473304600273e-02
2.717829108036539862e-02,5.068011873981870252e-02,-6.205954135808240159e-03,2.875809638242839833e-02,-1.670444126042380101e-02,-1.627025888008149911e-03,-5.812739686837520292e-02,3.430885887772629900e-02,2.930041326858690010e-02,3.205915781821130212e-02
-6.000263174410389727e-02,5.068011873981870252e-02,-4.716281294328249912e-02,-2.288496402361559975e-02,-7.174255558846899528e-02,-5.768060054833450134e-02,-6.584467611156170040e-03,-3.949338287409189657e-02,-6.291294991625119570e-02,-5.492508739331759815e-02
5.383060374248070309e-03,-4.464163650698899782e-02,-4.824062501716339796e-02,-1.255635194240680048e-02,1.182945896190920002e-03,-6.637401276640669812e-03,6.336665066649820044e-02,-3.949338287409189657e-02,-5.140053526058249722e-02,-5.906719430815229877e-02
-2.004470878288880029e-02,-4.464163650698899782e-02,8.540807214406830050e-02,-3.665644679856060184e-02,9.199583453746550121e-02,8.949917649274570508e-02,-6.180903467246220279e-02,1.450122215054540087e-01,8.094791351127560153e-02,5.276969239238479825e-02
1.991321417832630017e-02,5.068011873981870252e-02,-1.267282657909369996e-02,7.007254470726349826e-02,-1.120062982761920074e-02,7.141131042098750048e-03,-3.971920784793980114e-02,3.430885887772629900e-02,5.384369968545729690e-03,3.064409414368320182e-03
-6.363517019512339445e-02,-4.464163650698899782e-02,-3.315125598283080038e-02,-3.321357610482440076e-02,1.182945896190920002e-03,2.405114797873349891e-02,-2.499265663159149983e-02,-2.592261998182820038e-03,-2.251217192966049885e-02,-5.906719430815229877e-02
2.717829108036539862e-02,-4.464163650698899782e-02,-7.283766209689159811e-03,-5.042792957350569760e-02,7.548440023905199359e-02,5.661858800484489973e-02,3.391354823380159783e-02,-2.592261998182820038e-03,4.344317225278129802e-02,1.549073015887240078e-02
-1.641217033186929963e-02,-4.464163650698899782e-02,-1.375063865297449991e-02,1.320442171945160059e-01,-9.824676969418109224e-03,-3.819065120534880214e-03,1.918699701745330000e-02,-3.949338287409189657e-02,-3.581672810154919867e-02,-3.007244590430930078e-02
3.081082953138499989e-02,5.068011873981870252e-02,5.954058237092670069e-02,5.630106193231849965e-02,-2.220825269322829892e-02,1.191310268097639903e-03,-3.235593223976569732e-02,-2.592261998182820038e-03,-2.479118743246069845e-02,-1.764612515980519894e-02
5.623859868852180283e-02,5.068011873981870252e-02,2.181715978509519982e-02,5.630106193231849965e-02,-7.072771253015849857e-03,1.810132720473240156e-02,-3.235593223976569732e-02,-2.592261998182820038e-03,-2.364455757213410059e-02,2.377494398854190089e-02
-2.004470878288880029e-02,-4.464163650698899782e-02,1.858372356345249984e-02,9.072976886968099619e-02,3.934851612593179802e-03,8.706873351046409346e-03,3.759518603788870178e-02,-3.949338287409189657e-02,-5.780006567561250114e-02,7.206516329203029904e-03
-1.072256316073579990e-01,-4.464163650698899782e-02,-1.159501450521270051e-02,-4.009931749229690007e-02,4.934129593323050011e-02,6.444729954958319795e-02,-1.394774321933030074e-02,3.430885887772629900e-02,7.026862549151949647e-03,-3.007244590430930078e-02
8.166636784565869944e-02,5.068011873981870252e-02,-2.972517914165530208e-03,-3.321357610482440076e-02,4.246153164222479792e-02,5.787118185200299664e-02,-1.026610541524320026e-02,3.430885887772629900e-02,-6.092541861022970299e-04,-1.077697500466389974e-03
5.383060374248070309e-03,5.068011873981870252e-02,1.750591148957160101e-02,3.220096707616459941e-02,1.277706088506949944e-01,1.273901403692790091e-01,-2.131101882750449997e-02,7.120997975363539678e-02,6.257518145805600340e-02,1.549073015887240078e-02
3.807590643342410180e-02,5.068011873981870252e-02,-2.991781976118810041e-02,-7.452802442965950069e-02,-1.257658268582039982e-02,-1.258722205064180012e-02,4.460445801105040325e-03,-2.592261998182820038e-03,3.711738233435969789e-03,-3.007244590430930078e-02
3.081082953138499989e-02,-4.464163650698899782e-02,-2.021751109626000048e-02,-5.670610554934250001e-03,-4.320865536613589623e-03,-2.949723898727649868e-02,7.809320188284639419e-02,-3.949338287409189657e-02,-1.090443584737709956e-02,-1.077697500466389974e-03
1.750521923228520000e-03,5.068011873981870252e-02,-5.794093368209150136e-02,-4.354218818603310115e-02,-9.650970703608929835e-02,-4.703355284749029946e-02,-9.862541271333299941e-02,3.430885887772629900e-02,-6.117659509433449883e-02,-7.149351505265640061e-02
-2.730978568492789874e-02,5.068011873981870252e-02,6.061839444480759953e-02,1.079441223383619947e-01,1.219056876180000040e-02,-1.759759743927430051e-02,-2.902829807069099918e-03,-2.592261998182820038e-03,7.021129819331020649e-02,1.356118306890790048e-01
-8.543040090124079389e-02,5.068011873981870252e-02,-4.069594049999709917e-02,-3.321357610482440076e-02,-8.137422559587689785e-02,-6.958024209633670298e-02,-6.584467611156170040e-03,-3.949338287409189657e-02,-5.780006567561250114e-02,-4.249876664881350324e-02
1.264813727628719998e-02,5.068011873981870252e-02,-7.195249064254319316e-02,-4.698505887976939938e-02,-5.110326271545199972e-02,-9.713730673381550107e-02,1.185912177278039964e-01,-7.639450375000099436e-02,-2.028874775162960165e-02,-3.835665973397880263e-02
-5.273755484206479882e-02,-4.464163650698899782e-02,-5.578530953432969675e-02,-3.665644679856060184e-02,8.924392882106320368e-02,-3.192768196955810076e-03,8.142083605192099172e-03,3.430885887772629900e-02,1.323726493386760128e-01,3.064409414368320182e-03
-2.367724723390840155e-02,5.068011873981870252e-02,4.552902541047500196e-02,2.187235499495579841e-02,1.098832216940800049e-01,8.887287956916670173e-02,7.788079970179680352e-04,3.430885887772629900e-02,7.419253669003070262e-02,6.105390622205419948e-02
-7.453278554818210111e-02,5.068011873981870252e-02,-9.439390357450949676e-03,1.498661360748330083e-02,-3.734373413344069942e-02,-2.166852744253820046e-02,-1.394774321933030074e-02,-2.592261998182820038e-03,-3.324878724762579674e-02,1.134862324403770016e-02
-5.514554978810590376e-03,5.068011873981870252e-02,-3.315125598283080038e-02,-1.599922263614299983e-02,8.062710187196569719e-03,1.622243643399520069e-02,1.550535921336619952e-02,-2.592261998182820038e-03,-2.832024254799870092e-02,-7.563562196749110123e-02
-6.000263174410389727e-02,5.068011873981870252e-02,4.984027370599859730e-02,1.842948430121960079e-02,-1.670444126042380101e-02,-3.012353591085559917e-02,-1.762938102341739949e-02,-2.592261998182820038e-03,4.976865992074899769e-02,-5.906719430815229877e-02
-2.004470878288880029e-02,-4.464163650698899782e-02,-8.488623552911400694e-02,-2.632783471735180084e-02,-3.596778127523959923e-02,-3.419446591411950259e-02,4.127682384197570165e-02,-5.167075276314189725e-02,-8.238148325810279449e-02,-4.664087356364819692e-02
3.807590643342410180e-02,5.068011873981870252e-02,5.649978676881649634e-03,3.220096707616459941e-02,6.686757328995440036e-03,1.747503028115330106e-02,-2.499265663159149983e-02,3.430885887772629900e-02,1.482271084126630077e-02,6.105390622205419948e-02
1.628067572730669890e-02,-4.464163650698899782e-02,2.073934771121430098e-02,2.187235499495579841e-02,-1.395253554402150001e-02,-1.321351897422090062e-02,-6.584467611156170040e-03,-2.592261998182820038e-03,1.331596790892770020e-02,4.034337164788070335e-02
4.170844488444359899e-02,-4.464163650698899782e-02,-7.283766209689159811e-03,2.875809638242839833e-02,-4.284754556624519733e-02,-4.828614669464850045e-02,5.232173725423699961e-02,-7.639450375000099436e-02,-7.212845460195599356e-02,2.377494398854190089e-02
1.991321417832630017e-02,5.068011873981870252e-02,1.048086894739250069e-01,7.007254470726349826e-02,-3.596778127523959923e-02,-2.667890283117069911e-02,-2.499265663159149983e-02,-2.592261998182820038e-03,3.711738233435969789e-03,4.034337164788070335e-02
-4.910501639104519755e-02,5.068011873981870252e-02,-2.452875939178359929e-02,6.750727943574620551e-05,-4.697540414084860200e-02,-2.824464514011839830e-02,-6.549067247654929980e-02,2.840467953758080144e-02,1.919903307856710151e-02,1.134862324403770016e-02
1.750521923228520000e-03,5.068011873981870252e-02,-6.205954135808240159e-03,-1.944209332987930153e-02,-9.824676969418109224e-03,4.949091809572019746e-03,-3.971920784793980114e-02,3.430885887772629900e-02,1.482271084126630077e-02,9.833286845556660216e-02
3.444336798240450054e-02,-4.464163650698899782e-02,-3.854031635223530150e-02,-1.255635194240680048e-02,9.438663045397699403e-03,5.262240271361550044e-03,-6.584467611156170040e-03,-2.592261998182820038e-03,3.119299070280229930e-02,9.833286845556660216e-02
-4.547247794002570037e-02,5.068011873981870252e-02,1.371430516903520136e-01,-1.599922263614299983e-02,4.108557878402369773e-02,3.187985952347179713e-02,-4.340084565202689815e-02,7.120997975363539678e-02,7.102157794598219775e-02,4.862758547755009764e-02
-9.147093429830140468e-03,5.068011873981870252e-02,1.705552259806600024e-01,1.498661360748330083e-02,3.007795591841460128e-02,3.375875029420900147e-02,-2.131101882750449997e-02,3.430885887772629900e-02,3.365681290238470291e-02,3.205915781821130212e-02
-1.641217033186929963e-02,5.068011873981870252e-02,2.416542455238970041e-03,1.498661360748330083e-02,2.182223876920789951e-02,-1.008203435632550049e-02,-2.499265663159149983e-02,3.430885887772629900e-02,8.553312118743899850e-02,8.176444079622779970e-02
-9.147093429830140468e-03,-4.464163650698899782e-02,3.798434089330870317e-02,-4.009931749229690007e-02,-2.496015840963049931e-02,-3.819065120534880214e-03,-4.340084565202689815e-02,1.585829843977170153e-02,-5.145307980263110273e-03,2.791705090337660150e-02
1.991321417832630017e-02,-4.464163650698899782e-02,-5.794093368209150136e-02,-5.731367096097819691e-02,-1.568959820211340015e-03,-1.258722205064180012e-02,7.441156407875940126e-02,-3.949338287409189657e-02,-6.117659509433449883e-02,-7.563562196749110123e-02
5.260606023750229870e-02,5.068011873981870252e-02,-9.439390357450949676e-03,4.941532054484590319e-02,5.071724879143160031e-02,-1.916333974822199970e-02,-1.394774321933030074e-02,3.430885887772629900e-02,1.193439942037869961e-01,-1.764612515980519894e-02
-2.730978568492789874e-02,5.068011873981870252e-02,-2.345094731790270046e-02,-1.599922263614299983e-02,1.356652162000110060e-02,1.277780335431030062e-02,2.655027262562750096e-02,-2.592261998182820038e-03,-1.090443584737709956e-02,-2.178823207463989955e-02
-7.453278554818210111e-02,-4.464163650698899782e-02,-1.051720243133190055e-02,-5.670610554934250001e-03,-6.623874415566440021e-02,-5.705430362475540085e-02,-2.902829807069099918e-03,-3.949338287409189657e-02,-4.257210492279420166e-02,-1.077697500466389974e-03
-1.072256316073579990e-01,-4.464163650698899782e-02,-3.422906805671169922e-02,-6.764228304218700139e-02,-6.348683843926219983e-02,-7.051968748170529822e-02,8.142083605192099172e-03,-3.949338287409189657e-02,-6.092541861022970299e-04,-7.977772888232589898e-02
4.534098333546320025e-02,5.068011873981870252e-02,-2.972517914165530208e-03,1.079441223383619947e-01,3.558176735121919981e-02,2.248540566978590033e-02,2.655027262562750096e-02,-2.592261998182820038e-03,2.801650652326400162e-02,1.963283707370720027e-02
-1.882016527791040067e-03,-4.464163650698899782e-02,6.816307896197400240e-02,-5.670610554934250001e-03,1.195148917014880047e-01,1.302084765253850029e-01,-2.499265663159149983e-02,8.670845052151719690e-02,4.613233103941480340e-02,-1.077697500466389974e-03
1.991321417832630017e-02,5.068011873981870252e-02,9.961226972405269262e-03,1.842948430121960079e-02,1.494247447820220079e-02,4.471894645684260094e-02,-6.180903467246220279e-02,7.120997975363539678e-02,9.436409146079870192e-03,-6.320930122298699938e-02
1.628067572730669890e-02,5.068011873981870252e-02,2.416542455238970041e-03,-5.670610554934250001e-03,-5.696818394814720174e-03,1.089891258357309975e-02,-5.076412126020100196e-02,3.430885887772629900e-02,2.269202256674450122e-02,-3.835665973397880263e-02
-1.882016527791040067e-03,-4.464163650698899782e-02,-3.854031635223530150e-02,2.187235499495579841e-02,-1.088932827598989989e-01,-1.156130659793979942e-01,2.286863482154040048e-02,-7.639450375000099436e-02,-4.687948284421659950e-02,2.377494398854190089e-02
1.628067572730669890e-02,-4.464163650698899782e-02,2.612840808061879863e-02,5.859630917623830093e-02,-6.073493272285990230e-02,-4.421521669138449989e-02,-1.394774321933030074e-02,-3.395821474270550172e-02,-5.140053526058249722e-02,-2.593033898947460017e-02
-7.090024709716259699e-02,5.068011873981870252e-02,-8.919748382463760228e-02,-7.452802442965950069e-02,-4.284754556624519733e-02,-2.573945744580210040e-02,-3.235593223976569732e-02,-2.592261998182820038e-03,-1.290794225416879923e-02,-5.492508739331759815e-02
4.897352178648269744e-02,-4.464163650698899782e-02,6.061839444480759953e-02,-2.288496402361559975e-02,-2.358420555142939912e-02,-7.271172671423199729e-02,-4.340084565202689815e-02,-2.592261998182820038e-03,1.041376113589790042e-01,3.620126473304600273e-02
5.383060374248070309e-03,5.068011873981870252e-02,-2.884000768730720157e-02,-9.113481248670509197e-03,-3.183992270063620150e-02,-2.887094206369749880e-02,8.142083605192099172e-03,-3.949338287409189657e-02,-1.811826730789670159e-02,7.206516329203029904e-03
3.444336798240450054e-02,5.068011873981870252e-02,-2.991781976118810041e-02,4.658001526274530187e-03,9.337178739566659447e-02,8.699398879842949739e-02,3.391354823380159783e-02,-2.592261998182820038e-03,2.405258322689299982e-02,-3.835665973397880263e-02
2.354575262934580082e-02,5.068011873981870252e-02,-1.913969902237900103e-02,4.941532054484590319e-02,-6.348683843926219983e-02,-6.112523362801929733e-02,4.460445801105040325e-03,-3.949338287409189657e-02,-2.595242443518940012e-02,-1.350401824497050006e-02
1.991321417832630017e-02,-4.464163650698899782e-02,-4.069594049999709917e-02,-1.599922263614299983e-02,-8.448724111216979540e-03,-1.759759743927430051e-02,5.232173725423699961e-02,-3.949338287409189657e-02,-3.075120986455629965e-02,3.064409414368320182e-03
-4.547247794002570037e-02,-4.464163650698899782e-02,1.535028734180979987e-02,-7.452802442965950069e-02,-4.972730985725089953e-02,-1.728444897748479883e-02,-2.867429443567860031e-02,-2.592261998182820038e-03,-1.043648208321659998e-01,-7.563562196749110123e-02
5.260606023750229870e-02,5.068011873981870252e-02,-2.452875939178359929e-02,5.630106193231849965e-02,-7.072771253015849857e-03,-5.071658967693000106e-03,-2.131101882750449997e-02,-2.592261998182820038e-03,2.671425763351279944e-02,-3.835665973397880263e-02
-5.514554978810590376e-03,5.068011873981870252e-02,1.338730381358059929e-03,-8.485663651086830517e-02,-1.120062982761920074e-02,-1.665815205390569834e-02,4.864009945014990260e-02,-3.949338287409189657e-02,-4.118038518800790082e-02,-8.806194271199530021e-02
9.015598825267629943e-03,5.068011873981870252e-02,6.924089103585480409e-02,5.974393262605470073e-02,1.769438019460449832e-02,-2.323426975148589965e-02,-4.708248345611389801e-02,3.430885887772629900e-02,1.032922649115240038e-01,7.348022696655839847e-02
-2.367724723390840155e-02,-4.464163650698899782e-02,-6.979686649478139548e-02,-6.419941234845069622e-02,-5.935897986465880211e-02,-5.047818592717519953e-02,1.918699701745330000e-02,-3.949338287409189657e-02,-8.913686007934769340e-02,-5.078298047848289754e-02
-4.183993948900609910e-02,5.068011873981870252e-02,-2.991781976118810041e-02,-2.227739861197989939e-03,2.182223876920789951e-02,3.657708645031480105e-02,1.182372140927919965e-02,-2.592261998182820038e-03,-4.118038518800790082e-02,6.519601313688899724e-02
-7.453278554818210111e-02,-4.464163650698899782e-02,-4.608500086940160029e-02,-4.354218818603310115e-02,-2.908801698423390050e-02,-2.323426975148589965e-02,1.550535921336619952e-02,-3.949338287409189657e-02,-3.980959436433750137e-02,-2.178823207463989955e-02
3.444336798240450054e-02,-4.464163650698899782e-02,1.858372356345249984e-02,5.630106193231849965e-02,1.219056876180000040e-02,-5.454911593043910295e-02,-6.917231028063640375e-02,7.120997975363539678e-02,1.300806095217529879e-01,7.206516329203029904e-03
-6.000263174410389727e-02,-4.464163650698899782e-02,1.338730381358059929e-03,-2.977070541108809906e-02,-7.072771253015849857e-03,-2.166852744253820046e-02,1.182372140927919965e-02,-2.592261998182820038e-03,3.181521750079859684e-02,-5.492508739331759815e-02
-8.543040090124079389e-02,5.068011873981870252e-02,-3.099563183506899924e-02,-2.288496402361559975e-02,-6.348683843926219983e-02,-5.423596746864960128e-02,1.918699701745330000e-02,-3.949338287409189657e-02,-9.643322289178400675e-02,-3.421455281914410201e-02
5.260606023750229870e-02,-4.464163650698899782e-02,-4.050329988046450294e-03,-3.091832896419060075e-02,-4.697540414084860200e-02,-5.830689747191349775e-02,-1.394774321933030074e-02,-2.583996815000549896e-02,3.605579008983190309e-02,2.377494398854190089e-02
1.264813727628719998e-02,-4.464163650698899782e-02,1.535028734180979987e-02,-3.321357610482440076e-02,4.108557878402369773e-02,3.219300798526129881e-02,-2.902829807069099918e-03,-2.592261998182820038e-03,4.506616833626150148e-02,-6.735140813782170000e-02
5.987113713954139715e-02,5.068011873981870252e-02,2.289497185897609866e-02,4.941532054484590319e-02,1.631842733640340160e-02,1.183835796894170019e-02,-1.394774321933030074e-02,-2.592261998182820038e-03,3.953987807202419963e-02,1.963283707370720027e-02
-2.367724723390840155e-02,-4.464163650698899782e-02,4.552902541047500196e-02,9.072976886968099619e-02,-1.808039411862490120e-02,-3.544705976127759950e-02,7.072992627467229731e-02,-3.949338287409189657e-02,-3.452371533034950118e-02,-9.361911330135799444e-03
1.628067572730669890e-02,-4.464163650698899782e-02,-4.500718879552070145e-02,-5.731367096097819691e-02,-3.459182841703849903e-02,-5.392281900686000246e-02,7.441156407875940126e-02,-7.639450375000099436e-02,-4.257210492279420166e-02,4.034337164788070335e-02
1.107266754538149961e-01,5.068011873981870252e-02,-3.315125598283080038e-02,-2.288496402361559975e-02,-4.320865536613589623e-03,2.029336643725910064e-02,-6.180903467246220279e-02,7.120997975363539678e-02,1.556684454070180086e-02,4.448547856271539702e-02
-2.004470878288880029e-02,-4.464163650698899782e-02,9.726400495675820157e-02,-5.670610554934250001e-03,-5.696818394814720174e-03,-2.386056667506489953e-02,-2.131101882750449997e-02,-2.592261998182820038e-03,6.168584882386619894e-02,4.034337164788070335e-02
-1.641217033186929963e-02,-4.464163650698899782e-02,5.415152200152219958e-02,7.007254470726349826e-02,-3.321587555883730170e-02,-2.793149667832890010e-02,8.142083605192099172e-03,-3.949338287409189657e-02,-2.712864555432650121e-02,-9.361911330135799444e-03
4.897352178648269744e-02,5.068011873981870252e-02,1.231314947298999957e-01,8.384402748220859403e-02,-1.047654241852959967e-01,-1.008950882752900069e-01,-6.917231028063640375e-02,-2.592261998182820038e-03,3.664579779339879884e-02,-3.007244590430930078e-02
-5.637009329308430294e-02,-4.464163650698899782e-02,-8.057498723359039772e-02,-8.485663651086830517e-02,-3.734373413344069942e-02,-3.701280207022530216e-02,3.391354823380159783e-02,-3.949338287409189657e-02,-5.615757309500619965e-02,-1.377672256900120129e-01
2.717829108036539862e-02,-4.464163650698899782e-02,9.295275666123460623e-02,-5.272317671413939699e-02,8.062710187196569719e-03,3.970857106821010230e-02,-2.867429443567860031e-02,2.102445536239900062e-02,-4.836172480289190057e-02,1.963283707370720027e-02
6.350367559056099842e-02,-4.464163650698899782e-02,-5.039624916492520257e-02,1.079441223383619947e-01,3.145390877661580209e-02,1.935392105189049847e-02,-1.762938102341739949e-02,2.360753382371260159e-02,5.803912766389510147e-02,4.034337164788070335e-02
-5.273755484206479882e-02,5.068011873981870252e-02,-1.159501450521270051e-02,5.630106193231849965e-02,5.622106022423609822e-02,7.290230801790049953e-02,-3.971920784793980114e-02,7.120997975363539678e-02,3.056648739841480097e-02,-5.219804415301099697e-03
-9.147093429830140468e-03,5.068011873981870252e-02,-2.776219561342629927e-02,8.100872220010799790e-03,4.796534307502930278e-02,3.720338337389379746e-02,-2.867429443567860031e-02,3.430885887772629900e-02,6.604820616309839409e-02,-4.249876664881350324e-02
5.383060374248070309e-03,-4.464163650698899782e-02,5.846277029704580186e-02,-4.354218818603310115e-02,-7.311850844667000526e-02,-7.239857825244250256e-02,1.918699701745330000e-02,-7.639450375000099436e-02,-5.140053526058249722e-02,-2.593033898947460017e-02
7.440129094361959405e-02,-4.464163650698899782e-02,8.540807214406830050e-02,6.318680331979099896e-02,1.494247447820220079e-02,1.309095181609989944e-02,1.550535921336619952e-02,-2.592261998182820038e-03,6.209315616505399656e-03,8.590654771106250032e-02
-5.273755484206479882e-02,-4.464163650698899782e-02,-8.168937664037369826e-04,-2.632783471735180084e-02,1.081461590359879960e-02,7.141131042098750048e-03,4.864009945014990260e-02,-3.949338287409189657e-02,-3.581672810154919867e-02,1.963283707370720027e-02
8.166636784565869944e-02,5.068011873981870252e-02,6.727790750762559745e-03,-4.522987001831730094e-03,1.098832216940800049e-01,1.170562411302250028e-01,-3.235593223976569732e-02,9.187460744414439884e-02,5.472400334817909689e-02,7.206516329203029904e-03
-5.514554978810590376e-03,-4.464163650698899782e-02,8.883414898524360018e-03,-5.042792957350569760e-02,2.595009734381130070e-02,4.722413415115889884e-02,-4.340084565202689815e-02,7.120997975363539678e-02,1.482271084126630077e-02,3.064409414368320182e-03
-2.730978568492789874e-02,-4.464163650698899782e-02,8.001901177466380632e-02,9.876313370696999938e-02,-2.944912678412469915e-03,1.810132720473240156e-02,-1.762938102341739949e-02,3.311917341962639788e-03,-2.952762274177360077e-02,3.620126473304600273e-02
-5.273755484206479882e-02,-4.464163650698899782e-02,7.139651518361660176e-02,-7.452802442965950069e-02,-1.532848840222260020e-02,-1.313877426218630021e-03,4.460445801105040325e-03,-2.141183364489639834e-02,-4.687948284421659950e-02,3.064409414368320182e-03
9.015598825267629943e-03,-4.464163650698899782e-02,-2.452875939178359929e-02,-2.632783471735180084e-02,9.887559882847110626e-02,9.419640341958869512e-02,7.072992627467229731e-02,-2.592261998182820038e-03,-2.139368094035999993e-02,7.206516329203029904e-03
-2.004470878288880029e-02,-4.464163650698899782e-02,-5.470749746044879791e-02,-5.387080026724189868e-02,-6.623874415566440021e-02,-5.736745208654490252e-02,1.182372140927919965e-02,-3.949338287409189657e-02,-7.408887149153539631e-02,-5.219804415301099697e-03
2.354575262934580082e-02,-4.464163650698899782e-02,-3.638469220447349689e-02,6.750727943574620551e-05,1.182945896190920002e-03,3.469819567957759671e-02,-4.340084565202689815e-02,3.430885887772629900e-02,-3.324878724762579674e-02,6.105390622205419948e-02
3.807590643342410180e-02,5.068011873981870252e-02,1.642809941569069870e-02,2.187235499495579841e-02,3.970962592582259754e-02,4.503209491863210262e-02,-4.340084565202689815e-02,7.120997975363539678e-02,4.976865992074899769e-02,1.549073015887240078e-02
-7.816532399920170238e-02,5.068011873981870252e-02,7.786338762690199478e-02,5.285819123858220142e-02,7.823630595545419397e-02,6.444729954958319795e-02,2.655027262562750096e-02,-2.592261998182820038e-03,4.067226371449769728e-02,-9.361911330135799444e-03
9.015598825267629943e-03,5.068011873981870252e-02,-3.961812842611620034e-02,2.875809638242839833e-02,3.833367306762140020e-02,7.352860494147960002e-02,-7.285394808472339667e-02,1.081111006295440019e-01,1.556684454070180086e-02,-4.664087356364819692e-02
1.750521923228520000e-03,5.068011873981870252e-02,1.103903904628619932e-02,-1.944209332987930153e-02,-1.670444126042380101e-02,-3.819065120534880214e-03,-4.708248345611389801e-02,3.430885887772629900e-02,2.405258322689299982e-02,2.377494398854190089e-02
-7.816532399920170238e-02,-4.464163650698899782e-02,-4.069594049999709917e-02,-8.141376581713200000e-02,-1.006375656106929944e-01,-1.127947298232920004e-01,2.286863482154040048e-02,-7.639450375000099436e-02,-2.028874775162960165e-02,-5.078298047848289754e-02
3.081082953138499989e-02,5.068011873981870252e-02,-3.422906805671169922e-02,4.367720260718979675e-02,5.759701308243719842e-02,6.883137801463659611e-02,-3.235593223976569732e-02,5.755656502954899917e-02,3.546193866076970125e-02,8.590654771106250032e-02
-3.457486258696700065e-02,5.068011873981870252e-02,5.649978676881649634e-03,-5.670610554934250001e-03,-7.311850844667000526e-02,-6.269097593696699999e-02,-6.584467611156170040e-03,-3.949338287409189657e-02,-4.542095777704099890e-02,3.205915781821130212e-02
4.897352178648269744e-02,5.068011873981870252e-02,8.864150836571099701e-02,8.728689817594480205e-02,3.558176735121919981e-02,2.154596028441720101e-02,-2.499265663159149983e-02,3.430885887772629900e-02,6.604820616309839409e-02,1.314697237742440128e-01
-4.183993948900609910e-02,-4.464163650698899782e-02,-3.315125598283080038e-02,-2.288496402361559975e-02,4.658939021682820258e-02,4.158746183894729970e-02,5.600337505832399948e-02,-2.473293452372829840e-02,-2.595242443518940012e-02,-3.835665973397880263e-02
-9.147093429830140468e-03,-4.464163650698899782e-02,-5.686312160821060252e-02,-5.042792957350569760e-02,2.182223876920789951e-02,4.534524338042170144e-02,-2.867429443567860031e-02,3.430885887772629900e-02,-9.918957363154769225e-03,-1.764612515980519894e-02
7.076875249260000666e-02,5.068011873981870252e-02,-3.099563183506899924e-02,2.187235499495579841e-02,-3.734373413344069942e-02,-4.703355284749029946e-02,3.391354823380159783e-02,-3.949338287409189657e-02,-1.495647502491130078e-02,-1.077697500466389974e-03
9.015598825267629943e-03,-4.464163650698899782e-02,5.522933407540309841e-02,-5.670610554934250001e-03,5.759701308243719842e-02,4.471894645684260094e-02,-2.902829807069099918e-03,2.323852261495349888e-02,5.568354770267369691e-02,1.066170822852360034e-01
-2.730978568492789874e-02,-4.464163650698899782e-02,-6.009655782985329903e-02,-2.977070541108809906e-02,4.658939021682820258e-02,1.998021797546959896e-02,1.222728555318910032e-01,-3.949338287409189657e-02,-5.140053526058249722e-02,-9.361911330135799444e-03
1.628067572730669890e-02,-4.464163650698899782e-02,1.338730381358059929e-03,8.100872220010799790e-03,5.310804470794310353e-03,1.089891258357309975e-02,3.023191042971450082e-02,-3.949338287409189657e-02,-4.542095777704099890e-02,3.205915781821130212e-02
-1.277963188084970010e-02,-4.464163650698899782e-02,-2.345094731790270046e-02,-4.009931749229690007e-02,-1.670444126042380101e-02,4.635943347782499856e-03,-1.762938102341739949e-02,-2.592261998182820038e-03,-3.845911230135379971e-02,-3.835665973397880263e-02
-5.637009329308430294e-02,-4.464163650698899782e-02,-7.410811479030500470e-02,-5.042792957350569760e-02,-2.496015840963049931e-02,-4.703355284749029946e-02,9.281975309919469896e-02,-7.639450375000099436e-02,-6.117659509433449883e-02,-4.664087356364819692e-02
4.170844488444359899e-02,5.068011873981870252e-02,1.966153563733339868e-02,5.974393262605470073e-02,-5.696818394814720174e-03,-2.566471273376759888e-03,-2.867429443567860031e-02,-2.592261998182820038e-03,3.119299070280229930e-02,7.206516329203029904e-03
-5.514554978810590376e-03,5.068011873981870252e-02,-1.590626280073640167e-02,-6.764228304218700139e-02,4.934129593323050011e-02,7.916527725369119917e-02,-2.867429443567860031e-02,3.430885887772629900e-02,-1.811826730789670159e-02,4.448547856271539702e-02
4.170844488444359899e-02,5.068011873981870252e-02,-1.590626280073640167e-02,1.728186074811709910e-02,-3.734373413344069942e-02,-1.383981589779990050e-02,-2.499265663159149983e-02,-1.107951979964190078e-02,-4.687948284421659950e-02,1.549073015887240078e-02
-4.547247794002570037e-02,-4.464163650698899782e-02,3.906215296718960200e-02,1.215130832538269907e-03,1.631842733640340160e-02,1.528299104862660025e-02,-2.867429443567860031e-02,2.655962349378539894e-02,4.452837402140529671e-02,-2.593033898947460017e-02
-4.547247794002570037e-02,-4.464163650698899782e-02,-7.303030271642410587e-02,-8.141376581713200000e-02,8.374011738825870577e-02,2.780892952020790065e-02,1.738157847891100005e-01,-3.949338287409189657e-02,-4.219859706946029777e-03,3.064409414368320182e-03
1 3.807590643342410180e-02 5.068011873981870252e-02 6.169620651868849837e-02 2.187235499495579841e-02 -4.422349842444640161e-02 -3.482076283769860309e-02 -4.340084565202689815e-02 -2.592261998182820038e-03 1.990842087631829876e-02 -1.764612515980519894e-02
2 -1.882016527791040067e-03 -4.464163650698899782e-02 -5.147406123880610140e-02 -2.632783471735180084e-02 -8.448724111216979540e-03 -1.916333974822199970e-02 7.441156407875940126e-02 -3.949338287409189657e-02 -6.832974362442149896e-02 -9.220404962683000083e-02
3 8.529890629667830071e-02 5.068011873981870252e-02 4.445121333659410312e-02 -5.670610554934250001e-03 -4.559945128264750180e-02 -3.419446591411950259e-02 -3.235593223976569732e-02 -2.592261998182820038e-03 2.863770518940129874e-03 -2.593033898947460017e-02
4 -8.906293935226029801e-02 -4.464163650698899782e-02 -1.159501450521270051e-02 -3.665644679856060184e-02 1.219056876180000040e-02 2.499059336410210108e-02 -3.603757004385269719e-02 3.430885887772629900e-02 2.269202256674450122e-02 -9.361911330135799444e-03
5 5.383060374248070309e-03 -4.464163650698899782e-02 -3.638469220447349689e-02 2.187235499495579841e-02 3.934851612593179802e-03 1.559613951041610019e-02 8.142083605192099172e-03 -2.592261998182820038e-03 -3.199144494135589684e-02 -4.664087356364819692e-02
6 -9.269547780327989928e-02 -4.464163650698899782e-02 -4.069594049999709917e-02 -1.944209332987930153e-02 -6.899064987206669775e-02 -7.928784441181220555e-02 4.127682384197570165e-02 -7.639450375000099436e-02 -4.118038518800790082e-02 -9.634615654166470144e-02
7 -4.547247794002570037e-02 5.068011873981870252e-02 -4.716281294328249912e-02 -1.599922263614299983e-02 -4.009563984984299695e-02 -2.480001206043359885e-02 7.788079970179680352e-04 -3.949338287409189657e-02 -6.291294991625119570e-02 -3.835665973397880263e-02
8 6.350367559056099842e-02 5.068011873981870252e-02 -1.894705840284650021e-03 6.662967401352719310e-02 9.061988167926439408e-02 1.089143811236970016e-01 2.286863482154040048e-02 1.770335448356720118e-02 -3.581672810154919867e-02 3.064409414368320182e-03
9 4.170844488444359899e-02 5.068011873981870252e-02 6.169620651868849837e-02 -4.009931749229690007e-02 -1.395253554402150001e-02 6.201685656730160021e-03 -2.867429443567860031e-02 -2.592261998182820038e-03 -1.495647502491130078e-02 1.134862324403770016e-02
10 -7.090024709716259699e-02 -4.464163650698899782e-02 3.906215296718960200e-02 -3.321357610482440076e-02 -1.257658268582039982e-02 -3.450761437590899733e-02 -2.499265663159149983e-02 -2.592261998182820038e-03 6.773632611028609918e-02 -1.350401824497050006e-02
11 -9.632801625429950054e-02 -4.464163650698899782e-02 -8.380842345523309422e-02 8.100872220010799790e-03 -1.033894713270950005e-01 -9.056118903623530669e-02 -1.394774321933030074e-02 -7.639450375000099436e-02 -6.291294991625119570e-02 -3.421455281914410201e-02
12 2.717829108036539862e-02 5.068011873981870252e-02 1.750591148957160101e-02 -3.321357610482440076e-02 -7.072771253015849857e-03 4.597154030400080194e-02 -6.549067247654929980e-02 7.120997975363539678e-02 -9.643322289178400675e-02 -5.906719430815229877e-02
13 1.628067572730669890e-02 -4.464163650698899782e-02 -2.884000768730720157e-02 -9.113481248670509197e-03 -4.320865536613589623e-03 -9.768885894535990141e-03 4.495846164606279866e-02 -3.949338287409189657e-02 -3.075120986455629965e-02 -4.249876664881350324e-02
14 5.383060374248070309e-03 5.068011873981870252e-02 -1.894705840284650021e-03 8.100872220010799790e-03 -4.320865536613589623e-03 -1.571870666853709964e-02 -2.902829807069099918e-03 -2.592261998182820038e-03 3.839324821169769891e-02 -1.350401824497050006e-02
15 4.534098333546320025e-02 -4.464163650698899782e-02 -2.560657146566450160e-02 -1.255635194240680048e-02 1.769438019460449832e-02 -6.128357906048329537e-05 8.177483968693349814e-02 -3.949338287409189657e-02 -3.199144494135589684e-02 -7.563562196749110123e-02
16 -5.273755484206479882e-02 5.068011873981870252e-02 -1.806188694849819934e-02 8.040115678847230274e-02 8.924392882106320368e-02 1.076617872765389949e-01 -3.971920784793980114e-02 1.081111006295440019e-01 3.605579008983190309e-02 -4.249876664881350324e-02
17 -5.514554978810590376e-03 -4.464163650698899782e-02 4.229558918883229851e-02 4.941532054484590319e-02 2.457414448561009990e-02 -2.386056667506489953e-02 7.441156407875940126e-02 -3.949338287409189657e-02 5.227999979678119719e-02 2.791705090337660150e-02
18 7.076875249260000666e-02 5.068011873981870252e-02 1.211685112016709989e-02 5.630106193231849965e-02 3.420581449301800248e-02 4.941617338368559792e-02 -3.971920784793980114e-02 3.430885887772629900e-02 2.736770754260900093e-02 -1.077697500466389974e-03
19 -3.820740103798660192e-02 -4.464163650698899782e-02 -1.051720243133190055e-02 -3.665644679856060184e-02 -3.734373413344069942e-02 -1.947648821001150138e-02 -2.867429443567860031e-02 -2.592261998182820038e-03 -1.811826730789670159e-02 -1.764612515980519894e-02
20 -2.730978568492789874e-02 -4.464163650698899782e-02 -1.806188694849819934e-02 -4.009931749229690007e-02 -2.944912678412469915e-03 -1.133462820348369975e-02 3.759518603788870178e-02 -3.949338287409189657e-02 -8.944018957797799166e-03 -5.492508739331759815e-02
21 -4.910501639104519755e-02 -4.464163650698899782e-02 -5.686312160821060252e-02 -4.354218818603310115e-02 -4.559945128264750180e-02 -4.327577130601600180e-02 7.788079970179680352e-04 -3.949338287409189657e-02 -1.190068480150809939e-02 1.549073015887240078e-02
22 -8.543040090124079389e-02 5.068011873981870252e-02 -2.237313524402180162e-02 1.215130832538269907e-03 -3.734373413344069942e-02 -2.636575436938120090e-02 1.550535921336619952e-02 -3.949338287409189657e-02 -7.212845460195599356e-02 -1.764612515980519894e-02
23 -8.543040090124079389e-02 -4.464163650698899782e-02 -4.050329988046450294e-03 -9.113481248670509197e-03 -2.944912678412469915e-03 7.767427965677820186e-03 2.286863482154040048e-02 -3.949338287409189657e-02 -6.117659509433449883e-02 -1.350401824497050006e-02
24 4.534098333546320025e-02 5.068011873981870252e-02 6.061839444480759953e-02 3.105334362634819961e-02 2.870200306021350109e-02 -4.734670130927989828e-02 -5.444575906428809897e-02 7.120997975363539678e-02 1.335989800130079896e-01 1.356118306890790048e-01
25 -6.363517019512339445e-02 -4.464163650698899782e-02 3.582871674554689856e-02 -2.288496402361559975e-02 -3.046396984243510131e-02 -1.885019128643240088e-02 -6.584467611156170040e-03 -2.592261998182820038e-03 -2.595242443518940012e-02 -5.492508739331759815e-02
26 -6.726770864614299572e-02 5.068011873981870252e-02 -1.267282657909369996e-02 -4.009931749229690007e-02 -1.532848840222260020e-02 4.635943347782499856e-03 -5.812739686837520292e-02 3.430885887772629900e-02 1.919903307856710151e-02 -3.421455281914410201e-02
27 -1.072256316073579990e-01 -4.464163650698899782e-02 -7.734155101194770121e-02 -2.632783471735180084e-02 -8.962994274508359616e-02 -9.619786134844690584e-02 2.655027262562750096e-02 -7.639450375000099436e-02 -4.257210492279420166e-02 -5.219804415301099697e-03
28 -2.367724723390840155e-02 -4.464163650698899782e-02 5.954058237092670069e-02 -4.009931749229690007e-02 -4.284754556624519733e-02 -4.358891976780549654e-02 1.182372140927919965e-02 -3.949338287409189657e-02 -1.599826775813870117e-02 4.034337164788070335e-02
29 5.260606023750229870e-02 -4.464163650698899782e-02 -2.129532317014089932e-02 -7.452802442965950069e-02 -4.009563984984299695e-02 -3.763909899380440266e-02 -6.584467611156170040e-03 -3.949338287409189657e-02 -6.092541861022970299e-04 -5.492508739331759815e-02
30 6.713621404158050254e-02 5.068011873981870252e-02 -6.205954135808240159e-03 6.318680331979099896e-02 -4.284754556624519733e-02 -9.588471288665739722e-02 5.232173725423699961e-02 -7.639450375000099436e-02 5.942380044479410317e-02 5.276969239238479825e-02
31 -6.000263174410389727e-02 -4.464163650698899782e-02 4.445121333659410312e-02 -1.944209332987930153e-02 -9.824676969418109224e-03 -7.576846662009279788e-03 2.286863482154040048e-02 -3.949338287409189657e-02 -2.712864555432650121e-02 -9.361911330135799444e-03
32 -2.367724723390840155e-02 -4.464163650698899782e-02 -6.548561819925780014e-02 -8.141376581713200000e-02 -3.871968699164179961e-02 -5.360967054507050078e-02 5.968501286241110343e-02 -7.639450375000099436e-02 -3.712834601047360072e-02 -4.249876664881350324e-02
33 3.444336798240450054e-02 5.068011873981870252e-02 1.252871188776620015e-01 2.875809638242839833e-02 -5.385516843185429725e-02 -1.290037051243130006e-02 -1.023070505174200062e-01 1.081111006295440019e-01 2.714857279071319972e-04 2.791705090337660150e-02
34 3.081082953138499989e-02 -4.464163650698899782e-02 -5.039624916492520257e-02 -2.227739861197989939e-03 -4.422349842444640161e-02 -8.993489211265630334e-02 1.185912177278039964e-01 -7.639450375000099436e-02 -1.811826730789670159e-02 3.064409414368320182e-03
35 1.628067572730669890e-02 -4.464163650698899782e-02 -6.332999405149600247e-02 -5.731367096097819691e-02 -5.798302700645770191e-02 -4.891244361822749687e-02 8.142083605192099172e-03 -3.949338287409189657e-02 -5.947269741072230137e-02 -6.735140813782170000e-02
36 4.897352178648269744e-02 5.068011873981870252e-02 -3.099563183506899924e-02 -4.928030602040309877e-02 4.934129593323050011e-02 -4.132213582324419619e-03 1.333177689441520097e-01 -5.351580880693729975e-02 2.131084656824479978e-02 1.963283707370720027e-02
37 1.264813727628719998e-02 -4.464163650698899782e-02 2.289497185897609866e-02 5.285819123858220142e-02 8.062710187196569719e-03 -2.855779360190789998e-02 3.759518603788870178e-02 -3.949338287409189657e-02 5.472400334817909689e-02 -2.593033898947460017e-02
38 -9.147093429830140468e-03 -4.464163650698899782e-02 1.103903904628619932e-02 -5.731367096097819691e-02 -2.496015840963049931e-02 -4.296262284422640298e-02 3.023191042971450082e-02 -3.949338287409189657e-02 1.703713241477999851e-02 -5.219804415301099697e-03
39 -1.882016527791040067e-03 5.068011873981870252e-02 7.139651518361660176e-02 9.761551025715360652e-02 8.786797596286209655e-02 7.540749571221680436e-02 -2.131101882750449997e-02 7.120997975363539678e-02 7.142403278057639360e-02 2.377494398854190089e-02
40 -1.882016527791040067e-03 5.068011873981870252e-02 1.427247526792889930e-02 -7.452802442965950069e-02 2.558898754392050119e-03 6.201685656730160021e-03 -1.394774321933030074e-02 -2.592261998182820038e-03 1.919903307856710151e-02 3.064409414368320182e-03
41 5.383060374248070309e-03 5.068011873981870252e-02 -8.361578283570040432e-03 2.187235499495579841e-02 5.484510736603499803e-02 7.321545647968999426e-02 -2.499265663159149983e-02 3.430885887772629900e-02 1.255315281338930007e-02 9.419076154073199869e-02
42 -9.996055470531900466e-02 -4.464163650698899782e-02 -6.764124234701959781e-02 -1.089567313670219972e-01 -7.449446130487119566e-02 -7.271172671423199729e-02 1.550535921336619952e-02 -3.949338287409189657e-02 -4.986846773523059828e-02 -9.361911330135799444e-03
43 -6.000263174410389727e-02 5.068011873981870252e-02 -1.051720243133190055e-02 -1.485159908304049987e-02 -4.972730985725089953e-02 -2.354741821327540133e-02 -5.812739686837520292e-02 1.585829843977170153e-02 -9.918957363154769225e-03 -3.421455281914410201e-02
44 1.991321417832630017e-02 -4.464163650698899782e-02 -2.345094731790270046e-02 -7.108515373592319553e-02 2.044628591100669870e-02 -1.008203435632550049e-02 1.185912177278039964e-01 -7.639450375000099436e-02 -4.257210492279420166e-02 7.348022696655839847e-02
45 4.534098333546320025e-02 5.068011873981870252e-02 6.816307896197400240e-02 8.100872220010799790e-03 -1.670444126042380101e-02 4.635943347782499856e-03 -7.653558588881050062e-02 7.120997975363539678e-02 3.243322577960189995e-02 -1.764612515980519894e-02
46 2.717829108036539862e-02 5.068011873981870252e-02 -3.530688013059259805e-02 3.220096707616459941e-02 -1.120062982761920074e-02 1.504458729887179960e-03 -1.026610541524320026e-02 -2.592261998182820038e-03 -1.495647502491130078e-02 -5.078298047848289754e-02
47 -5.637009329308430294e-02 -4.464163650698899782e-02 -1.159501450521270051e-02 -3.321357610482440076e-02 -4.697540414084860200e-02 -4.765984977106939996e-02 4.460445801105040325e-03 -3.949338287409189657e-02 -7.979397554541639223e-03 -8.806194271199530021e-02
48 -7.816532399920170238e-02 -4.464163650698899782e-02 -7.303030271642410587e-02 -5.731367096097819691e-02 -8.412613131227909824e-02 -7.427746902317970690e-02 -2.499265663159149983e-02 -3.949338287409189657e-02 -1.811826730789670159e-02 -8.391983579716059960e-02
49 6.713621404158050254e-02 5.068011873981870252e-02 -4.177375257387799801e-02 1.154374291374709975e-02 2.558898754392050119e-03 5.888537194940629722e-03 4.127682384197570165e-02 -3.949338287409189657e-02 -5.947269741072230137e-02 -2.178823207463989955e-02
50 -4.183993948900609910e-02 5.068011873981870252e-02 1.427247526792889930e-02 -5.670610554934250001e-03 -1.257658268582039982e-02 6.201685656730160021e-03 -7.285394808472339667e-02 7.120997975363539678e-02 3.546193866076970125e-02 -1.350401824497050006e-02
51 3.444336798240450054e-02 -4.464163650698899782e-02 -7.283766209689159811e-03 1.498661360748330083e-02 -4.422349842444640161e-02 -3.732595053201490098e-02 -2.902829807069099918e-03 -3.949338287409189657e-02 -2.139368094035999993e-02 7.206516329203029904e-03
52 5.987113713954139715e-02 5.068011873981870252e-02 1.642809941569069870e-02 2.875809638242839833e-02 -4.147159270804409714e-02 -2.918409052548700047e-02 -2.867429443567860031e-02 -2.592261998182820038e-03 -2.396681493414269844e-03 -2.178823207463989955e-02
53 -5.273755484206479882e-02 -4.464163650698899782e-02 -9.439390357450949676e-03 -5.670610554934250001e-03 3.970962592582259754e-02 4.471894645684260094e-02 2.655027262562750096e-02 -2.592261998182820038e-03 -1.811826730789670159e-02 -1.350401824497050006e-02
54 -9.147093429830140468e-03 -4.464163650698899782e-02 -1.590626280073640167e-02 7.007254470726349826e-02 1.219056876180000040e-02 2.217225720799630151e-02 1.550535921336619952e-02 -2.592261998182820038e-03 -3.324878724762579674e-02 4.862758547755009764e-02
55 -4.910501639104519755e-02 -4.464163650698899782e-02 2.505059600673789980e-02 8.100872220010799790e-03 2.044628591100669870e-02 1.778817874294279927e-02 5.232173725423699961e-02 -3.949338287409189657e-02 -4.118038518800790082e-02 7.206516329203029904e-03
56 -4.183993948900609910e-02 -4.464163650698899782e-02 -4.931843709104429679e-02 -3.665644679856060184e-02 -7.072771253015849857e-03 -2.260797282790679916e-02 8.545647749102060209e-02 -3.949338287409189657e-02 -6.648814822283539983e-02 7.206516329203029904e-03
57 -4.183993948900609910e-02 -4.464163650698899782e-02 4.121777711495139968e-02 -2.632783471735180084e-02 -3.183992270063620150e-02 -3.043668437264510085e-02 -3.603757004385269719e-02 2.942906133203560069e-03 3.365681290238470291e-02 -1.764612515980519894e-02
58 -2.730978568492789874e-02 -4.464163650698899782e-02 -6.332999405149600247e-02 -5.042792957350569760e-02 -8.962994274508359616e-02 -1.043397213549750041e-01 5.232173725423699961e-02 -7.639450375000099436e-02 -5.615757309500619965e-02 -6.735140813782170000e-02
59 4.170844488444359899e-02 -4.464163650698899782e-02 -6.440780612537699845e-02 3.564383776990089764e-02 1.219056876180000040e-02 -5.799374901012400302e-02 1.811790603972839864e-01 -7.639450375000099436e-02 -6.092541861022970299e-04 -5.078298047848289754e-02
60 6.350367559056099842e-02 5.068011873981870252e-02 -2.560657146566450160e-02 1.154374291374709975e-02 6.447677737344290061e-02 4.847672799831700269e-02 3.023191042971450082e-02 -2.592261998182820038e-03 3.839324821169769891e-02 1.963283707370720027e-02
61 -7.090024709716259699e-02 -4.464163650698899782e-02 -4.050329988046450294e-03 -4.009931749229690007e-02 -6.623874415566440021e-02 -7.866154748823310505e-02 5.232173725423699961e-02 -7.639450375000099436e-02 -5.140053526058249722e-02 -3.421455281914410201e-02
62 -4.183993948900609910e-02 5.068011873981870252e-02 4.572166603000769880e-03 -5.387080026724189868e-02 -4.422349842444640161e-02 -2.730519975474979960e-02 -8.021722369289760457e-02 7.120997975363539678e-02 3.664579779339879884e-02 1.963283707370720027e-02
63 -2.730978568492789874e-02 5.068011873981870252e-02 -7.283766209689159811e-03 -4.009931749229690007e-02 -1.120062982761920074e-02 -1.383981589779990050e-02 5.968501286241110343e-02 -3.949338287409189657e-02 -8.238148325810279449e-02 -2.593033898947460017e-02
64 -3.457486258696700065e-02 -4.464163650698899782e-02 -3.746250427835440266e-02 -6.075654165471439799e-02 2.044628591100669870e-02 4.346635260968449710e-02 -1.394774321933030074e-02 -2.592261998182820038e-03 -3.075120986455629965e-02 -7.149351505265640061e-02
65 6.713621404158050254e-02 5.068011873981870252e-02 -2.560657146566450160e-02 -4.009931749229690007e-02 -6.348683843926219983e-02 -5.987263978086120042e-02 -2.902829807069099918e-03 -3.949338287409189657e-02 -1.919704761394450121e-02 1.134862324403770016e-02
66 -4.547247794002570037e-02 5.068011873981870252e-02 -2.452875939178359929e-02 5.974393262605470073e-02 5.310804470794310353e-03 1.496984258683710031e-02 -5.444575906428809897e-02 7.120997975363539678e-02 4.234489544960749752e-02 1.549073015887240078e-02
67 -9.147093429830140468e-03 5.068011873981870252e-02 -1.806188694849819934e-02 -3.321357610482440076e-02 -2.083229983502719873e-02 1.215150643073130074e-02 -7.285394808472339667e-02 7.120997975363539678e-02 2.714857279071319972e-04 1.963283707370720027e-02
68 4.170844488444359899e-02 5.068011873981870252e-02 -1.482845072685549936e-02 -1.714684618924559867e-02 -5.696818394814720174e-03 8.393724889256879915e-03 -1.394774321933030074e-02 -1.854239580664649974e-03 -1.190068480150809939e-02 3.064409414368320182e-03
69 3.807590643342410180e-02 5.068011873981870252e-02 -2.991781976118810041e-02 -4.009931749229690007e-02 -3.321587555883730170e-02 -2.417371513685449835e-02 -1.026610541524320026e-02 -2.592261998182820038e-03 -1.290794225416879923e-02 3.064409414368320182e-03
70 1.628067572730669890e-02 -4.464163650698899782e-02 -4.608500086940160029e-02 -5.670610554934250001e-03 -7.587041416307230279e-02 -6.143838208980879900e-02 -1.394774321933030074e-02 -3.949338287409189657e-02 -5.140053526058249722e-02 1.963283707370720027e-02
71 -1.882016527791040067e-03 -4.464163650698899782e-02 -6.979686649478139548e-02 -1.255635194240680048e-02 -1.930069620102049918e-04 -9.142588970956939953e-03 7.072992627467229731e-02 -3.949338287409189657e-02 -6.291294991625119570e-02 4.034337164788070335e-02
72 -1.882016527791040067e-03 -4.464163650698899782e-02 3.367309259778510089e-02 1.251584758070440062e-01 2.457414448561009990e-02 2.624318721126020146e-02 -1.026610541524320026e-02 -2.592261998182820038e-03 2.671425763351279944e-02 6.105390622205419948e-02
73 6.350367559056099842e-02 5.068011873981870252e-02 -4.050329988046450294e-03 -1.255635194240680048e-02 1.030034574030749966e-01 4.878987646010649742e-02 5.600337505832399948e-02 -2.592261998182820038e-03 8.449528221240310000e-02 -1.764612515980519894e-02
74 1.264813727628719998e-02 5.068011873981870252e-02 -2.021751109626000048e-02 -2.227739861197989939e-03 3.833367306762140020e-02 5.317395492515999966e-02 -6.584467611156170040e-03 3.430885887772629900e-02 -5.145307980263110273e-03 -9.361911330135799444e-03
75 1.264813727628719998e-02 5.068011873981870252e-02 2.416542455238970041e-03 5.630106193231849965e-02 2.732605020201240090e-02 1.716188181936379939e-02 4.127682384197570165e-02 -3.949338287409189657e-02 3.711738233435969789e-03 7.348022696655839847e-02
76 -9.147093429830140468e-03 5.068011873981870252e-02 -3.099563183506899924e-02 -2.632783471735180084e-02 -1.120062982761920074e-02 -1.000728964429089965e-03 -2.131101882750449997e-02 -2.592261998182820038e-03 6.209315616505399656e-03 2.791705090337660150e-02
77 -3.094232413594750000e-02 5.068011873981870252e-02 2.828403222838059977e-02 7.007254470726349826e-02 -1.267806699165139883e-01 -1.068449090492910036e-01 -5.444575906428809897e-02 -4.798064067555100204e-02 -3.075120986455629965e-02 1.549073015887240078e-02
78 -9.632801625429950054e-02 -4.464163650698899782e-02 -3.638469220447349689e-02 -7.452802442965950069e-02 -3.871968699164179961e-02 -2.761834821653930128e-02 1.550535921336619952e-02 -3.949338287409189657e-02 -7.408887149153539631e-02 -1.077697500466389974e-03
79 5.383060374248070309e-03 -4.464163650698899782e-02 -5.794093368209150136e-02 -2.288496402361559975e-02 -6.761469701386560449e-02 -6.832764824917850199e-02 -5.444575906428809897e-02 -2.592261998182820038e-03 4.289568789252869857e-02 -8.391983579716059960e-02
80 -1.035930931563389945e-01 -4.464163650698899782e-02 -3.746250427835440266e-02 -2.632783471735180084e-02 2.558898754392050119e-03 1.998021797546959896e-02 1.182372140927919965e-02 -2.592261998182820038e-03 -6.832974362442149896e-02 -2.593033898947460017e-02
81 7.076875249260000666e-02 -4.464163650698899782e-02 1.211685112016709989e-02 4.252957915737339695e-02 7.135654166444850566e-02 5.348710338694950134e-02 5.232173725423699961e-02 -2.592261998182820038e-03 2.539313491544940155e-02 -5.219804415301099697e-03
82 1.264813727628719998e-02 5.068011873981870252e-02 -2.237313524402180162e-02 -2.977070541108809906e-02 1.081461590359879960e-02 2.843522644378690054e-02 -2.131101882750449997e-02 3.430885887772629900e-02 -6.080248196314420352e-03 -1.077697500466389974e-03
83 -1.641217033186929963e-02 -4.464163650698899782e-02 -3.530688013059259805e-02 -2.632783471735180084e-02 3.282986163481690228e-02 1.716188181936379939e-02 1.001830287073690040e-01 -3.949338287409189657e-02 -7.020931272868760620e-02 -7.977772888232589898e-02
84 -3.820740103798660192e-02 -4.464163650698899782e-02 9.961226972405269262e-03 -4.698505887976939938e-02 -5.935897986465880211e-02 -5.298337362149149743e-02 -1.026610541524320026e-02 -3.949338287409189657e-02 -1.599826775813870117e-02 -4.249876664881350324e-02
85 1.750521923228520000e-03 -4.464163650698899782e-02 -3.961812842611620034e-02 -1.009233664264470032e-01 -2.908801698423390050e-02 -3.012353591085559917e-02 4.495846164606279866e-02 -5.019470792810550031e-02 -6.832974362442149896e-02 -1.294830118603420011e-01
86 4.534098333546320025e-02 -4.464163650698899782e-02 7.139651518361660176e-02 1.215130832538269907e-03 -9.824676969418109224e-03 -1.000728964429089965e-03 1.550535921336619952e-02 -3.949338287409189657e-02 -4.118038518800790082e-02 -7.149351505265640061e-02
87 -7.090024709716259699e-02 5.068011873981870252e-02 -7.518592686418590354e-02 -4.009931749229690007e-02 -5.110326271545199972e-02 -1.509240974495799914e-02 -3.971920784793980114e-02 -2.592261998182820038e-03 -9.643322289178400675e-02 -3.421455281914410201e-02
88 4.534098333546320025e-02 -4.464163650698899782e-02 -6.205954135808240159e-03 1.154374291374709975e-02 6.310082451524179348e-02 1.622243643399520069e-02 9.650139090328180291e-02 -3.949338287409189657e-02 4.289568789252869857e-02 -3.835665973397880263e-02
89 -5.273755484206479882e-02 5.068011873981870252e-02 -4.069594049999709917e-02 -6.764228304218700139e-02 -3.183992270063620150e-02 -3.701280207022530216e-02 3.759518603788870178e-02 -3.949338287409189657e-02 -3.452371533034950118e-02 6.933812005172369786e-02
90 -4.547247794002570037e-02 -4.464163650698899782e-02 -4.824062501716339796e-02 -1.944209332987930153e-02 -1.930069620102049918e-04 -1.603185513032660131e-02 6.704828847058519337e-02 -3.949338287409189657e-02 -2.479118743246069845e-02 1.963283707370720027e-02
91 1.264813727628719998e-02 -4.464163650698899782e-02 -2.560657146566450160e-02 -4.009931749229690007e-02 -3.046396984243510131e-02 -4.515466207675319921e-02 7.809320188284639419e-02 -7.639450375000099436e-02 -7.212845460195599356e-02 1.134862324403770016e-02
92 4.534098333546320025e-02 -4.464163650698899782e-02 5.199589785376040191e-02 -5.387080026724189868e-02 6.310082451524179348e-02 6.476044801137270657e-02 -1.026610541524320026e-02 3.430885887772629900e-02 3.723201120896890010e-02 1.963283707370720027e-02
93 -2.004470878288880029e-02 -4.464163650698899782e-02 4.572166603000769880e-03 9.761551025715360652e-02 5.310804470794310353e-03 -2.072908205716959829e-02 6.336665066649820044e-02 -3.949338287409189657e-02 1.255315281338930007e-02 1.134862324403770016e-02
94 -4.910501639104519755e-02 -4.464163650698899782e-02 -6.440780612537699845e-02 -1.020709899795499975e-01 -2.944912678412469915e-03 -1.540555820674759969e-02 6.336665066649820044e-02 -4.724261825803279663e-02 -3.324878724762579674e-02 -5.492508739331759815e-02
95 -7.816532399920170238e-02 -4.464163650698899782e-02 -1.698407487461730050e-02 -1.255635194240680048e-02 -1.930069620102049918e-04 -1.352666743601040056e-02 7.072992627467229731e-02 -3.949338287409189657e-02 -4.118038518800790082e-02 -9.220404962683000083e-02
96 -7.090024709716259699e-02 -4.464163650698899782e-02 -5.794093368209150136e-02 -8.141376581713200000e-02 -4.559945128264750180e-02 -2.887094206369749880e-02 -4.340084565202689815e-02 -2.592261998182820038e-03 1.143797379512540100e-03 -5.219804415301099697e-03
97 5.623859868852180283e-02 5.068011873981870252e-02 9.961226972405269262e-03 4.941532054484590319e-02 -4.320865536613589623e-03 -1.227407358885230018e-02 -4.340084565202689815e-02 3.430885887772629900e-02 6.078775415074400001e-02 3.205915781821130212e-02
98 -2.730978568492789874e-02 -4.464163650698899782e-02 8.864150836571099701e-02 -2.518021116424929914e-02 2.182223876920789951e-02 4.252690722431590187e-02 -3.235593223976569732e-02 3.430885887772629900e-02 2.863770518940129874e-03 7.762233388139309909e-02
99 1.750521923228520000e-03 5.068011873981870252e-02 -5.128142061927360405e-03 -1.255635194240680048e-02 -1.532848840222260020e-02 -1.383981589779990050e-02 8.142083605192099172e-03 -3.949338287409189657e-02 -6.080248196314420352e-03 -6.735140813782170000e-02
100 -1.882016527791040067e-03 -4.464163650698899782e-02 -6.440780612537699845e-02 1.154374291374709975e-02 2.732605020201240090e-02 3.751653183568340322e-02 -1.394774321933030074e-02 3.430885887772629900e-02 1.178390038357590014e-02 -5.492508739331759815e-02
101 1.628067572730669890e-02 -4.464163650698899782e-02 1.750591148957160101e-02 -2.288496402361559975e-02 6.034891879883950289e-02 4.440579799505309927e-02 3.023191042971450082e-02 -2.592261998182820038e-03 3.723201120896890010e-02 -1.077697500466389974e-03
102 1.628067572730669890e-02 5.068011873981870252e-02 -4.500718879552070145e-02 6.318680331979099896e-02 1.081461590359879960e-02 -3.744320408500199904e-04 6.336665066649820044e-02 -3.949338287409189657e-02 -3.075120986455629965e-02 3.620126473304600273e-02
103 -9.269547780327989928e-02 -4.464163650698899782e-02 2.828403222838059977e-02 -1.599922263614299983e-02 3.695772020942030001e-02 2.499059336410210108e-02 5.600337505832399948e-02 -3.949338287409189657e-02 -5.145307980263110273e-03 -1.077697500466389974e-03
104 5.987113713954139715e-02 5.068011873981870252e-02 4.121777711495139968e-02 1.154374291374709975e-02 4.108557878402369773e-02 7.071026878537380045e-02 -3.603757004385269719e-02 3.430885887772629900e-02 -1.090443584737709956e-02 -3.007244590430930078e-02
105 -2.730978568492789874e-02 -4.464163650698899782e-02 6.492964274033119487e-02 -2.227739861197989939e-03 -2.496015840963049931e-02 -1.728444897748479883e-02 2.286863482154040048e-02 -3.949338287409189657e-02 -6.117659509433449883e-02 -6.320930122298699938e-02
106 2.354575262934580082e-02 5.068011873981870252e-02 -3.207344390894990155e-02 -4.009931749229690007e-02 -3.183992270063620150e-02 -2.166852744253820046e-02 -1.394774321933030074e-02 -2.592261998182820038e-03 -1.090443584737709956e-02 1.963283707370720027e-02
107 -9.632801625429950054e-02 -4.464163650698899782e-02 -7.626373893806680238e-02 -4.354218818603310115e-02 -4.559945128264750180e-02 -3.482076283769860309e-02 8.142083605192099172e-03 -3.949338287409189657e-02 -5.947269741072230137e-02 -8.391983579716059960e-02
108 2.717829108036539862e-02 -4.464163650698899782e-02 4.984027370599859730e-02 -5.501842382034440038e-02 -2.944912678412469915e-03 4.064801645357869753e-02 -5.812739686837520292e-02 5.275941931568080279e-02 -5.295879323920039961e-02 -5.219804415301099697e-03
109 1.991321417832630017e-02 5.068011873981870252e-02 4.552902541047500196e-02 2.990571983224480160e-02 -6.211088558106100249e-02 -5.580170977759729700e-02 -7.285394808472339667e-02 2.692863470254440103e-02 4.560080841412490066e-02 4.034337164788070335e-02
110 3.807590643342410180e-02 5.068011873981870252e-02 -9.439390357450949676e-03 2.362754385640800005e-03 1.182945896190920002e-03 3.751653183568340322e-02 -5.444575906428809897e-02 5.017634085436720182e-02 -2.595242443518940012e-02 1.066170822852360034e-01
111 4.170844488444359899e-02 5.068011873981870252e-02 -3.207344390894990155e-02 -2.288496402361559975e-02 -4.972730985725089953e-02 -4.014428668812060341e-02 3.023191042971450082e-02 -3.949338287409189657e-02 -1.260973855604090033e-01 1.549073015887240078e-02
112 1.991321417832630017e-02 -4.464163650698899782e-02 4.572166603000769880e-03 -2.632783471735180084e-02 2.319819162740899970e-02 1.027261565999409987e-02 6.704828847058519337e-02 -3.949338287409189657e-02 -2.364455757213410059e-02 -4.664087356364819692e-02
113 -8.543040090124079389e-02 -4.464163650698899782e-02 2.073934771121430098e-02 -2.632783471735180084e-02 5.310804470794310353e-03 1.966706951368000014e-02 -2.902829807069099918e-03 -2.592261998182820038e-03 -2.364455757213410059e-02 3.064409414368320182e-03
114 1.991321417832630017e-02 5.068011873981870252e-02 1.427247526792889930e-02 6.318680331979099896e-02 1.494247447820220079e-02 2.029336643725910064e-02 -4.708248345611389801e-02 3.430885887772629900e-02 4.666077235681449775e-02 9.004865462589720093e-02
115 2.354575262934580082e-02 -4.464163650698899782e-02 1.101977498433290015e-01 6.318680331979099896e-02 1.356652162000110060e-02 -3.294187206696139875e-02 -2.499265663159149983e-02 2.065544415363990138e-02 9.924022573398999514e-02 2.377494398854190089e-02
116 -3.094232413594750000e-02 5.068011873981870252e-02 1.338730381358059929e-03 -5.670610554934250001e-03 6.447677737344290061e-02 4.941617338368559792e-02 -4.708248345611389801e-02 1.081111006295440019e-01 8.379676636552239877e-02 3.064409414368320182e-03
117 4.897352178648269744e-02 5.068011873981870252e-02 5.846277029704580186e-02 7.007254470726349826e-02 1.356652162000110060e-02 2.060651489904859884e-02 -2.131101882750449997e-02 3.430885887772629900e-02 2.200405045615050001e-02 2.791705090337660150e-02
118 5.987113713954139715e-02 -4.464163650698899782e-02 -2.129532317014089932e-02 8.728689817594480205e-02 4.521343735862710239e-02 3.156671106168230240e-02 -4.708248345611389801e-02 7.120997975363539678e-02 7.912108138965789905e-02 1.356118306890790048e-01
119 -5.637009329308430294e-02 5.068011873981870252e-02 -1.051720243133190055e-02 2.531522568869210010e-02 2.319819162740899970e-02 4.002171952999959703e-02 -3.971920784793980114e-02 3.430885887772629900e-02 2.061233072136409855e-02 5.691179930721949887e-02
120 1.628067572730669890e-02 -4.464163650698899782e-02 -4.716281294328249912e-02 -2.227739861197989939e-03 -1.945634697682600139e-02 -4.296262284422640298e-02 3.391354823380159783e-02 -3.949338287409189657e-02 2.736770754260900093e-02 2.791705090337660150e-02
121 -4.910501639104519755e-02 -4.464163650698899782e-02 4.572166603000769880e-03 1.154374291374709975e-02 -3.734373413344069942e-02 -1.853704282464289921e-02 -1.762938102341739949e-02 -2.592261998182820038e-03 -3.980959436433750137e-02 -2.178823207463989955e-02
122 6.350367559056099842e-02 -4.464163650698899782e-02 1.750591148957160101e-02 2.187235499495579841e-02 8.062710187196569719e-03 2.154596028441720101e-02 -3.603757004385269719e-02 3.430885887772629900e-02 1.990842087631829876e-02 1.134862324403770016e-02
123 4.897352178648269744e-02 5.068011873981870252e-02 8.109682384854470516e-02 2.187235499495579841e-02 4.383748450042589812e-02 6.413415108779360607e-02 -5.444575906428809897e-02 7.120997975363539678e-02 3.243322577960189995e-02 4.862758547755009764e-02
124 5.383060374248070309e-03 5.068011873981870252e-02 3.475090467166599972e-02 -1.080116308095460057e-03 1.525377602983150060e-01 1.987879896572929961e-01 -6.180903467246220279e-02 1.852344432601940039e-01 1.556684454070180086e-02 7.348022696655839847e-02
125 -5.514554978810590376e-03 -4.464163650698899782e-02 2.397278393285700096e-02 8.100872220010799790e-03 -3.459182841703849903e-02 -3.889169284096249957e-02 2.286863482154040048e-02 -3.949338287409189657e-02 -1.599826775813870117e-02 -1.350401824497050006e-02
126 -5.514554978810590376e-03 5.068011873981870252e-02 -8.361578283570040432e-03 -2.227739861197989939e-03 -3.321587555883730170e-02 -6.363042132233559522e-02 -3.603757004385269719e-02 -2.592261998182820038e-03 8.058546423866649877e-02 7.206516329203029904e-03
127 -8.906293935226029801e-02 -4.464163650698899782e-02 -6.117436990373419786e-02 -2.632783471735180084e-02 -5.523112129005539744e-02 -5.454911593043910295e-02 4.127682384197570165e-02 -7.639450375000099436e-02 -9.393564550871469354e-02 -5.492508739331759815e-02
128 3.444336798240450054e-02 5.068011873981870252e-02 -1.894705840284650021e-03 -1.255635194240680048e-02 3.833367306762140020e-02 1.371724873967889932e-02 7.809320188284639419e-02 -3.949338287409189657e-02 4.551890466127779880e-03 -9.634615654166470144e-02
129 -5.273755484206479882e-02 -4.464163650698899782e-02 -6.225218197761509670e-02 -2.632783471735180084e-02 -5.696818394814720174e-03 -5.071658967693000106e-03 3.023191042971450082e-02 -3.949338287409189657e-02 -3.075120986455629965e-02 -7.149351505265640061e-02
130 9.015598825267629943e-03 -4.464163650698899782e-02 1.642809941569069870e-02 4.658001526274530187e-03 9.438663045397699403e-03 1.058576412178359981e-02 -2.867429443567860031e-02 3.430885887772629900e-02 3.896836603088559697e-02 1.190434030297399942e-01
131 -6.363517019512339445e-02 5.068011873981870252e-02 9.618619288287730273e-02 1.045012516446259948e-01 -2.944912678412469915e-03 -4.758510505903469807e-03 -6.584467611156170040e-03 -2.592261998182820038e-03 2.269202256674450122e-02 7.348022696655839847e-02
132 -9.632801625429950054e-02 -4.464163650698899782e-02 -6.979686649478139548e-02 -6.764228304218700139e-02 -1.945634697682600139e-02 -1.070833127990459925e-02 1.550535921336619952e-02 -3.949338287409189657e-02 -4.687948284421659950e-02 -7.977772888232589898e-02
133 1.628067572730669890e-02 5.068011873981870252e-02 -2.129532317014089932e-02 -9.113481248670509197e-03 3.420581449301800248e-02 4.785043107473799934e-02 7.788079970179680352e-04 -2.592261998182820038e-03 -1.290794225416879923e-02 2.377494398854190089e-02
134 -4.183993948900609910e-02 5.068011873981870252e-02 -5.362968538656789907e-02 -4.009931749229690007e-02 -8.412613131227909824e-02 -7.177228132886340206e-02 -2.902829807069099918e-03 -3.949338287409189657e-02 -7.212845460195599356e-02 -3.007244590430930078e-02
135 -7.453278554818210111e-02 -4.464163650698899782e-02 4.337340126271319735e-02 -3.321357610482440076e-02 1.219056876180000040e-02 2.518648827290310109e-04 6.336665066649820044e-02 -3.949338287409189657e-02 -2.712864555432650121e-02 -4.664087356364819692e-02
136 -5.514554978810590376e-03 -4.464163650698899782e-02 5.630714614928399725e-02 -3.665644679856060184e-02 -4.835135699904979933e-02 -4.296262284422640298e-02 -7.285394808472339667e-02 3.799897096531720114e-02 5.078151336297320045e-02 5.691179930721949887e-02
137 -9.269547780327989928e-02 -4.464163650698899782e-02 -8.165279930747129655e-02 -5.731367096097819691e-02 -6.073493272285990230e-02 -6.801449978738899338e-02 4.864009945014990260e-02 -7.639450375000099436e-02 -6.648814822283539983e-02 -2.178823207463989955e-02
138 5.383060374248070309e-03 -4.464163650698899782e-02 4.984027370599859730e-02 9.761551025715360652e-02 -1.532848840222260020e-02 -1.634500359211620013e-02 -6.584467611156170040e-03 -2.592261998182820038e-03 1.703713241477999851e-02 -1.350401824497050006e-02
139 3.444336798240450054e-02 5.068011873981870252e-02 1.112755619172099975e-01 7.695828609473599757e-02 -3.183992270063620150e-02 -3.388131745233000092e-02 -2.131101882750449997e-02 -2.592261998182820038e-03 2.801650652326400162e-02 7.348022696655839847e-02
140 2.354575262934580082e-02 -4.464163650698899782e-02 6.169620651868849837e-02 5.285819123858220142e-02 -3.459182841703849903e-02 -4.891244361822749687e-02 -2.867429443567860031e-02 -2.592261998182820038e-03 5.472400334817909689e-02 -5.219804415301099697e-03
141 4.170844488444359899e-02 5.068011873981870252e-02 1.427247526792889930e-02 4.252957915737339695e-02 -3.046396984243510131e-02 -1.313877426218630021e-03 -4.340084565202689815e-02 -2.592261998182820038e-03 -3.324878724762579674e-02 1.549073015887240078e-02
142 -2.730978568492789874e-02 -4.464163650698899782e-02 4.768464955823679963e-02 -4.698505887976939938e-02 3.420581449301800248e-02 5.724488492842390308e-02 -8.021722369289760457e-02 1.302517731550900115e-01 4.506616833626150148e-02 1.314697237742440128e-01
143 4.170844488444359899e-02 5.068011873981870252e-02 1.211685112016709989e-02 3.908670846363720280e-02 5.484510736603499803e-02 4.440579799505309927e-02 4.460445801105040325e-03 -2.592261998182820038e-03 4.560080841412490066e-02 -1.077697500466389974e-03
144 -3.094232413594750000e-02 -4.464163650698899782e-02 5.649978676881649634e-03 -9.113481248670509197e-03 1.907033305280559851e-02 6.827982580309210209e-03 7.441156407875940126e-02 -3.949338287409189657e-02 -4.118038518800790082e-02 -4.249876664881350324e-02
145 3.081082953138499989e-02 5.068011873981870252e-02 4.660683748435590079e-02 -1.599922263614299983e-02 2.044628591100669870e-02 5.066876723084379891e-02 -5.812739686837520292e-02 7.120997975363539678e-02 6.209315616505399656e-03 7.206516329203029904e-03
146 -4.183993948900609910e-02 -4.464163650698899782e-02 1.285205550993039902e-01 6.318680331979099896e-02 -3.321587555883730170e-02 -3.262872360517189707e-02 1.182372140927919965e-02 -3.949338287409189657e-02 -1.599826775813870117e-02 -5.078298047848289754e-02
147 -3.094232413594750000e-02 5.068011873981870252e-02 5.954058237092670069e-02 1.215130832538269907e-03 1.219056876180000040e-02 3.156671106168230240e-02 -4.340084565202689815e-02 3.430885887772629900e-02 1.482271084126630077e-02 7.206516329203029904e-03
148 -5.637009329308430294e-02 -4.464163650698899782e-02 9.295275666123460623e-02 -1.944209332987930153e-02 1.494247447820220079e-02 2.342485105515439842e-02 -2.867429443567860031e-02 2.545258986750810123e-02 2.605608963368469949e-02 4.034337164788070335e-02
149 -6.000263174410389727e-02 5.068011873981870252e-02 1.535028734180979987e-02 -1.944209332987930153e-02 3.695772020942030001e-02 4.816357953652750101e-02 1.918699701745330000e-02 -2.592261998182820038e-03 -3.075120986455629965e-02 -1.077697500466389974e-03
150 -4.910501639104519755e-02 5.068011873981870252e-02 -5.128142061927360405e-03 -4.698505887976939938e-02 -2.083229983502719873e-02 -2.041593359538010008e-02 -6.917231028063640375e-02 7.120997975363539678e-02 6.123790751970099866e-02 -3.835665973397880263e-02
151 2.354575262934580082e-02 -4.464163650698899782e-02 7.031870310973570293e-02 2.531522568869210010e-02 -3.459182841703849903e-02 -1.446611282137899926e-02 -3.235593223976569732e-02 -2.592261998182820038e-03 -1.919704761394450121e-02 -9.361911330135799444e-03
152 1.750521923228520000e-03 -4.464163650698899782e-02 -4.050329988046450294e-03 -5.670610554934250001e-03 -8.448724111216979540e-03 -2.386056667506489953e-02 5.232173725423699961e-02 -3.949338287409189657e-02 -8.944018957797799166e-03 -1.350401824497050006e-02
153 -3.457486258696700065e-02 5.068011873981870252e-02 -8.168937664037369826e-04 7.007254470726349826e-02 3.970962592582259754e-02 6.695248724389940564e-02 -6.549067247654929980e-02 1.081111006295440019e-01 2.671425763351279944e-02 7.348022696655839847e-02
154 4.170844488444359899e-02 5.068011873981870252e-02 -4.392937672163980262e-02 6.318680331979099896e-02 -4.320865536613589623e-03 1.622243643399520069e-02 -1.394774321933030074e-02 -2.592261998182820038e-03 -3.452371533034950118e-02 1.134862324403770016e-02
155 6.713621404158050254e-02 5.068011873981870252e-02 2.073934771121430098e-02 -5.670610554934250001e-03 2.044628591100669870e-02 2.624318721126020146e-02 -2.902829807069099918e-03 -2.592261998182820038e-03 8.640282933063080789e-03 3.064409414368320182e-03
156 -2.730978568492789874e-02 5.068011873981870252e-02 6.061839444480759953e-02 4.941532054484590319e-02 8.511607024645979902e-02 8.636769187485039689e-02 -2.902829807069099918e-03 3.430885887772629900e-02 3.781447882634390162e-02 4.862758547755009764e-02
157 -1.641217033186929963e-02 -4.464163650698899782e-02 -1.051720243133190055e-02 1.215130832538269907e-03 -3.734373413344069942e-02 -3.576020822306719832e-02 1.182372140927919965e-02 -3.949338287409189657e-02 -2.139368094035999993e-02 -3.421455281914410201e-02
158 -1.882016527791040067e-03 5.068011873981870252e-02 -3.315125598283080038e-02 -1.829446977677679984e-02 3.145390877661580209e-02 4.284005568610550069e-02 -1.394774321933030074e-02 1.991742173612169944e-02 1.022564240495780000e-02 2.791705090337660150e-02
159 -1.277963188084970010e-02 -4.464163650698899782e-02 -6.548561819925780014e-02 -6.993753018282070077e-02 1.182945896190920002e-03 1.684873335757430118e-02 -2.902829807069099918e-03 -7.020396503291909812e-03 -3.075120986455629965e-02 -5.078298047848289754e-02
160 -5.514554978810590376e-03 -4.464163650698899782e-02 4.337340126271319735e-02 8.728689817594480205e-02 1.356652162000110060e-02 7.141131042098750048e-03 -1.394774321933030074e-02 -2.592261998182820038e-03 4.234489544960749752e-02 -1.764612515980519894e-02
161 -9.147093429830140468e-03 -4.464163650698899782e-02 -6.225218197761509670e-02 -7.452802442965950069e-02 -2.358420555142939912e-02 -1.321351897422090062e-02 4.460445801105040325e-03 -3.949338287409189657e-02 -3.581672810154919867e-02 -4.664087356364819692e-02
162 -4.547247794002570037e-02 5.068011873981870252e-02 6.385183066645029604e-02 7.007254470726349826e-02 1.332744202834990066e-01 1.314610703725430096e-01 -3.971920784793980114e-02 1.081111006295440019e-01 7.573758845754760549e-02 8.590654771106250032e-02
163 -5.273755484206479882e-02 -4.464163650698899782e-02 3.043965637614240091e-02 -7.452802442965950069e-02 -2.358420555142939912e-02 -1.133462820348369975e-02 -2.902829807069099918e-03 -2.592261998182820038e-03 -3.075120986455629965e-02 -1.077697500466389974e-03
164 1.628067572730669890e-02 5.068011873981870252e-02 7.247432725749750060e-02 7.695828609473599757e-02 -8.448724111216979540e-03 5.575388733151089883e-03 -6.584467611156170040e-03 -2.592261998182820038e-03 -2.364455757213410059e-02 6.105390622205419948e-02
165 4.534098333546320025e-02 -4.464163650698899782e-02 -1.913969902237900103e-02 2.187235499495579841e-02 2.732605020201240090e-02 -1.352666743601040056e-02 1.001830287073690040e-01 -3.949338287409189657e-02 1.776347786711730131e-02 -1.350401824497050006e-02
166 -4.183993948900609910e-02 -4.464163650698899782e-02 -6.656343027313869898e-02 -4.698505887976939938e-02 -3.734373413344069942e-02 -4.327577130601600180e-02 4.864009945014990260e-02 -3.949338287409189657e-02 -5.615757309500619965e-02 -1.350401824497050006e-02
167 -5.637009329308430294e-02 5.068011873981870252e-02 -6.009655782985329903e-02 -3.665644679856060184e-02 -8.825398988688250290e-02 -7.083283594349480683e-02 -1.394774321933030074e-02 -3.949338287409189657e-02 -7.814091066906959926e-02 -1.046303703713340055e-01
168 7.076875249260000666e-02 -4.464163650698899782e-02 6.924089103585480409e-02 3.793908501382069892e-02 2.182223876920789951e-02 1.504458729887179960e-03 -3.603757004385269719e-02 3.910600459159439823e-02 7.763278919555950675e-02 1.066170822852360034e-01
169 1.750521923228520000e-03 5.068011873981870252e-02 5.954058237092670069e-02 -2.227739861197989939e-03 6.172487165704060308e-02 6.319470570242499696e-02 -5.812739686837520292e-02 1.081111006295440019e-01 6.898221163630259556e-02 1.273276168594099922e-01
170 -1.882016527791040067e-03 -4.464163650698899782e-02 -2.668438353954540043e-02 4.941532054484590319e-02 5.897296594063840269e-02 -1.603185513032660131e-02 -4.708248345611389801e-02 7.120997975363539678e-02 1.335989800130079896e-01 1.963283707370720027e-02
171 2.354575262934580082e-02 5.068011873981870252e-02 -2.021751109626000048e-02 -3.665644679856060184e-02 -1.395253554402150001e-02 -1.509240974495799914e-02 5.968501286241110343e-02 -3.949338287409189657e-02 -9.643322289178400675e-02 -1.764612515980519894e-02
172 -2.004470878288880029e-02 -4.464163650698899782e-02 -4.608500086940160029e-02 -9.862811928581330378e-02 -7.587041416307230279e-02 -5.987263978086120042e-02 -1.762938102341739949e-02 -3.949338287409189657e-02 -5.140053526058249722e-02 -4.664087356364819692e-02
173 4.170844488444359899e-02 5.068011873981870252e-02 7.139651518361660176e-02 8.100872220010799790e-03 3.833367306762140020e-02 1.590928797220559840e-02 -1.762938102341739949e-02 3.430885887772629900e-02 7.341007804911610368e-02 8.590654771106250032e-02
174 -6.363517019512339445e-02 5.068011873981870252e-02 -7.949717515970949888e-02 -5.670610554934250001e-03 -7.174255558846899528e-02 -6.644875747844139480e-02 -1.026610541524320026e-02 -3.949338287409189657e-02 -1.811826730789670159e-02 -5.492508739331759815e-02
175 1.628067572730669890e-02 5.068011873981870252e-02 9.961226972405269262e-03 -4.354218818603310115e-02 -9.650970703608929835e-02 -9.463211903949929338e-02 -3.971920784793980114e-02 -3.949338287409189657e-02 1.703713241477999851e-02 7.206516329203029904e-03
176 6.713621404158050254e-02 -4.464163650698899782e-02 -3.854031635223530150e-02 -2.632783471735180084e-02 -3.183992270063620150e-02 -2.636575436938120090e-02 8.142083605192099172e-03 -3.949338287409189657e-02 -2.712864555432650121e-02 3.064409414368320182e-03
177 4.534098333546320025e-02 5.068011873981870252e-02 1.966153563733339868e-02 3.908670846363720280e-02 2.044628591100669870e-02 2.593003874947069978e-02 8.142083605192099172e-03 -2.592261998182820038e-03 -3.303712578676999863e-03 1.963283707370720027e-02
178 4.897352178648269744e-02 -4.464163650698899782e-02 2.720622015449970094e-02 -2.518021116424929914e-02 2.319819162740899970e-02 1.841447566652189977e-02 -6.180903467246220279e-02 8.006624876385350087e-02 7.222365081991240221e-02 3.205915781821130212e-02
179 4.170844488444359899e-02 -4.464163650698899782e-02 -8.361578283570040432e-03 -2.632783471735180084e-02 2.457414448561009990e-02 1.622243643399520069e-02 7.072992627467229731e-02 -3.949338287409189657e-02 -4.836172480289190057e-02 -3.007244590430930078e-02
180 -2.367724723390840155e-02 -4.464163650698899782e-02 -1.590626280073640167e-02 -1.255635194240680048e-02 2.044628591100669870e-02 4.127431337715779802e-02 -4.340084565202689815e-02 3.430885887772629900e-02 1.407245251576850001e-02 -9.361911330135799444e-03
181 -3.820740103798660192e-02 5.068011873981870252e-02 4.572166603000769880e-03 3.564383776990089764e-02 -1.120062982761920074e-02 5.888537194940629722e-03 -4.708248345611389801e-02 3.430885887772629900e-02 1.630495279994180133e-02 -1.077697500466389974e-03
182 4.897352178648269744e-02 -4.464163650698899782e-02 -4.285156464775889684e-02 -5.387080026724189868e-02 4.521343735862710239e-02 5.004247030726469841e-02 3.391354823380159783e-02 -2.592261998182820038e-03 -2.595242443518940012e-02 -6.320930122298699938e-02
183 4.534098333546320025e-02 5.068011873981870252e-02 5.649978676881649634e-03 5.630106193231849965e-02 6.447677737344290061e-02 8.918602803095619647e-02 -3.971920784793980114e-02 7.120997975363539678e-02 1.556684454070180086e-02 -9.361911330135799444e-03
184 4.534098333546320025e-02 5.068011873981870252e-02 -3.530688013059259805e-02 6.318680331979099896e-02 -4.320865536613589623e-03 -1.627025888008149911e-03 -1.026610541524320026e-02 -2.592261998182820038e-03 1.556684454070180086e-02 5.691179930721949887e-02
185 1.628067572730669890e-02 -4.464163650698899782e-02 2.397278393285700096e-02 -2.288496402361559975e-02 -2.496015840963049931e-02 -2.605260590759169922e-02 -3.235593223976569732e-02 -2.592261998182820038e-03 3.723201120896890010e-02 3.205915781821130212e-02
186 -7.453278554818210111e-02 5.068011873981870252e-02 -1.806188694849819934e-02 8.100872220010799790e-03 -1.945634697682600139e-02 -2.480001206043359885e-02 -6.549067247654929980e-02 3.430885887772629900e-02 6.731721791468489591e-02 -1.764612515980519894e-02
187 -8.179786245022120650e-02 5.068011873981870252e-02 4.229558918883229851e-02 -1.944209332987930153e-02 3.970962592582259754e-02 5.755803339021339782e-02 -6.917231028063640375e-02 1.081111006295440019e-01 4.718616788601970313e-02 -3.835665973397880263e-02
188 -6.726770864614299572e-02 -4.464163650698899782e-02 -5.470749746044879791e-02 -2.632783471735180084e-02 -7.587041416307230279e-02 -8.210618056791800512e-02 4.864009945014990260e-02 -7.639450375000099436e-02 -8.682899321629239386e-02 -1.046303703713340055e-01
189 5.383060374248070309e-03 -4.464163650698899782e-02 -2.972517914165530208e-03 4.941532054484590319e-02 7.410844738085080319e-02 7.071026878537380045e-02 4.495846164606279866e-02 -2.592261998182820038e-03 -1.498586820292070049e-03 -9.361911330135799444e-03
190 -1.882016527791040067e-03 -4.464163650698899782e-02 -6.656343027313869898e-02 1.215130832538269907e-03 -2.944912678412469915e-03 3.070201038834840124e-03 1.182372140927919965e-02 -2.592261998182820038e-03 -2.028874775162960165e-02 -2.593033898947460017e-02
191 9.015598825267629943e-03 -4.464163650698899782e-02 -1.267282657909369996e-02 2.875809638242839833e-02 -1.808039411862490120e-02 -5.071658967693000106e-03 -4.708248345611389801e-02 3.430885887772629900e-02 2.337484127982079885e-02 -5.219804415301099697e-03
192 -5.514554978810590376e-03 5.068011873981870252e-02 -4.177375257387799801e-02 -4.354218818603310115e-02 -7.999827273767569358e-02 -7.615635979391689736e-02 -3.235593223976569732e-02 -3.949338287409189657e-02 1.022564240495780000e-02 -9.361911330135799444e-03
193 5.623859868852180283e-02 5.068011873981870252e-02 -3.099563183506899924e-02 8.100872220010799790e-03 1.907033305280559851e-02 2.123281182262769934e-02 3.391354823380159783e-02 -3.949338287409189657e-02 -2.952762274177360077e-02 -5.906719430815229877e-02
194 9.015598825267629943e-03 5.068011873981870252e-02 -5.128142061927360405e-03 -6.419941234845069622e-02 6.998058880624739853e-02 8.386250418053420308e-02 -3.971920784793980114e-02 7.120997975363539678e-02 3.953987807202419963e-02 1.963283707370720027e-02
195 -6.726770864614299572e-02 -4.464163650698899782e-02 -5.901874575597240019e-02 3.220096707616459941e-02 -5.110326271545199972e-02 -4.953874054180659736e-02 -1.026610541524320026e-02 -3.949338287409189657e-02 2.007840549823790115e-03 2.377494398854190089e-02
196 2.717829108036539862e-02 5.068011873981870252e-02 2.505059600673789980e-02 1.498661360748330083e-02 2.595009734381130070e-02 4.847672799831700269e-02 -3.971920784793980114e-02 3.430885887772629900e-02 7.837142301823850701e-03 2.377494398854190089e-02
197 -2.367724723390840155e-02 -4.464163650698899782e-02 -4.608500086940160029e-02 -3.321357610482440076e-02 3.282986163481690228e-02 3.626393798852529937e-02 3.759518603788870178e-02 -2.592261998182820038e-03 -3.324878724762579674e-02 1.134862324403770016e-02
198 4.897352178648269744e-02 5.068011873981870252e-02 3.494354529119849794e-03 7.007254470726349826e-02 -8.448724111216979540e-03 1.340410027788939938e-02 -5.444575906428809897e-02 3.430885887772629900e-02 1.331596790892770020e-02 3.620126473304600273e-02
199 -5.273755484206479882e-02 -4.464163650698899782e-02 5.415152200152219958e-02 -2.632783471735180084e-02 -5.523112129005539744e-02 -3.388131745233000092e-02 -1.394774321933030074e-02 -3.949338287409189657e-02 -7.408887149153539631e-02 -5.906719430815229877e-02
200 4.170844488444359899e-02 -4.464163650698899782e-02 -4.500718879552070145e-02 3.449621432008449784e-02 4.383748450042589812e-02 -1.571870666853709964e-02 3.759518603788870178e-02 -1.440062067847370023e-02 8.989869327767099905e-02 7.206516329203029904e-03
201 5.623859868852180283e-02 -4.464163650698899782e-02 -5.794093368209150136e-02 -7.965857695567990157e-03 5.209320164963270050e-02 4.910302492189610318e-02 5.600337505832399948e-02 -2.141183364489639834e-02 -2.832024254799870092e-02 4.448547856271539702e-02
202 -3.457486258696700065e-02 5.068011873981870252e-02 -5.578530953432969675e-02 -1.599922263614299983e-02 -9.824676969418109224e-03 -7.889995123798789270e-03 3.759518603788870178e-02 -3.949338287409189657e-02 -5.295879323920039961e-02 2.791705090337660150e-02
203 8.166636784565869944e-02 5.068011873981870252e-02 1.338730381358059929e-03 3.564383776990089764e-02 1.263946559924939983e-01 9.106491880169340081e-02 1.918699701745330000e-02 3.430885887772629900e-02 8.449528221240310000e-02 -3.007244590430930078e-02
204 -1.882016527791040067e-03 5.068011873981870252e-02 3.043965637614240091e-02 5.285819123858220142e-02 3.970962592582259754e-02 5.661858800484489973e-02 -3.971920784793980114e-02 7.120997975363539678e-02 2.539313491544940155e-02 2.791705090337660150e-02
205 1.107266754538149961e-01 5.068011873981870252e-02 6.727790750762559745e-03 2.875809638242839833e-02 -2.771206412603280031e-02 -7.263698200219739949e-03 -4.708248345611389801e-02 3.430885887772629900e-02 2.007840549823790115e-03 7.762233388139309909e-02
206 -3.094232413594750000e-02 -4.464163650698899782e-02 4.660683748435590079e-02 1.498661360748330083e-02 -1.670444126042380101e-02 -4.703355284749029946e-02 7.788079970179680352e-04 -2.592261998182820038e-03 6.345592137206540473e-02 -2.593033898947460017e-02
207 1.750521923228520000e-03 5.068011873981870252e-02 2.612840808061879863e-02 -9.113481248670509197e-03 2.457414448561009990e-02 3.845597722105199845e-02 -2.131101882750449997e-02 3.430885887772629900e-02 9.436409146079870192e-03 3.064409414368320182e-03
208 9.015598825267629943e-03 -4.464163650698899782e-02 4.552902541047500196e-02 2.875809638242839833e-02 1.219056876180000040e-02 -1.383981589779990050e-02 2.655027262562750096e-02 -3.949338287409189657e-02 4.613233103941480340e-02 3.620126473304600273e-02
209 3.081082953138499989e-02 -4.464163650698899782e-02 4.013996504107050084e-02 7.695828609473599757e-02 1.769438019460449832e-02 3.782968029747289795e-02 -2.867429443567860031e-02 3.430885887772629900e-02 -1.498586820292070049e-03 1.190434030297399942e-01
210 3.807590643342410180e-02 5.068011873981870252e-02 -1.806188694849819934e-02 6.662967401352719310e-02 -5.110326271545199972e-02 -1.665815205390569834e-02 -7.653558588881050062e-02 3.430885887772629900e-02 -1.190068480150809939e-02 -1.350401824497050006e-02
211 9.015598825267629943e-03 -4.464163650698899782e-02 1.427247526792889930e-02 1.498661360748330083e-02 5.484510736603499803e-02 4.722413415115889884e-02 7.072992627467229731e-02 -3.949338287409189657e-02 -3.324878724762579674e-02 -5.906719430815229877e-02
212 9.256398319871740610e-02 -4.464163650698899782e-02 3.690652881942779739e-02 2.187235499495579841e-02 -2.496015840963049931e-02 -1.665815205390569834e-02 7.788079970179680352e-04 -3.949338287409189657e-02 -2.251217192966049885e-02 -2.178823207463989955e-02
213 6.713621404158050254e-02 -4.464163650698899782e-02 3.494354529119849794e-03 3.564383776990089764e-02 4.934129593323050011e-02 3.125356259989280072e-02 7.072992627467229731e-02 -3.949338287409189657e-02 -6.092541861022970299e-04 1.963283707370720027e-02
214 1.750521923228520000e-03 -4.464163650698899782e-02 -7.087467856866229432e-02 -2.288496402361559975e-02 -1.568959820211340015e-03 -1.000728964429089965e-03 2.655027262562750096e-02 -3.949338287409189657e-02 -2.251217192966049885e-02 7.206516329203029904e-03
215 3.081082953138499989e-02 -4.464163650698899782e-02 -3.315125598283080038e-02 -2.288496402361559975e-02 -4.697540414084860200e-02 -8.116673518254939601e-02 1.038646665114559969e-01 -7.639450375000099436e-02 -3.980959436433750137e-02 -5.492508739331759815e-02
216 2.717829108036539862e-02 5.068011873981870252e-02 9.403056873511560221e-02 9.761551025715360652e-02 -3.459182841703849903e-02 -3.200242668159279658e-02 -4.340084565202689815e-02 -2.592261998182820038e-03 3.664579779339879884e-02 1.066170822852360034e-01
217 1.264813727628719998e-02 5.068011873981870252e-02 3.582871674554689856e-02 4.941532054484590319e-02 5.346915450783389784e-02 7.415490186505870052e-02 -6.917231028063640375e-02 1.450122215054540087e-01 4.560080841412490066e-02 4.862758547755009764e-02
218 7.440129094361959405e-02 -4.464163650698899782e-02 3.151746845002330322e-02 1.010583809508899950e-01 4.658939021682820258e-02 3.689023491210430272e-02 1.550535921336619952e-02 -2.592261998182820038e-03 3.365681290238470291e-02 4.448547856271539702e-02
219 -4.183993948900609910e-02 -4.464163650698899782e-02 -6.548561819925780014e-02 -4.009931749229690007e-02 -5.696818394814720174e-03 1.434354566325799982e-02 -4.340084565202689815e-02 3.430885887772629900e-02 7.026862549151949647e-03 -1.350401824497050006e-02
220 -8.906293935226029801e-02 -4.464163650698899782e-02 -4.177375257387799801e-02 -1.944209332987930153e-02 -6.623874415566440021e-02 -7.427746902317970690e-02 8.142083605192099172e-03 -3.949338287409189657e-02 1.143797379512540100e-03 -3.007244590430930078e-02
221 2.354575262934580082e-02 5.068011873981870252e-02 -3.961812842611620034e-02 -5.670610554934250001e-03 -4.835135699904979933e-02 -3.325502052875090042e-02 1.182372140927919965e-02 -3.949338287409189657e-02 -1.016435479455120028e-01 -6.735140813782170000e-02
222 -4.547247794002570037e-02 -4.464163650698899782e-02 -3.854031635223530150e-02 -2.632783471735180084e-02 -1.532848840222260020e-02 8.781618063081050515e-04 -3.235593223976569732e-02 -2.592261998182820038e-03 1.143797379512540100e-03 -3.835665973397880263e-02
223 -2.367724723390840155e-02 5.068011873981870252e-02 -2.560657146566450160e-02 4.252957915737339695e-02 -5.385516843185429725e-02 -4.765984977106939996e-02 -2.131101882750449997e-02 -3.949338287409189657e-02 1.143797379512540100e-03 1.963283707370720027e-02
224 -9.996055470531900466e-02 -4.464163650698899782e-02 -2.345094731790270046e-02 -6.419941234845069622e-02 -5.798302700645770191e-02 -6.018578824265070210e-02 1.182372140927919965e-02 -3.949338287409189657e-02 -1.811826730789670159e-02 -5.078298047848289754e-02
225 -2.730978568492789874e-02 -4.464163650698899782e-02 -6.656343027313869898e-02 -1.123996020607579971e-01 -4.972730985725089953e-02 -4.139688053527879746e-02 7.788079970179680352e-04 -3.949338287409189657e-02 -3.581672810154919867e-02 -9.361911330135799444e-03
226 3.081082953138499989e-02 5.068011873981870252e-02 3.259528052390420205e-02 4.941532054484590319e-02 -4.009563984984299695e-02 -4.358891976780549654e-02 -6.917231028063640375e-02 3.430885887772629900e-02 6.301661511474640487e-02 3.064409414368320182e-03
227 -1.035930931563389945e-01 5.068011873981870252e-02 -4.608500086940160029e-02 -2.632783471735180084e-02 -2.496015840963049931e-02 -2.480001206043359885e-02 3.023191042971450082e-02 -3.949338287409189657e-02 -3.980959436433750137e-02 -5.492508739331759815e-02
228 6.713621404158050254e-02 5.068011873981870252e-02 -2.991781976118810041e-02 5.744868538213489945e-02 -1.930069620102049918e-04 -1.571870666853709964e-02 7.441156407875940126e-02 -5.056371913686460301e-02 -3.845911230135379971e-02 7.206516329203029904e-03
229 -5.273755484206479882e-02 -4.464163650698899782e-02 -1.267282657909369996e-02 -6.075654165471439799e-02 -1.930069620102049918e-04 8.080576427467340075e-03 1.182372140927919965e-02 -2.592261998182820038e-03 -2.712864555432650121e-02 -5.078298047848289754e-02
230 -2.730978568492789874e-02 5.068011873981870252e-02 -1.590626280073640167e-02 -2.977070541108809906e-02 3.934851612593179802e-03 -6.875805026395569565e-04 4.127682384197570165e-02 -3.949338287409189657e-02 -2.364455757213410059e-02 1.134862324403770016e-02
231 -3.820740103798660192e-02 5.068011873981870252e-02 7.139651518361660176e-02 -5.731367096097819691e-02 1.539137131565160022e-01 1.558866503921270130e-01 7.788079970179680352e-04 7.194800217115350505e-02 5.027649338998960160e-02 6.933812005172369786e-02
232 9.015598825267629943e-03 -4.464163650698899782e-02 -3.099563183506899924e-02 2.187235499495579841e-02 8.062710187196569719e-03 8.706873351046409346e-03 4.460445801105040325e-03 -2.592261998182820038e-03 9.436409146079870192e-03 1.134862324403770016e-02
233 1.264813727628719998e-02 5.068011873981870252e-02 2.609183074771409820e-04 -1.140872838930430053e-02 3.970962592582259754e-02 5.724488492842390308e-02 -3.971920784793980114e-02 5.608052019451260223e-02 2.405258322689299982e-02 3.205915781821130212e-02
234 6.713621404158050254e-02 -4.464163650698899782e-02 3.690652881942779739e-02 -5.042792957350569760e-02 -2.358420555142939912e-02 -3.450761437590899733e-02 4.864009945014990260e-02 -3.949338287409189657e-02 -2.595242443518940012e-02 -3.835665973397880263e-02
235 4.534098333546320025e-02 -4.464163650698899782e-02 3.906215296718960200e-02 4.597244985110970211e-02 6.686757328995440036e-03 -2.417371513685449835e-02 8.142083605192099172e-03 -1.255556463467829946e-02 6.432823302367089713e-02 5.691179930721949887e-02
236 6.713621404158050254e-02 5.068011873981870252e-02 -1.482845072685549936e-02 5.859630917623830093e-02 -5.935897986465880211e-02 -3.450761437590899733e-02 -6.180903467246220279e-02 1.290620876969899959e-02 -5.145307980263110273e-03 4.862758547755009764e-02
237 2.717829108036539862e-02 -4.464163650698899782e-02 6.727790750762559745e-03 3.564383776990089764e-02 7.961225881365530110e-02 7.071026878537380045e-02 1.550535921336619952e-02 3.430885887772629900e-02 4.067226371449769728e-02 1.134862324403770016e-02
238 5.623859868852180283e-02 -4.464163650698899782e-02 -6.871905442090049665e-02 -6.878990659528949614e-02 -1.930069620102049918e-04 -1.000728964429089965e-03 4.495846164606279866e-02 -3.764832683029650101e-02 -4.836172480289190057e-02 -1.077697500466389974e-03
239 3.444336798240450054e-02 5.068011873981870252e-02 -9.439390357450949676e-03 5.974393262605470073e-02 -3.596778127523959923e-02 -7.576846662009279788e-03 -7.653558588881050062e-02 7.120997975363539678e-02 1.100810104587249955e-02 -2.178823207463989955e-02
240 2.354575262934580082e-02 -4.464163650698899782e-02 1.966153563733339868e-02 -1.255635194240680048e-02 8.374011738825870577e-02 3.876912568284150012e-02 6.336665066649820044e-02 -2.592261998182820038e-03 6.604820616309839409e-02 4.862758547755009764e-02
241 4.897352178648269744e-02 5.068011873981870252e-02 7.462995140525929827e-02 6.662967401352719310e-02 -9.824676969418109224e-03 -2.253322811587220049e-03 -4.340084565202689815e-02 3.430885887772629900e-02 3.365681290238470291e-02 1.963283707370720027e-02
242 3.081082953138499989e-02 5.068011873981870252e-02 -8.361578283570040432e-03 4.658001526274530187e-03 1.494247447820220079e-02 2.749578105841839898e-02 8.142083605192099172e-03 -8.127430129569179762e-03 -2.952762274177360077e-02 5.691179930721949887e-02
243 -1.035930931563389945e-01 5.068011873981870252e-02 -2.345094731790270046e-02 -2.288496402361559975e-02 -8.687803702868139577e-02 -6.770135132559949864e-02 -1.762938102341739949e-02 -3.949338287409189657e-02 -7.814091066906959926e-02 -7.149351505265640061e-02
244 1.628067572730669890e-02 5.068011873981870252e-02 -4.608500086940160029e-02 1.154374291374709975e-02 -3.321587555883730170e-02 -1.603185513032660131e-02 -1.026610541524320026e-02 -2.592261998182820038e-03 -4.398540256559110156e-02 -4.249876664881350324e-02
245 -6.000263174410389727e-02 5.068011873981870252e-02 5.415152200152219958e-02 -1.944209332987930153e-02 -4.972730985725089953e-02 -4.891244361822749687e-02 2.286863482154040048e-02 -3.949338287409189657e-02 -4.398540256559110156e-02 -5.219804415301099697e-03
246 -2.730978568492789874e-02 -4.464163650698899782e-02 -3.530688013059259805e-02 -2.977070541108809906e-02 -5.660707414825649764e-02 -5.862004593370299943e-02 3.023191042971450082e-02 -3.949338287409189657e-02 -4.986846773523059828e-02 -1.294830118603420011e-01
247 4.170844488444359899e-02 -4.464163650698899782e-02 -3.207344390894990155e-02 -6.190416520781699683e-02 7.961225881365530110e-02 5.098191569263330059e-02 5.600337505832399948e-02 -9.972486173364639508e-03 4.506616833626150148e-02 -5.906719430815229877e-02
248 -8.179786245022120650e-02 -4.464163650698899782e-02 -8.165279930747129655e-02 -4.009931749229690007e-02 2.558898754392050119e-03 -1.853704282464289921e-02 7.072992627467229731e-02 -3.949338287409189657e-02 -1.090443584737709956e-02 -9.220404962683000083e-02
249 -4.183993948900609910e-02 -4.464163650698899782e-02 4.768464955823679963e-02 5.974393262605470073e-02 1.277706088506949944e-01 1.280164372928579986e-01 -2.499265663159149983e-02 1.081111006295440019e-01 6.389312063683939835e-02 4.034337164788070335e-02
250 -1.277963188084970010e-02 -4.464163650698899782e-02 6.061839444480759953e-02 5.285819123858220142e-02 4.796534307502930278e-02 2.937467182915549924e-02 -1.762938102341739949e-02 3.430885887772629900e-02 7.021129819331020649e-02 7.206516329203029904e-03
251 6.713621404158050254e-02 -4.464163650698899782e-02 5.630714614928399725e-02 7.351541540099980343e-02 -1.395253554402150001e-02 -3.920484130275200124e-02 -3.235593223976569732e-02 -2.592261998182820038e-03 7.573758845754760549e-02 3.620126473304600273e-02
252 -5.273755484206479882e-02 5.068011873981870252e-02 9.834181703063900326e-02 8.728689817594480205e-02 6.034891879883950289e-02 4.878987646010649742e-02 -5.812739686837520292e-02 1.081111006295440019e-01 8.449528221240310000e-02 4.034337164788070335e-02
253 5.383060374248070309e-03 -4.464163650698899782e-02 5.954058237092670069e-02 -5.616604740787570216e-02 2.457414448561009990e-02 5.286080646337049799e-02 -4.340084565202689815e-02 5.091436327188540029e-02 -4.219859706946029777e-03 -3.007244590430930078e-02
254 8.166636784565869944e-02 -4.464163650698899782e-02 3.367309259778510089e-02 8.100872220010799790e-03 5.209320164963270050e-02 5.661858800484489973e-02 -1.762938102341739949e-02 3.430885887772629900e-02 3.486419309615960277e-02 6.933812005172369786e-02
255 3.081082953138499989e-02 5.068011873981870252e-02 5.630714614928399725e-02 7.695828609473599757e-02 4.934129593323050011e-02 -1.227407358885230018e-02 -3.603757004385269719e-02 7.120997975363539678e-02 1.200533820015380060e-01 9.004865462589720093e-02
256 1.750521923228520000e-03 -4.464163650698899782e-02 -6.548561819925780014e-02 -5.670610554934250001e-03 -7.072771253015849857e-03 -1.947648821001150138e-02 4.127682384197570165e-02 -3.949338287409189657e-02 -3.303712578676999863e-03 7.206516329203029904e-03
257 -4.910501639104519755e-02 -4.464163650698899782e-02 1.608549173157310108e-01 -4.698505887976939938e-02 -2.908801698423390050e-02 -1.978963667180099958e-02 -4.708248345611389801e-02 3.430885887772629900e-02 2.801650652326400162e-02 1.134862324403770016e-02
258 -2.730978568492789874e-02 5.068011873981870252e-02 -5.578530953432969675e-02 2.531522568869210010e-02 -7.072771253015849857e-03 -2.354741821327540133e-02 5.232173725423699961e-02 -3.949338287409189657e-02 -5.145307980263110273e-03 -5.078298047848289754e-02
259 7.803382939463919532e-02 5.068011873981870252e-02 -2.452875939178359929e-02 -4.239456463293059946e-02 6.686757328995440036e-03 5.286080646337049799e-02 -6.917231028063640375e-02 8.080427118137170628e-02 -3.712834601047360072e-02 5.691179930721949887e-02
260 1.264813727628719998e-02 -4.464163650698899782e-02 -3.638469220447349689e-02 4.252957915737339695e-02 -1.395253554402150001e-02 1.293437758520510003e-02 -2.683347553363510038e-02 5.156973385758089994e-03 -4.398540256559110156e-02 7.206516329203029904e-03
261 4.170844488444359899e-02 -4.464163650698899782e-02 -8.361578283570040432e-03 -5.731367096097819691e-02 8.062710187196569719e-03 -3.137612975801370302e-02 1.517259579645879874e-01 -7.639450375000099436e-02 -8.023654024890179703e-02 -1.764612515980519894e-02
262 4.897352178648269744e-02 -4.464163650698899782e-02 -4.177375257387799801e-02 1.045012516446259948e-01 3.558176735121919981e-02 -2.573945744580210040e-02 1.774974225931970073e-01 -7.639450375000099436e-02 -1.290794225416879923e-02 1.549073015887240078e-02
263 -1.641217033186929963e-02 5.068011873981870252e-02 1.274427430254229943e-01 9.761551025715360652e-02 1.631842733640340160e-02 1.747503028115330106e-02 -2.131101882750449997e-02 3.430885887772629900e-02 3.486419309615960277e-02 3.064409414368320182e-03
264 -7.453278554818210111e-02 5.068011873981870252e-02 -7.734155101194770121e-02 -4.698505887976939938e-02 -4.697540414084860200e-02 -3.262872360517189707e-02 4.460445801105040325e-03 -3.949338287409189657e-02 -7.212845460195599356e-02 -1.764612515980519894e-02
265 3.444336798240450054e-02 5.068011873981870252e-02 2.828403222838059977e-02 -3.321357610482440076e-02 -4.559945128264750180e-02 -9.768885894535990141e-03 -5.076412126020100196e-02 -2.592261998182820038e-03 -5.947269741072230137e-02 -2.178823207463989955e-02
266 -3.457486258696700065e-02 5.068011873981870252e-02 -2.560657146566450160e-02 -1.714684618924559867e-02 1.182945896190920002e-03 -2.879619735166290186e-03 8.142083605192099172e-03 -1.550765430475099967e-02 1.482271084126630077e-02 4.034337164788070335e-02
267 -5.273755484206479882e-02 5.068011873981870252e-02 -6.225218197761509670e-02 1.154374291374709975e-02 -8.448724111216979540e-03 -3.669965360843580049e-02 1.222728555318910032e-01 -7.639450375000099436e-02 -8.682899321629239386e-02 3.064409414368320182e-03
268 5.987113713954139715e-02 -4.464163650698899782e-02 -8.168937664037369826e-04 -8.485663651086830517e-02 7.548440023905199359e-02 7.947842571548069390e-02 4.460445801105040325e-03 3.430885887772629900e-02 2.337484127982079885e-02 2.791705090337660150e-02
269 6.350367559056099842e-02 5.068011873981870252e-02 8.864150836571099701e-02 7.007254470726349826e-02 2.044628591100669870e-02 3.751653183568340322e-02 -5.076412126020100196e-02 7.120997975363539678e-02 2.930041326858690010e-02 7.348022696655839847e-02
270 9.015598825267629943e-03 -4.464163650698899782e-02 -3.207344390894990155e-02 -2.632783471735180084e-02 4.246153164222479792e-02 -1.039518281811509931e-02 1.590892335727620011e-01 -7.639450375000099436e-02 -1.190068480150809939e-02 -3.835665973397880263e-02
271 5.383060374248070309e-03 5.068011873981870252e-02 3.043965637614240091e-02 8.384402748220859403e-02 -3.734373413344069942e-02 -4.734670130927989828e-02 1.550535921336619952e-02 -3.949338287409189657e-02 8.640282933063080789e-03 1.549073015887240078e-02
272 3.807590643342410180e-02 5.068011873981870252e-02 8.883414898524360018e-03 4.252957915737339695e-02 -4.284754556624519733e-02 -2.104223051895920057e-02 -3.971920784793980114e-02 -2.592261998182820038e-03 -1.811826730789670159e-02 7.206516329203029904e-03
273 1.264813727628719998e-02 -4.464163650698899782e-02 6.727790750762559745e-03 -5.616604740787570216e-02 -7.587041416307230279e-02 -6.644875747844139480e-02 -2.131101882750449997e-02 -3.764832683029650101e-02 -1.811826730789670159e-02 -9.220404962683000083e-02
274 7.440129094361959405e-02 5.068011873981870252e-02 -2.021751109626000048e-02 4.597244985110970211e-02 7.410844738085080319e-02 3.281930490884039930e-02 -3.603757004385269719e-02 7.120997975363539678e-02 1.063542767417259977e-01 3.620126473304600273e-02
275 1.628067572730669890e-02 -4.464163650698899782e-02 -2.452875939178359929e-02 3.564383776990089764e-02 -7.072771253015849857e-03 -3.192768196955810076e-03 -1.394774321933030074e-02 -2.592261998182820038e-03 1.556684454070180086e-02 1.549073015887240078e-02
276 -5.514554978810590376e-03 5.068011873981870252e-02 -1.159501450521270051e-02 1.154374291374709975e-02 -2.220825269322829892e-02 -1.540555820674759969e-02 -2.131101882750449997e-02 -2.592261998182820038e-03 1.100810104587249955e-02 6.933812005172369786e-02
277 1.264813727628719998e-02 -4.464163650698899782e-02 2.612840808061879863e-02 6.318680331979099896e-02 1.250187031342930022e-01 9.169121572527250130e-02 6.336665066649820044e-02 -2.592261998182820038e-03 5.757285620242599822e-02 -2.178823207463989955e-02
278 -3.457486258696700065e-02 -4.464163650698899782e-02 -5.901874575597240019e-02 1.215130832538269907e-03 -5.385516843185429725e-02 -7.803525056465400456e-02 6.704828847058519337e-02 -7.639450375000099436e-02 -2.139368094035999993e-02 1.549073015887240078e-02
279 6.713621404158050254e-02 5.068011873981870252e-02 -3.638469220447349689e-02 -8.485663651086830517e-02 -7.072771253015849857e-03 1.966706951368000014e-02 -5.444575906428809897e-02 3.430885887772629900e-02 1.143797379512540100e-03 3.205915781821130212e-02
280 3.807590643342410180e-02 5.068011873981870252e-02 -2.452875939178359929e-02 4.658001526274530187e-03 -2.633611126783170012e-02 -2.636575436938120090e-02 1.550535921336619952e-02 -3.949338287409189657e-02 -1.599826775813870117e-02 -2.593033898947460017e-02
281 9.015598825267629943e-03 5.068011873981870252e-02 1.858372356345249984e-02 3.908670846363720280e-02 1.769438019460449832e-02 1.058576412178359981e-02 1.918699701745330000e-02 -2.592261998182820038e-03 1.630495279994180133e-02 -1.764612515980519894e-02
282 -9.269547780327989928e-02 5.068011873981870252e-02 -9.027529589851850111e-02 -5.731367096097819691e-02 -2.496015840963049931e-02 -3.043668437264510085e-02 -6.584467611156170040e-03 -2.592261998182820038e-03 2.405258322689299982e-02 3.064409414368320182e-03
283 7.076875249260000666e-02 -4.464163650698899782e-02 -5.128142061927360405e-03 -5.670610554934250001e-03 8.786797596286209655e-02 1.029645603496960049e-01 1.182372140927919965e-02 3.430885887772629900e-02 -8.944018957797799166e-03 2.791705090337660150e-02
284 -1.641217033186929963e-02 -4.464163650698899782e-02 -5.255187331268700024e-02 -3.321357610482440076e-02 -4.422349842444640161e-02 -3.638650514664620167e-02 1.918699701745330000e-02 -3.949338287409189657e-02 -6.832974362442149896e-02 -3.007244590430930078e-02
285 4.170844488444359899e-02 5.068011873981870252e-02 -2.237313524402180162e-02 2.875809638242839833e-02 -6.623874415566440021e-02 -4.515466207675319921e-02 -6.180903467246220279e-02 -2.592261998182820038e-03 2.863770518940129874e-03 -5.492508739331759815e-02
286 1.264813727628719998e-02 -4.464163650698899782e-02 -2.021751109626000048e-02 -1.599922263614299983e-02 1.219056876180000040e-02 2.123281182262769934e-02 -7.653558588881050062e-02 1.081111006295440019e-01 5.988072306548120061e-02 -2.178823207463989955e-02
287 -3.820740103798660192e-02 -4.464163650698899782e-02 -5.470749746044879791e-02 -7.797089512339580586e-02 -3.321587555883730170e-02 -8.649025903297140327e-02 1.406810445523269948e-01 -7.639450375000099436e-02 -1.919704761394450121e-02 -5.219804415301099697e-03
288 4.534098333546320025e-02 -4.464163650698899782e-02 -6.205954135808240159e-03 -1.599922263614299983e-02 1.250187031342930022e-01 1.251981011367520047e-01 1.918699701745330000e-02 3.430885887772629900e-02 3.243322577960189995e-02 -5.219804415301099697e-03
289 7.076875249260000666e-02 5.068011873981870252e-02 -1.698407487461730050e-02 2.187235499495579841e-02 4.383748450042589812e-02 5.630543954305530091e-02 3.759518603788870178e-02 -2.592261998182820038e-03 -7.020931272868760620e-02 -1.764612515980519894e-02
290 -7.453278554818210111e-02 5.068011873981870252e-02 5.522933407540309841e-02 -4.009931749229690007e-02 5.346915450783389784e-02 5.317395492515999966e-02 -4.340084565202689815e-02 7.120997975363539678e-02 6.123790751970099866e-02 -3.421455281914410201e-02
291 5.987113713954139715e-02 5.068011873981870252e-02 7.678557555302109594e-02 2.531522568869210010e-02 1.182945896190920002e-03 1.684873335757430118e-02 -5.444575906428809897e-02 3.430885887772629900e-02 2.993564839653250001e-02 4.448547856271539702e-02
292 7.440129094361959405e-02 -4.464163650698899782e-02 1.858372356345249984e-02 6.318680331979099896e-02 6.172487165704060308e-02 4.284005568610550069e-02 8.142083605192099172e-03 -2.592261998182820038e-03 5.803912766389510147e-02 -5.906719430815229877e-02
293 9.015598825267629943e-03 -4.464163650698899782e-02 -2.237313524402180162e-02 -3.206595255172180192e-02 -4.972730985725089953e-02 -6.864079671096809387e-02 7.809320188284639419e-02 -7.085933561861459951e-02 -6.291294991625119570e-02 -3.835665973397880263e-02
294 -7.090024709716259699e-02 -4.464163650698899782e-02 9.295275666123460623e-02 1.269136646684959971e-02 2.044628591100669870e-02 4.252690722431590187e-02 7.788079970179680352e-04 3.598276718899090076e-04 -5.454415271109520208e-02 -1.077697500466389974e-03
295 2.354575262934580082e-02 5.068011873981870252e-02 -3.099563183506899924e-02 -5.670610554934250001e-03 -1.670444126042380101e-02 1.778817874294279927e-02 -3.235593223976569732e-02 -2.592261998182820038e-03 -7.408887149153539631e-02 -3.421455281914410201e-02
296 -5.273755484206479882e-02 5.068011873981870252e-02 3.906215296718960200e-02 -4.009931749229690007e-02 -5.696818394814720174e-03 -1.290037051243130006e-02 1.182372140927919965e-02 -3.949338287409189657e-02 1.630495279994180133e-02 3.064409414368320182e-03
297 6.713621404158050254e-02 -4.464163650698899782e-02 -6.117436990373419786e-02 -4.009931749229690007e-02 -2.633611126783170012e-02 -2.448686359864400003e-02 3.391354823380159783e-02 -3.949338287409189657e-02 -5.615757309500619965e-02 -5.906719430815229877e-02
298 1.750521923228520000e-03 -4.464163650698899782e-02 -8.361578283570040432e-03 -6.419941234845069622e-02 -3.871968699164179961e-02 -2.448686359864400003e-02 4.460445801105040325e-03 -3.949338287409189657e-02 -6.468302246445030435e-02 -5.492508739331759815e-02
299 2.354575262934580082e-02 5.068011873981870252e-02 -3.746250427835440266e-02 -4.698505887976939938e-02 -9.100589560328480043e-02 -7.553006287033779687e-02 -3.235593223976569732e-02 -3.949338287409189657e-02 -3.075120986455629965e-02 -1.350401824497050006e-02
300 3.807590643342410180e-02 5.068011873981870252e-02 -1.375063865297449991e-02 -1.599922263614299983e-02 -3.596778127523959923e-02 -2.198167590432769866e-02 -1.394774321933030074e-02 -2.592261998182820038e-03 -2.595242443518940012e-02 -1.077697500466389974e-03
301 1.628067572730669890e-02 -4.464163650698899782e-02 7.355213933137849658e-02 -4.124694104539940176e-02 -4.320865536613589623e-03 -1.352666743601040056e-02 -1.394774321933030074e-02 -1.116217163146459961e-03 4.289568789252869857e-02 4.448547856271539702e-02
302 -1.882016527791040067e-03 5.068011873981870252e-02 -2.452875939178359929e-02 5.285819123858220142e-02 2.732605020201240090e-02 3.000096875273459973e-02 3.023191042971450082e-02 -2.592261998182820038e-03 -2.139368094035999993e-02 3.620126473304600273e-02
303 1.264813727628719998e-02 -4.464163650698899782e-02 3.367309259778510089e-02 3.334859052598110329e-02 3.007795591841460128e-02 2.718263259662880016e-02 -2.902829807069099918e-03 8.847085473348980864e-03 3.119299070280229930e-02 2.791705090337660150e-02
304 7.440129094361959405e-02 -4.464163650698899782e-02 3.475090467166599972e-02 9.417263956341730136e-02 5.759701308243719842e-02 2.029336643725910064e-02 2.286863482154040048e-02 -2.592261998182820038e-03 7.380214692004880006e-02 -2.178823207463989955e-02
305 4.170844488444359899e-02 5.068011873981870252e-02 -3.854031635223530150e-02 5.285819123858220142e-02 7.686035309725310072e-02 1.164299442066459994e-01 -3.971920784793980114e-02 7.120997975363539678e-02 -2.251217192966049885e-02 -1.350401824497050006e-02
306 -9.147093429830140468e-03 5.068011873981870252e-02 -3.961812842611620034e-02 -4.009931749229690007e-02 -8.448724111216979540e-03 1.622243643399520069e-02 -6.549067247654929980e-02 7.120997975363539678e-02 1.776347786711730131e-02 -6.735140813782170000e-02
307 9.015598825267629943e-03 5.068011873981870252e-02 -1.894705840284650021e-03 2.187235499495579841e-02 -3.871968699164179961e-02 -2.480001206043359885e-02 -6.584467611156170040e-03 -3.949338287409189657e-02 -3.980959436433750137e-02 -1.350401824497050006e-02
308 6.713621404158050254e-02 5.068011873981870252e-02 -3.099563183506899924e-02 4.658001526274530187e-03 2.457414448561009990e-02 3.563764106494619888e-02 -2.867429443567860031e-02 3.430885887772629900e-02 2.337484127982079885e-02 8.176444079622779970e-02
309 1.750521923228520000e-03 -4.464163650698899782e-02 -4.608500086940160029e-02 -3.321357610482440076e-02 -7.311850844667000526e-02 -8.147988364433890462e-02 4.495846164606279866e-02 -6.938329078357829971e-02 -6.117659509433449883e-02 -7.977772888232589898e-02
310 -9.147093429830140468e-03 5.068011873981870252e-02 1.338730381358059929e-03 -2.227739861197989939e-03 7.961225881365530110e-02 7.008397186179469995e-02 3.391354823380159783e-02 -2.592261998182820038e-03 2.671425763351279944e-02 8.176444079622779970e-02
311 -5.514554978810590376e-03 -4.464163650698899782e-02 6.492964274033119487e-02 3.564383776990089764e-02 -1.568959820211340015e-03 1.496984258683710031e-02 -1.394774321933030074e-02 7.288388806489919797e-04 -1.811826730789670159e-02 3.205915781821130212e-02
312 9.619652164973699349e-02 -4.464163650698899782e-02 4.013996504107050084e-02 -5.731367096097819691e-02 4.521343735862710239e-02 6.068951800810880315e-02 -2.131101882750449997e-02 3.615391492152170150e-02 1.255315281338930007e-02 2.377494398854190089e-02
313 -7.453278554818210111e-02 -4.464163650698899782e-02 -2.345094731790270046e-02 -5.670610554934250001e-03 -2.083229983502719873e-02 -1.415296435958940044e-02 1.550535921336619952e-02 -3.949338287409189657e-02 -3.845911230135379971e-02 -3.007244590430930078e-02
314 5.987113713954139715e-02 5.068011873981870252e-02 5.307370992764130074e-02 5.285819123858220142e-02 3.282986163481690228e-02 1.966706951368000014e-02 -1.026610541524320026e-02 3.430885887772629900e-02 5.520503808961670089e-02 -1.077697500466389974e-03
315 -2.367724723390840155e-02 -4.464163650698899782e-02 4.013996504107050084e-02 -1.255635194240680048e-02 -9.824676969418109224e-03 -1.000728964429089965e-03 -2.902829807069099918e-03 -2.592261998182820038e-03 -1.190068480150809939e-02 -3.835665973397880263e-02
316 9.015598825267629943e-03 -4.464163650698899782e-02 -2.021751109626000048e-02 -5.387080026724189868e-02 3.145390877661580209e-02 2.060651489904859884e-02 5.600337505832399948e-02 -3.949338287409189657e-02 -1.090443584737709956e-02 -1.077697500466389974e-03
317 1.628067572730669890e-02 5.068011873981870252e-02 1.427247526792889930e-02 1.215130832538269907e-03 1.182945896190920002e-03 -2.135537898074869878e-02 -3.235593223976569732e-02 3.430885887772629900e-02 7.496833602773420036e-02 4.034337164788070335e-02
318 1.991321417832630017e-02 -4.464163650698899782e-02 -3.422906805671169922e-02 5.515343848250200270e-02 6.722868308984519814e-02 7.415490186505870052e-02 -6.584467611156170040e-03 3.283281404268990206e-02 2.472532334280450050e-02 6.933812005172369786e-02
319 8.893144474769780483e-02 -4.464163650698899782e-02 6.727790750762559745e-03 2.531522568869210010e-02 3.007795591841460128e-02 8.706873351046409346e-03 6.336665066649820044e-02 -3.949338287409189657e-02 9.436409146079870192e-03 3.205915781821130212e-02
320 1.991321417832630017e-02 -4.464163650698899782e-02 4.572166603000769880e-03 4.597244985110970211e-02 -1.808039411862490120e-02 -5.454911593043910295e-02 6.336665066649820044e-02 -3.949338287409189657e-02 2.866072031380889965e-02 6.105390622205419948e-02
321 -2.367724723390840155e-02 -4.464163650698899782e-02 3.043965637614240091e-02 -5.670610554934250001e-03 8.236416453005759863e-02 9.200436418706199604e-02 -1.762938102341739949e-02 7.120997975363539678e-02 3.304707235493409972e-02 3.064409414368320182e-03
322 9.619652164973699349e-02 -4.464163650698899782e-02 5.199589785376040191e-02 7.925353333865589600e-02 5.484510736603499803e-02 3.657708645031480105e-02 -7.653558588881050062e-02 1.413221094178629955e-01 9.864637430492799453e-02 6.105390622205419948e-02
323 2.354575262934580082e-02 5.068011873981870252e-02 6.169620651868849837e-02 6.203917986997459916e-02 2.457414448561009990e-02 -3.607335668485669999e-02 -9.126213710515880539e-02 1.553445353507079962e-01 1.333957338374689994e-01 8.176444079622779970e-02
324 7.076875249260000666e-02 5.068011873981870252e-02 -7.283766209689159811e-03 4.941532054484590319e-02 6.034891879883950289e-02 -4.445362044113949918e-03 -5.444575906428809897e-02 1.081111006295440019e-01 1.290194116001679991e-01 5.691179930721949887e-02
325 3.081082953138499989e-02 -4.464163650698899782e-02 5.649978676881649634e-03 1.154374291374709975e-02 7.823630595545419397e-02 7.791268340653299818e-02 -4.340084565202689815e-02 1.081111006295440019e-01 6.604820616309839409e-02 1.963283707370720027e-02
326 -1.882016527791040067e-03 -4.464163650698899782e-02 5.415152200152219958e-02 -6.649465948908450663e-02 7.273249452264969606e-02 5.661858800484489973e-02 -4.340084565202689815e-02 8.486339447772170419e-02 8.449528221240310000e-02 4.862758547755009764e-02
327 4.534098333546320025e-02 5.068011873981870252e-02 -8.361578283570040432e-03 -3.321357610482440076e-02 -7.072771253015849857e-03 1.191310268097639903e-03 -3.971920784793980114e-02 3.430885887772629900e-02 2.993564839653250001e-02 2.791705090337660150e-02
328 7.440129094361959405e-02 -4.464163650698899782e-02 1.145089981388529993e-01 2.875809638242839833e-02 2.457414448561009990e-02 2.499059336410210108e-02 1.918699701745330000e-02 -2.592261998182820038e-03 -6.092541861022970299e-04 -5.219804415301099697e-03
329 -3.820740103798660192e-02 -4.464163650698899782e-02 6.708526688809300642e-02 -6.075654165471439799e-02 -2.908801698423390050e-02 -2.323426975148589965e-02 -1.026610541524320026e-02 -2.592261998182820038e-03 -1.498586820292070049e-03 1.963283707370720027e-02
330 -1.277963188084970010e-02 5.068011873981870252e-02 -5.578530953432969675e-02 -2.227739861197989939e-03 -2.771206412603280031e-02 -2.918409052548700047e-02 1.918699701745330000e-02 -3.949338287409189657e-02 -1.705210460474350029e-02 4.448547856271539702e-02
331 9.015598825267629943e-03 5.068011873981870252e-02 3.043965637614240091e-02 4.252957915737339695e-02 -2.944912678412469915e-03 3.689023491210430272e-02 -6.549067247654929980e-02 7.120997975363539678e-02 -2.364455757213410059e-02 1.549073015887240078e-02
332 8.166636784565869944e-02 5.068011873981870252e-02 -2.560657146566450160e-02 -3.665644679856060184e-02 -7.036660273026780488e-02 -4.640725592391130305e-02 -3.971920784793980114e-02 -2.592261998182820038e-03 -4.118038518800790082e-02 -5.219804415301099697e-03
333 3.081082953138499989e-02 -4.464163650698899782e-02 1.048086894739250069e-01 7.695828609473599757e-02 -1.120062982761920074e-02 -1.133462820348369975e-02 -5.812739686837520292e-02 3.430885887772629900e-02 5.710418744784390155e-02 3.620126473304600273e-02
334 2.717829108036539862e-02 5.068011873981870252e-02 -6.205954135808240159e-03 2.875809638242839833e-02 -1.670444126042380101e-02 -1.627025888008149911e-03 -5.812739686837520292e-02 3.430885887772629900e-02 2.930041326858690010e-02 3.205915781821130212e-02
335 -6.000263174410389727e-02 5.068011873981870252e-02 -4.716281294328249912e-02 -2.288496402361559975e-02 -7.174255558846899528e-02 -5.768060054833450134e-02 -6.584467611156170040e-03 -3.949338287409189657e-02 -6.291294991625119570e-02 -5.492508739331759815e-02
336 5.383060374248070309e-03 -4.464163650698899782e-02 -4.824062501716339796e-02 -1.255635194240680048e-02 1.182945896190920002e-03 -6.637401276640669812e-03 6.336665066649820044e-02 -3.949338287409189657e-02 -5.140053526058249722e-02 -5.906719430815229877e-02
337 -2.004470878288880029e-02 -4.464163650698899782e-02 8.540807214406830050e-02 -3.665644679856060184e-02 9.199583453746550121e-02 8.949917649274570508e-02 -6.180903467246220279e-02 1.450122215054540087e-01 8.094791351127560153e-02 5.276969239238479825e-02
338 1.991321417832630017e-02 5.068011873981870252e-02 -1.267282657909369996e-02 7.007254470726349826e-02 -1.120062982761920074e-02 7.141131042098750048e-03 -3.971920784793980114e-02 3.430885887772629900e-02 5.384369968545729690e-03 3.064409414368320182e-03
339 -6.363517019512339445e-02 -4.464163650698899782e-02 -3.315125598283080038e-02 -3.321357610482440076e-02 1.182945896190920002e-03 2.405114797873349891e-02 -2.499265663159149983e-02 -2.592261998182820038e-03 -2.251217192966049885e-02 -5.906719430815229877e-02
340 2.717829108036539862e-02 -4.464163650698899782e-02 -7.283766209689159811e-03 -5.042792957350569760e-02 7.548440023905199359e-02 5.661858800484489973e-02 3.391354823380159783e-02 -2.592261998182820038e-03 4.344317225278129802e-02 1.549073015887240078e-02
341 -1.641217033186929963e-02 -4.464163650698899782e-02 -1.375063865297449991e-02 1.320442171945160059e-01 -9.824676969418109224e-03 -3.819065120534880214e-03 1.918699701745330000e-02 -3.949338287409189657e-02 -3.581672810154919867e-02 -3.007244590430930078e-02
342 3.081082953138499989e-02 5.068011873981870252e-02 5.954058237092670069e-02 5.630106193231849965e-02 -2.220825269322829892e-02 1.191310268097639903e-03 -3.235593223976569732e-02 -2.592261998182820038e-03 -2.479118743246069845e-02 -1.764612515980519894e-02
343 5.623859868852180283e-02 5.068011873981870252e-02 2.181715978509519982e-02 5.630106193231849965e-02 -7.072771253015849857e-03 1.810132720473240156e-02 -3.235593223976569732e-02 -2.592261998182820038e-03 -2.364455757213410059e-02 2.377494398854190089e-02
344 -2.004470878288880029e-02 -4.464163650698899782e-02 1.858372356345249984e-02 9.072976886968099619e-02 3.934851612593179802e-03 8.706873351046409346e-03 3.759518603788870178e-02 -3.949338287409189657e-02 -5.780006567561250114e-02 7.206516329203029904e-03
345 -1.072256316073579990e-01 -4.464163650698899782e-02 -1.159501450521270051e-02 -4.009931749229690007e-02 4.934129593323050011e-02 6.444729954958319795e-02 -1.394774321933030074e-02 3.430885887772629900e-02 7.026862549151949647e-03 -3.007244590430930078e-02
346 8.166636784565869944e-02 5.068011873981870252e-02 -2.972517914165530208e-03 -3.321357610482440076e-02 4.246153164222479792e-02 5.787118185200299664e-02 -1.026610541524320026e-02 3.430885887772629900e-02 -6.092541861022970299e-04 -1.077697500466389974e-03
347 5.383060374248070309e-03 5.068011873981870252e-02 1.750591148957160101e-02 3.220096707616459941e-02 1.277706088506949944e-01 1.273901403692790091e-01 -2.131101882750449997e-02 7.120997975363539678e-02 6.257518145805600340e-02 1.549073015887240078e-02
348 3.807590643342410180e-02 5.068011873981870252e-02 -2.991781976118810041e-02 -7.452802442965950069e-02 -1.257658268582039982e-02 -1.258722205064180012e-02 4.460445801105040325e-03 -2.592261998182820038e-03 3.711738233435969789e-03 -3.007244590430930078e-02
349 3.081082953138499989e-02 -4.464163650698899782e-02 -2.021751109626000048e-02 -5.670610554934250001e-03 -4.320865536613589623e-03 -2.949723898727649868e-02 7.809320188284639419e-02 -3.949338287409189657e-02 -1.090443584737709956e-02 -1.077697500466389974e-03
350 1.750521923228520000e-03 5.068011873981870252e-02 -5.794093368209150136e-02 -4.354218818603310115e-02 -9.650970703608929835e-02 -4.703355284749029946e-02 -9.862541271333299941e-02 3.430885887772629900e-02 -6.117659509433449883e-02 -7.149351505265640061e-02
351 -2.730978568492789874e-02 5.068011873981870252e-02 6.061839444480759953e-02 1.079441223383619947e-01 1.219056876180000040e-02 -1.759759743927430051e-02 -2.902829807069099918e-03 -2.592261998182820038e-03 7.021129819331020649e-02 1.356118306890790048e-01
352 -8.543040090124079389e-02 5.068011873981870252e-02 -4.069594049999709917e-02 -3.321357610482440076e-02 -8.137422559587689785e-02 -6.958024209633670298e-02 -6.584467611156170040e-03 -3.949338287409189657e-02 -5.780006567561250114e-02 -4.249876664881350324e-02
353 1.264813727628719998e-02 5.068011873981870252e-02 -7.195249064254319316e-02 -4.698505887976939938e-02 -5.110326271545199972e-02 -9.713730673381550107e-02 1.185912177278039964e-01 -7.639450375000099436e-02 -2.028874775162960165e-02 -3.835665973397880263e-02
354 -5.273755484206479882e-02 -4.464163650698899782e-02 -5.578530953432969675e-02 -3.665644679856060184e-02 8.924392882106320368e-02 -3.192768196955810076e-03 8.142083605192099172e-03 3.430885887772629900e-02 1.323726493386760128e-01 3.064409414368320182e-03
355 -2.367724723390840155e-02 5.068011873981870252e-02 4.552902541047500196e-02 2.187235499495579841e-02 1.098832216940800049e-01 8.887287956916670173e-02 7.788079970179680352e-04 3.430885887772629900e-02 7.419253669003070262e-02 6.105390622205419948e-02
356 -7.453278554818210111e-02 5.068011873981870252e-02 -9.439390357450949676e-03 1.498661360748330083e-02 -3.734373413344069942e-02 -2.166852744253820046e-02 -1.394774321933030074e-02 -2.592261998182820038e-03 -3.324878724762579674e-02 1.134862324403770016e-02
357 -5.514554978810590376e-03 5.068011873981870252e-02 -3.315125598283080038e-02 -1.599922263614299983e-02 8.062710187196569719e-03 1.622243643399520069e-02 1.550535921336619952e-02 -2.592261998182820038e-03 -2.832024254799870092e-02 -7.563562196749110123e-02
358 -6.000263174410389727e-02 5.068011873981870252e-02 4.984027370599859730e-02 1.842948430121960079e-02 -1.670444126042380101e-02 -3.012353591085559917e-02 -1.762938102341739949e-02 -2.592261998182820038e-03 4.976865992074899769e-02 -5.906719430815229877e-02
359 -2.004470878288880029e-02 -4.464163650698899782e-02 -8.488623552911400694e-02 -2.632783471735180084e-02 -3.596778127523959923e-02 -3.419446591411950259e-02 4.127682384197570165e-02 -5.167075276314189725e-02 -8.238148325810279449e-02 -4.664087356364819692e-02
360 3.807590643342410180e-02 5.068011873981870252e-02 5.649978676881649634e-03 3.220096707616459941e-02 6.686757328995440036e-03 1.747503028115330106e-02 -2.499265663159149983e-02 3.430885887772629900e-02 1.482271084126630077e-02 6.105390622205419948e-02
361 1.628067572730669890e-02 -4.464163650698899782e-02 2.073934771121430098e-02 2.187235499495579841e-02 -1.395253554402150001e-02 -1.321351897422090062e-02 -6.584467611156170040e-03 -2.592261998182820038e-03 1.331596790892770020e-02 4.034337164788070335e-02
362 4.170844488444359899e-02 -4.464163650698899782e-02 -7.283766209689159811e-03 2.875809638242839833e-02 -4.284754556624519733e-02 -4.828614669464850045e-02 5.232173725423699961e-02 -7.639450375000099436e-02 -7.212845460195599356e-02 2.377494398854190089e-02
363 1.991321417832630017e-02 5.068011873981870252e-02 1.048086894739250069e-01 7.007254470726349826e-02 -3.596778127523959923e-02 -2.667890283117069911e-02 -2.499265663159149983e-02 -2.592261998182820038e-03 3.711738233435969789e-03 4.034337164788070335e-02
364 -4.910501639104519755e-02 5.068011873981870252e-02 -2.452875939178359929e-02 6.750727943574620551e-05 -4.697540414084860200e-02 -2.824464514011839830e-02 -6.549067247654929980e-02 2.840467953758080144e-02 1.919903307856710151e-02 1.134862324403770016e-02
365 1.750521923228520000e-03 5.068011873981870252e-02 -6.205954135808240159e-03 -1.944209332987930153e-02 -9.824676969418109224e-03 4.949091809572019746e-03 -3.971920784793980114e-02 3.430885887772629900e-02 1.482271084126630077e-02 9.833286845556660216e-02
366 3.444336798240450054e-02 -4.464163650698899782e-02 -3.854031635223530150e-02 -1.255635194240680048e-02 9.438663045397699403e-03 5.262240271361550044e-03 -6.584467611156170040e-03 -2.592261998182820038e-03 3.119299070280229930e-02 9.833286845556660216e-02
367 -4.547247794002570037e-02 5.068011873981870252e-02 1.371430516903520136e-01 -1.599922263614299983e-02 4.108557878402369773e-02 3.187985952347179713e-02 -4.340084565202689815e-02 7.120997975363539678e-02 7.102157794598219775e-02 4.862758547755009764e-02
368 -9.147093429830140468e-03 5.068011873981870252e-02 1.705552259806600024e-01 1.498661360748330083e-02 3.007795591841460128e-02 3.375875029420900147e-02 -2.131101882750449997e-02 3.430885887772629900e-02 3.365681290238470291e-02 3.205915781821130212e-02
369 -1.641217033186929963e-02 5.068011873981870252e-02 2.416542455238970041e-03 1.498661360748330083e-02 2.182223876920789951e-02 -1.008203435632550049e-02 -2.499265663159149983e-02 3.430885887772629900e-02 8.553312118743899850e-02 8.176444079622779970e-02
370 -9.147093429830140468e-03 -4.464163650698899782e-02 3.798434089330870317e-02 -4.009931749229690007e-02 -2.496015840963049931e-02 -3.819065120534880214e-03 -4.340084565202689815e-02 1.585829843977170153e-02 -5.145307980263110273e-03 2.791705090337660150e-02
371 1.991321417832630017e-02 -4.464163650698899782e-02 -5.794093368209150136e-02 -5.731367096097819691e-02 -1.568959820211340015e-03 -1.258722205064180012e-02 7.441156407875940126e-02 -3.949338287409189657e-02 -6.117659509433449883e-02 -7.563562196749110123e-02
372 5.260606023750229870e-02 5.068011873981870252e-02 -9.439390357450949676e-03 4.941532054484590319e-02 5.071724879143160031e-02 -1.916333974822199970e-02 -1.394774321933030074e-02 3.430885887772629900e-02 1.193439942037869961e-01 -1.764612515980519894e-02
373 -2.730978568492789874e-02 5.068011873981870252e-02 -2.345094731790270046e-02 -1.599922263614299983e-02 1.356652162000110060e-02 1.277780335431030062e-02 2.655027262562750096e-02 -2.592261998182820038e-03 -1.090443584737709956e-02 -2.178823207463989955e-02
374 -7.453278554818210111e-02 -4.464163650698899782e-02 -1.051720243133190055e-02 -5.670610554934250001e-03 -6.623874415566440021e-02 -5.705430362475540085e-02 -2.902829807069099918e-03 -3.949338287409189657e-02 -4.257210492279420166e-02 -1.077697500466389974e-03
375 -1.072256316073579990e-01 -4.464163650698899782e-02 -3.422906805671169922e-02 -6.764228304218700139e-02 -6.348683843926219983e-02 -7.051968748170529822e-02 8.142083605192099172e-03 -3.949338287409189657e-02 -6.092541861022970299e-04 -7.977772888232589898e-02
376 4.534098333546320025e-02 5.068011873981870252e-02 -2.972517914165530208e-03 1.079441223383619947e-01 3.558176735121919981e-02 2.248540566978590033e-02 2.655027262562750096e-02 -2.592261998182820038e-03 2.801650652326400162e-02 1.963283707370720027e-02
377 -1.882016527791040067e-03 -4.464163650698899782e-02 6.816307896197400240e-02 -5.670610554934250001e-03 1.195148917014880047e-01 1.302084765253850029e-01 -2.499265663159149983e-02 8.670845052151719690e-02 4.613233103941480340e-02 -1.077697500466389974e-03
378 1.991321417832630017e-02 5.068011873981870252e-02 9.961226972405269262e-03 1.842948430121960079e-02 1.494247447820220079e-02 4.471894645684260094e-02 -6.180903467246220279e-02 7.120997975363539678e-02 9.436409146079870192e-03 -6.320930122298699938e-02
379 1.628067572730669890e-02 5.068011873981870252e-02 2.416542455238970041e-03 -5.670610554934250001e-03 -5.696818394814720174e-03 1.089891258357309975e-02 -5.076412126020100196e-02 3.430885887772629900e-02 2.269202256674450122e-02 -3.835665973397880263e-02
380 -1.882016527791040067e-03 -4.464163650698899782e-02 -3.854031635223530150e-02 2.187235499495579841e-02 -1.088932827598989989e-01 -1.156130659793979942e-01 2.286863482154040048e-02 -7.639450375000099436e-02 -4.687948284421659950e-02 2.377494398854190089e-02
381 1.628067572730669890e-02 -4.464163650698899782e-02 2.612840808061879863e-02 5.859630917623830093e-02 -6.073493272285990230e-02 -4.421521669138449989e-02 -1.394774321933030074e-02 -3.395821474270550172e-02 -5.140053526058249722e-02 -2.593033898947460017e-02
382 -7.090024709716259699e-02 5.068011873981870252e-02 -8.919748382463760228e-02 -7.452802442965950069e-02 -4.284754556624519733e-02 -2.573945744580210040e-02 -3.235593223976569732e-02 -2.592261998182820038e-03 -1.290794225416879923e-02 -5.492508739331759815e-02
383 4.897352178648269744e-02 -4.464163650698899782e-02 6.061839444480759953e-02 -2.288496402361559975e-02 -2.358420555142939912e-02 -7.271172671423199729e-02 -4.340084565202689815e-02 -2.592261998182820038e-03 1.041376113589790042e-01 3.620126473304600273e-02
384 5.383060374248070309e-03 5.068011873981870252e-02 -2.884000768730720157e-02 -9.113481248670509197e-03 -3.183992270063620150e-02 -2.887094206369749880e-02 8.142083605192099172e-03 -3.949338287409189657e-02 -1.811826730789670159e-02 7.206516329203029904e-03
385 3.444336798240450054e-02 5.068011873981870252e-02 -2.991781976118810041e-02 4.658001526274530187e-03 9.337178739566659447e-02 8.699398879842949739e-02 3.391354823380159783e-02 -2.592261998182820038e-03 2.405258322689299982e-02 -3.835665973397880263e-02
386 2.354575262934580082e-02 5.068011873981870252e-02 -1.913969902237900103e-02 4.941532054484590319e-02 -6.348683843926219983e-02 -6.112523362801929733e-02 4.460445801105040325e-03 -3.949338287409189657e-02 -2.595242443518940012e-02 -1.350401824497050006e-02
387 1.991321417832630017e-02 -4.464163650698899782e-02 -4.069594049999709917e-02 -1.599922263614299983e-02 -8.448724111216979540e-03 -1.759759743927430051e-02 5.232173725423699961e-02 -3.949338287409189657e-02 -3.075120986455629965e-02 3.064409414368320182e-03
388 -4.547247794002570037e-02 -4.464163650698899782e-02 1.535028734180979987e-02 -7.452802442965950069e-02 -4.972730985725089953e-02 -1.728444897748479883e-02 -2.867429443567860031e-02 -2.592261998182820038e-03 -1.043648208321659998e-01 -7.563562196749110123e-02
389 5.260606023750229870e-02 5.068011873981870252e-02 -2.452875939178359929e-02 5.630106193231849965e-02 -7.072771253015849857e-03 -5.071658967693000106e-03 -2.131101882750449997e-02 -2.592261998182820038e-03 2.671425763351279944e-02 -3.835665973397880263e-02
390 -5.514554978810590376e-03 5.068011873981870252e-02 1.338730381358059929e-03 -8.485663651086830517e-02 -1.120062982761920074e-02 -1.665815205390569834e-02 4.864009945014990260e-02 -3.949338287409189657e-02 -4.118038518800790082e-02 -8.806194271199530021e-02
391 9.015598825267629943e-03 5.068011873981870252e-02 6.924089103585480409e-02 5.974393262605470073e-02 1.769438019460449832e-02 -2.323426975148589965e-02 -4.708248345611389801e-02 3.430885887772629900e-02 1.032922649115240038e-01 7.348022696655839847e-02
392 -2.367724723390840155e-02 -4.464163650698899782e-02 -6.979686649478139548e-02 -6.419941234845069622e-02 -5.935897986465880211e-02 -5.047818592717519953e-02 1.918699701745330000e-02 -3.949338287409189657e-02 -8.913686007934769340e-02 -5.078298047848289754e-02
393 -4.183993948900609910e-02 5.068011873981870252e-02 -2.991781976118810041e-02 -2.227739861197989939e-03 2.182223876920789951e-02 3.657708645031480105e-02 1.182372140927919965e-02 -2.592261998182820038e-03 -4.118038518800790082e-02 6.519601313688899724e-02
394 -7.453278554818210111e-02 -4.464163650698899782e-02 -4.608500086940160029e-02 -4.354218818603310115e-02 -2.908801698423390050e-02 -2.323426975148589965e-02 1.550535921336619952e-02 -3.949338287409189657e-02 -3.980959436433750137e-02 -2.178823207463989955e-02
395 3.444336798240450054e-02 -4.464163650698899782e-02 1.858372356345249984e-02 5.630106193231849965e-02 1.219056876180000040e-02 -5.454911593043910295e-02 -6.917231028063640375e-02 7.120997975363539678e-02 1.300806095217529879e-01 7.206516329203029904e-03
396 -6.000263174410389727e-02 -4.464163650698899782e-02 1.338730381358059929e-03 -2.977070541108809906e-02 -7.072771253015849857e-03 -2.166852744253820046e-02 1.182372140927919965e-02 -2.592261998182820038e-03 3.181521750079859684e-02 -5.492508739331759815e-02
397 -8.543040090124079389e-02 5.068011873981870252e-02 -3.099563183506899924e-02 -2.288496402361559975e-02 -6.348683843926219983e-02 -5.423596746864960128e-02 1.918699701745330000e-02 -3.949338287409189657e-02 -9.643322289178400675e-02 -3.421455281914410201e-02
398 5.260606023750229870e-02 -4.464163650698899782e-02 -4.050329988046450294e-03 -3.091832896419060075e-02 -4.697540414084860200e-02 -5.830689747191349775e-02 -1.394774321933030074e-02 -2.583996815000549896e-02 3.605579008983190309e-02 2.377494398854190089e-02
399 1.264813727628719998e-02 -4.464163650698899782e-02 1.535028734180979987e-02 -3.321357610482440076e-02 4.108557878402369773e-02 3.219300798526129881e-02 -2.902829807069099918e-03 -2.592261998182820038e-03 4.506616833626150148e-02 -6.735140813782170000e-02
400 5.987113713954139715e-02 5.068011873981870252e-02 2.289497185897609866e-02 4.941532054484590319e-02 1.631842733640340160e-02 1.183835796894170019e-02 -1.394774321933030074e-02 -2.592261998182820038e-03 3.953987807202419963e-02 1.963283707370720027e-02
401 -2.367724723390840155e-02 -4.464163650698899782e-02 4.552902541047500196e-02 9.072976886968099619e-02 -1.808039411862490120e-02 -3.544705976127759950e-02 7.072992627467229731e-02 -3.949338287409189657e-02 -3.452371533034950118e-02 -9.361911330135799444e-03
402 1.628067572730669890e-02 -4.464163650698899782e-02 -4.500718879552070145e-02 -5.731367096097819691e-02 -3.459182841703849903e-02 -5.392281900686000246e-02 7.441156407875940126e-02 -7.639450375000099436e-02 -4.257210492279420166e-02 4.034337164788070335e-02
403 1.107266754538149961e-01 5.068011873981870252e-02 -3.315125598283080038e-02 -2.288496402361559975e-02 -4.320865536613589623e-03 2.029336643725910064e-02 -6.180903467246220279e-02 7.120997975363539678e-02 1.556684454070180086e-02 4.448547856271539702e-02
404 -2.004470878288880029e-02 -4.464163650698899782e-02 9.726400495675820157e-02 -5.670610554934250001e-03 -5.696818394814720174e-03 -2.386056667506489953e-02 -2.131101882750449997e-02 -2.592261998182820038e-03 6.168584882386619894e-02 4.034337164788070335e-02
405 -1.641217033186929963e-02 -4.464163650698899782e-02 5.415152200152219958e-02 7.007254470726349826e-02 -3.321587555883730170e-02 -2.793149667832890010e-02 8.142083605192099172e-03 -3.949338287409189657e-02 -2.712864555432650121e-02 -9.361911330135799444e-03
406 4.897352178648269744e-02 5.068011873981870252e-02 1.231314947298999957e-01 8.384402748220859403e-02 -1.047654241852959967e-01 -1.008950882752900069e-01 -6.917231028063640375e-02 -2.592261998182820038e-03 3.664579779339879884e-02 -3.007244590430930078e-02
407 -5.637009329308430294e-02 -4.464163650698899782e-02 -8.057498723359039772e-02 -8.485663651086830517e-02 -3.734373413344069942e-02 -3.701280207022530216e-02 3.391354823380159783e-02 -3.949338287409189657e-02 -5.615757309500619965e-02 -1.377672256900120129e-01
408 2.717829108036539862e-02 -4.464163650698899782e-02 9.295275666123460623e-02 -5.272317671413939699e-02 8.062710187196569719e-03 3.970857106821010230e-02 -2.867429443567860031e-02 2.102445536239900062e-02 -4.836172480289190057e-02 1.963283707370720027e-02
409 6.350367559056099842e-02 -4.464163650698899782e-02 -5.039624916492520257e-02 1.079441223383619947e-01 3.145390877661580209e-02 1.935392105189049847e-02 -1.762938102341739949e-02 2.360753382371260159e-02 5.803912766389510147e-02 4.034337164788070335e-02
410 -5.273755484206479882e-02 5.068011873981870252e-02 -1.159501450521270051e-02 5.630106193231849965e-02 5.622106022423609822e-02 7.290230801790049953e-02 -3.971920784793980114e-02 7.120997975363539678e-02 3.056648739841480097e-02 -5.219804415301099697e-03
411 -9.147093429830140468e-03 5.068011873981870252e-02 -2.776219561342629927e-02 8.100872220010799790e-03 4.796534307502930278e-02 3.720338337389379746e-02 -2.867429443567860031e-02 3.430885887772629900e-02 6.604820616309839409e-02 -4.249876664881350324e-02
412 5.383060374248070309e-03 -4.464163650698899782e-02 5.846277029704580186e-02 -4.354218818603310115e-02 -7.311850844667000526e-02 -7.239857825244250256e-02 1.918699701745330000e-02 -7.639450375000099436e-02 -5.140053526058249722e-02 -2.593033898947460017e-02
413 7.440129094361959405e-02 -4.464163650698899782e-02 8.540807214406830050e-02 6.318680331979099896e-02 1.494247447820220079e-02 1.309095181609989944e-02 1.550535921336619952e-02 -2.592261998182820038e-03 6.209315616505399656e-03 8.590654771106250032e-02
414 -5.273755484206479882e-02 -4.464163650698899782e-02 -8.168937664037369826e-04 -2.632783471735180084e-02 1.081461590359879960e-02 7.141131042098750048e-03 4.864009945014990260e-02 -3.949338287409189657e-02 -3.581672810154919867e-02 1.963283707370720027e-02
415 8.166636784565869944e-02 5.068011873981870252e-02 6.727790750762559745e-03 -4.522987001831730094e-03 1.098832216940800049e-01 1.170562411302250028e-01 -3.235593223976569732e-02 9.187460744414439884e-02 5.472400334817909689e-02 7.206516329203029904e-03
416 -5.514554978810590376e-03 -4.464163650698899782e-02 8.883414898524360018e-03 -5.042792957350569760e-02 2.595009734381130070e-02 4.722413415115889884e-02 -4.340084565202689815e-02 7.120997975363539678e-02 1.482271084126630077e-02 3.064409414368320182e-03
417 -2.730978568492789874e-02 -4.464163650698899782e-02 8.001901177466380632e-02 9.876313370696999938e-02 -2.944912678412469915e-03 1.810132720473240156e-02 -1.762938102341739949e-02 3.311917341962639788e-03 -2.952762274177360077e-02 3.620126473304600273e-02
418 -5.273755484206479882e-02 -4.464163650698899782e-02 7.139651518361660176e-02 -7.452802442965950069e-02 -1.532848840222260020e-02 -1.313877426218630021e-03 4.460445801105040325e-03 -2.141183364489639834e-02 -4.687948284421659950e-02 3.064409414368320182e-03
419 9.015598825267629943e-03 -4.464163650698899782e-02 -2.452875939178359929e-02 -2.632783471735180084e-02 9.887559882847110626e-02 9.419640341958869512e-02 7.072992627467229731e-02 -2.592261998182820038e-03 -2.139368094035999993e-02 7.206516329203029904e-03
420 -2.004470878288880029e-02 -4.464163650698899782e-02 -5.470749746044879791e-02 -5.387080026724189868e-02 -6.623874415566440021e-02 -5.736745208654490252e-02 1.182372140927919965e-02 -3.949338287409189657e-02 -7.408887149153539631e-02 -5.219804415301099697e-03
421 2.354575262934580082e-02 -4.464163650698899782e-02 -3.638469220447349689e-02 6.750727943574620551e-05 1.182945896190920002e-03 3.469819567957759671e-02 -4.340084565202689815e-02 3.430885887772629900e-02 -3.324878724762579674e-02 6.105390622205419948e-02
422 3.807590643342410180e-02 5.068011873981870252e-02 1.642809941569069870e-02 2.187235499495579841e-02 3.970962592582259754e-02 4.503209491863210262e-02 -4.340084565202689815e-02 7.120997975363539678e-02 4.976865992074899769e-02 1.549073015887240078e-02
423 -7.816532399920170238e-02 5.068011873981870252e-02 7.786338762690199478e-02 5.285819123858220142e-02 7.823630595545419397e-02 6.444729954958319795e-02 2.655027262562750096e-02 -2.592261998182820038e-03 4.067226371449769728e-02 -9.361911330135799444e-03
424 9.015598825267629943e-03 5.068011873981870252e-02 -3.961812842611620034e-02 2.875809638242839833e-02 3.833367306762140020e-02 7.352860494147960002e-02 -7.285394808472339667e-02 1.081111006295440019e-01 1.556684454070180086e-02 -4.664087356364819692e-02
425 1.750521923228520000e-03 5.068011873981870252e-02 1.103903904628619932e-02 -1.944209332987930153e-02 -1.670444126042380101e-02 -3.819065120534880214e-03 -4.708248345611389801e-02 3.430885887772629900e-02 2.405258322689299982e-02 2.377494398854190089e-02
426 -7.816532399920170238e-02 -4.464163650698899782e-02 -4.069594049999709917e-02 -8.141376581713200000e-02 -1.006375656106929944e-01 -1.127947298232920004e-01 2.286863482154040048e-02 -7.639450375000099436e-02 -2.028874775162960165e-02 -5.078298047848289754e-02
427 3.081082953138499989e-02 5.068011873981870252e-02 -3.422906805671169922e-02 4.367720260718979675e-02 5.759701308243719842e-02 6.883137801463659611e-02 -3.235593223976569732e-02 5.755656502954899917e-02 3.546193866076970125e-02 8.590654771106250032e-02
428 -3.457486258696700065e-02 5.068011873981870252e-02 5.649978676881649634e-03 -5.670610554934250001e-03 -7.311850844667000526e-02 -6.269097593696699999e-02 -6.584467611156170040e-03 -3.949338287409189657e-02 -4.542095777704099890e-02 3.205915781821130212e-02
429 4.897352178648269744e-02 5.068011873981870252e-02 8.864150836571099701e-02 8.728689817594480205e-02 3.558176735121919981e-02 2.154596028441720101e-02 -2.499265663159149983e-02 3.430885887772629900e-02 6.604820616309839409e-02 1.314697237742440128e-01
430 -4.183993948900609910e-02 -4.464163650698899782e-02 -3.315125598283080038e-02 -2.288496402361559975e-02 4.658939021682820258e-02 4.158746183894729970e-02 5.600337505832399948e-02 -2.473293452372829840e-02 -2.595242443518940012e-02 -3.835665973397880263e-02
431 -9.147093429830140468e-03 -4.464163650698899782e-02 -5.686312160821060252e-02 -5.042792957350569760e-02 2.182223876920789951e-02 4.534524338042170144e-02 -2.867429443567860031e-02 3.430885887772629900e-02 -9.918957363154769225e-03 -1.764612515980519894e-02
432 7.076875249260000666e-02 5.068011873981870252e-02 -3.099563183506899924e-02 2.187235499495579841e-02 -3.734373413344069942e-02 -4.703355284749029946e-02 3.391354823380159783e-02 -3.949338287409189657e-02 -1.495647502491130078e-02 -1.077697500466389974e-03
433 9.015598825267629943e-03 -4.464163650698899782e-02 5.522933407540309841e-02 -5.670610554934250001e-03 5.759701308243719842e-02 4.471894645684260094e-02 -2.902829807069099918e-03 2.323852261495349888e-02 5.568354770267369691e-02 1.066170822852360034e-01
434 -2.730978568492789874e-02 -4.464163650698899782e-02 -6.009655782985329903e-02 -2.977070541108809906e-02 4.658939021682820258e-02 1.998021797546959896e-02 1.222728555318910032e-01 -3.949338287409189657e-02 -5.140053526058249722e-02 -9.361911330135799444e-03
435 1.628067572730669890e-02 -4.464163650698899782e-02 1.338730381358059929e-03 8.100872220010799790e-03 5.310804470794310353e-03 1.089891258357309975e-02 3.023191042971450082e-02 -3.949338287409189657e-02 -4.542095777704099890e-02 3.205915781821130212e-02
436 -1.277963188084970010e-02 -4.464163650698899782e-02 -2.345094731790270046e-02 -4.009931749229690007e-02 -1.670444126042380101e-02 4.635943347782499856e-03 -1.762938102341739949e-02 -2.592261998182820038e-03 -3.845911230135379971e-02 -3.835665973397880263e-02
437 -5.637009329308430294e-02 -4.464163650698899782e-02 -7.410811479030500470e-02 -5.042792957350569760e-02 -2.496015840963049931e-02 -4.703355284749029946e-02 9.281975309919469896e-02 -7.639450375000099436e-02 -6.117659509433449883e-02 -4.664087356364819692e-02
438 4.170844488444359899e-02 5.068011873981870252e-02 1.966153563733339868e-02 5.974393262605470073e-02 -5.696818394814720174e-03 -2.566471273376759888e-03 -2.867429443567860031e-02 -2.592261998182820038e-03 3.119299070280229930e-02 7.206516329203029904e-03
439 -5.514554978810590376e-03 5.068011873981870252e-02 -1.590626280073640167e-02 -6.764228304218700139e-02 4.934129593323050011e-02 7.916527725369119917e-02 -2.867429443567860031e-02 3.430885887772629900e-02 -1.811826730789670159e-02 4.448547856271539702e-02
440 4.170844488444359899e-02 5.068011873981870252e-02 -1.590626280073640167e-02 1.728186074811709910e-02 -3.734373413344069942e-02 -1.383981589779990050e-02 -2.499265663159149983e-02 -1.107951979964190078e-02 -4.687948284421659950e-02 1.549073015887240078e-02
441 -4.547247794002570037e-02 -4.464163650698899782e-02 3.906215296718960200e-02 1.215130832538269907e-03 1.631842733640340160e-02 1.528299104862660025e-02 -2.867429443567860031e-02 2.655962349378539894e-02 4.452837402140529671e-02 -2.593033898947460017e-02
442 -4.547247794002570037e-02 -4.464163650698899782e-02 -7.303030271642410587e-02 -8.141376581713200000e-02 8.374011738825870577e-02 2.780892952020790065e-02 1.738157847891100005e-01 -3.949338287409189657e-02 -4.219859706946029777e-03 3.064409414368320182e-03

View File

@@ -1,442 +0,0 @@
1.510000000000000000e+02
7.500000000000000000e+01
1.410000000000000000e+02
2.060000000000000000e+02
1.350000000000000000e+02
9.700000000000000000e+01
1.380000000000000000e+02
6.300000000000000000e+01
1.100000000000000000e+02
3.100000000000000000e+02
1.010000000000000000e+02
6.900000000000000000e+01
1.790000000000000000e+02
1.850000000000000000e+02
1.180000000000000000e+02
1.710000000000000000e+02
1.660000000000000000e+02
1.440000000000000000e+02
9.700000000000000000e+01
1.680000000000000000e+02
6.800000000000000000e+01
4.900000000000000000e+01
6.800000000000000000e+01
2.450000000000000000e+02
1.840000000000000000e+02
2.020000000000000000e+02
1.370000000000000000e+02
8.500000000000000000e+01
1.310000000000000000e+02
2.830000000000000000e+02
1.290000000000000000e+02
5.900000000000000000e+01
3.410000000000000000e+02
8.700000000000000000e+01
6.500000000000000000e+01
1.020000000000000000e+02
2.650000000000000000e+02
2.760000000000000000e+02
2.520000000000000000e+02
9.000000000000000000e+01
1.000000000000000000e+02
5.500000000000000000e+01
6.100000000000000000e+01
9.200000000000000000e+01
2.590000000000000000e+02
5.300000000000000000e+01
1.900000000000000000e+02
1.420000000000000000e+02
7.500000000000000000e+01
1.420000000000000000e+02
1.550000000000000000e+02
2.250000000000000000e+02
5.900000000000000000e+01
1.040000000000000000e+02
1.820000000000000000e+02
1.280000000000000000e+02
5.200000000000000000e+01
3.700000000000000000e+01
1.700000000000000000e+02
1.700000000000000000e+02
6.100000000000000000e+01
1.440000000000000000e+02
5.200000000000000000e+01
1.280000000000000000e+02
7.100000000000000000e+01
1.630000000000000000e+02
1.500000000000000000e+02
9.700000000000000000e+01
1.600000000000000000e+02
1.780000000000000000e+02
4.800000000000000000e+01
2.700000000000000000e+02
2.020000000000000000e+02
1.110000000000000000e+02
8.500000000000000000e+01
4.200000000000000000e+01
1.700000000000000000e+02
2.000000000000000000e+02
2.520000000000000000e+02
1.130000000000000000e+02
1.430000000000000000e+02
5.100000000000000000e+01
5.200000000000000000e+01
2.100000000000000000e+02
6.500000000000000000e+01
1.410000000000000000e+02
5.500000000000000000e+01
1.340000000000000000e+02
4.200000000000000000e+01
1.110000000000000000e+02
9.800000000000000000e+01
1.640000000000000000e+02
4.800000000000000000e+01
9.600000000000000000e+01
9.000000000000000000e+01
1.620000000000000000e+02
1.500000000000000000e+02
2.790000000000000000e+02
9.200000000000000000e+01
8.300000000000000000e+01
1.280000000000000000e+02
1.020000000000000000e+02
3.020000000000000000e+02
1.980000000000000000e+02
9.500000000000000000e+01
5.300000000000000000e+01
1.340000000000000000e+02
1.440000000000000000e+02
2.320000000000000000e+02
8.100000000000000000e+01
1.040000000000000000e+02
5.900000000000000000e+01
2.460000000000000000e+02
2.970000000000000000e+02
2.580000000000000000e+02
2.290000000000000000e+02
2.750000000000000000e+02
2.810000000000000000e+02
1.790000000000000000e+02
2.000000000000000000e+02
2.000000000000000000e+02
1.730000000000000000e+02
1.800000000000000000e+02
8.400000000000000000e+01
1.210000000000000000e+02
1.610000000000000000e+02
9.900000000000000000e+01
1.090000000000000000e+02
1.150000000000000000e+02
2.680000000000000000e+02
2.740000000000000000e+02
1.580000000000000000e+02
1.070000000000000000e+02
8.300000000000000000e+01
1.030000000000000000e+02
2.720000000000000000e+02
8.500000000000000000e+01
2.800000000000000000e+02
3.360000000000000000e+02
2.810000000000000000e+02
1.180000000000000000e+02
3.170000000000000000e+02
2.350000000000000000e+02
6.000000000000000000e+01
1.740000000000000000e+02
2.590000000000000000e+02
1.780000000000000000e+02
1.280000000000000000e+02
9.600000000000000000e+01
1.260000000000000000e+02
2.880000000000000000e+02
8.800000000000000000e+01
2.920000000000000000e+02
7.100000000000000000e+01
1.970000000000000000e+02
1.860000000000000000e+02
2.500000000000000000e+01
8.400000000000000000e+01
9.600000000000000000e+01
1.950000000000000000e+02
5.300000000000000000e+01
2.170000000000000000e+02
1.720000000000000000e+02
1.310000000000000000e+02
2.140000000000000000e+02
5.900000000000000000e+01
7.000000000000000000e+01
2.200000000000000000e+02
2.680000000000000000e+02
1.520000000000000000e+02
4.700000000000000000e+01
7.400000000000000000e+01
2.950000000000000000e+02
1.010000000000000000e+02
1.510000000000000000e+02
1.270000000000000000e+02
2.370000000000000000e+02
2.250000000000000000e+02
8.100000000000000000e+01
1.510000000000000000e+02
1.070000000000000000e+02
6.400000000000000000e+01
1.380000000000000000e+02
1.850000000000000000e+02
2.650000000000000000e+02
1.010000000000000000e+02
1.370000000000000000e+02
1.430000000000000000e+02
1.410000000000000000e+02
7.900000000000000000e+01
2.920000000000000000e+02
1.780000000000000000e+02
9.100000000000000000e+01
1.160000000000000000e+02
8.600000000000000000e+01
1.220000000000000000e+02
7.200000000000000000e+01
1.290000000000000000e+02
1.420000000000000000e+02
9.000000000000000000e+01
1.580000000000000000e+02
3.900000000000000000e+01
1.960000000000000000e+02
2.220000000000000000e+02
2.770000000000000000e+02
9.900000000000000000e+01
1.960000000000000000e+02
2.020000000000000000e+02
1.550000000000000000e+02
7.700000000000000000e+01
1.910000000000000000e+02
7.000000000000000000e+01
7.300000000000000000e+01
4.900000000000000000e+01
6.500000000000000000e+01
2.630000000000000000e+02
2.480000000000000000e+02
2.960000000000000000e+02
2.140000000000000000e+02
1.850000000000000000e+02
7.800000000000000000e+01
9.300000000000000000e+01
2.520000000000000000e+02
1.500000000000000000e+02
7.700000000000000000e+01
2.080000000000000000e+02
7.700000000000000000e+01
1.080000000000000000e+02
1.600000000000000000e+02
5.300000000000000000e+01
2.200000000000000000e+02
1.540000000000000000e+02
2.590000000000000000e+02
9.000000000000000000e+01
2.460000000000000000e+02
1.240000000000000000e+02
6.700000000000000000e+01
7.200000000000000000e+01
2.570000000000000000e+02
2.620000000000000000e+02
2.750000000000000000e+02
1.770000000000000000e+02
7.100000000000000000e+01
4.700000000000000000e+01
1.870000000000000000e+02
1.250000000000000000e+02
7.800000000000000000e+01
5.100000000000000000e+01
2.580000000000000000e+02
2.150000000000000000e+02
3.030000000000000000e+02
2.430000000000000000e+02
9.100000000000000000e+01
1.500000000000000000e+02
3.100000000000000000e+02
1.530000000000000000e+02
3.460000000000000000e+02
6.300000000000000000e+01
8.900000000000000000e+01
5.000000000000000000e+01
3.900000000000000000e+01
1.030000000000000000e+02
3.080000000000000000e+02
1.160000000000000000e+02
1.450000000000000000e+02
7.400000000000000000e+01
4.500000000000000000e+01
1.150000000000000000e+02
2.640000000000000000e+02
8.700000000000000000e+01
2.020000000000000000e+02
1.270000000000000000e+02
1.820000000000000000e+02
2.410000000000000000e+02
6.600000000000000000e+01
9.400000000000000000e+01
2.830000000000000000e+02
6.400000000000000000e+01
1.020000000000000000e+02
2.000000000000000000e+02
2.650000000000000000e+02
9.400000000000000000e+01
2.300000000000000000e+02
1.810000000000000000e+02
1.560000000000000000e+02
2.330000000000000000e+02
6.000000000000000000e+01
2.190000000000000000e+02
8.000000000000000000e+01
6.800000000000000000e+01
3.320000000000000000e+02
2.480000000000000000e+02
8.400000000000000000e+01
2.000000000000000000e+02
5.500000000000000000e+01
8.500000000000000000e+01
8.900000000000000000e+01
3.100000000000000000e+01
1.290000000000000000e+02
8.300000000000000000e+01
2.750000000000000000e+02
6.500000000000000000e+01
1.980000000000000000e+02
2.360000000000000000e+02
2.530000000000000000e+02
1.240000000000000000e+02
4.400000000000000000e+01
1.720000000000000000e+02
1.140000000000000000e+02
1.420000000000000000e+02
1.090000000000000000e+02
1.800000000000000000e+02
1.440000000000000000e+02
1.630000000000000000e+02
1.470000000000000000e+02
9.700000000000000000e+01
2.200000000000000000e+02
1.900000000000000000e+02
1.090000000000000000e+02
1.910000000000000000e+02
1.220000000000000000e+02
2.300000000000000000e+02
2.420000000000000000e+02
2.480000000000000000e+02
2.490000000000000000e+02
1.920000000000000000e+02
1.310000000000000000e+02
2.370000000000000000e+02
7.800000000000000000e+01
1.350000000000000000e+02
2.440000000000000000e+02
1.990000000000000000e+02
2.700000000000000000e+02
1.640000000000000000e+02
7.200000000000000000e+01
9.600000000000000000e+01
3.060000000000000000e+02
9.100000000000000000e+01
2.140000000000000000e+02
9.500000000000000000e+01
2.160000000000000000e+02
2.630000000000000000e+02
1.780000000000000000e+02
1.130000000000000000e+02
2.000000000000000000e+02
1.390000000000000000e+02
1.390000000000000000e+02
8.800000000000000000e+01
1.480000000000000000e+02
8.800000000000000000e+01
2.430000000000000000e+02
7.100000000000000000e+01
7.700000000000000000e+01
1.090000000000000000e+02
2.720000000000000000e+02
6.000000000000000000e+01
5.400000000000000000e+01
2.210000000000000000e+02
9.000000000000000000e+01
3.110000000000000000e+02
2.810000000000000000e+02
1.820000000000000000e+02
3.210000000000000000e+02
5.800000000000000000e+01
2.620000000000000000e+02
2.060000000000000000e+02
2.330000000000000000e+02
2.420000000000000000e+02
1.230000000000000000e+02
1.670000000000000000e+02
6.300000000000000000e+01
1.970000000000000000e+02
7.100000000000000000e+01
1.680000000000000000e+02
1.400000000000000000e+02
2.170000000000000000e+02
1.210000000000000000e+02
2.350000000000000000e+02
2.450000000000000000e+02
4.000000000000000000e+01
5.200000000000000000e+01
1.040000000000000000e+02
1.320000000000000000e+02
8.800000000000000000e+01
6.900000000000000000e+01
2.190000000000000000e+02
7.200000000000000000e+01
2.010000000000000000e+02
1.100000000000000000e+02
5.100000000000000000e+01
2.770000000000000000e+02
6.300000000000000000e+01
1.180000000000000000e+02
6.900000000000000000e+01
2.730000000000000000e+02
2.580000000000000000e+02
4.300000000000000000e+01
1.980000000000000000e+02
2.420000000000000000e+02
2.320000000000000000e+02
1.750000000000000000e+02
9.300000000000000000e+01
1.680000000000000000e+02
2.750000000000000000e+02
2.930000000000000000e+02
2.810000000000000000e+02
7.200000000000000000e+01
1.400000000000000000e+02
1.890000000000000000e+02
1.810000000000000000e+02
2.090000000000000000e+02
1.360000000000000000e+02
2.610000000000000000e+02
1.130000000000000000e+02
1.310000000000000000e+02
1.740000000000000000e+02
2.570000000000000000e+02
5.500000000000000000e+01
8.400000000000000000e+01
4.200000000000000000e+01
1.460000000000000000e+02
2.120000000000000000e+02
2.330000000000000000e+02
9.100000000000000000e+01
1.110000000000000000e+02
1.520000000000000000e+02
1.200000000000000000e+02
6.700000000000000000e+01
3.100000000000000000e+02
9.400000000000000000e+01
1.830000000000000000e+02
6.600000000000000000e+01
1.730000000000000000e+02
7.200000000000000000e+01
4.900000000000000000e+01
6.400000000000000000e+01
4.800000000000000000e+01
1.780000000000000000e+02
1.040000000000000000e+02
1.320000000000000000e+02
2.200000000000000000e+02
5.700000000000000000e+01
1 1.510000000000000000e+02
2 7.500000000000000000e+01
3 1.410000000000000000e+02
4 2.060000000000000000e+02
5 1.350000000000000000e+02
6 9.700000000000000000e+01
7 1.380000000000000000e+02
8 6.300000000000000000e+01
9 1.100000000000000000e+02
10 3.100000000000000000e+02
11 1.010000000000000000e+02
12 6.900000000000000000e+01
13 1.790000000000000000e+02
14 1.850000000000000000e+02
15 1.180000000000000000e+02
16 1.710000000000000000e+02
17 1.660000000000000000e+02
18 1.440000000000000000e+02
19 9.700000000000000000e+01
20 1.680000000000000000e+02
21 6.800000000000000000e+01
22 4.900000000000000000e+01
23 6.800000000000000000e+01
24 2.450000000000000000e+02
25 1.840000000000000000e+02
26 2.020000000000000000e+02
27 1.370000000000000000e+02
28 8.500000000000000000e+01
29 1.310000000000000000e+02
30 2.830000000000000000e+02
31 1.290000000000000000e+02
32 5.900000000000000000e+01
33 3.410000000000000000e+02
34 8.700000000000000000e+01
35 6.500000000000000000e+01
36 1.020000000000000000e+02
37 2.650000000000000000e+02
38 2.760000000000000000e+02
39 2.520000000000000000e+02
40 9.000000000000000000e+01
41 1.000000000000000000e+02
42 5.500000000000000000e+01
43 6.100000000000000000e+01
44 9.200000000000000000e+01
45 2.590000000000000000e+02
46 5.300000000000000000e+01
47 1.900000000000000000e+02
48 1.420000000000000000e+02
49 7.500000000000000000e+01
50 1.420000000000000000e+02
51 1.550000000000000000e+02
52 2.250000000000000000e+02
53 5.900000000000000000e+01
54 1.040000000000000000e+02
55 1.820000000000000000e+02
56 1.280000000000000000e+02
57 5.200000000000000000e+01
58 3.700000000000000000e+01
59 1.700000000000000000e+02
60 1.700000000000000000e+02
61 6.100000000000000000e+01
62 1.440000000000000000e+02
63 5.200000000000000000e+01
64 1.280000000000000000e+02
65 7.100000000000000000e+01
66 1.630000000000000000e+02
67 1.500000000000000000e+02
68 9.700000000000000000e+01
69 1.600000000000000000e+02
70 1.780000000000000000e+02
71 4.800000000000000000e+01
72 2.700000000000000000e+02
73 2.020000000000000000e+02
74 1.110000000000000000e+02
75 8.500000000000000000e+01
76 4.200000000000000000e+01
77 1.700000000000000000e+02
78 2.000000000000000000e+02
79 2.520000000000000000e+02
80 1.130000000000000000e+02
81 1.430000000000000000e+02
82 5.100000000000000000e+01
83 5.200000000000000000e+01
84 2.100000000000000000e+02
85 6.500000000000000000e+01
86 1.410000000000000000e+02
87 5.500000000000000000e+01
88 1.340000000000000000e+02
89 4.200000000000000000e+01
90 1.110000000000000000e+02
91 9.800000000000000000e+01
92 1.640000000000000000e+02
93 4.800000000000000000e+01
94 9.600000000000000000e+01
95 9.000000000000000000e+01
96 1.620000000000000000e+02
97 1.500000000000000000e+02
98 2.790000000000000000e+02
99 9.200000000000000000e+01
100 8.300000000000000000e+01
101 1.280000000000000000e+02
102 1.020000000000000000e+02
103 3.020000000000000000e+02
104 1.980000000000000000e+02
105 9.500000000000000000e+01
106 5.300000000000000000e+01
107 1.340000000000000000e+02
108 1.440000000000000000e+02
109 2.320000000000000000e+02
110 8.100000000000000000e+01
111 1.040000000000000000e+02
112 5.900000000000000000e+01
113 2.460000000000000000e+02
114 2.970000000000000000e+02
115 2.580000000000000000e+02
116 2.290000000000000000e+02
117 2.750000000000000000e+02
118 2.810000000000000000e+02
119 1.790000000000000000e+02
120 2.000000000000000000e+02
121 2.000000000000000000e+02
122 1.730000000000000000e+02
123 1.800000000000000000e+02
124 8.400000000000000000e+01
125 1.210000000000000000e+02
126 1.610000000000000000e+02
127 9.900000000000000000e+01
128 1.090000000000000000e+02
129 1.150000000000000000e+02
130 2.680000000000000000e+02
131 2.740000000000000000e+02
132 1.580000000000000000e+02
133 1.070000000000000000e+02
134 8.300000000000000000e+01
135 1.030000000000000000e+02
136 2.720000000000000000e+02
137 8.500000000000000000e+01
138 2.800000000000000000e+02
139 3.360000000000000000e+02
140 2.810000000000000000e+02
141 1.180000000000000000e+02
142 3.170000000000000000e+02
143 2.350000000000000000e+02
144 6.000000000000000000e+01
145 1.740000000000000000e+02
146 2.590000000000000000e+02
147 1.780000000000000000e+02
148 1.280000000000000000e+02
149 9.600000000000000000e+01
150 1.260000000000000000e+02
151 2.880000000000000000e+02
152 8.800000000000000000e+01
153 2.920000000000000000e+02
154 7.100000000000000000e+01
155 1.970000000000000000e+02
156 1.860000000000000000e+02
157 2.500000000000000000e+01
158 8.400000000000000000e+01
159 9.600000000000000000e+01
160 1.950000000000000000e+02
161 5.300000000000000000e+01
162 2.170000000000000000e+02
163 1.720000000000000000e+02
164 1.310000000000000000e+02
165 2.140000000000000000e+02
166 5.900000000000000000e+01
167 7.000000000000000000e+01
168 2.200000000000000000e+02
169 2.680000000000000000e+02
170 1.520000000000000000e+02
171 4.700000000000000000e+01
172 7.400000000000000000e+01
173 2.950000000000000000e+02
174 1.010000000000000000e+02
175 1.510000000000000000e+02
176 1.270000000000000000e+02
177 2.370000000000000000e+02
178 2.250000000000000000e+02
179 8.100000000000000000e+01
180 1.510000000000000000e+02
181 1.070000000000000000e+02
182 6.400000000000000000e+01
183 1.380000000000000000e+02
184 1.850000000000000000e+02
185 2.650000000000000000e+02
186 1.010000000000000000e+02
187 1.370000000000000000e+02
188 1.430000000000000000e+02
189 1.410000000000000000e+02
190 7.900000000000000000e+01
191 2.920000000000000000e+02
192 1.780000000000000000e+02
193 9.100000000000000000e+01
194 1.160000000000000000e+02
195 8.600000000000000000e+01
196 1.220000000000000000e+02
197 7.200000000000000000e+01
198 1.290000000000000000e+02
199 1.420000000000000000e+02
200 9.000000000000000000e+01
201 1.580000000000000000e+02
202 3.900000000000000000e+01
203 1.960000000000000000e+02
204 2.220000000000000000e+02
205 2.770000000000000000e+02
206 9.900000000000000000e+01
207 1.960000000000000000e+02
208 2.020000000000000000e+02
209 1.550000000000000000e+02
210 7.700000000000000000e+01
211 1.910000000000000000e+02
212 7.000000000000000000e+01
213 7.300000000000000000e+01
214 4.900000000000000000e+01
215 6.500000000000000000e+01
216 2.630000000000000000e+02
217 2.480000000000000000e+02
218 2.960000000000000000e+02
219 2.140000000000000000e+02
220 1.850000000000000000e+02
221 7.800000000000000000e+01
222 9.300000000000000000e+01
223 2.520000000000000000e+02
224 1.500000000000000000e+02
225 7.700000000000000000e+01
226 2.080000000000000000e+02
227 7.700000000000000000e+01
228 1.080000000000000000e+02
229 1.600000000000000000e+02
230 5.300000000000000000e+01
231 2.200000000000000000e+02
232 1.540000000000000000e+02
233 2.590000000000000000e+02
234 9.000000000000000000e+01
235 2.460000000000000000e+02
236 1.240000000000000000e+02
237 6.700000000000000000e+01
238 7.200000000000000000e+01
239 2.570000000000000000e+02
240 2.620000000000000000e+02
241 2.750000000000000000e+02
242 1.770000000000000000e+02
243 7.100000000000000000e+01
244 4.700000000000000000e+01
245 1.870000000000000000e+02
246 1.250000000000000000e+02
247 7.800000000000000000e+01
248 5.100000000000000000e+01
249 2.580000000000000000e+02
250 2.150000000000000000e+02
251 3.030000000000000000e+02
252 2.430000000000000000e+02
253 9.100000000000000000e+01
254 1.500000000000000000e+02
255 3.100000000000000000e+02
256 1.530000000000000000e+02
257 3.460000000000000000e+02
258 6.300000000000000000e+01
259 8.900000000000000000e+01
260 5.000000000000000000e+01
261 3.900000000000000000e+01
262 1.030000000000000000e+02
263 3.080000000000000000e+02
264 1.160000000000000000e+02
265 1.450000000000000000e+02
266 7.400000000000000000e+01
267 4.500000000000000000e+01
268 1.150000000000000000e+02
269 2.640000000000000000e+02
270 8.700000000000000000e+01
271 2.020000000000000000e+02
272 1.270000000000000000e+02
273 1.820000000000000000e+02
274 2.410000000000000000e+02
275 6.600000000000000000e+01
276 9.400000000000000000e+01
277 2.830000000000000000e+02
278 6.400000000000000000e+01
279 1.020000000000000000e+02
280 2.000000000000000000e+02
281 2.650000000000000000e+02
282 9.400000000000000000e+01
283 2.300000000000000000e+02
284 1.810000000000000000e+02
285 1.560000000000000000e+02
286 2.330000000000000000e+02
287 6.000000000000000000e+01
288 2.190000000000000000e+02
289 8.000000000000000000e+01
290 6.800000000000000000e+01
291 3.320000000000000000e+02
292 2.480000000000000000e+02
293 8.400000000000000000e+01
294 2.000000000000000000e+02
295 5.500000000000000000e+01
296 8.500000000000000000e+01
297 8.900000000000000000e+01
298 3.100000000000000000e+01
299 1.290000000000000000e+02
300 8.300000000000000000e+01
301 2.750000000000000000e+02
302 6.500000000000000000e+01
303 1.980000000000000000e+02
304 2.360000000000000000e+02
305 2.530000000000000000e+02
306 1.240000000000000000e+02
307 4.400000000000000000e+01
308 1.720000000000000000e+02
309 1.140000000000000000e+02
310 1.420000000000000000e+02
311 1.090000000000000000e+02
312 1.800000000000000000e+02
313 1.440000000000000000e+02
314 1.630000000000000000e+02
315 1.470000000000000000e+02
316 9.700000000000000000e+01
317 2.200000000000000000e+02
318 1.900000000000000000e+02
319 1.090000000000000000e+02
320 1.910000000000000000e+02
321 1.220000000000000000e+02
322 2.300000000000000000e+02
323 2.420000000000000000e+02
324 2.480000000000000000e+02
325 2.490000000000000000e+02
326 1.920000000000000000e+02
327 1.310000000000000000e+02
328 2.370000000000000000e+02
329 7.800000000000000000e+01
330 1.350000000000000000e+02
331 2.440000000000000000e+02
332 1.990000000000000000e+02
333 2.700000000000000000e+02
334 1.640000000000000000e+02
335 7.200000000000000000e+01
336 9.600000000000000000e+01
337 3.060000000000000000e+02
338 9.100000000000000000e+01
339 2.140000000000000000e+02
340 9.500000000000000000e+01
341 2.160000000000000000e+02
342 2.630000000000000000e+02
343 1.780000000000000000e+02
344 1.130000000000000000e+02
345 2.000000000000000000e+02
346 1.390000000000000000e+02
347 1.390000000000000000e+02
348 8.800000000000000000e+01
349 1.480000000000000000e+02
350 8.800000000000000000e+01
351 2.430000000000000000e+02
352 7.100000000000000000e+01
353 7.700000000000000000e+01
354 1.090000000000000000e+02
355 2.720000000000000000e+02
356 6.000000000000000000e+01
357 5.400000000000000000e+01
358 2.210000000000000000e+02
359 9.000000000000000000e+01
360 3.110000000000000000e+02
361 2.810000000000000000e+02
362 1.820000000000000000e+02
363 3.210000000000000000e+02
364 5.800000000000000000e+01
365 2.620000000000000000e+02
366 2.060000000000000000e+02
367 2.330000000000000000e+02
368 2.420000000000000000e+02
369 1.230000000000000000e+02
370 1.670000000000000000e+02
371 6.300000000000000000e+01
372 1.970000000000000000e+02
373 7.100000000000000000e+01
374 1.680000000000000000e+02
375 1.400000000000000000e+02
376 2.170000000000000000e+02
377 1.210000000000000000e+02
378 2.350000000000000000e+02
379 2.450000000000000000e+02
380 4.000000000000000000e+01
381 5.200000000000000000e+01
382 1.040000000000000000e+02
383 1.320000000000000000e+02
384 8.800000000000000000e+01
385 6.900000000000000000e+01
386 2.190000000000000000e+02
387 7.200000000000000000e+01
388 2.010000000000000000e+02
389 1.100000000000000000e+02
390 5.100000000000000000e+01
391 2.770000000000000000e+02
392 6.300000000000000000e+01
393 1.180000000000000000e+02
394 6.900000000000000000e+01
395 2.730000000000000000e+02
396 2.580000000000000000e+02
397 4.300000000000000000e+01
398 1.980000000000000000e+02
399 2.420000000000000000e+02
400 2.320000000000000000e+02
401 1.750000000000000000e+02
402 9.300000000000000000e+01
403 1.680000000000000000e+02
404 2.750000000000000000e+02
405 2.930000000000000000e+02
406 2.810000000000000000e+02
407 7.200000000000000000e+01
408 1.400000000000000000e+02
409 1.890000000000000000e+02
410 1.810000000000000000e+02
411 2.090000000000000000e+02
412 1.360000000000000000e+02
413 2.610000000000000000e+02
414 1.130000000000000000e+02
415 1.310000000000000000e+02
416 1.740000000000000000e+02
417 2.570000000000000000e+02
418 5.500000000000000000e+01
419 8.400000000000000000e+01
420 4.200000000000000000e+01
421 1.460000000000000000e+02
422 2.120000000000000000e+02
423 2.330000000000000000e+02
424 9.100000000000000000e+01
425 1.110000000000000000e+02
426 1.520000000000000000e+02
427 1.200000000000000000e+02
428 6.700000000000000000e+01
429 3.100000000000000000e+02
430 9.400000000000000000e+01
431 1.830000000000000000e+02
432 6.600000000000000000e+01
433 1.730000000000000000e+02
434 7.200000000000000000e+01
435 4.900000000000000000e+01
436 6.400000000000000000e+01
437 4.800000000000000000e+01
438 1.780000000000000000e+02
439 1.040000000000000000e+02
440 1.320000000000000000e+02
441 2.200000000000000000e+02
442 5.700000000000000000e+01

View File

@@ -80,9 +80,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Register input and output datasets\n",
"## Create trained model\n",
"\n",
"For this example, we have provided a small model (`sklearn_regression_model.pkl` in the notebook's directory) that was trained on scikit-learn's [diabetes dataset](https://scikit-learn.org/stable/datasets/index.html#diabetes-dataset). Here, you will register the data used to create this model in your workspace."
"For this example, we will train a small model on scikit-learn's [diabetes dataset](https://scikit-learn.org/stable/datasets/index.html#diabetes-dataset). "
]
},
{
@@ -91,9 +91,42 @@
"metadata": {},
"outputs": [],
"source": [
"import joblib\n",
"\n",
"from sklearn.datasets import load_diabetes\n",
"from sklearn.linear_model import Ridge\n",
"\n",
"\n",
"dataset_x, dataset_y = load_diabetes(return_X_y=True)\n",
"\n",
"model = Ridge().fit(dataset_x, dataset_y)\n",
"\n",
"joblib.dump(model, 'sklearn_regression_model.pkl')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Register input and output datasets\n",
"\n",
"Here, you will register the data used to create the model in your workspace."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"from azureml.core import Dataset\n",
"\n",
"\n",
"np.savetxt('features.csv', dataset_x, delimiter=',')\n",
"np.savetxt('labels.csv', dataset_y, delimiter=',')\n",
"\n",
"datastore = ws.get_default_datastore()\n",
"datastore.upload_files(files=['./features.csv', './labels.csv'],\n",
" target_path='sklearn_regression/',\n",
@@ -125,6 +158,8 @@
},
"outputs": [],
"source": [
"import sklearn\n",
"\n",
"from azureml.core import Model\n",
"from azureml.core.resource_configuration import ResourceConfiguration\n",
"\n",
@@ -133,7 +168,7 @@
" model_name='my-sklearn-model', # Name of the registered model in your workspace.\n",
" model_path='./sklearn_regression_model.pkl', # Local file to upload and register as a model.\n",
" model_framework=Model.Framework.SCIKITLEARN, # Framework used to create the model.\n",
" model_framework_version='0.19.1', # Version of scikit-learn used to create the model.\n",
" model_framework_version=sklearn.__version__, # Version of scikit-learn used to create the model.\n",
" sample_input_dataset=input_dataset,\n",
" sample_output_dataset=output_dataset,\n",
" resource_configuration=ResourceConfiguration(cpu=1, memory_in_gb=0.5),\n",
@@ -174,19 +209,9 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.core import Webservice\n",
"from azureml.exceptions import WebserviceException\n",
"\n",
"\n",
"service_name = 'my-sklearn-service'\n",
"\n",
"# Remove any existing service under the same name.\n",
"try:\n",
" Webservice(ws, service_name).delete()\n",
"except WebserviceException:\n",
" pass\n",
"\n",
"service = Model.deploy(ws, service_name, [model])\n",
"service = Model.deploy(ws, service_name, [model], overwrite=True)\n",
"service.wait_for_deployment(show_output=True)"
]
},
@@ -207,10 +232,7 @@
"\n",
"\n",
"input_payload = json.dumps({\n",
" 'data': [\n",
" [ 0.03807591, 0.05068012, 0.06169621, 0.02187235, -0.0442235,\n",
" -0.03482076, -0.04340085, -0.00259226, 0.01990842, -0.01764613]\n",
" ],\n",
" 'data': dataset_x[0:2].tolist(),\n",
" 'method': 'predict' # If you have a classification model, you can get probabilities by changing this to 'predict_proba'.\n",
"})\n",
"\n",
@@ -262,7 +284,7 @@
" 'inference-schema[numpy-support]',\n",
" 'joblib',\n",
" 'numpy',\n",
" 'scikit-learn'\n",
" 'scikit-learn=={}'.format(sklearn.__version__)\n",
"])"
]
},
@@ -303,20 +325,12 @@
},
"outputs": [],
"source": [
"from azureml.core import Webservice\n",
"from azureml.core.model import InferenceConfig\n",
"from azureml.core.webservice import AciWebservice\n",
"from azureml.exceptions import WebserviceException\n",
"\n",
"\n",
"service_name = 'my-custom-env-service'\n",
"\n",
"# Remove any existing service under the same name.\n",
"try:\n",
" Webservice(ws, service_name).delete()\n",
"except WebserviceException:\n",
" pass\n",
"\n",
"inference_config = InferenceConfig(entry_script='score.py', environment=environment)\n",
"aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)\n",
"\n",
@@ -324,7 +338,8 @@
" name=service_name,\n",
" models=[model],\n",
" inference_config=inference_config,\n",
" deployment_config=aci_config)\n",
" deployment_config=aci_config,\n",
" overwrite=True)\n",
"service.wait_for_deployment(show_output=True)"
]
},
@@ -342,10 +357,7 @@
"outputs": [],
"source": [
"input_payload = json.dumps({\n",
" 'data': [\n",
" [ 0.03807591, 0.05068012, 0.06169621, 0.02187235, -0.0442235,\n",
" -0.03482076, -0.04340085, -0.00259226, 0.01990842, -0.01764613]\n",
" ]\n",
" 'data': dataset_x[0:2].tolist()\n",
"})\n",
"\n",
"output = service.run(input_payload)\n",
@@ -471,7 +483,7 @@
" 'inference-schema[numpy-support]',\n",
" 'joblib',\n",
" 'numpy',\n",
" 'scikit-learn'\n",
" 'scikit-learn=={}'.format(sklearn.__version__)\n",
"])\n",
"inference_config = InferenceConfig(entry_script='score.py', environment=environment)\n",
"# if cpu and memory_in_gb parameters are not provided\n",

View File

@@ -2,3 +2,5 @@ name: model-register-and-deploy
dependencies:
- pip:
- azureml-sdk
- numpy
- scikit-learn

View File

@@ -1,8 +0,0 @@
name: project_environment
dependencies:
- python=3.6.2
- pip:
- azureml-defaults
- scikit-learn==0.19.1
- numpy
- inference-schema[numpy-support]

View File

@@ -75,6 +75,33 @@
"print(ws.name, ws.resource_group, ws.location, ws.subscription_id, sep='\\n')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create trained model\n",
"\n",
"For this example, we will train a small model on scikit-learn's [diabetes dataset](https://scikit-learn.org/stable/datasets/index.html#diabetes-dataset). "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import joblib\n",
"\n",
"from sklearn.datasets import load_diabetes\n",
"from sklearn.linear_model import Ridge\n",
"\n",
"dataset_x, dataset_y = load_diabetes(return_X_y=True)\n",
"\n",
"sk_model = Ridge().fit(dataset_x, dataset_y)\n",
"\n",
"joblib.dump(sk_model, \"sklearn_regression_model.pkl\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -148,13 +175,10 @@
"outputs": [],
"source": [
"%%writefile source_directory/x/y/score.py\n",
"import os\n",
"import pickle\n",
"import joblib\n",
"import json\n",
"import numpy as np\n",
"from sklearn.externals import joblib\n",
"from sklearn.linear_model import Ridge\n",
"from azureml.core.model import Model\n",
"import os\n",
"\n",
"from inference_schema.schema_decorators import input_schema, output_schema\n",
"from inference_schema.parameter_types.numpy_parameter_type import NumpyParameterType\n",
@@ -165,16 +189,17 @@
" # It holds the path to the directory that contains the deployed model (./azureml-models/$MODEL_NAME/$VERSION)\n",
" # If there are multiple models, this value is the path to the directory containing all deployed models (./azureml-models)\n",
" model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'sklearn_regression_model.pkl')\n",
" # deserialize the model file back into a sklearn model\n",
" # Deserialize the model file back into a sklearn model.\n",
" model = joblib.load(model_path)\n",
"\n",
" global name\n",
" # note here, entire source directory on inference config gets added into image\n",
" # bellow is the example how you can use any extra files in image\n",
" # Note here, the entire source directory from inference config gets added into image.\n",
" # Below is an example of how you can use any extra files in image.\n",
" with open('./source_directory/extradata.json') as json_file:\n",
" data = json.load(json_file)\n",
" name = data[\"people\"][0][\"name\"]\n",
"\n",
"input_sample = np.array([[10,9,8,7,6,5,4,3,2,1]])\n",
"input_sample = np.array([[10.0, 9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0]])\n",
"output_sample = np.array([3726.995])\n",
"\n",
"@input_schema('data', NumpyParameterType(input_sample))\n",
@@ -182,37 +207,13 @@
"def run(data):\n",
" try:\n",
" result = model.predict(data)\n",
" # you can return any datatype as long as it is JSON-serializable\n",
" # You can return any JSON-serializable object.\n",
" return \"Hello \" + name + \" here is your result = \" + str(result)\n",
" except Exception as e:\n",
" error = str(e)\n",
" return error"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Please note that you must indicate azureml-defaults with verion >= 1.0.45 as a pip dependency for your environemnt. This package contains the functionality needed to host the model as a web service."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%writefile source_directory/env/myenv.yml\n",
"name: project_environment\n",
"dependencies:\n",
" - python=3.6.2\n",
" - pip:\n",
" - azureml-defaults\n",
" - scikit-learn\n",
" - numpy\n",
" - inference-schema[numpy-support]"
]
},
{
"cell_type": "code",
"execution_count": null,
@@ -249,11 +250,16 @@
"metadata": {},
"outputs": [],
"source": [
"import sklearn\n",
"\n",
"from azureml.core.environment import Environment\n",
"from azureml.core.model import InferenceConfig\n",
"\n",
"\n",
"myenv = Environment.from_conda_specification(name='myenv', file_path='myenv.yml')\n",
"myenv = Environment('myenv')\n",
"myenv.python.conda_dependencies.add_pip_package(\"inference-schema[numpy-support]\")\n",
"myenv.python.conda_dependencies.add_pip_package(\"joblib\")\n",
"myenv.python.conda_dependencies.add_pip_package(\"scikit-learn=={}\".format(sklearn.__version__))\n",
"\n",
"# explicitly set base_image to None when setting base_dockerfile\n",
"myenv.docker.base_image = None\n",
@@ -262,7 +268,7 @@
"\n",
"inference_config = InferenceConfig(source_directory=source_directory,\n",
" entry_script=\"x/y/score.py\",\n",
" environment=myenv)\n"
" environment=myenv)"
]
},
{
@@ -352,15 +358,10 @@
"import json\n",
"\n",
"sample_input = json.dumps({\n",
" 'data': [\n",
" [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n",
" [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]\n",
" ]\n",
" 'data': dataset_x[0:2].tolist()\n",
"})\n",
"\n",
"sample_input = bytes(sample_input, encoding='utf-8')\n",
"\n",
"print(local_service.run(input_data=sample_input))"
"print(local_service.run(sample_input))"
]
},
{
@@ -379,12 +380,10 @@
"outputs": [],
"source": [
"%%writefile source_directory/x/y/score.py\n",
"import os\n",
"import pickle\n",
"import joblib\n",
"import json\n",
"import numpy as np\n",
"from sklearn.externals import joblib\n",
"from sklearn.linear_model import Ridge\n",
"import os\n",
"\n",
"from inference_schema.schema_decorators import input_schema, output_schema\n",
"from inference_schema.parameter_types.numpy_parameter_type import NumpyParameterType\n",
@@ -395,17 +394,18 @@
" # It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)\n",
" # For multiple models, it points to the folder containing all deployed models (./azureml-models)\n",
" model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'sklearn_regression_model.pkl')\n",
" # deserialize the model file back into a sklearn model\n",
" # Deserialize the model file back into a sklearn model.\n",
" model = joblib.load(model_path)\n",
"\n",
" global name, from_location\n",
" # note here, entire source directory on inference config gets added into image\n",
" # bellow is the example how you can use any extra files in image\n",
" # Note here, the entire source directory from inference config gets added into image.\n",
" # Below is an example of how you can use any extra files in image.\n",
" with open('source_directory/extradata.json') as json_file: \n",
" data = json.load(json_file)\n",
" name = data[\"people\"][0][\"name\"]\n",
" from_location = data[\"people\"][0][\"from\"]\n",
"\n",
"input_sample = np.array([[10,9,8,7,6,5,4,3,2,1]])\n",
"input_sample = np.array([[10.0, 9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0]])\n",
"output_sample = np.array([3726.995])\n",
"\n",
"@input_schema('data', NumpyParameterType(input_sample))\n",
@@ -413,7 +413,7 @@
"def run(data):\n",
" try:\n",
" result = model.predict(data)\n",
" # you can return any datatype as long as it is JSON-serializable\n",
" # You can return any JSON-serializable object.\n",
" return \"Hello \" + name + \" from \" + from_location + \" here is your result = \" + str(result)\n",
" except Exception as e:\n",
" error = str(e)\n",
@@ -430,7 +430,7 @@
"print(\"--------------------------------------------------------------\")\n",
"\n",
"# After calling reload(), run() will return the updated message.\n",
"local_service.run(input_data=sample_input)"
"local_service.run(sample_input)"
]
},
{

View File

@@ -71,6 +71,33 @@
"print(ws.name, ws.resource_group, ws.location, ws.subscription_id, sep='\\n')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create trained model\n",
"\n",
"For this example, we will train a small model on scikit-learn's [diabetes dataset](https://scikit-learn.org/stable/datasets/index.html#diabetes-dataset). "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import joblib\n",
"\n",
"from sklearn.datasets import load_diabetes\n",
"from sklearn.linear_model import Ridge\n",
"\n",
"dataset_x, dataset_y = load_diabetes(return_X_y=True)\n",
"\n",
"sk_model = Ridge().fit(dataset_x, dataset_y)\n",
"\n",
"joblib.dump(sk_model, \"sklearn_regression_model.pkl\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -82,9 +109,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"You can add tags and descriptions to your models. we are using `sklearn_regression_model.pkl` file in the current directory as a model with the name `sklearn_regression_model` in the workspace.\n",
"Here we are registering the serialized file `sklearn_regression_model.pkl` in the current directory as a model with the name `sklearn_regression_model` in the workspace.\n",
"\n",
"Using tags, you can track useful information such as the name and version of the machine learning library used to train the model, framework, category, target customer etc. Note that tags must be alphanumeric."
"You can add tags and descriptions to your models. Using tags, you can track useful information such as the name and version of the machine learning library used to train the model, framework, category, target customer etc. Note that tags must be alphanumeric."
]
},
{
@@ -119,11 +146,62 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.core.conda_dependencies import CondaDependencies\n",
"import sklearn\n",
"\n",
"from azureml.core.environment import Environment\n",
"\n",
"environment = Environment(\"LocalDeploy\")\n",
"environment.python.conda_dependencies = CondaDependencies(\"myenv.yml\")"
"environment.python.conda_dependencies.add_pip_package(\"inference-schema[numpy-support]\")\n",
"environment.python.conda_dependencies.add_pip_package(\"joblib\")\n",
"environment.python.conda_dependencies.add_pip_package(\"scikit-learn=={}\".format(sklearn.__version__))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Provide the Scoring Script\n",
"\n",
"This Python script handles the model execution inside the service container. The `init()` method loads the model file, and `run(data)` is called for every input to the service."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%writefile score.py\n",
"import joblib\n",
"import json\n",
"import numpy as np\n",
"import os\n",
"\n",
"from inference_schema.schema_decorators import input_schema, output_schema\n",
"from inference_schema.parameter_types.numpy_parameter_type import NumpyParameterType\n",
"\n",
"def init():\n",
" global model\n",
" # AZUREML_MODEL_DIR is an environment variable created during deployment.\n",
" # It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)\n",
" # For multiple models, it points to the folder containing all deployed models (./azureml-models)\n",
" model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'sklearn_regression_model.pkl')\n",
" # Deserialize the model file back into a sklearn model.\n",
" model = joblib.load(model_path)\n",
"\n",
"input_sample = np.array([[10.0, 9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0]])\n",
"output_sample = np.array([3726.995])\n",
"\n",
"@input_schema('data', NumpyParameterType(input_sample))\n",
"@output_schema(NumpyParameterType(output_sample))\n",
"def run(data):\n",
" try:\n",
" result = model.predict(data)\n",
" # You can return any JSON-serializable object.\n",
" return result.tolist()\n",
" except Exception as e:\n",
" error = str(e)\n",
" return error"
]
},
{
@@ -145,114 +223,6 @@
" environment=environment)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Model Profiling\n",
"\n",
"Profile your model to understand how much CPU and memory the service, created as a result of its deployment, will need. Profiling returns information such as CPU usage, memory usage, and response latency. It also provides a CPU and memory recommendation based on the resource usage. You can profile your model (or more precisely the service built based on your model) on any CPU and/or memory combination where 0.1 <= CPU <= 3.5 and 0.1GB <= memory <= 15GB. If you do not provide a CPU and/or memory requirement, we will test it on the default configuration of 3.5 CPU and 15GB memory.\n",
"\n",
"In order to profile your model you will need:\n",
"- a registered model\n",
"- an entry script\n",
"- an inference configuration\n",
"- a single column tabular dataset, where each row contains a string representing sample request data sent to the service.\n",
"\n",
"Please, note that profiling is a long running operation and can take up to 25 minutes depending on the size of the dataset.\n",
"\n",
"At this point we only support profiling of services that expect their request data to be a string, for example: string serialized json, text, string serialized image, etc. The content of each row of the dataset (string) will be put into the body of the HTTP request and sent to the service encapsulating the model for scoring.\n",
"\n",
"Below is an example of how you can construct an input dataset to profile a service which expects its incoming requests to contain serialized json. In this case we created a dataset based one hundred instances of the same request data. In real world scenarios however, we suggest that you use larger datasets with various inputs, especially if your model resource usage/behavior is input dependent."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"from azureml.core import Datastore\n",
"from azureml.core.dataset import Dataset\n",
"from azureml.data import dataset_type_definitions\n",
"\n",
"\n",
"# create a string that can be put in the body of the request\n",
"serialized_input_json = json.dumps({\n",
" 'data': [\n",
" [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n",
" [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]\n",
" ]\n",
"})\n",
"dataset_content = []\n",
"for i in range(100):\n",
" dataset_content.append(serialized_input_json)\n",
"dataset_content = '\\n'.join(dataset_content)\n",
"file_name = 'sample_request_data_diabetes.txt'\n",
"f = open(file_name, 'w')\n",
"f.write(dataset_content)\n",
"f.close()\n",
"\n",
"# upload the txt file created above to the Datastore and create a dataset from it\n",
"data_store = Datastore.get_default(ws)\n",
"data_store.upload_files(['./' + file_name], target_path='sample_request_data_diabetes')\n",
"datastore_path = [(data_store, 'sample_request_data_diabetes' +'/' + file_name)]\n",
"sample_request_data_diabetes = Dataset.Tabular.from_delimited_files(\n",
" datastore_path,\n",
" separator='\\n',\n",
" infer_column_types=True,\n",
" header=dataset_type_definitions.PromoteHeadersBehavior.NO_HEADERS)\n",
"sample_request_data_diabetes = sample_request_data_diabetes.register(workspace=ws,\n",
" name='sample_request_data_diabetes',\n",
" create_new_version=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we have an input dataset we are ready to go ahead with profiling. In this case we are testing the previously introduced sklearn regression model on 1 CPU and 0.5 GB memory. The memory usage and recommendation presented in the result is measured in Gigabytes. The CPU usage and recommendation is measured in CPU cores."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from datetime import datetime\n",
"from azureml.core import Environment\n",
"from azureml.core.conda_dependencies import CondaDependencies\n",
"from azureml.core.model import Model, InferenceConfig\n",
"\n",
"\n",
"environment = Environment('my-sklearn-environment')\n",
"environment.python.conda_dependencies = CondaDependencies.create(pip_packages=[\n",
" 'azureml-defaults',\n",
" 'inference-schema[numpy-support]',\n",
" 'joblib',\n",
" 'numpy',\n",
" 'scikit-learn==0.19.1',\n",
" 'scipy'\n",
"])\n",
"inference_config = InferenceConfig(entry_script='score.py', environment=environment)\n",
"# if cpu and memory_in_gb parameters are not provided\n",
"# the model will be profiled on default configuration of\n",
"# 3.5CPU and 15GB memory\n",
"profile = Model.profile(ws,\n",
" 'profile-%s' % datetime.now().strftime('%m%d%Y-%H%M%S'),\n",
" [model],\n",
" inference_config,\n",
" input_dataset=sample_request_data_diabetes,\n",
" cpu=1.0,\n",
" memory_in_gb=0.5)\n",
"\n",
"# profiling is a long running operation and may take up to 25 min\n",
"profile.wait_for_completion(True)\n",
"details = profile.get_details()"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -339,15 +309,10 @@
"import json\n",
"\n",
"sample_input = json.dumps({\n",
" 'data': [\n",
" [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n",
" [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]\n",
" ]\n",
" 'data': dataset_x[0:2].tolist()\n",
"})\n",
"\n",
"sample_input = bytes(sample_input, encoding='utf-8')\n",
"\n",
"local_service.run(input_data=sample_input)"
"local_service.run(sample_input)"
]
},
{
@@ -366,12 +331,10 @@
"outputs": [],
"source": [
"%%writefile score.py\n",
"import os\n",
"import pickle\n",
"import joblib\n",
"import json\n",
"import numpy as np\n",
"from sklearn.externals import joblib\n",
"from sklearn.linear_model import Ridge\n",
"import os\n",
"\n",
"from inference_schema.schema_decorators import input_schema, output_schema\n",
"from inference_schema.parameter_types.numpy_parameter_type import NumpyParameterType\n",
@@ -382,10 +345,10 @@
" # It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)\n",
" # For multiple models, it points to the folder containing all deployed models (./azureml-models)\n",
" model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'sklearn_regression_model.pkl')\n",
" # deserialize the model file back into a sklearn model\n",
" # Deserialize the model file back into a sklearn model.\n",
" model = joblib.load(model_path)\n",
"\n",
"input_sample = np.array([[10,9,8,7,6,5,4,3,2,1]])\n",
"input_sample = np.array([[10.0, 9.0, 8.0, 7.0, 6.0, 5.0, 4.0, 3.0, 2.0, 1.0]])\n",
"output_sample = np.array([3726.995])\n",
"\n",
"@input_schema('data', NumpyParameterType(input_sample))\n",
@@ -393,8 +356,8 @@
"def run(data):\n",
" try:\n",
" result = model.predict(data)\n",
" # you can return any datatype as long as it is JSON-serializable\n",
" return 'hello from updated score.py'\n",
" # You can return any JSON-serializable object.\n",
" return 'Hello from the updated score.py: ' + str(result.tolist())\n",
" except Exception as e:\n",
" error = str(e)\n",
" return error"
@@ -410,7 +373,7 @@
"print(\"--------------------------------------------------------------\")\n",
"\n",
"# After calling reload(), run() will return the updated message.\n",
"local_service.run(input_data=sample_input)"
"local_service.run(sample_input)"
]
},
{

View File

@@ -1,35 +0,0 @@
import os
import pickle
import json
import numpy as np
from sklearn.externals import joblib
from sklearn.linear_model import Ridge
from inference_schema.schema_decorators import input_schema, output_schema
from inference_schema.parameter_types.numpy_parameter_type import NumpyParameterType
def init():
global model
# AZUREML_MODEL_DIR is an environment variable created during deployment.
# It is the path to the model folder (./azureml-models/$MODEL_NAME/$VERSION)
# For multiple models, it points to the folder containing all deployed models (./azureml-models)
model_path = os.path.join(os.getenv('AZUREML_MODEL_DIR'), 'sklearn_regression_model.pkl')
# deserialize the model file back into a sklearn model
model = joblib.load(model_path)
input_sample = np.array([[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]])
output_sample = np.array([3726.995])
@input_schema('data', NumpyParameterType(input_sample))
@output_schema(NumpyParameterType(output_sample))
def run(data):
try:
result = model.predict(data)
# you can return any datatype as long as it is JSON-serializable
return result.tolist()
except Exception as e:
error = str(e)
return error

View File

@@ -172,7 +172,7 @@
"source": [
"from azureml.core.conda_dependencies import CondaDependencies\n",
"\n",
"myenv = CondaDependencies.create(conda_packages=['numpy','scikit-learn'],\n",
"myenv = CondaDependencies.create(conda_packages=['numpy','scikit-learn==0.20.3'],\n",
" pip_packages=['azureml-defaults'])\n",
"\n",
"with open(\"myenv.yml\",\"w\") as f:\n",
@@ -465,7 +465,7 @@
"metadata": {
"authors": [
{
"name": "shipatel"
"name": "gopalv"
}
],
"kernelspec": {

View File

@@ -149,7 +149,7 @@
"metadata": {},
"outputs": [],
"source": [
"%%writefile score.py\n",
"%%writefile score_ssl.py\n",
"import os\n",
"import pickle\n",
"import json\n",
@@ -201,7 +201,7 @@
"source": [
"from azureml.core.model import InferenceConfig\n",
"\n",
"inf_config = InferenceConfig(entry_script='score.py', environment=myenv)"
"inf_config = InferenceConfig(entry_script='score_ssl.py', environment=myenv)"
]
},
{

View File

@@ -109,7 +109,7 @@
"from azureml.core import Environment\n",
"from azureml.core.conda_dependencies import CondaDependencies \n",
"\n",
"conda_deps = CondaDependencies.create(conda_packages=['numpy','scikit-learn==0.19.1','scipy'], pip_packages=['azureml-defaults'])\n",
"conda_deps = CondaDependencies.create(conda_packages=['numpy','scikit-learn==0.19.1','scipy'], pip_packages=['azureml-defaults', 'inference-schema'])\n",
"myenv = Environment(name='myenv')\n",
"myenv.python.conda_dependencies = conda_deps"
]

View File

@@ -204,108 +204,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"### Option 1: Provision as a run based compute target\n",
"### Option 1: Provision a compute target (Basic)\n",
"\n",
"You can provision AmlCompute as a compute target at run-time. In this case, the compute is auto-created for your run, scales up to max_nodes that you specify, and then **deleted automatically** after the run completes."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core.runconfig import RunConfiguration\n",
"from azureml.core.conda_dependencies import CondaDependencies\n",
"from azureml.core.runconfig import DEFAULT_CPU_IMAGE\n",
"\n",
"# create a new runconfig object\n",
"run_config = RunConfiguration()\n",
"\n",
"# signal that you want to use AmlCompute to execute script.\n",
"run_config.target = \"amlcompute\"\n",
"\n",
"# AmlCompute will be created in the same region as workspace\n",
"# Set vm size for AmlCompute\n",
"run_config.amlcompute.vm_size = 'STANDARD_D2_V2'\n",
"\n",
"# enable Docker \n",
"run_config.environment.docker.enabled = True\n",
"\n",
"# set Docker base image to the default CPU-based image\n",
"run_config.environment.docker.base_image = DEFAULT_CPU_IMAGE\n",
"\n",
"# use conda_dependencies.yml to create a conda environment in the Docker image for execution\n",
"run_config.environment.python.user_managed_dependencies = False\n",
"\n",
"azureml_pip_packages = [\n",
" 'azureml-defaults', 'azureml-contrib-interpret', 'azureml-core', 'azureml-telemetry',\n",
" 'azureml-interpret', 'sklearn-pandas', 'azureml-dataprep'\n",
"]\n",
"\n",
"# Note: this is to pin the scikit-learn and pandas versions to be same as notebook.\n",
"# In production scenario user would choose their dependencies\n",
"import pkg_resources\n",
"available_packages = pkg_resources.working_set\n",
"sklearn_ver = None\n",
"pandas_ver = None\n",
"for dist in available_packages:\n",
" if dist.key == 'scikit-learn':\n",
" sklearn_ver = dist.version\n",
" elif dist.key == 'pandas':\n",
" pandas_ver = dist.version\n",
"sklearn_dep = 'scikit-learn'\n",
"pandas_dep = 'pandas'\n",
"if sklearn_ver:\n",
" sklearn_dep = 'scikit-learn=={}'.format(sklearn_ver)\n",
"if pandas_ver:\n",
" pandas_dep = 'pandas=={}'.format(pandas_ver)\n",
"# specify CondaDependencies obj\n",
"# The CondaDependencies specifies the conda and pip packages that are installed in the environment\n",
"# the submitted job is run in. Note the remote environment(s) needs to be similar to the local\n",
"# environment, otherwise if a model is trained or deployed in a different environment this can\n",
"# cause errors. Please take extra care when specifying your dependencies in a production environment.\n",
"run_config.environment.python.conda_dependencies = CondaDependencies.create(conda_packages=[sklearn_dep, pandas_dep],\n",
" pip_packages=azureml_pip_packages)\n",
"\n",
"# Now submit a run on AmlCompute\n",
"from azureml.core.script_run_config import ScriptRunConfig\n",
"\n",
"script_run_config = ScriptRunConfig(source_directory=project_folder,\n",
" script='train_explain.py',\n",
" run_config=run_config)\n",
"\n",
"run = experiment.submit(script_run_config)\n",
"\n",
"# Show run details\n",
"run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note: if you need to cancel a run, you can follow [these instructions](https://aka.ms/aml-docs-cancel-run)."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%time\n",
"# Shows output of the run on stdout.\n",
"run.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Option 2: Provision as a persistent compute target (Basic)\n",
"\n",
"You can provision a persistent AmlCompute resource by simply defining two parameters thanks to smart defaults. By default it autoscales from 0 nodes and provisions dedicated VMs to run your job in a container. This is useful when you want to continously re-use the same target, debug it between jobs or simply share the resource with other users of your workspace.\n",
"You can provision an AmlCompute resource by simply defining two parameters thanks to smart defaults. By default it autoscales from 0 nodes and provisions dedicated VMs to run your job in a container. This is useful when you want to continously re-use the same target, debug it between jobs or simply share the resource with other users of your workspace.\n",
"\n",
"* `vm_size`: VM family of the nodes provisioned by AmlCompute. Simply choose from the supported_vmsizes() above\n",
"* `max_nodes`: Maximum nodes to autoscale to while running a job on AmlCompute"
@@ -351,18 +252,17 @@
"from azureml.core.runconfig import RunConfiguration\n",
"from azureml.core.conda_dependencies import CondaDependencies\n",
"\n",
"# create a new RunConfig object\n",
"# Create a new RunConfig object\n",
"run_config = RunConfiguration(framework=\"python\")\n",
"\n",
"# Set compute target to AmlCompute target created in previous step\n",
"run_config.target = cpu_cluster.name\n",
"\n",
"# enable Docker \n",
"# Enable Docker \n",
"run_config.environment.docker.enabled = True\n",
"\n",
"azureml_pip_packages = [\n",
" 'azureml-defaults', 'azureml-contrib-interpret', 'azureml-core', 'azureml-telemetry',\n",
" 'azureml-interpret', 'azureml-dataprep'\n",
" 'azureml-defaults', 'azureml-contrib-interpret', 'azureml-telemetry', 'azureml-interpret'\n",
"]\n",
"\n",
"# Note: this is to pin the scikit-learn and pandas versions to be same as notebook.\n",
@@ -382,13 +282,13 @@
" sklearn_dep = 'scikit-learn=={}'.format(sklearn_ver)\n",
"if pandas_ver:\n",
" pandas_dep = 'pandas=={}'.format(pandas_ver)\n",
"# specify CondaDependencies obj\n",
"# Specify CondaDependencies obj\n",
"# The CondaDependencies specifies the conda and pip packages that are installed in the environment\n",
"# the submitted job is run in. Note the remote environment(s) needs to be similar to the local\n",
"# environment, otherwise if a model is trained or deployed in a different environment this can\n",
"# cause errors. Please take extra care when specifying your dependencies in a production environment.\n",
"run_config.environment.python.conda_dependencies = CondaDependencies.create(conda_packages=[sklearn_dep, pandas_dep],\n",
" pip_packages=azureml_pip_packages)\n",
"azureml_pip_packages.extend([sklearn_dep, pandas_dep])\n",
"run_config.environment.python.conda_dependencies = CondaDependencies.create(pip_packages=azureml_pip_packages)\n",
"\n",
"from azureml.core import Run\n",
"from azureml.core import ScriptRunConfig\n",
@@ -400,6 +300,13 @@
"run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note: if you need to cancel a run, you can follow [these instructions](https://aka.ms/aml-docs-cancel-run)."
]
},
{
"cell_type": "code",
"execution_count": null,
@@ -424,7 +331,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"### Option 3: Provision as a persistent compute target (Advanced)\n",
"### Option 2: Provision a compute target (Advanced)\n",
"\n",
"You can also specify additional properties or change defaults while provisioning AmlCompute using a more advanced configuration. This is useful when you want a dedicated cluster of 4 nodes (for example you can set the min_nodes and max_nodes to 4), or want the compute to be within an existing VNet in your subscription.\n",
"\n",
@@ -483,18 +390,17 @@
"from azureml.core.runconfig import RunConfiguration\n",
"from azureml.core.conda_dependencies import CondaDependencies\n",
"\n",
"# create a new RunConfig object\n",
"# Create a new RunConfig object\n",
"run_config = RunConfiguration(framework=\"python\")\n",
"\n",
"# Set compute target to AmlCompute target created in previous step\n",
"run_config.target = cpu_cluster.name\n",
"\n",
"# enable Docker \n",
"# Enable Docker \n",
"run_config.environment.docker.enabled = True\n",
"\n",
"azureml_pip_packages = [\n",
" 'azureml-defaults', 'azureml-contrib-interpret', 'azureml-core', 'azureml-telemetry',\n",
" 'azureml-interpret', 'azureml-dataprep'\n",
" 'azureml-defaults', 'azureml-contrib-interpret', 'azureml-telemetry', 'azureml-interpret'\n",
"]\n",
"\n",
"\n",
@@ -516,13 +422,13 @@
" sklearn_dep = 'scikit-learn=={}'.format(sklearn_ver)\n",
"if pandas_ver:\n",
" pandas_dep = 'pandas=={}'.format(pandas_ver)\n",
"# specify CondaDependencies obj\n",
"# Specify CondaDependencies obj\n",
"# The CondaDependencies specifies the conda and pip packages that are installed in the environment\n",
"# the submitted job is run in. Note the remote environment(s) needs to be similar to the local\n",
"# environment, otherwise if a model is trained or deployed in a different environment this can\n",
"# cause errors. Please take extra care when specifying your dependencies in a production environment.\n",
"run_config.environment.python.conda_dependencies = CondaDependencies.create(conda_packages=[sklearn_dep, pandas_dep],\n",
" pip_packages=azureml_pip_packages)\n",
"azureml_pip_packages.extend([sklearn_dep, pandas_dep])\n",
"run_config.environment.python.conda_dependencies = CondaDependencies.create(pip_packages=azureml_pip_packages)\n",
"\n",
"from azureml.core import Run\n",
"from azureml.core import ScriptRunConfig\n",
@@ -554,19 +460,6 @@
"run.get_metrics()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.contrib.interpret.explanation.explanation_client import ExplanationClient\n",
"\n",
"client = ExplanationClient.from_run(run)\n",
"# Get the top k (e.g., 4) most important features with their importance values\n",
"explanation = client.download_model_explanation(top_k=4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -682,7 +575,7 @@
"metadata": {},
"outputs": [],
"source": [
"# retrieve model for visualization and deployment\n",
"# Retrieve model for visualization and deployment\n",
"from azureml.core.model import Model\n",
"import joblib\n",
"original_model = Model(ws, 'model_explain_model_on_amlcomp')\n",
@@ -703,7 +596,7 @@
"metadata": {},
"outputs": [],
"source": [
"# retrieve x_test for visualization\n",
"# Retrieve x_test for visualization\n",
"import joblib\n",
"x_test_path = './x_test_boston_housing.pkl'\n",
"run.download_file('x_test_boston_housing.pkl', output_file_path=x_test_path)"

View File

@@ -7,5 +7,5 @@ dependencies:
- matplotlib
- azureml-contrib-interpret
- sklearn-pandas
- azureml-dataprep
- azureml-dataset-runtime
- ipywidgets

View File

@@ -122,7 +122,7 @@
"metadata": {},
"outputs": [],
"source": [
"# get the IBM employee attrition dataset\n",
"# Get the IBM employee attrition dataset\n",
"outdirname = 'dataset.6.21.19'\n",
"try:\n",
" from urllib import urlretrieve\n",
@@ -223,7 +223,7 @@
"# Append classifier to preprocessing pipeline.\n",
"# Now we have a full prediction pipeline.\n",
"clf = Pipeline(steps=[('preprocessor', transformations),\n",
" ('classifier', SVC(kernel='linear', C = 1.0, probability=True))])"
" ('classifier', SVC(C=1.0, probability=True))])"
]
},
{
@@ -249,7 +249,7 @@
"# Append classifier to preprocessing pipeline.\n",
"# Now we have a full prediction pipeline.\n",
"clf = Pipeline(steps=[('preprocessor', transformations),\n",
" ('classifier', SVC(kernel='linear', C = 1.0, probability=True))]) \n",
" ('classifier', SVC(C=1.0, probability=True))]) \n",
"\n",
"\n",
"\n",
@@ -393,7 +393,7 @@
"metadata": {},
"outputs": [],
"source": [
"# feature shap values for all features and all data points in the training data\n",
"# Feature shap values for all features and all data points in the training data\n",
"print('local importance values: {}'.format(global_explanation.local_importance_values))"
]
},
@@ -450,8 +450,7 @@
"outputs": [],
"source": [
"import azureml.core\n",
"from azureml.core import Workspace, Experiment, Run\n",
"from interpret.ext.blackbox import TabularExplainer\n",
"from azureml.core import Workspace, Experiment\n",
"from azureml.contrib.interpret.explanation.explanation_client import ExplanationClient\n",
"# Check core SDK version number\n",
"print(\"SDK version:\", azureml.core.VERSION)"
@@ -576,6 +575,23 @@
"ExplanationDashboard(downloaded_global_explanation, model, datasetX=x_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## End\n",
"Complete the run"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"run.complete()"
]
},
{
"cell_type": "markdown",
"metadata": {},

View File

@@ -141,7 +141,7 @@
"metadata": {},
"outputs": [],
"source": [
"# get IBM attrition data\n",
"# Get IBM attrition data\n",
"import os\n",
"import pandas as pd\n",
"\n",
@@ -222,13 +222,13 @@
" random_state=0,\n",
" stratify=target)\n",
"\n",
"# preprocess the data and fit the classification model\n",
"# Preprocess the data and fit the classification model\n",
"clf.fit(x_train, y_train)\n",
"model = clf.steps[-1][1]\n",
"\n",
"model_file_name = 'log_reg.pkl'\n",
"\n",
"# save model in the outputs folder so it automatically get uploaded\n",
"# Save model in the outputs folder so it automatically get uploaded\n",
"with open(model_file_name, 'wb') as file:\n",
" joblib.dump(value=clf, filename=os.path.join('./outputs/',\n",
" model_file_name))"
@@ -345,13 +345,12 @@
" sklearn_dep = 'scikit-learn=={}'.format(sklearn_ver)\n",
"if pandas_ver:\n",
" pandas_dep = 'pandas=={}'.format(pandas_ver)\n",
"# specify CondaDependencies obj\n",
"# Specify CondaDependencies obj\n",
"# The CondaDependencies specifies the conda and pip packages that are installed in the environment\n",
"# the submitted job is run in. Note the remote environment(s) needs to be similar to the local\n",
"# environment, otherwise if a model is trained or deployed in a different environment this can\n",
"# cause errors. Please take extra care when specifying your dependencies in a production environment.\n",
"myenv = CondaDependencies.create(conda_packages=[sklearn_dep, pandas_dep],\n",
" pip_packages=['sklearn-pandas', 'pyyaml'] + azureml_pip_packages,\n",
"myenv = CondaDependencies.create(pip_packages=['sklearn-pandas', 'pyyaml', sklearn_dep, pandas_dep] + azureml_pip_packages,\n",
" pin_sdk_version=False)\n",
"\n",
"with open(\"myenv.yml\",\"w\") as f:\n",
@@ -368,7 +367,7 @@
"outputs": [],
"source": [
"from azureml.core.model import Model\n",
"# retrieve scoring explainer for deployment\n",
"# Retrieve scoring explainer for deployment\n",
"scoring_explainer_model = Model(ws, 'IBM_attrition_explainer')"
]
},
@@ -416,11 +415,11 @@
"\n",
"headers = {'Content-Type':'application/json'}\n",
"\n",
"# send request to service\n",
"# Send request to service\n",
"print(\"POST to url\", service.scoring_uri)\n",
"resp = requests.post(service.scoring_uri, sample_data, headers=headers)\n",
"\n",
"# can covert back to Python objects from json string if desired\n",
"# Can covert back to Python objects from json string if desired\n",
"print(\"prediction:\", resp.text)\n",
"result = json.loads(resp.text)"
]
@@ -431,7 +430,7 @@
"metadata": {},
"outputs": [],
"source": [
"#plot the feature importance for the prediction\n",
"# Plot the feature importance for the prediction\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt; plt.rcdefaults()\n",
"\n",

View File

@@ -156,7 +156,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Submit an AmlCompute run in a few different ways\n",
"## Submit an AmlCompute run\n",
"\n",
"First lets check which VM families are available in your region. Azure is a regional service and some specialized SKUs (especially GPUs) are only available in certain regions. Since AmlCompute is created in the region of your workspace, we will use the supported_vms () function to see if the VM family we want to use ('STANDARD_D2_V2') is supported.\n",
"\n",
@@ -202,9 +202,43 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"### Provision as a run based compute target\n",
"### Provision a compute target\n",
"\n",
"You can provision AmlCompute as a compute target at run-time. In this case, the compute is auto-created for your run, scales up to max_nodes that you specify, and then **deleted automatically** after the run completes."
"You can provision an AmlCompute resource by simply defining two parameters thanks to smart defaults. By default it autoscales from 0 nodes and provisions dedicated VMs to run your job in a container. This is useful when you want to continously re-use the same target, debug it between jobs or simply share the resource with other users of your workspace.\n",
"\n",
"* `vm_size`: VM family of the nodes provisioned by AmlCompute. Simply choose from the supported_vmsizes() above\n",
"* `max_nodes`: Maximum nodes to autoscale to while running a job on AmlCompute"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core.compute import ComputeTarget, AmlCompute\n",
"from azureml.core.compute_target import ComputeTargetException\n",
"\n",
"# Choose a name for your CPU cluster\n",
"cpu_cluster_name = \"cpu-cluster\"\n",
"\n",
"# Verify that cluster does not exist already\n",
"try:\n",
" cpu_cluster = ComputeTarget(workspace=ws, name=cpu_cluster_name)\n",
" print('Found existing cluster, use it.')\n",
"except ComputeTargetException:\n",
" compute_config = AmlCompute.provisioning_configuration(vm_size='STANDARD_D2_V2',\n",
" max_nodes=4)\n",
" cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, compute_config)\n",
"\n",
"cpu_cluster.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Configure & Run"
]
},
{
@@ -217,31 +251,23 @@
"from azureml.core.conda_dependencies import CondaDependencies\n",
"from azureml.core.runconfig import DEFAULT_CPU_IMAGE\n",
"\n",
"# create a new runconfig object\n",
"# Create a new runconfig object\n",
"run_config = RunConfiguration()\n",
"\n",
"# signal that you want to use AmlCompute to execute script.\n",
"run_config.target = \"amlcompute\"\n",
"# Set compute target to AmlCompute target created in previous step\n",
"run_config.target = cpu_cluster.name\n",
"\n",
"# AmlCompute will be created in the same region as workspace\n",
"# Set vm size for AmlCompute\n",
"run_config.amlcompute.vm_size = 'STANDARD_D2_V2'\n",
"\n",
"# enable Docker \n",
"# Enable Docker \n",
"run_config.environment.docker.enabled = True\n",
"\n",
"# set Docker base image to the default CPU-based image\n",
"# Set Docker base image to the default CPU-based image\n",
"run_config.environment.docker.base_image = DEFAULT_CPU_IMAGE\n",
"\n",
"# use conda_dependencies.yml to create a conda environment in the Docker image for execution\n",
"# Use conda_dependencies.yml to create a conda environment in the Docker image for execution\n",
"run_config.environment.python.user_managed_dependencies = False\n",
"\n",
"# auto-prepare the Docker image when used for execution (if it is not already prepared)\n",
"run_config.auto_prepare_environment = True\n",
"\n",
"azureml_pip_packages = [\n",
" 'azureml-defaults', 'azureml-contrib-interpret', 'azureml-core', 'azureml-telemetry',\n",
" 'azureml-interpret', 'azureml-dataprep'\n",
" 'azureml-defaults', 'azureml-contrib-interpret', 'azureml-telemetry', 'azureml-interpret'\n",
"]\n",
" \n",
"\n",
@@ -263,13 +289,13 @@
" sklearn_dep = 'scikit-learn=={}'.format(sklearn_ver)\n",
"if pandas_ver:\n",
" pandas_dep = 'pandas=={}'.format(pandas_ver)\n",
"# specify CondaDependencies obj\n",
"# Specify CondaDependencies obj\n",
"# The CondaDependencies specifies the conda and pip packages that are installed in the environment\n",
"# the submitted job is run in. Note the remote environment(s) needs to be similar to the local\n",
"# environment, otherwise if a model is trained or deployed in a different environment this can\n",
"# cause errors. Please take extra care when specifying your dependencies in a production environment.\n",
"run_config.environment.python.conda_dependencies = CondaDependencies.create(conda_packages=[sklearn_dep, pandas_dep],\n",
" pip_packages=['sklearn_pandas', 'pyyaml'] + azureml_pip_packages,\n",
"azureml_pip_packages.extend(['sklearn-pandas', 'pyyaml', sklearn_dep, pandas_dep])\n",
"run_config.environment.python.conda_dependencies = CondaDependencies.create(pip_packages=azureml_pip_packages,\n",
" pin_sdk_version=False)\n",
"# Now submit a run on AmlCompute\n",
"from azureml.core.script_run_config import ScriptRunConfig\n",
@@ -327,7 +353,7 @@
"metadata": {},
"outputs": [],
"source": [
"# retrieve model for visualization and deployment\n",
"# Retrieve model for visualization and deployment\n",
"from azureml.core.model import Model\n",
"import joblib\n",
"original_model = Model(ws, 'amlcompute_deploy_model')\n",
@@ -341,7 +367,7 @@
"metadata": {},
"outputs": [],
"source": [
"# retrieve global explanation for visualization\n",
"# Retrieve global explanation for visualization\n",
"from azureml.contrib.interpret.explanation.explanation_client import ExplanationClient\n",
"\n",
"# get model explanation data\n",
@@ -355,7 +381,7 @@
"metadata": {},
"outputs": [],
"source": [
"# retrieve x_test for visualization\n",
"# Retrieve x_test for visualization\n",
"import joblib\n",
"x_test_path = './x_test.pkl'\n",
"run.download_file('x_test_ibm.pkl', output_file_path=x_test_path)\n",
@@ -396,13 +422,6 @@
"Deploy Model and ScoringExplainer"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
@@ -435,13 +454,13 @@
" sklearn_dep = 'scikit-learn=={}'.format(sklearn_ver)\n",
"if pandas_ver:\n",
" pandas_dep = 'pandas=={}'.format(pandas_ver)\n",
"# specify CondaDependencies obj\n",
"# Specify CondaDependencies obj\n",
"# The CondaDependencies specifies the conda and pip packages that are installed in the environment\n",
"# the submitted job is run in. Note the remote environment(s) needs to be similar to the local\n",
"# environment, otherwise if a model is trained or deployed in a different environment this can\n",
"# cause errors. Please take extra care when specifying your dependencies in a production environment.\n",
"myenv = CondaDependencies.create(conda_packages=[sklearn_dep, pandas_dep],\n",
" pip_packages=['sklearn-pandas', 'pyyaml'] + azureml_pip_packages,\n",
"azureml_pip_packages.extend(['sklearn-pandas', 'pyyaml', sklearn_dep, pandas_dep])\n",
"myenv = CondaDependencies.create(pip_packages=azureml_pip_packages,\n",
" pin_sdk_version=False)\n",
"\n",
"with open(\"myenv.yml\",\"w\") as f:\n",
@@ -457,7 +476,7 @@
"metadata": {},
"outputs": [],
"source": [
"# retrieve scoring explainer for deployment\n",
"# Retrieve scoring explainer for deployment\n",
"scoring_explainer_model = Model(ws, 'IBM_attrition_explainer')"
]
},
@@ -496,17 +515,17 @@
"source": [
"import requests\n",
"\n",
"# create data to test service with\n",
"# Create data to test service with\n",
"examples = x_test[:4]\n",
"input_data = examples.to_json()\n",
"\n",
"headers = {'Content-Type':'application/json'}\n",
"\n",
"# send request to service\n",
"# Send request to service\n",
"print(\"POST to url\", service.scoring_uri)\n",
"resp = requests.post(service.scoring_uri, input_data, headers=headers)\n",
"\n",
"# can covert back to Python objects from json string if desired\n",
"# Can covert back to Python objects from json string if desired\n",
"print(\"prediction:\", resp.text)"
]
},
@@ -536,13 +555,6 @@
"1. [Inferencing time: deploy a locally-trained model and explainer](./train-explain-model-locally-and-deploy.ipynb)\n",
"1. [Inferencing time: deploy a locally-trained keras model and explainer](./train-explain-model-keras-locally-and-deploy.ipynb)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {

View File

@@ -7,6 +7,6 @@ dependencies:
- matplotlib
- azureml-contrib-interpret
- sklearn-pandas
- azureml-dataprep
- azureml-dataset-runtime
- azureml-core
- ipywidgets

View File

@@ -342,7 +342,7 @@
"## Running a few steps in parallel\n",
"Here we are looking at a simple scenario where we are running a few steps (all involving PythonScriptStep) in parallel. Running nodes in **parallel** is the default behavior for steps in a pipeline.\n",
"\n",
"We already have one step defined earlier. Let's define few more steps."
"We already have one step defined earlier. Let's define few more steps. For step3, we are using customized conda-dependency, and job might fail when \"azureml-defaults\" (or other meta package) is not in pip-package list. We need to be aware if we are not using any of the meta packages (azureml-sdk, azureml-defaults, azureml-core), and we recommend installing \"azureml-defaults\"."
]
},
{
@@ -637,7 +637,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
"version": "3.6.2"
},
"order_index": 1,
"tags": [

View File

@@ -544,7 +544,7 @@
"metadata": {
"authors": [
{
"name": "sanpil"
"name": "nagaur"
}
],
"category": "tutorial",

View File

@@ -40,7 +40,7 @@
"outputs": [],
"source": [
"import azureml.core\n",
"from azureml.core import Workspace, Datastore, Experiment\n",
"from azureml.core import Workspace, Datastore, Experiment, Dataset\n",
"from azureml.core.compute import AmlCompute\n",
"from azureml.core.compute import ComputeTarget\n",
"\n",
@@ -109,7 +109,7 @@
"metadata": {},
"source": [
"## Building Pipeline Steps with Inputs and Outputs\n",
"As mentioned earlier, a step in the pipeline can take data as input. This data can be a data source that lives in one of the accessible data locations, or intermediate data produced by a previous step in the pipeline."
"A step in the pipeline can take [dataset](https://docs.microsoft.com/python/api/azureml-core/azureml.data.filedataset?view=azure-ml-py) as input. This dataset can be a data source that lives in one of the accessible data locations, or intermediate data produced by a previous step in the pipeline."
]
},
{
@@ -118,13 +118,20 @@
"metadata": {},
"outputs": [],
"source": [
"# Reference the data uploaded to blob storage using DataReference\n",
"# Uploading data to the datastore\n",
"data_path = def_blob_store.upload_files([\"./20news.pkl\"], target_path=\"20newsgroups\", overwrite=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Reference the data uploaded to blob storage using file dataset\n",
"# Assign the datasource to blob_input_data variable\n",
"blob_input_data = DataReference(\n",
" datastore=def_blob_store,\n",
" data_reference_name=\"test_data\",\n",
" path_on_datastore=\"20newsgroups/20news.pkl\")\n",
"print(\"DataReference object created\")"
"blob_input_data = Dataset.File.from_files(data_path).as_named_input(\"test_data\")\n",
"print(\"Dataset created\")"
]
},
{
@@ -142,8 +149,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Define a Step that consumes a datasource and produces intermediate data.\n",
"In this step, we define a step that consumes a datasource and produces intermediate data.\n",
"#### Define a Step that consumes a dataset and produces intermediate data.\n",
"In this step, we define a step that consumes a dataset and produces intermediate data.\n",
"\n",
"**Open `train.py` in the local machine and examine the arguments, inputs, and outputs for the script. That will give you a good sense of why the script argument names used below are important.** \n",
"\n",

View File

@@ -1,5 +1,13 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Copyright (c) Microsoft Corporation. All rights reserved. \n",
"Licensed under the MIT License."
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -1062,7 +1070,7 @@
"metadata": {
"authors": [
{
"name": "sanpil"
"name": "anshirga"
}
],
"kernelspec": {

View File

@@ -6,10 +6,15 @@ import numpy as np
from azureml.core.model import Model
from sklearn.linear_model import LogisticRegression
from azureml_user.parallel_run import EntryScript
def init():
global iris_model
logger = EntryScript().logger
logger.info("init() is called.")
parser = argparse.ArgumentParser(description="Iris model serving")
parser.add_argument('--model_name', dest="model_name", required=True)
args, unknown_args = parser.parse_known_args()
@@ -20,6 +25,9 @@ def init():
def run(input_data):
logger = EntryScript().logger
logger.info("run() is called with: {}.".format(input_data))
# make inference
num_rows, num_cols = input_data.shape
pred = iris_model.predict(input_data).reshape((num_rows, 1))

View File

@@ -120,6 +120,6 @@ pipeline_run.wait_for_completion(show_output=True)
- [file-dataset-image-inference-mnist.ipynb](./file-dataset-image-inference-mnist.ipynb) demonstrates how to run batch inference on an MNIST dataset using FileDataset.
- [tabular-dataset-inference-iris.ipynb](./tabular-dataset-inference-iris.ipynb) demonstrates how to run batch inference on an IRIS dataset using TabularDataset.
- [pipeline-style-transfer.ipynb](../pipeline-style-transfer/pipeline-style-transfer.ipynb) demonstrates using ParallelRunStep in multi-step pipeline and using output from one step as input to ParallelRunStep.
- [pipeline-style-transfer.ipynb](../pipeline-style-transfer/pipeline-style-transfer-parallel-run.ipynb) demonstrates using ParallelRunStep in multi-step pipeline and using output from one step as input to ParallelRunStep.
![Impressions](https://PixelServer20190423114238.azurewebsites.net/api/impressions/MachineLearningNotebooks/how-to-use-azureml/machine-learning-pipelines/parallel-run/README.png)

View File

@@ -51,7 +51,23 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Check core SDK version number\n",
"import azureml.core\n",
"\n",
"print(\"SDK version:\", azureml.core.VERSION)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"from azureml.core import Workspace\n",
@@ -181,6 +197,13 @@
"input_mnist_ds = Dataset.File.from_files(path=path_on_datastore, validate=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The input dataset can be specified as a pipeline parameter, so that you can pass in new data when rerun the PRS pipeline."
]
},
{
"cell_type": "code",
"execution_count": null,
@@ -199,15 +222,7 @@
"metadata": {},
"source": [
"### Intermediate/Output Data\n",
"Intermediate data (or output of a Step) is represented by [PipelineData](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-core/azureml.pipeline.core.pipelinedata?view=azure-ml-py) object. PipelineData can be produced by one step and consumed in another step by providing the PipelineData object as an output of one step and the input of one or more steps.\n",
"\n",
"**Constructing PipelineData**\n",
"- name: [Required] Name of the data item within the pipeline graph\n",
"- datastore_name: Name of the Datastore to write this output to\n",
"- output_name: Name of the output\n",
"- output_mode: Specifies \"upload\" or \"mount\" modes for producing output (default: mount)\n",
"- output_path_on_compute: For \"upload\" mode, the path to which the module writes this output during execution\n",
"- output_overwrite: Flag to overwrite pre-existing data"
"Intermediate data (or output of a Step) is represented by [PipelineData](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-core/azureml.pipeline.core.pipelinedata?view=azure-ml-py) object. PipelineData can be produced by one step and consumed in another step by providing the PipelineData object as an output of one step and the input of one or more steps."
]
},
{
@@ -218,9 +233,7 @@
"source": [
"from azureml.pipeline.core import Pipeline, PipelineData\n",
"\n",
"output_dir = PipelineData(name=\"inferences\", \n",
" datastore=def_data_store, \n",
" output_path_on_compute=\"mnist/results\")"
"output_dir = PipelineData(name=\"inferences\", datastore=def_data_store)"
]
},
{
@@ -298,11 +311,7 @@
" \n",
"\n",
"#### Dependencies\n",
"Helper scripts or Python/Conda packages required to run the entry script or model.\n",
"\n",
"The deployment configuration for the compute target that hosts the deployed model. This configuration describes things like memory and CPU requirements needed to run the model.\n",
"\n",
"These items are encapsulated into an inference configuration and a deployment configuration. The inference configuration references the entry script and other dependencies. You define these configurations programmatically when you use the SDK to perform the deployment. You define them in JSON files when you use the CLI."
"Helper scripts or Python/Conda packages required to run the entry script."
]
},
{
@@ -332,7 +341,10 @@
"metadata": {},
"source": [
"### Specify the environment to run the script\n",
"Specify the conda dependencies for your script. This will allow us to install pip packages as well as configure the inference environment."
"Specify the conda dependencies for your script. This will allow us to install pip packages as well as configure the inference environment.\n",
"* Always include **azureml-core** and **azureml-dataset-runtime\\[fuse\\]** in the pip package list to make ParallelRunStep run properly.\n",
"\n",
"If you're using custom image (`batch_env.python.user_managed_dependencies = True`), you need to install the package to your image."
]
},
{
@@ -345,7 +357,7 @@
"from azureml.core.runconfig import CondaDependencies, DEFAULT_CPU_IMAGE\n",
"\n",
"batch_conda_deps = CondaDependencies.create(pip_packages=[\"tensorflow==1.15.2\", \"pillow\", \n",
" \"azureml-core\", \"azureml-dataprep[fuse]\"])\n",
" \"azureml-core\", \"azureml-dataset-runtime[fuse]\"])\n",
"batch_env = Environment(name=\"batch_environment\")\n",
"batch_env.python.conda_dependencies = batch_conda_deps\n",
"batch_env.docker.enabled = True\n",
@@ -401,7 +413,7 @@
" parallel_run_config=parallel_run_config,\n",
" inputs=[ input_mnist_ds_consumption ],\n",
" output=output_dir,\n",
" allow_reuse=True\n",
" allow_reuse=False\n",
")"
]
},
@@ -430,7 +442,9 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"### Monitor the run"
"### Monitor the run\n",
"\n",
"The pipeline run status could be checked in Azure Machine Learning portal (https://ml.azure.com). The link to the pipeline run could be retrieved by inspecting the `pipeline_run` object."
]
},
{
@@ -439,8 +453,8 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.widgets import RunDetails\n",
"RunDetails(pipeline_run).show()"
"# This will output information of the pipeline run, including the link to the details page of portal.\n",
"pipeline_run"
]
},
{
@@ -456,9 +470,40 @@
"metadata": {},
"outputs": [],
"source": [
"# Wait the run for completion and show output log to console\n",
"pipeline_run.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### View the prediction results per input image\n",
"In the digit_identification.py file above you can see that the ResultList with the filename and the prediction result gets returned. These are written to the DataStore specified in the PipelineData object as the output data, which in this case is called *inferences*. This containers the outputs from all of the worker nodes used in the compute cluster. You can download this data to view the results ... below just filters to the first 10 rows"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import tempfile\n",
"\n",
"batch_run = pipeline_run.find_step_run(parallelrun_step.name)[0]\n",
"batch_output = batch_run.get_output_data(output_dir.name)\n",
"\n",
"target_dir = tempfile.mkdtemp()\n",
"batch_output.download(local_path=target_dir)\n",
"result_file = os.path.join(target_dir, batch_output.path_on_datastore, parallel_run_config.append_row_file_name)\n",
"\n",
"df = pd.read_csv(result_file, delimiter=\":\", header=None)\n",
"df.columns = [\"Filename\", \"Prediction\"]\n",
"print(\"Prediction has \", df.shape[0], \" rows\")\n",
"df.head(10) "
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -496,15 +541,8 @@
"metadata": {},
"outputs": [],
"source": [
"pipeline_run_2.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### View the prediction results per input image\n",
"In the score.py file above you can see that the ResultList with the filename and the prediction result gets returned. These are written to the DataStore specified in the PipelineData object as the output data, which in this case is called *inferences*. This containers the outputs from all of the worker nodes used in the compute cluster. You can download this data to view the results ... below just filters to the first 10 rows"
"# This will output information of the pipeline run, including the link to the details page of portal.\n",
"pipeline_run_2"
]
},
{
@@ -513,25 +551,8 @@
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import shutil\n",
"\n",
"# remove previous run results, if present\n",
"shutil.rmtree(\"mnist_results\", ignore_errors=True)\n",
"\n",
"batch_run = next(pipeline_run.get_children())\n",
"batch_output = batch_run.get_output_data(\"inferences\")\n",
"batch_output.download(local_path=\"mnist_results\")\n",
"\n",
"for root, dirs, files in os.walk(\"mnist_results\"):\n",
" for file in files:\n",
" if file.endswith('mnist_outputs.txt'):\n",
" result_file = os.path.join(root,file)\n",
"\n",
"df = pd.read_csv(result_file, delimiter=\":\", header=None)\n",
"df.columns = [\"Filename\", \"Prediction\"]\n",
"print(\"Prediction has \", df.shape[0], \" rows\")\n",
"df.head(10) "
"# Wait the run for completion and show output log to console\n",
"pipeline_run_2.wait_for_completion(show_output=True)"
]
},
{

View File

@@ -49,7 +49,23 @@
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Check core SDK version number\n",
"import azureml.core\n",
"\n",
"print(\"SDK version:\", azureml.core.VERSION)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"from azureml.core import Workspace\n",
@@ -168,15 +184,7 @@
"metadata": {},
"source": [
"### Intermediate/Output Data\n",
"Intermediate data (or output of a Step) is represented by [PipelineData](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-core/azureml.pipeline.core.pipelinedata?view=azure-ml-py) object. PipelineData can be produced by one step and consumed in another step by providing the PipelineData object as an output of one step and the input of one or more steps.\n",
"\n",
"**Constructing PipelineData**\n",
"- name: [Required] Name of the data item within the pipeline graph\n",
"- datastore_name: Name of the Datastore to write this output to\n",
"- output_name: Name of the output\n",
"- output_mode: Specifies \"upload\" or \"mount\" modes for producing output (default: mount)\n",
"- output_path_on_compute: For \"upload\" mode, the path to which the module writes this output during execution\n",
"- output_overwrite: Flag to overwrite pre-existing data"
"Intermediate data (or output of a Step) is represented by [PipelineData](https://docs.microsoft.com/en-us/python/api/azureml-pipeline-core/azureml.pipeline.core.pipelinedata?view=azure-ml-py) object. PipelineData can be produced by one step and consumed in another step by providing the PipelineData object as an output of one step and the input of one or more steps."
]
},
{
@@ -250,11 +258,7 @@
" \n",
"\n",
"#### Dependencies\n",
"Helper scripts or Python/Conda packages required to run the entry script or model.\n",
"\n",
"The deployment configuration for the compute target that hosts the deployed model. This configuration describes things like memory and CPU requirements needed to run the model.\n",
"\n",
"These items are encapsulated into an inference configuration and a deployment configuration. The inference configuration references the entry script and other dependencies. You define these configurations programmatically when you use the SDK to perform the deployment. You define them in JSON files when you use the CLI.\n",
"Helper scripts or Python/Conda packages required to run the entry script.\n",
"\n",
"## Print inferencing script"
]
@@ -286,7 +290,11 @@
"metadata": {},
"source": [
"### Specify the environment to run the script\n",
"Specify the conda dependencies for your script. This will allow us to install pip packages as well as configure the inference environment."
"Specify the conda dependencies for your script. This will allow us to install pip packages as well as configure the inference environment.\n",
"* Always include **azureml-core** and **azureml-dataset-runtime\\[fuse\\]** in the pip package list to make ParallelRunStep run properly.\n",
"* For TabularDataset, add **pandas** as `run(mini_batch)` uses `pandas.DataFrame` as mini_batch type.\n",
"\n",
"If you're using custom image (`batch_env.python.user_managed_dependencies = True`), you need to install the package to your image."
]
},
{
@@ -299,7 +307,7 @@
"from azureml.core.runconfig import CondaDependencies\n",
"\n",
"predict_conda_deps = CondaDependencies.create(pip_packages=[\"scikit-learn==0.20.3\",\n",
" \"azureml-core\", \"azureml-dataprep[pandas,fuse]\"])\n",
" \"azureml-core\", \"azureml-dataset-runtime[pandas,fuse]\"])\n",
"\n",
"predict_env = Environment(name=\"predict_environment\")\n",
"predict_env.python.conda_dependencies = predict_conda_deps\n",
@@ -326,13 +334,13 @@
"parallel_run_config = ParallelRunConfig(\n",
" source_directory=scripts_folder,\n",
" entry_script=script_file, # the user script to run against each input\n",
" mini_batch_size='5MB',\n",
" mini_batch_size='1KB',\n",
" error_threshold=5,\n",
" output_action='append_row',\n",
" append_row_file_name=\"iris_outputs.txt\",\n",
" environment=predict_env,\n",
" compute_target=compute_target, \n",
" node_count=3,\n",
" node_count=2,\n",
" run_invocation_timeout=600\n",
")"
]
@@ -357,7 +365,7 @@
" output=output_folder,\n",
" parallel_run_config=parallel_run_config,\n",
" arguments=['--model_name', 'iris-prs'],\n",
" allow_reuse=True\n",
" allow_reuse=False\n",
")"
]
},
@@ -383,13 +391,22 @@
"pipeline_run = Experiment(ws, 'iris-prs').submit(pipeline)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## View progress of Pipeline run\n",
"\n",
"The pipeline run status could be checked in Azure Machine Learning portal (https://ml.azure.com). The link to the pipeline run could be retrieved by inspecting the `pipeline_run` object."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# this will output a table with link to the run details in azure portal\n",
"# This will output information of the pipeline run, including the link to the details page of portal.\n",
"pipeline_run"
]
},
@@ -397,29 +414,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## View progress of Pipeline run\n",
"\n",
"The progress of the pipeline is able to be viewed either through azureml.widgets or a console feed from PipelineRun.wait_for_completion()."
"### Optional: View detailed logs (streaming) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# GUI\n",
"from azureml.widgets import RunDetails\n",
"RunDetails(pipeline_run).show() "
]
"metadata": {
"tags": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Console logs\n",
"## Wait the run for completion and show output log to console\n",
"pipeline_run.wait_for_completion(show_output=True)"
]
},
@@ -438,19 +444,14 @@
"outputs": [],
"source": [
"import pandas as pd\n",
"import shutil\n",
"import tempfile\n",
"\n",
"shutil.rmtree(\"iris_results\", ignore_errors=True)\n",
"prediction_run = pipeline_run.find_step_run(distributed_csv_iris_step.name)[0]\n",
"prediction_output = prediction_run.get_output_data(output_folder.name)\n",
"\n",
"prediction_run = next(pipeline_run.get_children())\n",
"prediction_output = prediction_run.get_output_data(\"inferences\")\n",
"prediction_output.download(local_path=\"iris_results\")\n",
"\n",
"\n",
"for root, dirs, files in os.walk(\"iris_results\"):\n",
" for file in files:\n",
" if file.endswith('iris_outputs.txt'):\n",
" result_file = os.path.join(root,file)\n",
"target_dir = tempfile.mkdtemp()\n",
"prediction_output.download(local_path=target_dir)\n",
"result_file = os.path.join(target_dir, prediction_output.path_on_datastore, parallel_run_config.append_row_file_name)\n",
"\n",
"# cleanup output format\n",
"df = pd.read_csv(result_file, delimiter=\" \", header=None)\n",

View File

@@ -0,0 +1,185 @@
# Original source: https://github.com/pytorch/examples/blob/master/fast_neural_style/neural_style/neural_style.py
import argparse
import os
import sys
import re
from PIL import Image
import torch
from torchvision import transforms
def load_image(filename, size=None, scale=None):
img = Image.open(filename)
if size is not None:
img = img.resize((size, size), Image.ANTIALIAS)
elif scale is not None:
img = img.resize((int(img.size[0] / scale), int(img.size[1] / scale)), Image.ANTIALIAS)
return img
def save_image(filename, data):
img = data.clone().clamp(0, 255).numpy()
img = img.transpose(1, 2, 0).astype("uint8")
img = Image.fromarray(img)
img.save(filename)
class TransformerNet(torch.nn.Module):
def __init__(self):
super(TransformerNet, self).__init__()
# Initial convolution layers
self.conv1 = ConvLayer(3, 32, kernel_size=9, stride=1)
self.in1 = torch.nn.InstanceNorm2d(32, affine=True)
self.conv2 = ConvLayer(32, 64, kernel_size=3, stride=2)
self.in2 = torch.nn.InstanceNorm2d(64, affine=True)
self.conv3 = ConvLayer(64, 128, kernel_size=3, stride=2)
self.in3 = torch.nn.InstanceNorm2d(128, affine=True)
# Residual layers
self.res1 = ResidualBlock(128)
self.res2 = ResidualBlock(128)
self.res3 = ResidualBlock(128)
self.res4 = ResidualBlock(128)
self.res5 = ResidualBlock(128)
# Upsampling Layers
self.deconv1 = UpsampleConvLayer(128, 64, kernel_size=3, stride=1, upsample=2)
self.in4 = torch.nn.InstanceNorm2d(64, affine=True)
self.deconv2 = UpsampleConvLayer(64, 32, kernel_size=3, stride=1, upsample=2)
self.in5 = torch.nn.InstanceNorm2d(32, affine=True)
self.deconv3 = ConvLayer(32, 3, kernel_size=9, stride=1)
# Non-linearities
self.relu = torch.nn.ReLU()
def forward(self, X):
y = self.relu(self.in1(self.conv1(X)))
y = self.relu(self.in2(self.conv2(y)))
y = self.relu(self.in3(self.conv3(y)))
y = self.res1(y)
y = self.res2(y)
y = self.res3(y)
y = self.res4(y)
y = self.res5(y)
y = self.relu(self.in4(self.deconv1(y)))
y = self.relu(self.in5(self.deconv2(y)))
y = self.deconv3(y)
return y
class ConvLayer(torch.nn.Module):
def __init__(self, in_channels, out_channels, kernel_size, stride):
super(ConvLayer, self).__init__()
reflection_padding = kernel_size // 2
self.reflection_pad = torch.nn.ReflectionPad2d(reflection_padding)
self.conv2d = torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride)
def forward(self, x):
out = self.reflection_pad(x)
out = self.conv2d(out)
return out
class ResidualBlock(torch.nn.Module):
"""ResidualBlock
introduced in: https://arxiv.org/abs/1512.03385
recommended architecture: http://torch.ch/blog/2016/02/04/resnets.html
"""
def __init__(self, channels):
super(ResidualBlock, self).__init__()
self.conv1 = ConvLayer(channels, channels, kernel_size=3, stride=1)
self.in1 = torch.nn.InstanceNorm2d(channels, affine=True)
self.conv2 = ConvLayer(channels, channels, kernel_size=3, stride=1)
self.in2 = torch.nn.InstanceNorm2d(channels, affine=True)
self.relu = torch.nn.ReLU()
def forward(self, x):
residual = x
out = self.relu(self.in1(self.conv1(x)))
out = self.in2(self.conv2(out))
out = out + residual
return out
class UpsampleConvLayer(torch.nn.Module):
"""UpsampleConvLayer
Upsamples the input and then does a convolution. This method gives better results
compared to ConvTranspose2d.
ref: http://distill.pub/2016/deconv-checkerboard/
"""
def __init__(self, in_channels, out_channels, kernel_size, stride, upsample=None):
super(UpsampleConvLayer, self).__init__()
self.upsample = upsample
if upsample:
self.upsample_layer = torch.nn.Upsample(mode='nearest', scale_factor=upsample)
reflection_padding = kernel_size // 2
self.reflection_pad = torch.nn.ReflectionPad2d(reflection_padding)
self.conv2d = torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride)
def forward(self, x):
x_in = x
if self.upsample:
x_in = self.upsample_layer(x_in)
out = self.reflection_pad(x_in)
out = self.conv2d(out)
return out
def stylize(args):
device = torch.device("cuda" if args.cuda else "cpu")
with torch.no_grad():
style_model = TransformerNet()
state_dict = torch.load(os.path.join(args.model_dir, args.style + ".pth"))
# remove saved deprecated running_* keys in InstanceNorm from the checkpoint
for k in list(state_dict.keys()):
if re.search(r'in\d+\.running_(mean|var)$', k):
del state_dict[k]
style_model.load_state_dict(state_dict)
style_model.to(device)
filenames = os.listdir(args.content_dir)
for filename in filenames:
print("Processing {}".format(filename))
full_path = os.path.join(args.content_dir, filename)
content_image = load_image(full_path, scale=args.content_scale)
content_transform = transforms.Compose([
transforms.ToTensor(),
transforms.Lambda(lambda x: x.mul(255))
])
content_image = content_transform(content_image)
content_image = content_image.unsqueeze(0).to(device)
output = style_model(content_image).cpu()
output_path = os.path.join(args.output_dir, filename)
save_image(output_path, output[0])
def main():
arg_parser = argparse.ArgumentParser(description="parser for fast-neural-style")
arg_parser.add_argument("--content-scale", type=float, default=None,
help="factor for scaling down the content image")
arg_parser.add_argument("--model-dir", type=str, required=True,
help="saved model to be used for stylizing the image.")
arg_parser.add_argument("--cuda", type=int, required=True,
help="set it to 1 for running on GPU, 0 for CPU")
arg_parser.add_argument("--style", type=str,
help="style name")
arg_parser.add_argument("--content-dir", type=str, required=True,
help="directory holding the images")
arg_parser.add_argument("--output-dir", type=str, required=True,
help="directory holding the output images")
args = arg_parser.parse_args()
if args.cuda and not torch.cuda.is_available():
print("ERROR: cuda is not available, try running on CPU")
sys.exit(1)
os.makedirs(args.output_dir, exist_ok=True)
stylize(args)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,207 @@
# Original source: https://github.com/pytorch/examples/blob/master/fast_neural_style/neural_style/neural_style.py
import argparse
import os
import sys
import re
from PIL import Image
import torch
from torchvision import transforms
from mpi4py import MPI
def load_image(filename, size=None, scale=None):
img = Image.open(filename)
if size is not None:
img = img.resize((size, size), Image.ANTIALIAS)
elif scale is not None:
img = img.resize((int(img.size[0] / scale), int(img.size[1] / scale)), Image.ANTIALIAS)
return img
def save_image(filename, data):
img = data.clone().clamp(0, 255).numpy()
img = img.transpose(1, 2, 0).astype("uint8")
img = Image.fromarray(img)
img.save(filename)
class TransformerNet(torch.nn.Module):
def __init__(self):
super(TransformerNet, self).__init__()
# Initial convolution layers
self.conv1 = ConvLayer(3, 32, kernel_size=9, stride=1)
self.in1 = torch.nn.InstanceNorm2d(32, affine=True)
self.conv2 = ConvLayer(32, 64, kernel_size=3, stride=2)
self.in2 = torch.nn.InstanceNorm2d(64, affine=True)
self.conv3 = ConvLayer(64, 128, kernel_size=3, stride=2)
self.in3 = torch.nn.InstanceNorm2d(128, affine=True)
# Residual layers
self.res1 = ResidualBlock(128)
self.res2 = ResidualBlock(128)
self.res3 = ResidualBlock(128)
self.res4 = ResidualBlock(128)
self.res5 = ResidualBlock(128)
# Upsampling Layers
self.deconv1 = UpsampleConvLayer(128, 64, kernel_size=3, stride=1, upsample=2)
self.in4 = torch.nn.InstanceNorm2d(64, affine=True)
self.deconv2 = UpsampleConvLayer(64, 32, kernel_size=3, stride=1, upsample=2)
self.in5 = torch.nn.InstanceNorm2d(32, affine=True)
self.deconv3 = ConvLayer(32, 3, kernel_size=9, stride=1)
# Non-linearities
self.relu = torch.nn.ReLU()
def forward(self, X):
y = self.relu(self.in1(self.conv1(X)))
y = self.relu(self.in2(self.conv2(y)))
y = self.relu(self.in3(self.conv3(y)))
y = self.res1(y)
y = self.res2(y)
y = self.res3(y)
y = self.res4(y)
y = self.res5(y)
y = self.relu(self.in4(self.deconv1(y)))
y = self.relu(self.in5(self.deconv2(y)))
y = self.deconv3(y)
return y
class ConvLayer(torch.nn.Module):
def __init__(self, in_channels, out_channels, kernel_size, stride):
super(ConvLayer, self).__init__()
reflection_padding = kernel_size // 2
self.reflection_pad = torch.nn.ReflectionPad2d(reflection_padding)
self.conv2d = torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride)
def forward(self, x):
out = self.reflection_pad(x)
out = self.conv2d(out)
return out
class ResidualBlock(torch.nn.Module):
"""ResidualBlock
introduced in: https://arxiv.org/abs/1512.03385
recommended architecture: http://torch.ch/blog/2016/02/04/resnets.html
"""
def __init__(self, channels):
super(ResidualBlock, self).__init__()
self.conv1 = ConvLayer(channels, channels, kernel_size=3, stride=1)
self.in1 = torch.nn.InstanceNorm2d(channels, affine=True)
self.conv2 = ConvLayer(channels, channels, kernel_size=3, stride=1)
self.in2 = torch.nn.InstanceNorm2d(channels, affine=True)
self.relu = torch.nn.ReLU()
def forward(self, x):
residual = x
out = self.relu(self.in1(self.conv1(x)))
out = self.in2(self.conv2(out))
out = out + residual
return out
class UpsampleConvLayer(torch.nn.Module):
"""UpsampleConvLayer
Upsamples the input and then does a convolution. This method gives better results
compared to ConvTranspose2d.
ref: http://distill.pub/2016/deconv-checkerboard/
"""
def __init__(self, in_channels, out_channels, kernel_size, stride, upsample=None):
super(UpsampleConvLayer, self).__init__()
self.upsample = upsample
if upsample:
self.upsample_layer = torch.nn.Upsample(mode='nearest', scale_factor=upsample)
reflection_padding = kernel_size // 2
self.reflection_pad = torch.nn.ReflectionPad2d(reflection_padding)
self.conv2d = torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride)
def forward(self, x):
x_in = x
if self.upsample:
x_in = self.upsample_layer(x_in)
out = self.reflection_pad(x_in)
out = self.conv2d(out)
return out
def stylize(args, comm):
rank = comm.Get_rank()
size = comm.Get_size()
device = torch.device("cuda" if args.cuda else "cpu")
with torch.no_grad():
style_model = TransformerNet()
state_dict = torch.load(os.path.join(args.model_dir, args.style + ".pth"))
# remove saved deprecated running_* keys in InstanceNorm from the checkpoint
for k in list(state_dict.keys()):
if re.search(r'in\d+\.running_(mean|var)$', k):
del state_dict[k]
style_model.load_state_dict(state_dict)
style_model.to(device)
filenames = os.listdir(args.content_dir)
filenames = sorted(filenames)
partition_size = len(filenames) // size
partitioned_filenames = filenames[rank * partition_size: (rank + 1) * partition_size]
print("RANK {} - is processing {} images out of the total {}".format(rank, len(partitioned_filenames),
len(filenames)))
output_paths = []
for filename in partitioned_filenames:
# print("Processing {}".format(filename))
full_path = os.path.join(args.content_dir, filename)
content_image = load_image(full_path, scale=args.content_scale)
content_transform = transforms.Compose([
transforms.ToTensor(),
transforms.Lambda(lambda x: x.mul(255))
])
content_image = content_transform(content_image)
content_image = content_image.unsqueeze(0).to(device)
output = style_model(content_image).cpu()
output_path = os.path.join(args.output_dir, filename)
save_image(output_path, output[0])
output_paths.append(output_path)
print("RANK {} - number of pre-aggregated output files {}".format(rank, len(output_paths)))
output_paths_list = comm.gather(output_paths, root=0)
if rank == 0:
print("RANK {} - number of aggregated output files {}".format(rank, len(output_paths_list)))
print("RANK {} - end".format(rank))
def main():
arg_parser = argparse.ArgumentParser(description="parser for fast-neural-style")
arg_parser.add_argument("--content-scale", type=float, default=None,
help="factor for scaling down the content image")
arg_parser.add_argument("--model-dir", type=str, required=True,
help="saved model to be used for stylizing the image.")
arg_parser.add_argument("--cuda", type=int, required=True,
help="set it to 1 for running on GPU, 0 for CPU")
arg_parser.add_argument("--style", type=str, help="style name")
arg_parser.add_argument("--content-dir", type=str, required=True,
help="directory holding the images")
arg_parser.add_argument("--output-dir", type=str, required=True,
help="directory holding the output images")
args = arg_parser.parse_args()
comm = MPI.COMM_WORLD
if args.cuda and not torch.cuda.is_available():
print("ERROR: cuda is not available, try running on CPU")
sys.exit(1)
os.makedirs(args.output_dir, exist_ok=True)
stylize(args, comm)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,728 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Copyright (c) Microsoft Corporation. All rights reserved.\n",
"\n",
"Licensed under the MIT License."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![Impressions](https://PixelServer20190423114238.azurewebsites.net/api/impressions/MachineLearningNotebooks/how-to-use-azureml/machine-learning-pipelines/pipeline-style-transfer/pipeline-style-transfer-mpi.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Neural style transfer on video\n",
"Using modified code from `pytorch`'s neural style [example](https://pytorch.org/tutorials/advanced/neural_style_tutorial.html), we show how to setup a pipeline for doing style transfer on video. The pipeline has following steps:\n",
"1. Split a video into images\n",
"2. Run neural style on each image using one of the provided models (from `pytorch` pretrained models for this example).\n",
"3. Stitch the image back into a video."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Prerequisites\n",
"If you are using an Azure Machine Learning Notebook VM, you are all set. Otherwise, make sure you go through the configuration Notebook located at https://github.com/Azure/MachineLearningNotebooks first if you haven't. This sets you up with a working config file that has information on your workspace, subscription id, etc. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Initialize Workspace\n",
"\n",
"Initialize a workspace object from persisted configuration."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"from azureml.core import Workspace, Experiment\n",
"\n",
"ws = Workspace.from_config()\n",
"print('Workspace name: ' + ws.name, \n",
" 'Azure region: ' + ws.location, \n",
" 'Subscription id: ' + ws.subscription_id, \n",
" 'Resource group: ' + ws.resource_group, sep = '\\n')\n",
"\n",
"scripts_folder = \"mpi_scripts\"\n",
"\n",
"if not os.path.isdir(scripts_folder):\n",
" os.mkdir(scripts_folder)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core.compute import AmlCompute, ComputeTarget\n",
"from azureml.core.datastore import Datastore\n",
"from azureml.data.data_reference import DataReference\n",
"from azureml.pipeline.core import Pipeline, PipelineData\n",
"from azureml.pipeline.steps import PythonScriptStep, MpiStep\n",
"from azureml.core.runconfig import CondaDependencies, RunConfiguration\n",
"from azureml.core.compute_target import ComputeTargetException"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Create or use existing compute"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# AmlCompute\n",
"cpu_cluster_name = \"cpu-cluster\"\n",
"try:\n",
" cpu_cluster = AmlCompute(ws, cpu_cluster_name)\n",
" print(\"found existing cluster.\")\n",
"except ComputeTargetException:\n",
" print(\"creating new cluster\")\n",
" provisioning_config = AmlCompute.provisioning_configuration(vm_size = \"STANDARD_D2_v2\",\n",
" max_nodes = 1)\n",
"\n",
" # create the cluster\n",
" cpu_cluster = ComputeTarget.create(ws, cpu_cluster_name, provisioning_config)\n",
" cpu_cluster.wait_for_completion(show_output=True)\n",
" \n",
"# AmlCompute\n",
"gpu_cluster_name = \"gpu-cluster\"\n",
"try:\n",
" gpu_cluster = AmlCompute(ws, gpu_cluster_name)\n",
" print(\"found existing cluster.\")\n",
"except ComputeTargetException:\n",
" print(\"creating new cluster\")\n",
" provisioning_config = AmlCompute.provisioning_configuration(vm_size = \"STANDARD_NC6\",\n",
" max_nodes = 3)\n",
"\n",
" # create the cluster\n",
" gpu_cluster = ComputeTarget.create(ws, gpu_cluster_name, provisioning_config)\n",
" gpu_cluster.wait_for_completion(show_output=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python Scripts\n",
"We use an edited version of `neural_style_mpi.py` (original is [here](https://github.com/pytorch/examples/blob/master/fast_neural_style/neural_style/neural_style.py)). Scripts to split and stitch the video are thin wrappers to calls to `ffmpeg`. These scripts are also located in the \"scripts_folder\".\n",
"\n",
"We install `ffmpeg` through conda dependencies."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%writefile $scripts_folder/process_video.py\n",
"import argparse\n",
"import glob\n",
"import os\n",
"import subprocess\n",
"\n",
"parser = argparse.ArgumentParser(description=\"Process input video\")\n",
"parser.add_argument('--input_video', required=True)\n",
"parser.add_argument('--output_audio', required=True)\n",
"parser.add_argument('--output_images', required=True)\n",
"\n",
"args = parser.parse_args()\n",
"\n",
"os.makedirs(args.output_audio, exist_ok=True)\n",
"os.makedirs(args.output_images, exist_ok=True)\n",
"\n",
"subprocess.run(\"ffmpeg -i {} {}/video.aac\"\n",
" .format(args.input_video, args.output_audio),\n",
" shell=True, check=True\n",
" )\n",
"\n",
"subprocess.run(\"ffmpeg -i {} {}/%05d_video.jpg -hide_banner\"\n",
" .format(args.input_video, args.output_images),\n",
" shell=True, check=True\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%writefile $scripts_folder/stitch_video.py\n",
"import argparse\n",
"import os\n",
"import subprocess\n",
"\n",
"parser = argparse.ArgumentParser(description=\"Process input video\")\n",
"parser.add_argument('--images_dir', required=True)\n",
"parser.add_argument('--input_audio', required=True)\n",
"parser.add_argument('--output_dir', required=True)\n",
"\n",
"args = parser.parse_args()\n",
"\n",
"os.makedirs(args.output_dir, exist_ok=True)\n",
"\n",
"subprocess.run(\"ffmpeg -framerate 30 -i {}/%05d_video.jpg -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p \"\n",
" \"-y {}/video_without_audio.mp4\"\n",
" .format(args.images_dir, args.output_dir),\n",
" shell=True, check=True\n",
" )\n",
"\n",
"subprocess.run(\"ffmpeg -i {}/video_without_audio.mp4 -i {}/video.aac -map 0:0 -map 1:0 -vcodec \"\n",
" \"copy -acodec copy -y {}/video_with_audio.mp4\"\n",
" .format(args.output_dir, args.input_audio, args.output_dir),\n",
" shell=True, check=True\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The sample video **organutan.mp4** is stored at a publicly shared datastore. We are registering the datastore below. If you want to take a look at the original video, click here. (https://pipelinedata.blob.core.windows.net/sample-videos/orangutan.mp4)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# datastore for input video\n",
"account_name = \"pipelinedata\"\n",
"video_ds = Datastore.register_azure_blob_container(ws, \"videos\", \"sample-videos\",\n",
" account_name=account_name, overwrite=True)\n",
"\n",
"# datastore for models\n",
"models_ds = Datastore.register_azure_blob_container(ws, \"models\", \"styletransfer\", \n",
" account_name=\"pipelinedata\", \n",
" overwrite=True)\n",
" \n",
"# downloaded models from https://pytorch.org/tutorials/advanced/neural_style_tutorial.html are kept here\n",
"models_dir = DataReference(data_reference_name=\"models\", datastore=models_ds, \n",
" path_on_datastore=\"saved_models\", mode=\"download\")\n",
"\n",
"# the default blob store attached to a workspace\n",
"default_datastore = ws.get_default_datastore()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Sample video"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"video_name=os.getenv(\"STYLE_TRANSFER_VIDEO_NAME\", \"orangutan.mp4\") \n",
"orangutan_video = DataReference(datastore=video_ds,\n",
" data_reference_name=\"video\",\n",
" path_on_datastore=video_name, mode=\"download\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"cd = CondaDependencies()\n",
"\n",
"cd.add_channel(\"conda-forge\")\n",
"cd.add_conda_package(\"ffmpeg\")\n",
"\n",
"cd.add_channel(\"pytorch\")\n",
"cd.add_conda_package(\"pytorch\")\n",
"cd.add_conda_package(\"torchvision\")\n",
"\n",
"# Runconfig\n",
"amlcompute_run_config = RunConfiguration(conda_dependencies=cd)\n",
"amlcompute_run_config.environment.docker.enabled = True\n",
"amlcompute_run_config.environment.docker.base_image = \"pytorch/pytorch\"\n",
"amlcompute_run_config.environment.spark.precache_packages = False"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"ffmpeg_audio = PipelineData(name=\"ffmpeg_audio\", datastore=default_datastore)\n",
"ffmpeg_images = PipelineData(name=\"ffmpeg_images\", datastore=default_datastore)\n",
"processed_images = PipelineData(name=\"processed_images\", datastore=default_datastore)\n",
"output_video = PipelineData(name=\"output_video\", datastore=default_datastore)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Define tweakable parameters to pipeline\n",
"These parameters can be changed when the pipeline is published and rerun from a REST call"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.pipeline.core.graph import PipelineParameter\n",
"# create a parameter for style (one of \"candy\", \"mosaic\", \"rain_princess\", \"udnie\") to transfer the images to\n",
"style_param = PipelineParameter(name=\"style\", default_value=\"mosaic\")\n",
"# create a parameter for the number of nodes to use in step no. 2 (style transfer)\n",
"nodecount_param = PipelineParameter(name=\"nodecount\", default_value=1)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"split_video_step = PythonScriptStep(\n",
" name=\"split video\",\n",
" script_name=\"process_video.py\",\n",
" arguments=[\"--input_video\", orangutan_video,\n",
" \"--output_audio\", ffmpeg_audio,\n",
" \"--output_images\", ffmpeg_images,\n",
" ],\n",
" compute_target=cpu_cluster,\n",
" inputs=[orangutan_video],\n",
" outputs=[ffmpeg_images, ffmpeg_audio],\n",
" runconfig=amlcompute_run_config,\n",
" source_directory=scripts_folder\n",
")\n",
"\n",
"# create a MPI step for distributing style transfer step across multiple nodes in AmlCompute \n",
"# using 'nodecount_param' PipelineParameter\n",
"distributed_style_transfer_step = MpiStep(\n",
" name=\"mpi style transfer\",\n",
" script_name=\"neural_style_mpi.py\",\n",
" arguments=[\"--content-dir\", ffmpeg_images,\n",
" \"--output-dir\", processed_images,\n",
" \"--model-dir\", models_dir,\n",
" \"--style\", style_param,\n",
" \"--cuda\", 1\n",
" ],\n",
" compute_target=gpu_cluster,\n",
" node_count=nodecount_param, \n",
" process_count_per_node=1,\n",
" inputs=[models_dir, ffmpeg_images],\n",
" outputs=[processed_images],\n",
" pip_packages=[\"mpi4py\", \"torch\", \"torchvision\"],\n",
" use_gpu=True,\n",
" source_directory=scripts_folder\n",
")\n",
"\n",
"stitch_video_step = PythonScriptStep(\n",
" name=\"stitch\",\n",
" script_name=\"stitch_video.py\",\n",
" arguments=[\"--images_dir\", processed_images, \n",
" \"--input_audio\", ffmpeg_audio, \n",
" \"--output_dir\", output_video],\n",
" compute_target=cpu_cluster,\n",
" inputs=[processed_images, ffmpeg_audio],\n",
" outputs=[output_video],\n",
" runconfig=amlcompute_run_config,\n",
" source_directory=scripts_folder\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Run the pipeline"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pipeline = Pipeline(workspace=ws, steps=[stitch_video_step])\n",
"# submit the pipeline and provide values for the PipelineParameters used in the pipeline\n",
"pipeline_run = Experiment(ws, 'style_transfer').submit(pipeline, pipeline_parameters={\"style\": \"mosaic\", \"nodecount\": 3})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Monitor using widget"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.widgets import RunDetails\n",
"RunDetails(pipeline_run).show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Downloads the video in `output_video` folder"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Download output video"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def download_video(run, target_dir=None):\n",
" stitch_run = run.find_step_run(\"stitch\")[0]\n",
" port_data = stitch_run.get_output_data(\"output_video\")\n",
" port_data.download(target_dir, show_progress=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pipeline_run.wait_for_completion()\n",
"download_video(pipeline_run, \"output_video_mosaic\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Publish pipeline"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"published_pipeline = pipeline_run.publish_pipeline(\n",
" name=\"batch score style transfer\", description=\"style transfer\", version=\"1.0\")\n",
"\n",
"published_pipeline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Get published pipeline\n",
"\n",
"You can get the published pipeline using **pipeline id**.\n",
"\n",
"To get all the published pipelines for a given workspace(ws): \n",
"```css\n",
"all_pub_pipelines = PublishedPipeline.get_all(ws)\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.pipeline.core import PublishedPipeline\n",
"\n",
"pipeline_id = published_pipeline.id # use your published pipeline id\n",
"published_pipeline = PublishedPipeline.get(ws, pipeline_id)\n",
"\n",
"published_pipeline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Re-run pipeline through REST calls for other styles"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Get AAD token\n",
"[This notebook](https://aka.ms/pl-restep-auth) shows how to authenticate to AML workspace."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.core.authentication import InteractiveLoginAuthentication\n",
"import requests\n",
"\n",
"auth = InteractiveLoginAuthentication()\n",
"aad_token = auth.get_authentication_header()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Get endpoint URL"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"rest_endpoint = published_pipeline.endpoint"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Send request and monitor"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run the pipeline using PipelineParameter values style='candy' and nodecount=2"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"response = requests.post(rest_endpoint, \n",
" headers=aad_token,\n",
" json={\"ExperimentName\": \"style_transfer\",\n",
" \"ParameterAssignments\": {\"style\": \"candy\", \"nodecount\": 2}})"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" response.raise_for_status()\n",
"except Exception: \n",
" raise Exception('Received bad response from the endpoint: {}\\n'\n",
" 'Response Code: {}\\n'\n",
" 'Headers: {}\\n'\n",
" 'Content: {}'.format(rest_endpoint, response.status_code, response.headers, response.content))\n",
"\n",
"run_id = response.json().get('Id')\n",
"print('Submitted pipeline run: ', run_id)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from azureml.pipeline.core.run import PipelineRun\n",
"published_pipeline_run_candy = PipelineRun(ws.experiments[\"style_transfer\"], run_id)\n",
"RunDetails(published_pipeline_run_candy).show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run the pipeline using PipelineParameter values style='rain_princess' and nodecount=3"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"response = requests.post(rest_endpoint, \n",
" headers=aad_token,\n",
" json={\"ExperimentName\": \"style_transfer\",\n",
" \"ParameterAssignments\": {\"style\": \"rain_princess\", \"nodecount\": 3}})"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" response.raise_for_status()\n",
"except Exception: \n",
" raise Exception('Received bad response from the endpoint: {}\\n'\n",
" 'Response Code: {}\\n'\n",
" 'Headers: {}\\n'\n",
" 'Content: {}'.format(rest_endpoint, response.status_code, response.headers, response.content))\n",
"\n",
"run_id = response.json().get('Id')\n",
"print('Submitted pipeline run: ', run_id)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"published_pipeline_run_rain = PipelineRun(ws.experiments[\"style_transfer\"], run_id)\n",
"RunDetails(published_pipeline_run_rain).show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run the pipeline using PipelineParameter values style='udnie' and nodecount=4"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"response = requests.post(rest_endpoint, \n",
" headers=aad_token,\n",
" json={\"ExperimentName\": \"style_transfer\",\n",
" \"ParameterAssignments\": {\"style\": \"udnie\", \"nodecount\": 3}})\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"try:\n",
" response.raise_for_status()\n",
"except Exception: \n",
" raise Exception('Received bad response from the endpoint: {}\\n'\n",
" 'Response Code: {}\\n'\n",
" 'Headers: {}\\n'\n",
" 'Content: {}'.format(rest_endpoint, response.status_code, response.headers, response.content))\n",
"\n",
"run_id = response.json().get('Id')\n",
"print('Submitted pipeline run: ', run_id)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"published_pipeline_run_udnie = PipelineRun(ws.experiments[\"style_transfer\"], run_id)\n",
"RunDetails(published_pipeline_run_udnie).show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Download output from re-run"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"published_pipeline_run_candy.wait_for_completion()\n",
"published_pipeline_run_rain.wait_for_completion()\n",
"published_pipeline_run_udnie.wait_for_completion()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"download_video(published_pipeline_run_candy, target_dir=\"output_video_candy\")\n",
"download_video(published_pipeline_run_rain, target_dir=\"output_video_rain_princess\")\n",
"download_video(published_pipeline_run_udnie, target_dir=\"output_video_udnie\")"
]
}
],
"metadata": {
"authors": [
{
"name": "balapv mabables"
}
],
"kernelspec": {
"display_name": "Python 3.6",
"language": "python",
"name": "python36"
},
"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.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

View File

@@ -13,7 +13,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"![Impressions](https://PixelServer20190423114238.azurewebsites.net/api/impressions/MachineLearningNotebooks/how-to-use-azureml/machine-learning-pipelines/pipeline-style-transfer/pipeline-style-transfer.png)"
"![Impressions](https://PixelServer20190423114238.azurewebsites.net/api/impressions/MachineLearningNotebooks/how-to-use-azureml/machine-learning-pipelines/pipeline-style-transfer/pipeline-style-transfer-parallel-run.png)"
]
},
{
@@ -415,7 +415,7 @@
"parallel_cd.add_conda_package(\"torchvision\")\n",
"parallel_cd.add_conda_package(\"pillow<7\") # needed for torchvision==0.4.0\n",
"parallel_cd.add_pip_package(\"azureml-core\")\n",
"parallel_cd.add_pip_package(\"azureml-dataprep[fuse]\")\n",
"parallel_cd.add_pip_package(\"azureml-dataset-runtime[fuse]\")\n",
"\n",
"styleenvironment = Environment(name=\"styleenvironment\")\n",
"styleenvironment.python.conda_dependencies=parallel_cd\n",
@@ -461,7 +461,7 @@
" output=processed_images, # Output file share/blob container\n",
" arguments=[\"--style\", style_param],\n",
" parallel_run_config=parallel_run_config,\n",
" allow_reuse=True #[optional - default value True]\n",
" allow_reuse=False #[optional - default value True]\n",
")"
]
},
@@ -497,7 +497,10 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Monitor using widget"
"# Monitor pipeline run\n",
"\n",
"The pipeline run status could be checked in Azure Machine Learning portal (https://ml.azure.com). The link to the pipeline run could be retrieved by inspecting the `pipeline_run` object.\n",
"\n"
]
},
{
@@ -506,25 +509,25 @@
"metadata": {},
"outputs": [],
"source": [
"# Track pipeline run progress\n",
"from azureml.widgets import RunDetails\n",
"RunDetails(pipeline_run).show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pipeline_run.wait_for_completion()"
"# This will output information of the pipeline run, including the link to the details page of portal.\n",
"pipeline_run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Downloads the video in `output_video` folder"
"### Optional: View detailed logs (streaming) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# Wait the run for completion and show output log to console\n",
"pipeline_run.wait_for_completion(show_output=True)"
]
},
{
@@ -534,6 +537,13 @@
"# Download output video"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Downloads the video in `output_video` folder"
]
},
{
"cell_type": "code",
"execution_count": null,
@@ -541,8 +551,8 @@
"outputs": [],
"source": [
"def download_video(run, target_dir=None):\n",
" stitch_run = run.find_step_run(\"stitch\")[0]\n",
" port_data = stitch_run.get_output_data(\"output_video\")\n",
" stitch_run = run.find_step_run(stitch_video_step.name)[0]\n",
" port_data = stitch_run.get_output_data(output_video.name)\n",
" port_data.download(target_dir, show_progress=True)"
]
},
@@ -674,7 +684,8 @@
"from azureml.pipeline.core.run import PipelineRun\n",
"published_pipeline_run_candy = PipelineRun(ws.experiments[experiment_name], run_id)\n",
"\n",
"RunDetails(published_pipeline_run_candy).show()"
"# Show detail information of run\n",
"published_pipeline_run_candy"
]
},
{

View File

@@ -0,0 +1,7 @@
name: pipeline-style-transfer-parallel-run
dependencies:
- pip:
- azureml-sdk
- azureml-pipeline-steps
- azureml-widgets
- requests

View File

@@ -459,7 +459,7 @@
" entry_script='tf_mnist.py',\n",
" use_gpu=True,\n",
" framework_version='2.0',\n",
" pip_packages=['azureml-dataprep[pandas,fuse]'])"
" pip_packages=['azureml-dataset-runtime[pandas,fuse]'])"
]
},
{
@@ -630,27 +630,23 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Predict on the test set\n",
"## Predict on the test set (Optional)\n",
"Now load the saved TensorFlow graph, and list all operations under the `network` scope. This way we can discover the input tensor `network/X:0` and the output tensor `network/output/MatMul:0`, and use them in the scoring script in the next step.\n",
"\n",
"Note: if your local TensorFlow version is different than the version running in the cluster where the model is trained, you might see a \"compiletime version mismatch\" warning. You can ignore it."
]
},
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {},
"outputs": [],
"source": [
" import tensorflow as tf\n",
" imported_model = tf.saved_model.load('./model')"
]
},
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {},
"outputs": [],
"source": [
" pred = imported_model(X_test)\n",
" y_hat = np.argmax(pred, axis=1)\n",
@@ -661,19 +657,15 @@
]
},
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {},
"outputs": [],
"source": [
" print(\"Accuracy on the test set:\", np.average(y_hat == y_test))"
]
},
{
"cell_type": "code",
"execution_count": null,
"cell_type": "markdown",
"metadata": {},
"outputs": [],
"source": [
" print(\"Accuracy on the test set:\", np.average(y_hat == y_test))"
]
@@ -724,7 +716,7 @@
" entry_script='tf_mnist.py',\n",
" framework_version='2.0',\n",
" use_gpu=True,\n",
" pip_packages=['azureml-dataprep[pandas,fuse]'])"
" pip_packages=['azureml-dataset-runtime[pandas,fuse]'])"
]
},
{
@@ -1055,7 +1047,7 @@
" font_color = 'red' if y_test[s] != result[i] else 'black'\n",
" clr_map = plt.cm.gray if y_test[s] != result[i] else plt.cm.Greys\n",
" \n",
" plt.text(x=10, y=-10, s=y_hat[s], fontsize=18, color=font_color)\n",
" plt.text(x=10, y=-10, s=result[i], fontsize=18, color=font_color)\n",
" plt.imshow(X_test[s].reshape(28, 28), cmap=clr_map)\n",
" \n",
" i = i + 1\n",

View File

@@ -285,7 +285,7 @@
" distributed_training=Mpi(),\n",
" framework_version='1.13', \n",
" use_gpu=True,\n",
" pip_packages=['azureml-dataprep[pandas,fuse]'])"
" pip_packages=['azureml-dataset-runtime[pandas,fuse]'])"
]
},
{

View File

@@ -5,7 +5,7 @@ dependencies:
- azureml-widgets
- keras
- tensorflow-gpu==1.13.2
- horovod==0.16.1
- horovod==0.19.1
- matplotlib
- pandas
- fuse

View File

@@ -442,12 +442,12 @@
"\n",
"# set up environment\\n\n",
"env = Environment('my_env')\n",
"# ensure latest azureml-dataprep and other required packages installed in the environment\n",
"# ensure latest azureml-dataset-runtime and other required packages installed in the environment\n",
"cd = CondaDependencies.create(pip_packages=['keras',\n",
" 'azureml-sdk',\n",
" 'tensorflow==2.0.0',\n",
" 'matplotlib',\n",
" 'azureml-dataprep[pandas,fuse]'])\n",
" 'azureml-dataset-runtime[pandas,fuse]'])\n",
"\n",
"env.python.conda_dependencies = cd"
]

View File

@@ -300,7 +300,7 @@
" script_params=script_params,\n",
" entry_script='tf_mnist_with_checkpoint.py',\n",
" use_gpu=True,\n",
" pip_packages=['azureml-dataprep[pandas,fuse]'])"
" pip_packages=['azureml-dataset-runtime[pandas,fuse]'])"
]
},
{
@@ -411,7 +411,7 @@
" entry_script='tf_mnist_with_checkpoint.py',\n",
" resume_from=model_location,\n",
" use_gpu=True,\n",
" pip_packages=['azureml-dataprep[pandas,fuse]'])"
" pip_packages=['azureml-dataset-runtime[pandas,fuse]'])"
]
},
{

View File

@@ -264,6 +264,58 @@
"print(prediction)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Wait 15 minutes for scoring data to be uploaded\n",
"\n",
"From the Model Data Collector, it can take up to (but usually less than) 15 minutes for data to arrive in your blob storage account. \n",
"\n",
"Wait 15 minutes to ensure cells below will run."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import time\n",
"\n",
"time.sleep(900)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Get scoring dataset thats been created\n",
"\n",
"Scoring dataset will be created automatically for each model/version/service that has been deployed and registered with name in the format of inference-data-elevation-{model_name}-{model_version}-{service_name}\n",
"\n",
"Wait 15 minutes to ensure cells below will run."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"scoring_dataset_name = \"inference-data-{0}-{1}-{2}\".format(model.name, model.version, service_name)\n",
"scoring_dataset = Dataset.get_by_name(ws, scoring_dataset_name)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create datadset monitor for scoring dataset against training dataset\n",
"\n",
"Check out [datadrift on dataset notebook](../../work-with-data/datadrift-tutorial/datadrift-tutorial.ipynb) for more details"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -302,26 +354,6 @@
" print(compute_target.get_status().serialize())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Wait 10 minutes\n",
"\n",
"From the Model Data Collector, it can take up to (but usually less than) 10 minutes for data to arrive in your blob storage account. Wait 10 minutes to ensure cells below will run."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import time\n",
"\n",
"time.sleep(600)"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -335,22 +367,23 @@
"metadata": {},
"outputs": [],
"source": [
"from datetime import datetime, timedelta\n",
"from azureml.datadrift import DataDriftDetector, AlertConfiguration\n",
"\n",
"services = [service_name]\n",
"start = datetime.now() - timedelta(days=2)\n",
"feature_list = X_features\n",
"alert_config = AlertConfiguration(['user@contoso.com'])\n",
"alert_config = AlertConfiguration(['user@contoso.com']) # replace with your email to recieve alerts from the scheduled pipeline after enabling\n",
"monitor_name = \"monitor_model_demo\"\n",
"baseline = dset # training dataset\n",
"target = scoring_dataset # scording dataset\n",
"\n",
"try:\n",
" monitor = DataDriftDetector.create_from_model(ws, model.name, model.version, services, \n",
" frequency='Day', \n",
" schedule_start=datetime.utcnow() + timedelta(days=1), \n",
" alert_config=alert_config, \n",
" compute_target='cpu-cluster')\n",
" monitor = DataDriftDetector.create_from_datasets(ws, monitor_name, baseline, target, \n",
" compute_target='cpu-cluster', # compute target for scheduled pipeline and backfills \n",
" frequency='Day', # how often to analyze target data\n",
" feature_list=None, # list of features to detect drift on\n",
" drift_threshold=None, # threshold from 0 to 1 for email alerting\n",
" latency=0, # SLA in hours for target data to arrive in the dataset\n",
" alert_config=alert_config) # email addresses to send alert\n",
"except KeyError:\n",
" monitor = DataDriftDetector.get(ws, model.name, model.version)\n",
" monitor = DataDriftDetector.get_by_name(ws, monitor_name)\n",
" \n",
"monitor"
]
@@ -362,7 +395,7 @@
"outputs": [],
"source": [
"# many monitor settings can be updated \n",
"monitor = monitor.update(drift_threshold = 0.1)\n",
"monitor = monitor.update(drift_threshold = 0.1, feature_list = X_features)\n",
"\n",
"monitor"
]
@@ -371,7 +404,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Run the monitor on today's scoring data\n",
"## Analyze today's scoring data\n",
"\n",
"Perform a data drift run on the data sent to the service earlier in this notebook. If you set your email address in the alert configuration and the drift threshold <=0.1 you should recieve an email alert to drift from this run.\n",
"\n",
@@ -384,16 +417,37 @@
"metadata": {},
"outputs": [],
"source": [
"from datetime import datetime\n",
"\n",
"now = datetime.utcnow()\n",
"target_date = datetime(now.year, now.month, now.day)\n",
"run = monitor.run(target_date, services, feature_list=feature_list, compute_target='cpu-cluster')"
"analysis_run = monitor.backfill(target_date, target_date)\n",
"analysis_run"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Get and view results and metrics\n",
"## Query metrics and show results in Python\n",
"\n",
"The below cell will plot some key data drift metrics, and can be used to query the results. Run `help(monitor.get_output)` for specifics on the object returned."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"analysis_run.wait_for_completion(wait_post_processing=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Get and view results and metrics\n",
"\n",
"For enterprise workspaces, the UI in the Azure Machine Learning studio can be used. Otherwise, the metrics can be queried in Python and plotted. "
]
@@ -404,11 +458,8 @@
"metadata": {},
"outputs": [],
"source": [
"# The run() API initiates a pipeline run for each service in the services list. \n",
"# Here we retrieve the individual service run to get its output results and metrics. \n",
"\n",
"child_run = list(run.get_children())[0]\n",
"child_run"
"# get results from Python SDK after the analysis run finishes\n",
"results, metrics = monitor.get_output(start_time=target_date, end_time=target_date)"
]
},
{
@@ -417,25 +468,8 @@
"metadata": {},
"outputs": [],
"source": [
"child_run.wait_for_completion(wait_post_processing=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"results, metrics = monitor.get_output(run_id=child_run.id)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"drift_plots = monitor.show()"
"# plot the results from Python SDK \n",
"monitor.show(start_time=target_date, end_time=target_date)"
]
},
{
@@ -453,7 +487,11 @@
"metadata": {},
"outputs": [],
"source": [
"monitor.enable_schedule()"
"# enable the pipeline schedule and recieve email alerts\n",
"monitor.enable_schedule()\n",
"\n",
"# disable the pipeline schedule \n",
"#monitor.disable_schedule()"
]
},
{
@@ -484,13 +522,6 @@
" * [Send requests or feedback](mailto:driftfeedback@microsoft.com) on data drift directly to the team\n",
" * Please open issues with data drift here on GitHub or on StackOverflow if others are likely to run into the same issue"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
@@ -514,7 +545,7 @@
"Azure ML"
],
"friendly_name": "Data drift on aks",
"index_order": 1.0,
"index_order": 1,
"kernelspec": {
"display_name": "Python 3.6",
"language": "python",
@@ -530,7 +561,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
"version": "3.6.10"
},
"star_tag": [
"featured"

View File

@@ -35,6 +35,7 @@ Using these samples, you will learn how to do the following.
| [cartpole_sc.ipynb](cartpole-on-single-compute/cartpole_sc.ipynb) | Notebook to train a Cartpole playing agent on an Azure Machine Learning Compute Cluster (single node) |
| [pong_rllib.ipynb](atari-on-distributed-compute/pong_rllib.ipynb) | Notebook for distributed training of Pong agent using RLlib on multiple compute targets |
| [minecraft.ipynb](minecraft-on-distributed-compute/minecraft.ipynb) | Notebook to train an agent to navigate through a lava maze in the Minecraft game |
| [particle.ipynb](multiagent-particle-envs/particle.ipynb) | Notebook to train policies in a multiagent cooperative navigation scenario based on OpenAI's Particle environments |
## Prerequisites

View File

@@ -22,7 +22,7 @@
"source": [
"# Reinforcement Learning in Azure Machine Learning - Cartpole Problem on Compute Instance\n",
"\n",
"Reinforcement Learning in Azure Machine Learning is a managed service for running reinforcement learning training and simulation. With Reinforcement Learning in Azure Machine Learning, data scientists can start developing reinforcement learning systems on one machine, and scale to compute targets with 100\u00e2\u20ac\u2122s of nodes if needed.\n",
"Reinforcement Learning in Azure Machine Learning is a managed service for running reinforcement learning training and simulation. With Reinforcement Learning in Azure Machine Learning, data scientists can start developing reinforcement learning systems on one machine, and scale to compute targets with 100s of nodes if needed.\n",
"\n",
"This example shows how to use Reinforcement Learning in Azure Machine Learning to train a Cartpole playing agent on a compute instance."
]
@@ -128,24 +128,12 @@
"source": [
"import os.path\n",
"\n",
"\n",
"# Get information about the currently running compute instance (notebook VM), like its name and prefix.\n",
"def load_nbvm():\n",
" if not os.path.isfile(\"/mnt/azmnt/.nbvm\"):\n",
" return None\n",
" with open(\"/mnt/azmnt/.nbvm\", 'r') as file:\n",
" return {key:value for (key, value) in [line.strip().split('=') for line in file]}\n",
"\n",
"\n",
"# Get information about the capabilities of an azureml.core.compute.AmlCompute target\n",
"# In particular how much RAM + GPU + HDD it has.\n",
"def get_compute_size(self, workspace):\n",
" for size in self.supported_vmsizes(workspace):\n",
" if(size['name'].upper() == self.vm_size):\n",
" return size\n",
"\n",
"azureml.core.compute.ComputeTarget.size = get_compute_size\n",
"del(get_compute_size)"
" with open(\"/mnt/azmnt/.nbvm\", 'r') as nbvm_file:\n",
" return {key:value for (key, value) in line.strip().split('=') for line in nbvm_file}\n"
]
},
{
@@ -161,7 +149,7 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.core.compute import ComputeTarget, ComputeInstance\n",
"from azureml.core.compute import ComputeInstance\n",
"from azureml.core.compute_target import ComputeTargetException\n",
"\n",
"# Load current compute instance info\n",
@@ -188,9 +176,7 @@
"compute_target = ws.compute_targets[instance_name]\n",
"\n",
"print(\"Compute target status:\")\n",
"print(compute_target.get_status().serialize())\n",
"print(\"Compute target size:\")\n",
"print(compute_target.size(ws))"
"print(compute_target.get_status().serialize())\n"
]
},
{
@@ -525,7 +511,6 @@
"outputs": [],
"source": [
"# Find checkpoints and last checkpoint number\n",
"from os import path\n",
"checkpoint_files = [\n",
" os.path.basename(file) for file in training_artifacts_ds.to_path() \\\n",
" if os.path.basename(file).startswith('checkpoint-') and \\\n",
@@ -597,7 +582,7 @@
" rl_framework=Ray(),\n",
" \n",
" # Additional pip packages to install\n",
" pip_packages = ['azureml-dataprep[fuse,pandas]'])"
" pip_packages = ['azureml-dataset-runtime[fuse,pandas]'])"
]
},
{
@@ -629,8 +614,6 @@
"metadata": {},
"outputs": [],
"source": [
"from azureml.widgets import RunDetails\n",
"\n",
"RunDetails(rollout_run).show()"
]
},

Some files were not shown because too many files have changed in this diff Show More