anyscale 0.25.0__py3-none-any.whl → 0.25.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- anyscale/__init__.py +10 -0
- anyscale/_private/anyscale_client/anyscale_client.py +35 -9
- anyscale/_private/anyscale_client/common.py +32 -3
- anyscale/_private/anyscale_client/fake_anyscale_client.py +69 -6
- anyscale/_private/docgen/__main__.py +9 -2
- anyscale/_private/docgen/api.md +13 -0
- anyscale/_private/docgen/models.md +3 -3
- anyscale/client/README.md +4 -0
- anyscale/client/openapi_client/__init__.py +2 -0
- anyscale/client/openapi_client/api/default_api.py +233 -0
- anyscale/client/openapi_client/models/__init__.py +2 -0
- anyscale/client/openapi_client/models/baseimagesenum.py +43 -1
- anyscale/client/openapi_client/models/decorated_interactive_session.py +1 -57
- anyscale/client/openapi_client/models/decorated_job.py +1 -57
- anyscale/client/openapi_client/models/decorated_job_submission.py +1 -29
- anyscale/client/openapi_client/models/decorated_production_job.py +1 -29
- anyscale/client/openapi_client/models/decorated_session.py +1 -57
- anyscale/client/openapi_client/models/decorated_unified_job.py +1 -30
- anyscale/client/openapi_client/models/ha_jobs_sort_field.py +1 -2
- anyscale/client/openapi_client/models/internal_production_job.py +1 -29
- anyscale/client/openapi_client/models/jobs_sort_field.py +1 -2
- anyscale/client/openapi_client/models/serve_deployment_fast_api_docs_status.py +123 -0
- anyscale/client/openapi_client/models/serve_deployment_state.py +2 -1
- anyscale/client/openapi_client/models/servedeploymentfastapidocsstatus_response.py +121 -0
- anyscale/client/openapi_client/models/sessions_sort_field.py +1 -2
- anyscale/client/openapi_client/models/supportedbaseimagesenum.py +43 -1
- anyscale/client/openapi_client/models/unified_job_sort_field.py +1 -2
- anyscale/commands/cloud_commands.py +25 -8
- anyscale/commands/service_account_commands.py +65 -8
- anyscale/controllers/cloud_controller.py +29 -21
- anyscale/controllers/cluster_controller.py +1 -9
- anyscale/controllers/job_controller.py +0 -3
- anyscale/resource_quota/_private/resource_quota_sdk.py +15 -6
- anyscale/sdk/anyscale_client/api/default_api.py +119 -0
- anyscale/sdk/anyscale_client/models/baseimagesenum.py +43 -1
- anyscale/sdk/anyscale_client/models/jobs_sort_field.py +1 -2
- anyscale/sdk/anyscale_client/models/supportedbaseimagesenum.py +43 -1
- anyscale/service_account/__init__.py +88 -0
- anyscale/service_account/_private/service_account_sdk.py +101 -0
- anyscale/service_account/commands.py +147 -0
- anyscale/service_account/models.py +66 -0
- anyscale/shared_anyscale_utils/latest_ray_version.py +1 -1
- anyscale/shared_anyscale_utils/utils/id_gen.py +1 -0
- anyscale/util.py +8 -0
- anyscale/version.py +1 -1
- {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/METADATA +1 -1
- {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/RECORD +52 -47
- anyscale/controllers/service_account_controller.py +0 -168
- {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/LICENSE +0 -0
- {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/NOTICE +0 -0
- {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/WHEEL +0 -0
- {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/entry_points.txt +0 -0
- {anyscale-0.25.0.dist-info → anyscale-0.25.2.dist-info}/top_level.txt +0 -0
@@ -192,6 +192,12 @@ class SUPPORTEDBASEIMAGESENUM(object):
|
|
192
192
|
RAY_ML_2_40_0_PY311_GPU = "anyscale/ray-ml:2.40.0-py311-gpu"
|
193
193
|
RAY_ML_2_40_0_PY39_CPU = "anyscale/ray-ml:2.40.0-py39-cpu"
|
194
194
|
RAY_ML_2_40_0_PY39_GPU = "anyscale/ray-ml:2.40.0-py39-gpu"
|
195
|
+
RAY_ML_2_41_0_PY310_CPU = "anyscale/ray-ml:2.41.0-py310-cpu"
|
196
|
+
RAY_ML_2_41_0_PY310_GPU = "anyscale/ray-ml:2.41.0-py310-gpu"
|
197
|
+
RAY_ML_2_41_0_PY311_CPU = "anyscale/ray-ml:2.41.0-py311-cpu"
|
198
|
+
RAY_ML_2_41_0_PY311_GPU = "anyscale/ray-ml:2.41.0-py311-gpu"
|
199
|
+
RAY_ML_2_41_0_PY39_CPU = "anyscale/ray-ml:2.41.0-py39-cpu"
|
200
|
+
RAY_ML_2_41_0_PY39_GPU = "anyscale/ray-ml:2.41.0-py39-gpu"
|
195
201
|
RAY_ML_2_5_0_PY310_CPU = "anyscale/ray-ml:2.5.0-py310-cpu"
|
196
202
|
RAY_ML_2_5_0_PY310_GPU = "anyscale/ray-ml:2.5.0-py310-gpu"
|
197
203
|
RAY_ML_2_5_0_PY37_CPU = "anyscale/ray-ml:2.5.0-py37-cpu"
|
@@ -1084,6 +1090,42 @@ class SUPPORTEDBASEIMAGESENUM(object):
|
|
1084
1090
|
RAY_2_40_0_SLIM_PY39_CU118 = "anyscale/ray:2.40.0-slim-py39-cu118"
|
1085
1091
|
RAY_2_40_0_SLIM_PY39_CU121 = "anyscale/ray:2.40.0-slim-py39-cu121"
|
1086
1092
|
RAY_2_40_0_SLIM_PY39_CU123 = "anyscale/ray:2.40.0-slim-py39-cu123"
|
1093
|
+
RAY_2_41_0_PY310 = "anyscale/ray:2.41.0-py310"
|
1094
|
+
RAY_2_41_0_PY310_CU117 = "anyscale/ray:2.41.0-py310-cu117"
|
1095
|
+
RAY_2_41_0_PY310_CU118 = "anyscale/ray:2.41.0-py310-cu118"
|
1096
|
+
RAY_2_41_0_PY310_CU121 = "anyscale/ray:2.41.0-py310-cu121"
|
1097
|
+
RAY_2_41_0_PY310_CU123 = "anyscale/ray:2.41.0-py310-cu123"
|
1098
|
+
RAY_2_41_0_PY311 = "anyscale/ray:2.41.0-py311"
|
1099
|
+
RAY_2_41_0_PY311_CU117 = "anyscale/ray:2.41.0-py311-cu117"
|
1100
|
+
RAY_2_41_0_PY311_CU118 = "anyscale/ray:2.41.0-py311-cu118"
|
1101
|
+
RAY_2_41_0_PY311_CU121 = "anyscale/ray:2.41.0-py311-cu121"
|
1102
|
+
RAY_2_41_0_PY311_CU123 = "anyscale/ray:2.41.0-py311-cu123"
|
1103
|
+
RAY_2_41_0_PY312 = "anyscale/ray:2.41.0-py312"
|
1104
|
+
RAY_2_41_0_PY312_CU117 = "anyscale/ray:2.41.0-py312-cu117"
|
1105
|
+
RAY_2_41_0_PY312_CU118 = "anyscale/ray:2.41.0-py312-cu118"
|
1106
|
+
RAY_2_41_0_PY312_CU121 = "anyscale/ray:2.41.0-py312-cu121"
|
1107
|
+
RAY_2_41_0_PY312_CU123 = "anyscale/ray:2.41.0-py312-cu123"
|
1108
|
+
RAY_2_41_0_PY39 = "anyscale/ray:2.41.0-py39"
|
1109
|
+
RAY_2_41_0_PY39_CU117 = "anyscale/ray:2.41.0-py39-cu117"
|
1110
|
+
RAY_2_41_0_PY39_CU118 = "anyscale/ray:2.41.0-py39-cu118"
|
1111
|
+
RAY_2_41_0_PY39_CU121 = "anyscale/ray:2.41.0-py39-cu121"
|
1112
|
+
RAY_2_41_0_PY39_CU123 = "anyscale/ray:2.41.0-py39-cu123"
|
1113
|
+
RAY_2_41_0_SLIM_PY310 = "anyscale/ray:2.41.0-slim-py310"
|
1114
|
+
RAY_2_41_0_SLIM_PY310_CU118 = "anyscale/ray:2.41.0-slim-py310-cu118"
|
1115
|
+
RAY_2_41_0_SLIM_PY310_CU121 = "anyscale/ray:2.41.0-slim-py310-cu121"
|
1116
|
+
RAY_2_41_0_SLIM_PY310_CU123 = "anyscale/ray:2.41.0-slim-py310-cu123"
|
1117
|
+
RAY_2_41_0_SLIM_PY311 = "anyscale/ray:2.41.0-slim-py311"
|
1118
|
+
RAY_2_41_0_SLIM_PY311_CU118 = "anyscale/ray:2.41.0-slim-py311-cu118"
|
1119
|
+
RAY_2_41_0_SLIM_PY311_CU121 = "anyscale/ray:2.41.0-slim-py311-cu121"
|
1120
|
+
RAY_2_41_0_SLIM_PY311_CU123 = "anyscale/ray:2.41.0-slim-py311-cu123"
|
1121
|
+
RAY_2_41_0_SLIM_PY312 = "anyscale/ray:2.41.0-slim-py312"
|
1122
|
+
RAY_2_41_0_SLIM_PY312_CU118 = "anyscale/ray:2.41.0-slim-py312-cu118"
|
1123
|
+
RAY_2_41_0_SLIM_PY312_CU121 = "anyscale/ray:2.41.0-slim-py312-cu121"
|
1124
|
+
RAY_2_41_0_SLIM_PY312_CU123 = "anyscale/ray:2.41.0-slim-py312-cu123"
|
1125
|
+
RAY_2_41_0_SLIM_PY39 = "anyscale/ray:2.41.0-slim-py39"
|
1126
|
+
RAY_2_41_0_SLIM_PY39_CU118 = "anyscale/ray:2.41.0-slim-py39-cu118"
|
1127
|
+
RAY_2_41_0_SLIM_PY39_CU121 = "anyscale/ray:2.41.0-slim-py39-cu121"
|
1128
|
+
RAY_2_41_0_SLIM_PY39_CU123 = "anyscale/ray:2.41.0-slim-py39-cu123"
|
1087
1129
|
RAY_2_5_0_PY310 = "anyscale/ray:2.5.0-py310"
|
1088
1130
|
RAY_2_5_0_PY310_CU101 = "anyscale/ray:2.5.0-py310-cu101"
|
1089
1131
|
RAY_2_5_0_PY310_CU102 = "anyscale/ray:2.5.0-py310-cu102"
|
@@ -1501,7 +1543,7 @@ class SUPPORTEDBASEIMAGESENUM(object):
|
|
1501
1543
|
RAY_NIGHTLY_PY39_CU121 = "anyscale/ray:nightly-py39-cu121"
|
1502
1544
|
RAY_NIGHTLY_PY39_CU123 = "anyscale/ray:nightly-py39-cu123"
|
1503
1545
|
|
1504
|
-
allowable_values = [RAY_ML_2_0_0_PY37_CPU, RAY_ML_2_0_0_PY37_GPU, RAY_ML_2_0_0_PY38_CPU, RAY_ML_2_0_0_PY38_GPU, RAY_ML_2_0_1_PY37_CPU, RAY_ML_2_0_1_PY37_GPU, RAY_ML_2_0_1_PY38_CPU, RAY_ML_2_0_1_PY38_GPU, RAY_ML_2_1_0_PY37_CPU, RAY_ML_2_1_0_PY37_GPU, RAY_ML_2_1_0_PY38_CPU, RAY_ML_2_1_0_PY38_GPU, RAY_ML_2_10_0_PY310_CPU, RAY_ML_2_10_0_PY310_GPU, RAY_ML_2_10_0_PY38_CPU, RAY_ML_2_10_0_PY38_GPU, RAY_ML_2_10_0_PY39_CPU, RAY_ML_2_10_0_PY39_GPU, RAY_ML_2_11_0_PY310_CPU, RAY_ML_2_11_0_PY310_GPU, RAY_ML_2_11_0_PY311_CPU, RAY_ML_2_11_0_PY311_GPU, RAY_ML_2_11_0_PY39_CPU, RAY_ML_2_11_0_PY39_GPU, RAY_ML_2_12_0_PY310_CPU, RAY_ML_2_12_0_PY310_GPU, RAY_ML_2_12_0_PY311_CPU, RAY_ML_2_12_0_PY311_GPU, RAY_ML_2_12_0_PY39_CPU, RAY_ML_2_12_0_PY39_GPU, RAY_ML_2_2_0_PY310_CPU, RAY_ML_2_2_0_PY310_GPU, RAY_ML_2_2_0_PY37_CPU, RAY_ML_2_2_0_PY37_GPU, RAY_ML_2_2_0_PY38_CPU, RAY_ML_2_2_0_PY38_GPU, RAY_ML_2_2_0_PY39_CPU, RAY_ML_2_2_0_PY39_GPU, RAY_ML_2_20_0_PY310_CPU, RAY_ML_2_20_0_PY310_GPU, RAY_ML_2_20_0_PY311_CPU, RAY_ML_2_20_0_PY311_GPU, RAY_ML_2_20_0_PY39_CPU, RAY_ML_2_20_0_PY39_GPU, RAY_ML_2_21_0_PY310_CPU, RAY_ML_2_21_0_PY310_GPU, RAY_ML_2_21_0_PY311_CPU, RAY_ML_2_21_0_PY311_GPU, RAY_ML_2_21_0_PY39_CPU, RAY_ML_2_21_0_PY39_GPU, RAY_ML_2_22_0_PY310_CPU, RAY_ML_2_22_0_PY310_GPU, RAY_ML_2_22_0_PY311_CPU, RAY_ML_2_22_0_PY311_GPU, RAY_ML_2_22_0_PY39_CPU, RAY_ML_2_22_0_PY39_GPU, RAY_ML_2_23_0_PY310_CPU, RAY_ML_2_23_0_PY310_GPU, RAY_ML_2_23_0_PY311_CPU, RAY_ML_2_23_0_PY311_GPU, RAY_ML_2_23_0_PY39_CPU, RAY_ML_2_23_0_PY39_GPU, RAY_ML_2_24_0_PY310_CPU, RAY_ML_2_24_0_PY310_GPU, RAY_ML_2_24_0_PY311_CPU, RAY_ML_2_24_0_PY311_GPU, RAY_ML_2_24_0_PY39_CPU, RAY_ML_2_24_0_PY39_GPU, RAY_ML_2_3_0_PY310_CPU, RAY_ML_2_3_0_PY310_GPU, RAY_ML_2_3_0_PY37_CPU, RAY_ML_2_3_0_PY37_GPU, RAY_ML_2_3_0_PY38_CPU, RAY_ML_2_3_0_PY38_GPU, RAY_ML_2_3_0_PY39_CPU, RAY_ML_2_3_0_PY39_GPU, RAY_ML_2_3_1_PY310_CPU, RAY_ML_2_3_1_PY310_GPU, RAY_ML_2_3_1_PY37_CPU, RAY_ML_2_3_1_PY37_GPU, RAY_ML_2_3_1_PY38_CPU, RAY_ML_2_3_1_PY38_GPU, RAY_ML_2_3_1_PY39_CPU, RAY_ML_2_3_1_PY39_GPU, RAY_ML_2_30_0_PY310_CPU, RAY_ML_2_30_0_PY310_GPU, RAY_ML_2_30_0_PY311_CPU, RAY_ML_2_30_0_PY311_GPU, RAY_ML_2_30_0_PY39_CPU, RAY_ML_2_30_0_PY39_GPU, RAY_ML_2_31_0_PY310_CPU, RAY_ML_2_31_0_PY310_GPU, RAY_ML_2_31_0_PY311_CPU, RAY_ML_2_31_0_PY311_GPU, RAY_ML_2_31_0_PY39_CPU, RAY_ML_2_31_0_PY39_GPU, RAY_ML_2_32_0_PY310_CPU, RAY_ML_2_32_0_PY310_GPU, RAY_ML_2_32_0_PY311_CPU, RAY_ML_2_32_0_PY311_GPU, RAY_ML_2_32_0_PY39_CPU, RAY_ML_2_32_0_PY39_GPU, RAY_ML_2_33_0_PY310_CPU, RAY_ML_2_33_0_PY310_GPU, RAY_ML_2_33_0_PY311_CPU, RAY_ML_2_33_0_PY311_GPU, RAY_ML_2_33_0_PY39_CPU, RAY_ML_2_33_0_PY39_GPU, RAY_ML_2_34_0_PY310_CPU, RAY_ML_2_34_0_PY310_GPU, RAY_ML_2_34_0_PY311_CPU, RAY_ML_2_34_0_PY311_GPU, RAY_ML_2_34_0_PY39_CPU, RAY_ML_2_34_0_PY39_GPU, RAY_ML_2_35_0_PY310_CPU, RAY_ML_2_35_0_PY310_GPU, RAY_ML_2_35_0_PY311_CPU, RAY_ML_2_35_0_PY311_GPU, RAY_ML_2_35_0_PY39_CPU, RAY_ML_2_35_0_PY39_GPU, RAY_ML_2_36_0_PY310_CPU, RAY_ML_2_36_0_PY310_GPU, RAY_ML_2_36_0_PY311_CPU, RAY_ML_2_36_0_PY311_GPU, RAY_ML_2_36_0_PY39_CPU, RAY_ML_2_36_0_PY39_GPU, RAY_ML_2_36_1_PY310_CPU, RAY_ML_2_36_1_PY310_GPU, RAY_ML_2_36_1_PY311_CPU, RAY_ML_2_36_1_PY311_GPU, RAY_ML_2_36_1_PY39_CPU, RAY_ML_2_36_1_PY39_GPU, RAY_ML_2_37_0_PY310_CPU, RAY_ML_2_37_0_PY310_GPU, RAY_ML_2_37_0_PY311_CPU, RAY_ML_2_37_0_PY311_GPU, RAY_ML_2_37_0_PY39_CPU, RAY_ML_2_37_0_PY39_GPU, RAY_ML_2_38_0_PY310_CPU, RAY_ML_2_38_0_PY310_GPU, RAY_ML_2_38_0_PY311_CPU, RAY_ML_2_38_0_PY311_GPU, RAY_ML_2_38_0_PY39_CPU, RAY_ML_2_38_0_PY39_GPU, RAY_ML_2_39_0_PY310_CPU, RAY_ML_2_39_0_PY310_GPU, RAY_ML_2_39_0_PY311_CPU, RAY_ML_2_39_0_PY311_GPU, RAY_ML_2_39_0_PY39_CPU, RAY_ML_2_39_0_PY39_GPU, RAY_ML_2_4_0_PY310_CPU, RAY_ML_2_4_0_PY310_GPU, RAY_ML_2_4_0_PY37_CPU, RAY_ML_2_4_0_PY37_GPU, RAY_ML_2_4_0_PY38_CPU, RAY_ML_2_4_0_PY38_GPU, RAY_ML_2_4_0_PY39_CPU, RAY_ML_2_4_0_PY39_GPU, RAY_ML_2_40_0_PY310_CPU, RAY_ML_2_40_0_PY310_GPU, RAY_ML_2_40_0_PY311_CPU, RAY_ML_2_40_0_PY311_GPU, RAY_ML_2_40_0_PY39_CPU, RAY_ML_2_40_0_PY39_GPU, RAY_ML_2_5_0_PY310_CPU, RAY_ML_2_5_0_PY310_GPU, RAY_ML_2_5_0_PY37_CPU, RAY_ML_2_5_0_PY37_GPU, RAY_ML_2_5_0_PY38_CPU, RAY_ML_2_5_0_PY38_GPU, RAY_ML_2_5_0_PY39_CPU, RAY_ML_2_5_0_PY39_GPU, RAY_ML_2_5_1_PY310_CPU, RAY_ML_2_5_1_PY310_GPU, RAY_ML_2_5_1_PY37_CPU, RAY_ML_2_5_1_PY37_GPU, RAY_ML_2_5_1_PY38_CPU, RAY_ML_2_5_1_PY38_GPU, RAY_ML_2_5_1_PY39_CPU, RAY_ML_2_5_1_PY39_GPU, RAY_ML_2_6_0_PY310_CPU, RAY_ML_2_6_0_PY310_GPU, RAY_ML_2_6_0_PY38_CPU, RAY_ML_2_6_0_PY38_GPU, RAY_ML_2_6_0_PY39_CPU, RAY_ML_2_6_0_PY39_GPU, RAY_ML_2_6_1_PY310_CPU, RAY_ML_2_6_1_PY310_GPU, RAY_ML_2_6_1_PY38_CPU, RAY_ML_2_6_1_PY38_GPU, RAY_ML_2_6_1_PY39_CPU, RAY_ML_2_6_1_PY39_GPU, RAY_ML_2_6_2_PY310_CPU, RAY_ML_2_6_2_PY310_GPU, RAY_ML_2_6_2_PY38_CPU, RAY_ML_2_6_2_PY38_GPU, RAY_ML_2_6_2_PY39_CPU, RAY_ML_2_6_2_PY39_GPU, RAY_ML_2_6_3_PY310_CPU, RAY_ML_2_6_3_PY310_GPU, RAY_ML_2_6_3_PY38_CPU, RAY_ML_2_6_3_PY38_GPU, RAY_ML_2_6_3_PY39_CPU, RAY_ML_2_6_3_PY39_GPU, RAY_ML_2_7_0OPTIMIZED_PY310_CPU, RAY_ML_2_7_0OPTIMIZED_PY310_GPU, RAY_ML_2_7_0OPTIMIZED_PY38_CPU, RAY_ML_2_7_0OPTIMIZED_PY38_GPU, RAY_ML_2_7_0OPTIMIZED_PY39_CPU, RAY_ML_2_7_0OPTIMIZED_PY39_GPU, RAY_ML_2_7_1OPTIMIZED_PY310_CPU, RAY_ML_2_7_1OPTIMIZED_PY310_GPU, RAY_ML_2_7_1OPTIMIZED_PY38_CPU, RAY_ML_2_7_1OPTIMIZED_PY38_GPU, RAY_ML_2_7_1OPTIMIZED_PY39_CPU, RAY_ML_2_7_1OPTIMIZED_PY39_GPU, RAY_ML_2_7_2OPTIMIZED_PY310_CPU, RAY_ML_2_7_2OPTIMIZED_PY310_GPU, RAY_ML_2_7_2OPTIMIZED_PY38_CPU, RAY_ML_2_7_2OPTIMIZED_PY38_GPU, RAY_ML_2_7_2OPTIMIZED_PY39_CPU, RAY_ML_2_7_2OPTIMIZED_PY39_GPU, RAY_ML_2_8_0_PY310_CPU, RAY_ML_2_8_0_PY310_GPU, RAY_ML_2_8_0_PY38_CPU, RAY_ML_2_8_0_PY38_GPU, RAY_ML_2_8_0_PY39_CPU, RAY_ML_2_8_0_PY39_GPU, RAY_ML_2_8_1_PY310_CPU, RAY_ML_2_8_1_PY310_GPU, RAY_ML_2_8_1_PY38_CPU, RAY_ML_2_8_1_PY38_GPU, RAY_ML_2_8_1_PY39_CPU, RAY_ML_2_8_1_PY39_GPU, RAY_ML_2_9_0_PY310_CPU, RAY_ML_2_9_0_PY310_GPU, RAY_ML_2_9_0_PY38_CPU, RAY_ML_2_9_0_PY38_GPU, RAY_ML_2_9_0_PY39_CPU, RAY_ML_2_9_0_PY39_GPU, RAY_ML_2_9_1_PY310_CPU, RAY_ML_2_9_1_PY310_GPU, RAY_ML_2_9_1_PY38_CPU, RAY_ML_2_9_1_PY38_GPU, RAY_ML_2_9_1_PY39_CPU, RAY_ML_2_9_1_PY39_GPU, RAY_ML_2_9_2_PY310_CPU, RAY_ML_2_9_2_PY310_GPU, RAY_ML_2_9_2_PY38_CPU, RAY_ML_2_9_2_PY38_GPU, RAY_ML_2_9_2_PY39_CPU, RAY_ML_2_9_2_PY39_GPU, RAY_ML_2_9_3_PY310_CPU, RAY_ML_2_9_3_PY310_GPU, RAY_ML_2_9_3_PY38_CPU, RAY_ML_2_9_3_PY38_GPU, RAY_ML_2_9_3_PY39_CPU, RAY_ML_2_9_3_PY39_GPU, RAY_ML_NIGHTLY_PY310_GPU, RAY_ML_NIGHTLY_PY311_GPU, RAY_ML_NIGHTLY_PY312_GPU, RAY_ML_NIGHTLY_PY37_GPU, RAY_ML_NIGHTLY_PY38_GPU, RAY_ML_NIGHTLY_PY39_GPU, RAY_2_0_0_PY310, RAY_2_0_0_PY37, RAY_2_0_0_PY37_CU101, RAY_2_0_0_PY37_CU102, RAY_2_0_0_PY37_CU110, RAY_2_0_0_PY37_CU111, RAY_2_0_0_PY37_CU112, RAY_2_0_0_PY37_CU113, RAY_2_0_0_PY38, RAY_2_0_0_PY38_CU101, RAY_2_0_0_PY38_CU102, RAY_2_0_0_PY38_CU110, RAY_2_0_0_PY38_CU111, RAY_2_0_0_PY38_CU112, RAY_2_0_0_PY38_CU113, RAY_2_0_0_PY39, RAY_2_0_0_PY39_CU101, RAY_2_0_0_PY39_CU102, RAY_2_0_0_PY39_CU110, RAY_2_0_0_PY39_CU111, RAY_2_0_0_PY39_CU112, RAY_2_0_0_PY39_CU113, RAY_2_0_1_PY310, RAY_2_0_1_PY37, RAY_2_0_1_PY37_CU101, RAY_2_0_1_PY37_CU102, RAY_2_0_1_PY37_CU110, RAY_2_0_1_PY37_CU111, RAY_2_0_1_PY37_CU112, RAY_2_0_1_PY37_CU113, RAY_2_0_1_PY37_CU116, RAY_2_0_1_PY38, RAY_2_0_1_PY38_CU101, RAY_2_0_1_PY38_CU102, RAY_2_0_1_PY38_CU110, RAY_2_0_1_PY38_CU111, RAY_2_0_1_PY38_CU112, RAY_2_0_1_PY38_CU113, RAY_2_0_1_PY38_CU116, RAY_2_0_1_PY39, RAY_2_0_1_PY39_CU101, RAY_2_0_1_PY39_CU102, RAY_2_0_1_PY39_CU110, RAY_2_0_1_PY39_CU111, RAY_2_0_1_PY39_CU112, RAY_2_0_1_PY39_CU113, RAY_2_0_1_PY39_CU116, RAY_2_1_0_PY310, RAY_2_1_0_PY310_CU101, RAY_2_1_0_PY310_CU102, RAY_2_1_0_PY310_CU110, RAY_2_1_0_PY310_CU111, RAY_2_1_0_PY310_CU112, RAY_2_1_0_PY310_CU113, RAY_2_1_0_PY310_CU116, RAY_2_1_0_PY37, RAY_2_1_0_PY37_CU101, RAY_2_1_0_PY37_CU102, RAY_2_1_0_PY37_CU110, RAY_2_1_0_PY37_CU111, RAY_2_1_0_PY37_CU112, RAY_2_1_0_PY37_CU113, RAY_2_1_0_PY37_CU116, RAY_2_1_0_PY38, RAY_2_1_0_PY38_CU101, RAY_2_1_0_PY38_CU102, RAY_2_1_0_PY38_CU110, RAY_2_1_0_PY38_CU111, RAY_2_1_0_PY38_CU112, RAY_2_1_0_PY38_CU113, RAY_2_1_0_PY38_CU116, RAY_2_1_0_PY39, RAY_2_1_0_PY39_CU101, RAY_2_1_0_PY39_CU102, RAY_2_1_0_PY39_CU110, RAY_2_1_0_PY39_CU111, RAY_2_1_0_PY39_CU112, RAY_2_1_0_PY39_CU113, RAY_2_1_0_PY39_CU116, RAY_2_10_0_PY310, RAY_2_10_0_PY310_CU115, RAY_2_10_0_PY310_CU116, RAY_2_10_0_PY310_CU117, RAY_2_10_0_PY310_CU118, RAY_2_10_0_PY310_CU121, RAY_2_10_0_PY311, RAY_2_10_0_PY311_CU115, RAY_2_10_0_PY311_CU116, RAY_2_10_0_PY311_CU117, RAY_2_10_0_PY311_CU118, RAY_2_10_0_PY311_CU121, RAY_2_10_0_PY38, RAY_2_10_0_PY38_CU115, RAY_2_10_0_PY38_CU116, RAY_2_10_0_PY38_CU117, RAY_2_10_0_PY38_CU118, RAY_2_10_0_PY38_CU121, RAY_2_10_0_PY39, RAY_2_10_0_PY39_CU115, RAY_2_10_0_PY39_CU116, RAY_2_10_0_PY39_CU117, RAY_2_10_0_PY39_CU118, RAY_2_10_0_PY39_CU121, RAY_2_11_0_PY310, RAY_2_11_0_PY310_CU115, RAY_2_11_0_PY310_CU116, RAY_2_11_0_PY310_CU117, RAY_2_11_0_PY310_CU118, RAY_2_11_0_PY310_CU121, RAY_2_11_0_PY311, RAY_2_11_0_PY311_CU115, RAY_2_11_0_PY311_CU116, RAY_2_11_0_PY311_CU117, RAY_2_11_0_PY311_CU118, RAY_2_11_0_PY311_CU121, RAY_2_11_0_PY39, RAY_2_11_0_PY39_CU115, RAY_2_11_0_PY39_CU116, RAY_2_11_0_PY39_CU117, RAY_2_11_0_PY39_CU118, RAY_2_11_0_PY39_CU121, RAY_2_12_0_PY310, RAY_2_12_0_PY310_CU115, RAY_2_12_0_PY310_CU116, RAY_2_12_0_PY310_CU117, RAY_2_12_0_PY310_CU118, RAY_2_12_0_PY310_CU121, RAY_2_12_0_PY311, RAY_2_12_0_PY311_CU115, RAY_2_12_0_PY311_CU116, RAY_2_12_0_PY311_CU117, RAY_2_12_0_PY311_CU118, RAY_2_12_0_PY311_CU121, RAY_2_12_0_PY39, RAY_2_12_0_PY39_CU115, RAY_2_12_0_PY39_CU116, RAY_2_12_0_PY39_CU117, RAY_2_12_0_PY39_CU118, RAY_2_12_0_PY39_CU121, RAY_2_2_0_PY310, RAY_2_2_0_PY310_CU101, RAY_2_2_0_PY310_CU102, RAY_2_2_0_PY310_CU110, RAY_2_2_0_PY310_CU111, RAY_2_2_0_PY310_CU112, RAY_2_2_0_PY310_CU113, RAY_2_2_0_PY310_CU116, RAY_2_2_0_PY37, RAY_2_2_0_PY37_CU101, RAY_2_2_0_PY37_CU102, RAY_2_2_0_PY37_CU110, RAY_2_2_0_PY37_CU111, RAY_2_2_0_PY37_CU112, RAY_2_2_0_PY37_CU113, RAY_2_2_0_PY37_CU116, RAY_2_2_0_PY38, RAY_2_2_0_PY38_CU101, RAY_2_2_0_PY38_CU102, RAY_2_2_0_PY38_CU110, RAY_2_2_0_PY38_CU111, RAY_2_2_0_PY38_CU112, RAY_2_2_0_PY38_CU113, RAY_2_2_0_PY38_CU116, RAY_2_2_0_PY39, RAY_2_2_0_PY39_CU101, RAY_2_2_0_PY39_CU102, RAY_2_2_0_PY39_CU110, RAY_2_2_0_PY39_CU111, RAY_2_2_0_PY39_CU112, RAY_2_2_0_PY39_CU113, RAY_2_2_0_PY39_CU116, RAY_2_20_0_PY310, RAY_2_20_0_PY310_CU115, RAY_2_20_0_PY310_CU116, RAY_2_20_0_PY310_CU117, RAY_2_20_0_PY310_CU118, RAY_2_20_0_PY310_CU121, RAY_2_20_0_PY311, RAY_2_20_0_PY311_CU115, RAY_2_20_0_PY311_CU116, RAY_2_20_0_PY311_CU117, RAY_2_20_0_PY311_CU118, RAY_2_20_0_PY311_CU121, RAY_2_20_0_PY39, RAY_2_20_0_PY39_CU115, RAY_2_20_0_PY39_CU116, RAY_2_20_0_PY39_CU117, RAY_2_20_0_PY39_CU118, RAY_2_20_0_PY39_CU121, RAY_2_21_0_PY310, RAY_2_21_0_PY310_CU115, RAY_2_21_0_PY310_CU116, RAY_2_21_0_PY310_CU117, RAY_2_21_0_PY310_CU118, RAY_2_21_0_PY310_CU121, RAY_2_21_0_PY311, RAY_2_21_0_PY311_CU115, RAY_2_21_0_PY311_CU116, RAY_2_21_0_PY311_CU117, RAY_2_21_0_PY311_CU118, RAY_2_21_0_PY311_CU121, RAY_2_21_0_PY39, RAY_2_21_0_PY39_CU115, RAY_2_21_0_PY39_CU116, RAY_2_21_0_PY39_CU117, RAY_2_21_0_PY39_CU118, RAY_2_21_0_PY39_CU121, RAY_2_21_0_SLIM_PY310, RAY_2_21_0_SLIM_PY310_CU118, RAY_2_21_0_SLIM_PY310_CU121, RAY_2_21_0_SLIM_PY311, RAY_2_21_0_SLIM_PY311_CU118, RAY_2_21_0_SLIM_PY311_CU121, RAY_2_21_0_SLIM_PY39, RAY_2_21_0_SLIM_PY39_CU118, RAY_2_21_0_SLIM_PY39_CU121, RAY_2_22_0_PY310, RAY_2_22_0_PY310_CU115, RAY_2_22_0_PY310_CU116, RAY_2_22_0_PY310_CU117, RAY_2_22_0_PY310_CU118, RAY_2_22_0_PY310_CU121, RAY_2_22_0_PY311, RAY_2_22_0_PY311_CU115, RAY_2_22_0_PY311_CU116, RAY_2_22_0_PY311_CU117, RAY_2_22_0_PY311_CU118, RAY_2_22_0_PY311_CU121, RAY_2_22_0_PY39, RAY_2_22_0_PY39_CU115, RAY_2_22_0_PY39_CU116, RAY_2_22_0_PY39_CU117, RAY_2_22_0_PY39_CU118, RAY_2_22_0_PY39_CU121, RAY_2_22_0_SLIM_PY310, RAY_2_22_0_SLIM_PY310_CU118, RAY_2_22_0_SLIM_PY310_CU121, RAY_2_22_0_SLIM_PY311, RAY_2_22_0_SLIM_PY311_CU118, RAY_2_22_0_SLIM_PY311_CU121, RAY_2_22_0_SLIM_PY39, RAY_2_22_0_SLIM_PY39_CU118, RAY_2_22_0_SLIM_PY39_CU121, RAY_2_23_0_PY310, RAY_2_23_0_PY310_CU115, RAY_2_23_0_PY310_CU116, RAY_2_23_0_PY310_CU117, RAY_2_23_0_PY310_CU118, RAY_2_23_0_PY310_CU121, RAY_2_23_0_PY311, RAY_2_23_0_PY311_CU115, RAY_2_23_0_PY311_CU116, RAY_2_23_0_PY311_CU117, RAY_2_23_0_PY311_CU118, RAY_2_23_0_PY311_CU121, RAY_2_23_0_PY39, RAY_2_23_0_PY39_CU115, RAY_2_23_0_PY39_CU116, RAY_2_23_0_PY39_CU117, RAY_2_23_0_PY39_CU118, RAY_2_23_0_PY39_CU121, RAY_2_23_0_SLIM_PY310, RAY_2_23_0_SLIM_PY310_CU118, RAY_2_23_0_SLIM_PY310_CU121, RAY_2_23_0_SLIM_PY311, RAY_2_23_0_SLIM_PY311_CU118, RAY_2_23_0_SLIM_PY311_CU121, RAY_2_23_0_SLIM_PY39, RAY_2_23_0_SLIM_PY39_CU118, RAY_2_23_0_SLIM_PY39_CU121, RAY_2_24_0_PY310, RAY_2_24_0_PY310_CU115, RAY_2_24_0_PY310_CU116, RAY_2_24_0_PY310_CU117, RAY_2_24_0_PY310_CU118, RAY_2_24_0_PY310_CU121, RAY_2_24_0_PY311, RAY_2_24_0_PY311_CU115, RAY_2_24_0_PY311_CU116, RAY_2_24_0_PY311_CU117, RAY_2_24_0_PY311_CU118, RAY_2_24_0_PY311_CU121, RAY_2_24_0_PY39, RAY_2_24_0_PY39_CU115, RAY_2_24_0_PY39_CU116, RAY_2_24_0_PY39_CU117, RAY_2_24_0_PY39_CU118, RAY_2_24_0_PY39_CU121, RAY_2_24_0_SLIM_PY310, RAY_2_24_0_SLIM_PY310_CU118, RAY_2_24_0_SLIM_PY310_CU121, RAY_2_24_0_SLIM_PY311, RAY_2_24_0_SLIM_PY311_CU118, RAY_2_24_0_SLIM_PY311_CU121, RAY_2_24_0_SLIM_PY39, RAY_2_24_0_SLIM_PY39_CU118, RAY_2_24_0_SLIM_PY39_CU121, RAY_2_3_0_PY310, RAY_2_3_0_PY310_CU101, RAY_2_3_0_PY310_CU102, RAY_2_3_0_PY310_CU110, RAY_2_3_0_PY310_CU111, RAY_2_3_0_PY310_CU112, RAY_2_3_0_PY310_CU113, RAY_2_3_0_PY310_CU116, RAY_2_3_0_PY310_CU118, RAY_2_3_0_PY37, RAY_2_3_0_PY37_CU101, RAY_2_3_0_PY37_CU102, RAY_2_3_0_PY37_CU110, RAY_2_3_0_PY37_CU111, RAY_2_3_0_PY37_CU112, RAY_2_3_0_PY37_CU113, RAY_2_3_0_PY37_CU116, RAY_2_3_0_PY37_CU118, RAY_2_3_0_PY38, RAY_2_3_0_PY38_CU101, RAY_2_3_0_PY38_CU102, RAY_2_3_0_PY38_CU110, RAY_2_3_0_PY38_CU111, RAY_2_3_0_PY38_CU112, RAY_2_3_0_PY38_CU113, RAY_2_3_0_PY38_CU116, RAY_2_3_0_PY38_CU118, RAY_2_3_0_PY39, RAY_2_3_0_PY39_CU101, RAY_2_3_0_PY39_CU102, RAY_2_3_0_PY39_CU110, RAY_2_3_0_PY39_CU111, RAY_2_3_0_PY39_CU112, RAY_2_3_0_PY39_CU113, RAY_2_3_0_PY39_CU116, RAY_2_3_0_PY39_CU118, RAY_2_3_1_PY310, RAY_2_3_1_PY310_CU101, RAY_2_3_1_PY310_CU102, RAY_2_3_1_PY310_CU110, RAY_2_3_1_PY310_CU111, RAY_2_3_1_PY310_CU112, RAY_2_3_1_PY310_CU113, RAY_2_3_1_PY310_CU116, RAY_2_3_1_PY310_CU118, RAY_2_3_1_PY37, RAY_2_3_1_PY37_CU101, RAY_2_3_1_PY37_CU102, RAY_2_3_1_PY37_CU110, RAY_2_3_1_PY37_CU111, RAY_2_3_1_PY37_CU112, RAY_2_3_1_PY37_CU113, RAY_2_3_1_PY37_CU116, RAY_2_3_1_PY37_CU118, RAY_2_3_1_PY38, RAY_2_3_1_PY38_CU101, RAY_2_3_1_PY38_CU102, RAY_2_3_1_PY38_CU110, RAY_2_3_1_PY38_CU111, RAY_2_3_1_PY38_CU112, RAY_2_3_1_PY38_CU113, RAY_2_3_1_PY38_CU116, RAY_2_3_1_PY38_CU118, RAY_2_3_1_PY39, RAY_2_3_1_PY39_CU101, RAY_2_3_1_PY39_CU102, RAY_2_3_1_PY39_CU110, RAY_2_3_1_PY39_CU111, RAY_2_3_1_PY39_CU112, RAY_2_3_1_PY39_CU113, RAY_2_3_1_PY39_CU116, RAY_2_3_1_PY39_CU118, RAY_2_30_0_PY310, RAY_2_30_0_PY310_CU117, RAY_2_30_0_PY310_CU118, RAY_2_30_0_PY310_CU121, RAY_2_30_0_PY310_CU123, RAY_2_30_0_PY311, RAY_2_30_0_PY311_CU117, RAY_2_30_0_PY311_CU118, RAY_2_30_0_PY311_CU121, RAY_2_30_0_PY311_CU123, RAY_2_30_0_PY39, RAY_2_30_0_PY39_CU117, RAY_2_30_0_PY39_CU118, RAY_2_30_0_PY39_CU121, RAY_2_30_0_PY39_CU123, RAY_2_30_0_SLIM_PY310, RAY_2_30_0_SLIM_PY310_CU118, RAY_2_30_0_SLIM_PY310_CU121, RAY_2_30_0_SLIM_PY310_CU123, RAY_2_30_0_SLIM_PY311, RAY_2_30_0_SLIM_PY311_CU118, RAY_2_30_0_SLIM_PY311_CU121, RAY_2_30_0_SLIM_PY311_CU123, RAY_2_30_0_SLIM_PY39, RAY_2_30_0_SLIM_PY39_CU118, RAY_2_30_0_SLIM_PY39_CU121, RAY_2_30_0_SLIM_PY39_CU123, RAY_2_31_0_PY310, RAY_2_31_0_PY310_CU117, RAY_2_31_0_PY310_CU118, RAY_2_31_0_PY310_CU121, RAY_2_31_0_PY310_CU123, RAY_2_31_0_PY311, RAY_2_31_0_PY311_CU117, RAY_2_31_0_PY311_CU118, RAY_2_31_0_PY311_CU121, RAY_2_31_0_PY311_CU123, RAY_2_31_0_PY39, RAY_2_31_0_PY39_CU117, RAY_2_31_0_PY39_CU118, RAY_2_31_0_PY39_CU121, RAY_2_31_0_PY39_CU123, RAY_2_31_0_SLIM_PY310, RAY_2_31_0_SLIM_PY310_CU118, RAY_2_31_0_SLIM_PY310_CU121, RAY_2_31_0_SLIM_PY310_CU123, RAY_2_31_0_SLIM_PY311, RAY_2_31_0_SLIM_PY311_CU118, RAY_2_31_0_SLIM_PY311_CU121, RAY_2_31_0_SLIM_PY311_CU123, RAY_2_31_0_SLIM_PY39, RAY_2_31_0_SLIM_PY39_CU118, RAY_2_31_0_SLIM_PY39_CU121, RAY_2_31_0_SLIM_PY39_CU123, RAY_2_32_0_PY310, RAY_2_32_0_PY310_CU117, RAY_2_32_0_PY310_CU118, RAY_2_32_0_PY310_CU121, RAY_2_32_0_PY310_CU123, RAY_2_32_0_PY311, RAY_2_32_0_PY311_CU117, RAY_2_32_0_PY311_CU118, RAY_2_32_0_PY311_CU121, RAY_2_32_0_PY311_CU123, RAY_2_32_0_PY39, RAY_2_32_0_PY39_CU117, RAY_2_32_0_PY39_CU118, RAY_2_32_0_PY39_CU121, RAY_2_32_0_PY39_CU123, RAY_2_32_0_SLIM_PY310, RAY_2_32_0_SLIM_PY310_CU118, RAY_2_32_0_SLIM_PY310_CU121, RAY_2_32_0_SLIM_PY310_CU123, RAY_2_32_0_SLIM_PY311, RAY_2_32_0_SLIM_PY311_CU118, RAY_2_32_0_SLIM_PY311_CU121, RAY_2_32_0_SLIM_PY311_CU123, RAY_2_32_0_SLIM_PY39, RAY_2_32_0_SLIM_PY39_CU118, RAY_2_32_0_SLIM_PY39_CU121, RAY_2_32_0_SLIM_PY39_CU123, RAY_2_33_0_PY310, RAY_2_33_0_PY310_CU117, RAY_2_33_0_PY310_CU118, RAY_2_33_0_PY310_CU121, RAY_2_33_0_PY310_CU123, RAY_2_33_0_PY311, RAY_2_33_0_PY311_CU117, RAY_2_33_0_PY311_CU118, RAY_2_33_0_PY311_CU121, RAY_2_33_0_PY311_CU123, RAY_2_33_0_PY39, RAY_2_33_0_PY39_CU117, RAY_2_33_0_PY39_CU118, RAY_2_33_0_PY39_CU121, RAY_2_33_0_PY39_CU123, RAY_2_33_0_SLIM_PY310, RAY_2_33_0_SLIM_PY310_CU118, RAY_2_33_0_SLIM_PY310_CU121, RAY_2_33_0_SLIM_PY310_CU123, RAY_2_33_0_SLIM_PY311, RAY_2_33_0_SLIM_PY311_CU118, RAY_2_33_0_SLIM_PY311_CU121, RAY_2_33_0_SLIM_PY311_CU123, RAY_2_33_0_SLIM_PY39, RAY_2_33_0_SLIM_PY39_CU118, RAY_2_33_0_SLIM_PY39_CU121, RAY_2_33_0_SLIM_PY39_CU123, RAY_2_34_0_PY310, RAY_2_34_0_PY310_CU117, RAY_2_34_0_PY310_CU118, RAY_2_34_0_PY310_CU121, RAY_2_34_0_PY310_CU123, RAY_2_34_0_PY311, RAY_2_34_0_PY311_CU117, RAY_2_34_0_PY311_CU118, RAY_2_34_0_PY311_CU121, RAY_2_34_0_PY311_CU123, RAY_2_34_0_PY39, RAY_2_34_0_PY39_CU117, RAY_2_34_0_PY39_CU118, RAY_2_34_0_PY39_CU121, RAY_2_34_0_PY39_CU123, RAY_2_34_0_SLIM_PY310, RAY_2_34_0_SLIM_PY310_CU118, RAY_2_34_0_SLIM_PY310_CU121, RAY_2_34_0_SLIM_PY310_CU123, RAY_2_34_0_SLIM_PY311, RAY_2_34_0_SLIM_PY311_CU118, RAY_2_34_0_SLIM_PY311_CU121, RAY_2_34_0_SLIM_PY311_CU123, RAY_2_34_0_SLIM_PY39, RAY_2_34_0_SLIM_PY39_CU118, RAY_2_34_0_SLIM_PY39_CU121, RAY_2_34_0_SLIM_PY39_CU123, RAY_2_35_0_PY310, RAY_2_35_0_PY310_CU117, RAY_2_35_0_PY310_CU118, RAY_2_35_0_PY310_CU121, RAY_2_35_0_PY310_CU123, RAY_2_35_0_PY311, RAY_2_35_0_PY311_CU117, RAY_2_35_0_PY311_CU118, RAY_2_35_0_PY311_CU121, RAY_2_35_0_PY311_CU123, RAY_2_35_0_PY312, RAY_2_35_0_PY312_CU117, RAY_2_35_0_PY312_CU118, RAY_2_35_0_PY312_CU121, RAY_2_35_0_PY312_CU123, RAY_2_35_0_PY39, RAY_2_35_0_PY39_CU117, RAY_2_35_0_PY39_CU118, RAY_2_35_0_PY39_CU121, RAY_2_35_0_PY39_CU123, RAY_2_35_0_SLIM_PY310, RAY_2_35_0_SLIM_PY310_CU118, RAY_2_35_0_SLIM_PY310_CU121, RAY_2_35_0_SLIM_PY310_CU123, RAY_2_35_0_SLIM_PY311, RAY_2_35_0_SLIM_PY311_CU118, RAY_2_35_0_SLIM_PY311_CU121, RAY_2_35_0_SLIM_PY311_CU123, RAY_2_35_0_SLIM_PY312, RAY_2_35_0_SLIM_PY312_CU118, RAY_2_35_0_SLIM_PY312_CU121, RAY_2_35_0_SLIM_PY312_CU123, RAY_2_35_0_SLIM_PY39, RAY_2_35_0_SLIM_PY39_CU118, RAY_2_35_0_SLIM_PY39_CU121, RAY_2_35_0_SLIM_PY39_CU123, RAY_2_36_0_PY310, RAY_2_36_0_PY310_CU117, RAY_2_36_0_PY310_CU118, RAY_2_36_0_PY310_CU121, RAY_2_36_0_PY310_CU123, RAY_2_36_0_PY311, RAY_2_36_0_PY311_CU117, RAY_2_36_0_PY311_CU118, RAY_2_36_0_PY311_CU121, RAY_2_36_0_PY311_CU123, RAY_2_36_0_PY312, RAY_2_36_0_PY312_CU117, RAY_2_36_0_PY312_CU118, RAY_2_36_0_PY312_CU121, RAY_2_36_0_PY312_CU123, RAY_2_36_0_PY39, RAY_2_36_0_PY39_CU117, RAY_2_36_0_PY39_CU118, RAY_2_36_0_PY39_CU121, RAY_2_36_0_PY39_CU123, RAY_2_36_0_SLIM_PY310, RAY_2_36_0_SLIM_PY310_CU118, RAY_2_36_0_SLIM_PY310_CU121, RAY_2_36_0_SLIM_PY310_CU123, RAY_2_36_0_SLIM_PY311, RAY_2_36_0_SLIM_PY311_CU118, RAY_2_36_0_SLIM_PY311_CU121, RAY_2_36_0_SLIM_PY311_CU123, RAY_2_36_0_SLIM_PY312, RAY_2_36_0_SLIM_PY312_CU118, RAY_2_36_0_SLIM_PY312_CU121, RAY_2_36_0_SLIM_PY312_CU123, RAY_2_36_0_SLIM_PY39, RAY_2_36_0_SLIM_PY39_CU118, RAY_2_36_0_SLIM_PY39_CU121, RAY_2_36_0_SLIM_PY39_CU123, RAY_2_36_1_PY310, RAY_2_36_1_PY310_CU117, RAY_2_36_1_PY310_CU118, RAY_2_36_1_PY310_CU121, RAY_2_36_1_PY310_CU123, RAY_2_36_1_PY311, RAY_2_36_1_PY311_CU117, RAY_2_36_1_PY311_CU118, RAY_2_36_1_PY311_CU121, RAY_2_36_1_PY311_CU123, RAY_2_36_1_PY312, RAY_2_36_1_PY312_CU117, RAY_2_36_1_PY312_CU118, RAY_2_36_1_PY312_CU121, RAY_2_36_1_PY312_CU123, RAY_2_36_1_PY39, RAY_2_36_1_PY39_CU117, RAY_2_36_1_PY39_CU118, RAY_2_36_1_PY39_CU121, RAY_2_36_1_PY39_CU123, RAY_2_36_1_SLIM_PY310, RAY_2_36_1_SLIM_PY310_CU118, RAY_2_36_1_SLIM_PY310_CU121, RAY_2_36_1_SLIM_PY310_CU123, RAY_2_36_1_SLIM_PY311, RAY_2_36_1_SLIM_PY311_CU118, RAY_2_36_1_SLIM_PY311_CU121, RAY_2_36_1_SLIM_PY311_CU123, RAY_2_36_1_SLIM_PY312, RAY_2_36_1_SLIM_PY312_CU118, RAY_2_36_1_SLIM_PY312_CU121, RAY_2_36_1_SLIM_PY312_CU123, RAY_2_36_1_SLIM_PY39, RAY_2_36_1_SLIM_PY39_CU118, RAY_2_36_1_SLIM_PY39_CU121, RAY_2_36_1_SLIM_PY39_CU123, RAY_2_37_0_PY310, RAY_2_37_0_PY310_CU117, RAY_2_37_0_PY310_CU118, RAY_2_37_0_PY310_CU121, RAY_2_37_0_PY310_CU123, RAY_2_37_0_PY311, RAY_2_37_0_PY311_CU117, RAY_2_37_0_PY311_CU118, RAY_2_37_0_PY311_CU121, RAY_2_37_0_PY311_CU123, RAY_2_37_0_PY312, RAY_2_37_0_PY312_CU117, RAY_2_37_0_PY312_CU118, RAY_2_37_0_PY312_CU121, RAY_2_37_0_PY312_CU123, RAY_2_37_0_PY39, RAY_2_37_0_PY39_CU117, RAY_2_37_0_PY39_CU118, RAY_2_37_0_PY39_CU121, RAY_2_37_0_PY39_CU123, RAY_2_37_0_SLIM_PY310, RAY_2_37_0_SLIM_PY310_CU118, RAY_2_37_0_SLIM_PY310_CU121, RAY_2_37_0_SLIM_PY310_CU123, RAY_2_37_0_SLIM_PY311, RAY_2_37_0_SLIM_PY311_CU118, RAY_2_37_0_SLIM_PY311_CU121, RAY_2_37_0_SLIM_PY311_CU123, RAY_2_37_0_SLIM_PY312, RAY_2_37_0_SLIM_PY312_CU118, RAY_2_37_0_SLIM_PY312_CU121, RAY_2_37_0_SLIM_PY312_CU123, RAY_2_37_0_SLIM_PY39, RAY_2_37_0_SLIM_PY39_CU118, RAY_2_37_0_SLIM_PY39_CU121, RAY_2_37_0_SLIM_PY39_CU123, RAY_2_38_0_PY310, RAY_2_38_0_PY310_CU117, RAY_2_38_0_PY310_CU118, RAY_2_38_0_PY310_CU121, RAY_2_38_0_PY310_CU123, RAY_2_38_0_PY311, RAY_2_38_0_PY311_CU117, RAY_2_38_0_PY311_CU118, RAY_2_38_0_PY311_CU121, RAY_2_38_0_PY311_CU123, RAY_2_38_0_PY312, RAY_2_38_0_PY312_CU117, RAY_2_38_0_PY312_CU118, RAY_2_38_0_PY312_CU121, RAY_2_38_0_PY312_CU123, RAY_2_38_0_PY39, RAY_2_38_0_PY39_CU117, RAY_2_38_0_PY39_CU118, RAY_2_38_0_PY39_CU121, RAY_2_38_0_PY39_CU123, RAY_2_38_0_SLIM_PY310, RAY_2_38_0_SLIM_PY310_CU118, RAY_2_38_0_SLIM_PY310_CU121, RAY_2_38_0_SLIM_PY310_CU123, RAY_2_38_0_SLIM_PY311, RAY_2_38_0_SLIM_PY311_CU118, RAY_2_38_0_SLIM_PY311_CU121, RAY_2_38_0_SLIM_PY311_CU123, RAY_2_38_0_SLIM_PY312, RAY_2_38_0_SLIM_PY312_CU118, RAY_2_38_0_SLIM_PY312_CU121, RAY_2_38_0_SLIM_PY312_CU123, RAY_2_38_0_SLIM_PY39, RAY_2_38_0_SLIM_PY39_CU118, RAY_2_38_0_SLIM_PY39_CU121, RAY_2_38_0_SLIM_PY39_CU123, RAY_2_39_0_PY310, RAY_2_39_0_PY310_CU117, RAY_2_39_0_PY310_CU118, RAY_2_39_0_PY310_CU121, RAY_2_39_0_PY310_CU123, RAY_2_39_0_PY311, RAY_2_39_0_PY311_CU117, RAY_2_39_0_PY311_CU118, RAY_2_39_0_PY311_CU121, RAY_2_39_0_PY311_CU123, RAY_2_39_0_PY312, RAY_2_39_0_PY312_CU117, RAY_2_39_0_PY312_CU118, RAY_2_39_0_PY312_CU121, RAY_2_39_0_PY312_CU123, RAY_2_39_0_PY39, RAY_2_39_0_PY39_CU117, RAY_2_39_0_PY39_CU118, RAY_2_39_0_PY39_CU121, RAY_2_39_0_PY39_CU123, RAY_2_39_0_SLIM_PY310, RAY_2_39_0_SLIM_PY310_CU118, RAY_2_39_0_SLIM_PY310_CU121, RAY_2_39_0_SLIM_PY310_CU123, RAY_2_39_0_SLIM_PY311, RAY_2_39_0_SLIM_PY311_CU118, RAY_2_39_0_SLIM_PY311_CU121, RAY_2_39_0_SLIM_PY311_CU123, RAY_2_39_0_SLIM_PY312, RAY_2_39_0_SLIM_PY312_CU118, RAY_2_39_0_SLIM_PY312_CU121, RAY_2_39_0_SLIM_PY312_CU123, RAY_2_39_0_SLIM_PY39, RAY_2_39_0_SLIM_PY39_CU118, RAY_2_39_0_SLIM_PY39_CU121, RAY_2_39_0_SLIM_PY39_CU123, RAY_2_4_0_PY310, RAY_2_4_0_PY310_CU101, RAY_2_4_0_PY310_CU102, RAY_2_4_0_PY310_CU110, RAY_2_4_0_PY310_CU111, RAY_2_4_0_PY310_CU112, RAY_2_4_0_PY310_CU113, RAY_2_4_0_PY310_CU116, RAY_2_4_0_PY310_CU118, RAY_2_4_0_PY37, RAY_2_4_0_PY37_CU101, RAY_2_4_0_PY37_CU102, RAY_2_4_0_PY37_CU110, RAY_2_4_0_PY37_CU111, RAY_2_4_0_PY37_CU112, RAY_2_4_0_PY37_CU113, RAY_2_4_0_PY37_CU116, RAY_2_4_0_PY37_CU118, RAY_2_4_0_PY38, RAY_2_4_0_PY38_CU101, RAY_2_4_0_PY38_CU102, RAY_2_4_0_PY38_CU110, RAY_2_4_0_PY38_CU111, RAY_2_4_0_PY38_CU112, RAY_2_4_0_PY38_CU113, RAY_2_4_0_PY38_CU116, RAY_2_4_0_PY38_CU118, RAY_2_4_0_PY39, RAY_2_4_0_PY39_CU101, RAY_2_4_0_PY39_CU102, RAY_2_4_0_PY39_CU110, RAY_2_4_0_PY39_CU111, RAY_2_4_0_PY39_CU112, RAY_2_4_0_PY39_CU113, RAY_2_4_0_PY39_CU116, RAY_2_4_0_PY39_CU118, RAY_2_40_0_PY310, RAY_2_40_0_PY310_CU117, RAY_2_40_0_PY310_CU118, RAY_2_40_0_PY310_CU121, RAY_2_40_0_PY310_CU123, RAY_2_40_0_PY311, RAY_2_40_0_PY311_CU117, RAY_2_40_0_PY311_CU118, RAY_2_40_0_PY311_CU121, RAY_2_40_0_PY311_CU123, RAY_2_40_0_PY312, RAY_2_40_0_PY312_CU117, RAY_2_40_0_PY312_CU118, RAY_2_40_0_PY312_CU121, RAY_2_40_0_PY312_CU123, RAY_2_40_0_PY39, RAY_2_40_0_PY39_CU117, RAY_2_40_0_PY39_CU118, RAY_2_40_0_PY39_CU121, RAY_2_40_0_PY39_CU123, RAY_2_40_0_SLIM_PY310, RAY_2_40_0_SLIM_PY310_CU118, RAY_2_40_0_SLIM_PY310_CU121, RAY_2_40_0_SLIM_PY310_CU123, RAY_2_40_0_SLIM_PY311, RAY_2_40_0_SLIM_PY311_CU118, RAY_2_40_0_SLIM_PY311_CU121, RAY_2_40_0_SLIM_PY311_CU123, RAY_2_40_0_SLIM_PY312, RAY_2_40_0_SLIM_PY312_CU118, RAY_2_40_0_SLIM_PY312_CU121, RAY_2_40_0_SLIM_PY312_CU123, RAY_2_40_0_SLIM_PY39, RAY_2_40_0_SLIM_PY39_CU118, RAY_2_40_0_SLIM_PY39_CU121, RAY_2_40_0_SLIM_PY39_CU123, RAY_2_5_0_PY310, RAY_2_5_0_PY310_CU101, RAY_2_5_0_PY310_CU102, RAY_2_5_0_PY310_CU110, RAY_2_5_0_PY310_CU111, RAY_2_5_0_PY310_CU112, RAY_2_5_0_PY310_CU113, RAY_2_5_0_PY310_CU116, RAY_2_5_0_PY310_CU118, RAY_2_5_0_PY37, RAY_2_5_0_PY37_CU101, RAY_2_5_0_PY37_CU102, RAY_2_5_0_PY37_CU110, RAY_2_5_0_PY37_CU111, RAY_2_5_0_PY37_CU112, RAY_2_5_0_PY37_CU113, RAY_2_5_0_PY37_CU116, RAY_2_5_0_PY37_CU118, RAY_2_5_0_PY38, RAY_2_5_0_PY38_CU101, RAY_2_5_0_PY38_CU102, RAY_2_5_0_PY38_CU110, RAY_2_5_0_PY38_CU111, RAY_2_5_0_PY38_CU112, RAY_2_5_0_PY38_CU113, RAY_2_5_0_PY38_CU116, RAY_2_5_0_PY38_CU118, RAY_2_5_0_PY39, RAY_2_5_0_PY39_CU101, RAY_2_5_0_PY39_CU102, RAY_2_5_0_PY39_CU110, RAY_2_5_0_PY39_CU111, RAY_2_5_0_PY39_CU112, RAY_2_5_0_PY39_CU113, RAY_2_5_0_PY39_CU116, RAY_2_5_0_PY39_CU118, RAY_2_5_1_PY310, RAY_2_5_1_PY310_CU101, RAY_2_5_1_PY310_CU102, RAY_2_5_1_PY310_CU110, RAY_2_5_1_PY310_CU111, RAY_2_5_1_PY310_CU112, RAY_2_5_1_PY310_CU113, RAY_2_5_1_PY310_CU116, RAY_2_5_1_PY310_CU118, RAY_2_5_1_PY37, RAY_2_5_1_PY37_CU101, RAY_2_5_1_PY37_CU102, RAY_2_5_1_PY37_CU110, RAY_2_5_1_PY37_CU111, RAY_2_5_1_PY37_CU112, RAY_2_5_1_PY37_CU113, RAY_2_5_1_PY37_CU116, RAY_2_5_1_PY37_CU118, RAY_2_5_1_PY38, RAY_2_5_1_PY38_CU101, RAY_2_5_1_PY38_CU102, RAY_2_5_1_PY38_CU110, RAY_2_5_1_PY38_CU111, RAY_2_5_1_PY38_CU112, RAY_2_5_1_PY38_CU113, RAY_2_5_1_PY38_CU116, RAY_2_5_1_PY38_CU118, RAY_2_5_1_PY39, RAY_2_5_1_PY39_CU101, RAY_2_5_1_PY39_CU102, RAY_2_5_1_PY39_CU110, RAY_2_5_1_PY39_CU111, RAY_2_5_1_PY39_CU112, RAY_2_5_1_PY39_CU113, RAY_2_5_1_PY39_CU116, RAY_2_5_1_PY39_CU118, RAY_2_6_0_PY310, RAY_2_6_0_PY310_CU115, RAY_2_6_0_PY310_CU116, RAY_2_6_0_PY310_CU117, RAY_2_6_0_PY310_CU118, RAY_2_6_0_PY37, RAY_2_6_0_PY37_CU115, RAY_2_6_0_PY37_CU116, RAY_2_6_0_PY37_CU117, RAY_2_6_0_PY37_CU118, RAY_2_6_0_PY38, RAY_2_6_0_PY38_CU115, RAY_2_6_0_PY38_CU116, RAY_2_6_0_PY38_CU117, RAY_2_6_0_PY38_CU118, RAY_2_6_0_PY39, RAY_2_6_0_PY39_CU115, RAY_2_6_0_PY39_CU116, RAY_2_6_0_PY39_CU117, RAY_2_6_0_PY39_CU118, RAY_2_6_1_PY310, RAY_2_6_1_PY310_CU115, RAY_2_6_1_PY310_CU116, RAY_2_6_1_PY310_CU117, RAY_2_6_1_PY310_CU118, RAY_2_6_1_PY37, RAY_2_6_1_PY37_CU115, RAY_2_6_1_PY37_CU116, RAY_2_6_1_PY37_CU117, RAY_2_6_1_PY37_CU118, RAY_2_6_1_PY38, RAY_2_6_1_PY38_CU115, RAY_2_6_1_PY38_CU116, RAY_2_6_1_PY38_CU117, RAY_2_6_1_PY38_CU118, RAY_2_6_1_PY39, RAY_2_6_1_PY39_CU115, RAY_2_6_1_PY39_CU116, RAY_2_6_1_PY39_CU117, RAY_2_6_1_PY39_CU118, RAY_2_6_2_PY310, RAY_2_6_2_PY310_CU115, RAY_2_6_2_PY310_CU116, RAY_2_6_2_PY310_CU117, RAY_2_6_2_PY310_CU118, RAY_2_6_2_PY37, RAY_2_6_2_PY37_CU115, RAY_2_6_2_PY37_CU116, RAY_2_6_2_PY37_CU117, RAY_2_6_2_PY37_CU118, RAY_2_6_2_PY38, RAY_2_6_2_PY38_CU115, RAY_2_6_2_PY38_CU116, RAY_2_6_2_PY38_CU117, RAY_2_6_2_PY38_CU118, RAY_2_6_2_PY39, RAY_2_6_2_PY39_CU115, RAY_2_6_2_PY39_CU116, RAY_2_6_2_PY39_CU117, RAY_2_6_2_PY39_CU118, RAY_2_6_3_PY310, RAY_2_6_3_PY310_CU115, RAY_2_6_3_PY310_CU116, RAY_2_6_3_PY310_CU117, RAY_2_6_3_PY310_CU118, RAY_2_6_3_PY37, RAY_2_6_3_PY37_CU115, RAY_2_6_3_PY37_CU116, RAY_2_6_3_PY37_CU117, RAY_2_6_3_PY37_CU118, RAY_2_6_3_PY38, RAY_2_6_3_PY38_CU115, RAY_2_6_3_PY38_CU116, RAY_2_6_3_PY38_CU117, RAY_2_6_3_PY38_CU118, RAY_2_6_3_PY39, RAY_2_6_3_PY39_CU115, RAY_2_6_3_PY39_CU116, RAY_2_6_3_PY39_CU117, RAY_2_6_3_PY39_CU118, RAY_2_7_0OPTIMIZED_PY310, RAY_2_7_0OPTIMIZED_PY310_CU115, RAY_2_7_0OPTIMIZED_PY310_CU116, RAY_2_7_0OPTIMIZED_PY310_CU117, RAY_2_7_0OPTIMIZED_PY310_CU118, RAY_2_7_0OPTIMIZED_PY310_CU121, RAY_2_7_0OPTIMIZED_PY311, RAY_2_7_0OPTIMIZED_PY311_CU115, RAY_2_7_0OPTIMIZED_PY311_CU116, RAY_2_7_0OPTIMIZED_PY311_CU117, RAY_2_7_0OPTIMIZED_PY311_CU118, RAY_2_7_0OPTIMIZED_PY311_CU121, RAY_2_7_0OPTIMIZED_PY37, RAY_2_7_0OPTIMIZED_PY37_CU115, RAY_2_7_0OPTIMIZED_PY37_CU116, RAY_2_7_0OPTIMIZED_PY37_CU117, RAY_2_7_0OPTIMIZED_PY37_CU118, RAY_2_7_0OPTIMIZED_PY37_CU121, RAY_2_7_0OPTIMIZED_PY38, RAY_2_7_0OPTIMIZED_PY38_CU115, RAY_2_7_0OPTIMIZED_PY38_CU116, RAY_2_7_0OPTIMIZED_PY38_CU117, RAY_2_7_0OPTIMIZED_PY38_CU118, RAY_2_7_0OPTIMIZED_PY38_CU121, RAY_2_7_0OPTIMIZED_PY39, RAY_2_7_0OPTIMIZED_PY39_CU115, RAY_2_7_0OPTIMIZED_PY39_CU116, RAY_2_7_0OPTIMIZED_PY39_CU117, RAY_2_7_0OPTIMIZED_PY39_CU118, RAY_2_7_0OPTIMIZED_PY39_CU121, RAY_2_7_1OPTIMIZED_PY310, RAY_2_7_1OPTIMIZED_PY310_CU115, RAY_2_7_1OPTIMIZED_PY310_CU116, RAY_2_7_1OPTIMIZED_PY310_CU117, RAY_2_7_1OPTIMIZED_PY310_CU118, RAY_2_7_1OPTIMIZED_PY310_CU121, RAY_2_7_1OPTIMIZED_PY311, RAY_2_7_1OPTIMIZED_PY311_CU115, RAY_2_7_1OPTIMIZED_PY311_CU116, RAY_2_7_1OPTIMIZED_PY311_CU117, RAY_2_7_1OPTIMIZED_PY311_CU118, RAY_2_7_1OPTIMIZED_PY311_CU121, RAY_2_7_1OPTIMIZED_PY37, RAY_2_7_1OPTIMIZED_PY37_CU115, RAY_2_7_1OPTIMIZED_PY37_CU116, RAY_2_7_1OPTIMIZED_PY37_CU117, RAY_2_7_1OPTIMIZED_PY37_CU118, RAY_2_7_1OPTIMIZED_PY37_CU121, RAY_2_7_1OPTIMIZED_PY38, RAY_2_7_1OPTIMIZED_PY38_CU115, RAY_2_7_1OPTIMIZED_PY38_CU116, RAY_2_7_1OPTIMIZED_PY38_CU117, RAY_2_7_1OPTIMIZED_PY38_CU118, RAY_2_7_1OPTIMIZED_PY38_CU121, RAY_2_7_1OPTIMIZED_PY39, RAY_2_7_1OPTIMIZED_PY39_CU115, RAY_2_7_1OPTIMIZED_PY39_CU116, RAY_2_7_1OPTIMIZED_PY39_CU117, RAY_2_7_1OPTIMIZED_PY39_CU118, RAY_2_7_1OPTIMIZED_PY39_CU121, RAY_2_7_2OPTIMIZED_PY310, RAY_2_7_2OPTIMIZED_PY310_CU115, RAY_2_7_2OPTIMIZED_PY310_CU116, RAY_2_7_2OPTIMIZED_PY310_CU117, RAY_2_7_2OPTIMIZED_PY310_CU118, RAY_2_7_2OPTIMIZED_PY310_CU121, RAY_2_7_2OPTIMIZED_PY311, RAY_2_7_2OPTIMIZED_PY311_CU115, RAY_2_7_2OPTIMIZED_PY311_CU116, RAY_2_7_2OPTIMIZED_PY311_CU117, RAY_2_7_2OPTIMIZED_PY311_CU118, RAY_2_7_2OPTIMIZED_PY311_CU121, RAY_2_7_2OPTIMIZED_PY37, RAY_2_7_2OPTIMIZED_PY37_CU115, RAY_2_7_2OPTIMIZED_PY37_CU116, RAY_2_7_2OPTIMIZED_PY37_CU117, RAY_2_7_2OPTIMIZED_PY37_CU118, RAY_2_7_2OPTIMIZED_PY37_CU121, RAY_2_7_2OPTIMIZED_PY38, RAY_2_7_2OPTIMIZED_PY38_CU115, RAY_2_7_2OPTIMIZED_PY38_CU116, RAY_2_7_2OPTIMIZED_PY38_CU117, RAY_2_7_2OPTIMIZED_PY38_CU118, RAY_2_7_2OPTIMIZED_PY38_CU121, RAY_2_7_2OPTIMIZED_PY39, RAY_2_7_2OPTIMIZED_PY39_CU115, RAY_2_7_2OPTIMIZED_PY39_CU116, RAY_2_7_2OPTIMIZED_PY39_CU117, RAY_2_7_2OPTIMIZED_PY39_CU118, RAY_2_7_2OPTIMIZED_PY39_CU121, RAY_2_8_0_PY310, RAY_2_8_0_PY310_CU115, RAY_2_8_0_PY310_CU116, RAY_2_8_0_PY310_CU117, RAY_2_8_0_PY310_CU118, RAY_2_8_0_PY310_CU121, RAY_2_8_0_PY311, RAY_2_8_0_PY311_CU115, RAY_2_8_0_PY311_CU116, RAY_2_8_0_PY311_CU117, RAY_2_8_0_PY311_CU118, RAY_2_8_0_PY311_CU121, RAY_2_8_0_PY38, RAY_2_8_0_PY38_CU115, RAY_2_8_0_PY38_CU116, RAY_2_8_0_PY38_CU117, RAY_2_8_0_PY38_CU118, RAY_2_8_0_PY38_CU121, RAY_2_8_0_PY39, RAY_2_8_0_PY39_CU115, RAY_2_8_0_PY39_CU116, RAY_2_8_0_PY39_CU117, RAY_2_8_0_PY39_CU118, RAY_2_8_0_PY39_CU121, RAY_2_8_1_PY310, RAY_2_8_1_PY310_CU115, RAY_2_8_1_PY310_CU116, RAY_2_8_1_PY310_CU117, RAY_2_8_1_PY310_CU118, RAY_2_8_1_PY310_CU121, RAY_2_8_1_PY311, RAY_2_8_1_PY311_CU115, RAY_2_8_1_PY311_CU116, RAY_2_8_1_PY311_CU117, RAY_2_8_1_PY311_CU118, RAY_2_8_1_PY311_CU121, RAY_2_8_1_PY38, RAY_2_8_1_PY38_CU115, RAY_2_8_1_PY38_CU116, RAY_2_8_1_PY38_CU117, RAY_2_8_1_PY38_CU118, RAY_2_8_1_PY38_CU121, RAY_2_8_1_PY39, RAY_2_8_1_PY39_CU115, RAY_2_8_1_PY39_CU116, RAY_2_8_1_PY39_CU117, RAY_2_8_1_PY39_CU118, RAY_2_8_1_PY39_CU121, RAY_2_9_0_PY310, RAY_2_9_0_PY310_CU115, RAY_2_9_0_PY310_CU116, RAY_2_9_0_PY310_CU117, RAY_2_9_0_PY310_CU118, RAY_2_9_0_PY310_CU121, RAY_2_9_0_PY311, RAY_2_9_0_PY311_CU115, RAY_2_9_0_PY311_CU116, RAY_2_9_0_PY311_CU117, RAY_2_9_0_PY311_CU118, RAY_2_9_0_PY311_CU121, RAY_2_9_0_PY38, RAY_2_9_0_PY38_CU115, RAY_2_9_0_PY38_CU116, RAY_2_9_0_PY38_CU117, RAY_2_9_0_PY38_CU118, RAY_2_9_0_PY38_CU121, RAY_2_9_0_PY39, RAY_2_9_0_PY39_CU115, RAY_2_9_0_PY39_CU116, RAY_2_9_0_PY39_CU117, RAY_2_9_0_PY39_CU118, RAY_2_9_0_PY39_CU121, RAY_2_9_1_PY310, RAY_2_9_1_PY310_CU115, RAY_2_9_1_PY310_CU116, RAY_2_9_1_PY310_CU117, RAY_2_9_1_PY310_CU118, RAY_2_9_1_PY310_CU121, RAY_2_9_1_PY311, RAY_2_9_1_PY311_CU115, RAY_2_9_1_PY311_CU116, RAY_2_9_1_PY311_CU117, RAY_2_9_1_PY311_CU118, RAY_2_9_1_PY311_CU121, RAY_2_9_1_PY38, RAY_2_9_1_PY38_CU115, RAY_2_9_1_PY38_CU116, RAY_2_9_1_PY38_CU117, RAY_2_9_1_PY38_CU118, RAY_2_9_1_PY38_CU121, RAY_2_9_1_PY39, RAY_2_9_1_PY39_CU115, RAY_2_9_1_PY39_CU116, RAY_2_9_1_PY39_CU117, RAY_2_9_1_PY39_CU118, RAY_2_9_1_PY39_CU121, RAY_2_9_2_PY310, RAY_2_9_2_PY310_CU115, RAY_2_9_2_PY310_CU116, RAY_2_9_2_PY310_CU117, RAY_2_9_2_PY310_CU118, RAY_2_9_2_PY310_CU121, RAY_2_9_2_PY311, RAY_2_9_2_PY311_CU115, RAY_2_9_2_PY311_CU116, RAY_2_9_2_PY311_CU117, RAY_2_9_2_PY311_CU118, RAY_2_9_2_PY311_CU121, RAY_2_9_2_PY38, RAY_2_9_2_PY38_CU115, RAY_2_9_2_PY38_CU116, RAY_2_9_2_PY38_CU117, RAY_2_9_2_PY38_CU118, RAY_2_9_2_PY38_CU121, RAY_2_9_2_PY39, RAY_2_9_2_PY39_CU115, RAY_2_9_2_PY39_CU116, RAY_2_9_2_PY39_CU117, RAY_2_9_2_PY39_CU118, RAY_2_9_2_PY39_CU121, RAY_2_9_3_PY310, RAY_2_9_3_PY310_CU115, RAY_2_9_3_PY310_CU116, RAY_2_9_3_PY310_CU117, RAY_2_9_3_PY310_CU118, RAY_2_9_3_PY310_CU121, RAY_2_9_3_PY311, RAY_2_9_3_PY311_CU115, RAY_2_9_3_PY311_CU116, RAY_2_9_3_PY311_CU117, RAY_2_9_3_PY311_CU118, RAY_2_9_3_PY311_CU121, RAY_2_9_3_PY38, RAY_2_9_3_PY38_CU115, RAY_2_9_3_PY38_CU116, RAY_2_9_3_PY38_CU117, RAY_2_9_3_PY38_CU118, RAY_2_9_3_PY38_CU121, RAY_2_9_3_PY39, RAY_2_9_3_PY39_CU115, RAY_2_9_3_PY39_CU116, RAY_2_9_3_PY39_CU117, RAY_2_9_3_PY39_CU118, RAY_2_9_3_PY39_CU121, RAY_NIGHTLY_PY310, RAY_NIGHTLY_PY310_CU117, RAY_NIGHTLY_PY310_CU118, RAY_NIGHTLY_PY310_CU121, RAY_NIGHTLY_PY310_CU123, RAY_NIGHTLY_PY311, RAY_NIGHTLY_PY311_CU117, RAY_NIGHTLY_PY311_CU118, RAY_NIGHTLY_PY311_CU121, RAY_NIGHTLY_PY311_CU123, RAY_NIGHTLY_PY312, RAY_NIGHTLY_PY312_CU117, RAY_NIGHTLY_PY312_CU118, RAY_NIGHTLY_PY312_CU121, RAY_NIGHTLY_PY312_CU123, RAY_NIGHTLY_PY37, RAY_NIGHTLY_PY37_CU117, RAY_NIGHTLY_PY37_CU118, RAY_NIGHTLY_PY37_CU121, RAY_NIGHTLY_PY37_CU123, RAY_NIGHTLY_PY38, RAY_NIGHTLY_PY38_CU117, RAY_NIGHTLY_PY38_CU118, RAY_NIGHTLY_PY38_CU121, RAY_NIGHTLY_PY38_CU123, RAY_NIGHTLY_PY39, RAY_NIGHTLY_PY39_CU117, RAY_NIGHTLY_PY39_CU118, RAY_NIGHTLY_PY39_CU121, RAY_NIGHTLY_PY39_CU123] # noqa: E501
|
1546
|
+
allowable_values = [RAY_ML_2_0_0_PY37_CPU, RAY_ML_2_0_0_PY37_GPU, RAY_ML_2_0_0_PY38_CPU, RAY_ML_2_0_0_PY38_GPU, RAY_ML_2_0_1_PY37_CPU, RAY_ML_2_0_1_PY37_GPU, RAY_ML_2_0_1_PY38_CPU, RAY_ML_2_0_1_PY38_GPU, RAY_ML_2_1_0_PY37_CPU, RAY_ML_2_1_0_PY37_GPU, RAY_ML_2_1_0_PY38_CPU, RAY_ML_2_1_0_PY38_GPU, RAY_ML_2_10_0_PY310_CPU, RAY_ML_2_10_0_PY310_GPU, RAY_ML_2_10_0_PY38_CPU, RAY_ML_2_10_0_PY38_GPU, RAY_ML_2_10_0_PY39_CPU, RAY_ML_2_10_0_PY39_GPU, RAY_ML_2_11_0_PY310_CPU, RAY_ML_2_11_0_PY310_GPU, RAY_ML_2_11_0_PY311_CPU, RAY_ML_2_11_0_PY311_GPU, RAY_ML_2_11_0_PY39_CPU, RAY_ML_2_11_0_PY39_GPU, RAY_ML_2_12_0_PY310_CPU, RAY_ML_2_12_0_PY310_GPU, RAY_ML_2_12_0_PY311_CPU, RAY_ML_2_12_0_PY311_GPU, RAY_ML_2_12_0_PY39_CPU, RAY_ML_2_12_0_PY39_GPU, RAY_ML_2_2_0_PY310_CPU, RAY_ML_2_2_0_PY310_GPU, RAY_ML_2_2_0_PY37_CPU, RAY_ML_2_2_0_PY37_GPU, RAY_ML_2_2_0_PY38_CPU, RAY_ML_2_2_0_PY38_GPU, RAY_ML_2_2_0_PY39_CPU, RAY_ML_2_2_0_PY39_GPU, RAY_ML_2_20_0_PY310_CPU, RAY_ML_2_20_0_PY310_GPU, RAY_ML_2_20_0_PY311_CPU, RAY_ML_2_20_0_PY311_GPU, RAY_ML_2_20_0_PY39_CPU, RAY_ML_2_20_0_PY39_GPU, RAY_ML_2_21_0_PY310_CPU, RAY_ML_2_21_0_PY310_GPU, RAY_ML_2_21_0_PY311_CPU, RAY_ML_2_21_0_PY311_GPU, RAY_ML_2_21_0_PY39_CPU, RAY_ML_2_21_0_PY39_GPU, RAY_ML_2_22_0_PY310_CPU, RAY_ML_2_22_0_PY310_GPU, RAY_ML_2_22_0_PY311_CPU, RAY_ML_2_22_0_PY311_GPU, RAY_ML_2_22_0_PY39_CPU, RAY_ML_2_22_0_PY39_GPU, RAY_ML_2_23_0_PY310_CPU, RAY_ML_2_23_0_PY310_GPU, RAY_ML_2_23_0_PY311_CPU, RAY_ML_2_23_0_PY311_GPU, RAY_ML_2_23_0_PY39_CPU, RAY_ML_2_23_0_PY39_GPU, RAY_ML_2_24_0_PY310_CPU, RAY_ML_2_24_0_PY310_GPU, RAY_ML_2_24_0_PY311_CPU, RAY_ML_2_24_0_PY311_GPU, RAY_ML_2_24_0_PY39_CPU, RAY_ML_2_24_0_PY39_GPU, RAY_ML_2_3_0_PY310_CPU, RAY_ML_2_3_0_PY310_GPU, RAY_ML_2_3_0_PY37_CPU, RAY_ML_2_3_0_PY37_GPU, RAY_ML_2_3_0_PY38_CPU, RAY_ML_2_3_0_PY38_GPU, RAY_ML_2_3_0_PY39_CPU, RAY_ML_2_3_0_PY39_GPU, RAY_ML_2_3_1_PY310_CPU, RAY_ML_2_3_1_PY310_GPU, RAY_ML_2_3_1_PY37_CPU, RAY_ML_2_3_1_PY37_GPU, RAY_ML_2_3_1_PY38_CPU, RAY_ML_2_3_1_PY38_GPU, RAY_ML_2_3_1_PY39_CPU, RAY_ML_2_3_1_PY39_GPU, RAY_ML_2_30_0_PY310_CPU, RAY_ML_2_30_0_PY310_GPU, RAY_ML_2_30_0_PY311_CPU, RAY_ML_2_30_0_PY311_GPU, RAY_ML_2_30_0_PY39_CPU, RAY_ML_2_30_0_PY39_GPU, RAY_ML_2_31_0_PY310_CPU, RAY_ML_2_31_0_PY310_GPU, RAY_ML_2_31_0_PY311_CPU, RAY_ML_2_31_0_PY311_GPU, RAY_ML_2_31_0_PY39_CPU, RAY_ML_2_31_0_PY39_GPU, RAY_ML_2_32_0_PY310_CPU, RAY_ML_2_32_0_PY310_GPU, RAY_ML_2_32_0_PY311_CPU, RAY_ML_2_32_0_PY311_GPU, RAY_ML_2_32_0_PY39_CPU, RAY_ML_2_32_0_PY39_GPU, RAY_ML_2_33_0_PY310_CPU, RAY_ML_2_33_0_PY310_GPU, RAY_ML_2_33_0_PY311_CPU, RAY_ML_2_33_0_PY311_GPU, RAY_ML_2_33_0_PY39_CPU, RAY_ML_2_33_0_PY39_GPU, RAY_ML_2_34_0_PY310_CPU, RAY_ML_2_34_0_PY310_GPU, RAY_ML_2_34_0_PY311_CPU, RAY_ML_2_34_0_PY311_GPU, RAY_ML_2_34_0_PY39_CPU, RAY_ML_2_34_0_PY39_GPU, RAY_ML_2_35_0_PY310_CPU, RAY_ML_2_35_0_PY310_GPU, RAY_ML_2_35_0_PY311_CPU, RAY_ML_2_35_0_PY311_GPU, RAY_ML_2_35_0_PY39_CPU, RAY_ML_2_35_0_PY39_GPU, RAY_ML_2_36_0_PY310_CPU, RAY_ML_2_36_0_PY310_GPU, RAY_ML_2_36_0_PY311_CPU, RAY_ML_2_36_0_PY311_GPU, RAY_ML_2_36_0_PY39_CPU, RAY_ML_2_36_0_PY39_GPU, RAY_ML_2_36_1_PY310_CPU, RAY_ML_2_36_1_PY310_GPU, RAY_ML_2_36_1_PY311_CPU, RAY_ML_2_36_1_PY311_GPU, RAY_ML_2_36_1_PY39_CPU, RAY_ML_2_36_1_PY39_GPU, RAY_ML_2_37_0_PY310_CPU, RAY_ML_2_37_0_PY310_GPU, RAY_ML_2_37_0_PY311_CPU, RAY_ML_2_37_0_PY311_GPU, RAY_ML_2_37_0_PY39_CPU, RAY_ML_2_37_0_PY39_GPU, RAY_ML_2_38_0_PY310_CPU, RAY_ML_2_38_0_PY310_GPU, RAY_ML_2_38_0_PY311_CPU, RAY_ML_2_38_0_PY311_GPU, RAY_ML_2_38_0_PY39_CPU, RAY_ML_2_38_0_PY39_GPU, RAY_ML_2_39_0_PY310_CPU, RAY_ML_2_39_0_PY310_GPU, RAY_ML_2_39_0_PY311_CPU, RAY_ML_2_39_0_PY311_GPU, RAY_ML_2_39_0_PY39_CPU, RAY_ML_2_39_0_PY39_GPU, RAY_ML_2_4_0_PY310_CPU, RAY_ML_2_4_0_PY310_GPU, RAY_ML_2_4_0_PY37_CPU, RAY_ML_2_4_0_PY37_GPU, RAY_ML_2_4_0_PY38_CPU, RAY_ML_2_4_0_PY38_GPU, RAY_ML_2_4_0_PY39_CPU, RAY_ML_2_4_0_PY39_GPU, RAY_ML_2_40_0_PY310_CPU, RAY_ML_2_40_0_PY310_GPU, RAY_ML_2_40_0_PY311_CPU, RAY_ML_2_40_0_PY311_GPU, RAY_ML_2_40_0_PY39_CPU, RAY_ML_2_40_0_PY39_GPU, RAY_ML_2_41_0_PY310_CPU, RAY_ML_2_41_0_PY310_GPU, RAY_ML_2_41_0_PY311_CPU, RAY_ML_2_41_0_PY311_GPU, RAY_ML_2_41_0_PY39_CPU, RAY_ML_2_41_0_PY39_GPU, RAY_ML_2_5_0_PY310_CPU, RAY_ML_2_5_0_PY310_GPU, RAY_ML_2_5_0_PY37_CPU, RAY_ML_2_5_0_PY37_GPU, RAY_ML_2_5_0_PY38_CPU, RAY_ML_2_5_0_PY38_GPU, RAY_ML_2_5_0_PY39_CPU, RAY_ML_2_5_0_PY39_GPU, RAY_ML_2_5_1_PY310_CPU, RAY_ML_2_5_1_PY310_GPU, RAY_ML_2_5_1_PY37_CPU, RAY_ML_2_5_1_PY37_GPU, RAY_ML_2_5_1_PY38_CPU, RAY_ML_2_5_1_PY38_GPU, RAY_ML_2_5_1_PY39_CPU, RAY_ML_2_5_1_PY39_GPU, RAY_ML_2_6_0_PY310_CPU, RAY_ML_2_6_0_PY310_GPU, RAY_ML_2_6_0_PY38_CPU, RAY_ML_2_6_0_PY38_GPU, RAY_ML_2_6_0_PY39_CPU, RAY_ML_2_6_0_PY39_GPU, RAY_ML_2_6_1_PY310_CPU, RAY_ML_2_6_1_PY310_GPU, RAY_ML_2_6_1_PY38_CPU, RAY_ML_2_6_1_PY38_GPU, RAY_ML_2_6_1_PY39_CPU, RAY_ML_2_6_1_PY39_GPU, RAY_ML_2_6_2_PY310_CPU, RAY_ML_2_6_2_PY310_GPU, RAY_ML_2_6_2_PY38_CPU, RAY_ML_2_6_2_PY38_GPU, RAY_ML_2_6_2_PY39_CPU, RAY_ML_2_6_2_PY39_GPU, RAY_ML_2_6_3_PY310_CPU, RAY_ML_2_6_3_PY310_GPU, RAY_ML_2_6_3_PY38_CPU, RAY_ML_2_6_3_PY38_GPU, RAY_ML_2_6_3_PY39_CPU, RAY_ML_2_6_3_PY39_GPU, RAY_ML_2_7_0OPTIMIZED_PY310_CPU, RAY_ML_2_7_0OPTIMIZED_PY310_GPU, RAY_ML_2_7_0OPTIMIZED_PY38_CPU, RAY_ML_2_7_0OPTIMIZED_PY38_GPU, RAY_ML_2_7_0OPTIMIZED_PY39_CPU, RAY_ML_2_7_0OPTIMIZED_PY39_GPU, RAY_ML_2_7_1OPTIMIZED_PY310_CPU, RAY_ML_2_7_1OPTIMIZED_PY310_GPU, RAY_ML_2_7_1OPTIMIZED_PY38_CPU, RAY_ML_2_7_1OPTIMIZED_PY38_GPU, RAY_ML_2_7_1OPTIMIZED_PY39_CPU, RAY_ML_2_7_1OPTIMIZED_PY39_GPU, RAY_ML_2_7_2OPTIMIZED_PY310_CPU, RAY_ML_2_7_2OPTIMIZED_PY310_GPU, RAY_ML_2_7_2OPTIMIZED_PY38_CPU, RAY_ML_2_7_2OPTIMIZED_PY38_GPU, RAY_ML_2_7_2OPTIMIZED_PY39_CPU, RAY_ML_2_7_2OPTIMIZED_PY39_GPU, RAY_ML_2_8_0_PY310_CPU, RAY_ML_2_8_0_PY310_GPU, RAY_ML_2_8_0_PY38_CPU, RAY_ML_2_8_0_PY38_GPU, RAY_ML_2_8_0_PY39_CPU, RAY_ML_2_8_0_PY39_GPU, RAY_ML_2_8_1_PY310_CPU, RAY_ML_2_8_1_PY310_GPU, RAY_ML_2_8_1_PY38_CPU, RAY_ML_2_8_1_PY38_GPU, RAY_ML_2_8_1_PY39_CPU, RAY_ML_2_8_1_PY39_GPU, RAY_ML_2_9_0_PY310_CPU, RAY_ML_2_9_0_PY310_GPU, RAY_ML_2_9_0_PY38_CPU, RAY_ML_2_9_0_PY38_GPU, RAY_ML_2_9_0_PY39_CPU, RAY_ML_2_9_0_PY39_GPU, RAY_ML_2_9_1_PY310_CPU, RAY_ML_2_9_1_PY310_GPU, RAY_ML_2_9_1_PY38_CPU, RAY_ML_2_9_1_PY38_GPU, RAY_ML_2_9_1_PY39_CPU, RAY_ML_2_9_1_PY39_GPU, RAY_ML_2_9_2_PY310_CPU, RAY_ML_2_9_2_PY310_GPU, RAY_ML_2_9_2_PY38_CPU, RAY_ML_2_9_2_PY38_GPU, RAY_ML_2_9_2_PY39_CPU, RAY_ML_2_9_2_PY39_GPU, RAY_ML_2_9_3_PY310_CPU, RAY_ML_2_9_3_PY310_GPU, RAY_ML_2_9_3_PY38_CPU, RAY_ML_2_9_3_PY38_GPU, RAY_ML_2_9_3_PY39_CPU, RAY_ML_2_9_3_PY39_GPU, RAY_ML_NIGHTLY_PY310_GPU, RAY_ML_NIGHTLY_PY311_GPU, RAY_ML_NIGHTLY_PY312_GPU, RAY_ML_NIGHTLY_PY37_GPU, RAY_ML_NIGHTLY_PY38_GPU, RAY_ML_NIGHTLY_PY39_GPU, RAY_2_0_0_PY310, RAY_2_0_0_PY37, RAY_2_0_0_PY37_CU101, RAY_2_0_0_PY37_CU102, RAY_2_0_0_PY37_CU110, RAY_2_0_0_PY37_CU111, RAY_2_0_0_PY37_CU112, RAY_2_0_0_PY37_CU113, RAY_2_0_0_PY38, RAY_2_0_0_PY38_CU101, RAY_2_0_0_PY38_CU102, RAY_2_0_0_PY38_CU110, RAY_2_0_0_PY38_CU111, RAY_2_0_0_PY38_CU112, RAY_2_0_0_PY38_CU113, RAY_2_0_0_PY39, RAY_2_0_0_PY39_CU101, RAY_2_0_0_PY39_CU102, RAY_2_0_0_PY39_CU110, RAY_2_0_0_PY39_CU111, RAY_2_0_0_PY39_CU112, RAY_2_0_0_PY39_CU113, RAY_2_0_1_PY310, RAY_2_0_1_PY37, RAY_2_0_1_PY37_CU101, RAY_2_0_1_PY37_CU102, RAY_2_0_1_PY37_CU110, RAY_2_0_1_PY37_CU111, RAY_2_0_1_PY37_CU112, RAY_2_0_1_PY37_CU113, RAY_2_0_1_PY37_CU116, RAY_2_0_1_PY38, RAY_2_0_1_PY38_CU101, RAY_2_0_1_PY38_CU102, RAY_2_0_1_PY38_CU110, RAY_2_0_1_PY38_CU111, RAY_2_0_1_PY38_CU112, RAY_2_0_1_PY38_CU113, RAY_2_0_1_PY38_CU116, RAY_2_0_1_PY39, RAY_2_0_1_PY39_CU101, RAY_2_0_1_PY39_CU102, RAY_2_0_1_PY39_CU110, RAY_2_0_1_PY39_CU111, RAY_2_0_1_PY39_CU112, RAY_2_0_1_PY39_CU113, RAY_2_0_1_PY39_CU116, RAY_2_1_0_PY310, RAY_2_1_0_PY310_CU101, RAY_2_1_0_PY310_CU102, RAY_2_1_0_PY310_CU110, RAY_2_1_0_PY310_CU111, RAY_2_1_0_PY310_CU112, RAY_2_1_0_PY310_CU113, RAY_2_1_0_PY310_CU116, RAY_2_1_0_PY37, RAY_2_1_0_PY37_CU101, RAY_2_1_0_PY37_CU102, RAY_2_1_0_PY37_CU110, RAY_2_1_0_PY37_CU111, RAY_2_1_0_PY37_CU112, RAY_2_1_0_PY37_CU113, RAY_2_1_0_PY37_CU116, RAY_2_1_0_PY38, RAY_2_1_0_PY38_CU101, RAY_2_1_0_PY38_CU102, RAY_2_1_0_PY38_CU110, RAY_2_1_0_PY38_CU111, RAY_2_1_0_PY38_CU112, RAY_2_1_0_PY38_CU113, RAY_2_1_0_PY38_CU116, RAY_2_1_0_PY39, RAY_2_1_0_PY39_CU101, RAY_2_1_0_PY39_CU102, RAY_2_1_0_PY39_CU110, RAY_2_1_0_PY39_CU111, RAY_2_1_0_PY39_CU112, RAY_2_1_0_PY39_CU113, RAY_2_1_0_PY39_CU116, RAY_2_10_0_PY310, RAY_2_10_0_PY310_CU115, RAY_2_10_0_PY310_CU116, RAY_2_10_0_PY310_CU117, RAY_2_10_0_PY310_CU118, RAY_2_10_0_PY310_CU121, RAY_2_10_0_PY311, RAY_2_10_0_PY311_CU115, RAY_2_10_0_PY311_CU116, RAY_2_10_0_PY311_CU117, RAY_2_10_0_PY311_CU118, RAY_2_10_0_PY311_CU121, RAY_2_10_0_PY38, RAY_2_10_0_PY38_CU115, RAY_2_10_0_PY38_CU116, RAY_2_10_0_PY38_CU117, RAY_2_10_0_PY38_CU118, RAY_2_10_0_PY38_CU121, RAY_2_10_0_PY39, RAY_2_10_0_PY39_CU115, RAY_2_10_0_PY39_CU116, RAY_2_10_0_PY39_CU117, RAY_2_10_0_PY39_CU118, RAY_2_10_0_PY39_CU121, RAY_2_11_0_PY310, RAY_2_11_0_PY310_CU115, RAY_2_11_0_PY310_CU116, RAY_2_11_0_PY310_CU117, RAY_2_11_0_PY310_CU118, RAY_2_11_0_PY310_CU121, RAY_2_11_0_PY311, RAY_2_11_0_PY311_CU115, RAY_2_11_0_PY311_CU116, RAY_2_11_0_PY311_CU117, RAY_2_11_0_PY311_CU118, RAY_2_11_0_PY311_CU121, RAY_2_11_0_PY39, RAY_2_11_0_PY39_CU115, RAY_2_11_0_PY39_CU116, RAY_2_11_0_PY39_CU117, RAY_2_11_0_PY39_CU118, RAY_2_11_0_PY39_CU121, RAY_2_12_0_PY310, RAY_2_12_0_PY310_CU115, RAY_2_12_0_PY310_CU116, RAY_2_12_0_PY310_CU117, RAY_2_12_0_PY310_CU118, RAY_2_12_0_PY310_CU121, RAY_2_12_0_PY311, RAY_2_12_0_PY311_CU115, RAY_2_12_0_PY311_CU116, RAY_2_12_0_PY311_CU117, RAY_2_12_0_PY311_CU118, RAY_2_12_0_PY311_CU121, RAY_2_12_0_PY39, RAY_2_12_0_PY39_CU115, RAY_2_12_0_PY39_CU116, RAY_2_12_0_PY39_CU117, RAY_2_12_0_PY39_CU118, RAY_2_12_0_PY39_CU121, RAY_2_2_0_PY310, RAY_2_2_0_PY310_CU101, RAY_2_2_0_PY310_CU102, RAY_2_2_0_PY310_CU110, RAY_2_2_0_PY310_CU111, RAY_2_2_0_PY310_CU112, RAY_2_2_0_PY310_CU113, RAY_2_2_0_PY310_CU116, RAY_2_2_0_PY37, RAY_2_2_0_PY37_CU101, RAY_2_2_0_PY37_CU102, RAY_2_2_0_PY37_CU110, RAY_2_2_0_PY37_CU111, RAY_2_2_0_PY37_CU112, RAY_2_2_0_PY37_CU113, RAY_2_2_0_PY37_CU116, RAY_2_2_0_PY38, RAY_2_2_0_PY38_CU101, RAY_2_2_0_PY38_CU102, RAY_2_2_0_PY38_CU110, RAY_2_2_0_PY38_CU111, RAY_2_2_0_PY38_CU112, RAY_2_2_0_PY38_CU113, RAY_2_2_0_PY38_CU116, RAY_2_2_0_PY39, RAY_2_2_0_PY39_CU101, RAY_2_2_0_PY39_CU102, RAY_2_2_0_PY39_CU110, RAY_2_2_0_PY39_CU111, RAY_2_2_0_PY39_CU112, RAY_2_2_0_PY39_CU113, RAY_2_2_0_PY39_CU116, RAY_2_20_0_PY310, RAY_2_20_0_PY310_CU115, RAY_2_20_0_PY310_CU116, RAY_2_20_0_PY310_CU117, RAY_2_20_0_PY310_CU118, RAY_2_20_0_PY310_CU121, RAY_2_20_0_PY311, RAY_2_20_0_PY311_CU115, RAY_2_20_0_PY311_CU116, RAY_2_20_0_PY311_CU117, RAY_2_20_0_PY311_CU118, RAY_2_20_0_PY311_CU121, RAY_2_20_0_PY39, RAY_2_20_0_PY39_CU115, RAY_2_20_0_PY39_CU116, RAY_2_20_0_PY39_CU117, RAY_2_20_0_PY39_CU118, RAY_2_20_0_PY39_CU121, RAY_2_21_0_PY310, RAY_2_21_0_PY310_CU115, RAY_2_21_0_PY310_CU116, RAY_2_21_0_PY310_CU117, RAY_2_21_0_PY310_CU118, RAY_2_21_0_PY310_CU121, RAY_2_21_0_PY311, RAY_2_21_0_PY311_CU115, RAY_2_21_0_PY311_CU116, RAY_2_21_0_PY311_CU117, RAY_2_21_0_PY311_CU118, RAY_2_21_0_PY311_CU121, RAY_2_21_0_PY39, RAY_2_21_0_PY39_CU115, RAY_2_21_0_PY39_CU116, RAY_2_21_0_PY39_CU117, RAY_2_21_0_PY39_CU118, RAY_2_21_0_PY39_CU121, RAY_2_21_0_SLIM_PY310, RAY_2_21_0_SLIM_PY310_CU118, RAY_2_21_0_SLIM_PY310_CU121, RAY_2_21_0_SLIM_PY311, RAY_2_21_0_SLIM_PY311_CU118, RAY_2_21_0_SLIM_PY311_CU121, RAY_2_21_0_SLIM_PY39, RAY_2_21_0_SLIM_PY39_CU118, RAY_2_21_0_SLIM_PY39_CU121, RAY_2_22_0_PY310, RAY_2_22_0_PY310_CU115, RAY_2_22_0_PY310_CU116, RAY_2_22_0_PY310_CU117, RAY_2_22_0_PY310_CU118, RAY_2_22_0_PY310_CU121, RAY_2_22_0_PY311, RAY_2_22_0_PY311_CU115, RAY_2_22_0_PY311_CU116, RAY_2_22_0_PY311_CU117, RAY_2_22_0_PY311_CU118, RAY_2_22_0_PY311_CU121, RAY_2_22_0_PY39, RAY_2_22_0_PY39_CU115, RAY_2_22_0_PY39_CU116, RAY_2_22_0_PY39_CU117, RAY_2_22_0_PY39_CU118, RAY_2_22_0_PY39_CU121, RAY_2_22_0_SLIM_PY310, RAY_2_22_0_SLIM_PY310_CU118, RAY_2_22_0_SLIM_PY310_CU121, RAY_2_22_0_SLIM_PY311, RAY_2_22_0_SLIM_PY311_CU118, RAY_2_22_0_SLIM_PY311_CU121, RAY_2_22_0_SLIM_PY39, RAY_2_22_0_SLIM_PY39_CU118, RAY_2_22_0_SLIM_PY39_CU121, RAY_2_23_0_PY310, RAY_2_23_0_PY310_CU115, RAY_2_23_0_PY310_CU116, RAY_2_23_0_PY310_CU117, RAY_2_23_0_PY310_CU118, RAY_2_23_0_PY310_CU121, RAY_2_23_0_PY311, RAY_2_23_0_PY311_CU115, RAY_2_23_0_PY311_CU116, RAY_2_23_0_PY311_CU117, RAY_2_23_0_PY311_CU118, RAY_2_23_0_PY311_CU121, RAY_2_23_0_PY39, RAY_2_23_0_PY39_CU115, RAY_2_23_0_PY39_CU116, RAY_2_23_0_PY39_CU117, RAY_2_23_0_PY39_CU118, RAY_2_23_0_PY39_CU121, RAY_2_23_0_SLIM_PY310, RAY_2_23_0_SLIM_PY310_CU118, RAY_2_23_0_SLIM_PY310_CU121, RAY_2_23_0_SLIM_PY311, RAY_2_23_0_SLIM_PY311_CU118, RAY_2_23_0_SLIM_PY311_CU121, RAY_2_23_0_SLIM_PY39, RAY_2_23_0_SLIM_PY39_CU118, RAY_2_23_0_SLIM_PY39_CU121, RAY_2_24_0_PY310, RAY_2_24_0_PY310_CU115, RAY_2_24_0_PY310_CU116, RAY_2_24_0_PY310_CU117, RAY_2_24_0_PY310_CU118, RAY_2_24_0_PY310_CU121, RAY_2_24_0_PY311, RAY_2_24_0_PY311_CU115, RAY_2_24_0_PY311_CU116, RAY_2_24_0_PY311_CU117, RAY_2_24_0_PY311_CU118, RAY_2_24_0_PY311_CU121, RAY_2_24_0_PY39, RAY_2_24_0_PY39_CU115, RAY_2_24_0_PY39_CU116, RAY_2_24_0_PY39_CU117, RAY_2_24_0_PY39_CU118, RAY_2_24_0_PY39_CU121, RAY_2_24_0_SLIM_PY310, RAY_2_24_0_SLIM_PY310_CU118, RAY_2_24_0_SLIM_PY310_CU121, RAY_2_24_0_SLIM_PY311, RAY_2_24_0_SLIM_PY311_CU118, RAY_2_24_0_SLIM_PY311_CU121, RAY_2_24_0_SLIM_PY39, RAY_2_24_0_SLIM_PY39_CU118, RAY_2_24_0_SLIM_PY39_CU121, RAY_2_3_0_PY310, RAY_2_3_0_PY310_CU101, RAY_2_3_0_PY310_CU102, RAY_2_3_0_PY310_CU110, RAY_2_3_0_PY310_CU111, RAY_2_3_0_PY310_CU112, RAY_2_3_0_PY310_CU113, RAY_2_3_0_PY310_CU116, RAY_2_3_0_PY310_CU118, RAY_2_3_0_PY37, RAY_2_3_0_PY37_CU101, RAY_2_3_0_PY37_CU102, RAY_2_3_0_PY37_CU110, RAY_2_3_0_PY37_CU111, RAY_2_3_0_PY37_CU112, RAY_2_3_0_PY37_CU113, RAY_2_3_0_PY37_CU116, RAY_2_3_0_PY37_CU118, RAY_2_3_0_PY38, RAY_2_3_0_PY38_CU101, RAY_2_3_0_PY38_CU102, RAY_2_3_0_PY38_CU110, RAY_2_3_0_PY38_CU111, RAY_2_3_0_PY38_CU112, RAY_2_3_0_PY38_CU113, RAY_2_3_0_PY38_CU116, RAY_2_3_0_PY38_CU118, RAY_2_3_0_PY39, RAY_2_3_0_PY39_CU101, RAY_2_3_0_PY39_CU102, RAY_2_3_0_PY39_CU110, RAY_2_3_0_PY39_CU111, RAY_2_3_0_PY39_CU112, RAY_2_3_0_PY39_CU113, RAY_2_3_0_PY39_CU116, RAY_2_3_0_PY39_CU118, RAY_2_3_1_PY310, RAY_2_3_1_PY310_CU101, RAY_2_3_1_PY310_CU102, RAY_2_3_1_PY310_CU110, RAY_2_3_1_PY310_CU111, RAY_2_3_1_PY310_CU112, RAY_2_3_1_PY310_CU113, RAY_2_3_1_PY310_CU116, RAY_2_3_1_PY310_CU118, RAY_2_3_1_PY37, RAY_2_3_1_PY37_CU101, RAY_2_3_1_PY37_CU102, RAY_2_3_1_PY37_CU110, RAY_2_3_1_PY37_CU111, RAY_2_3_1_PY37_CU112, RAY_2_3_1_PY37_CU113, RAY_2_3_1_PY37_CU116, RAY_2_3_1_PY37_CU118, RAY_2_3_1_PY38, RAY_2_3_1_PY38_CU101, RAY_2_3_1_PY38_CU102, RAY_2_3_1_PY38_CU110, RAY_2_3_1_PY38_CU111, RAY_2_3_1_PY38_CU112, RAY_2_3_1_PY38_CU113, RAY_2_3_1_PY38_CU116, RAY_2_3_1_PY38_CU118, RAY_2_3_1_PY39, RAY_2_3_1_PY39_CU101, RAY_2_3_1_PY39_CU102, RAY_2_3_1_PY39_CU110, RAY_2_3_1_PY39_CU111, RAY_2_3_1_PY39_CU112, RAY_2_3_1_PY39_CU113, RAY_2_3_1_PY39_CU116, RAY_2_3_1_PY39_CU118, RAY_2_30_0_PY310, RAY_2_30_0_PY310_CU117, RAY_2_30_0_PY310_CU118, RAY_2_30_0_PY310_CU121, RAY_2_30_0_PY310_CU123, RAY_2_30_0_PY311, RAY_2_30_0_PY311_CU117, RAY_2_30_0_PY311_CU118, RAY_2_30_0_PY311_CU121, RAY_2_30_0_PY311_CU123, RAY_2_30_0_PY39, RAY_2_30_0_PY39_CU117, RAY_2_30_0_PY39_CU118, RAY_2_30_0_PY39_CU121, RAY_2_30_0_PY39_CU123, RAY_2_30_0_SLIM_PY310, RAY_2_30_0_SLIM_PY310_CU118, RAY_2_30_0_SLIM_PY310_CU121, RAY_2_30_0_SLIM_PY310_CU123, RAY_2_30_0_SLIM_PY311, RAY_2_30_0_SLIM_PY311_CU118, RAY_2_30_0_SLIM_PY311_CU121, RAY_2_30_0_SLIM_PY311_CU123, RAY_2_30_0_SLIM_PY39, RAY_2_30_0_SLIM_PY39_CU118, RAY_2_30_0_SLIM_PY39_CU121, RAY_2_30_0_SLIM_PY39_CU123, RAY_2_31_0_PY310, RAY_2_31_0_PY310_CU117, RAY_2_31_0_PY310_CU118, RAY_2_31_0_PY310_CU121, RAY_2_31_0_PY310_CU123, RAY_2_31_0_PY311, RAY_2_31_0_PY311_CU117, RAY_2_31_0_PY311_CU118, RAY_2_31_0_PY311_CU121, RAY_2_31_0_PY311_CU123, RAY_2_31_0_PY39, RAY_2_31_0_PY39_CU117, RAY_2_31_0_PY39_CU118, RAY_2_31_0_PY39_CU121, RAY_2_31_0_PY39_CU123, RAY_2_31_0_SLIM_PY310, RAY_2_31_0_SLIM_PY310_CU118, RAY_2_31_0_SLIM_PY310_CU121, RAY_2_31_0_SLIM_PY310_CU123, RAY_2_31_0_SLIM_PY311, RAY_2_31_0_SLIM_PY311_CU118, RAY_2_31_0_SLIM_PY311_CU121, RAY_2_31_0_SLIM_PY311_CU123, RAY_2_31_0_SLIM_PY39, RAY_2_31_0_SLIM_PY39_CU118, RAY_2_31_0_SLIM_PY39_CU121, RAY_2_31_0_SLIM_PY39_CU123, RAY_2_32_0_PY310, RAY_2_32_0_PY310_CU117, RAY_2_32_0_PY310_CU118, RAY_2_32_0_PY310_CU121, RAY_2_32_0_PY310_CU123, RAY_2_32_0_PY311, RAY_2_32_0_PY311_CU117, RAY_2_32_0_PY311_CU118, RAY_2_32_0_PY311_CU121, RAY_2_32_0_PY311_CU123, RAY_2_32_0_PY39, RAY_2_32_0_PY39_CU117, RAY_2_32_0_PY39_CU118, RAY_2_32_0_PY39_CU121, RAY_2_32_0_PY39_CU123, RAY_2_32_0_SLIM_PY310, RAY_2_32_0_SLIM_PY310_CU118, RAY_2_32_0_SLIM_PY310_CU121, RAY_2_32_0_SLIM_PY310_CU123, RAY_2_32_0_SLIM_PY311, RAY_2_32_0_SLIM_PY311_CU118, RAY_2_32_0_SLIM_PY311_CU121, RAY_2_32_0_SLIM_PY311_CU123, RAY_2_32_0_SLIM_PY39, RAY_2_32_0_SLIM_PY39_CU118, RAY_2_32_0_SLIM_PY39_CU121, RAY_2_32_0_SLIM_PY39_CU123, RAY_2_33_0_PY310, RAY_2_33_0_PY310_CU117, RAY_2_33_0_PY310_CU118, RAY_2_33_0_PY310_CU121, RAY_2_33_0_PY310_CU123, RAY_2_33_0_PY311, RAY_2_33_0_PY311_CU117, RAY_2_33_0_PY311_CU118, RAY_2_33_0_PY311_CU121, RAY_2_33_0_PY311_CU123, RAY_2_33_0_PY39, RAY_2_33_0_PY39_CU117, RAY_2_33_0_PY39_CU118, RAY_2_33_0_PY39_CU121, RAY_2_33_0_PY39_CU123, RAY_2_33_0_SLIM_PY310, RAY_2_33_0_SLIM_PY310_CU118, RAY_2_33_0_SLIM_PY310_CU121, RAY_2_33_0_SLIM_PY310_CU123, RAY_2_33_0_SLIM_PY311, RAY_2_33_0_SLIM_PY311_CU118, RAY_2_33_0_SLIM_PY311_CU121, RAY_2_33_0_SLIM_PY311_CU123, RAY_2_33_0_SLIM_PY39, RAY_2_33_0_SLIM_PY39_CU118, RAY_2_33_0_SLIM_PY39_CU121, RAY_2_33_0_SLIM_PY39_CU123, RAY_2_34_0_PY310, RAY_2_34_0_PY310_CU117, RAY_2_34_0_PY310_CU118, RAY_2_34_0_PY310_CU121, RAY_2_34_0_PY310_CU123, RAY_2_34_0_PY311, RAY_2_34_0_PY311_CU117, RAY_2_34_0_PY311_CU118, RAY_2_34_0_PY311_CU121, RAY_2_34_0_PY311_CU123, RAY_2_34_0_PY39, RAY_2_34_0_PY39_CU117, RAY_2_34_0_PY39_CU118, RAY_2_34_0_PY39_CU121, RAY_2_34_0_PY39_CU123, RAY_2_34_0_SLIM_PY310, RAY_2_34_0_SLIM_PY310_CU118, RAY_2_34_0_SLIM_PY310_CU121, RAY_2_34_0_SLIM_PY310_CU123, RAY_2_34_0_SLIM_PY311, RAY_2_34_0_SLIM_PY311_CU118, RAY_2_34_0_SLIM_PY311_CU121, RAY_2_34_0_SLIM_PY311_CU123, RAY_2_34_0_SLIM_PY39, RAY_2_34_0_SLIM_PY39_CU118, RAY_2_34_0_SLIM_PY39_CU121, RAY_2_34_0_SLIM_PY39_CU123, RAY_2_35_0_PY310, RAY_2_35_0_PY310_CU117, RAY_2_35_0_PY310_CU118, RAY_2_35_0_PY310_CU121, RAY_2_35_0_PY310_CU123, RAY_2_35_0_PY311, RAY_2_35_0_PY311_CU117, RAY_2_35_0_PY311_CU118, RAY_2_35_0_PY311_CU121, RAY_2_35_0_PY311_CU123, RAY_2_35_0_PY312, RAY_2_35_0_PY312_CU117, RAY_2_35_0_PY312_CU118, RAY_2_35_0_PY312_CU121, RAY_2_35_0_PY312_CU123, RAY_2_35_0_PY39, RAY_2_35_0_PY39_CU117, RAY_2_35_0_PY39_CU118, RAY_2_35_0_PY39_CU121, RAY_2_35_0_PY39_CU123, RAY_2_35_0_SLIM_PY310, RAY_2_35_0_SLIM_PY310_CU118, RAY_2_35_0_SLIM_PY310_CU121, RAY_2_35_0_SLIM_PY310_CU123, RAY_2_35_0_SLIM_PY311, RAY_2_35_0_SLIM_PY311_CU118, RAY_2_35_0_SLIM_PY311_CU121, RAY_2_35_0_SLIM_PY311_CU123, RAY_2_35_0_SLIM_PY312, RAY_2_35_0_SLIM_PY312_CU118, RAY_2_35_0_SLIM_PY312_CU121, RAY_2_35_0_SLIM_PY312_CU123, RAY_2_35_0_SLIM_PY39, RAY_2_35_0_SLIM_PY39_CU118, RAY_2_35_0_SLIM_PY39_CU121, RAY_2_35_0_SLIM_PY39_CU123, RAY_2_36_0_PY310, RAY_2_36_0_PY310_CU117, RAY_2_36_0_PY310_CU118, RAY_2_36_0_PY310_CU121, RAY_2_36_0_PY310_CU123, RAY_2_36_0_PY311, RAY_2_36_0_PY311_CU117, RAY_2_36_0_PY311_CU118, RAY_2_36_0_PY311_CU121, RAY_2_36_0_PY311_CU123, RAY_2_36_0_PY312, RAY_2_36_0_PY312_CU117, RAY_2_36_0_PY312_CU118, RAY_2_36_0_PY312_CU121, RAY_2_36_0_PY312_CU123, RAY_2_36_0_PY39, RAY_2_36_0_PY39_CU117, RAY_2_36_0_PY39_CU118, RAY_2_36_0_PY39_CU121, RAY_2_36_0_PY39_CU123, RAY_2_36_0_SLIM_PY310, RAY_2_36_0_SLIM_PY310_CU118, RAY_2_36_0_SLIM_PY310_CU121, RAY_2_36_0_SLIM_PY310_CU123, RAY_2_36_0_SLIM_PY311, RAY_2_36_0_SLIM_PY311_CU118, RAY_2_36_0_SLIM_PY311_CU121, RAY_2_36_0_SLIM_PY311_CU123, RAY_2_36_0_SLIM_PY312, RAY_2_36_0_SLIM_PY312_CU118, RAY_2_36_0_SLIM_PY312_CU121, RAY_2_36_0_SLIM_PY312_CU123, RAY_2_36_0_SLIM_PY39, RAY_2_36_0_SLIM_PY39_CU118, RAY_2_36_0_SLIM_PY39_CU121, RAY_2_36_0_SLIM_PY39_CU123, RAY_2_36_1_PY310, RAY_2_36_1_PY310_CU117, RAY_2_36_1_PY310_CU118, RAY_2_36_1_PY310_CU121, RAY_2_36_1_PY310_CU123, RAY_2_36_1_PY311, RAY_2_36_1_PY311_CU117, RAY_2_36_1_PY311_CU118, RAY_2_36_1_PY311_CU121, RAY_2_36_1_PY311_CU123, RAY_2_36_1_PY312, RAY_2_36_1_PY312_CU117, RAY_2_36_1_PY312_CU118, RAY_2_36_1_PY312_CU121, RAY_2_36_1_PY312_CU123, RAY_2_36_1_PY39, RAY_2_36_1_PY39_CU117, RAY_2_36_1_PY39_CU118, RAY_2_36_1_PY39_CU121, RAY_2_36_1_PY39_CU123, RAY_2_36_1_SLIM_PY310, RAY_2_36_1_SLIM_PY310_CU118, RAY_2_36_1_SLIM_PY310_CU121, RAY_2_36_1_SLIM_PY310_CU123, RAY_2_36_1_SLIM_PY311, RAY_2_36_1_SLIM_PY311_CU118, RAY_2_36_1_SLIM_PY311_CU121, RAY_2_36_1_SLIM_PY311_CU123, RAY_2_36_1_SLIM_PY312, RAY_2_36_1_SLIM_PY312_CU118, RAY_2_36_1_SLIM_PY312_CU121, RAY_2_36_1_SLIM_PY312_CU123, RAY_2_36_1_SLIM_PY39, RAY_2_36_1_SLIM_PY39_CU118, RAY_2_36_1_SLIM_PY39_CU121, RAY_2_36_1_SLIM_PY39_CU123, RAY_2_37_0_PY310, RAY_2_37_0_PY310_CU117, RAY_2_37_0_PY310_CU118, RAY_2_37_0_PY310_CU121, RAY_2_37_0_PY310_CU123, RAY_2_37_0_PY311, RAY_2_37_0_PY311_CU117, RAY_2_37_0_PY311_CU118, RAY_2_37_0_PY311_CU121, RAY_2_37_0_PY311_CU123, RAY_2_37_0_PY312, RAY_2_37_0_PY312_CU117, RAY_2_37_0_PY312_CU118, RAY_2_37_0_PY312_CU121, RAY_2_37_0_PY312_CU123, RAY_2_37_0_PY39, RAY_2_37_0_PY39_CU117, RAY_2_37_0_PY39_CU118, RAY_2_37_0_PY39_CU121, RAY_2_37_0_PY39_CU123, RAY_2_37_0_SLIM_PY310, RAY_2_37_0_SLIM_PY310_CU118, RAY_2_37_0_SLIM_PY310_CU121, RAY_2_37_0_SLIM_PY310_CU123, RAY_2_37_0_SLIM_PY311, RAY_2_37_0_SLIM_PY311_CU118, RAY_2_37_0_SLIM_PY311_CU121, RAY_2_37_0_SLIM_PY311_CU123, RAY_2_37_0_SLIM_PY312, RAY_2_37_0_SLIM_PY312_CU118, RAY_2_37_0_SLIM_PY312_CU121, RAY_2_37_0_SLIM_PY312_CU123, RAY_2_37_0_SLIM_PY39, RAY_2_37_0_SLIM_PY39_CU118, RAY_2_37_0_SLIM_PY39_CU121, RAY_2_37_0_SLIM_PY39_CU123, RAY_2_38_0_PY310, RAY_2_38_0_PY310_CU117, RAY_2_38_0_PY310_CU118, RAY_2_38_0_PY310_CU121, RAY_2_38_0_PY310_CU123, RAY_2_38_0_PY311, RAY_2_38_0_PY311_CU117, RAY_2_38_0_PY311_CU118, RAY_2_38_0_PY311_CU121, RAY_2_38_0_PY311_CU123, RAY_2_38_0_PY312, RAY_2_38_0_PY312_CU117, RAY_2_38_0_PY312_CU118, RAY_2_38_0_PY312_CU121, RAY_2_38_0_PY312_CU123, RAY_2_38_0_PY39, RAY_2_38_0_PY39_CU117, RAY_2_38_0_PY39_CU118, RAY_2_38_0_PY39_CU121, RAY_2_38_0_PY39_CU123, RAY_2_38_0_SLIM_PY310, RAY_2_38_0_SLIM_PY310_CU118, RAY_2_38_0_SLIM_PY310_CU121, RAY_2_38_0_SLIM_PY310_CU123, RAY_2_38_0_SLIM_PY311, RAY_2_38_0_SLIM_PY311_CU118, RAY_2_38_0_SLIM_PY311_CU121, RAY_2_38_0_SLIM_PY311_CU123, RAY_2_38_0_SLIM_PY312, RAY_2_38_0_SLIM_PY312_CU118, RAY_2_38_0_SLIM_PY312_CU121, RAY_2_38_0_SLIM_PY312_CU123, RAY_2_38_0_SLIM_PY39, RAY_2_38_0_SLIM_PY39_CU118, RAY_2_38_0_SLIM_PY39_CU121, RAY_2_38_0_SLIM_PY39_CU123, RAY_2_39_0_PY310, RAY_2_39_0_PY310_CU117, RAY_2_39_0_PY310_CU118, RAY_2_39_0_PY310_CU121, RAY_2_39_0_PY310_CU123, RAY_2_39_0_PY311, RAY_2_39_0_PY311_CU117, RAY_2_39_0_PY311_CU118, RAY_2_39_0_PY311_CU121, RAY_2_39_0_PY311_CU123, RAY_2_39_0_PY312, RAY_2_39_0_PY312_CU117, RAY_2_39_0_PY312_CU118, RAY_2_39_0_PY312_CU121, RAY_2_39_0_PY312_CU123, RAY_2_39_0_PY39, RAY_2_39_0_PY39_CU117, RAY_2_39_0_PY39_CU118, RAY_2_39_0_PY39_CU121, RAY_2_39_0_PY39_CU123, RAY_2_39_0_SLIM_PY310, RAY_2_39_0_SLIM_PY310_CU118, RAY_2_39_0_SLIM_PY310_CU121, RAY_2_39_0_SLIM_PY310_CU123, RAY_2_39_0_SLIM_PY311, RAY_2_39_0_SLIM_PY311_CU118, RAY_2_39_0_SLIM_PY311_CU121, RAY_2_39_0_SLIM_PY311_CU123, RAY_2_39_0_SLIM_PY312, RAY_2_39_0_SLIM_PY312_CU118, RAY_2_39_0_SLIM_PY312_CU121, RAY_2_39_0_SLIM_PY312_CU123, RAY_2_39_0_SLIM_PY39, RAY_2_39_0_SLIM_PY39_CU118, RAY_2_39_0_SLIM_PY39_CU121, RAY_2_39_0_SLIM_PY39_CU123, RAY_2_4_0_PY310, RAY_2_4_0_PY310_CU101, RAY_2_4_0_PY310_CU102, RAY_2_4_0_PY310_CU110, RAY_2_4_0_PY310_CU111, RAY_2_4_0_PY310_CU112, RAY_2_4_0_PY310_CU113, RAY_2_4_0_PY310_CU116, RAY_2_4_0_PY310_CU118, RAY_2_4_0_PY37, RAY_2_4_0_PY37_CU101, RAY_2_4_0_PY37_CU102, RAY_2_4_0_PY37_CU110, RAY_2_4_0_PY37_CU111, RAY_2_4_0_PY37_CU112, RAY_2_4_0_PY37_CU113, RAY_2_4_0_PY37_CU116, RAY_2_4_0_PY37_CU118, RAY_2_4_0_PY38, RAY_2_4_0_PY38_CU101, RAY_2_4_0_PY38_CU102, RAY_2_4_0_PY38_CU110, RAY_2_4_0_PY38_CU111, RAY_2_4_0_PY38_CU112, RAY_2_4_0_PY38_CU113, RAY_2_4_0_PY38_CU116, RAY_2_4_0_PY38_CU118, RAY_2_4_0_PY39, RAY_2_4_0_PY39_CU101, RAY_2_4_0_PY39_CU102, RAY_2_4_0_PY39_CU110, RAY_2_4_0_PY39_CU111, RAY_2_4_0_PY39_CU112, RAY_2_4_0_PY39_CU113, RAY_2_4_0_PY39_CU116, RAY_2_4_0_PY39_CU118, RAY_2_40_0_PY310, RAY_2_40_0_PY310_CU117, RAY_2_40_0_PY310_CU118, RAY_2_40_0_PY310_CU121, RAY_2_40_0_PY310_CU123, RAY_2_40_0_PY311, RAY_2_40_0_PY311_CU117, RAY_2_40_0_PY311_CU118, RAY_2_40_0_PY311_CU121, RAY_2_40_0_PY311_CU123, RAY_2_40_0_PY312, RAY_2_40_0_PY312_CU117, RAY_2_40_0_PY312_CU118, RAY_2_40_0_PY312_CU121, RAY_2_40_0_PY312_CU123, RAY_2_40_0_PY39, RAY_2_40_0_PY39_CU117, RAY_2_40_0_PY39_CU118, RAY_2_40_0_PY39_CU121, RAY_2_40_0_PY39_CU123, RAY_2_40_0_SLIM_PY310, RAY_2_40_0_SLIM_PY310_CU118, RAY_2_40_0_SLIM_PY310_CU121, RAY_2_40_0_SLIM_PY310_CU123, RAY_2_40_0_SLIM_PY311, RAY_2_40_0_SLIM_PY311_CU118, RAY_2_40_0_SLIM_PY311_CU121, RAY_2_40_0_SLIM_PY311_CU123, RAY_2_40_0_SLIM_PY312, RAY_2_40_0_SLIM_PY312_CU118, RAY_2_40_0_SLIM_PY312_CU121, RAY_2_40_0_SLIM_PY312_CU123, RAY_2_40_0_SLIM_PY39, RAY_2_40_0_SLIM_PY39_CU118, RAY_2_40_0_SLIM_PY39_CU121, RAY_2_40_0_SLIM_PY39_CU123, RAY_2_41_0_PY310, RAY_2_41_0_PY310_CU117, RAY_2_41_0_PY310_CU118, RAY_2_41_0_PY310_CU121, RAY_2_41_0_PY310_CU123, RAY_2_41_0_PY311, RAY_2_41_0_PY311_CU117, RAY_2_41_0_PY311_CU118, RAY_2_41_0_PY311_CU121, RAY_2_41_0_PY311_CU123, RAY_2_41_0_PY312, RAY_2_41_0_PY312_CU117, RAY_2_41_0_PY312_CU118, RAY_2_41_0_PY312_CU121, RAY_2_41_0_PY312_CU123, RAY_2_41_0_PY39, RAY_2_41_0_PY39_CU117, RAY_2_41_0_PY39_CU118, RAY_2_41_0_PY39_CU121, RAY_2_41_0_PY39_CU123, RAY_2_41_0_SLIM_PY310, RAY_2_41_0_SLIM_PY310_CU118, RAY_2_41_0_SLIM_PY310_CU121, RAY_2_41_0_SLIM_PY310_CU123, RAY_2_41_0_SLIM_PY311, RAY_2_41_0_SLIM_PY311_CU118, RAY_2_41_0_SLIM_PY311_CU121, RAY_2_41_0_SLIM_PY311_CU123, RAY_2_41_0_SLIM_PY312, RAY_2_41_0_SLIM_PY312_CU118, RAY_2_41_0_SLIM_PY312_CU121, RAY_2_41_0_SLIM_PY312_CU123, RAY_2_41_0_SLIM_PY39, RAY_2_41_0_SLIM_PY39_CU118, RAY_2_41_0_SLIM_PY39_CU121, RAY_2_41_0_SLIM_PY39_CU123, RAY_2_5_0_PY310, RAY_2_5_0_PY310_CU101, RAY_2_5_0_PY310_CU102, RAY_2_5_0_PY310_CU110, RAY_2_5_0_PY310_CU111, RAY_2_5_0_PY310_CU112, RAY_2_5_0_PY310_CU113, RAY_2_5_0_PY310_CU116, RAY_2_5_0_PY310_CU118, RAY_2_5_0_PY37, RAY_2_5_0_PY37_CU101, RAY_2_5_0_PY37_CU102, RAY_2_5_0_PY37_CU110, RAY_2_5_0_PY37_CU111, RAY_2_5_0_PY37_CU112, RAY_2_5_0_PY37_CU113, RAY_2_5_0_PY37_CU116, RAY_2_5_0_PY37_CU118, RAY_2_5_0_PY38, RAY_2_5_0_PY38_CU101, RAY_2_5_0_PY38_CU102, RAY_2_5_0_PY38_CU110, RAY_2_5_0_PY38_CU111, RAY_2_5_0_PY38_CU112, RAY_2_5_0_PY38_CU113, RAY_2_5_0_PY38_CU116, RAY_2_5_0_PY38_CU118, RAY_2_5_0_PY39, RAY_2_5_0_PY39_CU101, RAY_2_5_0_PY39_CU102, RAY_2_5_0_PY39_CU110, RAY_2_5_0_PY39_CU111, RAY_2_5_0_PY39_CU112, RAY_2_5_0_PY39_CU113, RAY_2_5_0_PY39_CU116, RAY_2_5_0_PY39_CU118, RAY_2_5_1_PY310, RAY_2_5_1_PY310_CU101, RAY_2_5_1_PY310_CU102, RAY_2_5_1_PY310_CU110, RAY_2_5_1_PY310_CU111, RAY_2_5_1_PY310_CU112, RAY_2_5_1_PY310_CU113, RAY_2_5_1_PY310_CU116, RAY_2_5_1_PY310_CU118, RAY_2_5_1_PY37, RAY_2_5_1_PY37_CU101, RAY_2_5_1_PY37_CU102, RAY_2_5_1_PY37_CU110, RAY_2_5_1_PY37_CU111, RAY_2_5_1_PY37_CU112, RAY_2_5_1_PY37_CU113, RAY_2_5_1_PY37_CU116, RAY_2_5_1_PY37_CU118, RAY_2_5_1_PY38, RAY_2_5_1_PY38_CU101, RAY_2_5_1_PY38_CU102, RAY_2_5_1_PY38_CU110, RAY_2_5_1_PY38_CU111, RAY_2_5_1_PY38_CU112, RAY_2_5_1_PY38_CU113, RAY_2_5_1_PY38_CU116, RAY_2_5_1_PY38_CU118, RAY_2_5_1_PY39, RAY_2_5_1_PY39_CU101, RAY_2_5_1_PY39_CU102, RAY_2_5_1_PY39_CU110, RAY_2_5_1_PY39_CU111, RAY_2_5_1_PY39_CU112, RAY_2_5_1_PY39_CU113, RAY_2_5_1_PY39_CU116, RAY_2_5_1_PY39_CU118, RAY_2_6_0_PY310, RAY_2_6_0_PY310_CU115, RAY_2_6_0_PY310_CU116, RAY_2_6_0_PY310_CU117, RAY_2_6_0_PY310_CU118, RAY_2_6_0_PY37, RAY_2_6_0_PY37_CU115, RAY_2_6_0_PY37_CU116, RAY_2_6_0_PY37_CU117, RAY_2_6_0_PY37_CU118, RAY_2_6_0_PY38, RAY_2_6_0_PY38_CU115, RAY_2_6_0_PY38_CU116, RAY_2_6_0_PY38_CU117, RAY_2_6_0_PY38_CU118, RAY_2_6_0_PY39, RAY_2_6_0_PY39_CU115, RAY_2_6_0_PY39_CU116, RAY_2_6_0_PY39_CU117, RAY_2_6_0_PY39_CU118, RAY_2_6_1_PY310, RAY_2_6_1_PY310_CU115, RAY_2_6_1_PY310_CU116, RAY_2_6_1_PY310_CU117, RAY_2_6_1_PY310_CU118, RAY_2_6_1_PY37, RAY_2_6_1_PY37_CU115, RAY_2_6_1_PY37_CU116, RAY_2_6_1_PY37_CU117, RAY_2_6_1_PY37_CU118, RAY_2_6_1_PY38, RAY_2_6_1_PY38_CU115, RAY_2_6_1_PY38_CU116, RAY_2_6_1_PY38_CU117, RAY_2_6_1_PY38_CU118, RAY_2_6_1_PY39, RAY_2_6_1_PY39_CU115, RAY_2_6_1_PY39_CU116, RAY_2_6_1_PY39_CU117, RAY_2_6_1_PY39_CU118, RAY_2_6_2_PY310, RAY_2_6_2_PY310_CU115, RAY_2_6_2_PY310_CU116, RAY_2_6_2_PY310_CU117, RAY_2_6_2_PY310_CU118, RAY_2_6_2_PY37, RAY_2_6_2_PY37_CU115, RAY_2_6_2_PY37_CU116, RAY_2_6_2_PY37_CU117, RAY_2_6_2_PY37_CU118, RAY_2_6_2_PY38, RAY_2_6_2_PY38_CU115, RAY_2_6_2_PY38_CU116, RAY_2_6_2_PY38_CU117, RAY_2_6_2_PY38_CU118, RAY_2_6_2_PY39, RAY_2_6_2_PY39_CU115, RAY_2_6_2_PY39_CU116, RAY_2_6_2_PY39_CU117, RAY_2_6_2_PY39_CU118, RAY_2_6_3_PY310, RAY_2_6_3_PY310_CU115, RAY_2_6_3_PY310_CU116, RAY_2_6_3_PY310_CU117, RAY_2_6_3_PY310_CU118, RAY_2_6_3_PY37, RAY_2_6_3_PY37_CU115, RAY_2_6_3_PY37_CU116, RAY_2_6_3_PY37_CU117, RAY_2_6_3_PY37_CU118, RAY_2_6_3_PY38, RAY_2_6_3_PY38_CU115, RAY_2_6_3_PY38_CU116, RAY_2_6_3_PY38_CU117, RAY_2_6_3_PY38_CU118, RAY_2_6_3_PY39, RAY_2_6_3_PY39_CU115, RAY_2_6_3_PY39_CU116, RAY_2_6_3_PY39_CU117, RAY_2_6_3_PY39_CU118, RAY_2_7_0OPTIMIZED_PY310, RAY_2_7_0OPTIMIZED_PY310_CU115, RAY_2_7_0OPTIMIZED_PY310_CU116, RAY_2_7_0OPTIMIZED_PY310_CU117, RAY_2_7_0OPTIMIZED_PY310_CU118, RAY_2_7_0OPTIMIZED_PY310_CU121, RAY_2_7_0OPTIMIZED_PY311, RAY_2_7_0OPTIMIZED_PY311_CU115, RAY_2_7_0OPTIMIZED_PY311_CU116, RAY_2_7_0OPTIMIZED_PY311_CU117, RAY_2_7_0OPTIMIZED_PY311_CU118, RAY_2_7_0OPTIMIZED_PY311_CU121, RAY_2_7_0OPTIMIZED_PY37, RAY_2_7_0OPTIMIZED_PY37_CU115, RAY_2_7_0OPTIMIZED_PY37_CU116, RAY_2_7_0OPTIMIZED_PY37_CU117, RAY_2_7_0OPTIMIZED_PY37_CU118, RAY_2_7_0OPTIMIZED_PY37_CU121, RAY_2_7_0OPTIMIZED_PY38, RAY_2_7_0OPTIMIZED_PY38_CU115, RAY_2_7_0OPTIMIZED_PY38_CU116, RAY_2_7_0OPTIMIZED_PY38_CU117, RAY_2_7_0OPTIMIZED_PY38_CU118, RAY_2_7_0OPTIMIZED_PY38_CU121, RAY_2_7_0OPTIMIZED_PY39, RAY_2_7_0OPTIMIZED_PY39_CU115, RAY_2_7_0OPTIMIZED_PY39_CU116, RAY_2_7_0OPTIMIZED_PY39_CU117, RAY_2_7_0OPTIMIZED_PY39_CU118, RAY_2_7_0OPTIMIZED_PY39_CU121, RAY_2_7_1OPTIMIZED_PY310, RAY_2_7_1OPTIMIZED_PY310_CU115, RAY_2_7_1OPTIMIZED_PY310_CU116, RAY_2_7_1OPTIMIZED_PY310_CU117, RAY_2_7_1OPTIMIZED_PY310_CU118, RAY_2_7_1OPTIMIZED_PY310_CU121, RAY_2_7_1OPTIMIZED_PY311, RAY_2_7_1OPTIMIZED_PY311_CU115, RAY_2_7_1OPTIMIZED_PY311_CU116, RAY_2_7_1OPTIMIZED_PY311_CU117, RAY_2_7_1OPTIMIZED_PY311_CU118, RAY_2_7_1OPTIMIZED_PY311_CU121, RAY_2_7_1OPTIMIZED_PY37, RAY_2_7_1OPTIMIZED_PY37_CU115, RAY_2_7_1OPTIMIZED_PY37_CU116, RAY_2_7_1OPTIMIZED_PY37_CU117, RAY_2_7_1OPTIMIZED_PY37_CU118, RAY_2_7_1OPTIMIZED_PY37_CU121, RAY_2_7_1OPTIMIZED_PY38, RAY_2_7_1OPTIMIZED_PY38_CU115, RAY_2_7_1OPTIMIZED_PY38_CU116, RAY_2_7_1OPTIMIZED_PY38_CU117, RAY_2_7_1OPTIMIZED_PY38_CU118, RAY_2_7_1OPTIMIZED_PY38_CU121, RAY_2_7_1OPTIMIZED_PY39, RAY_2_7_1OPTIMIZED_PY39_CU115, RAY_2_7_1OPTIMIZED_PY39_CU116, RAY_2_7_1OPTIMIZED_PY39_CU117, RAY_2_7_1OPTIMIZED_PY39_CU118, RAY_2_7_1OPTIMIZED_PY39_CU121, RAY_2_7_2OPTIMIZED_PY310, RAY_2_7_2OPTIMIZED_PY310_CU115, RAY_2_7_2OPTIMIZED_PY310_CU116, RAY_2_7_2OPTIMIZED_PY310_CU117, RAY_2_7_2OPTIMIZED_PY310_CU118, RAY_2_7_2OPTIMIZED_PY310_CU121, RAY_2_7_2OPTIMIZED_PY311, RAY_2_7_2OPTIMIZED_PY311_CU115, RAY_2_7_2OPTIMIZED_PY311_CU116, RAY_2_7_2OPTIMIZED_PY311_CU117, RAY_2_7_2OPTIMIZED_PY311_CU118, RAY_2_7_2OPTIMIZED_PY311_CU121, RAY_2_7_2OPTIMIZED_PY37, RAY_2_7_2OPTIMIZED_PY37_CU115, RAY_2_7_2OPTIMIZED_PY37_CU116, RAY_2_7_2OPTIMIZED_PY37_CU117, RAY_2_7_2OPTIMIZED_PY37_CU118, RAY_2_7_2OPTIMIZED_PY37_CU121, RAY_2_7_2OPTIMIZED_PY38, RAY_2_7_2OPTIMIZED_PY38_CU115, RAY_2_7_2OPTIMIZED_PY38_CU116, RAY_2_7_2OPTIMIZED_PY38_CU117, RAY_2_7_2OPTIMIZED_PY38_CU118, RAY_2_7_2OPTIMIZED_PY38_CU121, RAY_2_7_2OPTIMIZED_PY39, RAY_2_7_2OPTIMIZED_PY39_CU115, RAY_2_7_2OPTIMIZED_PY39_CU116, RAY_2_7_2OPTIMIZED_PY39_CU117, RAY_2_7_2OPTIMIZED_PY39_CU118, RAY_2_7_2OPTIMIZED_PY39_CU121, RAY_2_8_0_PY310, RAY_2_8_0_PY310_CU115, RAY_2_8_0_PY310_CU116, RAY_2_8_0_PY310_CU117, RAY_2_8_0_PY310_CU118, RAY_2_8_0_PY310_CU121, RAY_2_8_0_PY311, RAY_2_8_0_PY311_CU115, RAY_2_8_0_PY311_CU116, RAY_2_8_0_PY311_CU117, RAY_2_8_0_PY311_CU118, RAY_2_8_0_PY311_CU121, RAY_2_8_0_PY38, RAY_2_8_0_PY38_CU115, RAY_2_8_0_PY38_CU116, RAY_2_8_0_PY38_CU117, RAY_2_8_0_PY38_CU118, RAY_2_8_0_PY38_CU121, RAY_2_8_0_PY39, RAY_2_8_0_PY39_CU115, RAY_2_8_0_PY39_CU116, RAY_2_8_0_PY39_CU117, RAY_2_8_0_PY39_CU118, RAY_2_8_0_PY39_CU121, RAY_2_8_1_PY310, RAY_2_8_1_PY310_CU115, RAY_2_8_1_PY310_CU116, RAY_2_8_1_PY310_CU117, RAY_2_8_1_PY310_CU118, RAY_2_8_1_PY310_CU121, RAY_2_8_1_PY311, RAY_2_8_1_PY311_CU115, RAY_2_8_1_PY311_CU116, RAY_2_8_1_PY311_CU117, RAY_2_8_1_PY311_CU118, RAY_2_8_1_PY311_CU121, RAY_2_8_1_PY38, RAY_2_8_1_PY38_CU115, RAY_2_8_1_PY38_CU116, RAY_2_8_1_PY38_CU117, RAY_2_8_1_PY38_CU118, RAY_2_8_1_PY38_CU121, RAY_2_8_1_PY39, RAY_2_8_1_PY39_CU115, RAY_2_8_1_PY39_CU116, RAY_2_8_1_PY39_CU117, RAY_2_8_1_PY39_CU118, RAY_2_8_1_PY39_CU121, RAY_2_9_0_PY310, RAY_2_9_0_PY310_CU115, RAY_2_9_0_PY310_CU116, RAY_2_9_0_PY310_CU117, RAY_2_9_0_PY310_CU118, RAY_2_9_0_PY310_CU121, RAY_2_9_0_PY311, RAY_2_9_0_PY311_CU115, RAY_2_9_0_PY311_CU116, RAY_2_9_0_PY311_CU117, RAY_2_9_0_PY311_CU118, RAY_2_9_0_PY311_CU121, RAY_2_9_0_PY38, RAY_2_9_0_PY38_CU115, RAY_2_9_0_PY38_CU116, RAY_2_9_0_PY38_CU117, RAY_2_9_0_PY38_CU118, RAY_2_9_0_PY38_CU121, RAY_2_9_0_PY39, RAY_2_9_0_PY39_CU115, RAY_2_9_0_PY39_CU116, RAY_2_9_0_PY39_CU117, RAY_2_9_0_PY39_CU118, RAY_2_9_0_PY39_CU121, RAY_2_9_1_PY310, RAY_2_9_1_PY310_CU115, RAY_2_9_1_PY310_CU116, RAY_2_9_1_PY310_CU117, RAY_2_9_1_PY310_CU118, RAY_2_9_1_PY310_CU121, RAY_2_9_1_PY311, RAY_2_9_1_PY311_CU115, RAY_2_9_1_PY311_CU116, RAY_2_9_1_PY311_CU117, RAY_2_9_1_PY311_CU118, RAY_2_9_1_PY311_CU121, RAY_2_9_1_PY38, RAY_2_9_1_PY38_CU115, RAY_2_9_1_PY38_CU116, RAY_2_9_1_PY38_CU117, RAY_2_9_1_PY38_CU118, RAY_2_9_1_PY38_CU121, RAY_2_9_1_PY39, RAY_2_9_1_PY39_CU115, RAY_2_9_1_PY39_CU116, RAY_2_9_1_PY39_CU117, RAY_2_9_1_PY39_CU118, RAY_2_9_1_PY39_CU121, RAY_2_9_2_PY310, RAY_2_9_2_PY310_CU115, RAY_2_9_2_PY310_CU116, RAY_2_9_2_PY310_CU117, RAY_2_9_2_PY310_CU118, RAY_2_9_2_PY310_CU121, RAY_2_9_2_PY311, RAY_2_9_2_PY311_CU115, RAY_2_9_2_PY311_CU116, RAY_2_9_2_PY311_CU117, RAY_2_9_2_PY311_CU118, RAY_2_9_2_PY311_CU121, RAY_2_9_2_PY38, RAY_2_9_2_PY38_CU115, RAY_2_9_2_PY38_CU116, RAY_2_9_2_PY38_CU117, RAY_2_9_2_PY38_CU118, RAY_2_9_2_PY38_CU121, RAY_2_9_2_PY39, RAY_2_9_2_PY39_CU115, RAY_2_9_2_PY39_CU116, RAY_2_9_2_PY39_CU117, RAY_2_9_2_PY39_CU118, RAY_2_9_2_PY39_CU121, RAY_2_9_3_PY310, RAY_2_9_3_PY310_CU115, RAY_2_9_3_PY310_CU116, RAY_2_9_3_PY310_CU117, RAY_2_9_3_PY310_CU118, RAY_2_9_3_PY310_CU121, RAY_2_9_3_PY311, RAY_2_9_3_PY311_CU115, RAY_2_9_3_PY311_CU116, RAY_2_9_3_PY311_CU117, RAY_2_9_3_PY311_CU118, RAY_2_9_3_PY311_CU121, RAY_2_9_3_PY38, RAY_2_9_3_PY38_CU115, RAY_2_9_3_PY38_CU116, RAY_2_9_3_PY38_CU117, RAY_2_9_3_PY38_CU118, RAY_2_9_3_PY38_CU121, RAY_2_9_3_PY39, RAY_2_9_3_PY39_CU115, RAY_2_9_3_PY39_CU116, RAY_2_9_3_PY39_CU117, RAY_2_9_3_PY39_CU118, RAY_2_9_3_PY39_CU121, RAY_NIGHTLY_PY310, RAY_NIGHTLY_PY310_CU117, RAY_NIGHTLY_PY310_CU118, RAY_NIGHTLY_PY310_CU121, RAY_NIGHTLY_PY310_CU123, RAY_NIGHTLY_PY311, RAY_NIGHTLY_PY311_CU117, RAY_NIGHTLY_PY311_CU118, RAY_NIGHTLY_PY311_CU121, RAY_NIGHTLY_PY311_CU123, RAY_NIGHTLY_PY312, RAY_NIGHTLY_PY312_CU117, RAY_NIGHTLY_PY312_CU118, RAY_NIGHTLY_PY312_CU121, RAY_NIGHTLY_PY312_CU123, RAY_NIGHTLY_PY37, RAY_NIGHTLY_PY37_CU117, RAY_NIGHTLY_PY37_CU118, RAY_NIGHTLY_PY37_CU121, RAY_NIGHTLY_PY37_CU123, RAY_NIGHTLY_PY38, RAY_NIGHTLY_PY38_CU117, RAY_NIGHTLY_PY38_CU118, RAY_NIGHTLY_PY38_CU121, RAY_NIGHTLY_PY38_CU123, RAY_NIGHTLY_PY39, RAY_NIGHTLY_PY39_CU117, RAY_NIGHTLY_PY39_CU118, RAY_NIGHTLY_PY39_CU121, RAY_NIGHTLY_PY39_CU123] # noqa: E501
|
1505
1547
|
|
1506
1548
|
"""
|
1507
1549
|
Attributes:
|
@@ -0,0 +1,88 @@
|
|
1
|
+
from typing import List, Optional
|
2
|
+
|
3
|
+
from anyscale._private.anyscale_client import AnyscaleClientInterface
|
4
|
+
from anyscale._private.sdk import sdk_docs
|
5
|
+
from anyscale._private.sdk.base_sdk import Timer
|
6
|
+
from anyscale.cli_logger import BlockLogger
|
7
|
+
from anyscale.service_account._private.service_account_sdk import (
|
8
|
+
PrivateServiceAccountSDK,
|
9
|
+
)
|
10
|
+
from anyscale.service_account.commands import (
|
11
|
+
_CREATE_API_KEY_DOCSTRINGS,
|
12
|
+
_CREATE_API_KEY_EXAMPLE,
|
13
|
+
_CREATE_DOCSTRINGS,
|
14
|
+
_CREATE_EXAMPLE,
|
15
|
+
_DELETE_DOCSTRINGS,
|
16
|
+
_DELETE_EXAMPLE,
|
17
|
+
_LIST_DOCSTRINGS,
|
18
|
+
_LIST_EXAMPLE,
|
19
|
+
_ROTATE_API_KEYS_DOCSTRINGS,
|
20
|
+
_ROTATE_API_KEYS_EXAMPLE,
|
21
|
+
create,
|
22
|
+
create_api_key,
|
23
|
+
delete,
|
24
|
+
list,
|
25
|
+
rotate_api_keys,
|
26
|
+
)
|
27
|
+
from anyscale.service_account.models import ServiceAccount
|
28
|
+
|
29
|
+
|
30
|
+
class ServiceAccountSDK:
|
31
|
+
def __init__(
|
32
|
+
self,
|
33
|
+
*,
|
34
|
+
client: Optional[AnyscaleClientInterface] = None,
|
35
|
+
logger: Optional[BlockLogger] = None,
|
36
|
+
timer: Optional[Timer] = None,
|
37
|
+
):
|
38
|
+
self._private_sdk = PrivateServiceAccountSDK(
|
39
|
+
client=client, logger=logger, timer=timer
|
40
|
+
)
|
41
|
+
|
42
|
+
@sdk_docs(
|
43
|
+
doc_py_example=_CREATE_EXAMPLE, arg_docstrings=_CREATE_DOCSTRINGS,
|
44
|
+
)
|
45
|
+
def create(self, name: str) -> str: # noqa: F811
|
46
|
+
"""Create a service account and return the API key.
|
47
|
+
"""
|
48
|
+
return self._private_sdk.create(name)
|
49
|
+
|
50
|
+
@sdk_docs(
|
51
|
+
doc_py_example=_CREATE_API_KEY_EXAMPLE,
|
52
|
+
arg_docstrings=_CREATE_API_KEY_DOCSTRINGS,
|
53
|
+
)
|
54
|
+
def create_api_key( # noqa: F811
|
55
|
+
self, email: Optional[str] = None, name: Optional[str] = None
|
56
|
+
) -> str:
|
57
|
+
"""Create an API key for the service account and return the API key.
|
58
|
+
"""
|
59
|
+
return self._private_sdk.create_api_key(email, name)
|
60
|
+
|
61
|
+
@sdk_docs(
|
62
|
+
doc_py_example=_LIST_EXAMPLE, arg_docstrings=_LIST_DOCSTRINGS,
|
63
|
+
)
|
64
|
+
def list(self, max_items: int = 20,) -> List[ServiceAccount]: # noqa: F811
|
65
|
+
"""List service accounts.
|
66
|
+
"""
|
67
|
+
return self._private_sdk.list(max_items=max_items,)
|
68
|
+
|
69
|
+
@sdk_docs(
|
70
|
+
doc_py_example=_DELETE_EXAMPLE, arg_docstrings=_DELETE_DOCSTRINGS,
|
71
|
+
)
|
72
|
+
def delete( # noqa: F811
|
73
|
+
self, email: Optional[str] = None, name: Optional[str] = None
|
74
|
+
):
|
75
|
+
"""Delete a service account.
|
76
|
+
"""
|
77
|
+
return self._private_sdk.delete(email, name)
|
78
|
+
|
79
|
+
@sdk_docs(
|
80
|
+
doc_py_example=_ROTATE_API_KEYS_EXAMPLE,
|
81
|
+
arg_docstrings=_ROTATE_API_KEYS_DOCSTRINGS,
|
82
|
+
)
|
83
|
+
def rotate_api_key(
|
84
|
+
self, email: Optional[str] = None, name: Optional[str] = None
|
85
|
+
) -> str: # noqa: F811
|
86
|
+
"""Rotate all api keys of a service account and return the new API key.
|
87
|
+
"""
|
88
|
+
return self._private_sdk.rotate_api_keys(email, name)
|
@@ -0,0 +1,101 @@
|
|
1
|
+
from typing import List, Optional
|
2
|
+
|
3
|
+
from anyscale._private.sdk.base_sdk import BaseSDK
|
4
|
+
from anyscale.client.openapi_client.models.organization_collaborator import (
|
5
|
+
OrganizationCollaborator,
|
6
|
+
)
|
7
|
+
from anyscale.service_account.models import ServiceAccount
|
8
|
+
|
9
|
+
|
10
|
+
ONE_HUNDRED_YEARS_IN_SECONDS = 3153600000
|
11
|
+
|
12
|
+
|
13
|
+
class PrivateServiceAccountSDK(BaseSDK):
|
14
|
+
def _get_service_account_identifier(
|
15
|
+
self, email: Optional[str], name: Optional[str]
|
16
|
+
) -> str:
|
17
|
+
# Logic can be simplified but kept verbose for clarity and typing
|
18
|
+
if not email and not name:
|
19
|
+
raise ValueError("Either email or name must be provided.")
|
20
|
+
if email and name:
|
21
|
+
raise ValueError("Only one of email or name can be provided.")
|
22
|
+
if email:
|
23
|
+
return email
|
24
|
+
elif name:
|
25
|
+
return name
|
26
|
+
|
27
|
+
raise ValueError("Internal server error. Please contact support.")
|
28
|
+
|
29
|
+
def _validate_exactly_one_service_account_per_email_or_name(
|
30
|
+
self, service_accounts: List[OrganizationCollaborator], identifier: str,
|
31
|
+
):
|
32
|
+
if len(service_accounts) == 0:
|
33
|
+
raise ValueError(f"No service account {identifier} found.")
|
34
|
+
|
35
|
+
if len(service_accounts) > 1:
|
36
|
+
raise ValueError(
|
37
|
+
f"Internal server error when fetching service account {identifier}. Please contact support."
|
38
|
+
)
|
39
|
+
|
40
|
+
def _get_service_account(
|
41
|
+
self, email: Optional[str], name: Optional[str]
|
42
|
+
) -> OrganizationCollaborator:
|
43
|
+
identifier = self._get_service_account_identifier(email, name)
|
44
|
+
service_accounts = self.client.get_organization_collaborators(
|
45
|
+
email=email, name=name, is_service_account=True
|
46
|
+
)
|
47
|
+
self._validate_exactly_one_service_account_per_email_or_name(
|
48
|
+
service_accounts, identifier
|
49
|
+
)
|
50
|
+
service_account = service_accounts[0]
|
51
|
+
|
52
|
+
return service_account
|
53
|
+
|
54
|
+
def create(self, name: str) -> str:
|
55
|
+
service_account = self.client.create_service_account(name=name)
|
56
|
+
|
57
|
+
api_key = self.client.create_api_key(
|
58
|
+
ONE_HUNDRED_YEARS_IN_SECONDS, service_account.user_id
|
59
|
+
)
|
60
|
+
|
61
|
+
return api_key.server_session_id
|
62
|
+
|
63
|
+
def create_api_key(self, email: Optional[str], name: Optional[str]) -> str:
|
64
|
+
service_account = self._get_service_account(email, name)
|
65
|
+
|
66
|
+
api_key = self.client.create_api_key(
|
67
|
+
ONE_HUNDRED_YEARS_IN_SECONDS, service_account.user_id
|
68
|
+
)
|
69
|
+
|
70
|
+
return api_key.server_session_id
|
71
|
+
|
72
|
+
def list(self, max_items: int = 20,) -> List[ServiceAccount]:
|
73
|
+
service_accounts = self.client.get_organization_collaborators(
|
74
|
+
is_service_account=True
|
75
|
+
)
|
76
|
+
|
77
|
+
return [
|
78
|
+
ServiceAccount(
|
79
|
+
name=service_account.name,
|
80
|
+
created_at=service_account.created_at,
|
81
|
+
permission_level=service_account.permission_level,
|
82
|
+
email=service_account.email,
|
83
|
+
)
|
84
|
+
for service_account in service_accounts[:max_items]
|
85
|
+
]
|
86
|
+
|
87
|
+
def delete(self, email: Optional[str], name: Optional[str]) -> None:
|
88
|
+
service_account = self._get_service_account(email, name)
|
89
|
+
|
90
|
+
self.client.delete_organization_collaborator(service_account.id)
|
91
|
+
|
92
|
+
def rotate_api_keys(self, email: Optional[str], name: Optional[str]) -> str:
|
93
|
+
service_account = self._get_service_account(email, name)
|
94
|
+
|
95
|
+
self.client.rotate_api_key(service_account.user_id)
|
96
|
+
|
97
|
+
api_key = self.client.create_api_key(
|
98
|
+
ONE_HUNDRED_YEARS_IN_SECONDS, service_account.user_id
|
99
|
+
)
|
100
|
+
|
101
|
+
return api_key.server_session_id
|
@@ -0,0 +1,147 @@
|
|
1
|
+
from typing import List, Optional
|
2
|
+
|
3
|
+
from anyscale._private.sdk import sdk_command
|
4
|
+
from anyscale.service_account._private.service_account_sdk import (
|
5
|
+
PrivateServiceAccountSDK,
|
6
|
+
)
|
7
|
+
from anyscale.service_account.models import ServiceAccount
|
8
|
+
|
9
|
+
|
10
|
+
_SERVICE_ACCOUNT_SDK_SINGLETON_KEY = "service_account_sdk"
|
11
|
+
|
12
|
+
_CREATE_EXAMPLE = """
|
13
|
+
import anyscale
|
14
|
+
|
15
|
+
api_key = anyscale.service_account.create(
|
16
|
+
name="my-service-account",
|
17
|
+
)
|
18
|
+
"""
|
19
|
+
|
20
|
+
_CREATE_DOCSTRINGS = {"name": "Name for the service account."}
|
21
|
+
|
22
|
+
_CREATE_API_KEY_EXAMPLE = """
|
23
|
+
import anyscale
|
24
|
+
|
25
|
+
api_key = anyscale.service_account.create_api_key(
|
26
|
+
name="my-service-account",
|
27
|
+
)
|
28
|
+
"""
|
29
|
+
|
30
|
+
_CREATE_API_KEY_DOCSTRINGS = {
|
31
|
+
"email": "Email of the service account to create the new key for.",
|
32
|
+
"name": "Name of the service account to create the new key for.",
|
33
|
+
}
|
34
|
+
|
35
|
+
_LIST_EXAMPLE = """
|
36
|
+
import anyscale
|
37
|
+
|
38
|
+
anyscale.service_account.list(
|
39
|
+
max_items=20,
|
40
|
+
)
|
41
|
+
"""
|
42
|
+
|
43
|
+
_LIST_DOCSTRINGS = {
|
44
|
+
"max_items": "Maximum number of items to return.",
|
45
|
+
}
|
46
|
+
|
47
|
+
_DELETE_EXAMPLE = """
|
48
|
+
import anyscale
|
49
|
+
|
50
|
+
anyscale.service_account.delete(
|
51
|
+
name="my-service-account",
|
52
|
+
)
|
53
|
+
"""
|
54
|
+
|
55
|
+
_DELETE_DOCSTRINGS = {
|
56
|
+
"email": "Email of the service account to delete.",
|
57
|
+
"name": "Name of the service account to delete.",
|
58
|
+
}
|
59
|
+
|
60
|
+
_ROTATE_API_KEYS_EXAMPLE = """
|
61
|
+
import anyscale
|
62
|
+
|
63
|
+
anyscale.service_account.rotate_api_keys(
|
64
|
+
name="my-service-account",
|
65
|
+
)
|
66
|
+
"""
|
67
|
+
|
68
|
+
_ROTATE_API_KEYS_DOCSTRINGS = {
|
69
|
+
"email": "Rotate API keys for the service account with this email.",
|
70
|
+
"name": "Rotate API keys for the service account with this name.",
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
@sdk_command(
|
75
|
+
_SERVICE_ACCOUNT_SDK_SINGLETON_KEY,
|
76
|
+
PrivateServiceAccountSDK,
|
77
|
+
doc_py_example=_CREATE_EXAMPLE,
|
78
|
+
arg_docstrings=_CREATE_DOCSTRINGS,
|
79
|
+
)
|
80
|
+
def create(name: str, *, _sdk: PrivateServiceAccountSDK) -> str:
|
81
|
+
"""Create a service account and return the API key.
|
82
|
+
"""
|
83
|
+
return _sdk.create(name)
|
84
|
+
|
85
|
+
|
86
|
+
@sdk_command(
|
87
|
+
_SERVICE_ACCOUNT_SDK_SINGLETON_KEY,
|
88
|
+
PrivateServiceAccountSDK,
|
89
|
+
doc_py_example=_CREATE_API_KEY_EXAMPLE,
|
90
|
+
arg_docstrings=_CREATE_API_KEY_DOCSTRINGS,
|
91
|
+
)
|
92
|
+
def create_api_key(
|
93
|
+
email: Optional[str] = None,
|
94
|
+
name: Optional[str] = None,
|
95
|
+
*,
|
96
|
+
_sdk: PrivateServiceAccountSDK
|
97
|
+
) -> str:
|
98
|
+
"""Create an API key for the service account and return the API key.
|
99
|
+
"""
|
100
|
+
return _sdk.create_api_key(email, name)
|
101
|
+
|
102
|
+
|
103
|
+
@sdk_command(
|
104
|
+
_SERVICE_ACCOUNT_SDK_SINGLETON_KEY,
|
105
|
+
PrivateServiceAccountSDK,
|
106
|
+
doc_py_example=_LIST_EXAMPLE,
|
107
|
+
arg_docstrings=_LIST_DOCSTRINGS,
|
108
|
+
)
|
109
|
+
def list( # noqa: A001
|
110
|
+
max_items: int = 20, *, _sdk: PrivateServiceAccountSDK
|
111
|
+
) -> List[ServiceAccount]:
|
112
|
+
"""List service accounts. """
|
113
|
+
return _sdk.list(max_items)
|
114
|
+
|
115
|
+
|
116
|
+
@sdk_command(
|
117
|
+
_SERVICE_ACCOUNT_SDK_SINGLETON_KEY,
|
118
|
+
PrivateServiceAccountSDK,
|
119
|
+
doc_py_example=_DELETE_EXAMPLE,
|
120
|
+
arg_docstrings=_DELETE_DOCSTRINGS,
|
121
|
+
)
|
122
|
+
def delete(
|
123
|
+
email: Optional[str] = None,
|
124
|
+
name: Optional[str] = None,
|
125
|
+
*,
|
126
|
+
_sdk: PrivateServiceAccountSDK
|
127
|
+
):
|
128
|
+
"""Delete a service account.
|
129
|
+
"""
|
130
|
+
return _sdk.delete(email, name)
|
131
|
+
|
132
|
+
|
133
|
+
@sdk_command(
|
134
|
+
_SERVICE_ACCOUNT_SDK_SINGLETON_KEY,
|
135
|
+
PrivateServiceAccountSDK,
|
136
|
+
doc_py_example=_ROTATE_API_KEYS_EXAMPLE,
|
137
|
+
arg_docstrings=_ROTATE_API_KEYS_DOCSTRINGS,
|
138
|
+
)
|
139
|
+
def rotate_api_keys(
|
140
|
+
email: Optional[str] = None,
|
141
|
+
name: Optional[str] = None,
|
142
|
+
*,
|
143
|
+
_sdk: PrivateServiceAccountSDK
|
144
|
+
) -> str:
|
145
|
+
"""Rotate all api keys of a service account and return the new API key.
|
146
|
+
"""
|
147
|
+
return _sdk.rotate_api_keys(email, name)
|
@@ -0,0 +1,66 @@
|
|
1
|
+
from dataclasses import dataclass, field
|
2
|
+
from datetime import datetime
|
3
|
+
|
4
|
+
from anyscale._private.models import ModelBase, ModelEnum
|
5
|
+
|
6
|
+
|
7
|
+
# TODO(cynthiakwu): Move this when we have organization collaborator sdk
|
8
|
+
class OrganizationPermissionLevel(ModelEnum):
|
9
|
+
OWNER = "OWNER"
|
10
|
+
COLLABORATOR = "COLLABORATOR"
|
11
|
+
|
12
|
+
__docstrings__ = {
|
13
|
+
OWNER: "Owner permission level for the organization",
|
14
|
+
COLLABORATOR: "Collaborator permission level for the organization",
|
15
|
+
}
|
16
|
+
|
17
|
+
|
18
|
+
@dataclass(frozen=True)
|
19
|
+
class ServiceAccount(ModelBase):
|
20
|
+
"""Service account
|
21
|
+
"""
|
22
|
+
|
23
|
+
__doc_py_example__ = """\
|
24
|
+
import anyscale
|
25
|
+
from anyscale.service_account.models import ServiceAccount
|
26
|
+
|
27
|
+
service_accounts: List[ServiceAccount] = anyscale.service_account.list()
|
28
|
+
"""
|
29
|
+
|
30
|
+
name: str = field(metadata={"docstring": "Name of the service account."})
|
31
|
+
|
32
|
+
def _validate_name(self, name: str):
|
33
|
+
if not isinstance(name, str):
|
34
|
+
raise TypeError("name must be a string.")
|
35
|
+
|
36
|
+
created_at: datetime = field(
|
37
|
+
metadata={"docstring": "The timestamp when this service account was created."}
|
38
|
+
)
|
39
|
+
|
40
|
+
def _validate_created_at(self, created_at: datetime):
|
41
|
+
if not isinstance(created_at, datetime):
|
42
|
+
raise TypeError("created_at must be a datetime.")
|
43
|
+
|
44
|
+
permission_level: OrganizationPermissionLevel = field(
|
45
|
+
metadata={
|
46
|
+
"docstring": "The organization permission level of the service account."
|
47
|
+
}
|
48
|
+
)
|
49
|
+
|
50
|
+
def _validate_permission_level(
|
51
|
+
self, permission_level: OrganizationPermissionLevel
|
52
|
+
) -> OrganizationPermissionLevel:
|
53
|
+
if isinstance(permission_level, str):
|
54
|
+
return OrganizationPermissionLevel.validate(permission_level)
|
55
|
+
elif isinstance(permission_level, OrganizationPermissionLevel):
|
56
|
+
return permission_level
|
57
|
+
else:
|
58
|
+
raise TypeError(
|
59
|
+
f"'permission_level' must be a 'OrganizationPermissionLevel' (it is {type(permission_level)})."
|
60
|
+
)
|
61
|
+
|
62
|
+
email: str = field(metadata={"docstring": "Email of the service account."})
|
63
|
+
|
64
|
+
def _validate_email(self, email: str):
|
65
|
+
if not isinstance(email, str):
|
66
|
+
raise TypeError("email must be a string.")
|
@@ -1,2 +1,2 @@
|
|
1
1
|
# AUTOGENERATED - modify shared_anyscale_util in root directory to make changes
|
2
|
-
LATEST_RAY_VERSION = "2.
|
2
|
+
LATEST_RAY_VERSION = "2.41.0"
|
anyscale/util.py
CHANGED
@@ -1168,3 +1168,11 @@ T = TypeVar("T")
|
|
1168
1168
|
|
1169
1169
|
def _coerce_to_list(maybe_list: Union[T, List[T]]) -> List[T]:
|
1170
1170
|
return maybe_list if isinstance(maybe_list, list) else [maybe_list]
|
1171
|
+
|
1172
|
+
|
1173
|
+
def allow_optional_file_storage(api_client: Optional[ProductApi] = None) -> bool:
|
1174
|
+
if api_client is None:
|
1175
|
+
api_client = get_auth_api_client().api_client
|
1176
|
+
return api_client.check_is_feature_flag_on_api_v2_userinfo_check_is_feature_flag_on_get(
|
1177
|
+
"allow-optional-file-storage"
|
1178
|
+
).result.is_on
|
anyscale/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.25.
|
1
|
+
__version__ = "0.25.2"
|