Add figure management script

This commit is contained in:
jaseg 2024-08-27 13:06:41 +02:00
parent 26bbd76ae0
commit 0238e388cd
29 changed files with 1320 additions and 0 deletions

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "chapter-qkd/figures/ihsm-secondary-mesh"]
path = chapter-qkd/figures/ihsm-secondary-mesh
url = git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -22,6 +22,10 @@ preview:
version.tex: chapter.tex
echo "${VERSION_STRING}" > $@
.PHONY: update-figures
update-figures:
make -C figures
.PHONY: clean
clean:
rm -f **.aux **.bbl **.bcf **.log **.blg

View file

@ -0,0 +1,28 @@
SUBMODULE_FIGURES := \
ihsm-secondary-mesh/gear_plan_1.svg \
ihsm-secondary-mesh/gear_plan_2.svg \
ihsm-secondary-mesh/gear_plan_3.svg \
ihsm-secondary-mesh/render_exp_1.png \
ihsm-secondary-mesh/render_exp_2.png \
ihsm-secondary-mesh/render_side_1.png \
ihsm-secondary-mesh/render_side_2.png \
ihsm-secondary-mesh/schema_wire.svg
.ONESHELL:
all: pull-submodules $(notdir SUBMODULE_FIGURES)
pull-submodules:
git -C ihsm-secondary-mesh pull
$(notdir SUBMODULE_FIGURES):
@for f in ${SUBMODULE_FIGURES}; do
FIG_FN="$$(basename "$$f")"
FIG_DIR="$$(dirname "$$f")"
cp "$$f" "$$FIG_FN"
git -C "$$FIG_DIR" remote get-url $$(git -C "$$FIG_DIR" config "branch.$$(git -C "$$FIG_DIR" branch --show-current).remote") > "$${FIG_FN}.git_remote"
git -C "$$FIG_DIR" describe --always --tags > "$${FIG_FN}.git_rev"
done

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="206.0mm" height="166.0mm" viewBox="-83.0 -83.0 206.0 166.0" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<circle stroke="#ad1f1f" fill="none" stroke-width="0.2" cx="0" cy="0" r="80.0" stroke-opacity="1.0"/>
<circle stroke="#1f1fad" fill="none" stroke-width="0.2" cx="50.0" cy="0" r="70.0" stroke-opacity="1.0"/>
<path fill="none" stroke-width="0.2" stroke="black" transform="translate(0 0)" d="M 1.7112889438337848 2.464039397150997
A 3 3 0 0 0 1.7112889438337848 -2.464039397150997
"/>
<text x="5.0" y="0.0" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="middle" transform="rotate(270.0,5.0,0.0)" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
120.0 °
</text>
<text x="5.0" y="0.0" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="middle" transform="rotate(270.0,5.0,0.0)" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
120.0 °
</text>
<path fill="none" stroke-width="0.2" stroke="black" transform="translate(50.0 0)" d="M -0.6745165704777485 -2.9231878824582824
A 3 3 0 0 0 -0.6745165704777485 2.9231878824582824
"/>
<text x="45.0" y="-6.123233995736766e-16" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="middle" transform="rotate(-90.0,45.0,-6.123233995736766e-16)" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
163.6 °
</text>
<text x="45.0" y="-6.123233995736766e-16" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="middle" transform="rotate(-90.0,45.0,-6.123233995736766e-16)" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
163.6 °
</text>
<path fill="none" stroke-width="0.2" stroke="#ad1f1f" d="M 40.0 69.28203230275508 L 0 0 L 40.0 -69.28203230275508"/>
<path fill="none" stroke-width="0.2" stroke="#1f1fad" d="M 40.0 69.28203230275508 L 50.0 0 L 40.0 -69.28203230275508"/>
<path fill="none" stroke-width="0.2" stroke="black" d="M 40.0 69.28203230275508 l 0 -138.56406460551017"/>
<path fill="none" stroke="black" stroke-width="0.2" d="
M 39.9,69.28203230275508 l 0.2,0.0
M 41.0,69.28203230275508 l 30.0,0.0
M 39.9,-69.28203230275508 l 0.2,0.0
M 41.0,-69.28203230275508 l 30.0,0.0
M 69.0,65.28203230275508
l 0.0,-130.56406460551017
"/>
<path fill="black" stroke="black" stroke-width="0.2" d="
M 69.0,68.78203230275508
l 0.5,-2.0
l -0.5,0.2
l 0.0,-1.2
l -0.0,1.2
l -0.5,-0.2
Z
"/>
<path fill="black" stroke="black" stroke-width="0.2" d="
M 69.0,-68.78203230275508
l 0.5,2.0
l -0.5,-0.2
l -0.0,1.2
l 0.0,-1.2
l -0.5,0.2
Z
"/>
<text x="69.0" y="0.0" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="middle" transform="rotate(-90.0,69.0,0.0)" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
138.56 mm
</text>
<text x="69.0" y="0.0" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="middle" transform="rotate(-90.0,69.0,0.0)" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
138.56 mm
</text>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

View file

@ -0,0 +1,502 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="106mm" height="122.0mm" viewBox="-3 -3 106 122.0" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<pattern id="hatch_1" patternUnits="userSpaceOnUse" width="4" height="4" patternTransform="rotate(-45) scale(0.15)">
<path stroke="#ad1f1f" stroke-width="1" d="M -1,1 l 2,-2 M 0,4 l 4,-4 M 3,5 l2,-2"/>
</pattern>
<pattern id="hatch_2" patternUnits="userSpaceOnUse" width="4" height="4" patternTransform="scale(0.15)">
<path stroke="#1f1fad" stroke-width="1" d="M -1,1 l 2,-2 M 0,4 l 4,-4 M 3,5 l2,-2"/>
</pattern>
<pattern id="hatch_b" patternUnits="userSpaceOnUse" width="4" height="4" patternTransform="scale(0.15)">
<path stroke="black" stroke-width="1" d="M -1,1 l 2,-2 M 0,4 l 4,-4 M 3,5 l2,-2"/>
</pattern>
</defs>
<g transform="translate(0 4.0)">
<path fill="none" stroke-width="0.15" stroke="black" d="
M 0 0 v 10 h 100 v -10 Z
"/>
<path fill="none" stroke-width="0.15" stroke="black" d="M 0.0 10 v 1.2 M 1.3888888888888888 10 v 0.8 M 2.7777777777777777 10 v 0.8 M 4.166666666666667 10 v 0.8 M 5.555555555555555 10 v 0.8 M 6.944444444444445 10 v 0.8 M 8.333333333333334 10 v 0.8 M 9.722222222222221 10 v 0.8 M 11.11111111111111 10 v 0.8 M 12.5 10 v 1.2 M 13.88888888888889 10 v 0.8 M 15.277777777777779 10 v 0.8 M 16.666666666666668 10 v 0.8 M 18.055555555555557 10 v 0.8 M 19.444444444444443 10 v 0.8 M 20.833333333333332 10 v 0.8 M 22.22222222222222 10 v 0.8 M 23.61111111111111 10 v 0.8 M 25.0 10 v 1.2 M 26.38888888888889 10 v 0.8 M 27.77777777777778 10 v 0.8 M 29.166666666666668 10 v 0.8 M 30.555555555555557 10 v 0.8 M 31.944444444444443 10 v 0.8 M 33.333333333333336 10 v 0.8 M 34.72222222222222 10 v 0.8 M 36.111111111111114 10 v 0.8 M 37.5 10 v 1.2 M 38.888888888888886 10 v 0.8 M 40.27777777777778 10 v 0.8 M 41.666666666666664 10 v 0.8 M 43.05555555555556 10 v 0.8 M 44.44444444444444 10 v 0.8 M 45.833333333333336 10 v 0.8 M 47.22222222222222 10 v 0.8 M 48.611111111111114 10 v 0.8 M 50.0 10 v 1.2 M 51.388888888888886 10 v 0.8 M 52.77777777777778 10 v 0.8 M 54.166666666666664 10 v 0.8 M 55.55555555555556 10 v 0.8 M 56.94444444444444 10 v 0.8 M 58.333333333333336 10 v 0.8 M 59.72222222222222 10 v 0.8 M 61.111111111111114 10 v 0.8 M 62.5 10 v 1.2 M 63.888888888888886 10 v 0.8 M 65.27777777777777 10 v 0.8 M 66.66666666666667 10 v 0.8 M 68.05555555555556 10 v 0.8 M 69.44444444444444 10 v 0.8 M 70.83333333333333 10 v 0.8 M 72.22222222222223 10 v 0.8 M 73.61111111111111 10 v 0.8 M 75.0 10 v 1.2 M 76.38888888888889 10 v 0.8 M 77.77777777777777 10 v 0.8 M 79.16666666666667 10 v 0.8 M 80.55555555555556 10 v 0.8 M 81.94444444444444 10 v 0.8 M 83.33333333333333 10 v 0.8 M 84.72222222222223 10 v 0.8 M 86.11111111111111 10 v 0.8 M 87.5 10 v 1.2 M 88.88888888888889 10 v 0.8 M 90.27777777777777 10 v 0.8 M 91.66666666666667 10 v 0.8 M 93.05555555555556 10 v 0.8 M 94.44444444444444 10 v 0.8 M 95.83333333333333 10 v 0.8 M 97.22222222222223 10 v 0.8 M 98.61111111111111 10 v 0.8 M 100.0 10 v 1.2"/>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
</text>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
45°
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
45°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
90°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
90°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
135°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
135°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
180°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
180°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
225°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
225°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
270°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
270°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
315°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
315°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
360°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
360°
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
Mesh 1
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
Mesh 1
</text>
<rect x="0.0" y="0" width="1.0034343851945837" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="20.0" y="0" width="1.0034343851945842" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="40.0" y="0" width="1.0034343851945806" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="60.0" y="0" width="1.0034343851945806" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="80.0" y="0" width="1.0034343851945877" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
</g>
<g transform="translate(0 24.0)">
<path fill="none" stroke-width="0.15" stroke="black" d="
M 0 0 v 10 h 100 v -10 Z
"/>
<path fill="none" stroke-width="0.15" stroke="black" d="M 0.0 10 v 1.2 M 1.3888888888888888 10 v 0.8 M 2.7777777777777777 10 v 0.8 M 4.166666666666667 10 v 0.8 M 5.555555555555555 10 v 0.8 M 6.944444444444445 10 v 0.8 M 8.333333333333334 10 v 0.8 M 9.722222222222221 10 v 0.8 M 11.11111111111111 10 v 0.8 M 12.5 10 v 1.2 M 13.88888888888889 10 v 0.8 M 15.277777777777779 10 v 0.8 M 16.666666666666668 10 v 0.8 M 18.055555555555557 10 v 0.8 M 19.444444444444443 10 v 0.8 M 20.833333333333332 10 v 0.8 M 22.22222222222222 10 v 0.8 M 23.61111111111111 10 v 0.8 M 25.0 10 v 1.2 M 26.38888888888889 10 v 0.8 M 27.77777777777778 10 v 0.8 M 29.166666666666668 10 v 0.8 M 30.555555555555557 10 v 0.8 M 31.944444444444443 10 v 0.8 M 33.333333333333336 10 v 0.8 M 34.72222222222222 10 v 0.8 M 36.111111111111114 10 v 0.8 M 37.5 10 v 1.2 M 38.888888888888886 10 v 0.8 M 40.27777777777778 10 v 0.8 M 41.666666666666664 10 v 0.8 M 43.05555555555556 10 v 0.8 M 44.44444444444444 10 v 0.8 M 45.833333333333336 10 v 0.8 M 47.22222222222222 10 v 0.8 M 48.611111111111114 10 v 0.8 M 50.0 10 v 1.2 M 51.388888888888886 10 v 0.8 M 52.77777777777778 10 v 0.8 M 54.166666666666664 10 v 0.8 M 55.55555555555556 10 v 0.8 M 56.94444444444444 10 v 0.8 M 58.333333333333336 10 v 0.8 M 59.72222222222222 10 v 0.8 M 61.111111111111114 10 v 0.8 M 62.5 10 v 1.2 M 63.888888888888886 10 v 0.8 M 65.27777777777777 10 v 0.8 M 66.66666666666667 10 v 0.8 M 68.05555555555556 10 v 0.8 M 69.44444444444444 10 v 0.8 M 70.83333333333333 10 v 0.8 M 72.22222222222223 10 v 0.8 M 73.61111111111111 10 v 0.8 M 75.0 10 v 1.2 M 76.38888888888889 10 v 0.8 M 77.77777777777777 10 v 0.8 M 79.16666666666667 10 v 0.8 M 80.55555555555556 10 v 0.8 M 81.94444444444444 10 v 0.8 M 83.33333333333333 10 v 0.8 M 84.72222222222223 10 v 0.8 M 86.11111111111111 10 v 0.8 M 87.5 10 v 1.2 M 88.88888888888889 10 v 0.8 M 90.27777777777777 10 v 0.8 M 91.66666666666667 10 v 0.8 M 93.05555555555556 10 v 0.8 M 94.44444444444444 10 v 0.8 M 95.83333333333333 10 v 0.8 M 97.22222222222223 10 v 0.8 M 98.61111111111111 10 v 0.8 M 100.0 10 v 1.2"/>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
</text>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
45°
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
45°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
90°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
90°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
135°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
135°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
180°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
180°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
225°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
225°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
270°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
270°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
315°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
315°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
360°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
360°
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
Mesh 2
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
Mesh 2
</text>
<rect x="0.0" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
<rect x="33.33333333333333" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
<rect x="66.66666666666666" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
</g>
<g transform="translate(0 44.0)">
<path fill="none" stroke-width="0.15" stroke="black" d="
M 0 0 v 10 h 100 v -10 Z
"/>
<path fill="none" stroke-width="0.15" stroke="black" d="M 0.0 10 v 1.2 M 1.3888888888888888 10 v 0.8 M 2.7777777777777777 10 v 0.8 M 4.166666666666667 10 v 0.8 M 5.555555555555555 10 v 0.8 M 6.944444444444445 10 v 0.8 M 8.333333333333334 10 v 0.8 M 9.722222222222221 10 v 0.8 M 11.11111111111111 10 v 0.8 M 12.5 10 v 1.2 M 13.88888888888889 10 v 0.8 M 15.277777777777779 10 v 0.8 M 16.666666666666668 10 v 0.8 M 18.055555555555557 10 v 0.8 M 19.444444444444443 10 v 0.8 M 20.833333333333332 10 v 0.8 M 22.22222222222222 10 v 0.8 M 23.61111111111111 10 v 0.8 M 25.0 10 v 1.2 M 26.38888888888889 10 v 0.8 M 27.77777777777778 10 v 0.8 M 29.166666666666668 10 v 0.8 M 30.555555555555557 10 v 0.8 M 31.944444444444443 10 v 0.8 M 33.333333333333336 10 v 0.8 M 34.72222222222222 10 v 0.8 M 36.111111111111114 10 v 0.8 M 37.5 10 v 1.2 M 38.888888888888886 10 v 0.8 M 40.27777777777778 10 v 0.8 M 41.666666666666664 10 v 0.8 M 43.05555555555556 10 v 0.8 M 44.44444444444444 10 v 0.8 M 45.833333333333336 10 v 0.8 M 47.22222222222222 10 v 0.8 M 48.611111111111114 10 v 0.8 M 50.0 10 v 1.2 M 51.388888888888886 10 v 0.8 M 52.77777777777778 10 v 0.8 M 54.166666666666664 10 v 0.8 M 55.55555555555556 10 v 0.8 M 56.94444444444444 10 v 0.8 M 58.333333333333336 10 v 0.8 M 59.72222222222222 10 v 0.8 M 61.111111111111114 10 v 0.8 M 62.5 10 v 1.2 M 63.888888888888886 10 v 0.8 M 65.27777777777777 10 v 0.8 M 66.66666666666667 10 v 0.8 M 68.05555555555556 10 v 0.8 M 69.44444444444444 10 v 0.8 M 70.83333333333333 10 v 0.8 M 72.22222222222223 10 v 0.8 M 73.61111111111111 10 v 0.8 M 75.0 10 v 1.2 M 76.38888888888889 10 v 0.8 M 77.77777777777777 10 v 0.8 M 79.16666666666667 10 v 0.8 M 80.55555555555556 10 v 0.8 M 81.94444444444444 10 v 0.8 M 83.33333333333333 10 v 0.8 M 84.72222222222223 10 v 0.8 M 86.11111111111111 10 v 0.8 M 87.5 10 v 1.2 M 88.88888888888889 10 v 0.8 M 90.27777777777777 10 v 0.8 M 91.66666666666667 10 v 0.8 M 93.05555555555556 10 v 0.8 M 94.44444444444444 10 v 0.8 M 95.83333333333333 10 v 0.8 M 97.22222222222223 10 v 0.8 M 98.61111111111111 10 v 0.8 M 100.0 10 v 1.2"/>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
</text>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
45°
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
45°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
90°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
90°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
135°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
135°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
180°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
180°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
225°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
225°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
270°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
270°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
315°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
315°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
360°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
360°
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
Valid shifts for first intersection
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
Valid shifts for first intersection
</text>
<rect x="4.949718730157945" y="0" width="3.3740847935481812" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="11.618310845708361" y="0" width="3.374084793548181" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="18.286902961258775" y="0" width="3.358169299238993" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="24.955495076809193" y="0" width="3.3581692992389898" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="31.624087192359603" y="0" width="3.3581692992389898" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="38.292679307910014" y="0" width="3.3581692992389898" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="44.94535592915125" y="0" width="3.3740847935481844" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="51.61394804470166" y="0" width="3.3740847935481844" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="58.28254016025207" y="0" width="3.3740847935481844" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="64.9511322758025" y="0" width="3.374084793548177" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="71.61972439135292" y="0" width="3.3581692992389964" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="78.28831650690331" y="0" width="3.3581692992389964" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="84.95690862245372" y="0" width="3.3581692992389964" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="91.62550073800413" y="0" width="3.3581692992389964" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="98.27817735924538" y="0" width="1.721822640754629" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="0.0" y="0" width="1.6552114081557117" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 59.96958255702616 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 53.30099044147575 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 46.63239832592533 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 6.636761126932036 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 13.30535324248245 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 66.63817467257658 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 93.30458538762365 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 86.63599327207324 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 79.96740115652281 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 73.2988090409724 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 19.965987610878276 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 39.97176395752951 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 33.30317184197911 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 26.634579726428687 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 99.13908867962269 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 0.8276057040778557 0 v 10"/>
</g>
<g transform="translate(0 64.0)">
<path fill="none" stroke-width="0.15" stroke="black" d="
M 0 0 v 10 h 100 v -10 Z
"/>
<path fill="none" stroke-width="0.15" stroke="black" d="M 0.0 10 v 1.2 M 1.3888888888888888 10 v 0.8 M 2.7777777777777777 10 v 0.8 M 4.166666666666667 10 v 0.8 M 5.555555555555555 10 v 0.8 M 6.944444444444445 10 v 0.8 M 8.333333333333334 10 v 0.8 M 9.722222222222221 10 v 0.8 M 11.11111111111111 10 v 0.8 M 12.5 10 v 1.2 M 13.88888888888889 10 v 0.8 M 15.277777777777779 10 v 0.8 M 16.666666666666668 10 v 0.8 M 18.055555555555557 10 v 0.8 M 19.444444444444443 10 v 0.8 M 20.833333333333332 10 v 0.8 M 22.22222222222222 10 v 0.8 M 23.61111111111111 10 v 0.8 M 25.0 10 v 1.2 M 26.38888888888889 10 v 0.8 M 27.77777777777778 10 v 0.8 M 29.166666666666668 10 v 0.8 M 30.555555555555557 10 v 0.8 M 31.944444444444443 10 v 0.8 M 33.333333333333336 10 v 0.8 M 34.72222222222222 10 v 0.8 M 36.111111111111114 10 v 0.8 M 37.5 10 v 1.2 M 38.888888888888886 10 v 0.8 M 40.27777777777778 10 v 0.8 M 41.666666666666664 10 v 0.8 M 43.05555555555556 10 v 0.8 M 44.44444444444444 10 v 0.8 M 45.833333333333336 10 v 0.8 M 47.22222222222222 10 v 0.8 M 48.611111111111114 10 v 0.8 M 50.0 10 v 1.2 M 51.388888888888886 10 v 0.8 M 52.77777777777778 10 v 0.8 M 54.166666666666664 10 v 0.8 M 55.55555555555556 10 v 0.8 M 56.94444444444444 10 v 0.8 M 58.333333333333336 10 v 0.8 M 59.72222222222222 10 v 0.8 M 61.111111111111114 10 v 0.8 M 62.5 10 v 1.2 M 63.888888888888886 10 v 0.8 M 65.27777777777777 10 v 0.8 M 66.66666666666667 10 v 0.8 M 68.05555555555556 10 v 0.8 M 69.44444444444444 10 v 0.8 M 70.83333333333333 10 v 0.8 M 72.22222222222223 10 v 0.8 M 73.61111111111111 10 v 0.8 M 75.0 10 v 1.2 M 76.38888888888889 10 v 0.8 M 77.77777777777777 10 v 0.8 M 79.16666666666667 10 v 0.8 M 80.55555555555556 10 v 0.8 M 81.94444444444444 10 v 0.8 M 83.33333333333333 10 v 0.8 M 84.72222222222223 10 v 0.8 M 86.11111111111111 10 v 0.8 M 87.5 10 v 1.2 M 88.88888888888889 10 v 0.8 M 90.27777777777777 10 v 0.8 M 91.66666666666667 10 v 0.8 M 93.05555555555556 10 v 0.8 M 94.44444444444444 10 v 0.8 M 95.83333333333333 10 v 0.8 M 97.22222222222223 10 v 0.8 M 98.61111111111111 10 v 0.8 M 100.0 10 v 1.2"/>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
</text>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
45°
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
45°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
90°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
90°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
135°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
135°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
180°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
180°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
225°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
225°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
270°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
270°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
315°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
315°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
360°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
360°
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
Valid shifts for both intersections
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
Valid shifts for both intersections
</text>
<rect x="0.0" y="0" width="0.4297183463481174" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="4.949718730157945" y="0" width="2.1326762374313977" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="11.618310845708361" y="0" width="2.1326762374313977" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="18.286902961258775" y="0" width="2.132676237431396" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="24.955495076809193" y="0" width="2.132676237431396" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="31.624087192359603" y="0" width="2.132676237431396" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="38.292679307910014" y="0" width="2.132676237431396" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="44.94535592915125" y="0" width="2.148591731740591" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="51.61394804470166" y="0" width="2.148591731740591" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="58.28254016025207" y="0" width="2.132676237431396" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="64.9511322758025" y="0" width="2.1326762374313892" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="71.61972439135292" y="0" width="2.132676237431403" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="78.28831650690331" y="0" width="2.132676237431403" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="84.95690862245372" y="0" width="2.132676237431403" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="91.62550073800413" y="0" width="2.132676237431403" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="98.27817735924538" y="0" width="1.721822640754629" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<rect x="0.0" y="0" width="0.0" height="10" stroke-width="0.15" stroke="black" fill="url(#hatch_b)" fill-opacity="0.4"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 52.688243910571956 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 46.01965179502153 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 92.69183885671984 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 86.02324674116943 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 79.35465462561902 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 72.68606251006861 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 12.684648964424058 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 6.016056848873644 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 59.348878278967774 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 39.35901742662571 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 32.6904253110753 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 26.02183319552489 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 19.353241079974474 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 66.01747039451818 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 99.13908867962269 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 0.2148591731740587 0 v 10"/>
<path stroke="#ad1f1f" stroke-width="0.2" fill="none" d="M 0.0 0 v 10"/>
</g>
<g transform="translate(0 84.0)">
<path fill="none" stroke-width="0.15" stroke="black" d="
M 0 0 v 10 h 100 v -10 Z
"/>
<path fill="none" stroke-width="0.15" stroke="black" d="M 0.0 10 v 1.2 M 1.3888888888888888 10 v 0.8 M 2.7777777777777777 10 v 0.8 M 4.166666666666667 10 v 0.8 M 5.555555555555555 10 v 0.8 M 6.944444444444445 10 v 0.8 M 8.333333333333334 10 v 0.8 M 9.722222222222221 10 v 0.8 M 11.11111111111111 10 v 0.8 M 12.5 10 v 1.2 M 13.88888888888889 10 v 0.8 M 15.277777777777779 10 v 0.8 M 16.666666666666668 10 v 0.8 M 18.055555555555557 10 v 0.8 M 19.444444444444443 10 v 0.8 M 20.833333333333332 10 v 0.8 M 22.22222222222222 10 v 0.8 M 23.61111111111111 10 v 0.8 M 25.0 10 v 1.2 M 26.38888888888889 10 v 0.8 M 27.77777777777778 10 v 0.8 M 29.166666666666668 10 v 0.8 M 30.555555555555557 10 v 0.8 M 31.944444444444443 10 v 0.8 M 33.333333333333336 10 v 0.8 M 34.72222222222222 10 v 0.8 M 36.111111111111114 10 v 0.8 M 37.5 10 v 1.2 M 38.888888888888886 10 v 0.8 M 40.27777777777778 10 v 0.8 M 41.666666666666664 10 v 0.8 M 43.05555555555556 10 v 0.8 M 44.44444444444444 10 v 0.8 M 45.833333333333336 10 v 0.8 M 47.22222222222222 10 v 0.8 M 48.611111111111114 10 v 0.8 M 50.0 10 v 1.2 M 51.388888888888886 10 v 0.8 M 52.77777777777778 10 v 0.8 M 54.166666666666664 10 v 0.8 M 55.55555555555556 10 v 0.8 M 56.94444444444444 10 v 0.8 M 58.333333333333336 10 v 0.8 M 59.72222222222222 10 v 0.8 M 61.111111111111114 10 v 0.8 M 62.5 10 v 1.2 M 63.888888888888886 10 v 0.8 M 65.27777777777777 10 v 0.8 M 66.66666666666667 10 v 0.8 M 68.05555555555556 10 v 0.8 M 69.44444444444444 10 v 0.8 M 70.83333333333333 10 v 0.8 M 72.22222222222223 10 v 0.8 M 73.61111111111111 10 v 0.8 M 75.0 10 v 1.2 M 76.38888888888889 10 v 0.8 M 77.77777777777777 10 v 0.8 M 79.16666666666667 10 v 0.8 M 80.55555555555556 10 v 0.8 M 81.94444444444444 10 v 0.8 M 83.33333333333333 10 v 0.8 M 84.72222222222223 10 v 0.8 M 86.11111111111111 10 v 0.8 M 87.5 10 v 1.2 M 88.88888888888889 10 v 0.8 M 90.27777777777777 10 v 0.8 M 91.66666666666667 10 v 0.8 M 93.05555555555556 10 v 0.8 M 94.44444444444444 10 v 0.8 M 95.83333333333333 10 v 0.8 M 97.22222222222223 10 v 0.8 M 98.61111111111111 10 v 0.8 M 100.0 10 v 1.2"/>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
</text>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
45°
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
45°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
90°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
90°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
135°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
135°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
180°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
180°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
225°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
225°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
270°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
270°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
315°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
315°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
360°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
360°
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
First intersection
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
First intersection
</text>
<rect x="83.33333333333333" y="0" width="1.0034343851945737" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="3.333333333333335" y="0" width="1.0034343851945842" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="23.333333333333332" y="0" width="1.0034343851945806" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="43.33333333333334" y="0" width="1.0034343851945737" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="63.33333333333334" y="0" width="1.0034343851945877" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="25.40679649342245" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
<rect x="58.740129826755776" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
<rect x="92.0734631600891" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
</g>
<g transform="translate(0 104.0)">
<path fill="none" stroke-width="0.15" stroke="black" d="
M 0 0 v 10 h 100 v -10 Z
"/>
<path fill="none" stroke-width="0.15" stroke="black" d="M 0.0 10 v 1.2 M 1.3888888888888888 10 v 0.8 M 2.7777777777777777 10 v 0.8 M 4.166666666666667 10 v 0.8 M 5.555555555555555 10 v 0.8 M 6.944444444444445 10 v 0.8 M 8.333333333333334 10 v 0.8 M 9.722222222222221 10 v 0.8 M 11.11111111111111 10 v 0.8 M 12.5 10 v 1.2 M 13.88888888888889 10 v 0.8 M 15.277777777777779 10 v 0.8 M 16.666666666666668 10 v 0.8 M 18.055555555555557 10 v 0.8 M 19.444444444444443 10 v 0.8 M 20.833333333333332 10 v 0.8 M 22.22222222222222 10 v 0.8 M 23.61111111111111 10 v 0.8 M 25.0 10 v 1.2 M 26.38888888888889 10 v 0.8 M 27.77777777777778 10 v 0.8 M 29.166666666666668 10 v 0.8 M 30.555555555555557 10 v 0.8 M 31.944444444444443 10 v 0.8 M 33.333333333333336 10 v 0.8 M 34.72222222222222 10 v 0.8 M 36.111111111111114 10 v 0.8 M 37.5 10 v 1.2 M 38.888888888888886 10 v 0.8 M 40.27777777777778 10 v 0.8 M 41.666666666666664 10 v 0.8 M 43.05555555555556 10 v 0.8 M 44.44444444444444 10 v 0.8 M 45.833333333333336 10 v 0.8 M 47.22222222222222 10 v 0.8 M 48.611111111111114 10 v 0.8 M 50.0 10 v 1.2 M 51.388888888888886 10 v 0.8 M 52.77777777777778 10 v 0.8 M 54.166666666666664 10 v 0.8 M 55.55555555555556 10 v 0.8 M 56.94444444444444 10 v 0.8 M 58.333333333333336 10 v 0.8 M 59.72222222222222 10 v 0.8 M 61.111111111111114 10 v 0.8 M 62.5 10 v 1.2 M 63.888888888888886 10 v 0.8 M 65.27777777777777 10 v 0.8 M 66.66666666666667 10 v 0.8 M 68.05555555555556 10 v 0.8 M 69.44444444444444 10 v 0.8 M 70.83333333333333 10 v 0.8 M 72.22222222222223 10 v 0.8 M 73.61111111111111 10 v 0.8 M 75.0 10 v 1.2 M 76.38888888888889 10 v 0.8 M 77.77777777777777 10 v 0.8 M 79.16666666666667 10 v 0.8 M 80.55555555555556 10 v 0.8 M 81.94444444444444 10 v 0.8 M 83.33333333333333 10 v 0.8 M 84.72222222222223 10 v 0.8 M 86.11111111111111 10 v 0.8 M 87.5 10 v 1.2 M 88.88888888888889 10 v 0.8 M 90.27777777777777 10 v 0.8 M 91.66666666666667 10 v 0.8 M 93.05555555555556 10 v 0.8 M 94.44444444444444 10 v 0.8 M 95.83333333333333 10 v 0.8 M 97.22222222222223 10 v 0.8 M 98.61111111111111 10 v 0.8 M 100.0 10 v 1.2"/>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
</text>
<text x="0.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
45°
</text>
<text x="12.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
45°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
90°
</text>
<text x="25.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
90°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
135°
</text>
<text x="37.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
135°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
180°
</text>
<text x="50.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
180°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
225°
</text>
<text x="62.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
225°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
270°
</text>
<text x="75.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
270°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
315°
</text>
<text x="87.5" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
315°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
360°
</text>
<text x="100.0" y="12.2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="hanging" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
360°
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="white" stroke-width="1" stroke-linejoin="round" fill="white">
Second intersection
</text>
<text x="50.0" y="-2" font-family="sans-serif" font-size="2.000px" text-anchor="middle" dominant-baseline="auto" stroke="none" stroke-width="1" stroke-linejoin="round" fill="black">
Second intersection
</text>
<rect x="16.666666666666664" y="0" width="1.0034343851945842" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="36.66666666666666" y="0" width="1.0034343851945877" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="56.66666666666666" y="0" width="1.0034343851945877" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="76.66666666666667" y="0" width="1.0034343851945877" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<rect x="96.66666666666667" y="0" width="1.0034343851945877" height="10" stroke-width="0.15" stroke="#ad1f1f" fill="url(#hatch_1)" fill-opacity="0.4"/>
<g style="mix-blend-mode:screen">
<rect x="79.96969132772145" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
<rect x="13.303024661054797" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
<rect x="46.63635799438812" y="0" width="1.1479685064347767" height="10" stroke-width="0.15" stroke="#1f1fad" fill="url(#hatch_2)" fill-opacity="0.4"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<svg width="206.0mm" height="166.0mm" viewBox="-83.0 -83.0 206.0 166.0" style="background-color:white" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<pattern id="hatch_1" patternUnits="userSpaceOnUse" width="4" height="4" patternTransform="rotate(-45) scale(0.15)">
<path stroke="#ad1f1f" stroke-width="1" d="M -1,1 l 2,-2 M 0,4 l 4,-4 M 3,5 l2,-2"/>
</pattern>
<pattern id="hatch_2" patternUnits="userSpaceOnUse" width="4" height="4" patternTransform="scale(0.15)">
<path stroke="#1f1fad" stroke-width="1" d="M -1,1 l 2,-2 M 0,4 l 4,-4 M 3,5 l2,-2"/>
</pattern>
<pattern id="hatch_b" patternUnits="userSpaceOnUse" width="4" height="4" patternTransform="scale(0.15)">
<path stroke="black" stroke-width="1" d="M -1,1 l 2,-2 M 0,4 l 4,-4 M 3,5 l2,-2"/>
</pattern>
</defs>
<circle cx="0" cy="0" fill="none" stroke="url(#hatch_1)" stroke-opacity="0.4" r="80.07727757643787" stroke-width="1.7545551528757386"/>
<circle cx="0" cy="0" fill="none" stroke="#ad1f1f" r="79.2" stroke-width="0.15"/>
<circle cx="0" cy="0" fill="none" stroke="#ad1f1f" r="80.95455515287574" stroke-width="0.15"/>
<g>
<rect x="79.2" y="-5.000000000000001" width="1.6" height="10.000000000000002" fill="#ad1f1f" transform="rotate(3.6123637867005014 0 0)"/>
<rect x="79.2" y="-5.000000000000003" width="1.6" height="10.000000000000005" fill="#ad1f1f" transform="rotate(75.6123637867005 0 0)"/>
<rect x="79.2" y="-4.999999999999985" width="1.6" height="9.99999999999997" fill="#ad1f1f" transform="rotate(147.61236378670048 0 0)"/>
<rect x="79.2" y="-4.999999999999985" width="1.6" height="9.99999999999997" fill="#ad1f1f" transform="rotate(219.61236378670048 0 0)"/>
<rect x="79.2" y="-5.00000000000002" width="1.6" height="10.00000000000004" fill="#ad1f1f" transform="rotate(291.61236378670054 0 0)"/>
<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="360 0 0" to="0 0 0" dur="10s" repeatCount="indefinite"/>
</g>
<circle cx="50.0" cy="0" fill="none" stroke="url(#hatch_2)" stroke-opacity="0.4" r="70.08816704198739" stroke-width="1.776334083974774"/>
<circle cx="50.0" cy="0" fill="none" stroke="#1f1fad" r="69.2" stroke-width="0.15"/>
<circle cx="50.0" cy="0" fill="none" stroke="#1f1fad" r="70.97633408397478" stroke-width="0.15"/>
<g>
<rect x="119.2" y="-4.999999999999998" width="1.6" height="9.999999999999996" fill="#1f1fad" transform="rotate(193.81036470122424 50.0 0)"/>
<rect x="119.2" y="-4.999999999999998" width="1.6" height="9.999999999999996" fill="#1f1fad" transform="rotate(313.8103647012243 50.0 0)"/>
<rect x="119.2" y="-4.999999999999998" width="1.6" height="9.999999999999996" fill="#1f1fad" transform="rotate(73.81036470122422 50.0 0)"/>
<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="360 50.0 0" to="0 50.0 0" dur="10s" repeatCount="indefinite"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

@ -0,0 +1 @@
Subproject commit 3a7edbd1127cacc8f4c90376595b894105f3d479

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 42 KiB

View file

@ -0,0 +1 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -0,0 +1 @@
3a7edbd

View file

@ -15,6 +15,14 @@
file = {/home/jaseg/Zotero/storage/7C2Z5Y9P/Adhikari et al. - 2022 - Don't Look Up Ubiquitous Data Exfiltration Pathwa.pdf}
}
@article{albertiniHowAbuseFix,
title = {How to {{Abuse}} and {{Fix Authenticated Encryption Without Key Commitment}}},
author = {Albertini, Ange and Duong, Thai and Gueron, Shay and Kölbl, Stefan and Luykx, Atul and Schmieg, Sophie},
abstract = {Authenticated encryption (AE) is used in a wide variety of applications, potentially in settings for which it was not originally designed. Recent research tries to understand what happens when AE is not used as prescribed by its designers. A question given relatively little attention is whether an AE scheme guarantees “key commitment”: ciphertext should only decrypt to a valid plaintext under the key used to generate the ciphertext. Generally, AE schemes do not guarantee key commitment as it is not part of AEs design goal. Nevertheless, one would not expect this seemingly obscure property to have much impact on the security of actual products. In reality, however, products do rely on key commitment. We discuss three recent applications where missing key commitment is exploitable in practice. We provide proof-of-concept attacks via a tool that constructs AES-GCM ciphertext which can be decrypted to two plaintexts valid under a wide variety of file formats, such as PDF, Windows executables, and DICOM. Finally we discuss two solutions to add key commitment to AE schemes which have not been analyzed in the literature: a generic approach that adds an explicit key commitment scheme to the AE scheme, and a simple fix which works for AE schemes like AES-GCM and ChaCha20Poly1305, but requires separate analysis for each scheme.},
langid = {english},
file = {/home/jaseg/Zotero/storage/586UJPWU/Albertini et al. - How to Abuse and Fix Authenticated Encryption With.pdf}
}
@article{alomairInformationTheoreticallySecure,
title = {Information {{Theoretically Secure Encryption}} with {{Almost Free Authentication}}},
author = {Alomair, Basel},
@ -649,6 +657,25 @@
file = {/home/jaseg/Zotero/storage/LZU2NVHW/Castryck and Decru - 2023 - An Efficient Key Recovery Attack on SIDH.pdf}
}
@incollection{chanCommittingAuthenticatedEncryption2022,
title = {On {{Committing Authenticated-Encryption}}},
booktitle = {Computer {{Security}} {{ESORICS}} 2022},
author = {Chan, John and Rogaway, Phillip},
editor = {Atluri, Vijayalakshmi and Di Pietro, Roberto and Jensen, Christian D. and Meng, Weizhi},
date = {2022},
volume = {13555},
pages = {275--294},
publisher = {Springer Nature Switzerland},
location = {Cham},
doi = {10.1007/978-3-031-17146-8_14},
url = {https://link.springer.com/10.1007/978-3-031-17146-8_14},
urldate = {2024-08-26},
abstract = {We provide a strong definition for committing authenticatedencryption (cAE), as well as a framework that encompasses earlier and weaker definitions. The framework attends not only to what is committed but also the extent to which the adversary knows or controls keys. We slot into our framework strengthened cAE-attacks on GCM and OCB. Our main result is a simple and efficient construction, CTX, that makes a nonce-based AE (nAE) scheme committing. The transformed scheme achieves the strongest security notion in our framework. Just the same, the added computational cost (on top of the nAE schemes cost) is a single hash over a short string, a cost independent of the plaintexts length. And there is no increase in ciphertext length compared to the base nAE scheme. That such a thing is possible, let alone easy, upends the (incorrect) intuition that you cant commit to a plaintext or ciphertext without hashing one or the other. And it motivates a simple and practical tweak to AE-schemes to make them committing.},
isbn = {978-3-031-17145-1 978-3-031-17146-8},
langid = {english},
file = {/home/jaseg/Zotero/storage/EPWFII67/Chan and Rogaway - 2022 - On Committing Authenticated-Encryption.pdf}
}
@inproceedings{chatterjeeARDWAugmentedReality2022,
title = {{{ARDW}}: {{An Augmented Reality Workbench}} for {{Printed Circuit Board Debugging}}},
shorttitle = {{{ARDW}}},
@ -1167,6 +1194,24 @@
file = {/home/jaseg/Zotero/storage/Z5G4ZLGR/Gonzalez et al. - 2013 - Information Theoretically Secure, Enhanced Johnson.pdf}
}
@article{gonzalezLayerLayerPatterned2022,
title = {Layer by {{Layer}}, {{Patterned Valves Enable Programmable Soft Surfaces}}},
author = {Gonzalez, Jesse T. and Hudson, Scott E.},
date = {2022-03-29},
journaltitle = {Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies},
shortjournal = {Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.},
volume = {6},
number = {1},
pages = {1--25},
issn = {2474-9567},
doi = {10.1145/3517251},
url = {https://dl.acm.org/doi/10.1145/3517251},
urldate = {2024-08-02},
abstract = {Programmable surfaces, which can be instructed to alter their shape or texture, may one day serve as a platform for tangible interfaces and adaptive environments. But so far, these structures have been constrained in scale by a challenging fabrication process, as the numerous constituent actuators must be built and assembled individually. We look towards emerging trends in mechanical engineering and consider an alternate framework — layer-driven design, which enables the production of dynamic, discretely-actuated surfaces at multiple scales. By centering the construction around patterning and stacking, forgoing individual assembly in favor of bulk processes such as photo-etching and laser cutting, we avoid the need for multiple manufacturing steps that are repeated for each of the many actuators that compose the surface. As an instance of this layer-driven model, we build an array of electrostatic valves, and use this composite material (which we refer to as Stoma-Board) to drive four types of pneumatic transducers. We also show how this technique may be readily industrialized, through integration with the highly mature and automated manufacturing processes of modern electronics. CCS Concepts: • Hardware → PCB design and layout; • Human-centered computing → Haptic devices; Interface design prototyping; • Computer systems organization → Robotics.},
langid = {english},
file = {/home/jaseg/Zotero/storage/MMG6X3Q8/Gonzalez and Hudson - 2022 - Layer by Layer, Patterned Valves Enable Programmab.pdf}
}
@incollection{goosInformationTheoreticallySecure1999,
title = {Information {{Theoretically Secure Communication}} in the {{Limited Storage Space Model}}},
booktitle = {Advances in {{Cryptology}} — {{CRYPTO}} 99},