omniopt2 8486__py3-none-any.whl → 8493__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.
Potentially problematic release.
This version of omniopt2 might be problematic. Click here for more details.
- .omniopt.py +10 -7
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt.py +10 -7
- {omniopt2-8486.dist-info → omniopt2-8493.dist-info}/METADATA +1 -1
- {omniopt2-8486.dist-info → omniopt2-8493.dist-info}/RECORD +36 -36
- omniopt2.egg-info/PKG-INFO +1 -1
- pyproject.toml +1 -1
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.colorfunctions.sh +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.general.sh +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.helpers.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_cpu_ram_usage.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_general.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_gpu_usage.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_kde.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_scatter.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_scatter_generation_method.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_scatter_hex.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_time_and_exit_code.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_trial_index_result.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_worker.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.random_generator.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.shellscript_functions +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/.tpe.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/LICENSE +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/apt-dependencies.txt +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/omniopt +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/omniopt_docker +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/omniopt_evaluate +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/omniopt_plot +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/omniopt_share +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/pylint.rc +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/requirements.txt +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/setup.py +0 -0
- {omniopt2-8486.data → omniopt2-8493.data}/data/bin/test_requirements.txt +0 -0
- {omniopt2-8486.dist-info → omniopt2-8493.dist-info}/WHEEL +0 -0
- {omniopt2-8486.dist-info → omniopt2-8493.dist-info}/licenses/LICENSE +0 -0
- {omniopt2-8486.dist-info → omniopt2-8493.dist-info}/top_level.txt +0 -0
.omniopt.py
CHANGED
|
@@ -7882,6 +7882,7 @@ def get_batched_arms(nr_of_jobs_to_get: int) -> list:
|
|
|
7882
7882
|
print_debug(f"got pending observations: {pending_observations} (took {dt:.2f} seconds)")
|
|
7883
7883
|
|
|
7884
7884
|
print_debug("getting global_gs.gen()")
|
|
7885
|
+
print_debug(f"ax_client.experiment: {ax_client.experiment}")
|
|
7885
7886
|
batched_generator_run = global_gs.gen(
|
|
7886
7887
|
experiment=ax_client.experiment,
|
|
7887
7888
|
n=remaining,
|
|
@@ -7946,16 +7947,14 @@ def generate_trials(n: int, recursion: bool) -> Tuple[Dict[int, Any], bool]:
|
|
|
7946
7947
|
retries += 1
|
|
7947
7948
|
continue
|
|
7948
7949
|
|
|
7949
|
-
print_debug(f"Fetching trial {cnt + 1}/{n}...")
|
|
7950
7950
|
progressbar_description(_get_trials_message(cnt + 1, n, trial_durations))
|
|
7951
7951
|
|
|
7952
7952
|
try:
|
|
7953
7953
|
result = create_and_handle_trial(arm)
|
|
7954
7954
|
if result is not None:
|
|
7955
7955
|
trial_index, trial_duration, trial_successful = result
|
|
7956
|
-
|
|
7957
7956
|
except TrialRejected as e:
|
|
7958
|
-
print_debug(f"Trial rejected: {e}")
|
|
7957
|
+
print_debug(f"generate_trials: Trial rejected, error: {e}")
|
|
7959
7958
|
retries += 1
|
|
7960
7959
|
continue
|
|
7961
7960
|
|
|
@@ -7965,7 +7964,9 @@ def generate_trials(n: int, recursion: bool) -> Tuple[Dict[int, Any], bool]:
|
|
|
7965
7964
|
cnt += 1
|
|
7966
7965
|
trials_dict[trial_index] = arm.parameters
|
|
7967
7966
|
|
|
7968
|
-
|
|
7967
|
+
finalized = finalize_generation(trials_dict, cnt, n, start_time)
|
|
7968
|
+
|
|
7969
|
+
return finalized
|
|
7969
7970
|
|
|
7970
7971
|
except Exception as e:
|
|
7971
7972
|
return _handle_generation_failure(e, n, recursion)
|
|
@@ -8015,7 +8016,7 @@ def create_and_handle_trial(arm: Any) -> Optional[Tuple[int, float, bool]]:
|
|
|
8015
8016
|
end = time.time()
|
|
8016
8017
|
return trial_index, float(end - start), True
|
|
8017
8018
|
|
|
8018
|
-
def
|
|
8019
|
+
def finalize_generation(trials_dict: Dict[int, Any], cnt: int, requested: int, start_time: float) -> Tuple[Dict[int, Any], bool]:
|
|
8019
8020
|
total_time = time.time() - start_time
|
|
8020
8021
|
|
|
8021
8022
|
log_gen_times.append(total_time)
|
|
@@ -9934,9 +9935,11 @@ def show_available_hardware_and_generation_strategy_string(gpu_string: str, gpu_
|
|
|
9934
9935
|
pass
|
|
9935
9936
|
|
|
9936
9937
|
if gpu_string:
|
|
9937
|
-
console.print(f"[green]You have {cpu_count} CPUs available for the main process.[/green] [{gpu_color}]{gpu_string}[/{gpu_color}]
|
|
9938
|
+
console.print(f"[green]You have {cpu_count} CPUs available for the main process.[/green] [{gpu_color}]{gpu_string}[/{gpu_color}]")
|
|
9938
9939
|
else:
|
|
9939
|
-
print_green(f"You have {cpu_count} CPUs available for the main process.
|
|
9940
|
+
print_green(f"You have {cpu_count} CPUs available for the main process.")
|
|
9941
|
+
|
|
9942
|
+
print_green(gs_string)
|
|
9940
9943
|
|
|
9941
9944
|
def write_args_overview_table() -> None:
|
|
9942
9945
|
table = Table(title="Arguments Overview")
|
|
@@ -7882,6 +7882,7 @@ def get_batched_arms(nr_of_jobs_to_get: int) -> list:
|
|
|
7882
7882
|
print_debug(f"got pending observations: {pending_observations} (took {dt:.2f} seconds)")
|
|
7883
7883
|
|
|
7884
7884
|
print_debug("getting global_gs.gen()")
|
|
7885
|
+
print_debug(f"ax_client.experiment: {ax_client.experiment}")
|
|
7885
7886
|
batched_generator_run = global_gs.gen(
|
|
7886
7887
|
experiment=ax_client.experiment,
|
|
7887
7888
|
n=remaining,
|
|
@@ -7946,16 +7947,14 @@ def generate_trials(n: int, recursion: bool) -> Tuple[Dict[int, Any], bool]:
|
|
|
7946
7947
|
retries += 1
|
|
7947
7948
|
continue
|
|
7948
7949
|
|
|
7949
|
-
print_debug(f"Fetching trial {cnt + 1}/{n}...")
|
|
7950
7950
|
progressbar_description(_get_trials_message(cnt + 1, n, trial_durations))
|
|
7951
7951
|
|
|
7952
7952
|
try:
|
|
7953
7953
|
result = create_and_handle_trial(arm)
|
|
7954
7954
|
if result is not None:
|
|
7955
7955
|
trial_index, trial_duration, trial_successful = result
|
|
7956
|
-
|
|
7957
7956
|
except TrialRejected as e:
|
|
7958
|
-
print_debug(f"Trial rejected: {e}")
|
|
7957
|
+
print_debug(f"generate_trials: Trial rejected, error: {e}")
|
|
7959
7958
|
retries += 1
|
|
7960
7959
|
continue
|
|
7961
7960
|
|
|
@@ -7965,7 +7964,9 @@ def generate_trials(n: int, recursion: bool) -> Tuple[Dict[int, Any], bool]:
|
|
|
7965
7964
|
cnt += 1
|
|
7966
7965
|
trials_dict[trial_index] = arm.parameters
|
|
7967
7966
|
|
|
7968
|
-
|
|
7967
|
+
finalized = finalize_generation(trials_dict, cnt, n, start_time)
|
|
7968
|
+
|
|
7969
|
+
return finalized
|
|
7969
7970
|
|
|
7970
7971
|
except Exception as e:
|
|
7971
7972
|
return _handle_generation_failure(e, n, recursion)
|
|
@@ -8015,7 +8016,7 @@ def create_and_handle_trial(arm: Any) -> Optional[Tuple[int, float, bool]]:
|
|
|
8015
8016
|
end = time.time()
|
|
8016
8017
|
return trial_index, float(end - start), True
|
|
8017
8018
|
|
|
8018
|
-
def
|
|
8019
|
+
def finalize_generation(trials_dict: Dict[int, Any], cnt: int, requested: int, start_time: float) -> Tuple[Dict[int, Any], bool]:
|
|
8019
8020
|
total_time = time.time() - start_time
|
|
8020
8021
|
|
|
8021
8022
|
log_gen_times.append(total_time)
|
|
@@ -9934,9 +9935,11 @@ def show_available_hardware_and_generation_strategy_string(gpu_string: str, gpu_
|
|
|
9934
9935
|
pass
|
|
9935
9936
|
|
|
9936
9937
|
if gpu_string:
|
|
9937
|
-
console.print(f"[green]You have {cpu_count} CPUs available for the main process.[/green] [{gpu_color}]{gpu_string}[/{gpu_color}]
|
|
9938
|
+
console.print(f"[green]You have {cpu_count} CPUs available for the main process.[/green] [{gpu_color}]{gpu_string}[/{gpu_color}]")
|
|
9938
9939
|
else:
|
|
9939
|
-
print_green(f"You have {cpu_count} CPUs available for the main process.
|
|
9940
|
+
print_green(f"You have {cpu_count} CPUs available for the main process.")
|
|
9941
|
+
|
|
9942
|
+
print_green(gs_string)
|
|
9940
9943
|
|
|
9941
9944
|
def write_args_overview_table() -> None:
|
|
9942
9945
|
table = Table(title="Arguments Overview")
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
|
|
4
4
|
.gitignore,sha256=GmSD6dE4AqN4_fhQUdAzydst60s3w3ePYxetTr3Et7c,3776
|
|
5
5
|
.helpers.py,sha256=R9gljJYT8gg4ylxyGf07nt0xfGMIISyNAVfpjw2uMqM,30868
|
|
6
|
-
.omniopt.py,sha256=
|
|
6
|
+
.omniopt.py,sha256=iZPNZ7Iy31ZrmiQAD9G4gZDQ5QFrb4P4irrNx-uUm_A,439041
|
|
7
7
|
.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
|
|
8
8
|
.omniopt_plot_general.py,sha256=3iy-bPef8I5rTB3KRz-TuleMdgKDmVZ6c8LuNQhNwu0,6810
|
|
9
9
|
.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
|
|
@@ -26,46 +26,46 @@ omniopt_docker,sha256=XyEGZ71l-tUlAYUluVF39fGO3NLDRa8UyrwxmAsXWNI,3542
|
|
|
26
26
|
omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
|
|
27
27
|
omniopt_plot,sha256=ze6Dz2k0w5jyUnfatAA7dk59nzQjKC_G36tDvJGWsfA,13696
|
|
28
28
|
omniopt_share,sha256=2KZcTjN_7vcxNjb4sLLiWgUc38pl2-6-Qwmgq6_nTb0,13856
|
|
29
|
-
pyproject.toml,sha256=
|
|
29
|
+
pyproject.toml,sha256=X5utvs0Ukc2R1TXhKzTY-At-JsmNdaxNHizw-ocWQgc,397
|
|
30
30
|
requirements.txt,sha256=0ViG5vdrDP--nr7mbZbV0ayJc6a5APNlTiMqGEZB6qE,292
|
|
31
31
|
setup.cfg,sha256=HEc8uu6NpfxG5_AVh5SvXOpEFMNKPPPxgMIAH144vT4,38
|
|
32
32
|
test_requirements.txt,sha256=jpyZzAwbWR_qnoRqWvpBB5MUjIX9jVwynX2D-B-r8aA,487
|
|
33
33
|
.tests/pylint.rc,sha256=ZGtZjVgJtK_6tdwgscJneS-LUeDASjSVVz6veCkp9rw,22631
|
|
34
|
-
omniopt2-
|
|
35
|
-
omniopt2-
|
|
36
|
-
omniopt2-
|
|
37
|
-
omniopt2-
|
|
38
|
-
omniopt2-
|
|
39
|
-
omniopt2-
|
|
40
|
-
omniopt2-
|
|
41
|
-
omniopt2-
|
|
42
|
-
omniopt2-
|
|
43
|
-
omniopt2-
|
|
44
|
-
omniopt2-
|
|
45
|
-
omniopt2-
|
|
46
|
-
omniopt2-
|
|
47
|
-
omniopt2-
|
|
48
|
-
omniopt2-
|
|
49
|
-
omniopt2-
|
|
50
|
-
omniopt2-
|
|
51
|
-
omniopt2-
|
|
52
|
-
omniopt2-
|
|
53
|
-
omniopt2-
|
|
54
|
-
omniopt2-
|
|
55
|
-
omniopt2-
|
|
56
|
-
omniopt2-
|
|
57
|
-
omniopt2-
|
|
58
|
-
omniopt2-
|
|
59
|
-
omniopt2-
|
|
60
|
-
omniopt2-
|
|
61
|
-
omniopt2-
|
|
62
|
-
omniopt2-
|
|
63
|
-
omniopt2.egg-info/PKG-INFO,sha256=
|
|
34
|
+
omniopt2-8493.data/data/bin/.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
|
|
35
|
+
omniopt2-8493.data/data/bin/.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
|
|
36
|
+
omniopt2-8493.data/data/bin/.helpers.py,sha256=R9gljJYT8gg4ylxyGf07nt0xfGMIISyNAVfpjw2uMqM,30868
|
|
37
|
+
omniopt2-8493.data/data/bin/.omniopt.py,sha256=iZPNZ7Iy31ZrmiQAD9G4gZDQ5QFrb4P4irrNx-uUm_A,439041
|
|
38
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
|
|
39
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_general.py,sha256=3iy-bPef8I5rTB3KRz-TuleMdgKDmVZ6c8LuNQhNwu0,6810
|
|
40
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
|
|
41
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_kde.py,sha256=uRLWr72TDKvj3AqJ0O0AvkKZ1ok1O1QpXnbfQQdo0nA,6873
|
|
42
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_scatter.py,sha256=b0_CIqgyi6PztaUVJRL9X9XBTaOonh-yDH2hRxMGkH0,8403
|
|
43
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_scatter_generation_method.py,sha256=rgKY_w1E516c9UucVaEvaKd8tCnoUq9xg-RrYSDzYEQ,4289
|
|
44
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_scatter_hex.py,sha256=UKjw40c1eumgEcf0xqB-_SakX5PB6HD3u4VwBxbsgQo,10279
|
|
45
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_time_and_exit_code.py,sha256=WUyl2uI59wsC1eSX_5uJHOrqcF-s5cUDIEu8u3IFMLU,6462
|
|
46
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_trial_index_result.py,sha256=Xlo_dYTQNnxPhYakmgMM58CCcW9gUoXZ3gLap9RScTY,4578
|
|
47
|
+
omniopt2-8493.data/data/bin/.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
|
|
48
|
+
omniopt2-8493.data/data/bin/.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
|
|
49
|
+
omniopt2-8493.data/data/bin/.shellscript_functions,sha256=DxcCtTZBRxFp6P6EesUM4JcxqeCSsZOb7rLXbmBdQt8,13628
|
|
50
|
+
omniopt2-8493.data/data/bin/.tpe.py,sha256=93yjviAtxPRYUCpSIShW_H3QQ5JPNcnXNjF0g8zc7Wc,6766
|
|
51
|
+
omniopt2-8493.data/data/bin/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
52
|
+
omniopt2-8493.data/data/bin/apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
|
|
53
|
+
omniopt2-8493.data/data/bin/omniopt,sha256=hlveAk9jpZyPUYl0v5TQRhEIzaOHOyyJRXELnOhOULY,51404
|
|
54
|
+
omniopt2-8493.data/data/bin/omniopt_docker,sha256=XyEGZ71l-tUlAYUluVF39fGO3NLDRa8UyrwxmAsXWNI,3542
|
|
55
|
+
omniopt2-8493.data/data/bin/omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
|
|
56
|
+
omniopt2-8493.data/data/bin/omniopt_plot,sha256=ze6Dz2k0w5jyUnfatAA7dk59nzQjKC_G36tDvJGWsfA,13696
|
|
57
|
+
omniopt2-8493.data/data/bin/omniopt_share,sha256=2KZcTjN_7vcxNjb4sLLiWgUc38pl2-6-Qwmgq6_nTb0,13856
|
|
58
|
+
omniopt2-8493.data/data/bin/pylint.rc,sha256=ZGtZjVgJtK_6tdwgscJneS-LUeDASjSVVz6veCkp9rw,22631
|
|
59
|
+
omniopt2-8493.data/data/bin/requirements.txt,sha256=0ViG5vdrDP--nr7mbZbV0ayJc6a5APNlTiMqGEZB6qE,292
|
|
60
|
+
omniopt2-8493.data/data/bin/setup.py,sha256=zg7k4jeHXEdaGWGeB1mPC14fFj-hqz1vNimnU0JcMyk,4632
|
|
61
|
+
omniopt2-8493.data/data/bin/test_requirements.txt,sha256=jpyZzAwbWR_qnoRqWvpBB5MUjIX9jVwynX2D-B-r8aA,487
|
|
62
|
+
omniopt2-8493.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
63
|
+
omniopt2.egg-info/PKG-INFO,sha256=9BNF034UEGGEicrSAZAi1fauIe3Izik3N7V7jhgA78k,5718
|
|
64
64
|
omniopt2.egg-info/SOURCES.txt,sha256=2mSVIhM8Ncyl5_s8ZFBlb6qjRDbTCQmV9FwVVjp5ROE,795
|
|
65
65
|
omniopt2.egg-info/dependency_links.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
66
66
|
omniopt2.egg-info/requires.txt,sha256=_n-6wV9UtTagGm4wbRDW7FjKoCB0Y4jkb5VbARh6pMU,779
|
|
67
67
|
omniopt2.egg-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
68
|
-
omniopt2-
|
|
69
|
-
omniopt2-
|
|
70
|
-
omniopt2-
|
|
71
|
-
omniopt2-
|
|
68
|
+
omniopt2-8493.dist-info/METADATA,sha256=9BNF034UEGGEicrSAZAi1fauIe3Izik3N7V7jhgA78k,5718
|
|
69
|
+
omniopt2-8493.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
70
|
+
omniopt2-8493.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
71
|
+
omniopt2-8493.dist-info/RECORD,,
|
omniopt2.egg-info/PKG-INFO
CHANGED
pyproject.toml
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{omniopt2-8486.data → omniopt2-8493.data}/data/bin/.omniopt_plot_scatter_generation_method.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|