py-geth 5.0.0__tar.gz → 5.0.0b2__tar.gz

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.
Files changed (65) hide show
  1. {py_geth-5.0.0/py_geth.egg-info → py_geth-5.0.0b2}/PKG-INFO +8 -9
  2. {py_geth-5.0.0 → py_geth-5.0.0b2}/README.md +4 -4
  3. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/__init__.py +0 -11
  4. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/install.py +15 -31
  5. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/types.py +0 -1
  6. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/validation.py +0 -1
  7. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/wrapper.py +0 -3
  8. {py_geth-5.0.0 → py_geth-5.0.0b2/py_geth.egg-info}/PKG-INFO +8 -9
  9. {py_geth-5.0.0 → py_geth-5.0.0b2}/py_geth.egg-info/SOURCES.txt +6 -0
  10. {py_geth-5.0.0 → py_geth-5.0.0b2}/py_geth.egg-info/requires.txt +2 -3
  11. {py_geth-5.0.0 → py_geth-5.0.0b2}/setup.py +4 -5
  12. py_geth-5.0.0b2/tests/core/accounts/projects/test-01/geth/nodekey +1 -0
  13. py_geth-5.0.0b2/tests/core/accounts/projects/test-02/geth/LOCK +0 -0
  14. py_geth-5.0.0b2/tests/core/accounts/projects/test-02/geth/nodekey +1 -0
  15. py_geth-5.0.0b2/tests/core/accounts/projects/test-03/geth/LOCK +0 -0
  16. py_geth-5.0.0b2/tests/core/accounts/projects/test-03/geth/nodekey +1 -0
  17. py_geth-5.0.0b2/tests/core/waiting/conftest.py +0 -0
  18. {py_geth-5.0.0 → py_geth-5.0.0b2}/LICENSE +0 -0
  19. {py_geth-5.0.0 → py_geth-5.0.0b2}/MANIFEST.in +0 -0
  20. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/accounts.py +0 -0
  21. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/chain.py +0 -0
  22. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/default_blockchain_password +0 -0
  23. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/exceptions.py +0 -0
  24. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/genesis.json +0 -0
  25. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/main.py +0 -0
  26. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/mixins.py +0 -0
  27. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/process.py +0 -0
  28. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/py.typed +0 -0
  29. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/reset.py +0 -0
  30. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/__init__.py +0 -0
  31. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/encoding.py +0 -0
  32. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/filesystem.py +0 -0
  33. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/networking.py +0 -0
  34. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/proc.py +0 -0
  35. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/thread.py +0 -0
  36. {py_geth-5.0.0 → py_geth-5.0.0b2}/geth/utils/timeout.py +0 -0
  37. {py_geth-5.0.0 → py_geth-5.0.0b2}/py_geth.egg-info/dependency_links.txt +0 -0
  38. {py_geth-5.0.0 → py_geth-5.0.0b2}/py_geth.egg-info/not-zip-safe +0 -0
  39. {py_geth-5.0.0 → py_geth-5.0.0b2}/py_geth.egg-info/top_level.txt +0 -0
  40. {py_geth-5.0.0 → py_geth-5.0.0b2}/pyproject.toml +0 -0
  41. {py_geth-5.0.0 → py_geth-5.0.0b2}/setup.cfg +0 -0
  42. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/conftest.py +0 -0
  43. /py_geth-5.0.0/tests/core/waiting/conftest.py → /py_geth-5.0.0b2/tests/core/accounts/projects/test-01/geth/LOCK +0 -0
  44. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/projects/test-01/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2 +0 -0
  45. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2 +0 -0
  46. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-00.716418819Z--e8e085862a8d951dd78ec5ea784b3e22ee1ca9c6 +0 -0
  47. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-04.748321142Z--0da70f43a568e88168436be52ed129f4a9bbdaf5 +0 -0
  48. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/test_account_list_parsing.py +0 -0
  49. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/test_create_geth_account.py +0 -0
  50. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/accounts/test_geth_accounts.py +0 -0
  51. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/running/test_running_dev_chain.py +0 -0
  52. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/running/test_running_mainnet_chain.py +0 -0
  53. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/running/test_running_sepolia_chain.py +0 -0
  54. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/running/test_running_with_logging.py +0 -0
  55. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/running/test_use_as_a_context_manager.py +0 -0
  56. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/test_import_and_version.py +0 -0
  57. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/test_library_files.py +0 -0
  58. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/utility/test_constructing_test_chain_kwargs.py +0 -0
  59. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/utility/test_geth_version.py +0 -0
  60. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/utility/test_is_live_chain.py +0 -0
  61. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/utility/test_is_sepolia_chain.py +0 -0
  62. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/utility/test_validation.py +0 -0
  63. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/waiting/test_waiting_for_ipc_socket.py +0 -0
  64. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/core/waiting/test_waiting_for_rpc_connection.py +0 -0
  65. {py_geth-5.0.0 → py_geth-5.0.0b2}/tests/installation/test_geth_installation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: py-geth
3
- Version: 5.0.0
3
+ Version: 5.0.0b2
4
4
  Summary: py-geth: Run Go-Ethereum as a subprocess
5
5
  Home-page: https://github.com/ethereum/py-geth
6
6
  Author: The Ethereum Foundation
@@ -20,11 +20,9 @@ Classifier: Programming Language :: Python :: 3.12
20
20
  Requires-Python: >=3.8, <4
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: eval_type_backport>=0.1.0; python_version < "3.10"
24
- Requires-Dist: pydantic>=2.6.0
25
- Requires-Dist: requests>=2.23
26
23
  Requires-Dist: semantic-version>=2.6.0
27
- Requires-Dist: types-requests>=2.0.0
24
+ Requires-Dist: pydantic>=2.6.0
25
+ Requires-Dist: eval_type_backport>=0.1.0; python_version < "3.10"
28
26
  Requires-Dist: typing-extensions>=4.0.1
29
27
  Provides-Extra: dev
30
28
  Requires-Dist: build>=0.9.0; extra == "dev"
@@ -32,6 +30,7 @@ Requires-Dist: bumpversion>=0.5.3; extra == "dev"
32
30
  Requires-Dist: ipython; extra == "dev"
33
31
  Requires-Dist: mypy==1.10.0; extra == "dev"
34
32
  Requires-Dist: pre-commit>=3.4.0; extra == "dev"
33
+ Requires-Dist: requests>=2.20; extra == "dev"
35
34
  Requires-Dist: tox>=4.0.0; extra == "dev"
36
35
  Requires-Dist: twine; extra == "dev"
37
36
  Requires-Dist: wheel; extra == "dev"
@@ -166,19 +165,19 @@ the current list of supported versions.
166
165
  Installation can be done via the command line:
167
166
 
168
167
  ```bash
169
- $ python -m geth.install v1.14.8
168
+ $ python -m geth.install v1.14.5
170
169
  ```
171
170
 
172
171
  Or from python using the `install_geth` function.
173
172
 
174
173
  ```python
175
174
  >>> from geth import install_geth
176
- >>> install_geth('v1.14.8')
175
+ >>> install_geth('v1.14.5')
177
176
  ```
178
177
 
179
178
  The installed binary can be found in the `$HOME/.py-geth` directory, under your
180
- home directory. The `v1.14.8` binary would be located at
181
- `$HOME/.py-geth/geth-v1.14.8/bin/geth`.
179
+ home directory. The `v1.14.5` binary would be located at
180
+ `$HOME/.py-geth/geth-v1.14.5/bin/geth`.
182
181
 
183
182
  ## About `DevGethProcess`
184
183
 
@@ -118,19 +118,19 @@ the current list of supported versions.
118
118
  Installation can be done via the command line:
119
119
 
120
120
  ```bash
121
- $ python -m geth.install v1.14.8
121
+ $ python -m geth.install v1.14.5
122
122
  ```
123
123
 
124
124
  Or from python using the `install_geth` function.
125
125
 
126
126
  ```python
127
127
  >>> from geth import install_geth
128
- >>> install_geth('v1.14.8')
128
+ >>> install_geth('v1.14.5')
129
129
  ```
130
130
 
131
131
  The installed binary can be found in the `$HOME/.py-geth` directory, under your
132
- home directory. The `v1.14.8` binary would be located at
133
- `$HOME/.py-geth/geth-v1.14.8/bin/geth`.
132
+ home directory. The `v1.14.5` binary would be located at
133
+ `$HOME/.py-geth/geth-v1.14.5/bin/geth`.
134
134
 
135
135
  ## About `DevGethProcess`
136
136
 
@@ -20,14 +20,3 @@ from .process import (
20
20
  )
21
21
 
22
22
  __version__ = __version("py-geth")
23
-
24
- __all__ = (
25
- "install_geth",
26
- "get_geth_version",
27
- "InterceptedStreamsMixin",
28
- "LoggingMixin",
29
- "MainnetGethProcess",
30
- "SepoliaGethProcess",
31
- "TestnetGethProcess",
32
- "DevGethProcess",
33
- )
@@ -17,13 +17,6 @@ from typing import (
17
17
  Generator,
18
18
  )
19
19
 
20
- import requests
21
- from requests.exceptions import (
22
- ConnectionError,
23
- HTTPError,
24
- Timeout,
25
- )
26
-
27
20
  from geth.exceptions import (
28
21
  PyGethException,
29
22
  PyGethKeyError,
@@ -39,9 +32,6 @@ V1_14_2 = "v1.14.2"
39
32
  V1_14_3 = "v1.14.3"
40
33
  V1_14_4 = "v1.14.4"
41
34
  V1_14_5 = "v1.14.5"
42
- V1_14_6 = "v1.14.6"
43
- V1_14_7 = "v1.14.7"
44
- V1_14_8 = "v1.14.8"
45
35
 
46
36
 
47
37
  LINUX = "linux"
@@ -219,27 +209,29 @@ DOWNLOAD_SOURCE_CODE_URI_TEMPLATE = (
219
209
  )
220
210
 
221
211
 
222
- def download_source_code_release(identifier: str) -> None:
212
+ def download_source_code_release(identifier: str) -> int:
223
213
  download_uri = DOWNLOAD_SOURCE_CODE_URI_TEMPLATE.format(identifier)
224
214
  source_code_archive_path = get_source_code_archive_path(identifier)
225
215
 
226
216
  ensure_parent_dir_exists(source_code_archive_path)
227
- try:
228
- response = requests.get(download_uri)
229
- response.raise_for_status()
230
- with open(source_code_archive_path, "wb") as f:
231
- f.write(response.content)
232
-
233
- print(f"Downloading source code release from {download_uri}")
234
217
 
235
- except (HTTPError, Timeout, ConnectionError) as e:
236
- raise PyGethException(
237
- f"An error occurred while downloading from {download_uri}: {e}"
238
- )
218
+ command = [
219
+ "wget",
220
+ download_uri,
221
+ "-c", # resume previously incomplete download.
222
+ "-O",
223
+ source_code_archive_path,
224
+ ]
225
+
226
+ return check_subprocess_call(
227
+ command,
228
+ message=f"Downloading source code release from {download_uri}",
229
+ )
239
230
 
240
231
 
241
232
  def extract_source_code_release(identifier: str) -> None:
242
233
  source_code_archive_path = get_source_code_archive_path(identifier)
234
+
243
235
  source_code_extract_path = get_source_code_extract_path(identifier)
244
236
  ensure_path_exists(source_code_extract_path)
245
237
 
@@ -330,9 +322,7 @@ install_v1_14_2 = functools.partial(install_from_source_code_release, V1_14_2)
330
322
  install_v1_14_3 = functools.partial(install_from_source_code_release, V1_14_3)
331
323
  install_v1_14_4 = functools.partial(install_from_source_code_release, V1_14_4)
332
324
  install_v1_14_5 = functools.partial(install_from_source_code_release, V1_14_5)
333
- install_v1_14_6 = functools.partial(install_from_source_code_release, V1_14_6)
334
- install_v1_14_7 = functools.partial(install_from_source_code_release, V1_14_7)
335
- install_v1_14_8 = functools.partial(install_from_source_code_release, V1_14_8)
325
+
336
326
 
337
327
  INSTALL_FUNCTIONS = {
338
328
  LINUX: {
@@ -341,9 +331,6 @@ INSTALL_FUNCTIONS = {
341
331
  V1_14_3: install_v1_14_3,
342
332
  V1_14_4: install_v1_14_4,
343
333
  V1_14_5: install_v1_14_5,
344
- V1_14_6: install_v1_14_6,
345
- V1_14_7: install_v1_14_7,
346
- V1_14_8: install_v1_14_8,
347
334
  },
348
335
  OSX: {
349
336
  V1_14_0: install_v1_14_0,
@@ -351,9 +338,6 @@ INSTALL_FUNCTIONS = {
351
338
  V1_14_3: install_v1_14_3,
352
339
  V1_14_4: install_v1_14_4,
353
340
  V1_14_5: install_v1_14_5,
354
- V1_14_6: install_v1_14_6,
355
- V1_14_7: install_v1_14_7,
356
- V1_14_8: install_v1_14_8,
357
341
  },
358
342
  }
359
343
 
@@ -37,7 +37,6 @@ class GethKwargsTypedDict(TypedDict, total=False):
37
37
  suffix_args: list[str] | None
38
38
  suffix_kwargs: dict[str, str] | None
39
39
  tx_pool_global_slots: str | None
40
- tx_pool_lifetime: str | None
41
40
  tx_pool_price_limit: str | None
42
41
  verbosity: str | None
43
42
  ws_addr: str | None
@@ -46,7 +46,6 @@ class GethKwargs(BaseModel):
46
46
  suffix_args: list[str] | None = None
47
47
  suffix_kwargs: dict[str, str] | None = None
48
48
  tx_pool_global_slots: str | None = None
49
- tx_pool_lifetime: str | None = None
50
49
  tx_pool_price_limit: str | None = None
51
50
  verbosity: str | None = None
52
51
  ws_addr: str | None = None
@@ -219,9 +219,6 @@ def construct_popen_command(**geth_kwargs: Unpack[GethKwargsTypedDict]) -> list[
219
219
  if gk.tx_pool_global_slots is not None:
220
220
  builder.extend(("--txpool.globalslots", gk.tx_pool_global_slots))
221
221
 
222
- if gk.tx_pool_lifetime is not None:
223
- builder.extend(("--txpool.lifetime", gk.tx_pool_lifetime))
224
-
225
222
  if gk.tx_pool_price_limit is not None:
226
223
  builder.extend(("--txpool.pricelimit", gk.tx_pool_price_limit))
227
224
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: py-geth
3
- Version: 5.0.0
3
+ Version: 5.0.0b2
4
4
  Summary: py-geth: Run Go-Ethereum as a subprocess
5
5
  Home-page: https://github.com/ethereum/py-geth
6
6
  Author: The Ethereum Foundation
@@ -20,11 +20,9 @@ Classifier: Programming Language :: Python :: 3.12
20
20
  Requires-Python: >=3.8, <4
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: eval_type_backport>=0.1.0; python_version < "3.10"
24
- Requires-Dist: pydantic>=2.6.0
25
- Requires-Dist: requests>=2.23
26
23
  Requires-Dist: semantic-version>=2.6.0
27
- Requires-Dist: types-requests>=2.0.0
24
+ Requires-Dist: pydantic>=2.6.0
25
+ Requires-Dist: eval_type_backport>=0.1.0; python_version < "3.10"
28
26
  Requires-Dist: typing-extensions>=4.0.1
29
27
  Provides-Extra: dev
30
28
  Requires-Dist: build>=0.9.0; extra == "dev"
@@ -32,6 +30,7 @@ Requires-Dist: bumpversion>=0.5.3; extra == "dev"
32
30
  Requires-Dist: ipython; extra == "dev"
33
31
  Requires-Dist: mypy==1.10.0; extra == "dev"
34
32
  Requires-Dist: pre-commit>=3.4.0; extra == "dev"
33
+ Requires-Dist: requests>=2.20; extra == "dev"
35
34
  Requires-Dist: tox>=4.0.0; extra == "dev"
36
35
  Requires-Dist: twine; extra == "dev"
37
36
  Requires-Dist: wheel; extra == "dev"
@@ -166,19 +165,19 @@ the current list of supported versions.
166
165
  Installation can be done via the command line:
167
166
 
168
167
  ```bash
169
- $ python -m geth.install v1.14.8
168
+ $ python -m geth.install v1.14.5
170
169
  ```
171
170
 
172
171
  Or from python using the `install_geth` function.
173
172
 
174
173
  ```python
175
174
  >>> from geth import install_geth
176
- >>> install_geth('v1.14.8')
175
+ >>> install_geth('v1.14.5')
177
176
  ```
178
177
 
179
178
  The installed binary can be found in the `$HOME/.py-geth` directory, under your
180
- home directory. The `v1.14.8` binary would be located at
181
- `$HOME/.py-geth/geth-v1.14.8/bin/geth`.
179
+ home directory. The `v1.14.5` binary would be located at
180
+ `$HOME/.py-geth/geth-v1.14.5/bin/geth`.
182
181
 
183
182
  ## About `DevGethProcess`
184
183
 
@@ -37,10 +37,16 @@ tests/core/accounts/conftest.py
37
37
  tests/core/accounts/test_account_list_parsing.py
38
38
  tests/core/accounts/test_create_geth_account.py
39
39
  tests/core/accounts/test_geth_accounts.py
40
+ tests/core/accounts/projects/test-01/geth/LOCK
41
+ tests/core/accounts/projects/test-01/geth/nodekey
40
42
  tests/core/accounts/projects/test-01/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2
43
+ tests/core/accounts/projects/test-02/geth/LOCK
44
+ tests/core/accounts/projects/test-02/geth/nodekey
41
45
  tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-30-14.222885490Z--ae71658b3ab452f7e4f03bda6f777b860b2e2ff2
42
46
  tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-00.716418819Z--e8e085862a8d951dd78ec5ea784b3e22ee1ca9c6
43
47
  tests/core/accounts/projects/test-02/keystore/UTC--2015-08-24T21-32-04.748321142Z--0da70f43a568e88168436be52ed129f4a9bbdaf5
48
+ tests/core/accounts/projects/test-03/geth/LOCK
49
+ tests/core/accounts/projects/test-03/geth/nodekey
44
50
  tests/core/running/test_running_dev_chain.py
45
51
  tests/core/running/test_running_mainnet_chain.py
46
52
  tests/core/running/test_running_sepolia_chain.py
@@ -1,7 +1,5 @@
1
- pydantic>=2.6.0
2
- requests>=2.23
3
1
  semantic-version>=2.6.0
4
- types-requests>=2.0.0
2
+ pydantic>=2.6.0
5
3
  typing-extensions>=4.0.1
6
4
 
7
5
  [:python_version < "3.10"]
@@ -13,6 +11,7 @@ bumpversion>=0.5.3
13
11
  ipython
14
12
  mypy==1.10.0
15
13
  pre-commit>=3.4.0
14
+ requests>=2.20
16
15
  tox>=4.0.0
17
16
  twine
18
17
  wheel
@@ -11,6 +11,7 @@ extras_require = {
11
11
  "ipython",
12
12
  "mypy==1.10.0",
13
13
  "pre-commit>=3.4.0",
14
+ "requests>=2.20",
14
15
  "tox>=4.0.0",
15
16
  "twine",
16
17
  "wheel",
@@ -37,7 +38,7 @@ with open("./README.md") as readme:
37
38
  setup(
38
39
  name="py-geth",
39
40
  # *IMPORTANT*: Don't manually change the version here. Use the 'bumpversion' utility.
40
- version="5.0.0",
41
+ version="5.0.0-beta.2",
41
42
  description="""py-geth: Run Go-Ethereum as a subprocess""",
42
43
  long_description_content_type="text/markdown",
43
44
  long_description=long_description,
@@ -47,11 +48,9 @@ setup(
47
48
  include_package_data=True,
48
49
  py_modules=["geth"],
49
50
  install_requires=[
50
- "eval_type_backport>=0.1.0; python_version < '3.10'",
51
- "pydantic>=2.6.0",
52
- "requests>=2.23",
53
51
  "semantic-version>=2.6.0",
54
- "types-requests>=2.0.0",
52
+ "pydantic>=2.6.0",
53
+ "eval_type_backport>=0.1.0; python_version < '3.10'",
55
54
  "typing-extensions>=4.0.1",
56
55
  ],
57
56
  python_requires=">=3.8, <4",
@@ -0,0 +1 @@
1
+ bbcade0581fe7679e89f21946c728a382fc5b92d53bec428ad8111a39e382156
@@ -0,0 +1 @@
1
+ e27339b80b7dd3658b4704d90bafeb87d52b69b2c781a33cec764d07a3995450
@@ -0,0 +1 @@
1
+ cf767be1c9e7b8d7e7fe645c851122b1c1eca806f0fbab119793517a9644c670
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