ocpsvg 0.2.0__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.
@@ -0,0 +1,33 @@
1
+ name: codecov
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ jobs:
8
+ codecov:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v3
12
+ - name: Set up Python 3.10
13
+ uses: actions/setup-python@v4
14
+ with:
15
+ python-version: '3.10'
16
+ - name: Install dependencies
17
+ run: |
18
+ python -m pip install --upgrade pip
19
+ pip install ruff pytest coverage
20
+ pip install .
21
+ - name: Lint with ruff
22
+ run: |
23
+ # stop the build if there are Python syntax errors or undefined names
24
+ ruff --output-format=github --select=E9,F63,F7,F82 --target-version=py37 .
25
+ # default set of ruff rules with GitHub Annotations
26
+ ruff --output-format=github --target-version=py37 .
27
+ - name: Test with pytest
28
+ run: |
29
+ coverage run -m pytest
30
+ - name: Upload coverage reports to Codecov
31
+ uses: codecov/codecov-action@v3
32
+ env:
33
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -0,0 +1,75 @@
1
+ name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
2
+
3
+ on: push
4
+
5
+ jobs:
6
+ build:
7
+ name: Build distribution 📦
8
+ runs-on: ubuntu-latest
9
+
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+ - name: Set up Python
13
+ uses: actions/setup-python@v4
14
+ with:
15
+ python-version: "3.x"
16
+ - name: Install pypa/build
17
+ run: >-
18
+ python3 -m
19
+ pip install
20
+ build
21
+ --user
22
+ - name: Build a binary wheel and a source tarball
23
+ run: python3 -m build
24
+ - name: Store the distribution packages
25
+ uses: actions/upload-artifact@v3
26
+ with:
27
+ name: python-package-distributions
28
+ path: dist/
29
+
30
+ publish-to-pypi:
31
+ name: >-
32
+ Publish Python 🐍 distribution 📦 to PyPI
33
+ if: startsWith(github.ref, 'refs/tags/') # only publish to PyPI on tag pushes
34
+ needs:
35
+ - build
36
+ runs-on: ubuntu-latest
37
+ environment:
38
+ name: pypi
39
+ url: https://pypi.org/p/ocpsvg
40
+ permissions:
41
+ id-token: write # IMPORTANT: mandatory for trusted publishing
42
+
43
+ steps:
44
+ - name: Download all the dists
45
+ uses: actions/download-artifact@v3
46
+ with:
47
+ name: python-package-distributions
48
+ path: dist/
49
+ - name: Publish distribution 📦 to PyPI
50
+ uses: pypa/gh-action-pypi-publish@release/v1
51
+
52
+ publish-to-testpypi:
53
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
54
+ needs:
55
+ - build
56
+ runs-on: ubuntu-latest
57
+
58
+ environment:
59
+ name: testpypi
60
+ url: https://test.pypi.org/p/ocpsvg
61
+
62
+ permissions:
63
+ id-token: write # IMPORTANT: mandatory for trusted publishing
64
+
65
+ steps:
66
+ - name: Download all the dists
67
+ uses: actions/download-artifact@v3
68
+ with:
69
+ name: python-package-distributions
70
+ path: dist/
71
+ - name: Publish distribution 📦 to TestPyPI
72
+ uses: pypa/gh-action-pypi-publish@release/v1
73
+ with:
74
+ repository-url: https://test.pypi.org/legacy/
75
+
@@ -0,0 +1,40 @@
1
+ name: tests
2
+
3
+ on:
4
+ - push
5
+ - pull_request
6
+
7
+ jobs:
8
+ tests:
9
+ strategy:
10
+ fail-fast: false
11
+ matrix:
12
+ python-version:
13
+ - "3.9"
14
+ - "3.10"
15
+ os:
16
+ - macos-latest
17
+ - ubuntu-latest
18
+ - windows-latest
19
+
20
+ runs-on: ${{ matrix.os }}
21
+ steps:
22
+ - uses: actions/checkout@v3
23
+ - name: Set up Python ${{ matrix.python-version }}
24
+ uses: actions/setup-python@v4
25
+ with:
26
+ python-version: ${{ matrix.python-version }}
27
+ - name: Install dependencies
28
+ run: |
29
+ python -m pip install --upgrade pip
30
+ pip install ruff pytest
31
+ pip install .
32
+ - name: Lint with ruff
33
+ run: |
34
+ # stop the build if there are Python syntax errors or undefined names
35
+ ruff --output-format=github --select=E9,F63,F7,F82 --target-version=py37 .
36
+ # default set of ruff rules with GitHub Annotations
37
+ ruff --output-format=github --target-version=py37 .
38
+ - name: Test with pytest
39
+ run: |
40
+ pytest
@@ -0,0 +1,7 @@
1
+ __pycache__
2
+ *.egg-info/
3
+ build/
4
+ .pytest_cache
5
+ .coverage
6
+ htmlcov/
7
+ .vscode
ocpsvg-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,17 @@
1
+ Metadata-Version: 2.1
2
+ Name: ocpsvg
3
+ Version: 0.2.0
4
+ Requires-Python: >=3.9
5
+ Description-Content-Type: text/markdown
6
+ Requires-Dist: cadquery-ocp>=7.7.0
7
+ Requires-Dist: svgpathtools<2,>=1.5.1
8
+ Requires-Dist: svgelements<2,>=1.9.1
9
+ Provides-Extra: dev
10
+ Requires-Dist: pytest; extra == "dev"
11
+
12
+ # OCPSVG
13
+
14
+ - works at the [`OCP`](https://github.com/CadQuery/OCP) level
15
+ - uses [`svgpathtools`](https://github.com/mathandy/svgpathtools) to convert SVG path strings to and from `TopoDS_Edge`, `TopoDS_Wire`, and `TopoDS_Face` objects
16
+ - uses [`svgelements`](https://github.com/meerk40t/svgelements) to import `TopoDS_Wire` and `TopoDS_Face` objects from an SVG document
17
+ - can be used to add SVG functionality (import and export) to higher level API
@@ -0,0 +1,177 @@
1
+ <?xml version='1.0' encoding='utf-8'?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-36.16 -36.1147 400 399.91" width="400">
3
+ <style>path {
4
+ fill: none;
5
+ stroke: #1a1a1a;
6
+ stroke-width: 1;
7
+ stroke-linecap: round;
8
+ stroke-linejoin: round;
9
+ vector-effect: non-scaling-stroke;
10
+ }
11
+ .undefined, .isoline, .sewn, .smooth {
12
+ stroke-width: 0.75;
13
+ }
14
+ .hidden {
15
+ stroke: #666666;
16
+ stroke-dasharray: 1.5 2.5;
17
+ }</style>
18
+ <g transform="scale(1.28 -1.28) translate(0 -256)">
19
+ <path id="e0" d="M3.14065,128.035 A36.4731,36.4731,0,0,1,39.6153,91.5801" class="s0 sharp hidden" />
20
+ <path id="e1" d="M39.6153,91.5801 A36.4731,36.4731,0,0,1,40.1094,91.6153" class="s0 sharp hidden" />
21
+ <path id="e2" d="M40.1094,91.6153 A36.4731,36.4731,0,0,1,39.7266,91.2833" class="s0 sharp hidden" />
22
+ <path id="e3" d="M39.7266,91.2833 A36.4731,36.4731,0,0,1,39.7266,39.7032" class="s0 sharp hidden" />
23
+ <path id="e4" d="M39.7266,39.7032 A36.4731,36.4731,0,0,1,91.3067,39.7032" class="s0 sharp hidden" />
24
+ <path id="e5" d="M91.3067,39.7032 A36.4731,36.4731,0,0,1,91.6309,40.043" class="s0 sharp hidden" />
25
+ <path id="e6" d="M91.6309,40.043 A36.4731,36.4731,0,0,1,91.5977,39.5801" class="s0 sharp hidden" />
26
+ <path id="e7" d="M91.5977,39.5802 A36.4731,36.4731,0,0,1,128.07,3.10554" class="s0 sharp hidden" />
27
+ <path id="e8" d="M128.07,3.10554 A36.4731,36.4731,0,0,1,164.543,39.5801" class="s0 sharp hidden" />
28
+ <path id="e9" d="M164.543,39.5801 A36.4731,36.4731,0,0,1,164.531,40.0411" class="s0 sharp hidden" />
29
+ <path id="e10" d="M164.531,40.0411 A36.4731,36.4731,0,0,1,164.834,39.6915" class="s0 sharp hidden" />
30
+ <path id="e11" d="M164.834,39.6915 A36.4731,36.4731,0,0,1,216.416,39.6915" class="s0 sharp hidden" />
31
+ <path id="e12" d="M216.416,39.6915 A36.4731,36.4731,0,0,1,216.416,91.2716" class="s0 sharp hidden" />
32
+ <path id="e13" d="M216.416,91.2716 A36.4731,36.4731,0,0,1,216.018,91.6173" class="s0 sharp hidden" />
33
+ <path id="e14" d="M216.018,91.6173 A36.4731,36.4731,0,0,1,216.527,91.5802" class="s0 sharp hidden" />
34
+ <path id="e15" d="M216.527,91.5802 A36.4731,36.4731,0,0,1,253,128.035" class="s0 sharp hidden" />
35
+ <path id="e16" d="M128.07,252.965 A36.4731,36.4731,0,0,1,91.5977,216.492" class="s0 sharp" />
36
+ <path id="e17" d="M91.5977,216.492 A36.4731,36.4731,0,0,1,91.6289,216.041" class="s0 sharp" />
37
+ <path id="e18" d="M91.6289,216.041 A36.4731,36.4731,0,0,1,91.3203,216.367" class="s0 sharp" />
38
+ <path id="e19" d="M91.3203,216.367 A36.4731,36.4731,0,0,1,39.7383,216.367" class="s0 sharp" />
39
+ <path id="e20" d="M39.7383,216.367 A36.4731,36.4731,0,0,1,39.7383,164.787" class="s0 sharp" />
40
+ <path id="e21" d="M39.7383,164.787 A36.4731,36.4731,0,0,1,40.0508,164.516" class="s0 sharp" />
41
+ <path id="e22" d="M40.0508,164.516 A36.4731,36.4731,0,0,1,39.6153,164.527" class="s0 sharp" />
42
+ <path id="e23" d="M39.6153,164.527 A36.4731,36.4731,0,0,1,3.14065,128.053" class="s0 sharp" />
43
+ <path id="e24" d="M3.14065,128.053 A36.4731,36.4731,0,0,1,3.14065,128.035" class="s0 sharp" />
44
+ <path id="e25" d="M253,128.035 A36.4731,36.4731,0,0,1,253,128.053" class="s0 sharp" />
45
+ <path id="e26" d="M253,128.053 A36.4731,36.4731,0,0,1,216.527,164.527" class="s0 sharp" />
46
+ <path id="e27" d="M216.527,164.527 A36.4731,36.4731,0,0,1,216.049,164.494" class="s0 sharp" />
47
+ <path id="e28" d="M216.049,164.494 A36.4731,36.4731,0,0,1,216.402,164.799" class="s0 sharp" />
48
+ <path id="e29" d="M216.402,164.799 A36.4731,36.4731,0,0,1,216.402,216.381" class="s0 sharp" />
49
+ <path id="e30" d="M216.402,216.381 A36.4731,36.4731,0,0,1,164.822,216.381" class="s0 sharp" />
50
+ <path id="e31" d="M164.822,216.381 A36.4731,36.4731,0,0,1,164.51,216.02" class="s0 sharp" />
51
+ <path id="e32" d="M164.51,216.02 A36.4731,36.4731,0,0,1,164.543,216.492" class="s0 sharp" />
52
+ <path id="e33" d="M164.543,216.492 A36.4731,36.4731,0,0,1,128.07,252.965" class="s0 sharp" />
53
+ <path id="e34" d="M128.07,252.965 L128.07,252.965" class="s0 sharp" />
54
+ <path id="e35" d="M19.8125,128.035 A19.803,19.803,0,0,1,39.6152,108.25" class="s1 sharp hidden" />
55
+ <path id="e36" d="M39.6152,108.25 A19.803,19.803,0,0,1,53.5449,114.051" class="s1 sharp hidden" />
56
+ <path id="e37" d="M53.5449,114.051 L94.1953,114.051" class="s1 sharp hidden" />
57
+ <path id="e38" d="M94.1953,114.051 L65.4355,85.291" class="s1 sharp hidden" />
58
+ <path id="e39" d="M65.4355,85.291 A19.803,19.803,0,0,1,45.7129,65.4941" class="s1 sharp hidden" />
59
+ <path id="e40" d="M45.7129,65.4941 A19.803,19.803,0,0,1,65.5156,45.6914" class="s1 sharp hidden" />
60
+ <path id="e41" d="M65.5156,45.6914 A19.803,19.803,0,0,1,85.3203,65.4941" class="s1 sharp hidden" />
61
+ <path id="e42" d="M85.3203,65.4941 A19.803,19.803,0,0,1,85.3185,65.5683" class="s1 sharp hidden" />
62
+ <path id="e43" d="M85.3185,65.5683 L113.998,94.248" class="s1 sharp hidden" />
63
+ <path id="e44" d="M113.998,94.248 L113.998,53.4394" class="s1 sharp hidden" />
64
+ <path id="e45" d="M113.998,53.4394 A19.803,19.803,0,0,1,108.268,39.5801" class="s1 sharp hidden" />
65
+ <path id="e46" d="M108.268,39.5801 A19.803,19.803,0,0,1,128.07,19.7754" class="s1 sharp hidden" />
66
+ <path id="e47" d="M128.07,19.7754 A19.803,19.803,0,0,1,147.873,39.5801" class="s1 sharp hidden" />
67
+ <path id="e48" d="M147.873,39.5801 A19.803,19.803,0,0,1,142.002,53.6504" class="s1 sharp hidden" />
68
+ <path id="e49" d="M142.002,53.6504 L142.002,94.248" class="s1 sharp hidden" />
69
+ <path id="e50" d="M142.002,94.248 L170.826,65.4238" class="s1 sharp hidden" />
70
+ <path id="e51" d="M170.826,65.4238 A19.803,19.803,0,0,1,190.625,45.6777" class="s1 sharp hidden" />
71
+ <path id="e52" d="M190.625,45.6777 A19.803,19.803,0,0,1,210.428,65.4804" class="s1 sharp hidden" />
72
+ <path id="e53" d="M210.428,65.4805 A19.803,19.803,0,0,1,190.625,85.2832" class="s1 sharp hidden" />
73
+ <path id="e54" d="M190.625,85.2832 A19.803,19.803,0,0,1,190.576,85.2792" class="s1 sharp hidden" />
74
+ <path id="e55" d="M190.576,85.2792 L161.805,114.051" class="s1 sharp hidden" />
75
+ <path id="e56" d="M161.805,114.051 L202.596,114.051" class="s1 sharp hidden" />
76
+ <path id="e57" d="M202.596,114.051 A19.803,19.803,0,0,1,216.527,108.25" class="s1 sharp hidden" />
77
+ <path id="e58" d="M216.527,108.25 A19.803,19.803,0,0,1,236.33,128.035" class="s1 sharp hidden" />
78
+ <path id="e59" d="M128.07,236.295 A19.803,19.803,0,0,1,108.268,216.492" class="s1 sharp" />
79
+ <path id="e60" d="M108.268,216.492 A19.803,19.803,0,0,1,113.998,202.631" class="s1 sharp" />
80
+ <path id="e61" d="M113.998,202.631 L113.998,161.859" class="s1 sharp" />
81
+ <path id="e62" d="M113.998,161.859 L85.3281,190.529" class="s1 sharp" />
82
+ <path id="e63" d="M85.3281,190.529 A19.803,19.803,0,0,1,85.3316,190.576" class="s1 sharp" />
83
+ <path id="e64" d="M85.3316,190.576 A19.803,19.803,0,0,1,65.5293,210.381" class="s1 sharp" />
84
+ <path id="e65" d="M65.5293,210.381 A19.803,19.803,0,0,1,45.7266,190.576" class="s1 sharp" />
85
+ <path id="e66" d="M45.7266,190.576 A19.803,19.803,0,0,1,65.4746,170.777" class="s1 sharp" />
86
+ <path id="e67" d="M65.4746,170.777 L94.1953,142.057" class="s1 sharp" />
87
+ <path id="e68" d="M94.1953,142.057 L53.6172,142.057" class="s1 sharp" />
88
+ <path id="e69" d="M53.6172,142.057 A19.803,19.803,0,0,1,39.6152,147.857" class="s1 sharp" />
89
+ <path id="e70" d="M39.6152,147.857 A19.803,19.803,0,0,1,19.8125,128.053" class="s1 sharp" />
90
+ <path id="e71" d="M19.8125,128.053 A19.803,19.803,0,0,1,19.8125,128.035" class="s1 sharp" />
91
+ <path id="e72" d="M236.33,128.035 A19.803,19.803,0,0,1,236.33,128.053" class="s1 sharp" />
92
+ <path id="e73" d="M236.33,128.053 A19.803,19.803,0,0,1,216.527,147.857" class="s1 sharp" />
93
+ <path id="e74" d="M216.527,147.857 A19.803,19.803,0,0,1,202.596,142.057" class="s1 sharp" />
94
+ <path id="e75" d="M202.596,142.057 L161.805,142.057" class="s1 sharp" />
95
+ <path id="e76" d="M161.805,142.057 L190.541,170.793" class="s1 sharp" />
96
+ <path id="e77" d="M190.541,170.793 A19.803,19.803,0,0,1,190.611,170.787" class="s1 sharp" />
97
+ <path id="e78" d="M190.611,170.787 A19.803,19.803,0,0,1,210.416,190.59" class="s1 sharp" />
98
+ <path id="e79" d="M210.416,190.59 A19.803,19.803,0,0,1,190.611,210.393" class="s1 sharp" />
99
+ <path id="e80" d="M190.611,210.393 A19.803,19.803,0,0,1,170.815,190.672" class="s1 sharp" />
100
+ <path id="e81" d="M170.815,190.672 L142.002,161.859" class="s1 sharp" />
101
+ <path id="e82" d="M142.002,161.859 L142.002,202.488" class="s1 sharp" />
102
+ <path id="e83" d="M142.002,202.488 A19.803,19.803,0,0,1,147.873,216.492" class="s1 sharp" />
103
+ <path id="e84" d="M147.873,216.492 A19.803,19.803,0,0,1,128.07,236.295" class="s1 sharp" />
104
+ <path id="e85" d="M3,128.035 L253,128.035" class="s2 sharp" />
105
+ <path id="e86" d="M253,128.035 L253,39.6961" class="s2 sharp" />
106
+ <path id="e87" d="M216.339,3.03537 L39.6608,3.03537" class="s2 sharp" />
107
+ <path id="e88" d="M3,39.6961 L3,128.035" class="s2 sharp" />
108
+ <path id="e89" d="M253,39.6961 C253,18.9364,237.099,3.03537,216.339,3.03537" class="s2 sharp" />
109
+ <path id="e90" d="M39.6608,3.03537 C18.9011,3.03537,3,18.9364,3,39.6961" class="s2 sharp" />
110
+ <path id="e91" d="M63.1992,57.7227 L63.1992,57.7127" class="s3 sharp" />
111
+ <path id="e92" d="M72.6934,53.781 L72.7012,53.781" class="s3 sharp" />
112
+ <path id="e93" d="M49.7851,44.3045 L30.8066,44.3045" class="s3 sharp" />
113
+ <path id="e94" d="M53.7148,80.6385 L53.707,80.6385" class="s3 sharp" />
114
+ <path id="e95" d="M76.625,90.115 L95.6016,90.115" class="s3 sharp" />
115
+ <path id="e96" d="M63.1992,122.508 L63.1992,122.508" class="s3 sharp" />
116
+ <path id="e97" d="M63.1992,122.508 C45.3176,122.508,30.8066,108.006,30.8066,90.1152" class="s3 sharp" />
117
+ <path id="e98" d="M30.8066,90.1152 C30.8066,81.1736,34.4368,73.077,40.3008,67.2148" class="s3 sharp" />
118
+ <path id="e99" d="M40.3008,67.2148 C46.163,61.3509,54.5243,59.0531,63.1992,57.7227" class="s3 sharp" />
119
+ <path id="e100" d="M63.1992,57.7127 C66.777,57.0466,70.264,56.2104,72.6934,53.781" class="s3 sharp" />
120
+ <path id="e101" d="M72.7012,53.781 C75.1217,51.3517,76.625,48.0059,76.625,44.3045" class="s3 sharp" />
121
+ <path id="e102" d="M76.625,44.3045 C76.625,36.8946,70.6109,30.8806,63.1992,30.8806" class="s3 sharp" />
122
+ <path id="e103" d="M63.1992,30.8806 C55.7893,30.8806,49.7851,36.8946,49.7851,44.3045" class="s3 sharp" />
123
+ <path id="e104" d="M30.8066,44.3045 C30.8066,26.414,45.3176,11.9041,63.1992,11.9041" class="s3 sharp" />
124
+ <path id="e105" d="M63.1992,11.9041 C81.0897,11.9041,95.6016,26.414,95.6016,44.3045" class="s3 sharp" />
125
+ <path id="e106" d="M95.6016,44.3045 C95.6016,53.2462,91.9714,61.3429,86.1074,67.2068" class="s3 sharp" />
126
+ <path id="e107" d="M86.1074,67.2068 C80.2452,73.069,72.1497,75.766,63.1992,76.697" class="s3 sharp" />
127
+ <path id="e108" d="M63.1992,76.697 C58.1674,77.4956,56.1442,78.2003,53.7148,80.6385" class="s3 sharp" />
128
+ <path id="e109" d="M53.707,80.6385 C51.2883,83.0589,49.7852,86.4136,49.7852,90.115" class="s3 sharp" />
129
+ <path id="e110" d="M49.7852,90.115 C49.7852,97.5249,55.7893,103.529,63.1992,103.529" class="s3 sharp" />
130
+ <path id="e111" d="M63.1992,103.529 C70.6109,103.529,76.625,97.5249,76.625,90.115" class="s3 sharp" />
131
+ <path id="e112" d="M95.6016,90.115 C95.6016,108.005,81.0897,122.508,63.1992,122.508" class="s3 sharp" />
132
+ <path id="e113" d="M95.6016,122.508 L118.498,11.9043" class="s4 sharp" />
133
+ <path id="e114" d="M118.498,11.9043 L137.473,11.9043" class="s4 sharp" />
134
+ <path id="e115" d="M137.473,11.9043 L160.389,122.508" class="s4 sharp" />
135
+ <path id="e116" d="M160.389,122.508 L141.414,122.508" class="s4 sharp" />
136
+ <path id="e117" d="M141.414,122.508 L128.004,57.7305" class="s4 sharp" />
137
+ <path id="e118" d="M128.004,57.7305 L114.576,122.508" class="s4 sharp" />
138
+ <path id="e119" d="M114.576,122.508 L95.6016,122.508" class="s4 sharp" />
139
+ <path id="e120" d="M160.391,90.1132 L160.399,90.1132" class="s5 sharp" />
140
+ <path id="e121" d="M160.399,90.1132 L160.399,44.3046" class="s5 sharp" />
141
+ <path id="e122" d="M225.194,44.3046 L225.184,44.3046" class="s5 sharp" />
142
+ <path id="e123" d="M225.184,44.3046 L225.184,76.6972" class="s5 sharp" />
143
+ <path id="e124" d="M225.184,76.6972 L192.791,76.6972" class="s5 sharp" />
144
+ <path id="e125" d="M192.791,76.6972 L192.791,57.7109" class="s5 sharp" />
145
+ <path id="e126" d="M192.791,57.7109 L206.207,57.7109" class="s5 sharp" />
146
+ <path id="e127" d="M206.207,57.7109 L206.207,44.3046" class="s5 sharp" />
147
+ <path id="e128" d="M206.207,44.3046 L206.207,44.2966" class="s5 sharp" />
148
+ <path id="e129" d="M179.375,44.3045 L179.375,90.113" class="s5 sharp" />
149
+ <path id="e130" d="M206.207,90.113 L225.184,90.113" class="s5 sharp" />
150
+ <path id="e131" d="M192.791,122.506 L192.791,122.506" class="s5 sharp" />
151
+ <path id="e132" d="M192.791,122.506 C174.899,122.506,160.391,108.004,160.391,90.1132" class="s5 sharp" />
152
+ <path id="e133" d="M160.399,44.3046 C160.399,26.4124,174.899,11.9023,192.791,11.9023" class="s5 sharp" />
153
+ <path id="e134" d="M192.791,11.9023 C210.682,11.9023,225.194,26.4124,225.194,44.3046" class="s5 sharp" />
154
+ <path id="e135" d="M206.207,44.2966 C206.198,36.8938,200.192,30.8885,192.791,30.8885" class="s5 sharp" />
155
+ <path id="e136" d="M192.791,30.8885 C185.379,30.8885,179.375,36.8928,179.375,44.3045" class="s5 sharp" />
156
+ <path id="e137" d="M179.375,90.113 C179.375,97.5158,185.379,103.529,192.791,103.529" class="s5 sharp" />
157
+ <path id="e138" d="M192.791,103.529 C200.192,103.529,206.207,97.5158,206.207,90.113" class="s5 sharp" />
158
+ <path id="e139" d="M225.184,90.113 C225.184,108.003,210.673,122.506,192.791,122.506" class="s5 sharp" />
159
+ </g>
160
+ <style>@media (prefers-color-scheme: dark){
161
+ path {
162
+ fill: none;
163
+ stroke: #e5e5e5;
164
+ stroke-width: 1;
165
+ stroke-linecap: round;
166
+ stroke-linejoin: round;
167
+ vector-effect: non-scaling-stroke;
168
+ }
169
+ .undefined, .isoline, .sewn, .smooth {
170
+ stroke-width: 0.75;
171
+ }
172
+ .hidden {
173
+ stroke: #999999;
174
+ stroke-dasharray: 1.5 2.5;
175
+ }
176
+ }</style>
177
+ </svg>