offspot-config 2.4.0__tar.gz → 2.4.2__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 (62) hide show
  1. {offspot_config-2.4.0 → offspot_config-2.4.2}/CHANGELOG.md +14 -0
  2. {offspot_config-2.4.0 → offspot_config-2.4.2}/PKG-INFO +1 -1
  3. offspot_config-2.4.2/src/offspot_config/branding/horizontal-logo-dark.png +0 -0
  4. offspot_config-2.4.2/src/offspot_config/branding/horizontal-logo-light.png +0 -0
  5. offspot_config-2.4.2/src/offspot_config/branding/horizontal-logo.svg +1 -0
  6. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/builder.py +17 -5
  7. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/packages.py +5 -11
  8. offspot_config-2.4.2/src/offspot_runtime/__about__.py +1 -0
  9. offspot_config-2.4.0/src/offspot_config/branding/horizontal-logo-dark.png +0 -0
  10. offspot_config-2.4.0/src/offspot_config/branding/horizontal-logo-light.png +0 -0
  11. offspot_config-2.4.0/src/offspot_config/branding/horizontal-logo.svg +0 -1
  12. offspot_config-2.4.0/src/offspot_runtime/__about__.py +0 -1
  13. {offspot_config-2.4.0 → offspot_config-2.4.2}/.gitignore +0 -0
  14. {offspot_config-2.4.0 → offspot_config-2.4.2}/.pre-commit-config.yaml +0 -0
  15. {offspot_config-2.4.0 → offspot_config-2.4.2}/LICENSE +0 -0
  16. {offspot_config-2.4.0 → offspot_config-2.4.2}/README.md +0 -0
  17. {offspot_config-2.4.0 → offspot_config-2.4.2}/pyproject.toml +0 -0
  18. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/__init__.py +0 -0
  19. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/branding/square-logo-dark.png +0 -0
  20. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/branding/square-logo-light.png +0 -0
  21. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/branding/square-logo.svg +0 -0
  22. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/catalog.json +0 -0
  23. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/catalog.py +0 -0
  24. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/constants.py +0 -0
  25. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/file.py +0 -0
  26. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/__init__.py +0 -0
  27. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/base.py +0 -0
  28. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/checksum.py +0 -0
  29. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/file.py +0 -0
  30. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/mainconfig.py +0 -0
  31. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/oci.py +0 -0
  32. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/output.py +0 -0
  33. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/str.py +0 -0
  34. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/inputs/ways.py +0 -0
  35. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/oci_images.py +0 -0
  36. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/utils/__init__.py +0 -0
  37. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/utils/dashboard.py +0 -0
  38. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/utils/download.py +0 -0
  39. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/utils/misc.py +0 -0
  40. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/utils/sizes.py +0 -0
  41. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/utils/yaml.py +0 -0
  42. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_config/zim.py +0 -0
  43. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/__init__.py +0 -0
  44. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/ap.py +0 -0
  45. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/checks.py +0 -0
  46. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/configlib.py +0 -0
  47. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/containers.py +0 -0
  48. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/dnsmasqspoof.py +0 -0
  49. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/ethernet.py +0 -0
  50. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/firmware.py +0 -0
  51. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/fromfile.py +0 -0
  52. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/hostname.py +0 -0
  53. {offspot_config-2.4.0 → offspot_config-2.4.2}/src/offspot_runtime/timezone.py +0 -0
  54. {offspot_config-2.4.0 → offspot_config-2.4.2}/tasks.py +0 -0
  55. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/conftest.py +0 -0
  56. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/test_catalog.py +0 -0
  57. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/test_checks.py +0 -0
  58. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/test_humanid.py +0 -0
  59. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/test_inputs.py +0 -0
  60. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/test_link.py +0 -0
  61. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/test_reader.py +0 -0
  62. {offspot_config-2.4.0 → offspot_config-2.4.2}/tests/test_zim.py +0 -0
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.4.2] - 2025-03-07
9
+
10
+ ### Fixed
11
+
12
+ - [kiwix] Fixed dashboard links still broken in 2.4.1
13
+
14
+ ## [2.4.1] - 2025-03-07
15
+
16
+ ### Fixed
17
+
18
+ - [branding] Eventually settled on no-padding branding
19
+ - [kiwix] Fixed links and NO_HOME broken in 2.4.0
20
+ - [dashboard] Added offspot-config version as hotspot version for dashboard 1.5
21
+
8
22
  ## [2.4.0] - 2025-02-18
9
23
 
10
24
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: offspot-config
3
- Version: 2.4.0
3
+ Version: 2.4.2
4
4
  Summary: Offspot Config helpers
5
5
  Project-URL: Homepage, https://github.com/offspot/offspot-config
6
6
  Project-URL: Donate, https://www.kiwix.org/en/support-us/
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 1549.5 494.7" xmlns="http://www.w3.org/2000/svg"><g fill="#231f20"><path d="m818.2 2.2h-60.7l-79 89.3v-89.3h-52.5v206.4h52.5v-50.8l27.4-30.3 54.5 81.1h62.8l-81.7-120.9z"/><path d="m846.2 2.2h52.5v206.3h-52.5z"/><path d="m1146.5 154-40.4-151.8h-51.3l-39.4 151.8-40.4-151.8h-56l67.5 206.4h54.2l38.9-142.7 38.3 142.7h53.9l68.1-206.4h-53.6z"/><path d="m1258.5 2.2h52.5v206.3h-52.5z"/><path d="m1471.9 100.7 68.1-98.5h-61.6l-39.8 60.1-39.8-60.1h-61l69 100.8-73.7 105.6h61l44.5-65.8 44.5 65.8h62.8z"/><path d="m627.7 439.8v-174.6h26.4v72.3h76.3v-72.3h26.4v174.6h-26.4v-78.1h-76.3v78.1z"/><path d="m841.9 442.8c-11.8 0-22.4-2.7-31.7-8s-16.6-12.8-21.9-22.6c-5.3-9.7-8-21.2-8-34.3s2.7-24.6 8-34.3 12.6-17.2 21.9-22.6c9.3-5.3 20-8 31.9-8s22.6 2.7 31.8 8 16.5 12.8 21.7 22.6c5.2 9.7 7.9 21.2 7.9 34.3s-2.7 24.6-8 34.3-12.6 17.3-21.8 22.6-19.8 8-31.8 8zm0-25.2c6.3 0 12.1-1.4 17.5-4.2 5.3-2.8 9.6-7.2 12.8-13.1s4.9-13.3 4.9-22.3-1.6-16.6-4.9-22.4c-3.2-5.8-7.5-10.1-12.7-13-5.2-2.8-11-4.2-17.3-4.2s-12.1 1.4-17.5 4.2c-5.3 2.8-9.6 7.2-12.8 13s-4.9 13.3-4.9 22.4c0 13.6 3.4 23.7 10.3 30.1s15.1 9.6 24.6 9.6z"/><path d="m982.6 439.8c-12.1 0-21.8-3-28.9-8.9-7.2-5.9-10.7-16.4-10.7-31.6v-60.9h-31.2v-22.5h18.5c8.5 0 13.5-4.2 15-12.5l3.7-20h20.4v32.4h48.9v22.5h-48.9v60.4c0 6.5 1.5 11 4.4 13.6s7.9 3.9 15.1 3.9h28.9v23.4h-35.2z"/><path d="m1094.8 442.8c-16.3 0-29.3-3.8-38.9-11.5-9.6-7.6-15.1-17.8-16.5-30.4h27.2c1 5.8 3.9 10.6 8.8 14.2 4.9 3.7 11.4 5.5 19.6 5.5s13.8-1.6 18.1-4.9c4.2-3.2 6.4-7 6.4-11.3 0-6.3-2.5-10.6-7.6-13-5.1-2.3-12.5-4.1-22.3-5.2-8.5-1-16.2-2.9-23.1-5.9-6.9-2.9-12.3-6.9-16.3-12s-6-11.4-6-19.1 4.2-19.5 12.7-26.2c8.5-6.6 20.3-10 35.4-10s26.9 3.4 35.2 10.2 13.1 16.1 14.5 27.9h-25.4c-.7-5-3.2-8.9-7.7-11.8s-10.1-4.4-16.7-4.4-12.2 1.3-16.2 3.9-6 5.9-6 10.1c0 9 9.6 14.5 28.9 16.5 9.1 1 17.3 2.7 24.4 5.1s12.8 6.2 17 11.2c4.2 5.1 6.2 12.2 6.2 21.3.2 7.5-2 14.2-6.4 20.2s-10.5 10.7-18.2 14.2-16.8 5.2-27.1 5.2z"/><path d="m1170.9 494.7v-178.6h22.9l2 19h1.5c3.3-6.2 8.4-11.3 15.1-15.6 6.7-4.2 14.8-6.4 24.1-6.4s18.5 2.5 26.4 7.4c8 4.9 14.3 12.1 19.1 21.7 4.7 9.6 7.1 21.5 7.1 35.8s-2.5 26-7.4 35.7c-4.9 9.6-11.5 16.9-19.8 21.8s-17.6 7.4-27.9 7.4-16.8-1.8-22.9-5.5c-6.2-3.7-10.7-7.8-13.7-12.5v69.8h-26.4zm58.6-77.1c9.3 0 17.1-3.3 23.3-10s9.4-16.6 9.4-29.9-3.1-23.2-9.4-29.7c-6.2-6.5-14-9.7-23.3-9.7s-17.3 3.3-23.6 9.9c-6.2 6.6-9.4 16.5-9.4 29.8s3.1 23 9.4 29.7c6.2 6.7 14.1 10 23.6 10z"/><path d="m1370.7 442.8c-11.8 0-22.4-2.7-31.7-8s-16.6-12.8-21.9-22.6c-5.3-9.7-8-21.2-8-34.3s2.7-24.6 8-34.3 12.6-17.2 21.9-22.6c9.3-5.3 20-8 31.9-8s22.6 2.7 31.8 8 16.5 12.8 21.7 22.6c5.2 9.7 7.9 21.2 7.9 34.3s-2.7 24.6-8 34.3-12.6 17.3-21.8 22.6-19.8 8-31.8 8zm0-25.2c6.3 0 12.1-1.4 17.5-4.2 5.3-2.8 9.6-7.2 12.8-13.1s4.9-13.3 4.9-22.3-1.6-16.6-4.9-22.4c-3.2-5.8-7.5-10.1-12.7-13-5.2-2.8-11-4.2-17.3-4.2s-12.1 1.4-17.5 4.2c-5.3 2.8-9.6 7.2-12.8 13s-4.9 13.3-4.9 22.4c0 13.6 3.4 23.7 10.3 30.1s15.1 9.6 24.6 9.6z"/><path d="m1513.8 439.8c-12.1 0-21.8-3-28.9-8.9-7.2-5.9-10.7-16.4-10.7-31.6v-60.9h-31.2v-22.5h18.5c8.5 0 13.5-4.2 15-12.5l3.7-20h20.4v32.4h48.9v22.5h-48.9v60.4c0 6.5 1.5 11 4.4 13.6s7.9 3.9 15.1 3.9h28.9v23.4h-35.2z"/><path d="m432.7 309.1c-15.7-49.8-68.7-77.4-118.5-61.8-49.8 15.7-77.5 68.7-61.8 118.5 0 .2.2.5.2.7h-44.8c-8.5 0-16.1-5.6-18.6-13.8l-37.2-121.9 6.3-3.4c88-37 182.2 29 247.8-34.3l.4-.4c8.1-7.4 16.2-14.9 40.2.1 25.8 16.2 82.8 58.4 108.6 130.6 0 0 15.7-5.6 11.3-24.7-4.4-19.2-36.1-74.5-101-123.5-11.9-9-22.6-16.5-31.5-22.5 13-55.5-54.4-122.4-120.2-90.9-47-44.4-99.7-62.5-148.1-61.8-128.2 1.8-227.1 135.4-120.7 262.9l.2.2c1.6 1.9 3.3 3.9 5 5.8 6.9 8.3 11.5 15.6 15.4 28.5l31.7 104h-11.2c-10.3 0-18.7 8.4-18.7 18.7h42.6l71.6 33.8c4.4-9.4.4-20.5-8.9-24.9l-18.8-8.9h54c0-10.3-8.4-18.7-18.7-18.7h-48.9c-8.5 0-16.1-5.6-18.6-13.8l-25.1-82.6c-6.2-21.7 8.1-35.9 21.7-37.6 12.3-1.5 18.5 6.4 24.4 25.7l22.3 73.2h-11.2c-10.3 0-18.7 8.4-18.7 18.7h42.6l71.6 33.8c4.4-9.4.4-20.5-8.9-24.9l-18.8-8.9h39.6c21.8 37.2 67.1 55.9 110 42.4 49.8-15.7 77.4-68.7 61.8-118.5zm-72-212.5c15.7 0 28.4 12.7 28.4 28.4s-1.3 9.7-3.6 13.8c-.2-9.8-8.2-17.8-18.2-17.8s-18.2 8.1-18.2 18.2 2.4 10.3 6.2 13.7c-13.2-2.5-23.1-14-23.1-27.9s12.7-28.4 28.4-28.4z"/></g></svg>
@@ -24,6 +24,7 @@ from offspot_config.utils.sizes import (
24
24
  get_raw_content_size_for,
25
25
  )
26
26
  from offspot_config.utils.yaml import yaml_dump
27
+ from offspot_runtime.__about__ import __version__
27
28
 
28
29
  # matches $environ[XXX] where XXX is a builder-level environ to replace with
29
30
  RE_ENVIRON_VAR = re.compile(r"\$environ{(?P<var>[A-Za-z_\-0-9]+)}")
@@ -31,6 +32,8 @@ RE_SPECIFIC_APP_DIR = re.compile(r"\${APP_DIR:(?P<ident>[a-z\.\-]+)}")
31
32
 
32
33
  # service subdomain for ZIM downloads, when enabled
33
34
  ZIMDL_PREFIX = "zim-download"
35
+ # service subdomain for kiwix-serve (used to be static to kiwix)
36
+ KIWIX_PREFIX = "browse"
34
37
  # on-host path to dashboard config
35
38
  DASHBOARD_CONFIG_PATH = CONTENT_TARGET_PATH / "dashboard.yaml"
36
39
  # on-host metrics persistent data folder
@@ -237,7 +240,8 @@ class ConfigBuilder:
237
240
  "restart": "unless-stopped",
238
241
  "expose": ["80"],
239
242
  "environment": {
240
- "KIWIX_READER_LINK_TPL": "//kiwix.{fqdn}/viewer#{zim_name}",
243
+ "KIWIX_READER_LINK_TPL": f"//{KIWIX_PREFIX}."
244
+ + "{fqdn}/viewer#{zim_name}",
241
245
  "KIWIX_DOWNLOAD_LINK_TPL": (
242
246
  f"//{ZIMDL_PREFIX}." + "{fqdn}/{zim_filename}"
243
247
  ),
@@ -285,9 +289,17 @@ class ConfigBuilder:
285
289
  download_fqdn = None
286
290
 
287
291
  payload = {
288
- "metadata": {"name": self.name, "fqdn": self.fqdn},
292
+ "metadata": {
293
+ "name": self.name,
294
+ "fqdn": self.fqdn,
295
+ "version": f"v{__version__}",
296
+ },
289
297
  "packages": [
290
- package.to_dashboard_entry(fqdn=self.fqdn, download_fqdn=download_fqdn)
298
+ package.to_dashboard_entry(
299
+ fqdn=self.fqdn,
300
+ kiwix_domain=KIWIX_PREFIX,
301
+ download_fqdn=download_fqdn,
302
+ )
291
303
  for package in self.dashboard_entries
292
304
  ],
293
305
  }
@@ -620,7 +632,7 @@ class ConfigBuilder:
620
632
  self.add_files_service()
621
633
  self.files_mapping.update({ZIMDL_PREFIX: "zims"})
622
634
 
623
- self.reversed_services.add("browse:kiwix")
635
+ self.reversed_services.add(f"{KIWIX_PREFIX}:kiwix")
624
636
 
625
637
  image = get_internal_image("file-manager")
626
638
  self.config["oci_images"].add(image)
@@ -922,7 +934,7 @@ class ConfigBuilder:
922
934
  self.compose["services"]["reverse-proxy"]["environment"].update(
923
935
  {
924
936
  "SERVICES": ",".join(self.reversed_services),
925
- "NO_HOME_SERVICES": "kiwix",
937
+ "NO_HOME_SERVICES": f"{KIWIX_PREFIX}",
926
938
  "FILES_MAPPING": ",".join(
927
939
  f"{domain}:{folder}"
928
940
  for domain, folder in self.files_mapping.items()
@@ -13,12 +13,6 @@ from offspot_config.inputs.file import FileConfig
13
13
  from offspot_config.oci_images import OCIImage
14
14
  from offspot_config.utils.download import get_base64_from
15
15
 
16
- # @typechecked
17
- # @define(kw_only=True)
18
- # class BaseImage:
19
- # source: str
20
- # root_size: int
21
-
22
16
 
23
17
  @typechecked
24
18
  @define(kw_only=True)
@@ -48,7 +42,9 @@ class Package:
48
42
  def get_download_checksum(self) -> Checksum | None:
49
43
  return None
50
44
 
51
- def to_dashboard_entry(self, fqdn: str, download_fqdn: str | None):
45
+ def to_dashboard_entry(
46
+ self, fqdn: str, kiwix_domain: str, download_fqdn: str | None
47
+ ):
52
48
  entry = {
53
49
  "ident": self.ident,
54
50
  "kind": self.kind,
@@ -56,7 +52,7 @@ class Package:
56
52
  "description": self.description,
57
53
  "languages": self.languages,
58
54
  "tags": self.tags,
59
- "url": self.get_url(fqdn),
55
+ "url": self.get_url(fqdn, kiwix_domain=kiwix_domain),
60
56
  "icon": get_base64_from(self.icon_url) if self.icon_url else "",
61
57
  }
62
58
  if self.get_download_url(str(download_fqdn)) and self.get_download_size():
@@ -103,9 +99,7 @@ class ZimPackage(Package):
103
99
  def size(self) -> int:
104
100
  return self.download_size
105
101
 
106
- def get_url(
107
- self, fqdn: str, kiwix_domain: str | None = "kiwix", **kwargs # noqa: ARG002
108
- ) -> str:
102
+ def get_url(self, fqdn: str, kiwix_domain: str, **kwargs) -> str: # noqa: ARG002
109
103
  # this assumes that the ZIM is stored using self.filename
110
104
  from offspot_config.zim import get_libkiwix_humanid
111
105
 
@@ -0,0 +1 @@
1
+ __version__ = "2.4.2"
@@ -1 +0,0 @@
1
- <svg height="495" viewBox="0 0 1290 495" width="1290" xmlns="http://www.w3.org/2000/svg"><g fill="#231f20" transform="matrix(.75419838 0 0 .75419838 61.69948 61.74806)"><path d="m818.2 2.2h-60.7l-79 89.3v-89.3h-52.5v206.4h52.5v-50.8l27.4-30.3 54.5 81.1h62.8l-81.7-120.9z"/><path d="m846.2 2.2h52.5v206.3h-52.5z"/><path d="m1146.5 154-40.4-151.8h-51.3l-39.4 151.8-40.4-151.8h-56l67.5 206.4h54.2l38.9-142.7 38.3 142.7h53.9l68.1-206.4h-53.6z"/><path d="m1258.5 2.2h52.5v206.3h-52.5z"/><path d="m1471.9 100.7 68.1-98.5h-61.6l-39.8 60.1-39.8-60.1h-61l69 100.8-73.7 105.6h61l44.5-65.8 44.5 65.8h62.8z"/><path d="m627.7 439.8v-174.6h26.4v72.3h76.3v-72.3h26.4v174.6h-26.4v-78.1h-76.3v78.1z"/><path d="m841.9 442.8c-11.8 0-22.4-2.7-31.7-8s-16.6-12.8-21.9-22.6c-5.3-9.7-8-21.2-8-34.3s2.7-24.6 8-34.3 12.6-17.2 21.9-22.6c9.3-5.3 20-8 31.9-8s22.6 2.7 31.8 8 16.5 12.8 21.7 22.6c5.2 9.7 7.9 21.2 7.9 34.3s-2.7 24.6-8 34.3-12.6 17.3-21.8 22.6-19.8 8-31.8 8zm0-25.2c6.3 0 12.1-1.4 17.5-4.2 5.3-2.8 9.6-7.2 12.8-13.1s4.9-13.3 4.9-22.3-1.6-16.6-4.9-22.4c-3.2-5.8-7.5-10.1-12.7-13-5.2-2.8-11-4.2-17.3-4.2s-12.1 1.4-17.5 4.2c-5.3 2.8-9.6 7.2-12.8 13s-4.9 13.3-4.9 22.4c0 13.6 3.4 23.7 10.3 30.1s15.1 9.6 24.6 9.6z"/><path d="m982.6 439.8c-12.1 0-21.8-3-28.9-8.9-7.2-5.9-10.7-16.4-10.7-31.6v-60.9h-31.2v-22.5h18.5c8.5 0 13.5-4.2 15-12.5l3.7-20h20.4v32.4h48.9v22.5h-48.9v60.4c0 6.5 1.5 11 4.4 13.6s7.9 3.9 15.1 3.9h28.9v23.4h-35.2z"/><path d="m1094.8 442.8c-16.3 0-29.3-3.8-38.9-11.5-9.6-7.6-15.1-17.8-16.5-30.4h27.2c1 5.8 3.9 10.6 8.8 14.2 4.9 3.7 11.4 5.5 19.6 5.5s13.8-1.6 18.1-4.9c4.2-3.2 6.4-7 6.4-11.3 0-6.3-2.5-10.6-7.6-13-5.1-2.3-12.5-4.1-22.3-5.2-8.5-1-16.2-2.9-23.1-5.9-6.9-2.9-12.3-6.9-16.3-12s-6-11.4-6-19.1 4.2-19.5 12.7-26.2c8.5-6.6 20.3-10 35.4-10s26.9 3.4 35.2 10.2 13.1 16.1 14.5 27.9h-25.4c-.7-5-3.2-8.9-7.7-11.8s-10.1-4.4-16.7-4.4-12.2 1.3-16.2 3.9-6 5.9-6 10.1c0 9 9.6 14.5 28.9 16.5 9.1 1 17.3 2.7 24.4 5.1s12.8 6.2 17 11.2c4.2 5.1 6.2 12.2 6.2 21.3.2 7.5-2 14.2-6.4 20.2s-10.5 10.7-18.2 14.2-16.8 5.2-27.1 5.2z"/><path d="m1170.9 494.7v-178.6h22.9l2 19h1.5c3.3-6.2 8.4-11.3 15.1-15.6 6.7-4.2 14.8-6.4 24.1-6.4s18.5 2.5 26.4 7.4c8 4.9 14.3 12.1 19.1 21.7 4.7 9.6 7.1 21.5 7.1 35.8s-2.5 26-7.4 35.7c-4.9 9.6-11.5 16.9-19.8 21.8s-17.6 7.4-27.9 7.4-16.8-1.8-22.9-5.5c-6.2-3.7-10.7-7.8-13.7-12.5v69.8h-26.4zm58.6-77.1c9.3 0 17.1-3.3 23.3-10s9.4-16.6 9.4-29.9-3.1-23.2-9.4-29.7c-6.2-6.5-14-9.7-23.3-9.7s-17.3 3.3-23.6 9.9c-6.2 6.6-9.4 16.5-9.4 29.8s3.1 23 9.4 29.7c6.2 6.7 14.1 10 23.6 10z"/><path d="m1370.7 442.8c-11.8 0-22.4-2.7-31.7-8s-16.6-12.8-21.9-22.6c-5.3-9.7-8-21.2-8-34.3s2.7-24.6 8-34.3 12.6-17.2 21.9-22.6c9.3-5.3 20-8 31.9-8s22.6 2.7 31.8 8 16.5 12.8 21.7 22.6c5.2 9.7 7.9 21.2 7.9 34.3s-2.7 24.6-8 34.3-12.6 17.3-21.8 22.6-19.8 8-31.8 8zm0-25.2c6.3 0 12.1-1.4 17.5-4.2 5.3-2.8 9.6-7.2 12.8-13.1s4.9-13.3 4.9-22.3-1.6-16.6-4.9-22.4c-3.2-5.8-7.5-10.1-12.7-13-5.2-2.8-11-4.2-17.3-4.2s-12.1 1.4-17.5 4.2c-5.3 2.8-9.6 7.2-12.8 13s-4.9 13.3-4.9 22.4c0 13.6 3.4 23.7 10.3 30.1s15.1 9.6 24.6 9.6z"/><path d="m1513.8 439.8c-12.1 0-21.8-3-28.9-8.9-7.2-5.9-10.7-16.4-10.7-31.6v-60.9h-31.2v-22.5h18.5c8.5 0 13.5-4.2 15-12.5l3.7-20h20.4v32.4h48.9v22.5h-48.9v60.4c0 6.5 1.5 11 4.4 13.6s7.9 3.9 15.1 3.9h28.9v23.4h-35.2z"/><path d="m432.7 309.1c-15.7-49.8-68.7-77.4-118.5-61.8-49.8 15.7-77.5 68.7-61.8 118.5 0 .2.2.5.2.7h-44.8c-8.5 0-16.1-5.6-18.6-13.8l-37.2-121.9 6.3-3.4c88-37 182.2 29 247.8-34.3l.4-.4c8.1-7.4 16.2-14.9 40.2.1 25.8 16.2 82.8 58.4 108.6 130.6 0 0 15.7-5.6 11.3-24.7-4.4-19.2-36.1-74.5-101-123.5-11.9-9-22.6-16.5-31.5-22.5 13-55.5-54.4-122.4-120.2-90.9-47-44.4-99.7-62.5-148.1-61.8-128.2 1.8-227.1 135.4-120.7 262.9l.2.2c1.6 1.9 3.3 3.9 5 5.8 6.9 8.3 11.5 15.6 15.4 28.5l31.7 104h-11.2c-10.3 0-18.7 8.4-18.7 18.7h42.6l71.6 33.8c4.4-9.4.4-20.5-8.9-24.9l-18.8-8.9h54c0-10.3-8.4-18.7-18.7-18.7h-48.9c-8.5 0-16.1-5.6-18.6-13.8l-25.1-82.6c-6.2-21.7 8.1-35.9 21.7-37.6 12.3-1.5 18.5 6.4 24.4 25.7l22.3 73.2h-11.2c-10.3 0-18.7 8.4-18.7 18.7h42.6l71.6 33.8c4.4-9.4.4-20.5-8.9-24.9l-18.8-8.9h39.6c21.8 37.2 67.1 55.9 110 42.4 49.8-15.7 77.4-68.7 61.8-118.5zm-72-212.5c15.7 0 28.4 12.7 28.4 28.4s-1.3 9.7-3.6 13.8c-.2-9.8-8.2-17.8-18.2-17.8s-18.2 8.1-18.2 18.2 2.4 10.3 6.2 13.7c-13.2-2.5-23.1-14-23.1-27.9s12.7-28.4 28.4-28.4z"/></g></svg>
@@ -1 +0,0 @@
1
- __version__ = "2.4.0"
File without changes
File without changes
File without changes