desi76 0.1.0

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.
package/README.md ADDED
@@ -0,0 +1,37 @@
1
+ Desi76
2
+ ======
3
+
4
+
5
+ Presentation
6
+ ------------
7
+
8
+ *Desi76* is a *design library* based on [parametrix](https://charlyoleg2.github.io/parametrix/).
9
+
10
+ It contains the some 3D-shapes.
11
+
12
+
13
+ Links
14
+ -----
15
+
16
+ - [desi76-ui](https://MYNAME.github.io/parame76/) : public instance of the UI
17
+ - [sources](https://github.com/MYNAME/parame76) : git-repository
18
+ - [pkg](https://www.npmjs.com/package/desi76) : desi76 as npm-package
19
+ - [pkg-cli](https://www.npmjs.com/package/desi76-cli) : desi76-cli as npm-package
20
+ - [pkg-uis](https://www.npmjs.com/package/desi76-uis) : desi76-uis as npm-package
21
+
22
+
23
+ Getting started
24
+ ---------------
25
+
26
+ ```bash
27
+ git clone https://github.com/MYNAME/parame76
28
+ cd parame76
29
+ npm -w desi76 install
30
+ npm -w desi76 run ci
31
+ ```
32
+
33
+ Dependencies
34
+ ------------
35
+
36
+ *Desi76* runtime depends only on *Geometrix*. Use *desi76-ui* WebUI or *desi76-cli* CLI to visualize and export the designs in different formats like dxf, svg, gltf, stl, brep, step and others.
37
+
@@ -0,0 +1,7 @@
1
+ import { tPageDef } from 'geometrix';
2
+
3
+ declare const catamaranDef: tPageDef;
4
+
5
+ declare const voilaDef: tPageDef;
6
+
7
+ export { catamaranDef, voilaDef };
package/dist/index.js ADDED
@@ -0,0 +1,339 @@
1
+ // src/boat/catamaran.ts
2
+ import {
3
+ contour,
4
+ contourCircle,
5
+ ctrRectangle,
6
+ figure,
7
+ ffix,
8
+ pNumber,
9
+ pSectionSeparator,
10
+ EExtrude,
11
+ EBVolume,
12
+ initGeom
13
+ } from "geometrix";
14
+ var pDef = {
15
+ // partName is used in URL. Choose a name without slash, backslash and space.
16
+ partName: "catamaran",
17
+ params: [
18
+ //pNumber(name, unit, init, min, max, step)
19
+ pNumber("W1", "mm", 200, 10, 1e3, 1),
20
+ pNumber("W2", "mm", 100, 10, 1e3, 1),
21
+ pNumber("W3p", "%", 10, 1, 99, 1),
22
+ pNumber("L1", "mm", 300, 1, 1e3, 1),
23
+ pNumber("L2", "mm", 150, 1, 1e3, 1),
24
+ pNumber("L3", "mm", 200, 1, 1e3, 1),
25
+ pSectionSeparator("others"),
26
+ pNumber("H1", "mm", 120, 1, 1e3, 1),
27
+ pNumber("H2", "mm", 40, 1, 1e3, 1),
28
+ pNumber("H3", "mm", 100, 1, 1e3, 1),
29
+ pNumber("T1", "mm", 2, 0.1, 20, 0.1),
30
+ pNumber("T2", "mm", 5, 0.1, 30, 0.1),
31
+ pNumber("R21", "mm", 1, 0, 500, 1),
32
+ pNumber("R22", "mm", 3, 0, 500, 1),
33
+ pSectionSeparator("details"),
34
+ pNumber("D1", "mm", 50, 1, 500, 1),
35
+ pNumber("D4", "mm", 40, 1, 500, 1),
36
+ pNumber("L4", "mm", 40, 1, 500, 1)
37
+ ],
38
+ paramSvg: {
39
+ W1: "catamaran_top.svg",
40
+ W2: "catamaran_top.svg",
41
+ W3p: "catamaran_top.svg",
42
+ L1: "catamaran_top.svg",
43
+ L2: "catamaran_top.svg",
44
+ L3: "catamaran_top.svg",
45
+ H1: "catamaran_side.svg",
46
+ H2: "catamaran_side.svg",
47
+ H3: "catamaran_side.svg",
48
+ T1: "catamaran_front.svg",
49
+ T2: "catamaran_top.svg",
50
+ R21: "catamaran_top.svg",
51
+ R22: "catamaran_top.svg",
52
+ D1: "catamaran_front.svg",
53
+ D4: "catamaran_top.svg",
54
+ L4: "catamaran_top.svg"
55
+ },
56
+ sim: {
57
+ tMax: 180,
58
+ tStep: 0.5,
59
+ tUpdate: 500
60
+ // every 0.5 second
61
+ }
62
+ };
63
+ function pGeom(t, param, suffix = "") {
64
+ const rGeome = initGeom(pDef.partName + suffix);
65
+ const figFloatBase = figure();
66
+ const figFloatWall = figure();
67
+ const figCabineBase = figure();
68
+ const figCabineWall = figure();
69
+ const figCabineEnv = figure();
70
+ const figVault = figure();
71
+ rGeome.logstr += `${rGeome.partName} simTime: ${t}
72
+ `;
73
+ try {
74
+ let makeCtrFloat2 = function(x0, y0, dx1, dy1, px2, dy2, cr) {
75
+ const dx2 = dx1 * px2;
76
+ const dx2b = dx1 - dx2;
77
+ const rCtr = contour(x0, y0).addPointR(dx2, -dy2).addSegArc3(-pi2, true).addCornerRounded(cr).addPointR(dx2b, dy2).addSegArc3(-pi2, false).addSegStrokeR(0, dy1).addPointR(-dx2b, dy2).addSegArc3(pi2, true).addCornerRounded(cr).addPointR(-dx2, -dy2).addSegArc3(pi2, false).closeSegStroke();
78
+ return rCtr;
79
+ }, makeCtrU2 = function(x0, y0, iw, ih) {
80
+ const rCtr = contour(x0, y0).addSegStrokeR(iw, 0).addSegStrokeR(0, ih).addSegStrokeR(-T1, 0).addSegStrokeR(0, -ih + T1).addSegStrokeR(-iw + 2 * T1, 0).addSegStrokeR(0, ih - T1).addSegStrokeR(-T1, 0).closeSegStroke();
81
+ return rCtr;
82
+ }, makeCtrCabEnv2 = function(x0, Sx) {
83
+ const rCtr = contour(x0, param.H1).addSegStrokeR(Sx * T1, 0).addSegStrokeR(0, param.H2 - Y3).addSegStrokeRP(pi2 - Sx * a2, LH3 - Y3).addSegStrokeRP(pi2 - Sx * (a2 - pi2), T1).addSegStrokeRP(pi2 - Sx * (a2 + pi), LH3).closeSegStroke();
84
+ return rCtr;
85
+ }, makeCtrVault2 = function(x0, Sx) {
86
+ const rCtr = contour(x0, param.H1 - R1).addPointR(Sx * R1, R1).addSegArc(R1, false, Sx < 0 ? true : false).addSegStrokeR(0, T1).addSegStrokeR(-Sx * (T1 + R1), 0).addSegStrokeR(0, -T1 - R1).closeSegStroke();
87
+ return rCtr;
88
+ };
89
+ var makeCtrFloat = makeCtrFloat2, makeCtrU = makeCtrU2, makeCtrCabEnv = makeCtrCabEnv2, makeCtrVault = makeCtrVault2;
90
+ const pi = Math.PI;
91
+ const pi2 = pi / 2;
92
+ const W212 = param.W1 + 2 * param.W2;
93
+ const L212 = param.L1 + 2 * param.L2;
94
+ const R1 = param.D1 / 2;
95
+ const R4 = param.D4 / 2;
96
+ const W3p = param.W3p / 100;
97
+ const T1 = param.T1;
98
+ const T2 = param.T2;
99
+ const L1 = param.L1;
100
+ const L2 = param.L2;
101
+ const L3 = param.L3;
102
+ const W1 = param.W1;
103
+ const W2 = param.W2;
104
+ const W2b = W2 - 2 * T1;
105
+ const floatLength = L212 + 2 * L3;
106
+ const aEnv = Math.atan2(param.H3, L2);
107
+ const a2 = pi2 - aEnv;
108
+ const a3 = a2 / 2;
109
+ const Y3 = T1 * Math.tan(a3);
110
+ const LH3 = Math.sqrt(L2 ** 2 + param.H3 ** 2);
111
+ if (param.L4 < R4) {
112
+ throw `err089: L4 ${param.L4} is too small compare to D4 ${param.D4}`;
113
+ }
114
+ if (W1 < 2 * (R1 + R4)) {
115
+ throw `err109: W1 ${W1} is too small compare to D1 ${param.D1} and D4 ${param.D4}`;
116
+ }
117
+ rGeome.logstr += `cabine surface ${ffix(W212 * L212)} mm2
118
+ `;
119
+ rGeome.logstr += `float length ${ffix(floatLength)}, width W212 ${ffix(W212)} mm
120
+ `;
121
+ const ctrFloatExt1 = makeCtrFloat2(0, L3, W2, L212, 1 - W3p, L3, param.R21);
122
+ const ctrFloatInt1 = makeCtrFloat2(T1, L3, W2b, L212, 1 - W3p, L3 - T2, param.R22);
123
+ const ctrFloatExt2 = makeCtrFloat2(W2 + W1, L3, W2, L212, W3p, L3, param.R21);
124
+ const ctrFloatInt2 = makeCtrFloat2(W2 + W1 + T1, L3, W2b, L212, W3p, L3 - T2, param.R22);
125
+ figFloatWall.addMainOI([ctrFloatExt1, ctrFloatInt1]);
126
+ figFloatWall.addMainOI([ctrFloatExt2, ctrFloatInt2]);
127
+ figFloatBase.addMainO(ctrFloatExt1);
128
+ figFloatBase.addMainO(ctrFloatExt2);
129
+ const ctrCabineBase = ctrRectangle(0, param.L3, W212, L212);
130
+ const ctrCabineBaseHole = contourCircle(W212 / 2, L3 + T1 + param.L4, R4);
131
+ figCabineBase.addMainOI([ctrCabineBase, ctrCabineBaseHole]);
132
+ figCabineBase.mergeFigure(figFloatWall, true);
133
+ figCabineBase.addSecond(ctrRectangle(W2, param.L3, R1, L212));
134
+ figCabineBase.addSecond(ctrRectangle(W2 + W1 - R1, param.L3, R1, L212));
135
+ figFloatWall.addSecond(ctrCabineBase);
136
+ figFloatWall.addSecond(ctrCabineBaseHole);
137
+ figFloatBase.addSecond(ctrCabineBase);
138
+ figFloatBase.addSecond(ctrCabineBaseHole);
139
+ const ctrCabineWall = contour(L3, param.H1).addSegStrokeR(L212, 0).addSegStrokeR(0, param.H2).addSegStrokeR(-L2, param.H3).addSegStrokeR(-L1, 0).addSegStrokeR(-L2, -param.H3).closeSegStroke();
140
+ figCabineWall.addMainO(ctrCabineWall);
141
+ figCabineWall.addSecond(ctrRectangle(0, 0, floatLength, param.H1));
142
+ figCabineWall.addSecond(ctrRectangle(L3, param.H1 - R1, L212, R1));
143
+ figCabineWall.addSecond(ctrRectangle(L3, param.H1, L212, T1));
144
+ figCabineEnv.addMainO(makeCtrCabEnv2(L3, 1));
145
+ figCabineEnv.addMainO(makeCtrCabEnv2(L3 + L212, -1));
146
+ figCabineEnv.mergeFigure(figCabineWall, true);
147
+ figVault.addMainO(makeCtrVault2(W2, 1));
148
+ figVault.addMainO(makeCtrVault2(W2 + W1, -1));
149
+ figVault.addSecond(makeCtrU2(0, 0, W2, param.H1));
150
+ figVault.addSecond(makeCtrU2(W2 + W1, 0, W2, param.H1));
151
+ figVault.addSecond(makeCtrU2(0, param.H1, W212, param.H2 + param.H3));
152
+ rGeome.fig = {
153
+ faceFloatWall: figFloatWall,
154
+ faceFloatBase: figFloatBase,
155
+ faceCabineBase: figCabineBase,
156
+ faceCabineWall: figCabineWall,
157
+ faceCabineEnv: figCabineEnv,
158
+ faceVault: figVault
159
+ };
160
+ const designName = rGeome.partName;
161
+ rGeome.vol = {
162
+ extrudes: [
163
+ {
164
+ outName: `subpax_${designName}_floatB`,
165
+ face: `${designName}_faceFloatBase`,
166
+ extrudeMethod: EExtrude.eLinearOrtho,
167
+ length: T1,
168
+ rotate: [0, 0, 0],
169
+ translate: [0, 0, 0]
170
+ },
171
+ {
172
+ outName: `subpax_${designName}_floatW`,
173
+ face: `${designName}_faceFloatWall`,
174
+ extrudeMethod: EExtrude.eLinearOrtho,
175
+ length: param.H1,
176
+ rotate: [0, 0, 0],
177
+ translate: [0, 0, 0]
178
+ },
179
+ {
180
+ outName: `subpax_${designName}_cabineB`,
181
+ face: `${designName}_faceCabineBase`,
182
+ extrudeMethod: EExtrude.eLinearOrtho,
183
+ length: T1,
184
+ rotate: [0, 0, 0],
185
+ translate: [0, 0, param.H1]
186
+ },
187
+ {
188
+ outName: `subpax_${designName}_cabineW1`,
189
+ face: `${designName}_faceCabineWall`,
190
+ extrudeMethod: EExtrude.eLinearOrtho,
191
+ length: T1,
192
+ rotate: [pi2, 0, pi2],
193
+ translate: [0, 0, 0]
194
+ },
195
+ {
196
+ outName: `subpax_${designName}_cabineW2`,
197
+ face: `${designName}_faceCabineWall`,
198
+ extrudeMethod: EExtrude.eLinearOrtho,
199
+ length: T1,
200
+ rotate: [pi2, 0, pi2],
201
+ translate: [W212 - T1, 0, 0]
202
+ },
203
+ {
204
+ outName: `subpax_${designName}_cabineEnv`,
205
+ face: `${designName}_faceCabineEnv`,
206
+ extrudeMethod: EExtrude.eLinearOrtho,
207
+ length: W212,
208
+ rotate: [pi2, 0, pi2],
209
+ translate: [0, 0, 0]
210
+ },
211
+ {
212
+ outName: `subpax_${designName}_vault`,
213
+ face: `${designName}_faceVault`,
214
+ extrudeMethod: EExtrude.eLinearOrtho,
215
+ length: L212,
216
+ rotate: [pi2, 0, 0],
217
+ translate: [0, L212 + L3, 0]
218
+ }
219
+ ],
220
+ volumes: [
221
+ {
222
+ outName: `pax_${designName}`,
223
+ boolMethod: EBVolume.eUnion,
224
+ inList: [
225
+ `subpax_${designName}_floatB`,
226
+ `subpax_${designName}_floatW`,
227
+ `subpax_${designName}_cabineB`,
228
+ `subpax_${designName}_cabineW1`,
229
+ `subpax_${designName}_cabineW2`,
230
+ `subpax_${designName}_cabineEnv`,
231
+ `subpax_${designName}_vault`
232
+ ]
233
+ }
234
+ ]
235
+ };
236
+ rGeome.sub = {};
237
+ rGeome.logstr += "catamaran drawn successfully!\n";
238
+ rGeome.calcErr = false;
239
+ } catch (emsg) {
240
+ rGeome.logstr += emsg;
241
+ console.log(emsg);
242
+ }
243
+ return rGeome;
244
+ }
245
+ var catamaranDef = {
246
+ pTitle: "catamaran",
247
+ pDescription: "A box",
248
+ pDef,
249
+ pGeom
250
+ };
251
+
252
+ // src/boat/voila.ts
253
+ import {
254
+ contour as contour2,
255
+ contourCircle as contourCircle2,
256
+ figure as figure2,
257
+ pNumber as pNumber2,
258
+ pSectionSeparator as pSectionSeparator2,
259
+ EExtrude as EExtrude2,
260
+ EBVolume as EBVolume2,
261
+ initGeom as initGeom2
262
+ } from "geometrix";
263
+ var pDef2 = {
264
+ partName: "voila",
265
+ params: [
266
+ //pNumber(name, unit, init, min, max, step)
267
+ pNumber2("H1", "mm", 40, 1, 4e3, 1),
268
+ pNumber2("H2", "mm", 50, 1, 4e3, 1),
269
+ pNumber2("radius", "mm", 10, 1, 4e3, 1),
270
+ pSectionSeparator2("corners"),
271
+ pNumber2("Rc", "mm", 10, 0, 400, 1)
272
+ ],
273
+ paramSvg: {
274
+ H1: "voila_face.svg",
275
+ H2: "voila_face.svg",
276
+ radius: "voila_face.svg",
277
+ Rc: "voila_face.svg"
278
+ },
279
+ sim: {
280
+ tMax: 180,
281
+ tStep: 0.5,
282
+ tUpdate: 500
283
+ // every 0.5 second
284
+ }
285
+ };
286
+ function pGeom2(t, param, suffix = "") {
287
+ const rGeome = initGeom2(pDef2.partName + suffix);
288
+ const figFace = figure2();
289
+ rGeome.logstr += `${rGeome.partName} simTime: ${t}
290
+ `;
291
+ try {
292
+ const face1 = [];
293
+ const ctrPoleFace = contour2(-param.H1 / 2, -param.H2 / 2).addCornerRounded(param.Rc).addSegStrokeA(param.H1 / 2, -param.H2 / 2).addSegStrokeA(param.H1 / 2, param.H2 / 2).addCornerRounded(param.Rc).addSegStrokeA(-param.H1 / 2, param.H2 / 2).closeSegStroke();
294
+ face1.push(ctrPoleFace);
295
+ face1.push(contourCircle2(0, 0, param.radius));
296
+ figFace.addMainOI(face1);
297
+ rGeome.fig = {
298
+ faceVoila: figFace
299
+ };
300
+ const designName = rGeome.partName;
301
+ rGeome.vol = {
302
+ extrudes: [
303
+ {
304
+ outName: `subpax_${designName}_top`,
305
+ face: `${designName}_faceVoila`,
306
+ extrudeMethod: EExtrude2.eLinearOrtho,
307
+ length: 10,
308
+ rotate: [0, 0, 0],
309
+ translate: [0, 0, 0]
310
+ }
311
+ ],
312
+ volumes: [
313
+ {
314
+ outName: `pax_${designName}`,
315
+ boolMethod: EBVolume2.eIdentity,
316
+ inList: [`subpax_${designName}_top`]
317
+ }
318
+ ]
319
+ };
320
+ rGeome.sub = {};
321
+ rGeome.logstr += "voila drawn successfully!\n";
322
+ rGeome.calcErr = false;
323
+ } catch (emsg) {
324
+ rGeome.logstr += emsg;
325
+ console.log(emsg);
326
+ }
327
+ return rGeome;
328
+ }
329
+ var voilaDef = {
330
+ pTitle: "voila",
331
+ pDescription: "A simple design for testing exports",
332
+ pDef: pDef2,
333
+ pGeom: pGeom2
334
+ };
335
+ export {
336
+ catamaranDef,
337
+ voilaDef
338
+ };
339
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="533.913" height="323.205" viewBox="0 0 141.265 85.515"><defs><marker id="b" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="c" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="e" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="f" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="h" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="i" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="k" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="l" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="m" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="q" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="p" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="o" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="u" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="w" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="y" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><path id="a" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="d" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="g" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="j" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="n" d="M215.139 988.836h42.426v31.736h-42.426z"/><path id="t" d="M456.378 1180.158h51.024v46.299h-51.024z"/><path id="s" d="M285.354 1213.228h72.756v36.85h-72.756z"/><path id="r" d="M411.024 1179.213h57.638v43.465h-57.638z"/><path id="v" d="M139.306 538.849h59.13v27.393h-59.13z"/><path id="x" d="M139.306 538.849h59.13v27.393h-59.13z"/><path id="z" d="M139.306 538.849h59.13v27.393h-59.13z"/></defs><g transform="translate(-5.3677089,-468.86771)"><path d="M5.5 469h141v85.25H5.5z" style="fill:#fff;fill-opacity:1;stroke:#fff;stroke-width:.264583;stroke-linejoin:round"/><path d="M17.049 475.427h101.596v29.126H17.049z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M20.322 475.427h94.798v25.626H20.322z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M17.049 504.553h28.41v29.126h-28.41z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M20.086 504.553h22.267v25.626H20.086z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M90.235 504.553h28.41v29.126h-28.41z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M93.271 504.553h22.267v25.626H93.271z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><ellipse cx="53.942" cy="512.839" rx="8.442" ry="8.223" style="fill:none;stroke:#e6e6e6;stroke-width:.264583;stroke-linejoin:round"/><ellipse cx="81.78" cy="512.759" rx="8.442" ry="8.223" style="fill:none;stroke:#e6e6e6;stroke-width:.264583;stroke-linejoin:round"/><path d="m45.46 504.553.04 8.286s.392-2.616.952-3.794c.354-.744.893-1.403 1.48-1.981.615-.604 1.315-1.153 2.098-1.512 1.219-.558 3.912-.936 3.912-.936l-8.483-.063M90.235 504.553l-.04 8.286s-.393-2.616-.953-3.794c-.354-.744-.892-1.403-1.48-1.981-.615-.604-1.314-1.153-2.098-1.512-1.219-.558-3.911-.936-3.911-.936l8.482-.063" style="fill:#ff8080;fill-opacity:1;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#a);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-84.148326,274.07815)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M31.254 534.022v5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#b)"/><path d="M31.294 529.994v-5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#d);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-85.789964,257.70472)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M29.113 504.774v5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#e)"/><path d="M29.152 500.746v-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#f)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#g);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-105.76096,232.44666)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M20.691 486.154h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#h)"/><path d="M16.663 486.115h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#i)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#j);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-105.95807,262.07885)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M20.494 515.786h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#k)"/><path d="M16.731 515.835h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#l)"/><path d="M17.05 551.666v-17.854M45.46 551.534v-17.855M90.235 551.666v-17.854M118.645 551.666v-17.854" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M86.697 507.67 76.9 525.8" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#m)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#n);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,16.595511,263.5394)"><tspan x="215.139" y="1003.072">D1</tspan></text><path d="M118.513 533.68h19.398M118.513 504.553h19.398" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M17.203 497.151H137.91" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264581;stroke-linejoin:round"/><path d="M134.207 504.553v29.126" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#o);marker-end:url(#o)"/><path d="M128.222 497.526v6.844" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#p);marker-end:url(#p)"/><path d="M132.106 475.737v20.742" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#q);marker-end:url(#q)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#r);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,26.570218,204.56271)"><tspan x="411.023" y="1193.449">H1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#s);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,53.570219,177.56271)"><tspan x="285.354" y="1227.465">H2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#t);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,12.292872,169.56137)"><tspan x="456.379" y="1194.395">H3</tspan></text><path d="M118.777 475.163h19.399" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M45.6 543.356h44.262" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#u);marker-end:url(#u)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#v);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,28.884002,400.57609)"><tspan x="139.305" y="553.086">W1</tspan></text><path d="M90.698 547.669h27.47" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#w);marker-end:url(#w)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#x);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,65.773585,404.91776)"><tspan x="139.305" y="553.086">W2</tspan></text><path d="M17.528 547.994H45" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#y);marker-end:url(#y)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#z);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-7.3956928,405.24242)"><tspan x="139.305" y="553.086">W2</tspan></text></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="524.094" height="351.079" viewBox="0 0 138.666 92.89"><defs><marker id="b" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="c" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="d" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="e" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="f" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="m" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="n" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="p" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="q" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="s" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="t" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><path id="k" d="M456.378 1180.158h51.024v46.299h-51.024z"/><path id="j" d="M285.354 1213.228h72.756v36.85h-72.756z"/><path id="i" d="M411.024 1179.213h57.638v43.465h-57.638z"/><path id="a" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="g" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="h" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="l" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="o" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="r" d="M16.035 815.456h48.286v21.38H16.035z"/></defs><path d="M14.348 336.875H152.75V429.5H14.348z" style="fill:#fff;fill-opacity:1;stroke:#fff;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none" transform="translate(-14.215858,-336.74271)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#a);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,67.446638,124.44924)"><tspan x="16.035" y="829.692">L1</tspan></text><path d="M24.172 391.241h100.889v29.126H24.172z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round" transform="translate(-14.215858,-336.74271)"/><path d="M45.1 391.24v-7.49l8.83-18.25h41.372l8.83 18.25v7.49z" style="fill:#ff8080;fill-opacity:1;stroke:#666;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none" transform="translate(-14.215858,-336.74271)"/><path d="M48.04 388.24v-4.5l8.693-18.24h35.766l8.692 18.24v4.5z" style="fill:#ffd5d5;fill-opacity:1;stroke:#666;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none" transform="translate(-14.215858,-336.74271)"/><path d="M27.422 391.241h94.139v25.626H27.422z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round" transform="translate(-14.215858,-336.74271)"/><path d="M125.192 420.367h19.399M125.192 391.24h19.399" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round" transform="translate(-14.215858,-336.74271)"/><path d="M104.133 383.838h40.458M95.302 365.5h49.289M24.172 391.108v-45.873" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264582;stroke-linejoin:round" transform="translate(-14.215858,-336.74271)"/><path d="M45.1 383.75v-38.515M53.93 365.5v-20.265M95.17 365.368v-20.266" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round" transform="translate(-14.215858,-336.74271)"/><path d="M24.172 357.406h20.927" style="fill:#ff8080;fill-opacity:1;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#b);marker-end:url(#b)" transform="translate(-14.215858,-336.74271)"/><path d="M45.591 351.584h7.846" style="fill:#ff8080;fill-opacity:1;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c);marker-end:url(#c)" transform="translate(-14.215858,-336.74271)"/><path d="M54.197 346.122h40.838" style="fill:#ff8080;fill-opacity:1;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#d);marker-end:url(#d)" transform="translate(-14.215858,-336.74271)"/><path d="M140.887 391.24v29.127" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#b);marker-end:url(#b)" transform="translate(-14.215858,-336.74271)"/><path d="M134.902 384.213v6.844" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#e);marker-end:url(#e)" transform="translate(-14.215858,-336.74271)"/><path d="M130.063 365.88v17.583" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#f);marker-end:url(#f)" transform="translate(-14.215858,-336.74271)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#g);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,42.727888,129.84474)"><tspan x="16.035" y="829.692">L2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#h);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,27.275798,136.41148)"><tspan x="16.035" y="829.692">L3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#i);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,33.250001,91.250002)"><tspan x="411.023" y="1193.449">H1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#j);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,60.250002,64.250002)"><tspan x="285.354" y="1227.465">H2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#k);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,10.25,59.750002)"><tspan x="456.379" y="1194.395">H3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#l);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,-38.844611,131.89911)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M76.433 391.677v5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#m)" transform="translate(-14.215858,-336.74271)"/><path d="M76.597 387.815v-5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#n)" transform="translate(-14.215858,-336.74271)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#o);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,-21.109194,160.57203)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M94.294 420.516v5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#p)" transform="translate(-14.215858,-336.74271)"/><path d="M94.333 416.488v-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#q)" transform="translate(-14.215858,-336.74271)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#r);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="translate(-14.215858,-336.74271) matrix(0.26458333,0,0,0.26458333,11.210687,185.74057)"><tspan x="16.035" y="829.692">T2</tspan></text><path d="M23.899 406.98h-5.126" style="fill:purple;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#s)" transform="translate(-14.215858,-336.74271)"/><path d="M27.927 407.019h5.127" style="fill:purple;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#t)" transform="translate(-14.215858,-336.74271)"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="423.362" height="483.835" viewBox="0 0 112.015 128.015"><defs><marker id="a" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="b" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="c" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="d" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="e" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="g" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="h" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="i" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="f" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="j" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="v" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="z" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="A" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="B" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="C" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="D" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="F" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="G" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><path id="w" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="u" d="M215.139 988.836h42.426v31.736h-42.426z"/><path id="o" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="l" d="M227.833 553.086h43.429v25.517h-43.429z"/><path id="k" d="M139.306 538.849h59.13v27.393h-59.13z"/><path id="m" d="M227.833 553.086h43.429v25.517h-43.429z"/><path id="n" d="M227.833 553.086h43.429v25.517h-43.429z"/><path id="p" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="q" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="r" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="s" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="t" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="x" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="y" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="E" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="H" d="M437.293 938.392h50.887v36.484h-50.887z"/><path id="I" d="M437.293 938.392h50.887v36.484h-50.887z"/></defs><g transform="translate(-9.867708,-177.3677)"><path d="M10 177.5h111.75v127.75H10z" style="fill:#fff;fill-opacity:1;stroke:#fff;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none"/><path d="M45.28 296.757c-5.485-4.117-8.588-8.983-9.446-14.815-.243-1.65-.277-5.704-.276-33.234.001-33.215-.01-32.738.804-35.912.69-2.692 2.923-6.47 5.29-8.951 1.165-1.222 5.606-4.805 5.926-4.782.102.007 2.207 2.568 3.317 4.035 1.626 2.15 3.465 6.328 4.483 10.19l.42 1.59v67.882l-.49 1.744c-1.517 5.388-3.651 9.366-6.963 12.978l-.855.934zm3.541-3.346c1.664-2.522 2.375-3.936 3.263-6.496.903-2.603 1.472-5.13 1.678-7.462.246-2.774.238-58.749-.009-61.557-.327-3.73-1.881-8.827-3.561-11.68-1.143-1.94-2.783-4.331-2.971-4.331-.247 0-2.748 2.237-3.872 3.462-2.809 3.064-4.835 7.504-5.403 11.84-.401 3.06-.401 60.027 0 63.087.563 4.294 2.543 8.661 5.34 11.773.944 1.052 3.721 3.53 3.955 3.53.083 0 .794-.975 1.58-2.166zM92.48 296.757c5.485-4.117 8.587-8.983 9.446-14.815.242-1.65.276-5.704.275-33.234-.001-33.215.01-32.738-.804-35.912-.69-2.692-2.923-6.47-5.29-8.951-1.165-1.222-5.606-4.805-5.925-4.782-.103.007-2.208 2.568-3.318 4.035-1.626 2.15-3.465 6.328-4.483 10.19l-.42 1.59v67.882l.49 1.744c1.517 5.388 3.651 9.366 6.963 12.978l.856.934zm-3.542-3.346c-1.664-2.522-2.374-3.936-3.263-6.496-.903-2.603-1.472-5.13-1.678-7.462-.246-2.774-.237-58.749.009-61.557.327-3.729 1.882-8.827 3.562-11.68 1.142-1.94 2.782-4.331 2.97-4.331.247 0 2.749 2.237 3.872 3.462 2.809 3.064 4.835 7.504 5.403 11.84.402 3.06.402 60.027 0 63.087-.562 4.294-2.543 8.661-5.34 11.773-.944 1.052-3.721 3.53-3.955 3.53-.083 0-.794-.975-1.58-2.166zM55.798 217.176h26.163v63.126H55.798z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 217.176h66.297v2.287H35.731z" style="fill:#ffd5d5;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 217.176h66.297v19.081H35.731zM35.516 278.015h66.728v2.287H35.516z" style="fill:#ffd5d5;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.516 261.221h66.728v19.081H35.516z" style="fill:#ffd5d5;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><circle cx="68.88" cy="268.847" r="4.243" style="fill:#fff;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 217.176v-31.113M55.798 217.176v-31.113M81.961 217.176v-31.113M102.028 217.176v-31.112M47.578 199.063v-6.894M16.333 199.195h31.112M16.333 217.176H35.73M16.2 236.257H35.6M16.164 261.221h19.398M16.305 280.302h19.398M16.377 298.416H47.49" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 186.063h20.067" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#a);marker-end:url(#a)"/><path d="M81.961 186.063h20.067" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#b);marker-end:url(#b)"/><path d="M56.369 190.403h25.143" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c);marker-end:url(#c)"/><path d="M47.82 196.503h7.604" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#d);marker-end:url(#d)"/><path d="M21.983 217.084v-17.796" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#e);marker-end:url(#e)"/><path d="M20.406 298.098v-17.796" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#f);marker-end:url(#f)"/><path d="M26.792 236.24v-19.046" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#g);marker-end:url(#g)"/><path d="M23.152 260.876v-24.273" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#h);marker-end:url(#h)"/><path d="M28.972 280.038v-18.553" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#i);marker-end:url(#i)"/><path d="M68.88 268.98h45.166M102.376 278.015h11.67" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M110.513 277.64v-8.286" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#j);marker-end:url(#j)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#k);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,30.430719,43.401895)"><tspan x="139.305" y="553.086">W1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#l);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-17.29899,35.072152)"><tspan x="227.834" y="567.322">W2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#m);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,29.323076,34.93991)"><tspan x="227.834" y="567.322">W2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#n);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-12.057512,44.880094)"><tspan x="227.834" y="567.322">W3p</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#o);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,12.592555,30.610831)"><tspan x="16.035" y="829.692">L1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#p);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,15.386536,8.1416169)"><tspan x="16.035" y="829.692">L2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#q);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,17.161122,52.654985)"><tspan x="16.035" y="829.692">L2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#r);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,10.92163,-9.9208151)"><tspan x="16.035" y="829.692">L3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#s);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,9.4833301,71.23166)"><tspan x="16.035" y="829.692">L3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#t);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,107.15246,55.369905)"><tspan x="16.035" y="829.692">L4</tspan></text><path d="m66.316 273.214-3.005 16.617" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#a)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#u);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,2.7651651,27.583185)"><tspan x="215.139" y="1003.072">D4</tspan></text><path d="M99.879 248.018h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#a)"/><path d="M102.54 247.837h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#v)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#w);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-11.490486,-5.3916894)"><tspan x="437.293" y="952.629">T1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#x);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-68.933816,-0.28431224)"><tspan x="437.293" y="952.629">T1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#y);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-45.909831,-39.067003)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M53.574 252.505h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#z)"/><path d="M56.147 252.544h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#A)"/><path d="M69.493 219.819v5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#B)"/><path d="M69.532 216.849v-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#C)"/><path d="M90.182 199.063h19.398M90.538 201.885h19.399" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M109.58 201.737v-2.578" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#D);marker-end:url(#D)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#E);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,107.04456,-17.658576)"><tspan x="16.035" y="829.692">T2</tspan></text><path d="m90.917 202.851 18.369 12.219" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#F)"/><path d="m91 198.264 18.37-12.218" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#G)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#H);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-6.1450261,-65.444632)"><tspan x="437.293" y="952.629">R21</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#I);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-5.9102961,-35.001225)"><tspan x="437.293" y="952.629">R22</tspan></text></g></svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="600" height="6000" viewBox="0 0 158.75 1587.5"><defs><path id="aI" d="M358.583 2317.323h213.071v188.504H358.583z"/><path id="aH" d="M366.614 2460.472h57.638v32.598h-57.638z"/><path id="aG" d="M346.772 2432.564h48.189v30.271h-48.189z"/><path id="aF" d="M352.913 2465.669h40.157v29.764h-40.157z"/><path id="aE" d="M290.079 2505.354h60.945v43.465h-60.945z"/><path id="aD" d="M300 2405.197h54.803v24.567H300z"/><path id="N" d="M456.378 1180.158h51.024v46.299h-51.024z"/><path id="M" d="M285.354 1213.228h72.756v36.85h-72.756z"/><path id="L" d="M411.024 1179.213h57.638v43.465h-57.638z"/><path id="y" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="w" d="M215.139 988.836h42.426v31.736h-42.426z"/><path id="q" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="n" d="M227.833 553.086h43.429v25.517h-43.429z"/><path id="m" d="M139.306 538.849h59.13v27.393h-59.13z"/><path id="b" d="M20.621 18.595h254.251v36.954H20.621z"/><path id="o" d="M227.833 553.086h43.429v25.517h-43.429z"/><path id="p" d="M227.833 553.086h43.429v25.517h-43.429z"/><path id="r" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="s" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="t" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="u" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="v" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="z" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="A" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="a" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="J" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="K" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="O" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="R" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="U" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="X" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="aa" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="ad" d="M437.293 938.392H470.7v29.398h-33.407z"/><path id="ah" d="M215.139 988.836h42.426v31.736h-42.426z"/><path id="an" d="M456.378 1180.158h51.024v46.299h-51.024z"/><path id="am" d="M285.354 1213.228h72.756v36.85h-72.756z"/><path id="al" d="M411.024 1179.213h57.638v43.465h-57.638z"/><path id="ap" d="M139.306 538.849h59.13v27.393h-59.13z"/><path id="ar" d="M139.306 538.849h59.13v27.393h-59.13z"/><path id="at" d="M139.306 538.849h59.13v27.393h-59.13z"/><path id="av" d="M16.035 815.456h48.286v21.38H16.035z"/><path id="az" d="M437.293 938.392h50.887v36.484h-50.887z"/><path id="aA" d="M437.293 938.392h50.887v36.484h-50.887z"/><path id="aw" d="M16.035 815.456h48.286v21.38H16.035z"/><marker id="c" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="d" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="e" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="f" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="g" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="i" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="j" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="k" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="h" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="l" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="x" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="B" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="C" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="D" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="E" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="F" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="G" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="H" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="I" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="P" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="Q" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="S" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="T" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="V" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="W" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="Y" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="Z" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ab" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ac" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ae" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="af" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ag" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ak" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="aj" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ai" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ao" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="aq" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="as" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="au" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ax" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="ay" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="aB" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="aC" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker></defs><path d="M10 177.5h111.75v127.75H10z" style="fill:#fff;fill-opacity:1;stroke:#fff;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none"/><path d="M5.5 469h141v85.25H5.5z" style="fill:#fff;fill-opacity:1;stroke:#fff;stroke-width:.264583;stroke-linejoin:round"/><path d="M14.348 336.875H152.75V429.5H14.348z" style="fill:#fff;fill-opacity:1;stroke:#fff;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#a);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,67.446638,124.44924)"><tspan x="16.035" y="829.692">L1</tspan></text><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#b);display:inline" transform="scale(0.26458333)"><tspan x="20.621" y="31.941">src_catamaran.svg</tspan></text><circle cx="77.605" cy="62.579" r="22.981" style="fill:none;stroke:#999;stroke-width:.264583;stroke-linejoin:round"/><circle cx="40.771" cy="62.579" r="29.728" style="fill:none;stroke:#999;stroke-width:.264584;stroke-linejoin:round"/><path d="M54.624 62.579v56.215M70.499 62.579v56.215M54.624 62.579s.262-3.936.753-5.834c.465-1.797 1.181-3.538 2.056-5.175a21.5 21.5 0 0 1 2.685-3.901c1.159-1.343 3.897-3.622 3.897-3.622s2.586 3.572 3.505 5.562c1.226 2.651 2.066 5.494 2.62 8.363.292 1.512.359 4.607.359 4.607M54.624 118.794s.262 3.936.753 5.834c.465 1.797 1.181 3.538 2.056 5.175a21.5 21.5 0 0 0 2.685 3.901c1.159 1.342 3.897 3.622 3.897 3.622s2.586-3.573 3.505-5.562c1.226-2.651 2.066-5.495 2.62-8.363.292-1.512.359-4.607.359-4.607M133.074 76.447v56.215M148.95 76.447v56.215M133.074 76.447s.262-3.936.753-5.834c.465-1.797 1.181-3.538 2.056-5.175a21.5 21.5 0 0 1 2.685-3.902c1.159-1.342 3.897-3.622 3.897-3.622s2.586 3.573 3.505 5.562c1.226 2.652 2.066 5.495 2.62 8.363.292 1.513.36 4.608.36 4.608M133.074 132.662s.262 3.935.753 5.834c.465 1.797 1.181 3.537 2.056 5.175a21.5 21.5 0 0 0 2.685 3.9c1.159 1.343 3.897 3.623 3.897 3.623s2.586-3.573 3.505-5.562c1.226-2.652 2.066-5.495 2.62-8.363.292-1.513.36-4.607.36-4.607M130.51 74.422v60.264M151.424 74.422v60.264" style="fill:none;stroke:purple;stroke-width:.264583;stroke-linejoin:round"/><path d="M130.51 74.422s.345-4.219.992-6.254c.613-1.926 1.556-3.792 2.708-5.547a23.5 23.5 0 0 1 3.538-4.183c1.527-1.438 5.134-3.882 5.134-3.882s3.407 3.83 4.618 5.962c1.614 2.843 2.721 5.89 3.45 8.965.385 1.622.474 4.94.474 4.94M130.51 134.686s.345 4.219.992 6.254c.613 1.926 1.556 3.792 2.708 5.548a23.5 23.5 0 0 0 3.538 4.182c1.527 1.439 5.134 3.883 5.134 3.883s3.407-3.83 4.618-5.963c1.614-2.843 2.721-5.89 3.45-8.965.385-1.622.474-4.94.474-4.94" style="fill:none;stroke:purple;stroke-width:.264583;stroke-linejoin:round"/><path d="M45.28 296.757c-5.485-4.117-8.588-8.983-9.446-14.815-.243-1.65-.277-5.704-.276-33.234.001-33.215-.01-32.738.804-35.912.69-2.692 2.923-6.47 5.29-8.951 1.165-1.222 5.606-4.805 5.926-4.782.102.007 2.207 2.568 3.317 4.035 1.626 2.15 3.465 6.328 4.483 10.19l.42 1.59v67.882l-.49 1.744c-1.517 5.388-3.651 9.366-6.963 12.978l-.855.934zm3.541-3.346c1.664-2.522 2.375-3.936 3.263-6.496.903-2.603 1.472-5.13 1.678-7.462.246-2.774.238-58.749-.009-61.557-.327-3.73-1.881-8.827-3.561-11.68-1.143-1.94-2.783-4.331-2.971-4.331-.247 0-2.748 2.237-3.872 3.462-2.809 3.064-4.835 7.504-5.403 11.84-.401 3.06-.401 60.027 0 63.087.563 4.294 2.543 8.661 5.34 11.773.944 1.052 3.721 3.53 3.955 3.53.083 0 .794-.975 1.58-2.166zM92.48 296.757c5.485-4.117 8.587-8.983 9.446-14.815.242-1.65.276-5.704.275-33.234-.001-33.215.01-32.738-.804-35.912-.69-2.692-2.923-6.47-5.29-8.951-1.165-1.222-5.606-4.805-5.925-4.782-.103.007-2.208 2.568-3.318 4.035-1.626 2.15-3.465 6.328-4.483 10.19l-.42 1.59v67.882l.49 1.744c1.517 5.388 3.651 9.366 6.963 12.978l.856.934zm-3.542-3.346c-1.664-2.522-2.374-3.936-3.263-6.496-.903-2.603-1.472-5.13-1.678-7.462-.246-2.774-.237-58.749.009-61.557.327-3.729 1.882-8.827 3.562-11.68 1.142-1.94 2.782-4.331 2.97-4.331.247 0 2.749 2.237 3.872 3.462 2.809 3.064 4.835 7.504 5.403 11.84.402 3.06.402 60.027 0 63.087-.562 4.294-2.543 8.661-5.34 11.773-.944 1.052-3.721 3.53-3.955 3.53-.083 0-.794-.975-1.58-2.166zM55.798 217.176h26.163v63.126H55.798z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 217.176h66.297v2.287H35.731z" style="fill:#ffd5d5;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 217.176h66.297v19.081H35.731zM35.516 278.015h66.728v2.287H35.516z" style="fill:#ffd5d5;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.516 261.221h66.728v19.081H35.516z" style="fill:#ffd5d5;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><circle cx="68.88" cy="268.847" r="4.243" style="fill:#fff;fill-opacity:.5;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 217.176v-31.113M55.798 217.176v-31.113M81.961 217.176v-31.113M102.028 217.176v-31.112M47.578 199.063v-6.894M16.333 199.195h31.112M16.333 217.176H35.73M16.2 236.257H35.6M16.164 261.221h19.398M16.305 280.302h19.398M16.377 298.416H47.49" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M35.731 186.063h20.067" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c);marker-end:url(#c)"/><path d="M81.961 186.063h20.067" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#d);marker-end:url(#d)"/><path d="M56.369 190.403h25.143" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#e);marker-end:url(#e)"/><path d="M47.82 196.503h7.604" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#f);marker-end:url(#f)"/><path d="M21.983 217.084v-17.796" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#g);marker-end:url(#g)"/><path d="M20.406 298.098v-17.796" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#h);marker-end:url(#h)"/><path d="M26.792 236.24v-19.046" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#i);marker-end:url(#i)"/><path d="M23.152 260.876v-24.273" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#j);marker-end:url(#j)"/><path d="M28.972 280.038v-18.553" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#k);marker-end:url(#k)"/><path d="M68.88 268.98h45.166M102.376 278.015h11.67" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M110.513 277.64v-8.286" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#l);marker-end:url(#l)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#m);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,30.430719,43.401895)"><tspan x="139.305" y="553.086">W1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#n);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-17.29899,35.072152)"><tspan x="227.834" y="567.322">W2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#o);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,29.323076,34.93991)"><tspan x="227.834" y="567.322">W2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#p);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-12.057512,44.880094)"><tspan x="227.834" y="567.322">W3p</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#q);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,12.592555,30.610831)"><tspan x="16.035" y="829.692">L1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#r);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,15.386536,8.1416169)"><tspan x="16.035" y="829.692">L2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#s);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,17.161122,52.654985)"><tspan x="16.035" y="829.692">L2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#t);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,10.92163,-9.9208151)"><tspan x="16.035" y="829.692">L3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#u);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,9.4833301,71.23166)"><tspan x="16.035" y="829.692">L3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#v);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,107.15246,55.369905)"><tspan x="16.035" y="829.692">L4</tspan></text><path d="m66.316 273.214-3.005 16.617" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#w);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,2.7651651,27.583185)"><tspan x="215.139" y="1003.072">D4</tspan></text><path d="M99.879 248.018h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c)"/><path d="M102.54 247.837h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#x)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#y);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-11.490486,-5.3916894)"><tspan x="437.293" y="952.629">T1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#z);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-68.933816,-0.28431224)"><tspan x="437.293" y="952.629">T1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#A);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-45.909831,-39.067003)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M53.574 252.505h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#B)"/><path d="M56.147 252.544h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#C)"/><path d="M69.493 219.819v5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#D)"/><path d="M69.532 216.849v-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#E)"/><path d="M24.172 391.241h100.889v29.126H24.172z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M45.1 391.24v-7.49l8.83-18.25h41.372l8.83 18.25v7.49z" style="fill:#ff8080;fill-opacity:1;stroke:#666;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none"/><path d="M48.04 388.24v-4.5l8.693-18.24h35.766l8.692 18.24v4.5z" style="fill:#ffd5d5;fill-opacity:1;stroke:#666;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none"/><path d="M27.422 391.241h94.139v25.626H27.422z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M125.192 420.367h19.399M125.192 391.24h19.399" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M104.133 383.838h40.458M95.302 365.5h49.289M24.172 391.108v-45.873" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264582;stroke-linejoin:round"/><path d="M45.1 383.75v-38.515M53.93 365.5v-20.265M95.17 365.368v-20.266" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M24.172 357.406h20.927" style="fill:#ff8080;fill-opacity:1;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c);marker-end:url(#c)"/><path d="M45.591 351.584h7.846" style="fill:#ff8080;fill-opacity:1;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#F);marker-end:url(#F)"/><path d="M54.197 346.122h40.838" style="fill:#ff8080;fill-opacity:1;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#G);marker-end:url(#G)"/><path d="M140.887 391.24v29.127" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#c);marker-end:url(#c)"/><path d="M134.902 384.213v6.844" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#H);marker-end:url(#H)"/><path d="M130.063 365.88v17.583" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#I);marker-end:url(#I)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#J);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,42.727888,129.84474)"><tspan x="16.035" y="829.692">L2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#K);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,27.275798,136.41148)"><tspan x="16.035" y="829.692">L3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#L);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,33.250001,91.250002)"><tspan x="411.023" y="1193.449">H1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#M);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,60.250002,64.250002)"><tspan x="285.354" y="1227.465">H2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#N);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,10.25,59.750002)"><tspan x="456.379" y="1194.395">H3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#O);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-38.844611,131.89911)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M76.433 391.677v5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#P)"/><path d="M76.597 387.815v-5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#Q)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#R);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-21.109194,160.57203)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M94.294 420.516v5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#S)"/><path d="M94.333 416.488v-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#T)"/><path d="M17.049 475.427h101.596v29.126H17.049z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M20.322 475.427h94.798v25.626H20.322z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M17.049 504.553h28.41v29.126h-28.41z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M20.086 504.553h22.267v25.626H20.086z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M90.235 504.553h28.41v29.126h-28.41z" style="fill:#ff8080;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><path d="M93.271 504.553h22.267v25.626H93.271z" style="fill:#ffd5d5;stroke:#4d4d4d;stroke-width:.264582;stroke-linejoin:round"/><ellipse cx="53.942" cy="512.839" rx="8.442" ry="8.223" style="fill:none;stroke:#e6e6e6;stroke-width:.264583;stroke-linejoin:round"/><ellipse cx="81.78" cy="512.759" rx="8.442" ry="8.223" style="fill:none;stroke:#e6e6e6;stroke-width:.264583;stroke-linejoin:round"/><path d="m45.46 504.553.04 8.286s.392-2.616.952-3.794c.354-.744.893-1.403 1.48-1.981.615-.604 1.315-1.153 2.098-1.512 1.219-.558 3.912-.936 3.912-.936l-8.483-.063M90.235 504.553l-.04 8.286s-.393-2.616-.953-3.794c-.354-.744-.892-1.403-1.48-1.981-.615-.604-1.314-1.153-2.098-1.512-1.219-.558-3.911-.936-3.911-.936l8.482-.063" style="fill:#ff8080;fill-opacity:1;stroke:#4d4d4d;stroke-width:.264583;stroke-linejoin:round"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#U);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-84.148326,274.07815)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M31.254 534.022v5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#V)"/><path d="M31.294 529.994v-5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#W)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#X);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-85.789964,257.70472)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M29.113 504.774v5.126" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#Y)"/><path d="M29.152 500.746v-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#Z)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aa);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-105.76096,232.44666)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M20.691 486.154h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ab)"/><path d="M16.663 486.115h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ac)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#ad);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-105.95807,262.07885)"><tspan x="437.293" y="952.629">T1</tspan></text><path d="M20.494 515.786h5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ae)"/><path d="M16.731 515.835h-5.127" style="fill:purple;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#af)"/><path d="M17.05 551.666v-17.854M45.46 551.534v-17.855M90.235 551.666v-17.854M118.645 551.666v-17.854" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M86.697 507.67 76.9 525.8" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ag)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#ah);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,16.595511,263.5394)"><tspan x="215.139" y="1003.072">D1</tspan></text><path d="M118.513 533.68h19.398M118.513 504.553h19.398" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M17.203 497.151H137.91" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264581;stroke-linejoin:round"/><path d="M134.207 504.553v29.126" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ai);marker-end:url(#ai)"/><path d="M128.222 497.526v6.844" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#aj);marker-end:url(#aj)"/><path d="M132.106 475.737v20.742" style="fill:#ff8080;fill-opacity:1;stroke:maroon;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ak);marker-end:url(#ak)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#al);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,26.570218,204.56271)"><tspan x="411.023" y="1193.449">H1</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#am);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,53.570219,177.56271)"><tspan x="285.354" y="1227.465">H2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#an);display:inline;fill:maroon;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,12.292872,169.56137)"><tspan x="456.379" y="1194.395">H3</tspan></text><path d="M118.777 475.163h19.399" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M45.6 543.356h44.262" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ao);marker-end:url(#ao)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#ap);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,28.884002,400.57609)"><tspan x="139.305" y="553.086">W1</tspan></text><path d="M90.698 547.669h27.47" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#aq);marker-end:url(#aq)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#ar);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,65.773585,404.91776)"><tspan x="139.305" y="553.086">W2</tspan></text><path d="M17.528 547.994H45" style="fill:#fff;fill-opacity:.5;stroke:#00f;stroke-width:.264582;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#as);marker-end:url(#as)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#at);display:inline;fill:#00f;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-7.3956928,405.24242)"><tspan x="139.305" y="553.086">W2</tspan></text><path d="M90.182 199.063h19.398M90.538 201.885h19.399" style="fill:#fff;fill-opacity:.5;stroke:#b3b3b3;stroke-width:.264583;stroke-linejoin:round"/><path d="M109.58 201.737v-2.578" style="fill:#fff;fill-opacity:.5;stroke:green;stroke-width:.264584;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#au);marker-end:url(#au)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#av);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,107.04456,-17.658576)"><tspan x="16.035" y="829.692">T2</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aw);display:inline;fill:green;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,11.210687,185.74057)"><tspan x="16.035" y="829.692">T2</tspan></text><path d="m90.917 202.851 18.369 12.219" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ax)"/><path d="m91 198.264 18.37-12.218" style="fill:green;fill-opacity:.5;stroke:purple;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#ay)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#az);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-6.1450261,-65.444632)"><tspan x="437.293" y="952.629">R21</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aA);display:inline;fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-5.9102961,-35.001225)"><tspan x="437.293" y="952.629">R22</tspan></text><path d="M23.899 406.98h-5.126" style="fill:purple;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#aB)"/><path d="M27.927 407.019h5.127" style="fill:purple;fill-opacity:.5;stroke:green;stroke-width:.264583;stroke-linejoin:round;stroke-dasharray:none;marker-start:url(#aC)"/><path d="M37 640h18.25v36.5H37z" style="fill:none;stroke:gray;stroke-width:.264583;stroke-linejoin:round"/><path d="M465.341 404.439h18.25v36.5h-18.25z" style="fill:none;stroke:gray;stroke-width:.264583;stroke-linejoin:round" transform="rotate(43.233588)"/><path d="M46.625 639.875s.843-2.619.5-3.875c-.375-1.375-2.625-3.375-2.625-3.375" style="fill:none;stroke:purple;stroke-width:.264583;stroke-linejoin:round;marker-end:url(#c)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aD);fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-31.750001,-5.8750002)"><tspan x="300" y="2419.434">aEnv</tspan></text><path d="M37 676.5h18.25" style="fill:none;stroke:purple;stroke-width:.264583;stroke-linejoin:round;marker-start:url(#c);marker-end:url(#c)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aE);fill:purple;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-32.596195,8.1250003)"><tspan x="290.078" y="2519.592">T1</tspan></text><path d="M40.625 643.375s1.521-.723 2-1.375c.335-.457.5-1.625.5-1.625" style="fill:none;stroke:#d4aa00;stroke-width:.264583;stroke-linejoin:round;marker-end:url(#c)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aF);fill:#d4aa00;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-50.875002,-11.75)"><tspan x="352.914" y="2479.906">a2</tspan></text><path d="M55.25 647.232h18.375M55.382 640h18.375" style="fill:#d4aa00;stroke:#f60;stroke-width:.264583;stroke-linejoin:round"/><path d="m70.582 640-.132 7.232" style="fill:#d4aa00;stroke:#a40;stroke-width:.264583;stroke-linejoin:round;marker-start:url(#c);marker-end:url(#c)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aG);fill:#a40;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-20.404168,-2.4333334)"><tspan x="346.771" y="2446.801">Y3</tspan></text><path d="m37 640 42.375 16.875" style="fill:#a40;stroke:#ccc;stroke-width:.264583;stroke-linejoin:round"/><path d="M65.25 651.25s1.31-1.02 1.625-1.75c.248-.575.125-1.875.125-1.875" style="fill:none;stroke:#a40;stroke-width:.264583;stroke-linejoin:round;marker-end:url(#c)"/><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aH);fill:#a40;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="matrix(0.26458333,0,0,0.26458333,-29.750001,-3.3750001)"><tspan x="366.613" y="2474.709">a3</tspan></text><text xml:space="preserve" style="font-size:16px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;text-decoration-color:#000;white-space:pre;shape-inside:url(#aI);fill:#000;stroke-width:1;-inkscape-stroke:none;stop-color:#000" transform="scale(0.26458333)"><tspan x="358.582" y="2331.559">aEnv = atan2(H3, L2)
2
+ </tspan><tspan x="358.582" y="2351.559">a2 = pi2 - aEnv
3
+ </tspan><tspan x="358.582" y="2371.559">a3 = a2 / 2
4
+ </tspan><tspan x="358.582" y="2391.559">Y3 = T1*tan(a3)</tspan></text></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="600" height="2000" viewBox="0 0 158.75 529.167"><defs><path id="h" d="M197.141 325.036h49.599v31.96h-49.599z"/><path id="g" d="M12.224 258.196h62.043v37.148H12.224z"/><path id="f" d="M15.299 180.795H64.08v32.226H15.299z"/><path id="e" d="M180.648 59.142h60.528v30.722h-60.528z"/><path id="a" d="M20.621 18.595h254.251v36.954H20.621z"/><marker id="b" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="c" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M-.211-4.106 6.21-.894a1 1 90 0 1 0 1.788L-.21 4.106A1.236 1.236 31.717 0 1-2 3v-6A1.236 1.236 148.283 0 1-.211-4.106" style="fill:context-stroke;fill-rule:evenodd;stroke:none" transform="scale(0.7)"/></marker><marker id="d" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M-.211-4.106 6.21-.894a1 1 90 0 1 0 1.788L-.21 4.106A1.236 1.236 31.717 0 1-2 3v-6A1.236 1.236 148.283 0 1-.211-4.106" style="fill:context-stroke;fill-rule:evenodd;stroke:none" transform="scale(0.7)"/></marker><marker id="i" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker></defs><path d="M22.364 19.996h85.643V91.68H22.364z" style="fill:#fff;stroke:#fff;stroke-width:.264583;stroke-linejoin:bevel"/><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#a)" transform="scale(0.26458333)"><tspan x="20.621" y="31.941">voila.svg</tspan></text><path d="M27.88 35.39h61.654v41.817H27.88z" style="fill:none;stroke:green;stroke-width:.264583;stroke-linejoin:bevel"/><circle cx="58.707" cy="56.298" r="14.695" style="fill:none;stroke:green;stroke-width:.264583;stroke-linejoin:bevel"/><path d="M27.88 35.39v-9.646M89.534 35.257v-9.645M89.666 35.39h9.646M89.666 77.472h9.646" style="fill:none;stroke:#ccc;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m28.218 25.744 61.208-.132" style="fill:none;stroke:#000;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#b);marker-end:url(#b)"/><path d="m99.246 35.759.132 41.517" style="fill:none;stroke:#000;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#b);marker-end:url(#b)"/><path d="m58.707 56.298 6.141-11.735" style="fill:none;stroke:#000;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#c);marker-end:url(#d)"/><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#e)" transform="matrix(0.26458333,0,0,0.26458333,9.7402343,5.6616211)"><tspan x="180.648" y="72.487">H1</tspan></text><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#f)" transform="matrix(0.26458333,0,0,0.26458333,95.940917,6.309082)"><tspan x="15.299" y="194.14">H2</tspan></text><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#g)" transform="matrix(0.26458333,0,0,0.26458333,59.398474,-19.460009)"><tspan x="12.225" y="271.542">radius</tspan></text><text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:14.6667px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;white-space:pre;shape-inside:url(#h);shape-padding:0;shape-margin:0;inline-size:0;opacity:1;vector-effect:none;fill:#000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000;stop-opacity:1" transform="matrix(0.26458333,0,0,0.26458333,11.5625,0.90039065)"><tspan x="197.141" y="338.085">Rc</tspan></text><path d="m29.053 77.897 33.886 10.345" style="fill:#fff;stroke:#999;stroke-width:.264583;marker-start:url(#b)"/><path d="M87.924 37.294 67.68 87.7" style="fill:#fff;stroke:#999;stroke-width:.264583;marker-start:url(#i)"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="324.688" height="271.93" viewBox="0 0 85.907 71.948"><defs><marker id="a" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><marker id="b" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M-.211-4.106 6.21-.894a1 1 90 0 1 0 1.788L-.21 4.106A1.236 1.236 31.717 0 1-2 3v-6A1.236 1.236 148.283 0 1-.211-4.106" style="fill:context-stroke;fill-rule:evenodd;stroke:none" transform="scale(0.7)"/></marker><marker id="c" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M-.211-4.106 6.21-.894a1 1 90 0 1 0 1.788L-.21 4.106A1.236 1.236 31.717 0 1-2 3v-6A1.236 1.236 148.283 0 1-.211-4.106" style="fill:context-stroke;fill-rule:evenodd;stroke:none" transform="scale(0.7)"/></marker><marker id="h" markerHeight="1" markerWidth="1" orient="auto-start-reverse" preserveAspectRatio="xMidYMid" refX="0" refY="0" style="overflow:visible" viewBox="0 0 1 1"><path d="M3-3 0 0l3 3" style="fill:none;stroke:context-stroke;stroke-width:1;stroke-linecap:butt" transform="rotate(180,0.125,0)"/></marker><path id="g" d="M197.141 325.036h49.599v31.96h-49.599z"/><path id="f" d="M12.224 258.196h62.043v37.148H12.224z"/><path id="e" d="M15.299 180.795H64.08v32.226H15.299z"/><path id="d" d="M180.648 59.142h60.528v30.722h-60.528z"/></defs><g transform="translate(-22.231966,-19.863804)"><path d="M22.364 19.996h85.643V91.68H22.364z" style="fill:#fff;stroke:#fff;stroke-width:.264583;stroke-linejoin:bevel"/><path d="M27.88 35.39h61.654v41.817H27.88z" style="fill:none;stroke:green;stroke-width:.264583;stroke-linejoin:bevel"/><circle cx="58.707" cy="56.298" r="14.695" style="fill:none;stroke:green;stroke-width:.264583;stroke-linejoin:bevel"/><path d="M27.88 35.39v-9.646M89.534 35.257v-9.645M89.666 35.39h9.646M89.666 77.472h9.646" style="fill:none;stroke:#ccc;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><path d="m28.218 25.744 61.208-.132" style="fill:none;stroke:#000;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#a);marker-end:url(#a)"/><path d="m99.246 35.759.132 41.517" style="fill:none;stroke:#000;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#a);marker-end:url(#a)"/><path d="m58.707 56.298 6.141-11.735" style="fill:none;stroke:#000;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#b);marker-end:url(#c)"/><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#d)" transform="matrix(0.26458333,0,0,0.26458333,9.7402343,5.6616211)"><tspan x="180.648" y="72.487">H1</tspan></text><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#e)" transform="matrix(0.26458333,0,0,0.26458333,95.940917,6.309082)"><tspan x="15.299" y="194.14">H2</tspan></text><text xml:space="preserve" style="font-size:14.6667px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#f)" transform="matrix(0.26458333,0,0,0.26458333,59.398474,-19.460009)"><tspan x="12.225" y="271.542">radius</tspan></text><text xml:space="preserve" style="font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:14.6667px;line-height:normal;font-family:&quot;Liberation Mono&quot;;-inkscape-font-specification:&quot;Liberation Mono&quot;;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;white-space:pre;shape-inside:url(#g);shape-padding:0;shape-margin:0;inline-size:0;opacity:1;vector-effect:none;fill:#000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000;stop-opacity:1" transform="matrix(0.26458333,0,0,0.26458333,11.5625,0.90039065)"><tspan x="197.141" y="338.085">Rc</tspan></text><path d="m29.053 77.897 33.886 10.345" style="fill:#fff;stroke:#999;stroke-width:.264583;marker-start:url(#a)"/><path d="M87.924 37.294 67.68 87.7" style="fill:#fff;stroke:#999;stroke-width:.264583;marker-start:url(#h)"/></g></svg>
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "desi76",
3
+ "version": "0.1.0",
4
+ "description": "A collection of 3D-designs",
5
+ "private": false,
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/MYNAME/parame76.git"
9
+ },
10
+ "homepage": "https://MYNAME.github.io/parame76/",
11
+ "author": "MYNAME",
12
+ "license": "ISC",
13
+ "keywords": [
14
+ "parametrix",
15
+ "3D",
16
+ "CAD"
17
+ ],
18
+ "type": "module",
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "default": "./dist/index.js"
23
+ }
24
+ },
25
+ "files": [
26
+ "dist",
27
+ "!dist/**/*.map",
28
+ "!dist/**/*.test.*",
29
+ "!dist/**/*.spec.*"
30
+ ],
31
+ "tsup": {
32
+ "entry": [
33
+ "src/index.ts"
34
+ ],
35
+ "format": "esm",
36
+ "splitting": false,
37
+ "dts": true,
38
+ "sourcemap": true,
39
+ "clean": true
40
+ },
41
+ "scripts": {
42
+ "dev": "tsup --watch",
43
+ "build": "tsup",
44
+ "check": "tsc --noEmit",
45
+ "pretty": "prettier --check .",
46
+ "format": "prettier --write .",
47
+ "lint": "eslint .",
48
+ "test:unit": "vitest",
49
+ "test:unit:once": "vitest --run",
50
+ "ci": "run-s check build pretty lint test:unit:once svgo",
51
+ "svgo1": "svgo --config ./svgo.config.js -f src/boat/svg -o dist/pgdsvg/",
52
+ "svgo": "run-s svgo1",
53
+ "browserBundleA": "esbuild src/boat/catamaran.ts --bundle --format=esm --outfile=dist2/catamaran.js",
54
+ "browserBundleAll": "esbuild dist/index.js --bundle --format=esm --outfile=dist2/desi76.js",
55
+ "clean": "rimraf dist dist2 node_modules"
56
+ },
57
+ "dependencies": {
58
+ "geometrix": "^1.0.21"
59
+ },
60
+ "devDependencies": {
61
+ "@eslint/js": "^9.10.0",
62
+ "@types/eslint__js": "^8.42.3",
63
+ "esbuild": "^0.25.5",
64
+ "eslint": "^9.29.0",
65
+ "eslint-config-prettier": "^10.1.5",
66
+ "npm-run-all2": "^8.0.4",
67
+ "prettier": "^3.5.3",
68
+ "rimraf": "^6.0.1",
69
+ "svgo": "^3.3.2",
70
+ "tsup": "^8.5.0",
71
+ "typescript": "^5.8.3",
72
+ "typescript-eslint": "^8.34.1",
73
+ "vitest": "^3.2.4"
74
+ }
75
+ }