Browse Source

update SubmarineFree modules to v0.6.8

pull/1639/head
bsp2 7 years ago
parent
commit
25efcb8ccd
100 changed files with 10046 additions and 1313 deletions
  1. +1
    -1
      plugins/community/repos/SubmarineFree/Makefile
  2. +10
    -1
      plugins/community/repos/SubmarineFree/README.md
  3. +22
    -15
      plugins/community/repos/SubmarineFree/make.objects
  4. +5
    -0
      plugins/community/repos/SubmarineFree/manual/AG.md
  5. BIN
      plugins/community/repos/SubmarineFree/manual/AO-118.png
  6. +64
    -0
      plugins/community/repos/SubmarineFree/manual/AO-example-osc.md
  7. BIN
      plugins/community/repos/SubmarineFree/manual/AO-example-osc.png
  8. BIN
      plugins/community/repos/SubmarineFree/manual/AO-example-square.png
  9. +230
    -0
      plugins/community/repos/SubmarineFree/manual/AO-list.md
  10. +19
    -0
      plugins/community/repos/SubmarineFree/manual/AO.md
  11. +4
    -0
      plugins/community/repos/SubmarineFree/manual/BB.md
  12. +46
    -0
      plugins/community/repos/SubmarineFree/manual/EO.md
  13. BIN
      plugins/community/repos/SubmarineFree/manual/EO.png
  14. +9
    -0
      plugins/community/repos/SubmarineFree/manual/FF.md
  15. +5
    -0
      plugins/community/repos/SubmarineFree/manual/LD.md
  16. +6
    -1
      plugins/community/repos/SubmarineFree/manual/NG.md
  17. +5
    -0
      plugins/community/repos/SubmarineFree/manual/OG.md
  18. +4
    -0
      plugins/community/repos/SubmarineFree/manual/PG.md
  19. BIN
      plugins/community/repos/SubmarineFree/manual/PO-204.png
  20. +1
    -1
      plugins/community/repos/SubmarineFree/manual/PO.md
  21. +24
    -0
      plugins/community/repos/SubmarineFree/manual/SS.md
  22. BIN
      plugins/community/repos/SubmarineFree/manual/SS.png
  23. BIN
      plugins/community/repos/SubmarineFree/manual/TD-202.png
  24. +25
    -0
      plugins/community/repos/SubmarineFree/manual/TD.md
  25. BIN
      plugins/community/repos/SubmarineFree/manual/TD.png
  26. +12
    -0
      plugins/community/repos/SubmarineFree/manual/TF.md
  27. BIN
      plugins/community/repos/SubmarineFree/manual/TF.png
  28. +10
    -0
      plugins/community/repos/SubmarineFree/manual/TM.md
  29. BIN
      plugins/community/repos/SubmarineFree/manual/TM.png
  30. +5
    -0
      plugins/community/repos/SubmarineFree/manual/XG.md
  31. +20
    -0
      plugins/community/repos/SubmarineFree/manual/index.md
  32. +100
    -0
      plugins/community/repos/SubmarineFree/res/AG-104.svg
  33. +424
    -0
      plugins/community/repos/SubmarineFree/res/AO-106.svg
  34. +475
    -0
      plugins/community/repos/SubmarineFree/res/AO-112.svg
  35. +562
    -0
      plugins/community/repos/SubmarineFree/res/AO-118.svg
  36. +649
    -0
      plugins/community/repos/SubmarineFree/res/AO-124.svg
  37. +823
    -0
      plugins/community/repos/SubmarineFree/res/AO-136.svg
  38. +0
    -30
      plugins/community/repos/SubmarineFree/res/Components/sub_knob_large.svg
  39. +0
    -33
      plugins/community/repos/SubmarineFree/res/Components/sub_knob_large_a.svg
  40. +0
    -33
      plugins/community/repos/SubmarineFree/res/Components/sub_knob_med.svg
  41. +0
    -33
      plugins/community/repos/SubmarineFree/res/Components/sub_knob_med_a.svg
  42. +0
    -30
      plugins/community/repos/SubmarineFree/res/Components/sub_knob_small.svg
  43. +0
    -30
      plugins/community/repos/SubmarineFree/res/Components/sub_knob_small_a.svg
  44. +649
    -0
      plugins/community/repos/SubmarineFree/res/EO-102.svg
  45. +108
    -0
      plugins/community/repos/SubmarineFree/res/FF-206.svg
  46. +145
    -0
      plugins/community/repos/SubmarineFree/res/LD-103.svg
  47. +104
    -0
      plugins/community/repos/SubmarineFree/res/NG-106.svg
  48. +100
    -0
      plugins/community/repos/SubmarineFree/res/OG-104.svg
  49. +96
    -0
      plugins/community/repos/SubmarineFree/res/PG-104.svg
  50. +76
    -0
      plugins/community/repos/SubmarineFree/res/SS-112.svg
  51. +165
    -0
      plugins/community/repos/SubmarineFree/res/SS-208.svg
  52. +104
    -0
      plugins/community/repos/SubmarineFree/res/SS-212.svg
  53. +153
    -0
      plugins/community/repos/SubmarineFree/res/SS-220.svg
  54. +414
    -0
      plugins/community/repos/SubmarineFree/res/SS-221.svg
  55. +181
    -0
      plugins/community/repos/SubmarineFree/res/TD-116.svg
  56. +81
    -0
      plugins/community/repos/SubmarineFree/res/TD-202.svg
  57. +329
    -0
      plugins/community/repos/SubmarineFree/res/TF-101.svg
  58. +109
    -0
      plugins/community/repos/SubmarineFree/res/TM-105.svg
  59. +100
    -0
      plugins/community/repos/SubmarineFree/res/XG-104.svg
  60. +0
    -91
      plugins/community/repos/SubmarineFree/src/AG-106.cpp
  61. +97
    -0
      plugins/community/repos/SubmarineFree/src/AG1.cpp
  62. +449
    -0
      plugins/community/repos/SubmarineFree/src/AO1.cpp
  63. +0
    -89
      plugins/community/repos/SubmarineFree/src/BB-120.cpp
  64. +107
    -0
      plugins/community/repos/SubmarineFree/src/BB1.cpp
  65. +0
    -147
      plugins/community/repos/SubmarineFree/src/BP.cpp
  66. +64
    -0
      plugins/community/repos/SubmarineFree/src/BP1.cpp
  67. +62
    -0
      plugins/community/repos/SubmarineFree/src/ComponentLibrary/Port.cpp
  68. +51
    -50
      plugins/community/repos/SubmarineFree/src/ComponentLibrary/components.hpp
  69. +1
    -1
      plugins/community/repos/SubmarineFree/src/DS.cpp
  70. +457
    -0
      plugins/community/repos/SubmarineFree/src/EO1.cpp
  71. +0
    -75
      plugins/community/repos/SubmarineFree/src/FF-110.cpp
  72. +0
    -87
      plugins/community/repos/SubmarineFree/src/FF-120.cpp
  73. +0
    -90
      plugins/community/repos/SubmarineFree/src/FF-212.cpp
  74. +134
    -0
      plugins/community/repos/SubmarineFree/src/FF1.cpp
  75. +131
    -0
      plugins/community/repos/SubmarineFree/src/FF2.cpp
  76. +14
    -15
      plugins/community/repos/SubmarineFree/src/LA1.cpp
  77. +0
    -123
      plugins/community/repos/SubmarineFree/src/LD-106.cpp
  78. +168
    -0
      plugins/community/repos/SubmarineFree/src/LD1.cpp
  79. +0
    -77
      plugins/community/repos/SubmarineFree/src/NG-112.cpp
  80. +74
    -0
      plugins/community/repos/SubmarineFree/src/NG1.cpp
  81. +0
    -82
      plugins/community/repos/SubmarineFree/src/OG-106.cpp
  82. +87
    -0
      plugins/community/repos/SubmarineFree/src/OG1.cpp
  83. +0
    -102
      plugins/community/repos/SubmarineFree/src/PG-112.cpp
  84. +90
    -0
      plugins/community/repos/SubmarineFree/src/PG1.cpp
  85. +509
    -0
      plugins/community/repos/SubmarineFree/src/PO12.cpp
  86. +174
    -0
      plugins/community/repos/SubmarineFree/src/SS1.cpp
  87. +76
    -0
      plugins/community/repos/SubmarineFree/src/SubmarineFree.cpp
  88. +8
    -0
      plugins/community/repos/SubmarineFree/src/SubmarineFree.hpp
  89. +254
    -0
      plugins/community/repos/SubmarineFree/src/TD1.cpp
  90. +179
    -0
      plugins/community/repos/SubmarineFree/src/TD2.cpp
  91. +133
    -0
      plugins/community/repos/SubmarineFree/src/TF1.cpp
  92. +137
    -0
      plugins/community/repos/SubmarineFree/src/TM1.cpp
  93. +29
    -0
      plugins/community/repos/SubmarineFree/src/UpdateRing.hpp
  94. +55
    -44
      plugins/community/repos/SubmarineFree/src/WK12.cpp
  95. +5
    -5
      plugins/community/repos/SubmarineFree/src/XF-101.cpp
  96. +5
    -5
      plugins/community/repos/SubmarineFree/src/XF-102.cpp
  97. +5
    -5
      plugins/community/repos/SubmarineFree/src/XF-104.cpp
  98. +8
    -8
      plugins/community/repos/SubmarineFree/src/XF-201.cpp
  99. +8
    -8
      plugins/community/repos/SubmarineFree/src/XF-202.cpp
  100. +1
    -1
      plugins/community/repos/SubmarineFree/src/XF.hpp

+ 1
- 1
plugins/community/repos/SubmarineFree/Makefile View File

@@ -2,7 +2,7 @@
SLUG = SubmarineFree

# Must follow the format in the Versioning section of https://vcvrack.com/manual/PluginDevelopmentTutorial.html
VERSION = 0.6.4
VERSION = 0.6.8

# FLAGS will be passed to both the C and C++ compiler
FLAGS +=


+ 10
- 1
plugins/community/repos/SubmarineFree/README.md View File

@@ -1,9 +1,16 @@
# SubmarineFree
Free plugins for VCV Rack

[.plan (what I'm working on)](https://github.com/david-c14/SubmarineFree/issues/23)

# [Manual](https://github.com/david-c14/SubmarineFree/blob/master/manual/index.md)

# [Builds](https://github.com/david-c14/SubmarineFree/issues/9)
# [Builds](https://github.com/david-c14/SubmarineFree/releases/tag/v0.6.8)
###### [0.6.8](https://github.com/david-c14/SubmarineFree/releases/tag/v0.6.8)
###### [0.6.7](https://github.com/david-c14/SubmarineFree/releases/tag/v0.6.7)
###### [0.6.6](https://github.com/david-c14/SubmarineFree/issues/20)
###### [0.6.5](https://github.com/david-c14/SubmarineFree/issues/19)
###### [0.6.4](https://github.com/david-c14/SubmarineFree/issues/14)
###### [0.6.3](https://github.com/david-c14/SubmarineFree/issues/9)
###### [0.6.2](https://github.com/david-c14/SubmarineFree/issues/4)

@@ -11,3 +18,5 @@ Free plugins for VCV Rack
Source code licensed under BSD-3-Clause by carbon14 (David O'Rourke)

All graphics in res/ and src/res are © 2018 by carbon14 (David O'Rourke)

Some portions of this source code are based on code © 2016 by Andrew Belt

+ 22
- 15
plugins/community/repos/SubmarineFree/make.objects View File

@@ -1,25 +1,32 @@
ALL_OBJ= \
src/AG-106.o \
src/BB-120.o \
src/BP.o \
src/AG1.o \
src/AO1.o \
src/BB1.o \
src/BP1.o \
src/DS.o \
src/FF-110.o \
src/FF-120.o \
src/FF-212.o \
src/LA-108.o \
src/LD-106.o \
src/NG-112.o \
src/OG-106.o \
src/PG-112.o \
src/PO.o \
src/EO1.o \
src/FF1.o \
src/FF2.o \
src/LA1.o \
src/LD1.o \
src/NG1.o \
src/OG1.o \
src/PG1.o \
src/PO12.o \
src/SS1.o \
src/SubmarineFree.o \
src/WK-101.o \
src/TD1.o \
src/TD2.o \
src/TF1.o \
src/TM1.o \
src/WK12.o \
src/XF-101.o \
src/XF-102.o \
src/XF-104.o \
src/XF-201.o \
src/XF-202.o \
src/XF.o \
src/XG-106.o \
src/XG1.o \
src/torpedo.o \
src/ComponentLibrary/LightKnob.o
src/ComponentLibrary/LightKnob.o \
src/ComponentLibrary/Port.o

+ 5
- 0
plugins/community/repos/SubmarineFree/manual/AG.md View File

@@ -1,5 +1,6 @@
# Logical AND Gates
### [Part of the Digital Suite](DS.md)
#### AG-104 AND Gates
#### AG-106 AND Gates


@@ -18,3 +19,7 @@ The voltage range of the digital gates can be configured from the context menu.
Any output not connected will be normalled into a third input on the gate below. In this way multi-input gates can be created up to a maximum of 12 inputs.

An input not connected will be ignored.

## AG-104

The AG-104 provides four two-input AND gates in a small form factor. Otherwise functionality is as for the AG-106 above.

BIN
plugins/community/repos/SubmarineFree/manual/AO-118.png View File

Before After
Width: 345  |  Height: 380  |  Size: 19KB

+ 64
- 0
plugins/community/repos/SubmarineFree/manual/AO-example-osc.md View File

@@ -0,0 +1,64 @@
# A sine wave oscillator using AO-106

![Example Patch](./AO-example-osc.png "AO-example-osc.png")

In the example above we have an AO-106 6-algorithm device functioning as a voltage controlled sine wave oscillator.
An SS-221 on the left is providing a reference 1v/oct CV to both the AO-106 and a Frank Buss Formula for comparison.

The first block in the AO-106 is providing a small delta value.

The second block takes that delta value and adds it to the X-input which is fed from...

...the third block which takes the accumulated value and reduces it modulo 1.

The result is that we have a signal in a feedback loop from the third block back to the second block, which gradually grows over time,
and cycles around every time it reaches 1. Effectively a sawtooth wave with a frequency that depends on the input voltage, and a range from
0V to 1V.

The fourth block multiplies this sawtooth amplitude by tau (2 pi) to give an amplitude that ranges from 0V to tauV.

The fifth block takes the sine of this sawtooth. Since a range of 0 to tau in radians represents one complete cycle, the resulting signal
is a sine wave with a range of -1V to +1V

The sixth block multiplies the signal by 5 to give the final -5V to +5V sine wave.

The complicated part of this patch is in the first block where the algorithm is 2<sup>x+c</sup>. Where does this value of C = -7.52 come from?

To acheive our basic requirement of 1v/oct, we need to raise 2 to the power of the CV input. For each increase 1V increase in the CV,
the resulting value doubles, just like the frequency doubling as we move up an octave. But we have some further requirements.

We want our signal frequency to be middle C (261.6Hz) when the CV is at 0V, so we should multiply our power of 2 by 261.6.
That gives us a value in cycles per second. But then we need to divide this value by our sample rate, in this case I'm running at 48,000Hz
sample rate. We divide by this number so that our delta accumulates to the right number of cycles every second.

Our algorithm for the delta value then is

2<sup>x</sup> &times; 261.6 &divide; 48000

or

2<sup>x</sup> &times; 0.00545

But we could represent 0.00545 as a 2 raised to some power... 2<sup>n</sup>

n would be the base-2 logarithm of 0.00545 which is -7.51953

Now we can say that our delta value is

2<sup>x</sup> &times; 2<sup>-7.51953</sup>

or

2<sup>x - 7.51953</sup>

This is where the figures in the first block come from.

The AO-1xx series of devices offer only two decimal places of precision in the constant setting, as a result this example oscillator is ever so slightly flat.
However this discrepancy is less that the drift in the Fundamental VCO1.

Note also that changing the engine sample rate would change the frequency of the oscillator. Doubling the engine sample rate to 96,000 Hz
would require adjusting the constant from -7.52 to -8.52.

The Frank Buss Formula has a built in sawtooth oscillator which automatically compensates for changes in the engine sample rate.



BIN
plugins/community/repos/SubmarineFree/manual/AO-example-osc.png View File

Before After
Width: 705  |  Height: 380  |  Size: 132KB

BIN
plugins/community/repos/SubmarineFree/manual/AO-example-square.png View File

Before After
Width: 450  |  Height: 380  |  Size: 84KB

+ 230
- 0
plugins/community/repos/SubmarineFree/manual/AO-list.md View File

@@ -0,0 +1,230 @@
# AO-1xx Algorithms

## Arithmetical
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| | | Pass-through. X passes across unchanged, Y passes down unchanged |
| C | c | The value of the selected constant C |
| X+C | x + c | X added to C |
| Y+C | y + c | Y added to C|
| X+Y+C | x + y + c | X and Y added to C |
| C-X | c - x | X subtracted from C |
| C-Y | c - y | Y subtracted from C |
| X-(Y+C) | x - ( y + c ) | Y added to C then all subtracted from X |
| (X+C)-Y | ( x + c ) - y | Y subtracted from X and C |
| Y-(X+C) | y - ( x + c ) | X added to C then all subtracted from Y |
| (Y+C)-X | ( y + c ) - x | X subtracted from Y and C |
| (X&#x2a2f;Y)+C | ( x * y ) + c | X times Y added to C |
| (X+C)&#x2a2f;Y | ( x + c ) * y | X and C multiplied by Y |
| X&#x2a2f;(Y+C) | x * ( y + c ) | Y and C multiplied by X |
| X&#x2a2f;C | x * c | X times C |
| Y&#x2a2f;C | y * c | Y times C |
| X&#x2a2f;Y&#x2a2f;C | x * y * c | X times Y times C|
| &#x3c0;&#x2a2f;(X+C) | M_PI * ( x + c ) | X and C multiplied by pi |
| &#x3c0;&#x2a2f;(Y+C) | M_PI * ( y + c ) | Y and C multiplied by pi |
| &#x3c4;&#x2a2f;(X+C) | 2 * M_PI * ( x + c ) | X and C multiplied by tau |
| &#x3c4;&#x2a2f;(Y+C) | 2 * M_PI * ( y + c ) | Y and C multiplied by tau |
| X&#xf7;C | x / c | X divided by C |
| C&#xf7;X | c / x | C divided by X |
| Y&#xf7;C | y / c | Y divided by C |
| C&#xf7;Y | c / y | C divided by Y |
| C+(X&#xf7;Y) | c + ( x / y ) | C added to X divided by Y |
| C+(Y&#xf7;X) | c + ( y / x ) | C added to Y divided by X |
| X+(Y&#xf7;C) | x + ( y / c ) | X added to Y divided by C |
| X+(C&#xf7;Y) | x + ( c / y ) | X added to C divided by Y |
| Y+(X&#xf7;C) | y + ( x / c ) | Y added to X divided by C |
| Y+(C&#xf7;X) | y + ( c / x ) | Y added to C divided by X |
| (X+C)&#xf7;Y | ( x + c ) / y | X and C divided by Y |
| X&#xf7;(Y+C) | x / ( y + c ) | X divided by Y and C |
| (Y+C)&#xf7;X | ( y + c ) / x | Y and C divided by X |
| Y&#xf7;(X+C) | y / ( x + c ) | Y divided by X and C |
## Modular
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| (X+C)%Y | fmodf( x + c , y ) | The remainder of X and C divided by Y |
| (Y+C)%X | fmodf( y + c , x ) | The remainder of Y and C divided by X |
| X%(Y+C) | fmodf( x , y + c ) | The remainder of X divided by Y and C |
| Y%(X+C) | fmodf( y , x + c) | The remainder of Y divided by X and C |
| X%C | fmodf( x , c ) | The remainder of X divided by C |
| Y%C | fmodf( y , c ) | The remainder of Y divided by C |
## Quadratic
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| X&#xb2;+C | x * x + c | X squared added to C |
| Y&#xb2;+C | y * y + c | Y squared added to C |
| (X+C)&#xb2; | ( x + c ) * ( x + c ) | X and C squared |
| (Y+C)&#xb2; | ( y + c ) * ( y + c ) | Y and C squared |
| X&#xb2;+Y+C | x * x + y + c | X squared added to Y and C |
| Y&#xb2;+X+C | y * y + x + c | Y squared added to X and C |
| X&#xb2;+CY | x * x + c * y | X squared added to Y multiplied by C |
| Y&#xb2;+CX | y * y + c * x | Y squared added to X multiplied by C |
## Powers
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| &#x221a;(X+C) | sqrt( x + c ) | The square root of X and C |
| &#x221a;(Y+C) | sqrt( y + c ) | The square root of Y and C |
| C&#x2e3; | powf( c , x ) | C raised to the power of X |
| C&#x2b8; | powf( c , y ) | C raised to the power of Y |
| C&#x2e3;&#x207a;&#x2b8; | powf( c , x + y ) | C raised to the power of X and Y |
| C&#x2e3;&#x2b8; | powf( c , x * y ) | C raised to the power of X multiplied by Y |
| X&#x1D9c; | powf( x , c ) | X raised to the power of C |
| Y&#x1D9c; | powf( y , c ) | Y raised to the power of C |
| X&#x2b8;&#x207a;&#x1D9c; | powf( x , y + c ) | X raised to the power of Y and C |
| Y&#x2e3;&#x207a;&#x1D9c; | powf( y , x + c ) | Y raised to the power of X and C |
| X&#x1D9c;&#x2b8; | powf( x , c * y ) | X raised to the power of Y multiplied by C |
| Y&#x1D9c;&#x2e3; | powf( y , c * x ) | Y raised to the power of X multiplied by C |
## Positive values only
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| &#124;X+C&#124; | abs( x + c ) | X Added to C with any minus sign removed |
| &#124;Y+C&#124; | abs( y + c ) | Y added to C with any minus sign removed |
## Maximum and Minimum
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| min(X+C,Y) | min( x + c, y ) | The smaller of X Added to C, or Y |
| min(X,C) | min( x, c ) | The smaller of X or C |
| min(Y,C) | min( y, c ) | The smaller of Y or C |
| max(X+C,Y) | max( x + c, y ) | The larger of X added to C, or Y |
| max(X,C) | max( x, c ) | The larger of X or C |
| max(Y,C) | max( y, c ) | The larger of Y or C |
## Trigonometric
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| sin(X+C) | sin( x + c ) | The sine of X and C |
| sin(Y+C) | sin( y + c ) | The sine of Y and C |
| sin(X+Y) | sin( x + y ) | The sine of X and Y |
| sin(CX) | sin( c * x ) | The sine of X mulitplied by C |
| sin(CY) | sin( c * y ) | The sine of Y multiplied by C |
| sin(XY) | sin( x * y ) | The sine of X multiplied by Y |
| cos(X+C) | cos( x + c ) | The cosine of X and C |
| cos(Y+C) | cos( y + c ) ||
| cos(X+Y) | cos( x + y ) ||
| cos(CX) | cos( c * x ) ||
| cos(CY) | cos( c * y ) ||
| cos(XY) | cos( x * y ) ||
| tan(X+C) | tan( x + c ) | The tangent of X and C |
| tan(Y+C) | tan( y + c ) ||
| tan(X+Y) | tan( x + y ) ||
| tan(CX) | tan( c * x ) ||
| tan(CY) | tan( c * y ) ||
| tan(XY) | tan( x * y ) ||
| asin(X+C) | asin( x + c ) | The arcsine of X and C |
| asin(Y+C) | asin( y + c ) ||
| asin(X+Y) | asin( x + y ) ||
| asin(CX) | asin( c * x ) ||
| asin(CY) | asin( c * y ) ||
| asin(XY) | asin( x * y ) ||
| acos(X+C) | acos( x + c ) | The arcosine of X and C |
| acos(Y+C) | acos( y + c ) ||
| acos(X+Y) | acos( x + y ) ||
| acos(CX) | acos( c * x ) ||
| acos(CY) | acos( c * y ) ||
| acos(XY) | acos( x * y ) ||
| atan(X+C) | atan( x + c ) | The arctangent of X and C |
| atan(Y+C) | atan( y + c ) ||
| atan(X+Y) | atan( x + y ) ||
| atan(CX) | atan( c * x ) ||
| atan(CY) | atan( c * y ) ||
| atan(XY) | atan( x * y ) ||
## Logarithmic
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| log(X+C) | log( x + c ) | The natural logarithm of X and C |
| log(Y+C) | log( y + c ) | The natural logarithm of Y and C |
| log&#x2082;(X+C) | log2( x + c ) | The base-2 logarithm of X and C |
| log&#x2082;(Y+C) | log2( y + c ) | The base-2 logarithm of Y and C |
| log&#x2081;&#x2080;(X+C) | log10( x + c ) | The base-10 logarithm of X and C |
| log&#x2081;&#x2080;(Y+C) | log10( y + c ) | The base-10 logarithm of Y and C |
## Exponential
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| &#x212f;&#x2e3;&#x207a;&#x1D9c; | exp( x + c ) | e raised to the power of X and C |
| &#x212f;&#x2b8;&#x207a;&#x1D9c; | exp( y + c ) | e raised to the power of Y and C |
| &#x212f;&#x1D9c;&#x2e3; | exp( c * x ) | e raised to the power of X multiplied by C |
| &#x212f;&#x1D9c;&#x2b8; | exp( c * y ) | e raised to the power of Y multiplied by C |
| 2&#x2e3;&#x207a;&#x1D9c; | powf( 2, x + c ) | 2 raised to the power of X and C |
| 2&#x2b8;&#x207a;&#x1D9c; | powf( 2, y + c ) | 2 raised to the power of Y and C |
| 2&#x1D9c;&#x2e3; | powf( 2, c * x ) | 2 raised to the power of X multiplied by C |
| 2&#x1D9c;&#x2b8; | powf( 2, c * y ) | 2 raised to the power of Y multiplied by C |
| 10&#x2e3;&#x207a;&#x1D9c; | powf( 10, x + c ) | 10 raised to the power of X and C |
| 10&#x2b8;&#x207a;&#x1D9c; | powf( 10, y + c ) | 10 raised to the power of Y and C |
| 10&#x1D9c;&#x2e3; | powf( 10, c * x ) | 10 raised to the power of X multiplied by C |
| 10&#x1D9c;&#x2b8; | powf( 10, c * y ) | 10 raised to the power of Y multiplied by C |
## Conditional
| Display | Code | Description |
| ------------------------ | ------------------ | -------------------- |
| if X>0&#x21a3;Y/C | (x > 0) ? y : c | Y if X is greater than 0 otherwise C |
| if X<0&#x21a3;Y/C | (x < 0) ? y : c | Y if X is less than 0 otherwise C |
| if X=0&#x21a3;Y/C | (x == 0) ? y : c | Y if X is 0 otherwise C |
| if X>0&#x21a3;C/Y | (x > 0) ? c : y | C if X is greater than 0 otherwise Y |
| if X<0&#x21a3;C/Y | (x < 0) ? c : y | C if X is less that 0 otherwise Y |
| if X=0&#x21a3;C/Y | (x == 0) ? c : y | C if X is 0 otherwise Y |
| if X>0&#x21a3;1/0 | (x > 0) ? 1 : 0 | 1 if X is greater than 0 otherwise 0 |
| if X<0&#x21a3;1/0 | (x < 0) ? 1 : 0 ||
| if X=0&#x21a3;1/0 | (x == 0) ? 1 : 0 ||
| if X>0&#x21a3;X/C | (x > 0) ? x : c | X if X is greater than 0 otherwise C |
| if X<0&#x21a3;X/C | (x < 0) ? x : c ||
| if X=0&#x21a3;X/C | (x == 0) ? x : c ||
| if X>0&#x21a3;C/X | (x > 0) ? c : x | C if X is greater than 0 otherwise X |
| if X<0&#x21a3;C/X | (x < 0) ? c : x ||
| if X=0&#x21a3;C/X | (x == 0) ? c : x ||
| if Y>0&#x21a3;X/C | (y > 0) ? x : c | X if Y is greater than 0 otherwise C |
| if Y<0&#x21a3;X/C | (y < 0) ? x : c ||
| if Y=0&#x21a3;X/C | (y == 0) ? x : c ||
| if Y>0&#x21a3;C/X | (y > 0) ? c : x | C if Y is greater than 0 otherwise X |
| if Y<0&#x21a3;C/X | (y < 0) ? c : x ||
| if Y=0&#x21a3;C/X | (y == 0) ? c : x ||
| if Y>0&#x21a3;1/0 | (y > 0) ? 1 : 0 ||
| if Y<0&#x21a3;1/0 | (y < 0) ? 1 : 0 ||
| if Y=0&#x21a3;1/0 | (y == 0) ? 1 : 0 ||
| if Y>0&#x21a3;Y/C | (y > 0) ? y : c ||
| if Y<0&#x21a3;Y/C | (y < 0) ? y : c ||
| if Y=0&#x21a3;Y/C | (y == 0) ? y : c ||
| if Y>0&#x21a3;C/Y | (y > 0) ? c : y ||
| if Y<0&#x21a3;C/Y | (y < 0) ? c : y ||
| if Y=0&#x21a3;C/Y | (y == 0) ? c : y ||
| if X>Y&#x21a3;C/0 | (x > y) ? c : 0 | C if X is greater than Y otherwise 0 |
| if X<Y&#x21a3;C/0 | (x < y) ? c : 0 ||
| if X=Y&#x21a3;C/0 | (x == y) ? c : 0 ||
| if Y>X&#x21a3;C/0 | (y > x) ? c : 0 ||
| if Y<X&#x21a3;C/0 | (y < x) ? c : 0 ||
| if X>Y&#x21a3;X/0 | (x > y) ? x : 0 | X if X is greater than Y otherwise 0 |
| if X<Y&#x21a3;X/0 | (x < y) ? x : 0 ||
| if X=Y&#x21a3;X/0 | (x == y) ? x : 0 ||
| if Y>X&#x21a3;X/0 | (y > x) ? x : 0 ||
| if Y<X&#x21a3;X/0 | (y < x) ? x : 0 ||
| if X>Y&#x21a3;Y/0 | (x > y) ? y : 0 ||
| if X<Y&#x21a3;Y/0 | (x < y) ? y : 0 ||
| if X=Y&#x21a3;Y/0 | (x == y) ? y : 0 ||
| if Y>X&#x21a3;Y/0 | (y > x) ? y : 0 ||
| if Y<X&#x21a3;Y/0 | (y < x) ? y : 0 ||
| if X>C&#x21a3;Y/0 | (x > c) ? y : 0 ||
| if X<C&#x21a3;Y/0 | (x < c) ? y : 0 ||
| if X=C&#x21a3;Y/0 | (x == c) ? y : 0 ||
| if C>X&#x21a3;Y/0 | (c > x) ? y : 0 ||
| if C<X&#x21a3;Y/0 | (c < x) ? y : 0 ||
| if X>C&#x21a3;X/0 | (x > c) ? x : 0 ||
| if X<C&#x21a3;X/0 | (x < c) ? x : 0 ||
| if X=C&#x21a3;X/0 | (x == c) ? x : 0 ||
| if C>X&#x21a3;X/0 | (c > x) ? x : 0 ||
| if C<X&#x21a3;X/0 | (c < x) ? x : 0 ||
| if X>C&#x21a3;X/Y | (x > c) ? x : y ||
| if X<C&#x21a3;X/Y | (x < c) ? x : y ||
| if X=C&#x21a3;X/Y | (x == c) ? x : y ||
| if C>X&#x21a3;X/Y | (c > x) ? x : y ||
| if C<X&#x21a3;X/Y | (c < x) ? x : y ||
| if Y>C&#x21a3;X/0 | (y > c) ? x : 0 ||
| if Y<C&#x21a3;X/0 | (y < c) ? x : 0 ||
| if Y=C&#x21a3;X/0 | (y == c) ? x : 0 ||
| if C>Y&#x21a3;X/0 | (c > y) ? x : 0 ||
| if C<Y&#x21a3;X/0 | (c < y) ? x : 0 ||
| if Y>C&#x21a3;Y/0 | (y > c) ? y : 0 ||
| if Y<C&#x21a3;Y/0 | (y < c) ? y : 0 ||
| if Y=C&#x21a3;Y/0 | (y == c) ? y : 0 ||
| if C>Y&#x21a3;Y/0 | (c > y) ? y : 0 ||
| if C<Y&#x21a3;Y/0 | (c < y) ? y : 0 ||
| if Y>C&#x21a3;Y/X | (y > c) ? y : x | Y if Y is greater than C otherwise X |
| if Y<C&#x21a3;Y/X | (y < c) ? y : x | Y if Y is less than C otherwise X |
| if Y=C&#x21a3;Y/X | (y == c) ? y : x | Y if Y is C otherwise X |
| if C>Y&#x21a3;Y/X | (c > y) ? y : x | Y if C is greater than Y otherwise X |
| if C<Y&#x21a3;Y/X | (c < y) ? y : x | Y if C is less than Y otherwise X |

+ 19
- 0
plugins/community/repos/SubmarineFree/manual/AO.md View File

@@ -0,0 +1,19 @@
# Arithmetic Operators
#### AO-106 6 Algorithm Arithmetic Operators
#### AO-112 12 Algorithm Arithmetic Operators
#### AO-118 18 Algorithm Arithmetic Operators
#### AO-124 24 Algorithm Arithmetic Operators
#### AO-136 36 Algorithm Arithmetic Operators

![View of the AO-118 - Arithmetic Operators](AO-118.png "Arithmetic Operators")

## Basic Operation

The AO-1xx series of modules take a number of inputs down the left (X-inputs) and a series of inputs across the top (Y-inputs). These inputs pass through blocks which apply simple mathematical algorithms and the results of the algorithms pass out of the block down and to the right, becoming the X and Y inputs of blocks to the right and below. Each block has two touch sensitive displays; the upper display allows you to select from around 200 pre-defined algorithms; the lower display allows you to set a third value (C) on which the algorithm operates.

If no algorithm is selected, the X-input to the block passes directly through to the block (or output) on the right, and the Y-input passes directly through to the block (or output) below.

#### [All Algorithms](AO-list.md)

#### [Oscillator Example](AO-example-osc.md)


+ 4
- 0
plugins/community/repos/SubmarineFree/manual/BB.md View File

@@ -16,3 +16,7 @@ The voltage range of the digital gates can be configured from the context menu.
## Normalling

If the clock input is not connected, the BB-120 will sample and shift outputs once per engine sample. This is useful for delaying signals by just a few samples to compensate for propagation delays in other parts of your patch, for example to ensure that the start of a signal passes through a gate, you can delay the signal by one or two samples while the gate cv gets to where it needs to be. Note that with no clock input connected, the BB-120 will operate faster at faster engine sample rates; this is by design.

The Initialize context menu option will empty all the buckets in the BB-120. Each bucket will revert to 0v.

The Randomize context menu option will randomly set the value of every bucket in the BB-120. The value will lie within the range of the expected voltage range set on the context menu.

+ 46
- 0
plugins/community/repos/SubmarineFree/manual/EO.md View File

@@ -0,0 +1,46 @@
# Envelope Oscilloscope
#### EO-102 2-Channel Envelope Oscilloscope

![View of the Envelope Oscilloscope](EO.png "Envelope Oscilloscope")

## Basic Operation

The envelope oscilloscope takes up to 2 input signals which it will trace out on the scope screen. It is optimised for displaying envelopes.
Each of the two channels has a control for the scaling of the trace on the screen, and the vertical offset. Each channel also has
a switch to indicate whether the input is an envelope CV or an audio signal.

CV inputs are displayed using a single line. Audio inputs are rectified and displayed using a solid shape. In addition, the rectified audio signal displayed is the maximum signal value across a small window of samples, showing the peak signal at each point.

## Trigger

By default the first input channel (Channel A) is used as a trigger to synchronise the scope display. An external trigger input is also provided and this signal (which is not displayed on the screen) will be used to synchronise the display if anything is connected to it.

The trigger operates on a rising edge, and the trigger point can be adjusted using the LEVEL knob.

A small blue led between the external trigger input and the LEVEL knob will flash every time the scope is triggered. If it is not flashing, this is either because the signal is not rising past the appropriate LEVEL, or the RUN button is turned off.

## One-shot Tracing

In normal operation, the analyser traces continuously. If you wish to stop the trace and leave the last traced signal displayed on the screen, press the RUN button so that the light is extinguished. In addition, the CONT/ONCE switch allows it to be put into a one-shot mode, which will make one sweep and then hold the display. To use one-shot mode, set the CONT/ONCE switch to 'ONCE'.
and press the RUN button. The RUN button will illuminate and the analyser will wait until the next trigger event. When it receives an appropriate edge on the selected trigger input, it will record one trace, the RUN button led will extinguish
and the display will not change again.

To make another trace, press the RUN button again and wait for the next trigger edge.

To return to continuous operation set the CONT/ONCE switch to 'CONT'

## Time

The TIME knob will adjust the time resolution of the scope, showing a longer or shorter period of time in a single sweep.

## Indices

There are two vertical indices provided, these are displayed as vertical white lines on the scope display. They can be adjusted using the L and R INDEX knobs. The time span between the two indices is displayed above the INDEX knobs in the white display.

There is a single horizontal index provided. This is displayed as a horizontal white line on the scope display. It can be adjusted using the HORZ INDEX knob. The voltage at the index level is displayed in the blue and red displays above the HORZ INDEX knob.

Alternatively using both indices and the time span display will allow you to measure the length of a pulse or event in a trace, Or by setting the indices to a known time span, you can adjust other devices in your rack until a signal is of the desired duration.

## Pre-trigger Buffer

The PRE. knob controls the display of the content of the pre-trigger buffer. This 100-sample buffer is constantly filled by the scope and is available to display the up to 100 samples prior to the trigger point. By adjusting the PRE. knob you can adjust how much of this buffer is displayed. The trigger point is indicated by a vertical red line on the display.

BIN
plugins/community/repos/SubmarineFree/manual/EO.png View File

Before After
Width: 405  |  Height: 380  |  Size: 45KB

+ 9
- 0
plugins/community/repos/SubmarineFree/manual/FF.md View File

@@ -2,6 +2,7 @@
### [Part of the Digital Suite](DS.md)
#### FF-110 10-Stage Flip-Flop Cascade
#### FF-120 20-Stage Flip-Flop Cascade
#### FF-206 6 Edge Triggered Flip-Flops
#### FF-212 12 Edge Triggered Flip-Flops

![View of the Flip-Flop modules](FF.png "Flip-Flop Range")
@@ -17,3 +18,11 @@ The FF-110 and FF-120 Flip-Flop cascade devices contain a chain of linked Flip-F
## Normalling

The FF-212 module contains 12 independant Flip-Flops each triggered on the rising edge. However, if nothing is connected to the input, the device is normally connected through an inverter to the output of the previous device. The module can be used as independant Flip-Flops, or as one or more multi-stage cascades.

The FF-206 provides 6 independant Flip-Flops in a small form factor. Otherwise functionality is as for the FF-212 above.

## Initialize and Randomize

All the FF-1xx and FF-2xx devices can be reset using the Initialize context menu. All the Flip-Flop gates will turn off.

All the FF-1xx and FF-2xx devices can be randomized using the Randomize context menu. Each Flip-Flop gate will be randomly turned on or off.

+ 5
- 0
plugins/community/repos/SubmarineFree/manual/LD.md View File

@@ -1,5 +1,6 @@
# Schmitt Trigger Line Drivers
### [Part of the Digital Suite](DS.md)
#### LD-103 Line Drivers
#### LD-106 Line Drivers

![View of the Line Drivers](LD.png "Line Drivers")
@@ -17,3 +18,7 @@ The voltage range of the digital gates can be configured from the context menu.
The two control knobs are CUTOFF which is the midpoint of the input signal range. Inputs above the CUTOFF are logical high signals, and those below the CUTOFF are logical low signals. The WIDTH controls the hysteresis of the Schmitt Trigger.

The range of the CUTOFF is -10V to +10V. The range of the WIDTH is 0V to 5V and this width is applied BOTH above and below the CUTOFF. If the WIDTH is set to 0V, no hysteresis is applied.

## LD-103

The LD-103 provides three line drivers in a small form factor. The CUTOFF and WIDTH controls are labelled C and W respectively. Otherwise the functionality is as for the LD-106 above

+ 6
- 1
plugins/community/repos/SubmarineFree/manual/NG.md View File

@@ -1,12 +1,13 @@
# Logical NOT Gates
### [Part of the Digital Suite](DS.md)
#### NG-106 NOT Gates
#### NG-112 NOT Gates

![View of the NOT Gates](NG.png "NOT Gates")

## Basic Operation

The NG-112 provides 12 gates. It is designed to take digital signals, but it will happily accept analog signals.
The NG-112 provides 12 NOT gates. It is designed to take digital signals, but it will happily accept analog signals.

## Signal Range

@@ -17,3 +18,7 @@ The voltage range of the digital gates can be configured from the context menu.
Any input not connected will cause a high signal at the corresponding output. The NG-112 can be used with inputs disconnected to provide stable 1V, 5V or 10V signals.

By connected a single output to the input of another gate, it is possible to generate stable 0V, -5V and -10V signals.

## NG-106

The NG-106 provides six two-input NOT gates in a small form factor. Otherwise functionality is as for the NG-112 above.

+ 5
- 0
plugins/community/repos/SubmarineFree/manual/OG.md View File

@@ -1,5 +1,6 @@
# Logical OR Gates
### [Part of the Digital Suite](DS.md)
#### OG-104 OR Gates
#### OG-106 OR Gates

![View of the OR Gates](OG.png "OR Gates")
@@ -17,3 +18,7 @@ The voltage range of the digital gates can be configured from the context menu.
Any output not connected will be normalled into a third input on the gate below. In this way multi-input gates can be created up to a maximum of 12 inputs.

An input not connected will be ignored.

## OG-104

The OG-104 provides four two-input OR gates in a small form factor. Otherwise functionality is as for the OG-106 above.

+ 4
- 0
plugins/community/repos/SubmarineFree/manual/PG.md View File

@@ -1,5 +1,6 @@
# Pulse Generators
### [Part of the Digital Suite](DS.md)
#### PG-104 Pulse Generators
#### PG-112 Pulse Generators


@@ -13,3 +14,6 @@ The PG-112 provides 12 Pulse Generators. It is designed to take digital signals,

The voltage range of the digital gates can be configured from the context menu. The device will output at the full range of the configured settings. The inputs will measure a logical high signal anywhere above the midpoint of the configured range.

## PG-104

The PG-104 provides 4 Pulse generators in a small form factor. Otherwise functionality is as for the PG-112 above.

BIN
plugins/community/repos/SubmarineFree/manual/PO-204.png View File

Before After
Width: 150  |  Height: 380  |  Size: 16KB Width: 150  |  Height: 380  |  Size: 14KB

+ 1
- 1
plugins/community/repos/SubmarineFree/manual/PO.md View File

@@ -28,4 +28,4 @@ The waveform of the output can be adjusted using the WAVE control knob and assoc

## Frequency multiplier

The output frequency can be multiplied by an integer value from 1 to 16 using the MULT control knob.
The output frequency can be multiplied by an integer value from 1 to 16 using the MULT control knob and associated CV.

+ 24
- 0
plugins/community/repos/SubmarineFree/manual/SS.md View File

@@ -0,0 +1,24 @@
# Sources and Sinks - Lightweight voltage sources
#### SS-112 - 12 Voltage Sinks
#### SS-208 - 8 Irrational Voltage Sources
#### SS-212 - 12 Chromatic Voltage Sources
#### SS-220 - 120 Chromatic Voltage Sources
#### SS-221 - 21 Voltage Sources

![View of the Sources and Sinks Range](SS.png "Sources and Sinks")

## Basic Operation

The SS-xxx range of modules provide lightweight voltage sources and sinks. In each case designed to use as little processing power as possible to do the job.

The SS-112 provides 12 input sockets which do absolutely nothing. The device is designed to use a minimum of processing power to provide you with somewhere to connect any device which requires an output to be connected for it to behave as you wish.

The SS-208 provides 8 fixed voltage outputs; each with a different commonly occuring irrational value. The values provided are PI, TAU, e, Square Root of One Half, Square Root of Two, Square Root of Three, Square Root of Five and Square Root of Seven.

The SS-212 provides 12 fixed voltages in 1/12 volt increments, suitable for use as a chromatic scale input to devices which respect the 1V/oct standard. The context menu allows you to select the octave which is output.

The SS-220 provides 120 fixed voltages in 1/12 volt increments. The voltages range from -5V to +4.92V suitable for use as 10 octaves of chromatic scale input to devices which respect the 1V/oct standard.

The SS-221 provides 21 fixed voltages in 1 volt increments, ranging from -10V to +10V.

These outputs are useful not only as Pitch CV for oscillators, but also to select specific voltage values for any CV input.

BIN
plugins/community/repos/SubmarineFree/manual/SS.png View File

Before After
Width: 465  |  Height: 380  |  Size: 52KB

BIN
plugins/community/repos/SubmarineFree/manual/TD-202.png View File

Before After
Width: 30  |  Height: 380  |  Size: 3.2KB

+ 25
- 0
plugins/community/repos/SubmarineFree/manual/TD.md View File

@@ -0,0 +1,25 @@
# Formattable Text Display
#### TD-116 Formattable Text Display

![View of the Formattable Text Display](TD.png "Formattable Text Display")

## Basic Operation

The TD-116 is a text display on which you can make notes or put text into the visuals of your rack. Similar to the Fundamental Notes module, the TD-116 also allows you to control the text and background colors, and also the text size. The standard text size is not easy to read in a You-Tube video, so a larger size is sometimes useful for demonstrations.

The TD-116 features [Torpedo](https://github.com/david-c14/Torpedo) input and ouput ports. Changes to the text are sent through the output port, which allows you to capture the text in any suitable Torpedo device.

Text or formatting information can be sent into the TD-116 through the Torpedo input port, allowing you to change the text or formatting programmatically.

The [TF-101](TF.md) is a suitable device to control the formatting.

#### TD-202 Vertical Text Display

![View of the Vertical Text Display](TD-202.png "Vertical Text Display")

## Basic Operation

The TD-202 is a small 2-HP text display which can show a single line of text running down the rack. It is useful for labelling or separating
sections of a patch.

The colors of the TD-202 can be adjusted using the context menu.

BIN
plugins/community/repos/SubmarineFree/manual/TD.png View File

Before After
Width: 240  |  Height: 380  |  Size: 5.7KB

+ 12
- 0
plugins/community/repos/SubmarineFree/manual/TF.md View File

@@ -0,0 +1,12 @@
# Text Display Formatter
#### TF-101 Text Display Formatter

![View of the Text Display Formatter](TF.png "Text Display Formatter")

## Basic Operation

The TF-101 is a format controller for the [TD-116](TD.md) Text Display. It has controls for the text color, background color and text size.

Format information is passed from the TF-101 to the TD-116 using a [Torpedo](https://github.com/david-c14/Torpedo) protocol.

Each color is controlled using three CV/Knob combinations, controlling the Red, Green and Blue components separately. A full-color LED on the TF-101 indicates the color mix selected.

BIN
plugins/community/repos/SubmarineFree/manual/TF.png View File

Before After
Width: 90  |  Height: 380  |  Size: 17KB

+ 10
- 0
plugins/community/repos/SubmarineFree/manual/TM.md View File

@@ -0,0 +1,10 @@
# Torpedo Message Merge
#### TM-105 - 5 port Torpedo Message Merge

![View of the Torpedo Message Merge](TM.png "Torpedo Message Merge")

## Basic Operation

Because [Torpedo](https://github.com/david-c14/Torpedo) signals are data streams, they cannot be mixed without corrupting the data in the stream.

The TM-105 is a message buffer with 5 separate inputs and a single Torpedo output. As messages array at the input ports, they are buffered until the output port is free to send them on. Up to 5 messages may be buffered at once, if the buffer fills, messages will be dropped. A set of leds indicate how full the buffer is at any one time.

BIN
plugins/community/repos/SubmarineFree/manual/TM.png View File

Before After
Width: 30  |  Height: 380  |  Size: 3.1KB

+ 5
- 0
plugins/community/repos/SubmarineFree/manual/XG.md View File

@@ -1,5 +1,6 @@
# Logical XOR Gates
### [Part of the Digital Suite](DS.md)
#### XG-104 XOR Gates
#### XG-106 XOR Gates

![View of the XOR Gates](XG.png "XOR Gates")
@@ -17,3 +18,7 @@ The voltage range of the digital gates can be configured from the context menu.
Any output not connected will be normalled into a third input on the gate below. In this way multi-input gates can be created up to a maximum of 12 inputs.

An input not connected will be ignored.

## XG-104

The XG-104 provides four two-input XOR gates in a small form factor. Otherwise functionality is as for the XG-106 above.

+ 20
- 0
plugins/community/repos/SubmarineFree/manual/index.md View File

@@ -1,6 +1,11 @@
## [Get Latest Builds](https://github.com/david-c14/SubmarineFree/releases/tag/v0.6.7)

# [AG](AG.md)
Logical AND gates

# [AO](AO.md)
Arithmetic Operators

# [BB](BB.md)
Bucket Brigade Sample and Hold

@@ -10,6 +15,9 @@ Blanking plates
# [DS](DS.md)
Digital Suite

# [EO](EO.md)
Envelope Oscilloscope

# [FF](FF.md)
Flip-Flops

@@ -31,6 +39,18 @@ Pulse Generators
# [PO](PO.md)
Phased Oscillators

# [SS](SS.md)
Voltage Sources and Sinks

# [TD](TD.md)
Formattable Text Display

# [TF](TF.md)
Text Format Controller

# [TM](TM.md)
Torpedo Message Merge

# [WK](WK.md)
Das Wohltemperierte Klavier - Unequal Temperament Quantizer



+ 100
- 0
plugins/community/repos/SubmarineFree/res/AG-104.svg View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata26">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs24" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path30"
style="font-size:8px;text-anchor:middle"
d="M 2.8828125,4.9453125 1.8125,7.8476562 l 2.1445313,0 L 2.8828125,4.9453125 Z M 2.4375,4.1679687 l 0.8945313,0 L 5.5546875,10 4.734375,10 4.203125,8.5039063 l -2.6289063,0 L 1.0429687,10 0.2109375,10 2.4375,4.1679687 Z" />
<path
id="path32"
style="font-size:8px;text-anchor:middle"
d="m 10.238281,9.1679688 0,-1.5664063 -1.2890622,0 0,-0.6484375 2.0703122,0 0,2.5039063 Q 10.5625,9.78125 10.011719,9.9492188 9.4609375,10.113281 8.8359375,10.113281 7.46875,10.113281 6.6953125,9.3164063 5.9257812,8.515625 5.9257812,7.0898437 q 0,-1.4296875 0.7695313,-2.2265625 Q 7.46875,4.0625 8.8359375,4.0625 q 0.5703125,0 1.0820313,0.140625 0.5156252,0.140625 0.9492192,0.4140625 l 0,0.8398437 Q 10.429688,5.0859375 9.9375,4.8984375 q -0.4921875,-0.1875 -1.0351562,-0.1875 -1.0703126,0 -1.6093751,0.5976562 -0.5351562,0.5976563 -0.5351562,1.78125 0,1.1796876 0.5351562,1.7773438 0.5390625,0.5976563 1.6093751,0.5976563 0.4179687,0 0.7460937,-0.070312 0.328125,-0.074219 0.5898435,-0.2265625 z" />
<path
id="path34"
style="font-size:8px;text-anchor:middle"
d="m 12.070313,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path36"
style="font-size:8px;text-anchor:middle"
d="m 15.5625,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 0,0.6640625 -3.359375,0 0,-0.6640625 z" />
<path
id="path38"
style="font-size:8px;text-anchor:middle"
d="m 22.207031,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304687,0.5976562 -0.304687,1.8007812 0,1.1992188 0.304687,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917969,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 22.820312,4.6875 22.207031,4.6875 Z m 0,-0.625 q 0.980469,0 1.496094,0.7773437 0.519531,0.7734375 0.519531,2.25 0,1.4726563 -0.519531,2.2500001 -0.515625,0.7734372 -1.496094,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 20.191406,8.5625 20.191406,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path40"
style="font-size:8px;text-anchor:middle"
d="m 27.78125,4.8554687 -1.992188,3.1132813 1.992188,0 0,-3.1132813 z m -0.207031,-0.6875 0.992187,0 0,3.8007813 0.832031,0 0,0.65625 -0.832031,0 0,1.375 -0.785156,0 0,-1.375 -2.632813,0 0,-0.7617188 2.425782,-3.6953125 z" />
</g>
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round"
id="screen">
<path
id="line12"
d="m 15,31.5 0,317"
style="stroke:#719fcf" />
<path
id="line14"
d="m 15,31.5 0,56"
style="" />
<path
id="line16"
d="m 15,118.5 0,56"
style="" />
<path
id="line18"
d="m 15,205.5 0,56"
style="" />
<path
id="line20"
d="m 15,292.5 0,56"
style="" />
</g>
</svg>

+ 424
- 0
plugins/community/repos/SubmarineFree/res/AO-106.svg View File

@@ -0,0 +1,424 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4226"
version="1.1"
height="380px"
width="165px">
<metadata
id="metadata89">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs87" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 165,0 0,380 -165,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 165,0 164,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 165,0 0,-380 -1,1 0,378 -163,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 154.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 146,373.83071 8.1692063,5.1693144 0 0 0 154.16915,379 8.1692063,5.1693144 0 0 0 161.48278,376.11985 3.0461447,4.2480502 0 0 0 164,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 154.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path93"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path95"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path97"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path99"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path101"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path103"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path105"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path107"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path109"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text10"
style="text-anchor:middle">
<path
id="path112"
style="text-anchor:middle"
d="m 64.089844,4.4179687 -1.605469,4.3535157 3.216797,0 -1.611328,-4.3535157 z m -0.667969,-1.1660156 1.341797,0 L 68.097656,12 l -1.230469,0 -0.796875,-2.2441406 -3.943359,0 L 61.330078,12 60.082031,12 63.421875,3.2519531 Z" />
<path
id="path114"
style="text-anchor:middle"
d="m 72.708984,4.0546875 q -1.289062,0 -2.050781,0.9609375 -0.755859,0.9609375 -0.755859,2.6191406 0,1.6523438 0.755859,2.6132814 0.761719,0.960937 2.050781,0.960937 1.289063,0 2.039063,-0.960937 0.755859,-0.9609376 0.755859,-2.6132814 0,-1.6582031 -0.755859,-2.6191406 -0.75,-0.9609375 -2.039063,-0.9609375 z m 0,-0.9609375 q 1.839844,0 2.941407,1.2363281 1.101562,1.2304688 1.101562,3.3046875 0,2.0683594 -1.101562,3.3046874 -1.101563,1.230469 -2.941407,1.230469 -1.845703,0 -2.953125,-1.230469 -1.101562,-1.2304686 -1.101562,-3.3046874 0,-2.0742187 1.101562,-3.3046875 Q 70.863281,3.09375 72.708984,3.09375 Z" />
<path
id="path116"
style="text-anchor:middle"
d="m 78.339844,8.2324219 3.158203,0 0,0.9609375 -3.158203,0 0,-0.9609375 z" />
<path
id="path118"
style="text-anchor:middle"
d="m 83.578125,11.003906 1.933594,0 0,-6.6738279 -2.103516,0.421875 0,-1.078125 2.091797,-0.421875 1.183594,0 0,7.7519529 1.933593,0 0,0.996094 -5.039062,0 0,-0.996094 z" />
<path
id="path120"
style="text-anchor:middle"
d="m 93.544922,4.03125 q -0.914063,0 -1.376953,0.9023437 -0.457032,0.8964844 -0.457032,2.7011719 0,1.7988282 0.457032,2.7011724 0.46289,0.896484 1.376953,0.896484 0.919922,0 1.376953,-0.896484 0.462891,-0.9023442 0.462891,-2.7011724 0,-1.8046875 -0.462891,-2.7011719 Q 94.464844,4.03125 93.544922,4.03125 Z m 0,-0.9375 q 1.470703,0 2.24414,1.1660156 0.779297,1.1601563 0.779297,3.375 0,2.2089844 -0.779297,3.3750004 -0.773437,1.160156 -2.24414,1.160156 -1.470703,0 -2.25,-1.160156 -0.773438,-1.166016 -0.773438,-3.3750004 0,-2.2148437 0.773438,-3.375 0.779297,-1.1660156 2.25,-1.1660156 z" />
<path
id="path122"
style="text-anchor:middle"
d="m 101.33203,7.1542969 q -0.79687,0 -1.26562,0.5449218 -0.462894,0.5449219 -0.462894,1.4941407 0,0.9433596 0.462894,1.4941406 0.46875,0.544922 1.26562,0.544922 0.79688,0 1.25977,-0.544922 0.46875,-0.550781 0.46875,-1.4941406 0,-0.9492188 -0.46875,-1.4941407 -0.46289,-0.5449218 -1.25977,-0.5449218 z m 2.34961,-3.7089844 0,1.078125 Q 103.23633,4.3125 102.7793,4.2011719 q -0.45117,-0.1113282 -0.89649,-0.1113282 -1.17187,0 -1.79297,0.7910157 -0.615231,0.7910156 -0.703121,2.390625 0.345703,-0.5097657 0.867191,-0.7792969 0.52148,-0.2753906 1.14843,-0.2753906 1.31836,0 2.08008,0.8027343 0.76758,0.796875 0.76758,2.1738282 0,1.3476566 -0.79687,2.1621096 -0.79688,0.814453 -2.1211,0.814453 -1.517577,0 -2.320311,-1.160156 -0.802735,-1.166016 -0.802735,-3.3750004 0,-2.0742187 0.984375,-3.3046875 0.984371,-1.2363281 2.642581,-1.2363281 0.44531,0 0.89648,0.087891 0.45703,0.087891 0.94922,0.2636719 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
font-size="8"
id="group1">
<g
style="stroke:#719fcf"
id="g13">
<path
id="path15"
d="m 37.5,51.5 40,0 5,4 5,-4 40,0" />
<path
id="path17"
d="m 37.5,97.5 40,0 5,4 5,-4 40,0" />
<path
id="path19"
d="m 37.5,143.5 40,0 5,4 5,-4 40,0" />
<path
id="path21"
d="m 37.5,189.5 40,0 5,4 5,-4 40,0" />
<path
id="path23"
d="m 37.5,235.5 40,0 5,4 5,-4 40,0" />
<path
id="path25"
d="m 37.5,281.5 40,0 5,4 5,-4 40,0" />
<path
id="path27"
d="m 37.5,327.5 40,0 5,4 5,-4 40,0" />
<path
id="path29"
d="m 37.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path31"
d="m 127.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
</g>
<g
style="fill:#000000;stroke:none"
id="g33">
<path
id="rect35"
d="m 44.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect37"
d="m 44.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect39"
d="m 44.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect41"
d="m 44.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect43"
d="m 44.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect45"
d="m 44.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect47"
d="m 44.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect49"
d="m 44.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect51"
d="m 44.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect53"
d="m 44.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect55"
d="m 44.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect57"
d="m 44.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
<g
style="fill:#ffffff;stroke:none"
id="g59">
<g
id="text61"
style="text-anchor:middle">
<path
id="path137"
style="text-anchor:middle"
d="m 8.8164063,94.167969 0.8476562,0 1.4492185,2.167968 1.457032,-2.167968 0.847656,0 -1.875,2.800781 2,3.03125 -0.847656,0 L 11.054688,97.519531 9.4023438,100 8.5507813,100 10.632813,96.886719 8.8164063,94.167969 Z" />
<path
id="path139"
style="text-anchor:middle"
d="m 17.128906,94.167969 0.789063,0 0,5.832031 -0.789063,0 0,-5.832031 z" />
<path
id="path141"
style="text-anchor:middle"
d="m 19.488281,94.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
</g>
<g
id="text63"
style="text-anchor:middle">
<path
id="path144"
style="text-anchor:middle"
d="m 8.8164063,140.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,146 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path146"
style="text-anchor:middle"
d="m 17.128906,140.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path148"
style="text-anchor:middle"
d="m 19.488281,140.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text65"
style="text-anchor:middle">
<path
id="path151"
style="text-anchor:middle"
d="m 8.8164063,186.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,192 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path153"
style="text-anchor:middle"
d="m 17.128906,186.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path155"
style="text-anchor:middle"
d="m 19.488281,186.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text67"
style="text-anchor:middle">
<path
id="path158"
style="text-anchor:middle"
d="m 8.8164063,232.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,238 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path160"
style="text-anchor:middle"
d="m 17.128906,232.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path162"
style="text-anchor:middle"
d="m 19.488281,232.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text69"
style="text-anchor:middle">
<path
id="path165"
style="text-anchor:middle"
d="m 8.8164063,278.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,284 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path167"
style="text-anchor:middle"
d="m 17.128906,278.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path169"
style="text-anchor:middle"
d="m 19.488281,278.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text71"
style="text-anchor:middle">
<path
id="path172"
style="text-anchor:middle"
d="m 136.46484,94.167969 0.84766,0 1.44922,2.167968 1.45703,-2.167968 0.84766,0 -1.875,2.800781 2,3.03125 -0.84766,0 -1.64063,-2.480469 -1.65234,2.480469 -0.85156,0 2.08203,-3.113281 -1.81641,-2.71875 z" />
<path
id="path174"
style="text-anchor:middle"
d="m 147.14453,94.703125 q -0.85937,0 -1.36719,0.640625 -0.5039,0.640625 -0.5039,1.746094 0,1.101562 0.5039,1.742187 0.50782,0.640625 1.36719,0.640625 0.85938,0 1.35938,-0.640625 0.5039,-0.640625 0.5039,-1.742187 0,-1.105469 -0.5039,-1.746094 -0.5,-0.640625 -1.35938,-0.640625 z m 0,-0.640625 q 1.22656,0 1.96094,0.824219 0.73437,0.820312 0.73437,2.203125 0,1.378906 -0.73437,2.203125 -0.73438,0.820311 -1.96094,0.820311 -1.23047,0 -1.96875,-0.820311 -0.73437,-0.820313 -0.73437,-2.203125 0,-1.382813 0.73437,-2.203125 0.73828,-0.824219 1.96875,-0.824219 z" />
<path
id="path176"
style="text-anchor:middle"
d="m 150.98437,94.167969 0.79297,0 0,3.542968 q 0,0.9375 0.33985,1.351563 0.33984,0.410156 1.10156,0.410156 0.75781,0 1.09766,-0.410156 0.33984,-0.414063 0.33984,-1.351563 l 0,-3.542968 0.79297,0 0,3.640625 q 0,1.140625 -0.56641,1.722656 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path178"
style="text-anchor:middle"
d="m 156.125,94.167969 4.93359,0 0,0.664062 -2.07031,0 0,5.167969 -0.79297,0 0,-5.167969 -2.07031,0 0,-0.664062 z" />
</g>
<g
id="text73"
style="text-anchor:middle">
<path
id="path181"
style="text-anchor:middle"
d="m 136.46484,140.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path183"
style="text-anchor:middle"
d="m 147.14453,140.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path185"
style="text-anchor:middle"
d="m 150.98437,140.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path187"
style="text-anchor:middle"
d="m 156.125,140.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text75"
style="text-anchor:middle">
<path
id="path190"
style="text-anchor:middle"
d="m 136.46484,186.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path192"
style="text-anchor:middle"
d="m 147.14453,186.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path194"
style="text-anchor:middle"
d="m 150.98437,186.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path196"
style="text-anchor:middle"
d="m 156.125,186.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text77"
style="text-anchor:middle">
<path
id="path199"
style="text-anchor:middle"
d="m 136.46484,232.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path201"
style="text-anchor:middle"
d="m 147.14453,232.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path203"
style="text-anchor:middle"
d="m 150.98437,232.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path205"
style="text-anchor:middle"
d="m 156.125,232.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text79"
style="text-anchor:middle">
<path
id="path208"
style="text-anchor:middle"
d="m 136.46484,278.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path210"
style="text-anchor:middle"
d="m 147.14453,278.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path212"
style="text-anchor:middle"
d="m 150.98437,278.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path214"
style="text-anchor:middle"
d="m 156.125,278.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text81"
style="text-anchor:start">
<path
id="path217"
style="text-anchor:start"
d="m 96.984375,28.167969 0.847656,0 1.617188,2.398437 1.605471,-2.398437 0.84765,0 -2.062496,3.054687 0,2.777344 -0.792969,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path219"
style="text-anchor:start"
d="m 105.22266,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path221"
style="text-anchor:start"
d="m 107.58203,28.167969 1.0625,0 2.58594,4.878906 0,-4.878906 0.76562,0 0,5.832031 -1.0625,0 -2.58593,-4.878906 0,4.878906 -0.76563,0 0,-5.832031 z" />
</g>
<g
id="text83"
style="text-anchor:start">
<path
id="path224"
style="text-anchor:start"
d="m 96.984375,345.16797 0.847656,0 1.617188,2.39844 1.605471,-2.39844 0.84765,0 -2.062496,3.05469 0,2.77734 -0.792969,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path226"
style="text-anchor:start"
d="m 107.58984,345.70312 q -0.85937,0 -1.36718,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36718,0.64063 0.85938,0 1.35938,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22657,0 1.96094,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96094,0.82031 -1.23046,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73829,-0.82422 1.96875,-0.82422 z" />
<path
id="path228"
style="text-anchor:start"
d="m 111.42969,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33984,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10547,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path230"
style="text-anchor:start"
d="m 116.57031,345.16797 4.9336,0 0,0.66406 -2.07032,0 0,5.16797 -0.79296,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
</g>
</g>
</svg>

+ 475
- 0
plugins/community/repos/SubmarineFree/res/AO-112.svg View File

@@ -0,0 +1,475 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4226"
version="1.1"
height="380px"
width="255px">
<metadata
id="metadata115">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs113" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 255,0 0,380 -255,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 255,0 254,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 255,0 0,-380 -1,1 0,378 -253,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 244.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 236,373.83071 8.1692063,5.1693144 0 0 0 244.16915,379 8.1692063,5.1693144 0 0 0 251.48278,376.11985 3.0461447,4.2480502 0 0 0 254,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 244.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path119"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path121"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path123"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path125"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path127"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path129"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path131"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path133"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path135"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text10"
style="text-anchor:middle">
<path
id="path138"
style="text-anchor:middle"
d="m 109.08984,4.4179687 -1.60546,4.3535157 3.21679,0 -1.61133,-4.3535157 z m -0.66796,-1.1660156 1.34179,0 L 113.09766,12 l -1.23047,0 -0.79688,-2.2441406 -3.94336,0 L 106.33008,12 l -1.24805,0 3.33985,-8.7480469 z" />
<path
id="path140"
style="text-anchor:middle"
d="m 117.70898,4.0546875 q -1.28906,0 -2.05078,0.9609375 -0.75586,0.9609375 -0.75586,2.6191406 0,1.6523438 0.75586,2.6132814 0.76172,0.960937 2.05078,0.960937 1.28907,0 2.03907,-0.960937 0.75586,-0.9609376 0.75586,-2.6132814 0,-1.6582031 -0.75586,-2.6191406 -0.75,-0.9609375 -2.03907,-0.9609375 z m 0,-0.9609375 q 1.83985,0 2.94141,1.2363281 1.10156,1.2304688 1.10156,3.3046875 0,2.0683594 -1.10156,3.3046874 -1.10156,1.230469 -2.94141,1.230469 -1.8457,0 -2.95312,-1.230469 -1.10156,-1.2304686 -1.10156,-3.3046874 0,-2.0742187 1.10156,-3.3046875 1.10742,-1.2363281 2.95312,-1.2363281 z" />
<path
id="path142"
style="text-anchor:middle"
d="m 123.33984,8.2324219 3.15821,0 0,0.9609375 -3.15821,0 0,-0.9609375 z" />
<path
id="path144"
style="text-anchor:middle"
d="m 128.57812,11.003906 1.9336,0 0,-6.6738279 -2.10352,0.421875 0,-1.078125 2.0918,-0.421875 1.18359,0 0,7.7519529 1.9336,0 0,0.996094 -5.03907,0 0,-0.996094 z" />
<path
id="path146"
style="text-anchor:middle"
d="m 136.21875,11.003906 1.93359,0 0,-6.6738279 -2.10351,0.421875 0,-1.078125 2.09179,-0.421875 1.1836,0 0,7.7519529 1.93359,0 0,0.996094 -5.03906,0 0,-0.996094 z" />
<path
id="path148"
style="text-anchor:middle"
d="m 144.67383,11.003906 4.13086,0 0,0.996094 -5.55469,0 0,-0.996094 q 0.67383,-0.697265 1.83398,-1.8691404 1.16602,-1.1777344 1.46485,-1.5175781 0.56836,-0.6386719 0.79101,-1.078125 0.22852,-0.4453125 0.22852,-0.8730469 0,-0.6972656 -0.49219,-1.1367187 -0.48633,-0.4394532 -1.27148,-0.4394532 -0.55664,0 -1.17774,0.1933594 -0.61523,0.1933594 -1.31836,0.5859375 l 0,-1.1953125 q 0.71485,-0.2871093 1.33594,-0.4335937 0.62109,-0.1464844 1.13672,-0.1464844 1.35937,0 2.16797,0.6796875 0.80859,0.6796875 0.80859,1.8164062 0,0.5390625 -0.20508,1.0253907 -0.19921,0.4804687 -0.73242,1.1367187 -0.14648,0.1699219 -0.93164,0.984375 -0.78515,0.8085938 -2.21484,2.2675779 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
font-size="8"
id="group1">
<g
style="stroke:#719fcf"
id="g13">
<path
id="path15"
d="m 37.5,51.5 40,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path17"
d="m 37.5,97.5 40,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path19"
d="m 37.5,143.5 40,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path21"
d="m 37.5,189.5 40,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path23"
d="m 37.5,235.5 40,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path25"
d="m 37.5,281.5 40,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path27"
d="m 37.5,327.5 40,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path29"
d="m 37.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path31"
d="m 127.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path33"
d="m 217.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
</g>
<g
style="fill:#000000;stroke:none"
id="g35">
<path
id="rect37"
d="m 44.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect39"
d="m 44.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect41"
d="m 44.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect43"
d="m 44.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect45"
d="m 44.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect47"
d="m 44.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect49"
d="m 44.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect51"
d="m 44.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect53"
d="m 44.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect55"
d="m 44.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect57"
d="m 44.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect59"
d="m 44.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect61"
d="m 134.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect63"
d="m 134.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect65"
d="m 134.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect67"
d="m 134.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect69"
d="m 134.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect71"
d="m 134.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect73"
d="m 134.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect75"
d="m 134.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect77"
d="m 134.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect79"
d="m 134.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect81"
d="m 134.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect83"
d="m 134.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
<g
style="fill:#ffffff;stroke:none"
id="g85">
<g
id="text87"
style="text-anchor:middle">
<path
id="path175"
style="text-anchor:middle"
d="m 8.8164063,94.167969 0.8476562,0 1.4492185,2.167968 1.457032,-2.167968 0.847656,0 -1.875,2.800781 2,3.03125 -0.847656,0 L 11.054688,97.519531 9.4023438,100 8.5507813,100 10.632813,96.886719 8.8164063,94.167969 Z" />
<path
id="path177"
style="text-anchor:middle"
d="m 17.128906,94.167969 0.789063,0 0,5.832031 -0.789063,0 0,-5.832031 z" />
<path
id="path179"
style="text-anchor:middle"
d="m 19.488281,94.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
</g>
<g
id="text89"
style="text-anchor:middle">
<path
id="path182"
style="text-anchor:middle"
d="m 8.8164063,140.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,146 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path184"
style="text-anchor:middle"
d="m 17.128906,140.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path186"
style="text-anchor:middle"
d="m 19.488281,140.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text91"
style="text-anchor:middle">
<path
id="path189"
style="text-anchor:middle"
d="m 8.8164063,186.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,192 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path191"
style="text-anchor:middle"
d="m 17.128906,186.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path193"
style="text-anchor:middle"
d="m 19.488281,186.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text93"
style="text-anchor:middle">
<path
id="path196"
style="text-anchor:middle"
d="m 8.8164063,232.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,238 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path198"
style="text-anchor:middle"
d="m 17.128906,232.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path200"
style="text-anchor:middle"
d="m 19.488281,232.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text95"
style="text-anchor:middle">
<path
id="path203"
style="text-anchor:middle"
d="m 8.8164063,278.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,284 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path205"
style="text-anchor:middle"
d="m 17.128906,278.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path207"
style="text-anchor:middle"
d="m 19.488281,278.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text97"
style="text-anchor:middle">
<path
id="path210"
style="text-anchor:middle"
d="m 226.46484,94.167969 0.84766,0 1.44922,2.167968 1.45703,-2.167968 0.84766,0 -1.875,2.800781 2,3.03125 -0.84766,0 -1.64063,-2.480469 -1.65234,2.480469 -0.85156,0 2.08203,-3.113281 -1.81641,-2.71875 z" />
<path
id="path212"
style="text-anchor:middle"
d="m 237.14453,94.703125 q -0.85937,0 -1.36719,0.640625 -0.5039,0.640625 -0.5039,1.746094 0,1.101562 0.5039,1.742187 0.50782,0.640625 1.36719,0.640625 0.85938,0 1.35938,-0.640625 0.5039,-0.640625 0.5039,-1.742187 0,-1.105469 -0.5039,-1.746094 -0.5,-0.640625 -1.35938,-0.640625 z m 0,-0.640625 q 1.22656,0 1.96094,0.824219 0.73437,0.820312 0.73437,2.203125 0,1.378906 -0.73437,2.203125 -0.73438,0.820311 -1.96094,0.820311 -1.23047,0 -1.96875,-0.820311 -0.73437,-0.820313 -0.73437,-2.203125 0,-1.382813 0.73437,-2.203125 0.73828,-0.824219 1.96875,-0.824219 z" />
<path
id="path214"
style="text-anchor:middle"
d="m 240.98437,94.167969 0.79297,0 0,3.542968 q 0,0.9375 0.33985,1.351563 0.33984,0.410156 1.10156,0.410156 0.75781,0 1.09766,-0.410156 0.33984,-0.414063 0.33984,-1.351563 l 0,-3.542968 0.79297,0 0,3.640625 q 0,1.140625 -0.56641,1.722656 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path216"
style="text-anchor:middle"
d="m 246.125,94.167969 4.93359,0 0,0.664062 -2.07031,0 0,5.167969 -0.79297,0 0,-5.167969 -2.07031,0 0,-0.664062 z" />
</g>
<g
id="text99"
style="text-anchor:middle">
<path
id="path219"
style="text-anchor:middle"
d="m 226.46484,140.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path221"
style="text-anchor:middle"
d="m 237.14453,140.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path223"
style="text-anchor:middle"
d="m 240.98437,140.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path225"
style="text-anchor:middle"
d="m 246.125,140.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text101"
style="text-anchor:middle">
<path
id="path228"
style="text-anchor:middle"
d="m 226.46484,186.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path230"
style="text-anchor:middle"
d="m 237.14453,186.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path232"
style="text-anchor:middle"
d="m 240.98437,186.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path234"
style="text-anchor:middle"
d="m 246.125,186.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text103"
style="text-anchor:middle">
<path
id="path237"
style="text-anchor:middle"
d="m 226.46484,232.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path239"
style="text-anchor:middle"
d="m 237.14453,232.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path241"
style="text-anchor:middle"
d="m 240.98437,232.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path243"
style="text-anchor:middle"
d="m 246.125,232.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text105"
style="text-anchor:middle">
<path
id="path246"
style="text-anchor:middle"
d="m 226.46484,278.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path248"
style="text-anchor:middle"
d="m 237.14453,278.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path250"
style="text-anchor:middle"
d="m 240.98437,278.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path252"
style="text-anchor:middle"
d="m 246.125,278.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text107"
style="text-anchor:middle">
<path
id="path255"
style="text-anchor:middle"
d="m 119.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path257"
style="text-anchor:middle"
d="m 127.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path259"
style="text-anchor:middle"
d="m 130.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text109"
style="text-anchor:middle">
<path
id="path262"
style="text-anchor:middle"
d="m 115.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path264"
style="text-anchor:middle"
d="m 125.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path266"
style="text-anchor:middle"
d="m 129.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path268"
style="text-anchor:middle"
d="m 134.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
</g>
</g>
</svg>

+ 562
- 0
plugins/community/repos/SubmarineFree/res/AO-118.svg View File

@@ -0,0 +1,562 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4226"
version="1.1"
height="380px"
width="345px">
<metadata
id="metadata145">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs143" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 345,0 0,380 -345,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 345,0 344,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 345,0 0,-380 -1,1 0,378 -343,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 334.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 326,373.83071 8.1692063,5.1693144 0 0 0 334.16915,379 8.1692063,5.1693144 0 0 0 341.48278,376.11985 3.0461447,4.2480502 0 0 0 344,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 334.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path149"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path151"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path153"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path155"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path157"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path159"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path161"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path163"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path165"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text10"
style="text-anchor:middle">
<path
id="path168"
style="text-anchor:middle"
d="m 154.08984,4.4179687 -1.60547,4.3535157 3.2168,0 -1.61133,-4.3535157 z m -0.66797,-1.1660156 1.3418,0 L 158.09766,12 l -1.23047,0 -0.79688,-2.2441406 -3.94336,0 L 151.33008,12 l -1.24805,0 3.33984,-8.7480469 z" />
<path
id="path170"
style="text-anchor:middle"
d="m 162.70898,4.0546875 q -1.28906,0 -2.05078,0.9609375 -0.75586,0.9609375 -0.75586,2.6191406 0,1.6523438 0.75586,2.6132814 0.76172,0.960937 2.05078,0.960937 1.28907,0 2.03907,-0.960937 0.75586,-0.9609376 0.75586,-2.6132814 0,-1.6582031 -0.75586,-2.6191406 -0.75,-0.9609375 -2.03907,-0.9609375 z m 0,-0.9609375 q 1.83985,0 2.94141,1.2363281 1.10156,1.2304688 1.10156,3.3046875 0,2.0683594 -1.10156,3.3046874 -1.10156,1.230469 -2.94141,1.230469 -1.8457,0 -2.95312,-1.230469 -1.10156,-1.2304686 -1.10156,-3.3046874 0,-2.0742187 1.10156,-3.3046875 1.10742,-1.2363281 2.95312,-1.2363281 z" />
<path
id="path172"
style="text-anchor:middle"
d="m 168.33984,8.2324219 3.15821,0 0,0.9609375 -3.15821,0 0,-0.9609375 z" />
<path
id="path174"
style="text-anchor:middle"
d="m 173.57812,11.003906 1.9336,0 0,-6.6738279 -2.10352,0.421875 0,-1.078125 2.0918,-0.421875 1.18359,0 0,7.7519529 1.9336,0 0,0.996094 -5.03907,0 0,-0.996094 z" />
<path
id="path176"
style="text-anchor:middle"
d="m 181.21875,11.003906 1.93359,0 0,-6.6738279 -2.10351,0.421875 0,-1.078125 2.09179,-0.421875 1.1836,0 0,7.7519529 1.93359,0 0,0.996094 -5.03906,0 0,-0.996094 z" />
<path
id="path178"
style="text-anchor:middle"
d="m 191.18555,7.8457031 q -0.84375,0 -1.33008,0.4511719 -0.48047,0.4511719 -0.48047,1.2421875 0,0.7910155 0.48047,1.2421875 0.48633,0.451172 1.33008,0.451172 0.84375,0 1.33007,-0.451172 0.48633,-0.457031 0.48633,-1.2421875 0,-0.7910156 -0.48633,-1.2421875 -0.48046,-0.4511719 -1.33007,-0.4511719 z m -1.1836,-0.5039062 q -0.76172,-0.1875 -1.18945,-0.7089844 -0.42188,-0.5214844 -0.42188,-1.2714844 0,-1.0488281 0.74415,-1.6582031 0.75,-0.609375 2.05078,-0.609375 1.30664,0 2.05078,0.609375 0.74414,0.609375 0.74414,1.6582031 0,0.75 -0.42774,1.2714844 -0.42187,0.5214844 -1.17773,0.7089844 0.85547,0.1992187 1.33008,0.7792969 0.48047,0.5800781 0.48047,1.4179687 0,1.2714845 -0.7793,1.9511715 -0.77344,0.679688 -2.2207,0.679688 -1.44727,0 -2.22657,-0.679688 -0.77343,-0.679687 -0.77343,-1.9511715 0,-0.8378906 0.48047,-1.4179687 0.48046,-0.5800782 1.33593,-0.7792969 z m -0.43359,-1.8691407 q 0,0.6796875 0.42187,1.0605469 0.42774,0.3808594 1.19532,0.3808594 0.76172,0 1.18945,-0.3808594 0.43359,-0.3808594 0.43359,-1.0605469 0,-0.6796875 -0.43359,-1.0605468 -0.42773,-0.3808594 -1.18945,-0.3808594 -0.76758,0 -1.19532,0.3808594 -0.42187,0.3808593 -0.42187,1.0605468 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
font-size="8"
id="group1">
<g
style="stroke:#719fcf"
id="g13">
<path
id="path15"
d="m 37.5,51.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path17"
d="m 37.5,97.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path19"
d="m 37.5,143.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path21"
d="m 37.5,189.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path23"
d="m 37.5,235.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path25"
d="m 37.5,281.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path27"
d="m 37.5,327.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path29"
d="m 37.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path31"
d="m 127.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path33"
d="m 217.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path35"
d="m 307.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
</g>
<g
style="fill:#000000;stroke:none"
id="g37">
<path
id="rect39"
d="m 44.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect41"
d="m 44.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect43"
d="m 44.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect45"
d="m 44.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect47"
d="m 44.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect49"
d="m 44.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect51"
d="m 44.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect53"
d="m 44.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect55"
d="m 44.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect57"
d="m 44.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect59"
d="m 44.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect61"
d="m 44.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect63"
d="m 134.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect65"
d="m 134.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect67"
d="m 134.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect69"
d="m 134.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect71"
d="m 134.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect73"
d="m 134.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect75"
d="m 134.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect77"
d="m 134.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect79"
d="m 134.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect81"
d="m 134.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect83"
d="m 134.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect85"
d="m 134.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect87"
d="m 224.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect89"
d="m 224.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect91"
d="m 224.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect93"
d="m 224.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect95"
d="m 224.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect97"
d="m 224.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect99"
d="m 224.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect101"
d="m 224.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect103"
d="m 224.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect105"
d="m 224.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect107"
d="m 224.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect109"
d="m 224.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
<g
style="fill:#ffffff;stroke:none"
id="g111">
<g
id="text113"
style="text-anchor:middle">
<path
id="path217"
style="text-anchor:middle"
d="m 8.8164063,94.167969 0.8476562,0 1.4492185,2.167968 1.457032,-2.167968 0.847656,0 -1.875,2.800781 2,3.03125 -0.847656,0 L 11.054688,97.519531 9.4023438,100 8.5507813,100 10.632813,96.886719 8.8164063,94.167969 Z" />
<path
id="path219"
style="text-anchor:middle"
d="m 17.128906,94.167969 0.789063,0 0,5.832031 -0.789063,0 0,-5.832031 z" />
<path
id="path221"
style="text-anchor:middle"
d="m 19.488281,94.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
</g>
<g
id="text115"
style="text-anchor:middle">
<path
id="path224"
style="text-anchor:middle"
d="m 8.8164063,140.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,146 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path226"
style="text-anchor:middle"
d="m 17.128906,140.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path228"
style="text-anchor:middle"
d="m 19.488281,140.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text117"
style="text-anchor:middle">
<path
id="path231"
style="text-anchor:middle"
d="m 8.8164063,186.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,192 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path233"
style="text-anchor:middle"
d="m 17.128906,186.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path235"
style="text-anchor:middle"
d="m 19.488281,186.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text119"
style="text-anchor:middle">
<path
id="path238"
style="text-anchor:middle"
d="m 8.8164063,232.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,238 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path240"
style="text-anchor:middle"
d="m 17.128906,232.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path242"
style="text-anchor:middle"
d="m 19.488281,232.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text121"
style="text-anchor:middle">
<path
id="path245"
style="text-anchor:middle"
d="m 8.8164063,278.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,284 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path247"
style="text-anchor:middle"
d="m 17.128906,278.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path249"
style="text-anchor:middle"
d="m 19.488281,278.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text123"
style="text-anchor:middle">
<path
id="path252"
style="text-anchor:middle"
d="m 316.46484,94.167969 0.84766,0 1.44922,2.167968 1.45703,-2.167968 0.84766,0 -1.875,2.800781 2,3.03125 -0.84766,0 -1.64063,-2.480469 -1.65234,2.480469 -0.85156,0 2.08203,-3.113281 -1.81641,-2.71875 z" />
<path
id="path254"
style="text-anchor:middle"
d="m 327.14453,94.703125 q -0.85937,0 -1.36719,0.640625 -0.5039,0.640625 -0.5039,1.746094 0,1.101562 0.5039,1.742187 0.50782,0.640625 1.36719,0.640625 0.85938,0 1.35938,-0.640625 0.5039,-0.640625 0.5039,-1.742187 0,-1.105469 -0.5039,-1.746094 -0.5,-0.640625 -1.35938,-0.640625 z m 0,-0.640625 q 1.22656,0 1.96094,0.824219 0.73437,0.820312 0.73437,2.203125 0,1.378906 -0.73437,2.203125 -0.73438,0.820311 -1.96094,0.820311 -1.23047,0 -1.96875,-0.820311 -0.73437,-0.820313 -0.73437,-2.203125 0,-1.382813 0.73437,-2.203125 0.73828,-0.824219 1.96875,-0.824219 z" />
<path
id="path256"
style="text-anchor:middle"
d="m 330.98437,94.167969 0.79297,0 0,3.542968 q 0,0.9375 0.33985,1.351563 0.33984,0.410156 1.10156,0.410156 0.75781,0 1.09766,-0.410156 0.33984,-0.414063 0.33984,-1.351563 l 0,-3.542968 0.79297,0 0,3.640625 q 0,1.140625 -0.56641,1.722656 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path258"
style="text-anchor:middle"
d="m 336.125,94.167969 4.93359,0 0,0.664062 -2.07031,0 0,5.167969 -0.79297,0 0,-5.167969 -2.07031,0 0,-0.664062 z" />
</g>
<g
id="text125"
style="text-anchor:middle">
<path
id="path261"
style="text-anchor:middle"
d="m 316.46484,140.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path263"
style="text-anchor:middle"
d="m 327.14453,140.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path265"
style="text-anchor:middle"
d="m 330.98437,140.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path267"
style="text-anchor:middle"
d="m 336.125,140.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text127"
style="text-anchor:middle">
<path
id="path270"
style="text-anchor:middle"
d="m 316.46484,186.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path272"
style="text-anchor:middle"
d="m 327.14453,186.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path274"
style="text-anchor:middle"
d="m 330.98437,186.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path276"
style="text-anchor:middle"
d="m 336.125,186.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text129"
style="text-anchor:middle">
<path
id="path279"
style="text-anchor:middle"
d="m 316.46484,232.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path281"
style="text-anchor:middle"
d="m 327.14453,232.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path283"
style="text-anchor:middle"
d="m 330.98437,232.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path285"
style="text-anchor:middle"
d="m 336.125,232.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text131"
style="text-anchor:middle">
<path
id="path288"
style="text-anchor:middle"
d="m 316.46484,278.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path290"
style="text-anchor:middle"
d="m 327.14453,278.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path292"
style="text-anchor:middle"
d="m 330.98437,278.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path294"
style="text-anchor:middle"
d="m 336.125,278.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text133"
style="text-anchor:middle">
<path
id="path297"
style="text-anchor:middle"
d="m 119.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path299"
style="text-anchor:middle"
d="m 127.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path301"
style="text-anchor:middle"
d="m 130.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text135"
style="text-anchor:middle">
<path
id="path304"
style="text-anchor:middle"
d="m 115.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path306"
style="text-anchor:middle"
d="m 125.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path308"
style="text-anchor:middle"
d="m 129.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path310"
style="text-anchor:middle"
d="m 134.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
<g
id="text137"
style="text-anchor:middle">
<path
id="path313"
style="text-anchor:middle"
d="m 209.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path315"
style="text-anchor:middle"
d="m 217.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path317"
style="text-anchor:middle"
d="m 220.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text139"
style="text-anchor:middle">
<path
id="path320"
style="text-anchor:middle"
d="m 205.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path322"
style="text-anchor:middle"
d="m 215.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path324"
style="text-anchor:middle"
d="m 219.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path326"
style="text-anchor:middle"
d="m 224.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
</g>
</g>
</svg>

+ 649
- 0
plugins/community/repos/SubmarineFree/res/AO-124.svg View File

@@ -0,0 +1,649 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4226"
version="1.1"
height="380px"
width="435px">
<metadata
id="metadata175">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs173" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 435,0 0,380 -435,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 435,0 434,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 435,0 0,-380 -1,1 0,378 -433,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 424.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 416,373.83071 8.1692063,5.1693144 0 0 0 424.16915,379 8.1692063,5.1693144 0 0 0 431.48278,376.11985 3.0461447,4.2480502 0 0 0 434,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 424.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path179"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path181"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path183"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path185"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path187"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path189"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path191"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path193"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path195"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text10"
style="text-anchor:middle">
<path
id="path198"
style="text-anchor:middle"
d="m 199.08984,4.4179687 -1.60547,4.3535157 3.2168,0 -1.61133,-4.3535157 z m -0.66797,-1.1660156 1.3418,0 L 203.09766,12 l -1.23047,0 -0.79688,-2.2441406 -3.94336,0 L 196.33008,12 l -1.24805,0 3.33984,-8.7480469 z" />
<path
id="path200"
style="text-anchor:middle"
d="m 207.70898,4.0546875 q -1.28906,0 -2.05078,0.9609375 -0.75586,0.9609375 -0.75586,2.6191406 0,1.6523438 0.75586,2.6132814 0.76172,0.960937 2.05078,0.960937 1.28907,0 2.03907,-0.960937 0.75586,-0.9609376 0.75586,-2.6132814 0,-1.6582031 -0.75586,-2.6191406 -0.75,-0.9609375 -2.03907,-0.9609375 z m 0,-0.9609375 q 1.83985,0 2.94141,1.2363281 1.10156,1.2304688 1.10156,3.3046875 0,2.0683594 -1.10156,3.3046874 -1.10156,1.230469 -2.94141,1.230469 -1.8457,0 -2.95312,-1.230469 -1.10156,-1.2304686 -1.10156,-3.3046874 0,-2.0742187 1.10156,-3.3046875 1.10742,-1.2363281 2.95312,-1.2363281 z" />
<path
id="path202"
style="text-anchor:middle"
d="m 213.33984,8.2324219 3.15821,0 0,0.9609375 -3.15821,0 0,-0.9609375 z" />
<path
id="path204"
style="text-anchor:middle"
d="m 218.57812,11.003906 1.9336,0 0,-6.6738279 -2.10352,0.421875 0,-1.078125 2.0918,-0.421875 1.18359,0 0,7.7519529 1.9336,0 0,0.996094 -5.03907,0 0,-0.996094 z" />
<path
id="path206"
style="text-anchor:middle"
d="m 227.0332,11.003906 4.13086,0 0,0.996094 -5.55469,0 0,-0.996094 q 0.67383,-0.697265 1.83399,-1.8691404 1.16601,-1.1777344 1.46484,-1.5175781 0.56836,-0.6386719 0.79102,-1.078125 0.22851,-0.4453125 0.22851,-0.8730469 0,-0.6972656 -0.49218,-1.1367187 -0.48633,-0.4394532 -1.27149,-0.4394532 -0.55664,0 -1.17773,0.1933594 -0.61524,0.1933594 -1.31836,0.5859375 l 0,-1.1953125 q 0.71484,-0.2871093 1.33594,-0.4335937 0.62109,-0.1464844 1.13671,-0.1464844 1.35938,0 2.16797,0.6796875 0.8086,0.6796875 0.8086,1.8164062 0,0.5390625 -0.20508,1.0253907 -0.19922,0.4804687 -0.73242,1.1367187 -0.14649,0.1699219 -0.93164,0.984375 -0.78516,0.8085938 -2.21485,2.2675779 z" />
<path
id="path208"
style="text-anchor:middle"
d="m 236.90625,4.2832031 -2.98828,4.6699219 2.98828,0 0,-4.6699219 z m -0.31055,-1.03125 1.48828,0 0,5.7011719 1.24805,0 0,0.984375 -1.24805,0 0,2.0625 -1.17773,0 0,-2.0625 -3.94922,0 0,-1.1425781 3.63867,-5.5429688 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
font-size="8"
id="group1">
<g
style="stroke:#719fcf"
id="g13">
<path
id="path15"
d="m 37.5,51.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path17"
d="m 37.5,97.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path19"
d="m 37.5,143.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path21"
d="m 37.5,189.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path23"
d="m 37.5,235.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path25"
d="m 37.5,281.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path27"
d="m 37.5,327.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path29"
d="m 37.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path31"
d="m 127.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path33"
d="m 217.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path35"
d="m 307.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path37"
d="m 397.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
</g>
<g
style="fill:#000000;stroke:none"
id="g39">
<path
id="rect41"
d="m 44.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect43"
d="m 44.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect45"
d="m 44.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect47"
d="m 44.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect49"
d="m 44.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect51"
d="m 44.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect53"
d="m 44.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect55"
d="m 44.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect57"
d="m 44.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect59"
d="m 44.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect61"
d="m 44.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect63"
d="m 44.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect65"
d="m 134.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect67"
d="m 134.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect69"
d="m 134.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect71"
d="m 134.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect73"
d="m 134.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect75"
d="m 134.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect77"
d="m 134.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect79"
d="m 134.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect81"
d="m 134.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect83"
d="m 134.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect85"
d="m 134.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect87"
d="m 134.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect89"
d="m 224.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect91"
d="m 224.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect93"
d="m 224.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect95"
d="m 224.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect97"
d="m 224.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect99"
d="m 224.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect101"
d="m 224.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect103"
d="m 224.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect105"
d="m 224.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect107"
d="m 224.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect109"
d="m 224.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect111"
d="m 224.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect113"
d="m 314.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect115"
d="m 314.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect117"
d="m 314.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect119"
d="m 314.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect121"
d="m 314.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect123"
d="m 314.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect125"
d="m 314.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect127"
d="m 314.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect129"
d="m 314.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect131"
d="m 314.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect133"
d="m 314.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect135"
d="m 314.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
<g
style="fill:#ffffff;stroke:none"
id="g137">
<g
id="text139"
style="text-anchor:middle">
<path
id="path259"
style="text-anchor:middle"
d="m 8.8164063,94.167969 0.8476562,0 1.4492185,2.167968 1.457032,-2.167968 0.847656,0 -1.875,2.800781 2,3.03125 -0.847656,0 L 11.054688,97.519531 9.4023438,100 8.5507813,100 10.632813,96.886719 8.8164063,94.167969 Z" />
<path
id="path261"
style="text-anchor:middle"
d="m 17.128906,94.167969 0.789063,0 0,5.832031 -0.789063,0 0,-5.832031 z" />
<path
id="path263"
style="text-anchor:middle"
d="m 19.488281,94.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
</g>
<g
id="text141"
style="text-anchor:middle">
<path
id="path266"
style="text-anchor:middle"
d="m 8.8164063,140.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,146 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path268"
style="text-anchor:middle"
d="m 17.128906,140.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path270"
style="text-anchor:middle"
d="m 19.488281,140.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text143"
style="text-anchor:middle">
<path
id="path273"
style="text-anchor:middle"
d="m 8.8164063,186.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,192 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path275"
style="text-anchor:middle"
d="m 17.128906,186.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path277"
style="text-anchor:middle"
d="m 19.488281,186.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text145"
style="text-anchor:middle">
<path
id="path280"
style="text-anchor:middle"
d="m 8.8164063,232.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,238 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path282"
style="text-anchor:middle"
d="m 17.128906,232.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path284"
style="text-anchor:middle"
d="m 19.488281,232.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text147"
style="text-anchor:middle">
<path
id="path287"
style="text-anchor:middle"
d="m 8.8164063,278.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,284 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path289"
style="text-anchor:middle"
d="m 17.128906,278.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path291"
style="text-anchor:middle"
d="m 19.488281,278.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text149"
style="text-anchor:middle">
<path
id="path294"
style="text-anchor:middle"
d="m 406.46484,94.167969 0.84766,0 1.44922,2.167968 1.45703,-2.167968 0.84766,0 -1.875,2.800781 2,3.03125 -0.84766,0 -1.64063,-2.480469 -1.65234,2.480469 -0.85156,0 2.08203,-3.113281 -1.81641,-2.71875 z" />
<path
id="path296"
style="text-anchor:middle"
d="m 417.14453,94.703125 q -0.85937,0 -1.36719,0.640625 -0.5039,0.640625 -0.5039,1.746094 0,1.101562 0.5039,1.742187 0.50782,0.640625 1.36719,0.640625 0.85938,0 1.35938,-0.640625 0.5039,-0.640625 0.5039,-1.742187 0,-1.105469 -0.5039,-1.746094 -0.5,-0.640625 -1.35938,-0.640625 z m 0,-0.640625 q 1.22656,0 1.96094,0.824219 0.73437,0.820312 0.73437,2.203125 0,1.378906 -0.73437,2.203125 -0.73438,0.820311 -1.96094,0.820311 -1.23047,0 -1.96875,-0.820311 -0.73437,-0.820313 -0.73437,-2.203125 0,-1.382813 0.73437,-2.203125 0.73828,-0.824219 1.96875,-0.824219 z" />
<path
id="path298"
style="text-anchor:middle"
d="m 420.98437,94.167969 0.79297,0 0,3.542968 q 0,0.9375 0.33985,1.351563 0.33984,0.410156 1.10156,0.410156 0.75781,0 1.09766,-0.410156 0.33984,-0.414063 0.33984,-1.351563 l 0,-3.542968 0.79297,0 0,3.640625 q 0,1.140625 -0.56641,1.722656 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path300"
style="text-anchor:middle"
d="m 426.125,94.167969 4.93359,0 0,0.664062 -2.07031,0 0,5.167969 -0.79297,0 0,-5.167969 -2.07031,0 0,-0.664062 z" />
</g>
<g
id="text151"
style="text-anchor:middle">
<path
id="path303"
style="text-anchor:middle"
d="m 406.46484,140.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path305"
style="text-anchor:middle"
d="m 417.14453,140.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path307"
style="text-anchor:middle"
d="m 420.98437,140.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path309"
style="text-anchor:middle"
d="m 426.125,140.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text153"
style="text-anchor:middle">
<path
id="path312"
style="text-anchor:middle"
d="m 406.46484,186.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path314"
style="text-anchor:middle"
d="m 417.14453,186.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path316"
style="text-anchor:middle"
d="m 420.98437,186.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path318"
style="text-anchor:middle"
d="m 426.125,186.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text155"
style="text-anchor:middle">
<path
id="path321"
style="text-anchor:middle"
d="m 406.46484,232.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path323"
style="text-anchor:middle"
d="m 417.14453,232.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path325"
style="text-anchor:middle"
d="m 420.98437,232.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path327"
style="text-anchor:middle"
d="m 426.125,232.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text157"
style="text-anchor:middle">
<path
id="path330"
style="text-anchor:middle"
d="m 406.46484,278.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path332"
style="text-anchor:middle"
d="m 417.14453,278.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path334"
style="text-anchor:middle"
d="m 420.98437,278.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path336"
style="text-anchor:middle"
d="m 426.125,278.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text159"
style="text-anchor:middle">
<path
id="path339"
style="text-anchor:middle"
d="m 119.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path341"
style="text-anchor:middle"
d="m 127.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path343"
style="text-anchor:middle"
d="m 130.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text161"
style="text-anchor:middle">
<path
id="path346"
style="text-anchor:middle"
d="m 115.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path348"
style="text-anchor:middle"
d="m 125.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path350"
style="text-anchor:middle"
d="m 129.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path352"
style="text-anchor:middle"
d="m 134.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
<g
id="text163"
style="text-anchor:middle">
<path
id="path355"
style="text-anchor:middle"
d="m 209.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path357"
style="text-anchor:middle"
d="m 217.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path359"
style="text-anchor:middle"
d="m 220.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text165"
style="text-anchor:middle">
<path
id="path362"
style="text-anchor:middle"
d="m 205.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path364"
style="text-anchor:middle"
d="m 215.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path366"
style="text-anchor:middle"
d="m 219.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path368"
style="text-anchor:middle"
d="m 224.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
<g
id="text167"
style="text-anchor:middle">
<path
id="path371"
style="text-anchor:middle"
d="m 299.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path373"
style="text-anchor:middle"
d="m 307.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path375"
style="text-anchor:middle"
d="m 310.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text169"
style="text-anchor:middle">
<path
id="path378"
style="text-anchor:middle"
d="m 295.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path380"
style="text-anchor:middle"
d="m 305.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path382"
style="text-anchor:middle"
d="m 309.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path384"
style="text-anchor:middle"
d="m 314.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
</g>
</g>
</svg>

+ 823
- 0
plugins/community/repos/SubmarineFree/res/AO-136.svg View File

@@ -0,0 +1,823 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4226"
version="1.1"
height="380px"
width="615px">
<metadata
id="metadata235">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs233" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 615,0 0,380 -615,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 615,0 614,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 615,0 0,-380 -1,1 0,378 -613,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 604.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 596,373.83071 8.1692063,5.1693144 0 0 0 604.16915,379 8.1692063,5.1693144 0 0 0 611.48278,376.11985 3.0461447,4.2480502 0 0 0 614,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 604.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path239"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path241"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path243"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path245"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path247"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path249"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path251"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path253"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path255"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text10"
style="text-anchor:middle">
<path
id="path258"
style="text-anchor:middle"
d="m 289.08984,4.4179687 -1.60547,4.3535157 3.2168,0 -1.61133,-4.3535157 z m -0.66797,-1.1660156 1.3418,0 L 293.09766,12 l -1.23047,0 -0.79688,-2.2441406 -3.94336,0 L 286.33008,12 l -1.24805,0 3.33984,-8.7480469 z" />
<path
id="path260"
style="text-anchor:middle"
d="m 297.70898,4.0546875 q -1.28906,0 -2.05078,0.9609375 -0.75586,0.9609375 -0.75586,2.6191406 0,1.6523438 0.75586,2.6132814 0.76172,0.960937 2.05078,0.960937 1.28907,0 2.03907,-0.960937 0.75586,-0.9609376 0.75586,-2.6132814 0,-1.6582031 -0.75586,-2.6191406 -0.75,-0.9609375 -2.03907,-0.9609375 z m 0,-0.9609375 q 1.83985,0 2.94141,1.2363281 1.10156,1.2304688 1.10156,3.3046875 0,2.0683594 -1.10156,3.3046874 -1.10156,1.230469 -2.94141,1.230469 -1.8457,0 -2.95312,-1.230469 -1.10156,-1.2304686 -1.10156,-3.3046874 0,-2.0742187 1.10156,-3.3046875 1.10742,-1.2363281 2.95312,-1.2363281 z" />
<path
id="path262"
style="text-anchor:middle"
d="m 303.33984,8.2324219 3.15821,0 0,0.9609375 -3.15821,0 0,-0.9609375 z" />
<path
id="path264"
style="text-anchor:middle"
d="m 308.57812,11.003906 1.9336,0 0,-6.6738279 -2.10352,0.421875 0,-1.078125 2.0918,-0.421875 1.18359,0 0,7.7519529 1.9336,0 0,0.996094 -5.03907,0 0,-0.996094 z" />
<path
id="path266"
style="text-anchor:middle"
d="m 319.59961,7.2832031 q 0.84961,0.1816406 1.32422,0.7558594 0.48047,0.5742188 0.48047,1.4179688 0,1.2949217 -0.89063,2.0039067 -0.89062,0.708984 -2.53125,0.708984 -0.55078,0 -1.13672,-0.111328 -0.58008,-0.105469 -1.20117,-0.322266 l 0,-1.142578 q 0.49219,0.287109 1.07813,0.433594 0.58593,0.146484 1.22461,0.146484 1.11328,0 1.69335,-0.439453 0.58594,-0.439453 0.58594,-1.2773437 0,-0.7734375 -0.54492,-1.2070313 -0.53906,-0.4394531 -1.50586,-0.4394531 l -1.01953,0 0,-0.9726563 1.06641,0 q 0.87304,0 1.33593,-0.3457031 0.46289,-0.3515625 0.46289,-1.0078125 0,-0.6738281 -0.48046,-1.03125 -0.47461,-0.3632813 -1.36524,-0.3632813 -0.48633,0 -1.04297,0.1054688 -0.55664,0.1054687 -1.22461,0.328125 l 0,-1.0546875 q 0.67383,-0.1875 1.25977,-0.28125 0.5918,-0.09375 1.11328,-0.09375 1.34766,0 2.13281,0.6152344 0.78516,0.609375 0.78516,1.6523437 0,0.7265625 -0.41602,1.2304688 -0.41601,0.4980468 -1.18359,0.6914062 z" />
<path
id="path268"
style="text-anchor:middle"
d="m 326.33203,7.1542969 q -0.79687,0 -1.26562,0.5449218 -0.46289,0.5449219 -0.46289,1.4941407 0,0.9433596 0.46289,1.4941406 0.46875,0.544922 1.26562,0.544922 0.79688,0 1.25977,-0.544922 0.46875,-0.550781 0.46875,-1.4941406 0,-0.9492188 -0.46875,-1.4941407 -0.46289,-0.5449218 -1.25977,-0.5449218 z m 2.34961,-3.7089844 0,1.078125 Q 328.23633,4.3125 327.7793,4.2011719 q -0.45118,-0.1113282 -0.89649,-0.1113282 -1.17187,0 -1.79297,0.7910157 -0.61523,0.7910156 -0.70312,2.390625 0.3457,-0.5097657 0.86719,-0.7792969 0.52148,-0.2753906 1.14843,-0.2753906 1.31836,0 2.08008,0.8027343 0.76758,0.796875 0.76758,2.1738282 0,1.3476566 -0.79688,2.1621096 -0.79687,0.814453 -2.12109,0.814453 -1.51758,0 -2.32031,-1.160156 -0.80274,-1.166016 -0.80274,-3.3750004 0,-2.0742187 0.98438,-3.3046875 0.98437,-1.2363281 2.64258,-1.2363281 0.44531,0 0.89648,0.087891 0.45703,0.087891 0.94922,0.2636719 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
font-size="8"
id="group1">
<g
style="stroke:#719fcf"
id="g13">
<path
id="path15"
d="m 37.5,51.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path17"
d="m 37.5,97.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path19"
d="m 37.5,143.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path21"
d="m 37.5,189.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path23"
d="m 37.5,235.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path25"
d="m 37.5,281.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path27"
d="m 37.5,327.5 40,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 80,0 5,4 5,-4 40,0" />
<path
id="path29"
d="m 37.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path31"
d="m 127.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path33"
d="m 217.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path35"
d="m 307.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path37"
d="m 397.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path39"
d="m 487.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
<path
id="path41"
d="m 577.5,51.5 0,18 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,36 4,5 -4,5 0,18" />
</g>
<g
style="fill:#000000;stroke:none"
id="g43">
<path
id="rect45"
d="m 44.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect47"
d="m 44.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect49"
d="m 44.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect51"
d="m 44.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect53"
d="m 44.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect55"
d="m 44.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect57"
d="m 44.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect59"
d="m 44.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect61"
d="m 44.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect63"
d="m 44.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect65"
d="m 44.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect67"
d="m 44.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect69"
d="m 134.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect71"
d="m 134.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect73"
d="m 134.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect75"
d="m 134.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect77"
d="m 134.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect79"
d="m 134.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect81"
d="m 134.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect83"
d="m 134.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect85"
d="m 134.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect87"
d="m 134.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect89"
d="m 134.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect91"
d="m 134.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect93"
d="m 224.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect95"
d="m 224.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect97"
d="m 224.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect99"
d="m 224.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect101"
d="m 224.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect103"
d="m 224.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect105"
d="m 224.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect107"
d="m 224.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect109"
d="m 224.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect111"
d="m 224.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect113"
d="m 224.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect115"
d="m 224.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect117"
d="m 314.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect119"
d="m 314.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect121"
d="m 314.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect123"
d="m 314.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect125"
d="m 314.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect127"
d="m 314.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect129"
d="m 314.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect131"
d="m 314.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect133"
d="m 314.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect135"
d="m 314.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect137"
d="m 314.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect139"
d="m 314.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect141"
d="m 404.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect143"
d="m 404.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect145"
d="m 404.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect147"
d="m 404.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect149"
d="m 404.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect151"
d="m 404.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect153"
d="m 404.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect155"
d="m 404.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect157"
d="m 404.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect159"
d="m 404.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect161"
d="m 404.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect163"
d="m 404.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect165"
d="m 494.5,59 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect167"
d="m 494.5,78 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect169"
d="m 494.5,105 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect171"
d="m 494.5,124 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect173"
d="m 494.5,151 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect175"
d="m 494.5,170 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect177"
d="m 494.5,197 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect179"
d="m 494.5,216 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect181"
d="m 494.5,243 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect183"
d="m 494.5,262 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect185"
d="m 494.5,289 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect187"
d="m 494.5,308 79,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -79,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
<g
style="fill:#ffffff;stroke:none"
id="g189">
<g
id="text191"
style="text-anchor:middle">
<path
id="path343"
style="text-anchor:middle"
d="m 8.8164063,94.167969 0.8476562,0 1.4492185,2.167968 1.457032,-2.167968 0.847656,0 -1.875,2.800781 2,3.03125 -0.847656,0 L 11.054688,97.519531 9.4023438,100 8.5507813,100 10.632813,96.886719 8.8164063,94.167969 Z" />
<path
id="path345"
style="text-anchor:middle"
d="m 17.128906,94.167969 0.789063,0 0,5.832031 -0.789063,0 0,-5.832031 z" />
<path
id="path347"
style="text-anchor:middle"
d="m 19.488281,94.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
</g>
<g
id="text193"
style="text-anchor:middle">
<path
id="path350"
style="text-anchor:middle"
d="m 8.8164063,140.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,146 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path352"
style="text-anchor:middle"
d="m 17.128906,140.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path354"
style="text-anchor:middle"
d="m 19.488281,140.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text195"
style="text-anchor:middle">
<path
id="path357"
style="text-anchor:middle"
d="m 8.8164063,186.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,192 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path359"
style="text-anchor:middle"
d="m 17.128906,186.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path361"
style="text-anchor:middle"
d="m 19.488281,186.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text197"
style="text-anchor:middle">
<path
id="path364"
style="text-anchor:middle"
d="m 8.8164063,232.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,238 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path366"
style="text-anchor:middle"
d="m 17.128906,232.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path368"
style="text-anchor:middle"
d="m 19.488281,232.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text199"
style="text-anchor:middle">
<path
id="path371"
style="text-anchor:middle"
d="m 8.8164063,278.16797 0.8476562,0 1.4492185,2.16797 1.457032,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 L 9.4023438,284 l -0.8515625,0 2.0820317,-3.11328 -1.8164067,-2.71875 z" />
<path
id="path373"
style="text-anchor:middle"
d="m 17.128906,278.16797 0.789063,0 0,5.83203 -0.789063,0 0,-5.83203 z" />
<path
id="path375"
style="text-anchor:middle"
d="m 19.488281,278.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
</g>
<g
id="text201"
style="text-anchor:middle">
<path
id="path378"
style="text-anchor:middle"
d="m 586.46484,94.167969 0.84766,0 1.44922,2.167968 1.45703,-2.167968 0.84766,0 -1.875,2.800781 2,3.03125 -0.84766,0 -1.64063,-2.480469 -1.65234,2.480469 -0.85156,0 2.08203,-3.113281 -1.81641,-2.71875 z" />
<path
id="path380"
style="text-anchor:middle"
d="m 597.14453,94.703125 q -0.85937,0 -1.36719,0.640625 -0.5039,0.640625 -0.5039,1.746094 0,1.101562 0.5039,1.742187 0.50782,0.640625 1.36719,0.640625 0.85938,0 1.35938,-0.640625 0.5039,-0.640625 0.5039,-1.742187 0,-1.105469 -0.5039,-1.746094 -0.5,-0.640625 -1.35938,-0.640625 z m 0,-0.640625 q 1.22656,0 1.96094,0.824219 0.73437,0.820312 0.73437,2.203125 0,1.378906 -0.73437,2.203125 -0.73438,0.820311 -1.96094,0.820311 -1.23047,0 -1.96875,-0.820311 -0.73437,-0.820313 -0.73437,-2.203125 0,-1.382813 0.73437,-2.203125 0.73828,-0.824219 1.96875,-0.824219 z" />
<path
id="path382"
style="text-anchor:middle"
d="m 600.98437,94.167969 0.79297,0 0,3.542968 q 0,0.9375 0.33985,1.351563 0.33984,0.410156 1.10156,0.410156 0.75781,0 1.09766,-0.410156 0.33984,-0.414063 0.33984,-1.351563 l 0,-3.542968 0.79297,0 0,3.640625 q 0,1.140625 -0.56641,1.722656 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path384"
style="text-anchor:middle"
d="m 606.125,94.167969 4.93359,0 0,0.664062 -2.07031,0 0,5.167969 -0.79297,0 0,-5.167969 -2.07031,0 0,-0.664062 z" />
</g>
<g
id="text203"
style="text-anchor:middle">
<path
id="path387"
style="text-anchor:middle"
d="m 586.46484,140.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path389"
style="text-anchor:middle"
d="m 597.14453,140.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path391"
style="text-anchor:middle"
d="m 600.98437,140.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path393"
style="text-anchor:middle"
d="m 606.125,140.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text205"
style="text-anchor:middle">
<path
id="path396"
style="text-anchor:middle"
d="m 586.46484,186.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path398"
style="text-anchor:middle"
d="m 597.14453,186.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path400"
style="text-anchor:middle"
d="m 600.98437,186.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path402"
style="text-anchor:middle"
d="m 606.125,186.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text207"
style="text-anchor:middle">
<path
id="path405"
style="text-anchor:middle"
d="m 586.46484,232.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path407"
style="text-anchor:middle"
d="m 597.14453,232.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path409"
style="text-anchor:middle"
d="m 600.98437,232.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path411"
style="text-anchor:middle"
d="m 606.125,232.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text209"
style="text-anchor:middle">
<path
id="path414"
style="text-anchor:middle"
d="m 586.46484,278.16797 0.84766,0 1.44922,2.16797 1.45703,-2.16797 0.84766,0 -1.875,2.80078 2,3.03125 -0.84766,0 -1.64063,-2.48047 -1.65234,2.48047 -0.85156,0 2.08203,-3.11328 -1.81641,-2.71875 z" />
<path
id="path416"
style="text-anchor:middle"
d="m 597.14453,278.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path418"
style="text-anchor:middle"
d="m 600.98437,278.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33985,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67188,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path420"
style="text-anchor:middle"
d="m 606.125,278.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text211"
style="text-anchor:middle">
<path
id="path423"
style="text-anchor:middle"
d="m 119.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path425"
style="text-anchor:middle"
d="m 127.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path427"
style="text-anchor:middle"
d="m 130.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text213"
style="text-anchor:middle">
<path
id="path430"
style="text-anchor:middle"
d="m 115.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path432"
style="text-anchor:middle"
d="m 125.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path434"
style="text-anchor:middle"
d="m 129.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path436"
style="text-anchor:middle"
d="m 134.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
<g
id="text215"
style="text-anchor:middle">
<path
id="path439"
style="text-anchor:middle"
d="m 209.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path441"
style="text-anchor:middle"
d="m 217.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path443"
style="text-anchor:middle"
d="m 220.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text217"
style="text-anchor:middle">
<path
id="path446"
style="text-anchor:middle"
d="m 205.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path448"
style="text-anchor:middle"
d="m 215.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path450"
style="text-anchor:middle"
d="m 219.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path452"
style="text-anchor:middle"
d="m 224.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
<g
id="text219"
style="text-anchor:middle">
<path
id="path455"
style="text-anchor:middle"
d="m 299.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path457"
style="text-anchor:middle"
d="m 307.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path459"
style="text-anchor:middle"
d="m 310.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text221"
style="text-anchor:middle">
<path
id="path462"
style="text-anchor:middle"
d="m 295.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path464"
style="text-anchor:middle"
d="m 305.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path466"
style="text-anchor:middle"
d="m 309.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path468"
style="text-anchor:middle"
d="m 314.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
<g
id="text223"
style="text-anchor:middle">
<path
id="path471"
style="text-anchor:middle"
d="m 389.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path473"
style="text-anchor:middle"
d="m 397.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path475"
style="text-anchor:middle"
d="m 400.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text225"
style="text-anchor:middle">
<path
id="path478"
style="text-anchor:middle"
d="m 385.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path480"
style="text-anchor:middle"
d="m 395.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path482"
style="text-anchor:middle"
d="m 399.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path484"
style="text-anchor:middle"
d="m 404.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
<g
id="text227"
style="text-anchor:middle">
<path
id="path487"
style="text-anchor:middle"
d="m 479.59375,28.167969 0.84766,0 1.61718,2.398437 1.60547,-2.398437 0.84766,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path489"
style="text-anchor:middle"
d="m 487.83203,28.167969 0.78906,0 0,5.832031 -0.78906,0 0,-5.832031 z" />
<path
id="path491"
style="text-anchor:middle"
d="m 490.19141,28.167969 1.0625,0 2.58593,4.878906 0,-4.878906 0.76563,0 0,5.832031 -1.0625,0 -2.58594,-4.878906 0,4.878906 -0.76562,0 0,-5.832031 z" />
</g>
<g
id="text229"
style="text-anchor:middle">
<path
id="path494"
style="text-anchor:middle"
d="m 475.24219,345.16797 0.84765,0 1.61719,2.39844 1.60547,-2.39844 0.84766,0 -2.0625,3.05469 0,2.77734 -0.79297,0 0,-2.77734 -2.0625,-3.05469 z" />
<path
id="path496"
style="text-anchor:middle"
d="m 485.84766,345.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path498"
style="text-anchor:middle"
d="m 489.6875,345.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33985,0.41016 1.10156,0.41016 0.75782,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.5664,1.72266 -0.5625,0.58203 -1.66407,0.58203 -1.10546,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path500"
style="text-anchor:middle"
d="m 494.82812,345.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
</g>
</g>
</g>
</svg>

+ 0
- 30
plugins/community/repos/SubmarineFree/res/Components/sub_knob_large.svg View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="54px"
height="54px"
version="1.1"
inkscape:version="0.91 r13725"
id="svg4226">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="background">
<circle
cx="27"
cy="27"
r="27"
fill="#000000"
stroke="none"/>
<rect x="25" y="4" width="4" height="12"
fill="#111111"
stroke="none"/>
<path d="M 27 6 l 2 4 l -2 4 l -2 -4 z"
fill="#222222"
stroke="none"/>
<path d="M 27 8 l 2 2 l -2 2 l -2 -2 z"
fill="#333333"
stroke="none"/>
</g>
</svg>

+ 0
- 33
plugins/community/repos/SubmarineFree/res/Components/sub_knob_large_a.svg View File

@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="54px"
height="54px"
version="1.1"
inkscape:version="0.91 r13725"
id="svg4226">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="background">
<circle
cx="27"
cy="27"
r="27"
fill="#000000"
stroke="none"/>
<rect x="25" y="4" width="4" height="12"
fill="#003399"
stroke="none"/>
<path d="M 27 5 l 2 5 l -2 5 l -2 -5 z"
fill="#0099cc"
stroke="none"/>
<circle
cx="27"
cy="10"
r="2"
fill="#00ccff"
stroke="none"/>
</g>
</svg>

+ 0
- 33
plugins/community/repos/SubmarineFree/res/Components/sub_knob_med.svg View File

@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="38px"
height="38px"
version="1.1"
inkscape:version="0.91 r13725"
id="svg4226">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="background">
<circle
cx="19"
cy="19"
r="19"
fill="#000000"
stroke="none"/>
<rect x="17.5" y="2.5" width="3" height="8"
fill="#111111"
stroke="none"/>
<path d="M 19 3 l 1.5 3.5 l -1.5 3.5 l -1.5 -3.5 z"
fill="#222222"
stroke="none"/>
<circle
cx="19"
cy="6.5"
r="1.5"
fill="#333333"
stroke="none"/>
</g>
</svg>

+ 0
- 33
plugins/community/repos/SubmarineFree/res/Components/sub_knob_med_a.svg View File

@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="38px"
height="38px"
version="1.1"
inkscape:version="0.91 r13725"
id="svg4226">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="background">
<circle
cx="19"
cy="19"
r="19"
fill="#000000"
stroke="none"/>
<rect x="17.5" y="2.5" width="3" height="8"
fill="#003399"
stroke="none"/>
<path d="M 19 3 l 1.5 3.5 l -1.5 3.5 l -1.5 -3.5 z"
fill="#0099cc"
stroke="none"/>
<circle
cx="19"
cy="6.5"
r="1.5"
fill="#00ccff"
stroke="none"/>
</g>
</svg>

+ 0
- 30
plugins/community/repos/SubmarineFree/res/Components/sub_knob_small.svg View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24px"
height="24px"
version="1.1"
inkscape:version="0.91 r13725"
id="svg4226">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="background">
<circle
cx="12"
cy="12"
r="12"
fill="#000000"
stroke="none"/>
<rect x="11" y="1.5" width="2" height="5"
fill="#111111"
stroke="none"/>
<path d="M 12 2 l 1 2 l -1 2 l -1 -2 z"
fill="#222222"
stroke="none"/>
<path d="M 12 3 l 1 1 l -1 1 l -1 -1 z"
fill="#333333"
stroke="none"/>
</g>
</svg>

+ 0
- 30
plugins/community/repos/SubmarineFree/res/Components/sub_knob_small_a.svg View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="24px"
height="24px"
version="1.1"
inkscape:version="0.91 r13725"
id="svg4226">
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="background">
<circle
cx="12"
cy="12"
r="12"
fill="#000000"
stroke="none"/>
<rect x="11" y="1.5" width="2" height="5"
fill="#003399"
stroke="none"/>
<path d="M 12 2 l 1 2 l -1 2 l -1 -2 z"
fill="#0099cc"
stroke="none"/>
<path d="M 12 3 l 1 1 l -1 1 l -1 -1 z"
fill="#00ccff"
stroke="none"/>
</g>
</svg>

+ 649
- 0
plugins/community/repos/SubmarineFree/res/EO-102.svg View File

@@ -0,0 +1,649 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
height="380px"
width="405px">
<metadata
id="metadata79">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs77" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 405,0 0,380 -405,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 405,0 404,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 405,0 0,-380 -1,1 0,378 -403,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 394.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 386,373.83071 8.1692063,5.1693144 0 0 0 394.16915,379 8.1692063,5.1693144 0 0 0 401.48278,376.11985 3.0461447,4.2480502 0 0 0 404,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 394.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path83"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path85"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path87"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path89"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path91"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path93"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path95"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path97"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path99"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text4241"
style="text-anchor:middle">
<path
id="path102"
style="text-anchor:middle"
d="m 181.36523,3.2519531 5.53125,0 0,0.9960938 -4.34765,0 0,2.5898437 4.16601,0 0,0.9960938 -4.16601,0 0,3.1699216 4.45312,0 0,0.996094 -5.63672,0 0,-8.7480469 z" />
<path
id="path104"
style="text-anchor:middle"
d="m 192.50977,4.0546875 q -1.28907,0 -2.05079,0.9609375 -0.75586,0.9609375 -0.75586,2.6191406 0,1.6523438 0.75586,2.6132814 0.76172,0.960937 2.05079,0.960937 1.28906,0 2.03906,-0.960937 0.75586,-0.9609376 0.75586,-2.6132814 0,-1.6582031 -0.75586,-2.6191406 -0.75,-0.9609375 -2.03906,-0.9609375 z m 0,-0.9609375 q 1.83984,0 2.9414,1.2363281 1.10156,1.2304688 1.10156,3.3046875 0,2.0683594 -1.10156,3.3046874 -1.10156,1.230469 -2.9414,1.230469 -1.84571,0 -2.95313,-1.230469 -1.10156,-1.2304686 -1.10156,-3.3046874 0,-2.0742187 1.10156,-3.3046875 1.10742,-1.2363281 2.95313,-1.2363281 z" />
<path
id="path106"
style="text-anchor:middle"
d="m 198.14062,8.2324219 3.15821,0 0,0.9609375 -3.15821,0 0,-0.9609375 z" />
<path
id="path108"
style="text-anchor:middle"
d="m 203.37891,11.003906 1.93359,0 0,-6.6738279 -2.10352,0.421875 0,-1.078125 2.0918,-0.421875 1.18359,0 0,7.7519529 1.9336,0 0,0.996094 -5.03906,0 0,-0.996094 z" />
<path
id="path110"
style="text-anchor:middle"
d="m 213.3457,4.03125 q -0.91406,0 -1.37695,0.9023437 -0.45703,0.8964844 -0.45703,2.7011719 0,1.7988282 0.45703,2.7011724 0.46289,0.896484 1.37695,0.896484 0.91992,0 1.37696,-0.896484 0.46289,-0.9023442 0.46289,-2.7011724 0,-1.8046875 -0.46289,-2.7011719 Q 214.26562,4.03125 213.3457,4.03125 Z m 0,-0.9375 q 1.47071,0 2.24414,1.1660156 0.7793,1.1601563 0.7793,3.375 0,2.2089844 -0.7793,3.3750004 -0.77343,1.160156 -2.24414,1.160156 -1.4707,0 -2.25,-1.160156 -0.77343,-1.166016 -0.77343,-3.3750004 0,-2.2148437 0.77343,-3.375 0.7793,-1.1660156 2.25,-1.1660156 z" />
<path
id="path112"
style="text-anchor:middle"
d="m 219.47461,11.003906 4.13086,0 0,0.996094 -5.55469,0 0,-0.996094 q 0.67383,-0.697265 1.83399,-1.8691404 1.16601,-1.1777344 1.46484,-1.5175781 0.56836,-0.6386719 0.79101,-1.078125 0.22852,-0.4453125 0.22852,-0.8730469 0,-0.6972656 -0.49219,-1.1367187 -0.48633,-0.4394532 -1.27148,-0.4394532 -0.55664,0 -1.17774,0.1933594 -0.61523,0.1933594 -1.31836,0.5859375 l 0,-1.1953125 q 0.71485,-0.2871093 1.33594,-0.4335937 0.6211,-0.1464844 1.13672,-0.1464844 1.35938,0 2.16797,0.6796875 0.80859,0.6796875 0.80859,1.8164062 0,0.5390625 -0.20507,1.0253907 -0.19922,0.4804687 -0.73243,1.1367187 -0.14648,0.1699219 -0.93164,0.984375 -0.78515,0.8085938 -2.21484,2.2675779 z" />
</g>
</g>
<g
style="fill:#000000;stroke:none"
id="scope">
<path
id="rect4244"
d="m 4.5,14 396,0 c 1.108,0 2,0.892 2,2 l 0,232 c 0,1.108 -0.892,2 -2,2 l -396,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-232 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect4247"
d="m 286,272 50,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -50,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect15"
d="m 343,254 58,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -58,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect17"
d="m 343,272 58,0 c 1.108,0 2,0.892 2,2 l 0,12 c 0,1.108 -0.892,2 -2,2 l -58,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-12 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
<g
style="fill:#ffffff;stroke:none"
id="labels">
<path
id="rect20"
d="m 10,355 55,0 c 2.77,0 5,2.23 5,5 0,2.77 -2.23,5 -5,5 l -55,0 c -2.77,0 -5,-2.23 -5,-5 0,-2.77 2.23,-5 5,-5 z"
style="" />
<path
id="rect22"
d="m 85,355 55,0 c 2.77,0 5,2.23 5,5 0,2.77 -2.23,5 -5,5 l -55,0 c -2.77,0 -5,-2.23 -5,-5 0,-2.77 2.23,-5 5,-5 z"
style="" />
<path
id="rect24"
d="m 160,355 25,0 c 2.77,0 5,2.23 5,5 0,2.77 -2.23,5 -5,5 l -25,0 c -2.77,0 -5,-2.23 -5,-5 0,-2.77 2.23,-5 5,-5 z"
style="" />
<path
id="rect26"
d="m 205,355 55,0 c 2.77,0 5,2.23 5,5 0,2.77 -2.23,5 -5,5 l -55,0 c -2.77,0 -5,-2.23 -5,-5 0,-2.77 2.23,-5 5,-5 z"
style="" />
<path
id="rect28"
d="m 280,355 115,0 c 2.77,0 5,2.23 5,5 0,2.77 -2.23,5 -5,5 l -115,0 c -2.77,0 -5,-2.23 -5,-5 0,-2.77 2.23,-5 5,-5 z"
style="" />
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:#ffffff;stroke:none"
font-size="8"
id="screen">
<g
id="text31"
style="text-anchor:middle;fill:#719fcf">
<path
id="path124"
style="text-anchor:middle;fill:#719fcf"
d="m 19.363281,357.61719 0,0.83203 q -0.398437,-0.3711 -0.851562,-0.55469 -0.449219,-0.18359 -0.957032,-0.18359 -1,0 -1.53125,0.61328 -0.531249,0.60937 -0.531249,1.76562 0,1.15235 0.531249,1.76563 0.53125,0.60937 1.53125,0.60937 0.507813,0 0.957032,-0.18359 0.453125,-0.18359 0.851562,-0.55469 l 0,0.82422 q -0.414062,0.28125 -0.878906,0.42188 -0.460938,0.14062 -0.976563,0.14062 -1.324218,0 -2.085937,-0.80859 -0.761719,-0.8125 -0.761719,-2.21485 0,-1.40625 0.761719,-2.21484 0.761719,-0.8125 2.085937,-0.8125 0.523438,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
<path
id="path126"
style="text-anchor:middle;fill:#719fcf"
d="m 20.589844,357.16797 0.789062,0 0,2.39062 2.867188,0 0,-2.39062 0.789062,0 0,5.83203 -0.789062,0 0,-2.77734 -2.867188,0 0,2.77734 -0.789062,0 0,-5.83203 z" />
<path
id="path128"
style="text-anchor:middle;fill:#719fcf"
d="m 28.554687,357.94531 -1.070312,2.90235 2.144531,0 -1.074219,-2.90235 z m -0.445312,-0.77734 0.894531,0 2.222656,5.83203 -0.820312,0 -0.53125,-1.49609 -2.628906,0 -0.53125,1.49609 -0.832032,0 2.226563,-5.83203 z" />
<path
id="path130"
style="text-anchor:middle;fill:#719fcf"
d="m 32.074219,357.16797 1.0625,0 2.585937,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585937,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
<path
id="path132"
style="text-anchor:middle;fill:#719fcf"
d="m 38.058594,357.16797 1.0625,0 2.585937,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585937,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
<path
id="path134"
style="text-anchor:middle;fill:#719fcf"
d="m 44.042969,357.16797 3.6875,0 0,0.66406 -2.898438,0 0,1.72656 2.777344,0 0,0.66407 -2.777344,0 0,2.11328 2.96875,0 0,0.66406 -3.757812,0 0,-5.83203 z" />
<path
id="path136"
style="text-anchor:middle;fill:#719fcf"
d="m 49.105469,357.16797 0.789062,0 0,5.16797 2.839844,0 0,0.66406 -3.628906,0 0,-5.83203 z" />
<path
id="path138"
style="text-anchor:middle;fill:#719fcf"
d="m 58.054687,357.94531 -1.070312,2.90235 2.144531,0 -1.074219,-2.90235 z m -0.445312,-0.77734 0.894531,0 2.222656,5.83203 -0.820312,0 -0.53125,-1.49609 -2.628906,0 -0.53125,1.49609 -0.832032,0 2.226563,-5.83203 z" />
</g>
<g
id="text33"
style="text-anchor:middle;fill:#ed2c24">
<path
id="path141"
style="text-anchor:middle;fill:#ed2c24"
d="m 94.355469,357.61719 0,0.83203 q -0.398438,-0.3711 -0.851563,-0.55469 -0.449219,-0.18359 -0.957031,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.507812,0 0.957031,-0.18359 0.453125,-0.18359 0.851563,-0.55469 l 0,0.82422 q -0.414063,0.28125 -0.878907,0.42188 -0.460937,0.14062 -0.976562,0.14062 -1.324219,0 -2.085938,-0.80859 -0.761718,-0.8125 -0.761718,-2.21485 0,-1.40625 0.761718,-2.21484 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
<path
id="path143"
style="text-anchor:middle;fill:#ed2c24"
d="m 95.582031,357.16797 0.789063,0 0,2.39062 2.867187,0 0,-2.39062 0.789059,0 0,5.83203 -0.789059,0 0,-2.77734 -2.867187,0 0,2.77734 -0.789063,0 0,-5.83203 z" />
<path
id="path145"
style="text-anchor:middle;fill:#ed2c24"
d="m 103.54688,357.94531 -1.07032,2.90235 2.14453,0 -1.07421,-2.90235 z m -0.44532,-0.77734 0.89453,0 2.22266,5.83203 -0.82031,0 -0.53125,-1.49609 -2.62891,0 -0.53125,1.49609 -0.83203,0 2.22656,-5.83203 z" />
<path
id="path147"
style="text-anchor:middle;fill:#ed2c24"
d="m 107.06641,357.16797 1.0625,0 2.58593,4.8789 0,-4.8789 0.76563,0 0,5.83203 -1.0625,0 -2.58594,-4.87891 0,4.87891 -0.76562,0 0,-5.83203 z" />
<path
id="path149"
style="text-anchor:middle;fill:#ed2c24"
d="m 113.05078,357.16797 1.0625,0 2.58594,4.8789 0,-4.8789 0.76562,0 0,5.83203 -1.0625,0 -2.58593,-4.87891 0,4.87891 -0.76563,0 0,-5.83203 z" />
<path
id="path151"
style="text-anchor:middle;fill:#ed2c24"
d="m 119.03516,357.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77734,0 0,0.66407 -2.77734,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
<path
id="path153"
style="text-anchor:middle;fill:#ed2c24"
d="m 124.09766,357.16797 0.78906,0 0,5.16797 2.83984,0 0,0.66406 -3.6289,0 0,-5.83203 z" />
<path
id="path155"
style="text-anchor:middle;fill:#ed2c24"
d="m 131.88672,360.21484 0,2.13672 1.26562,0 q 0.63672,0 0.94141,-0.26172 0.30859,-0.26562 0.30859,-0.80859 0,-0.54688 -0.30859,-0.80469 -0.30469,-0.26172 -0.94141,-0.26172 l -1.26562,0 z m 0,-2.39843 0,1.75781 1.16797,0 q 0.57812,0 0.85937,-0.21485 0.28516,-0.21875 0.28516,-0.66406 0,-0.4414 -0.28516,-0.66015 -0.28125,-0.21875 -0.85937,-0.21875 l -1.16797,0 z m -0.78906,-0.64844 2.01562,0 q 0.90234,0 1.39063,0.375 0.48828,0.375 0.48828,1.0664 0,0.53516 -0.25,0.85157 -0.25,0.3164 -0.73438,0.39453 0.58203,0.125 0.90235,0.52344 0.32421,0.39453 0.32421,0.98828 0,0.78125 -0.53125,1.20703 Q 134.17187,363 133.19141,363 l -2.09375,0 0,-5.83203 z" />
</g>
<g
id="text35"
style="text-anchor:middle;fill:#294f77">
<path
id="path158"
style="text-anchor:middle;fill:#294f77"
d="m 162.86719,357.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
<path
id="path160"
style="text-anchor:middle;fill:#294f77"
d="m 168.56641,357.16797 0.78906,0 0,5.83203 -0.78906,0 0,-5.83203 z" />
<path
id="path162"
style="text-anchor:middle;fill:#294f77"
d="m 170.92578,357.16797 1.17578,0 1.48828,3.96875 1.4961,-3.96875 1.17578,0 0,5.83203 -0.76953,0 0,-5.12109 -1.50391,4 -0.79297,0 -1.5039,-4 0,5.12109 -0.76563,0 0,-5.83203 z" />
<path
id="path164"
style="text-anchor:middle;fill:#294f77"
d="m 177.83203,357.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77735,0 0,0.66407 -2.77735,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
</g>
<g
id="text37"
style="text-anchor:middle;fill:#294f77">
<path
id="path167"
style="text-anchor:middle;fill:#294f77"
d="m 214.55469,357.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
<path
id="path169"
style="text-anchor:middle;fill:#294f77"
d="m 223.01953,360.26562 q 0.25391,0.0859 0.49219,0.36719 0.24219,0.28125 0.48437,0.77344 l 0.80078,1.59375 -0.84765,0 -0.7461,-1.49609 q -0.28906,-0.58594 -0.5625,-0.77735 -0.26953,-0.1914 -0.73828,-0.1914 l -0.85937,0 0,2.46484 -0.78906,0 0,-5.83203 1.78125,0 q 1,0 1.49218,0.41797 0.49219,0.41797 0.49219,1.26172 0,0.55078 -0.25781,0.91406 -0.25391,0.36328 -0.74219,0.5039 z m -1.97656,-2.44921 0,2.07031 0.99219,0 q 0.57031,0 0.85937,-0.26172 0.29297,-0.26563 0.29297,-0.77734 0,-0.51172 -0.29297,-0.76954 -0.28906,-0.26171 -0.85937,-0.26171 l -0.99219,0 z" />
<path
id="path171"
style="text-anchor:middle;fill:#294f77"
d="m 225.81641,357.16797 0.78906,0 0,5.83203 -0.78906,0 0,-5.83203 z" />
<path
id="path173"
style="text-anchor:middle;fill:#294f77"
d="m 232.15234,362.16797 0,-1.56641 -1.28906,0 0,-0.64844 2.07031,0 0,2.50391 q -0.45703,0.32422 -1.00781,0.49219 -0.55078,0.16406 -1.17578,0.16406 -1.36719,0 -2.14063,-0.79687 -0.76953,-0.80079 -0.76953,-2.22657 0,-1.42968 0.76953,-2.22656 0.77344,-0.80078 2.14063,-0.80078 0.57031,0 1.08203,0.14062 0.51563,0.14063 0.94922,0.41407 l 0,0.83984 q -0.4375,-0.37109 -0.92969,-0.55859 -0.49219,-0.1875 -1.03515,-0.1875 -1.07032,0 -1.60938,0.59765 -0.53516,0.59766 -0.53516,1.78125 0,1.17969 0.53516,1.77735 0.53906,0.59765 1.60938,0.59765 0.41796,0 0.74609,-0.0703 0.32812,-0.0742 0.58984,-0.22656 z" />
<path
id="path175"
style="text-anchor:middle;fill:#294f77"
d="m 238.35547,362.16797 0,-1.56641 -1.28906,0 0,-0.64844 2.07031,0 0,2.50391 q -0.45703,0.32422 -1.00781,0.49219 -0.55079,0.16406 -1.17579,0.16406 -1.36718,0 -2.14062,-0.79687 -0.76953,-0.80079 -0.76953,-2.22657 0,-1.42968 0.76953,-2.22656 0.77344,-0.80078 2.14062,-0.80078 0.57032,0 1.08204,0.14062 0.51562,0.14063 0.94921,0.41407 l 0,0.83984 q -0.4375,-0.37109 -0.92968,-0.55859 -0.49219,-0.1875 -1.03516,-0.1875 -1.07031,0 -1.60937,0.59765 -0.53516,0.59766 -0.53516,1.78125 0,1.17969 0.53516,1.77735 0.53906,0.59765 1.60937,0.59765 0.41797,0 0.74609,-0.0703 0.32813,-0.0742 0.58985,-0.22656 z" />
<path
id="path177"
style="text-anchor:middle;fill:#294f77"
d="m 240.58203,357.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77735,0 0,0.66407 -2.77735,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
<path
id="path179"
style="text-anchor:middle;fill:#294f77"
d="m 248.41016,360.26562 q 0.2539,0.0859 0.49218,0.36719 0.24219,0.28125 0.48438,0.77344 L 250.1875,363 l -0.84766,0 -0.74609,-1.49609 q -0.28906,-0.58594 -0.5625,-0.77735 -0.26953,-0.1914 -0.73828,-0.1914 l -0.85938,0 0,2.46484 -0.78906,0 0,-5.83203 1.78125,0 q 1,0 1.49219,0.41797 0.49219,0.41797 0.49219,1.26172 0,0.55078 -0.25782,0.91406 -0.2539,0.36328 -0.74218,0.5039 z m -1.97657,-2.44921 0,2.07031 0.99219,0 q 0.57031,0 0.85938,-0.26172 0.29296,-0.26563 0.29296,-0.77734 0,-0.51172 -0.29296,-0.76954 -0.28907,-0.26171 -0.85938,-0.26171 l -0.99219,0 z" />
</g>
<g
id="text39"
style="text-anchor:middle;fill:#294f77">
<path
id="path182"
style="text-anchor:middle;fill:#294f77"
d="m 321.98828,357.16797 0.78906,0 0,5.83203 -0.78906,0 0,-5.83203 z" />
<path
id="path184"
style="text-anchor:middle;fill:#294f77"
d="m 324.34766,357.16797 1.0625,0 2.58593,4.8789 0,-4.8789 0.76563,0 0,5.83203 -1.0625,0 -2.58594,-4.87891 0,4.87891 -0.76562,0 0,-5.83203 z" />
<path
id="path186"
style="text-anchor:middle;fill:#294f77"
d="m 331.12109,357.81641 0,4.53515 0.95313,0 q 1.20703,0 1.76562,-0.54687 0.5625,-0.54688 0.5625,-1.72657 0,-1.17187 -0.5625,-1.71484 -0.55859,-0.54687 -1.76562,-0.54687 l -0.95313,0 z m -0.78906,-0.64844 1.62109,0 q 1.69532,0 2.48829,0.70703 0.79296,0.70312 0.79296,2.20312 0,1.50782 -0.79687,2.21485 Q 333.64062,363 331.95312,363 l -1.62109,0 0,-5.83203 z" />
<path
id="path188"
style="text-anchor:middle;fill:#294f77"
d="m 336.48828,357.16797 0.78906,0 0,5.83203 -0.78906,0 0,-5.83203 z" />
<path
id="path190"
style="text-anchor:middle;fill:#294f77"
d="m 343.21484,357.61719 0,0.83203 q -0.39843,-0.3711 -0.85156,-0.55469 -0.44922,-0.18359 -0.95703,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.50781,0 0.95703,-0.18359 0.45313,-0.18359 0.85156,-0.55469 l 0,0.82422 q -0.41406,0.28125 -0.8789,0.42188 -0.46094,0.14062 -0.97657,0.14062 -1.32421,0 -2.08593,-0.80859 -0.76172,-0.8125 -0.76172,-2.21485 0,-1.40625 0.76172,-2.21484 0.76172,-0.8125 2.08593,-0.8125 0.52344,0 0.98438,0.14062 0.46484,0.13672 0.87109,0.41407 z" />
<path
id="path192"
style="text-anchor:middle;fill:#294f77"
d="m 344.44141,357.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77734,0 0,0.66407 -2.77734,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
<path
id="path194"
style="text-anchor:middle;fill:#294f77"
d="m 353,357.35937 0,0.76954 q -0.44922,-0.21485 -0.84766,-0.32032 -0.39843,-0.10547 -0.76953,-0.10547 -0.64453,0 -0.99609,0.25 -0.34766,0.25 -0.34766,0.71094 0,0.38672 0.23047,0.58594 0.23438,0.19531 0.88281,0.31641 l 0.47657,0.0976 q 0.88281,0.16797 1.30078,0.59375 0.42187,0.42188 0.42187,1.13281 0,0.84766 -0.57031,1.28516 -0.56641,0.4375 -1.66406,0.4375 -0.41407,0 -0.88282,-0.0937 -0.46484,-0.0937 -0.96484,-0.27734 l 0,-0.8125 q 0.48047,0.26953 0.94141,0.40625 0.46093,0.13672 0.90625,0.13672 0.67578,0 1.04297,-0.26563 0.36718,-0.26562 0.36718,-0.75781 0,-0.42969 -0.26562,-0.67188 -0.26172,-0.24218 -0.86328,-0.36328 l -0.48047,-0.0937 q -0.88281,-0.17578 -1.27735,-0.55078 -0.39453,-0.375 -0.39453,-1.04297 0,-0.77344 0.54297,-1.21875 0.54688,-0.44531 1.50391,-0.44531 0.41015,0 0.83594,0.0742 0.42578,0.0742 0.87109,0.22265 z" />
</g>
<g
id="text41"
style="text-anchor:middle">
<path
id="path197"
style="text-anchor:middle"
d="m 16.121094,259.61719 0,0.83203 q -0.398438,-0.3711 -0.851563,-0.55469 -0.449218,-0.18359 -0.957031,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.507813,0 0.957031,-0.18359 0.453125,-0.18359 0.851563,-0.55469 l 0,0.82422 q -0.414063,0.28125 -0.878906,0.42188 -0.460938,0.14062 -0.976563,0.14062 -1.324219,0 -2.085937,-0.80859 -0.761719,-0.8125 -0.761719,-2.21485 0,-1.40625 0.761719,-2.21484 0.761718,-0.8125 2.085937,-0.8125 0.523438,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
<path
id="path199"
style="text-anchor:middle"
d="m 18.851562,265 -2.226562,-5.83203 0.824219,0 1.847656,4.91015 1.851562,-4.91015 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text43"
style="font-size:11px;text-anchor:middle">
<path
id="path202"
style="font-size:11px;text-anchor:middle"
d="m 16.209961,293.98096 0.467285,0 0.04297,0.0376 0,0.20948 q 0.145019,0.29004 1.074219,0.62842 1.289062,0.37597 1.289062,1.11718 0,0.78418 -0.655273,1.29981 l -0.02148,0 -0.161133,-0.17188 q 0.327637,-0.26318 0.327637,-0.71435 0,-0.37598 -1.224609,-0.75733 -0.494141,-0.22558 -0.628418,-0.36523 l 0,5.72558 q 0,0.82178 -1.203125,1.06348 l -0.306152,0 q -1.299805,0 -1.299805,-0.90234 0,-0.70362 1.138672,-0.82715 l 0.123535,0 q 0.515625,0 0.993652,0.34375 l 0,-6.64942 0.04297,-0.0376 z" />
</g>
<g
id="text45"
style="text-anchor:middle">
<path
id="path205"
style="text-anchor:middle"
d="m 41.453125,292.35937 0,0.76954 q -0.449219,-0.21485 -0.847656,-0.32032 -0.398438,-0.10547 -0.769532,-0.10547 -0.644531,0 -0.996093,0.25 -0.347657,0.25 -0.347657,0.71094 0,0.38672 0.230469,0.58594 0.234375,0.19531 0.882813,0.31641 l 0.476562,0.0976 q 0.882813,0.16797 1.300781,0.59375 0.421875,0.42188 0.421875,1.13281 0,0.84766 -0.570312,1.28516 -0.566406,0.4375 -1.664063,0.4375 -0.414062,0 -0.882812,-0.0937 -0.464844,-0.0937 -0.964844,-0.27734 l 0,-0.8125 q 0.480469,0.26953 0.941406,0.40625 0.460938,0.13672 0.90625,0.13672 0.675782,0 1.042969,-0.26563 0.367188,-0.26562 0.367188,-0.75781 0,-0.42969 -0.265625,-0.67188 -0.261719,-0.24218 -0.863282,-0.36328 l -0.480468,-0.0937 q -0.882813,-0.17578 -1.277344,-0.55078 -0.394531,-0.375 -0.394531,-1.04297 0,-0.77344 0.542968,-1.21875 0.546875,-0.44531 1.503907,-0.44531 0.410156,0 0.835937,0.0742 0.425781,0.0742 0.871094,0.22265 z" />
<path
id="path207"
style="text-anchor:middle"
d="m 47.402344,292.61719 0,0.83203 q -0.398438,-0.3711 -0.851563,-0.55469 -0.449219,-0.18359 -0.957031,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.507812,0 0.957031,-0.18359 0.453125,-0.18359 0.851563,-0.55469 l 0,0.82422 q -0.414063,0.28125 -0.878907,0.42188 -0.460937,0.14062 -0.976562,0.14062 -1.324219,0 -2.085938,-0.80859 -0.761718,-0.8125 -0.761718,-2.21485 0,-1.40625 0.761718,-2.21484 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
<path
id="path209"
style="text-anchor:middle"
d="m 50.578125,292.94531 -1.070313,2.90235 2.144532,0 -1.074219,-2.90235 z m -0.445313,-0.77734 0.894532,0 L 53.25,298 l -0.820313,0 -0.53125,-1.49609 -2.628906,0 -0.53125,1.49609 -0.832031,0 2.226562,-5.83203 z" />
<path
id="path211"
style="text-anchor:middle"
d="m 54.097656,292.16797 0.789063,0 0,5.16797 2.839843,0 0,0.66406 -3.628906,0 0,-5.83203 z" />
<path
id="path213"
style="text-anchor:middle"
d="m 58.550781,292.16797 3.6875,0 0,0.66406 -2.898437,0 0,1.72656 2.777343,0 0,0.66407 -2.777343,0 0,2.11328 2.96875,0 0,0.66406 -3.757813,0 0,-5.83203 z" />
</g>
<g
id="text47"
style="text-anchor:middle">
<path
id="path216"
style="text-anchor:middle"
d="m 37.949219,344.70312 q -0.859375,0 -1.367188,0.64063 -0.503906,0.64062 -0.503906,1.74609 0,1.10157 0.503906,1.74219 0.507813,0.64063 1.367188,0.64063 0.859375,0 1.359375,-0.64063 0.503906,-0.64062 0.503906,-1.74219 0,-1.10547 -0.503906,-1.74609 -0.5,-0.64063 -1.359375,-0.64063 z m 0,-0.64062 q 1.226562,0 1.960937,0.82422 0.734375,0.82031 0.734375,2.20312 0,1.37891 -0.734375,2.20313 -0.734375,0.82031 -1.960937,0.82031 -1.230469,0 -1.96875,-0.82031 -0.734375,-0.82031 -0.734375,-2.20313 0,-1.38281 0.734375,-2.20312 0.738281,-0.82422 1.96875,-0.82422 z" />
<path
id="path218"
style="text-anchor:middle"
d="m 41.878906,344.16797 3.351563,0 0,0.66406 -2.5625,0 0,1.71875 2.3125,0 0,0.66406 -2.3125,0 0,2.78516 -0.789063,0 0,-5.83203 z" />
<path
id="path220"
style="text-anchor:middle"
d="m 46.488281,344.16797 3.351563,0 0,0.66406 -2.5625,0 0,1.71875 2.3125,0 0,0.66406 -2.3125,0 0,2.78516 -0.789063,0 0,-5.83203 z" />
<path
id="path222"
style="text-anchor:middle"
d="m 54.453125,344.35937 0,0.76954 q -0.449219,-0.21485 -0.847656,-0.32032 -0.398438,-0.10547 -0.769532,-0.10547 -0.644531,0 -0.996093,0.25 -0.347657,0.25 -0.347657,0.71094 0,0.38672 0.230469,0.58594 0.234375,0.19531 0.882813,0.31641 l 0.476562,0.0976 q 0.882813,0.16797 1.300781,0.59375 0.421875,0.42188 0.421875,1.13281 0,0.84766 -0.570312,1.28516 -0.566406,0.4375 -1.664063,0.4375 -0.414062,0 -0.882812,-0.0937 -0.464844,-0.0937 -0.964844,-0.27734 l 0,-0.8125 q 0.480469,0.26953 0.941406,0.40625 0.460938,0.13672 0.90625,0.13672 0.675782,0 1.042969,-0.26563 0.367188,-0.26562 0.367188,-0.75781 0,-0.42969 -0.265625,-0.67188 -0.261719,-0.24218 -0.863282,-0.36328 l -0.480468,-0.0937 q -0.882813,-0.17578 -1.277344,-0.55078 -0.394531,-0.375 -0.394531,-1.04297 0,-0.77344 0.542968,-1.21875 0.546875,-0.44531 1.503907,-0.44531 0.410156,0 0.835937,0.0742 0.425781,0.0742 0.871094,0.22265 z" />
<path
id="path224"
style="text-anchor:middle"
d="m 56.035156,344.16797 3.6875,0 0,0.66406 -2.898437,0 0,1.72656 2.777343,0 0,0.66407 -2.777343,0 0,2.11328 2.96875,0 0,0.66406 -3.757813,0 0,-5.83203 z" />
<path
id="path226"
style="text-anchor:middle"
d="m 60.289062,344.16797 4.933594,0 0,0.66406 -2.070312,0 0,5.16797 -0.792969,0 0,-5.16797 -2.070313,0 0,-0.66406 z" />
</g>
<g
id="text49"
style="text-anchor:middle">
<path
id="path229"
style="text-anchor:middle"
d="m 91.121094,259.61719 0,0.83203 q -0.398438,-0.3711 -0.851563,-0.55469 -0.449219,-0.18359 -0.957031,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.507812,0 0.957031,-0.18359 0.453125,-0.18359 0.851563,-0.55469 l 0,0.82422 q -0.414063,0.28125 -0.878907,0.42188 -0.460937,0.14062 -0.976562,0.14062 -1.324219,0 -2.085938,-0.80859 -0.761718,-0.8125 -0.761718,-2.21485 0,-1.40625 0.761718,-2.21484 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
<path
id="path231"
style="text-anchor:middle"
d="m 93.851562,265 -2.226562,-5.83203 0.824219,0 1.847656,4.91015 1.851562,-4.91015 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text51"
style="font-size:11px;text-anchor:middle">
<path
id="path234"
style="font-size:11px;text-anchor:middle"
d="m 91.209961,293.98096 0.467285,0 0.04297,0.0376 0,0.20948 q 0.145019,0.29004 1.074219,0.62842 1.289062,0.37597 1.289062,1.11718 0,0.78418 -0.655273,1.29981 l -0.02148,0 -0.161133,-0.17188 q 0.327637,-0.26318 0.327637,-0.71435 0,-0.37598 -1.224609,-0.75733 -0.494141,-0.22558 -0.628418,-0.36523 l 0,5.72558 q 0,0.82178 -1.203125,1.06348 l -0.306153,0 q -1.299804,0 -1.299804,-0.90234 0,-0.70362 1.138672,-0.82715 l 0.123535,0 q 0.515625,0 0.993652,0.34375 l 0,-6.64942 0.04297,-0.0376 z" />
</g>
<g
id="text53"
style="text-anchor:middle">
<path
id="path237"
style="text-anchor:middle"
d="m 116.45313,292.35937 0,0.76954 q -0.44922,-0.21485 -0.84766,-0.32032 -0.39844,-0.10547 -0.76953,-0.10547 -0.64453,0 -0.9961,0.25 -0.34765,0.25 -0.34765,0.71094 0,0.38672 0.23047,0.58594 0.23437,0.19531 0.88281,0.31641 l 0.47656,0.0976 q 0.88281,0.16797 1.30078,0.59375 0.42188,0.42188 0.42188,1.13281 0,0.84766 -0.57031,1.28516 -0.56641,0.4375 -1.66407,0.4375 -0.41406,0 -0.88281,-0.0937 -0.46484,-0.0937 -0.96484,-0.27734 l 0,-0.8125 q 0.48047,0.26953 0.9414,0.40625 0.46094,0.13672 0.90625,0.13672 0.67578,0 1.04297,-0.26563 0.36719,-0.26562 0.36719,-0.75781 0,-0.42969 -0.26563,-0.67188 -0.26171,-0.24218 -0.86328,-0.36328 l -0.48047,-0.0937 q -0.88281,-0.17578 -1.27734,-0.55078 -0.39453,-0.375 -0.39453,-1.04297 0,-0.77344 0.54297,-1.21875 0.54687,-0.44531 1.5039,-0.44531 0.41016,0 0.83594,0.0742 0.42578,0.0742 0.8711,0.22265 z" />
<path
id="path239"
style="text-anchor:middle"
d="m 122.40234,292.61719 0,0.83203 q -0.39843,-0.3711 -0.85156,-0.55469 -0.44922,-0.18359 -0.95703,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.50781,0 0.95703,-0.18359 0.45313,-0.18359 0.85156,-0.55469 l 0,0.82422 q -0.41406,0.28125 -0.8789,0.42188 -0.46094,0.14062 -0.97656,0.14062 -1.32422,0 -2.08594,-0.80859 -0.76172,-0.8125 -0.76172,-2.21485 0,-1.40625 0.76172,-2.21484 0.76172,-0.8125 2.08594,-0.8125 0.52343,0 0.98437,0.14062 0.46484,0.13672 0.87109,0.41407 z" />
<path
id="path241"
style="text-anchor:middle"
d="m 125.57813,292.94531 -1.07032,2.90235 2.14453,0 -1.07421,-2.90235 z m -0.44532,-0.77734 0.89453,0 L 128.25,298 l -0.82031,0 -0.53125,-1.49609 -2.62891,0 -0.53125,1.49609 -0.83203,0 2.22656,-5.83203 z" />
<path
id="path243"
style="text-anchor:middle"
d="m 129.09766,292.16797 0.78906,0 0,5.16797 2.83984,0 0,0.66406 -3.6289,0 0,-5.83203 z" />
<path
id="path245"
style="text-anchor:middle"
d="m 133.55078,292.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77735,0 0,0.66407 -2.77735,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
</g>
<g
id="text55"
style="text-anchor:middle">
<path
id="path248"
style="text-anchor:middle"
d="m 112.94922,344.70312 q -0.85938,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path250"
style="text-anchor:middle"
d="m 116.87891,344.16797 3.35156,0 0,0.66406 -2.5625,0 0,1.71875 2.3125,0 0,0.66406 -2.3125,0 0,2.78516 -0.78906,0 0,-5.83203 z" />
<path
id="path252"
style="text-anchor:middle"
d="m 121.48828,344.16797 3.35156,0 0,0.66406 -2.5625,0 0,1.71875 2.3125,0 0,0.66406 -2.3125,0 0,2.78516 -0.78906,0 0,-5.83203 z" />
<path
id="path254"
style="text-anchor:middle"
d="m 129.45312,344.35937 0,0.76954 q -0.44921,-0.21485 -0.84765,-0.32032 -0.39844,-0.10547 -0.76953,-0.10547 -0.64453,0 -0.9961,0.25 -0.34765,0.25 -0.34765,0.71094 0,0.38672 0.23047,0.58594 0.23437,0.19531 0.88281,0.31641 l 0.47656,0.0976 q 0.88281,0.16797 1.30078,0.59375 0.42188,0.42188 0.42188,1.13281 0,0.84766 -0.57032,1.28516 -0.5664,0.4375 -1.66406,0.4375 -0.41406,0 -0.88281,-0.0937 -0.46484,-0.0937 -0.96484,-0.27734 l 0,-0.8125 q 0.48047,0.26953 0.9414,0.40625 0.46094,0.13672 0.90625,0.13672 0.67578,0 1.04297,-0.26563 0.36719,-0.26562 0.36719,-0.75781 0,-0.42969 -0.26563,-0.67188 -0.26172,-0.24218 -0.86328,-0.36328 l -0.48047,-0.0937 q -0.88281,-0.17578 -1.27734,-0.55078 -0.39453,-0.375 -0.39453,-1.04297 0,-0.77344 0.54297,-1.21875 0.54687,-0.44531 1.5039,-0.44531 0.41016,0 0.83594,0.0742 0.42578,0.0742 0.87109,0.22265 z" />
<path
id="path256"
style="text-anchor:middle"
d="m 131.03516,344.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77734,0 0,0.66407 -2.77734,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
<path
id="path258"
style="text-anchor:middle"
d="m 135.28906,344.16797 4.9336,0 0,0.66406 -2.07032,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text57"
style="text-anchor:middle">
<path
id="path261"
style="text-anchor:middle"
d="m 166.34766,292.81641 0,2.1914 0.99218,0 q 0.55078,0 0.85157,-0.28515 0.30078,-0.28516 0.30078,-0.8125 0,-0.52344 -0.30078,-0.8086 -0.30079,-0.28515 -0.85157,-0.28515 l -0.99218,0 z m -0.78907,-0.64844 1.78125,0 q 0.98047,0 1.48047,0.44531 0.50391,0.44141 0.50391,1.29688 0,0.86328 -0.50391,1.30468 -0.5,0.44141 -1.48047,0.44141 l -0.99218,0 0,2.34375 -0.78907,0 0,-5.83203 z" />
<path
id="path263"
style="text-anchor:middle"
d="m 173.15234,295.26562 q 0.25391,0.0859 0.49219,0.36719 0.24219,0.28125 0.48438,0.77344 l 0.80078,1.59375 -0.84766,0 -0.74609,-1.49609 q -0.28907,-0.58594 -0.5625,-0.77735 -0.26953,-0.1914 -0.73828,-0.1914 l -0.85938,0 0,2.46484 -0.78906,0 0,-5.83203 1.78125,0 q 1,0 1.49219,0.41797 0.49218,0.41797 0.49218,1.26172 0,0.55078 -0.25781,0.91406 -0.25391,0.36328 -0.74219,0.5039 z m -1.97656,-2.44921 0,2.07031 0.99219,0 q 0.57031,0 0.85937,-0.26172 0.29297,-0.26563 0.29297,-0.77734 0,-0.51172 -0.29297,-0.76954 -0.28906,-0.26171 -0.85937,-0.26171 l -0.99219,0 z" />
<path
id="path265"
style="text-anchor:middle"
d="m 175.94922,292.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77734,0 0,0.66407 -2.77734,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
</g>
<g
id="text59"
style="text-anchor:middle">
<path
id="path268"
style="text-anchor:middle"
d="m 162.86719,344.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
<path
id="path270"
style="text-anchor:middle"
d="m 168.56641,344.16797 0.78906,0 0,5.83203 -0.78906,0 0,-5.83203 z" />
<path
id="path272"
style="text-anchor:middle"
d="m 170.92578,344.16797 1.17578,0 1.48828,3.96875 1.4961,-3.96875 1.17578,0 0,5.83203 -0.76953,0 0,-5.12109 -1.50391,4 -0.79297,0 -1.5039,-4 0,5.12109 -0.76563,0 0,-5.83203 z" />
<path
id="path274"
style="text-anchor:middle"
d="m 177.83203,344.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77735,0 0,0.66407 -2.77735,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
</g>
<g
id="text61"
style="text-anchor:middle">
<path
id="path277"
style="text-anchor:middle"
d="m 204.47266,259.61719 0,0.83203 q -0.39844,-0.3711 -0.85157,-0.55469 -0.44922,-0.18359 -0.95703,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.50781,0 0.95703,-0.18359 0.45313,-0.18359 0.85157,-0.55469 l 0,0.82422 q -0.41407,0.28125 -0.87891,0.42188 -0.46094,0.14062 -0.97656,0.14062 -1.32422,0 -2.08594,-0.80859 -0.76172,-0.8125 -0.76172,-2.21485 0,-1.40625 0.76172,-2.21484 0.76172,-0.8125 2.08594,-0.8125 0.52343,0 0.98437,0.14062 0.46485,0.13672 0.8711,0.41407 z" />
<path
id="path279"
style="text-anchor:middle"
d="m 208.06641,259.70312 q -0.85938,0 -1.36719,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36719,0.64063 0.85937,0 1.35937,-0.64063 0.50391,-0.64062 0.50391,-1.74219 0,-1.10547 -0.50391,-1.74609 -0.5,-0.64063 -1.35937,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96093,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96093,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73438,-0.82031 -0.73438,-2.20313 0,-1.38281 0.73438,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path281"
style="text-anchor:middle"
d="m 211.99609,259.16797 1.0625,0 2.58594,4.8789 0,-4.8789 0.76563,0 0,5.83203 -1.0625,0 -2.58594,-4.87891 0,4.87891 -0.76563,0 0,-5.83203 z" />
<path
id="path283"
style="text-anchor:middle"
d="m 217.17187,259.16797 4.9336,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07032,0 0,-0.66406 z" />
<path
id="path285"
style="text-anchor:middle"
d="m 221.98828,264.00781 0.82422,0 0,0.99219 -0.82422,0 0,-0.99219 z" />
</g>
<g
id="text63"
style="text-anchor:middle">
<path
id="path288"
style="text-anchor:middle"
d="m 203.18359,296.70312 q -0.85937,0 -1.36718,0.64063 -0.50391,0.64062 -0.50391,1.74609 0,1.10157 0.50391,1.74219 0.50781,0.64063 1.36718,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22657,0 1.96094,0.82422 0.73438,0.82031 0.73438,2.20312 0,1.37891 -0.73438,2.20313 -0.73437,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path290"
style="text-anchor:middle"
d="m 207.11328,296.16797 1.0625,0 2.58594,4.8789 0,-4.8789 0.76562,0 0,5.83203 -1.0625,0 -2.58593,-4.87891 0,4.87891 -0.76563,0 0,-5.83203 z" />
<path
id="path292"
style="text-anchor:middle"
d="m 217.46484,296.61719 0,0.83203 q -0.39843,-0.3711 -0.85156,-0.55469 -0.44922,-0.18359 -0.95703,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.50781,0 0.95703,-0.18359 0.45313,-0.18359 0.85156,-0.55469 l 0,0.82422 q -0.41406,0.28125 -0.8789,0.42188 -0.46094,0.14062 -0.97657,0.14062 -1.32421,0 -2.08593,-0.80859 -0.76172,-0.8125 -0.76172,-2.21485 0,-1.40625 0.76172,-2.21484 0.76172,-0.8125 2.08593,-0.8125 0.52344,0 0.98438,0.14062 0.46484,0.13672 0.87109,0.41407 z" />
<path
id="path294"
style="text-anchor:middle"
d="m 218.69141,296.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77734,0 0,0.66407 -2.77734,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
</g>
<g
id="text65"
style="text-anchor:middle">
<path
id="path297"
style="text-anchor:middle"
d="m 239.84766,262.26562 q 0.2539,0.0859 0.49218,0.36719 0.24219,0.28125 0.48438,0.77344 L 241.625,265 l -0.84766,0 -0.74609,-1.49609 q -0.28906,-0.58594 -0.5625,-0.77735 -0.26953,-0.1914 -0.73828,-0.1914 l -0.85938,0 0,2.46484 -0.78906,0 0,-5.83203 1.78125,0 q 1,0 1.49219,0.41797 0.49219,0.41797 0.49219,1.26172 0,0.55078 -0.25782,0.91406 -0.2539,0.36328 -0.74218,0.5039 z m -1.97657,-2.44921 0,2.07031 0.99219,0 q 0.57031,0 0.85938,-0.26172 0.29296,-0.26563 0.29296,-0.77734 0,-0.51172 -0.29296,-0.76954 -0.28907,-0.26171 -0.85938,-0.26171 l -0.99219,0 z" />
<path
id="path299"
style="text-anchor:middle"
d="m 242.55469,259.16797 0.79297,0 0,3.54297 q 0,0.9375 0.33984,1.35156 0.33984,0.41016 1.10156,0.41016 0.75781,0 1.09766,-0.41016 0.33984,-0.41406 0.33984,-1.35156 l 0,-3.54297 0.79297,0 0,3.64062 q 0,1.14063 -0.56641,1.72266 -0.5625,0.58203 -1.66406,0.58203 -1.10547,0 -1.67187,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path301"
style="text-anchor:middle"
d="m 248.50391,259.16797 1.0625,0 2.58593,4.8789 0,-4.8789 0.76563,0 0,5.83203 -1.0625,0 -2.58594,-4.87891 0,4.87891 -0.76562,0 0,-5.83203 z" />
</g>
<g
id="text67"
style="text-anchor:middle">
<path
id="path304"
style="text-anchor:middle"
d="m 233.53516,344.16797 0.78906,0 0,5.16797 2.83984,0 0,0.66406 -3.6289,0 0,-5.83203 z" />
<path
id="path306"
style="text-anchor:middle"
d="m 237.98828,344.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77735,0 0,0.66407 -2.77735,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
<path
id="path308"
style="text-anchor:middle"
d="m 244.55469,350 -2.22657,-5.83203 0.82422,0 1.84766,4.91015 1.85156,-4.91015 0.82031,0 -2.22265,5.83203 -0.89453,0 z" />
<path
id="path310"
style="text-anchor:middle"
d="m 248.51953,344.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77735,0 0,0.66407 -2.77735,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
<path
id="path312"
style="text-anchor:middle"
d="m 253.58203,344.16797 0.78906,0 0,5.16797 2.83985,0 0,0.66406 -3.62891,0 0,-5.83203 z" />
</g>
<g
id="text69"
style="text-anchor:middle">
<path
id="path315"
style="text-anchor:middle"
d="m 281.34766,344.16797 0.78906,0 0,5.16797 2.83984,0 0,0.66406 -3.6289,0 0,-5.83203 z" />
<path
id="path317"
style="text-anchor:middle"
d="m 285.80078,344.16797 3.6875,0 0,0.66406 -2.89844,0 0,1.72656 2.77735,0 0,0.66407 -2.77735,0 0,2.11328 2.96875,0 0,0.66406 -3.75781,0 0,-5.83203 z" />
<path
id="path319"
style="text-anchor:middle"
d="m 290.86328,344.16797 3.35156,0 0,0.66406 -2.5625,0 0,1.71875 2.3125,0 0,0.66406 -2.3125,0 0,2.78516 -0.78906,0 0,-5.83203 z" />
<path
id="path321"
style="text-anchor:middle"
d="m 294.52344,344.16797 4.93359,0 0,0.66406 -2.07031,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text71"
style="text-anchor:middle">
<path
id="path324"
style="text-anchor:middle"
d="m 323.03516,347.26562 q 0.2539,0.0859 0.49218,0.36719 0.24219,0.28125 0.48438,0.77344 L 324.8125,350 l -0.84766,0 -0.74609,-1.49609 q -0.28906,-0.58594 -0.5625,-0.77735 -0.26953,-0.1914 -0.73828,-0.1914 l -0.85938,0 0,2.46484 -0.78906,0 0,-5.83203 1.78125,0 q 1,0 1.49219,0.41797 0.49219,0.41797 0.49219,1.26172 0,0.55078 -0.25782,0.91406 -0.2539,0.36328 -0.74218,0.5039 z m -1.97657,-2.44921 0,2.07031 0.99219,0 q 0.57031,0 0.85938,-0.26172 0.29296,-0.26563 0.29296,-0.77734 0,-0.51172 -0.29296,-0.76954 -0.28907,-0.26171 -0.85938,-0.26171 l -0.99219,0 z" />
<path
id="path326"
style="text-anchor:middle"
d="m 325.83203,344.16797 0.78906,0 0,5.83203 -0.78906,0 0,-5.83203 z" />
<path
id="path328"
style="text-anchor:middle"
d="m 332.16797,349.16797 0,-1.56641 -1.28906,0 0,-0.64844 2.07031,0 0,2.50391 q -0.45703,0.32422 -1.00781,0.49219 -0.55079,0.16406 -1.17579,0.16406 -1.36718,0 -2.14062,-0.79687 -0.76953,-0.80079 -0.76953,-2.22657 0,-1.42968 0.76953,-2.22656 0.77344,-0.80078 2.14062,-0.80078 0.57032,0 1.08204,0.14062 0.51562,0.14063 0.94921,0.41407 l 0,0.83984 q -0.4375,-0.37109 -0.92968,-0.55859 -0.49219,-0.1875 -1.03516,-0.1875 -1.07031,0 -1.60937,0.59765 -0.53516,0.59766 -0.53516,1.78125 0,1.17969 0.53516,1.77735 0.53906,0.59765 1.60937,0.59765 0.41797,0 0.74609,-0.0703 0.32813,-0.0742 0.58985,-0.22656 z" />
<path
id="path330"
style="text-anchor:middle"
d="m 334.39453,344.16797 0.78906,0 0,2.39062 2.86719,0 0,-2.39062 0.78906,0 0,5.83203 -0.78906,0 0,-2.77734 -2.86719,0 0,2.77734 -0.78906,0 0,-5.83203 z" />
<path
id="path332"
style="text-anchor:middle"
d="m 339.60156,344.16797 4.9336,0 0,0.66406 -2.07032,0 0,5.16797 -0.79297,0 0,-5.16797 -2.07031,0 0,-0.66406 z" />
</g>
<g
id="text73"
style="text-anchor:middle">
<path
id="path335"
style="text-anchor:middle"
d="m 365.10547,344.16797 0.78906,0 0,2.39062 2.86719,0 0,-2.39062 0.78906,0 0,5.83203 -0.78906,0 0,-2.77734 -2.86719,0 0,2.77734 -0.78906,0 0,-5.83203 z" />
<path
id="path337"
style="text-anchor:middle"
d="m 373.48828,344.70312 q -0.85937,0 -1.36719,0.64063 -0.5039,0.64062 -0.5039,1.74609 0,1.10157 0.5039,1.74219 0.50782,0.64063 1.36719,0.64063 0.85938,0 1.35938,-0.64063 0.5039,-0.64062 0.5039,-1.74219 0,-1.10547 -0.5039,-1.74609 -0.5,-0.64063 -1.35938,-0.64063 z m 0,-0.64062 q 1.22656,0 1.96094,0.82422 0.73437,0.82031 0.73437,2.20312 0,1.37891 -0.73437,2.20313 -0.73438,0.82031 -1.96094,0.82031 -1.23047,0 -1.96875,-0.82031 -0.73437,-0.82031 -0.73437,-2.20313 0,-1.38281 0.73437,-2.20312 0.73828,-0.82422 1.96875,-0.82422 z" />
<path
id="path339"
style="text-anchor:middle"
d="m 380.18359,347.26562 q 0.25391,0.0859 0.49219,0.36719 0.24219,0.28125 0.48438,0.77344 l 0.80078,1.59375 -0.84766,0 -0.74609,-1.49609 q -0.28907,-0.58594 -0.5625,-0.77735 -0.26953,-0.1914 -0.73828,-0.1914 l -0.85938,0 0,2.46484 -0.78906,0 0,-5.83203 1.78125,0 q 1,0 1.49219,0.41797 0.49218,0.41797 0.49218,1.26172 0,0.55078 -0.25781,0.91406 -0.25391,0.36328 -0.74219,0.5039 z m -1.97656,-2.44921 0,2.07031 0.99219,0 q 0.57031,0 0.85937,-0.26172 0.29297,-0.26563 0.29297,-0.77734 0,-0.51172 -0.29297,-0.76954 -0.28906,-0.26171 -0.85937,-0.26171 l -0.99219,0 z" />
<path
id="path341"
style="text-anchor:middle"
d="m 382.64453,344.16797 4.58203,0 0,0.60156 -3.6875,4.56641 3.77735,0 0,0.66406 -4.76172,0 0,-0.60156 3.6875,-4.56641 -3.59766,0 0,-0.66406 z" />
</g>
</g>
</svg>

+ 108
- 0
plugins/community/repos/SubmarineFree/res/FF-206.svg View File

@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata30">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs28" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path34"
style="font-size:8px;text-anchor:middle"
d="m 2.0898438,4.1679687 3.3515624,0 0,0.6640625 -2.5624999,0 0,1.71875 2.3124999,0 0,0.6640625 -2.3124999,0 0,2.7851563 -0.7890625,0 0,-5.8320313 z" />
<path
id="path36"
style="font-size:8px;text-anchor:middle"
d="m 6.6992187,4.1679687 3.3515623,0 0,0.6640625 -2.5624998,0 0,1.71875 2.3125001,0 0,0.6640625 -2.3125001,0 0,2.7851563 -0.7890625,0 0,-5.8320313 z" />
<path
id="path38"
style="font-size:8px;text-anchor:middle"
d="m 10.914063,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path40"
style="font-size:8px;text-anchor:middle"
d="m 14.949219,9.3359375 2.753906,0 0,0.6640625 L 14,10 14,9.3359375 Q 14.449219,8.8710938 15.222656,8.0898438 16,7.3046875 16.199219,7.078125 16.578125,6.6523437 16.726562,6.359375 16.878906,6.0625 16.878906,5.7773437 q 0,-0.4648437 -0.328125,-0.7578125 -0.324219,-0.2929687 -0.847656,-0.2929687 -0.371094,0 -0.785156,0.1289062 -0.410156,0.1289063 -0.878906,0.390625 l 0,-0.796875 Q 14.515625,4.2578125 14.929688,4.1601562 15.34375,4.0625 15.6875,4.0625 q 0.90625,0 1.445312,0.453125 0.539063,0.453125 0.539063,1.2109375 0,0.359375 -0.136719,0.6835937 -0.132812,0.3203125 -0.488281,0.7578125 -0.09766,0.1132813 -0.621094,0.65625 -0.523437,0.5390626 -1.476562,1.5117188 z" />
<path
id="path42"
style="font-size:8px;text-anchor:middle"
d="m 21.050781,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304687,0.5976562 -0.304687,1.8007812 0,1.1992188 0.304687,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917969,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 21.664062,4.6875 21.050781,4.6875 Z m 0,-0.625 q 0.980469,0 1.496094,0.7773437 0.519531,0.7734375 0.519531,2.25 0,1.4726563 -0.519531,2.2500001 -0.515625,0.7734372 -1.496094,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 19.035156,8.5625 19.035156,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path44"
style="font-size:8px;text-anchor:middle"
d="m 26.242187,6.7695312 q -0.53125,0 -0.84375,0.3632813 -0.308593,0.3632812 -0.308593,0.9960938 0,0.6289062 0.308593,0.9960937 0.3125,0.3632813 0.84375,0.3632813 0.53125,0 0.839844,-0.3632813 0.3125,-0.3671875 0.3125,-0.9960937 0,-0.6328126 -0.3125,-0.9960938 -0.308594,-0.3632813 -0.839844,-0.3632813 z m 1.566407,-2.4726562 0,0.71875 Q 27.511719,4.875 27.207031,4.8007812 26.90625,4.7265625 26.609375,4.7265625 q -0.78125,0 -1.195313,0.5273437 -0.410156,0.5273438 -0.46875,1.59375 0.230469,-0.3398437 0.578125,-0.5195312 0.347657,-0.1835938 0.765625,-0.1835938 0.878907,0 1.386719,0.5351563 0.511719,0.53125 0.511719,1.4492188 0,0.8984375 -0.53125,1.4414062 -0.53125,0.5429685 -1.414063,0.5429685 -1.011718,0 -1.546875,-0.7734372 Q 24.160156,8.5625 24.160156,7.0898437 q 0,-1.3828125 0.65625,-2.203125 Q 25.472656,4.0625 26.578125,4.0625 q 0.296875,0 0.597656,0.058594 0.304688,0.058594 0.632813,0.1757813 z" />
</g>
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round"
id="screen">
<path
id="line12"
d="m 15,31.5 0,318"
style="stroke:#719fcf" />
<path
id="line14"
d="m 15,31.5 0,28"
style="" />
<path
id="line16"
d="m 15,89.5 0,28"
style="" />
<path
id="line18"
d="m 15,147.5 0,28"
style="" />
<path
id="line20"
d="m 15,205.5 0,28"
style="" />
<path
id="line22"
d="m 15,263.5 0,28"
style="" />
<path
id="line24"
d="m 15,321.5 0,28"
style="" />
</g>
</svg>

+ 145
- 0
plugins/community/repos/SubmarineFree/res/LD-103.svg View File

@@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata36">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs34" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path40"
style="font-size:8px;text-anchor:middle"
d="m 1.3945312,4.1679687 0.7890626,0 0,5.1679688 2.8398437,0 0,0.6640625 -3.6289063,0 0,-5.8320313 z" />
<path
id="path42"
style="font-size:8px;text-anchor:middle"
d="m 6.6367187,4.8164062 0,4.5351563 0.953125,0 q 1.2070313,0 1.7656251,-0.546875 0.5625,-0.546875 0.5625,-1.7265625 0,-1.171875 -0.5625,-1.7148438 Q 8.796875,4.8164062 7.5898437,4.8164062 l -0.953125,0 z m -0.7890625,-0.6484375 1.6210938,0 q 1.6953125,0 2.4882813,0.7070313 Q 10.75,5.578125 10.75,7.078125 10.75,8.5859375 9.953125,9.2929688 9.15625,10 7.46875,10 l -1.6210938,0 0,-5.8320313 z" />
<path
id="path44"
style="font-size:8px;text-anchor:middle"
d="m 11.609375,7.4882812 2.105469,0 0,0.6406251 -2.105469,0 0,-0.6406251 z" />
<path
id="path46"
style="font-size:8px;text-anchor:middle"
d="m 15.101563,9.3359375 1.289062,0 0,-4.4492188 -1.402344,0.28125 0,-0.71875 1.394531,-0.28125 0.789063,0 0,5.1679688 1.289062,0 0,0.6640625 -3.359374,0 0,-0.6640625 z" />
<path
id="path48"
style="font-size:8px;text-anchor:middle"
d="m 21.746094,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304688,0.5976562 -0.304688,1.8007812 0,1.1992188 0.304688,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917968,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 22.359375,4.6875 21.746094,4.6875 Z m 0,-0.625 q 0.980468,0 1.496093,0.7773437 0.519532,0.7734375 0.519532,2.25 0,1.4726563 -0.519532,2.2500001 -0.515625,0.7734372 -1.496093,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 19.730469,8.5625 19.730469,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path50"
style="font-size:8px;text-anchor:middle"
d="m 27.542969,6.8554687 q 0.566406,0.1210938 0.882812,0.5039063 0.320313,0.3828125 0.320313,0.9453125 0,0.8632813 -0.59375,1.3359375 -0.59375,0.472656 -1.6875,0.472656 -0.367188,0 -0.757813,-0.07422 Q 25.320312,9.96875 24.90625,9.8242188 l 0,-0.7617188 q 0.328125,0.1914063 0.71875,0.2890625 0.390625,0.097656 0.816406,0.097656 0.742188,0 1.128906,-0.2929688 0.390625,-0.2929687 0.390625,-0.8515625 0,-0.515625 -0.363281,-0.8046875 Q 27.238281,7.2070312 26.59375,7.2070312 l -0.679688,0 0,-0.6484375 0.710938,0 q 0.582031,0 0.890625,-0.2304687 0.308594,-0.234375 0.308594,-0.671875 0,-0.4492188 -0.320313,-0.6875 Q 27.1875,4.7265625 26.59375,4.7265625 q -0.324219,0 -0.695313,0.070312 -0.371093,0.070312 -0.816406,0.21875 l 0,-0.703125 q 0.449219,-0.125 0.839844,-0.1875 0.394531,-0.0625 0.742187,-0.0625 0.898438,0 1.421875,0.4101562 0.523438,0.40625 0.523438,1.1015625 0,0.484375 -0.277344,0.8203125 -0.277344,0.3320313 -0.789062,0.4609375 z" />
</g>
<g
style="font-size:8px;fill:#ffffff;stroke:none"
id="g11"
font-size="8">
<g
id="text13"
style="">
<path
id="path53"
style=""
d="m 27.152344,66.617187 0,0.832032 q -0.398438,-0.371094 -0.851563,-0.554688 -0.449219,-0.183594 -0.957031,-0.183594 -1,0 -1.53125,0.613282 -0.53125,0.609375 -0.53125,1.765625 0,1.152343 0.53125,1.765625 0.53125,0.609375 1.53125,0.609375 0.507812,0 0.957031,-0.183594 0.453125,-0.183594 0.851563,-0.554688 l 0,0.824219 q -0.414063,0.28125 -0.878907,0.421875 -0.460937,0.140625 -0.976562,0.140625 -1.324219,0 -2.085938,-0.808594 -0.761718,-0.8125 -0.761718,-2.214843 0,-1.40625 0.761718,-2.214844 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.140625 0.464844,0.136719 0.871094,0.414062 z" />
</g>
<g
id="text15"
style="">
<path
id="path56"
style=""
d="m 3.265625,74.167969 0.796875,0 1.2265625,4.929687 1.2226562,-4.929687 0.8867188,0 1.2265625,4.929687 1.2226563,-4.929687 0.8007817,0 L 9.1835938,80 8.1914063,80 6.9609375,74.9375 5.71875,80 4.7265625,80 3.265625,74.167969 Z" />
</g>
<g
id="text17"
style="">
<path
id="path59"
style=""
d="m 27.152344,182.61719 0,0.83203 q -0.398438,-0.3711 -0.851563,-0.55469 -0.449219,-0.18359 -0.957031,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.507812,0 0.957031,-0.18359 0.453125,-0.18359 0.851563,-0.55469 l 0,0.82422 q -0.414063,0.28125 -0.878907,0.42188 -0.460937,0.14062 -0.976562,0.14062 -1.324219,0 -2.085938,-0.80859 -0.761718,-0.8125 -0.761718,-2.21485 0,-1.40625 0.761718,-2.21484 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
</g>
<g
id="text19"
style="">
<path
id="path62"
style=""
d="m 3.265625,190.16797 0.796875,0 1.2265625,4.92969 1.2226562,-4.92969 0.8867188,0 1.2265625,4.92969 1.2226563,-4.92969 0.8007817,0 L 9.1835938,196 8.1914063,196 6.9609375,190.9375 5.71875,196 4.7265625,196 3.265625,190.16797 Z" />
</g>
<g
id="text21"
style="">
<path
id="path65"
style=""
d="m 27.152344,298.61719 0,0.83203 q -0.398438,-0.3711 -0.851563,-0.55469 -0.449219,-0.18359 -0.957031,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.507812,0 0.957031,-0.18359 0.453125,-0.18359 0.851563,-0.55469 l 0,0.82422 q -0.414063,0.28125 -0.878907,0.42188 -0.460937,0.14062 -0.976562,0.14062 -1.324219,0 -2.085938,-0.80859 -0.761718,-0.8125 -0.761718,-2.21485 0,-1.40625 0.761718,-2.21484 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
</g>
<g
id="text23"
style="">
<path
id="path68"
style=""
d="m 3.265625,306.16797 0.796875,0 1.2265625,4.92969 1.2226562,-4.92969 0.8867188,0 1.2265625,4.92969 1.2226563,-4.92969 0.8007817,0 L 9.1835938,312 8.1914063,312 6.9609375,306.9375 5.71875,312 4.7265625,312 3.265625,306.16797 Z" />
</g>
</g>
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round"
id="screen">
<path
id="line26"
d="m 15,31.5 0,84"
style="" />
<path
id="line28"
d="m 15,147.5 0,84"
style="" />
<path
id="line30"
d="m 15,263.5 0,84"
style="" />
</g>
</svg>

+ 104
- 0
plugins/community/repos/SubmarineFree/res/NG-106.svg View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata28">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs26" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path32"
style="font-size:8px;text-anchor:middle"
d="m 0.60546875,4.1679687 1.06249995,0 2.5859375,4.8789063 0,-4.8789063 0.765625,0 0,5.8320313 -1.0624999,0 -2.5859376,-4.8789063 0,4.8789063 -0.76562495,0 0,-5.8320313 z" />
<path
id="path34"
style="font-size:8px;text-anchor:middle"
d="m 10.566406,9.1679688 0,-1.5664063 -1.2890622,0 0,-0.6484375 2.0703122,0 0,2.5039063 Q 10.890625,9.78125 10.339844,9.9492188 9.7890625,10.113281 9.1640625,10.113281 q -1.3671875,0 -2.140625,-0.7968747 Q 6.2539062,8.515625 6.2539062,7.0898437 q 0,-1.4296875 0.7695313,-2.2265625 Q 7.796875,4.0625 9.1640625,4.0625 q 0.5703125,0 1.0820315,0.140625 0.515625,0.140625 0.949219,0.4140625 l 0,0.8398437 q -0.4375,-0.3710937 -0.929688,-0.5585937 -0.4921875,-0.1875 -1.0351562,-0.1875 -1.0703125,0 -1.6093751,0.5976562 -0.5351562,0.5976563 -0.5351562,1.78125 0,1.1796876 0.5351562,1.7773438 0.5390626,0.5976563 1.6093751,0.5976563 0.4179687,0 0.7460937,-0.070312 0.3281255,-0.074219 0.5898435,-0.2265625 z" />
<path
id="path36"
style="font-size:8px;text-anchor:middle"
d="m 12.398438,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path38"
style="font-size:8px;text-anchor:middle"
d="m 15.890625,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 0,0.6640625 -3.359375,0 0,-0.6640625 z" />
<path
id="path40"
style="font-size:8px;text-anchor:middle"
d="m 22.535156,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304687,0.5976562 -0.304687,1.8007812 0,1.1992188 0.304687,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917969,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 23.148437,4.6875 22.535156,4.6875 Z m 0,-0.625 q 0.980469,0 1.496094,0.7773437 0.519531,0.7734375 0.519531,2.25 0,1.4726563 -0.519531,2.2500001 -0.515625,0.7734372 -1.496094,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 20.519531,8.5625 20.519531,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path42"
style="font-size:8px;text-anchor:middle"
d="m 27.726562,6.7695312 q -0.53125,0 -0.84375,0.3632813 -0.308593,0.3632812 -0.308593,0.9960938 0,0.6289062 0.308593,0.9960937 0.3125,0.3632813 0.84375,0.3632813 0.53125,0 0.839844,-0.3632813 0.3125,-0.3671875 0.3125,-0.9960937 0,-0.6328126 -0.3125,-0.9960938 -0.308594,-0.3632813 -0.839844,-0.3632813 z m 1.566407,-2.4726562 0,0.71875 Q 28.996094,4.875 28.691406,4.8007812 28.390625,4.7265625 28.09375,4.7265625 q -0.78125,0 -1.195313,0.5273437 -0.410156,0.5273438 -0.46875,1.59375 0.230469,-0.3398437 0.578125,-0.5195312 0.347657,-0.1835938 0.765625,-0.1835938 0.878907,0 1.386719,0.5351563 0.511719,0.53125 0.511719,1.4492188 0,0.8984375 -0.53125,1.4414062 -0.53125,0.5429685 -1.414063,0.5429685 -1.011718,0 -1.546875,-0.7734372 Q 25.644531,8.5625 25.644531,7.0898437 q 0,-1.3828125 0.65625,-2.203125 Q 26.957031,4.0625 28.0625,4.0625 q 0.296875,0 0.597656,0.058594 0.304688,0.058594 0.632813,0.1757813 z" />
</g>
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round"
id="screen">
<path
id="line12"
d="m 15,31.5 0,28"
style="" />
<path
id="line14"
d="m 15,89.5 0,28"
style="" />
<path
id="line16"
d="m 15,147.5 0,28"
style="" />
<path
id="line18"
d="m 15,205.5 0,28"
style="" />
<path
id="line20"
d="m 15,263.5 0,28"
style="" />
<path
id="line22"
d="m 15,321.5 0,28"
style="" />
</g>
</svg>

+ 100
- 0
plugins/community/repos/SubmarineFree/res/OG-104.svg View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata26">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs24" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path30"
style="font-size:8px;text-anchor:middle"
d="m 2.8164063,4.703125 q -0.8593751,0 -1.3671876,0.640625 -0.5039062,0.640625 -0.5039062,1.7460937 0,1.1015626 0.5039062,1.7421876 0.5078125,0.640625 1.3671876,0.640625 0.859375,0 1.3593749,-0.640625 0.5039063,-0.640625 0.5039063,-1.7421876 0,-1.1054687 -0.5039063,-1.7460937 Q 3.6757813,4.703125 2.8164063,4.703125 Z m 0,-0.640625 q 1.2265624,0 1.9609374,0.8242187 0.734375,0.8203125 0.734375,2.203125 0,1.3789063 -0.734375,2.2031251 -0.734375,0.8203122 -1.9609374,0.8203122 -1.2304688,0 -1.96875005,-0.8203122 -0.734375,-0.8203125 -0.734375,-2.2031251 0,-1.3828125 0.734375,-2.203125 Q 1.5859375,4.0625 2.8164063,4.0625 Z" />
<path
id="path32"
style="font-size:8px;text-anchor:middle"
d="m 10.722656,9.1679688 0,-1.5664063 -1.2890622,0 0,-0.6484375 2.0703122,0 0,2.5039063 Q 11.046875,9.78125 10.496094,9.9492188 9.9453125,10.113281 9.3203125,10.113281 q -1.3671875,0 -2.140625,-0.7968747 Q 6.4101562,8.515625 6.4101562,7.0898437 q 0,-1.4296875 0.7695313,-2.2265625 Q 7.953125,4.0625 9.3203125,4.0625 q 0.5703125,0 1.0820315,0.140625 0.515625,0.140625 0.949219,0.4140625 l 0,0.8398437 q -0.4375,-0.3710937 -0.929688,-0.5585937 -0.4921875,-0.1875 -1.0351562,-0.1875 -1.0703125,0 -1.6093751,0.5976562 -0.5351562,0.5976563 -0.5351562,1.78125 0,1.1796876 0.5351562,1.7773438 0.5390626,0.5976563 1.6093751,0.5976563 0.4179687,0 0.7460942,-0.070312 0.328125,-0.074219 0.589843,-0.2265625 z" />
<path
id="path34"
style="font-size:8px;text-anchor:middle"
d="m 12.554688,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path36"
style="font-size:8px;text-anchor:middle"
d="m 16.046875,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 0,0.6640625 -3.359375,0 0,-0.6640625 z" />
<path
id="path38"
style="font-size:8px;text-anchor:middle"
d="m 22.691406,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304687,0.5976562 -0.304687,1.8007812 0,1.1992188 0.304687,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917969,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 23.304687,4.6875 22.691406,4.6875 Z m 0,-0.625 q 0.980469,0 1.496094,0.7773437 0.519531,0.7734375 0.519531,2.25 0,1.4726563 -0.519531,2.2500001 -0.515625,0.7734372 -1.496094,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 20.675781,8.5625 20.675781,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path40"
style="font-size:8px;text-anchor:middle"
d="m 28.265625,4.8554687 -1.992188,3.1132813 1.992188,0 0,-3.1132813 z m -0.207031,-0.6875 0.992187,0 0,3.8007813 0.832031,0 0,0.65625 -0.832031,0 0,1.375 -0.785156,0 0,-1.375 -2.632813,0 0,-0.7617188 2.425782,-3.6953125 z" />
</g>
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round"
id="screen">
<path
id="line12"
d="m 15,31.5 0,317"
style="stroke:#719fcf" />
<path
id="line14"
d="m 15,31.5 0,56"
style="" />
<path
id="line16"
d="m 15,118.5 0,56"
style="" />
<path
id="line18"
d="m 15,205.5 0,56"
style="" />
<path
id="line20"
d="m 15,292.5 0,56"
style="" />
</g>
</svg>

+ 96
- 0
plugins/community/repos/SubmarineFree/res/PG-104.svg View File

@@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata24">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs22" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path28"
style="font-size:8px;text-anchor:middle"
d="m 1.9726562,4.8164062 0,2.1914063 0.9921876,0 q 0.5507812,0 0.8515625,-0.2851563 0.3007812,-0.2851562 0.3007812,-0.8125 0,-0.5234375 -0.3007812,-0.8085937 Q 3.515625,4.8164062 2.9648438,4.8164062 l -0.9921876,0 z m -0.7890625,-0.6484375 1.7812501,0 q 0.9804687,0 1.4804687,0.4453125 0.5039062,0.4414063 0.5039062,1.296875 0,0.8632813 -0.5039062,1.3046875 -0.5,0.4414063 -1.4804687,0.4414063 l -0.9921876,0 0,2.34375 -0.7890625,0 0,-5.8320313 z" />
<path
id="path30"
style="font-size:8px;text-anchor:middle"
d="m 9.9882813,9.1679688 0,-1.5664063 -1.2890625,0 0,-0.6484375 2.0703122,0 0,2.5039063 Q 10.3125,9.78125 9.7617188,9.9492188 9.2109375,10.113281 8.5859375,10.113281 7.21875,10.113281 6.4453125,9.3164063 5.6757812,8.515625 5.6757812,7.0898437 q 0,-1.4296875 0.7695313,-2.2265625 Q 7.21875,4.0625 8.5859375,4.0625 q 0.5703125,0 1.0820313,0.140625 0.5156252,0.140625 0.9492192,0.4140625 l 0,0.8398437 Q 10.179688,5.0859375 9.6875,4.8984375 q -0.4921875,-0.1875 -1.0351562,-0.1875 -1.0703126,0 -1.6093751,0.5976562 -0.5351562,0.5976563 -0.5351562,1.78125 0,1.1796876 0.5351562,1.7773438 0.5390625,0.5976563 1.6093751,0.5976563 0.4179687,0 0.7460937,-0.070312 0.328125,-0.074219 0.5898438,-0.2265625 z" />
<path
id="path32"
style="font-size:8px;text-anchor:middle"
d="m 11.820313,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path34"
style="font-size:8px;text-anchor:middle"
d="m 15.3125,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 0,0.6640625 -3.359375,0 0,-0.6640625 z" />
<path
id="path36"
style="font-size:8px;text-anchor:middle"
d="m 21.957031,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304687,0.5976562 -0.304687,1.8007812 0,1.1992188 0.304687,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917969,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 22.570312,4.6875 21.957031,4.6875 Z m 0,-0.625 q 0.980469,0 1.496094,0.7773437 0.519531,0.7734375 0.519531,2.25 0,1.4726563 -0.519531,2.2500001 -0.515625,0.7734372 -1.496094,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 19.941406,8.5625 19.941406,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path38"
style="font-size:8px;text-anchor:middle"
d="m 27.53125,4.8554687 -1.992188,3.1132813 1.992188,0 0,-3.1132813 z m -0.207031,-0.6875 0.992187,0 0,3.8007813 0.832031,0 0,0.65625 -0.832031,0 0,1.375 -0.785156,0 0,-1.375 -2.632813,0 0,-0.7617188 2.425782,-3.6953125 z" />
</g>
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round"
id="screen">
<path
id="line12"
d="m 15,31.5 0,56"
style="" />
<path
id="line14"
d="m 15,118.5 0,56"
style="" />
<path
id="line16"
d="m 15,205.5 0,56"
style="" />
<path
id="line18"
d="m 15,292.5 0,56"
style="" />
</g>
</svg>

+ 76
- 0
plugins/community/repos/SubmarineFree/res/SS-112.svg View File

@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata15">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs13" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path19"
style="font-size:8px;text-anchor:middle"
d="m 5.1171875,4.359375 0,0.7695312 Q 4.6679687,4.9140625 4.2695312,4.8085937 3.8710938,4.703125 3.5,4.703125 q -0.6445312,0 -0.9960937,0.25 -0.3476563,0.25 -0.3476563,0.7109375 0,0.3867187 0.2304688,0.5859375 0.234375,0.1953125 0.8828125,0.3164062 l 0.4765625,0.097656 q 0.8828124,0.1679687 1.3007812,0.59375 0.421875,0.421875 0.421875,1.1328125 0,0.8476563 -0.5703125,1.2851563 -0.5664063,0.4374997 -1.6640625,0.4374997 -0.4140625,0 -0.8828125,-0.09375 -0.4648438,-0.09375 -0.9648438,-0.2773435 l 0,-0.8125 q 0.4804688,0.2695313 0.9414063,0.40625 0.4609375,0.1367188 0.90625,0.1367188 0.6757813,0 1.0429687,-0.265625 0.3671875,-0.265625 0.3671875,-0.7578125 0,-0.4296875 -0.265625,-0.6718751 Q 4.1171875,7.5351562 3.515625,7.4140625 L 3.0351563,7.3203125 Q 2.1523438,7.1445312 1.7578125,6.7695312 q -0.3945313,-0.375 -0.3945313,-1.0429687 0,-0.7734375 0.5429688,-1.21875 Q 2.453125,4.0625 3.4101563,4.0625 q 0.4101562,0 0.8359374,0.074219 0.4257813,0.074219 0.8710938,0.2226563 z" />
<path
id="path21"
style="font-size:8px;text-anchor:middle"
d="m 10.195313,4.359375 0,0.7695312 Q 9.7460938,4.9140625 9.3476563,4.8085937 8.9492188,4.703125 8.578125,4.703125 q -0.6445313,0 -0.9960938,0.25 -0.3476562,0.25 -0.3476562,0.7109375 0,0.3867187 0.2304687,0.5859375 0.234375,0.1953125 0.8828126,0.3164062 l 0.4765625,0.097656 q 0.8828125,0.1679687 1.3007812,0.59375 0.421875,0.421875 0.421875,1.1328125 0,0.8476563 -0.5703125,1.2851563 Q 9.4101563,10.113281 8.3125,10.113281 q -0.4140625,0 -0.8828125,-0.09375 -0.4648438,-0.09375 -0.9648438,-0.2773435 l 0,-0.8125 q 0.4804688,0.2695313 0.9414063,0.40625 0.4609375,0.1367188 0.90625,0.1367188 0.6757813,0 1.0429688,-0.265625 0.3671875,-0.265625 0.3671875,-0.7578125 0,-0.4296875 -0.265625,-0.6718751 Q 9.1953125,7.5351562 8.59375,7.4140625 L 8.1132813,7.3203125 Q 7.2304687,7.1445312 6.8359375,6.7695312 q -0.3945313,-0.375 -0.3945313,-1.0429687 0,-0.7734375 0.5429688,-1.21875 Q 7.53125,4.0625 8.4882813,4.0625 q 0.4101562,0 0.8359375,0.074219 Q 9.75,4.2109375 10.195313,4.359375 Z" />
<path
id="path23"
style="font-size:8px;text-anchor:middle"
d="m 11.382813,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path25"
style="font-size:8px;text-anchor:middle"
d="m 14.875,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 0,0.6640625 -3.359375,0 0,-0.6640625 z" />
<path
id="path27"
style="font-size:8px;text-anchor:middle"
d="m 19.96875,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 0,0.6640625 -3.359375,0 0,-0.6640625 z" />
<path
id="path29"
style="font-size:8px;text-anchor:middle"
d="m 25.605469,9.3359375 2.753906,0 0,0.6640625 -3.703125,0 0,-0.6640625 Q 25.105469,8.8710938 25.878906,8.0898438 26.65625,7.3046875 26.855469,7.078125 27.234375,6.6523437 27.382812,6.359375 27.535156,6.0625 27.535156,5.7773437 q 0,-0.4648437 -0.328125,-0.7578125 -0.324219,-0.2929687 -0.847656,-0.2929687 -0.371094,0 -0.785156,0.1289062 -0.410157,0.1289063 -0.878907,0.390625 l 0,-0.796875 Q 25.171875,4.2578125 25.585937,4.1601562 26,4.0625 26.34375,4.0625 q 0.90625,0 1.445312,0.453125 0.539063,0.453125 0.539063,1.2109375 0,0.359375 -0.136719,0.6835937 -0.132812,0.3203125 -0.488281,0.7578125 -0.09766,0.1132813 -0.621094,0.65625 -0.523437,0.5390626 -1.476562,1.5117188 z" />
</g>
</g>
</svg>

+ 165
- 0
plugins/community/repos/SubmarineFree/res/SS-208.svg View File

@@ -0,0 +1,165 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata33">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs31" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path37"
style="font-size:8px;text-anchor:middle"
d="m 5.1171875,4.359375 0,0.7695312 Q 4.6679687,4.9140625 4.2695312,4.8085937 3.8710938,4.703125 3.5,4.703125 q -0.6445312,0 -0.9960937,0.25 -0.3476563,0.25 -0.3476563,0.7109375 0,0.3867187 0.2304688,0.5859375 0.234375,0.1953125 0.8828125,0.3164062 l 0.4765625,0.097656 q 0.8828124,0.1679687 1.3007812,0.59375 0.421875,0.421875 0.421875,1.1328125 0,0.8476563 -0.5703125,1.2851563 -0.5664063,0.4374997 -1.6640625,0.4374997 -0.4140625,0 -0.8828125,-0.09375 -0.4648438,-0.09375 -0.9648438,-0.2773435 l 0,-0.8125 q 0.4804688,0.2695313 0.9414063,0.40625 0.4609375,0.1367188 0.90625,0.1367188 0.6757813,0 1.0429687,-0.265625 0.3671875,-0.265625 0.3671875,-0.7578125 0,-0.4296875 -0.265625,-0.6718751 Q 4.1171875,7.5351562 3.515625,7.4140625 L 3.0351563,7.3203125 Q 2.1523438,7.1445312 1.7578125,6.7695312 q -0.3945313,-0.375 -0.3945313,-1.0429687 0,-0.7734375 0.5429688,-1.21875 Q 2.453125,4.0625 3.4101563,4.0625 q 0.4101562,0 0.8359374,0.074219 0.4257813,0.074219 0.8710938,0.2226563 z" />
<path
id="path39"
style="font-size:8px;text-anchor:middle"
d="m 10.195313,4.359375 0,0.7695312 Q 9.7460938,4.9140625 9.3476563,4.8085937 8.9492188,4.703125 8.578125,4.703125 q -0.6445313,0 -0.9960938,0.25 -0.3476562,0.25 -0.3476562,0.7109375 0,0.3867187 0.2304687,0.5859375 0.234375,0.1953125 0.8828126,0.3164062 l 0.4765625,0.097656 q 0.8828125,0.1679687 1.3007812,0.59375 0.421875,0.421875 0.421875,1.1328125 0,0.8476563 -0.5703125,1.2851563 Q 9.4101563,10.113281 8.3125,10.113281 q -0.4140625,0 -0.8828125,-0.09375 -0.4648438,-0.09375 -0.9648438,-0.2773435 l 0,-0.8125 q 0.4804688,0.2695313 0.9414063,0.40625 0.4609375,0.1367188 0.90625,0.1367188 0.6757813,0 1.0429688,-0.265625 0.3671875,-0.265625 0.3671875,-0.7578125 0,-0.4296875 -0.265625,-0.6718751 Q 9.1953125,7.5351562 8.59375,7.4140625 L 8.1132813,7.3203125 Q 7.2304687,7.1445312 6.8359375,6.7695312 q -0.3945313,-0.375 -0.3945313,-1.0429687 0,-0.7734375 0.5429688,-1.21875 Q 7.53125,4.0625 8.4882813,4.0625 q 0.4101562,0 0.8359375,0.074219 Q 9.75,4.2109375 10.195313,4.359375 Z" />
<path
id="path41"
style="font-size:8px;text-anchor:middle"
d="m 11.382813,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path43"
style="font-size:8px;text-anchor:middle"
d="m 15.417969,9.3359375 2.753906,0 0,0.6640625 -3.703125,0 0,-0.6640625 Q 14.917969,8.8710938 15.691406,8.0898438 16.46875,7.3046875 16.667969,7.078125 17.046875,6.6523437 17.195312,6.359375 17.347656,6.0625 17.347656,5.7773437 q 0,-0.4648437 -0.328125,-0.7578125 -0.324219,-0.2929687 -0.847656,-0.2929687 -0.371094,0 -0.785156,0.1289062 -0.410156,0.1289063 -0.878906,0.390625 l 0,-0.796875 Q 14.984375,4.2578125 15.398438,4.1601562 15.8125,4.0625 16.15625,4.0625 q 0.90625,0 1.445312,0.453125 0.539063,0.453125 0.539063,1.2109375 0,0.359375 -0.136719,0.6835937 -0.132812,0.3203125 -0.488281,0.7578125 -0.09766,0.1132813 -0.621094,0.65625 -0.523437,0.5390626 -1.476562,1.5117188 z" />
<path
id="path45"
style="font-size:8px;text-anchor:middle"
d="m 21.519531,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304687,0.5976562 -0.304687,1.8007812 0,1.1992188 0.304687,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917969,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 22.132812,4.6875 21.519531,4.6875 Z m 0,-0.625 q 0.980469,0 1.496094,0.7773437 0.519531,0.7734375 0.519531,2.25 0,1.4726563 -0.519531,2.2500001 Q 22.5,10.113281 21.519531,10.113281 q -0.980469,0 -1.5,-0.7734372 Q 19.503906,8.5625 19.503906,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path47"
style="font-size:8px;text-anchor:middle"
d="m 26.613281,7.2304687 q -0.5625,0 -0.886719,0.3007813 -0.320312,0.3007812 -0.320312,0.828125 0,0.5273438 0.320312,0.828125 0.324219,0.3007813 0.886719,0.3007813 0.5625,0 0.886719,-0.3007813 Q 27.824219,8.8828125 27.824219,8.359375 27.824219,7.8320312 27.5,7.53125 27.179687,7.2304687 26.613281,7.2304687 Z M 25.824219,6.8945312 Q 25.316406,6.7695312 25.03125,6.421875 24.75,6.0742187 24.75,5.5742187 24.75,4.875 25.246094,4.46875 q 0.5,-0.40625 1.367187,-0.40625 0.871094,0 1.367188,0.40625 0.496093,0.40625 0.496093,1.1054687 0,0.5 -0.285156,0.8476563 -0.28125,0.3476562 -0.785156,0.4726562 0.570312,0.1328125 0.886719,0.5195313 0.320312,0.3867187 0.320312,0.9453125 0,0.8476563 -0.519531,1.3007813 -0.515625,0.4531247 -1.480469,0.4531247 -0.964844,0 -1.484375,-0.4531247 -0.515625,-0.453125 -0.515625,-1.3007813 0,-0.5585938 0.320313,-0.9453125 0.320312,-0.3867188 0.890625,-0.5195313 z M 25.535156,5.6484375 q 0,0.453125 0.28125,0.7070312 0.285156,0.2539063 0.796875,0.2539063 0.507813,0 0.792969,-0.2539063 0.289062,-0.2539062 0.289062,-0.7070312 0,-0.453125 -0.289062,-0.7070313 Q 27.121094,4.6875 26.613281,4.6875 q -0.511719,0 -0.796875,0.2539062 -0.28125,0.2539063 -0.28125,0.7070313 z" />
</g>
<g
style="font-size:10px;fill:#ffffff;stroke:none"
id="g11"
font-size="10">
<g
id="text13"
style="text-anchor:middle">
<path
id="path50"
style="text-anchor:middle"
d="m 12.353516,48.53125 5.239257,0 0,0.898437 -0.688476,0 0,3.359375 q 0,0.351563 0.117187,0.507813 0.122071,0.151367 0.390625,0.151367 0.07324,0 0.180664,-0.0098 0.107422,-0.01465 0.141602,-0.01953 l 0,0.649414 q -0.170898,0.06348 -0.351563,0.09277 -0.180664,0.0293 -0.361328,0.0293 -0.585937,0 -0.810547,-0.317383 -0.224609,-0.322266 -0.224609,-1.181641 l 0,-3.261719 -2.016601,0 0,4.570313 -0.917969,0 0,-4.570313 -0.698242,0 0,-0.898437 z" />
</g>
<g
id="text15"
style="text-anchor:middle">
<path
id="path53"
style="text-anchor:middle"
d="m 15.615234,96.003906 q 0.175782,0.234375 0.703125,0.234375 l 0.434571,0 0,0.761719 -0.541993,0 Q 15.332031,97 14.931641,96.53125 14.53125,96.052734 14.53125,95.017578 l 0,-2.587891 -2.050781,0 0,-0.898437 5.043945,0 0,0.898437 -2.075195,0 0,2.641602 q 0,0.708008 0.166015,0.932617 z" />
</g>
<g
id="text17"
style="text-anchor:middle">
<path
id="path56"
style="text-anchor:middle"
d="m 13.505859,138.00781 q -0.01953,0.18555 -0.01953,0.35156 0,0.45899 0.166016,0.76172 0.288086,0.53711 1.05957,0.53711 0.566406,0 0.844727,-0.1709 0.498046,-0.30761 0.615234,-0.70312 l 0.65918,0 q -0.195313,0.62012 -0.922852,1.05469 -0.507812,0.30273 -1.513672,0.30273 -1.005859,0 -1.547851,-0.74707 -0.38086,-0.52246 -0.38086,-1.2793 0,-0.33203 0.07324,-0.708 0.239257,-1.23536 1.064453,-1.98731 0.825195,-0.75195 1.99707,-0.75195 1.90918,0 1.90918,1.35254 0,0.97168 -1.000977,1.47461 -1.020508,0.51269 -3.00293,0.51269 z m 2.504883,-1.09375 q 0.546875,-0.37597 0.546875,-0.92773 0,-0.83496 -1.108398,-0.83496 -0.654297,0 -1.108399,0.49804 -0.454101,0.49805 -0.732422,1.84082 1.567383,0 2.402344,-0.57617 z" />
</g>
<g
id="text19"
style="text-anchor:middle">
<path
id="path59"
style="text-anchor:middle"
d="m 12.421875,174.88965 0.922852,0 0,0.46875 -0.561524,0 -2.9003905,7.8418 -0.3222656,0 -1.5576172,-4.31153 -0.6103516,0.21973 -0.1220703,-0.39063 1.381836,-0.47851 1.25,3.46191 2.5195312,-6.81152 z" />
<path
id="path61"
style="text-anchor:middle"
d="m 14.101563,179.20117 0.996093,0 0,-2.9834 -1.088867,0.2002 0,-0.56641 1.123047,-0.19043 0.668945,0 0,3.54004 1.000977,0 0,0.53711 -2.700195,0 0,-0.53711 z m 6.225585,3.24219 2.070313,0 0,0.55664 -2.919922,0 0,-0.53711 q 0.166016,-0.15137 0.473633,-0.4248 1.679687,-1.48926 1.679687,-1.94825 0,-0.32226 -0.253906,-0.51757 -0.253906,-0.2002 -0.668945,-0.2002 -0.253906,0 -0.551758,0.0879 -0.297852,0.083 -0.649414,0.25391 l 0,-0.60059 q 0.375976,-0.13672 0.698242,-0.20508 0.327149,-0.0684 0.605469,-0.0684 0.708008,0 1.132812,0.32227 0.424805,0.32226 0.424805,0.84961 0,0.67871 -1.616211,2.06543 -0.273437,0.23437 -0.424805,0.36621 z m -0.258789,-6.86524 0.78125,0 -4.550781,7.56348 -0.78125,0 4.550781,-7.56348 z" />
</g>
<g
id="text21"
style="text-anchor:middle">
<path
id="path64"
style="text-anchor:middle"
d="m 14.082031,217.88965 0.922852,0 0,0.46875 -0.561524,0 -2.90039,7.8418 -0.322266,0 -1.5576171,-4.31153 -0.6103515,0.21973 -0.1220703,-0.39063 1.3818359,-0.47851 1.25,3.46191 2.519531,-6.81152 z" />
<path
id="path66"
style="text-anchor:middle"
d="m 16.918945,225.16992 3.442383,0 0,0.83008 -4.628906,0 0,-0.83008 q 0.561523,-0.58105 1.52832,-1.55762 0.97168,-0.98144 1.220703,-1.26464 0.473633,-0.53223 0.65918,-0.89844 0.19043,-0.3711 0.19043,-0.72754 0,-0.58106 -0.410157,-0.94727 -0.405273,-0.36621 -1.05957,-0.36621 -0.463867,0 -0.981445,0.16114 -0.512696,0.16113 -1.098633,0.48828 l 0,-0.9961 q 0.595703,-0.23925 1.113281,-0.36132 0.517578,-0.12208 0.947266,-0.12208 1.132812,0 1.80664,0.56641 0.673829,0.56641 0.673829,1.51367 0,0.44922 -0.170899,0.8545 -0.166015,0.40039 -0.610351,0.94726 -0.122071,0.1416 -0.776368,0.82031 -0.654296,0.67383 -1.845703,1.88965 z" />
</g>
<g
id="text23"
style="text-anchor:middle">
<path
id="path69"
style="text-anchor:middle"
d="m 14.082031,260.88965 0.922852,0 0,0.46875 -0.561524,0 -2.90039,7.8418 -0.322266,0 -1.5576171,-4.31153 -0.6103515,0.21973 -0.1220703,-0.39063 1.3818359,-0.47851 1.25,3.46191 2.519531,-6.81152 z" />
<path
id="path71"
style="text-anchor:middle"
d="m 19.057617,265.06934 q 0.708008,0.15136 1.103516,0.62988 0.40039,0.47851 0.40039,1.18164 0,1.0791 -0.742187,1.66992 -0.742188,0.59082 -2.109375,0.59082 -0.458984,0 -0.947266,-0.0928 -0.483398,-0.0879 -1.000976,-0.26856 l 0,-0.95215 q 0.410156,0.23926 0.898437,0.36133 0.488281,0.12207 1.020508,0.12207 0.927734,0 1.411133,-0.36621 0.488281,-0.36621 0.488281,-1.06445 0,-0.64453 -0.454101,-1.00586 -0.449219,-0.36621 -1.254883,-0.36621 l -0.84961,0 0,-0.81055 0.888672,0 q 0.727539,0 1.113281,-0.28808 0.385743,-0.29297 0.385743,-0.83985 0,-0.56152 -0.400391,-0.85937 -0.395508,-0.30274 -1.137695,-0.30274 -0.405274,0 -0.869141,0.0879 -0.463867,0.0879 -1.020508,0.27344 l 0,-0.87891 q 0.561524,-0.15625 1.049805,-0.23437 0.493164,-0.0781 0.927734,-0.0781 1.123047,0 1.777344,0.5127 0.654297,0.50781 0.654297,1.37695 0,0.60547 -0.34668,1.02539 -0.346679,0.41504 -0.986328,0.57618 z" />
</g>
<g
id="text25"
style="text-anchor:middle">
<path
id="path74"
style="text-anchor:middle"
d="m 14.082031,303.88965 0.922852,0 0,0.46875 -0.561524,0 -2.90039,7.8418 -0.322266,0 -1.5576171,-4.31153 -0.6103515,0.21973 -0.1220703,-0.39063 1.3818359,-0.47851 1.25,3.46191 2.519531,-6.81152 z" />
<path
id="path76"
style="text-anchor:middle"
d="m 16.079102,304.70996 3.87207,0 0,0.83008 -2.96875,0 0,1.78711 q 0.214844,-0.0732 0.429687,-0.10742 0.214844,-0.0391 0.429688,-0.0391 1.220703,0 1.933594,0.66895 0.71289,0.66894 0.71289,1.81152 0,1.17676 -0.732422,1.83106 -0.732422,0.64941 -2.065429,0.64941 -0.458985,0 -0.9375,-0.0781 -0.473633,-0.0781 -0.981446,-0.23438 l 0,-0.99121 q 0.439453,0.23926 0.908203,0.35645 0.46875,0.11718 0.991211,0.11718 0.844727,0 1.337891,-0.44433 0.493164,-0.44434 0.493164,-1.20606 0,-0.76172 -0.493164,-1.20605 -0.493164,-0.44434 -1.337891,-0.44434 -0.395507,0 -0.791015,0.0879 -0.390625,0.0879 -0.800781,0.27344 l 0,-3.66211 z" />
</g>
<g
id="text27"
style="text-anchor:middle">
<path
id="path79"
style="text-anchor:middle"
d="m 14.082031,346.88965 0.922852,0 0,0.46875 -0.561524,0 -2.90039,7.8418 -0.322266,0 -1.5576171,-4.31153 -0.6103515,0.21973 -0.1220703,-0.39063 1.3818359,-0.47851 1.25,3.46191 2.519531,-6.81152 z" />
<path
id="path81"
style="text-anchor:middle"
d="m 15.820313,347.70996 4.687499,0 0,0.41992 -2.646484,6.87012 -1.030273,0 2.490234,-6.45996 -3.500976,0 0,-0.83008 z" />
</g>
</g>
</g>
</svg>

+ 104
- 0
plugins/community/repos/SubmarineFree/res/SS-212.svg View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata29">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs27" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path33"
style="font-size:8px;text-anchor:middle"
d="m 5.1171875,4.359375 0,0.7695312 Q 4.6679687,4.9140625 4.2695312,4.8085937 3.8710938,4.703125 3.5,4.703125 q -0.6445312,0 -0.9960937,0.25 -0.3476563,0.25 -0.3476563,0.7109375 0,0.3867187 0.2304688,0.5859375 0.234375,0.1953125 0.8828125,0.3164062 l 0.4765625,0.097656 q 0.8828124,0.1679687 1.3007812,0.59375 0.421875,0.421875 0.421875,1.1328125 0,0.8476563 -0.5703125,1.2851563 -0.5664063,0.4374997 -1.6640625,0.4374997 -0.4140625,0 -0.8828125,-0.09375 -0.4648438,-0.09375 -0.9648438,-0.2773435 l 0,-0.8125 q 0.4804688,0.2695313 0.9414063,0.40625 0.4609375,0.1367188 0.90625,0.1367188 0.6757813,0 1.0429687,-0.265625 0.3671875,-0.265625 0.3671875,-0.7578125 0,-0.4296875 -0.265625,-0.6718751 Q 4.1171875,7.5351562 3.515625,7.4140625 L 3.0351563,7.3203125 Q 2.1523438,7.1445312 1.7578125,6.7695312 q -0.3945313,-0.375 -0.3945313,-1.0429687 0,-0.7734375 0.5429688,-1.21875 Q 2.453125,4.0625 3.4101563,4.0625 q 0.4101562,0 0.8359374,0.074219 0.4257813,0.074219 0.8710938,0.2226563 z" />
<path
id="path35"
style="font-size:8px;text-anchor:middle"
d="m 10.195313,4.359375 0,0.7695312 Q 9.7460938,4.9140625 9.3476563,4.8085937 8.9492188,4.703125 8.578125,4.703125 q -0.6445313,0 -0.9960938,0.25 -0.3476562,0.25 -0.3476562,0.7109375 0,0.3867187 0.2304687,0.5859375 0.234375,0.1953125 0.8828126,0.3164062 l 0.4765625,0.097656 q 0.8828125,0.1679687 1.3007812,0.59375 0.421875,0.421875 0.421875,1.1328125 0,0.8476563 -0.5703125,1.2851563 Q 9.4101563,10.113281 8.3125,10.113281 q -0.4140625,0 -0.8828125,-0.09375 -0.4648438,-0.09375 -0.9648438,-0.2773435 l 0,-0.8125 q 0.4804688,0.2695313 0.9414063,0.40625 0.4609375,0.1367188 0.90625,0.1367188 0.6757813,0 1.0429688,-0.265625 0.3671875,-0.265625 0.3671875,-0.7578125 0,-0.4296875 -0.265625,-0.6718751 Q 9.1953125,7.5351562 8.59375,7.4140625 L 8.1132813,7.3203125 Q 7.2304687,7.1445312 6.8359375,6.7695312 q -0.3945313,-0.375 -0.3945313,-1.0429687 0,-0.7734375 0.5429688,-1.21875 Q 7.53125,4.0625 8.4882813,4.0625 q 0.4101562,0 0.8359375,0.074219 Q 9.75,4.2109375 10.195313,4.359375 Z" />
<path
id="path37"
style="font-size:8px;text-anchor:middle"
d="m 11.382813,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path39"
style="font-size:8px;text-anchor:middle"
d="m 15.417969,9.3359375 2.753906,0 0,0.6640625 -3.703125,0 0,-0.6640625 Q 14.917969,8.8710938 15.691406,8.0898438 16.46875,7.3046875 16.667969,7.078125 17.046875,6.6523437 17.195312,6.359375 17.347656,6.0625 17.347656,5.7773437 q 0,-0.4648437 -0.328125,-0.7578125 -0.324219,-0.2929687 -0.847656,-0.2929687 -0.371094,0 -0.785156,0.1289062 -0.410156,0.1289063 -0.878906,0.390625 l 0,-0.796875 Q 14.984375,4.2578125 15.398438,4.1601562 15.8125,4.0625 16.15625,4.0625 q 0.90625,0 1.445312,0.453125 0.539063,0.453125 0.539063,1.2109375 0,0.359375 -0.136719,0.6835937 -0.132812,0.3203125 -0.488281,0.7578125 -0.09766,0.1132813 -0.621094,0.65625 -0.523437,0.5390626 -1.476562,1.5117188 z" />
<path
id="path41"
style="font-size:8px;text-anchor:middle"
d="m 19.96875,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 0,0.6640625 -3.359375,0 0,-0.6640625 z" />
<path
id="path43"
style="font-size:8px;text-anchor:middle"
d="m 25.605469,9.3359375 2.753906,0 0,0.6640625 -3.703125,0 0,-0.6640625 Q 25.105469,8.8710938 25.878906,8.0898438 26.65625,7.3046875 26.855469,7.078125 27.234375,6.6523437 27.382812,6.359375 27.535156,6.0625 27.535156,5.7773437 q 0,-0.4648437 -0.328125,-0.7578125 -0.324219,-0.2929687 -0.847656,-0.2929687 -0.371094,0 -0.785156,0.1289062 -0.410157,0.1289063 -0.878907,0.390625 l 0,-0.796875 Q 25.171875,4.2578125 25.585937,4.1601562 26,4.0625 26.34375,4.0625 q 0.90625,0 1.445312,0.453125 0.539063,0.453125 0.539063,1.2109375 0,0.359375 -0.136719,0.6835937 -0.132812,0.3203125 -0.488281,0.7578125 -0.09766,0.1132813 -0.621094,0.65625 -0.523437,0.5390626 -1.476562,1.5117188 z" />
</g>
<path
id="rect11"
d="m 4,17 22,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,45 C 2.892,45 2,44.108 2,43 L 2,19 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect13"
d="m 4,75 22,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 l -22,0 c -1.108,0 -2,-0.892 -2,-2 L 2,77 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect15"
d="m 4,133 22,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 l -22,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect17"
d="m 4,162 22,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 l -22,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect19"
d="m 4,220 22,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 l -22,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect21"
d="m 4,278 22,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 l -22,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect23"
d="m 4,336 22,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 l -22,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
</svg>

+ 153
- 0
plugins/community/repos/SubmarineFree/res/SS-220.svg View File

@@ -0,0 +1,153 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg2"
version="1.1"
height="380px"
width="300px">
<metadata
id="metadata33">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs31" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 300,0 0,380 -300,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 300,0 299,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 300,0 0,-380 -1,1 0,378 -298,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 289.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 281,373.83071 8.1692063,5.1693144 0 0 0 289.16915,379 8.1692063,5.1693144 0 0 0 296.48278,376.11985 3.0461447,4.2480502 0 0 0 299,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 289.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path37"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path39"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path41"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path43"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path45"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path47"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path49"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path51"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path53"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text4241"
style="text-anchor:middle">
<path
id="path56"
style="text-anchor:middle"
d="m 135.17578,3.5390625 0,1.1542969 Q 134.50195,4.3710937 133.9043,4.2128906 133.30664,4.0546875 132.75,4.0546875 q -0.9668,0 -1.49414,0.375 -0.52149,0.375 -0.52149,1.0664062 0,0.5800782 0.34571,0.8789063 0.35156,0.2929687 1.32422,0.4746094 l 0.71484,0.1464843 q 1.32422,0.2519532 1.95117,0.890625 0.63281,0.6328126 0.63281,1.6992188 0,1.2714845 -0.85546,1.9277345 -0.84961,0.65625 -2.4961,0.65625 -0.62109,0 -1.32422,-0.140625 -0.69726,-0.140625 -1.44726,-0.416016 l 0,-1.21875 q 0.7207,0.404297 1.41211,0.609375 0.6914,0.205078 1.35937,0.205078 1.01367,0 1.56446,-0.398437 0.55078,-0.398438 0.55078,-1.1367189 0,-0.6445312 -0.39844,-1.0078125 -0.39258,-0.3632812 -1.29492,-0.5449218 l -0.72071,-0.1406251 q -1.32421,-0.2636718 -1.91601,-0.8261718 -0.5918,-0.5625 -0.5918,-1.5644532 0,-1.1601562 0.81445,-1.8281249 0.82032,-0.6679688 2.25586,-0.6679688 0.61524,0 1.25391,0.1113281 0.63867,0.1113282 1.30664,0.3339844 z" />
<path
id="path58"
style="text-anchor:middle"
d="m 142.79297,3.5390625 0,1.1542969 q -0.67383,-0.3222657 -1.27149,-0.4804688 -0.59765,-0.1582031 -1.15429,-0.1582031 -0.9668,0 -1.49414,0.375 -0.52149,0.375 -0.52149,1.0664062 0,0.5800782 0.34571,0.8789063 0.35156,0.2929687 1.32421,0.4746094 l 0.71485,0.1464843 q 1.32422,0.2519532 1.95117,0.890625 0.63281,0.6328126 0.63281,1.6992188 0,1.2714845 -0.85547,1.9277345 -0.84961,0.65625 -2.49609,0.65625 -0.62109,0 -1.32422,-0.140625 -0.69726,-0.140625 -1.44726,-0.416016 l 0,-1.21875 q 0.7207,0.404297 1.4121,0.609375 0.69141,0.205078 1.35938,0.205078 1.01367,0 1.56445,-0.398437 0.55078,-0.398438 0.55078,-1.1367189 0,-0.6445312 -0.39843,-1.0078125 -0.39258,-0.3632812 -1.29493,-0.5449218 l -0.7207,-0.1406251 q -1.32422,-0.2636718 -1.91601,-0.8261718 -0.5918,-0.5625 -0.5918,-1.5644532 0,-1.1601562 0.81445,-1.8281249 0.82031,-0.6679688 2.25586,-0.6679688 0.61524,0 1.25391,0.1113281 0.63867,0.1113282 1.30664,0.3339844 z" />
<path
id="path60"
style="text-anchor:middle"
d="m 144.57422,8.2324219 3.1582,0 0,0.9609375 -3.1582,0 0,-0.9609375 z" />
<path
id="path62"
style="text-anchor:middle"
d="m 150.62695,11.003906 4.13086,0 0,0.996094 -5.55469,0 0,-0.996094 q 0.67383,-0.697265 1.83399,-1.8691404 1.16601,-1.1777344 1.46484,-1.5175781 0.56836,-0.6386719 0.79102,-1.078125 0.22851,-0.4453125 0.22851,-0.8730469 0,-0.6972656 -0.49218,-1.1367187 -0.48633,-0.4394532 -1.27149,-0.4394532 -0.55664,0 -1.17773,0.1933594 -0.61524,0.1933594 -1.31836,0.5859375 l 0,-1.1953125 q 0.71484,-0.2871093 1.33594,-0.4335937 0.62109,-0.1464844 1.13671,-0.1464844 1.35938,0 2.16797,0.6796875 0.8086,0.6796875 0.8086,1.8164062 0,0.5390625 -0.20508,1.0253907 -0.19922,0.4804687 -0.73242,1.1367187 -0.14649,0.1699219 -0.93164,0.984375 -0.78516,0.8085938 -2.21485,2.2675779 z" />
<path
id="path64"
style="text-anchor:middle"
d="m 158.26758,11.003906 4.13086,0 0,0.996094 -5.55469,0 0,-0.996094 q 0.67383,-0.697265 1.83398,-1.8691404 1.16602,-1.1777344 1.46485,-1.5175781 0.56836,-0.6386719 0.79101,-1.078125 0.22852,-0.4453125 0.22852,-0.8730469 0,-0.6972656 -0.49219,-1.1367187 -0.48633,-0.4394532 -1.27148,-0.4394532 -0.55664,0 -1.17774,0.1933594 -0.61523,0.1933594 -1.31836,0.5859375 l 0,-1.1953125 q 0.71485,-0.2871093 1.33594,-0.4335937 0.62109,-0.1464844 1.13672,-0.1464844 1.35937,0 2.16797,0.6796875 0.80859,0.6796875 0.80859,1.8164062 0,0.5390625 -0.20508,1.0253907 -0.19921,0.4804687 -0.73242,1.1367187 -0.14648,0.1699219 -0.93164,0.984375 -0.78515,0.8085938 -2.21484,2.2675779 z" />
<path
id="path66"
style="text-anchor:middle"
d="m 167.41992,4.03125 q -0.91406,0 -1.37695,0.9023437 -0.45703,0.8964844 -0.45703,2.7011719 0,1.7988282 0.45703,2.7011724 0.46289,0.896484 1.37695,0.896484 0.91992,0 1.37695,-0.896484 0.4629,-0.9023442 0.4629,-2.7011724 0,-1.8046875 -0.4629,-2.7011719 Q 168.33984,4.03125 167.41992,4.03125 Z m 0,-0.9375 q 1.4707,0 2.24414,1.1660156 0.7793,1.1601563 0.7793,3.375 0,2.2089844 -0.7793,3.3750004 -0.77344,1.160156 -2.24414,1.160156 -1.4707,0 -2.25,-1.160156 -0.77344,-1.166016 -0.77344,-3.3750004 0,-2.2148437 0.77344,-3.375 0.7793,-1.1660156 2.25,-1.1660156 z" />
</g>
<path
id="rect12"
d="m 4,17 292,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,45 C 2.892,45 2,44.108 2,43 L 2,19 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect14"
d="m 4,75 292,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,103 c -1.108,0 -2,-0.892 -2,-2 L 2,77 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect16"
d="m 4,133 292,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,161 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect18"
d="m 4,162 292,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,190 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect20"
d="m 4,220 292,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,248 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect22"
d="m 4,278 292,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,306 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
<path
id="rect24"
d="m 4,336 292,0 c 1.108,0 2,0.892 2,2 l 0,24 c 0,1.108 -0.892,2 -2,2 L 4,364 c -1.108,0 -2,-0.892 -2,-2 l 0,-24 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:none;stroke:#ffffff"
font-size="8"
id="screen">
<path
id="rect27"
d="m 152.5,14.5 25,0 c 1.108,0 2,0.892 2,2 l 0,348 c 0,1.108 -0.892,2 -2,2 l -25,0 c -1.108,0 -2,-0.892 -2,-2 l 0,-348 c 0,-1.108 0.892,-2 2,-2 z"
style="" />
</g>
</svg>

+ 414
- 0
plugins/community/repos/SubmarineFree/res/SS-221.svg View File

@@ -0,0 +1,414 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
height="380px"
width="75px">
<metadata
id="metadata38">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs36" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 75,0 0,380 -75,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 75,0 74,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 75,0 0,-380 -1,1 0,378 -73,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<g
id="text4239"
style="text-anchor:middle">
<path
id="path42"
style="text-anchor:middle"
d="m 22.675781,3.5390625 0,1.1542969 Q 22.001953,4.3710937 21.404297,4.2128906 20.806641,4.0546875 20.25,4.0546875 q -0.966797,0 -1.494141,0.375 -0.521484,0.375 -0.521484,1.0664062 0,0.5800782 0.345703,0.8789063 0.351563,0.2929687 1.324219,0.4746094 l 0.714844,0.1464843 q 1.324218,0.2519532 1.951171,0.890625 0.632813,0.6328126 0.632813,1.6992188 0,1.2714845 -0.855469,1.9277345 -0.849609,0.65625 -2.496094,0.65625 -0.621093,0 -1.324218,-0.140625 -0.697266,-0.140625 -1.447266,-0.416016 l 0,-1.21875 q 0.720703,0.404297 1.412109,0.609375 0.691407,0.205078 1.359375,0.205078 1.013672,0 1.564454,-0.398437 0.550781,-0.398438 0.550781,-1.1367189 0,-0.6445312 -0.398438,-1.0078125 Q 21.175781,8.3027344 20.273437,8.1210938 L 19.552734,7.9804687 q -1.324218,-0.2636718 -1.916015,-0.8261718 -0.591797,-0.5625 -0.591797,-1.5644532 0,-1.1601562 0.814453,-1.8281249 0.820312,-0.6679688 2.255859,-0.6679688 0.615235,0 1.253907,0.1113281 0.638671,0.1113282 1.30664,0.3339844 z" />
<path
id="path44"
style="text-anchor:middle"
d="m 30.292969,3.5390625 0,1.1542969 Q 29.619141,4.3710937 29.021484,4.2128906 28.423828,4.0546875 27.867187,4.0546875 q -0.966796,0 -1.49414,0.375 -0.521485,0.375 -0.521485,1.0664062 0,0.5800782 0.345704,0.8789063 0.351562,0.2929687 1.324218,0.4746094 l 0.714844,0.1464843 q 1.324219,0.2519532 1.951172,0.890625 0.632812,0.6328126 0.632812,1.6992188 0,1.2714845 -0.855468,1.9277345 -0.84961,0.65625 -2.496094,0.65625 -0.621094,0 -1.324219,-0.140625 -0.697265,-0.140625 -1.447265,-0.416016 l 0,-1.21875 q 0.720703,0.404297 1.412109,0.609375 0.691406,0.205078 1.359375,0.205078 1.013672,0 1.564453,-0.398437 0.550781,-0.398438 0.550781,-1.1367189 0,-0.6445312 -0.398437,-1.0078125 Q 28.792969,8.3027344 27.890625,8.1210938 L 27.169922,7.9804687 q -1.324219,-0.2636718 -1.916016,-0.8261718 -0.591797,-0.5625 -0.591797,-1.5644532 0,-1.1601562 0.814453,-1.8281249 0.820313,-0.6679688 2.25586,-0.6679688 0.615234,0 1.253906,0.1113281 0.638672,0.1113282 1.306641,0.3339844 z" />
<path
id="path46"
style="text-anchor:middle"
d="m 32.074219,8.2324219 3.158203,0 0,0.9609375 -3.158203,0 0,-0.9609375 z" />
<path
id="path48"
style="text-anchor:middle"
d="m 38.126953,11.003906 4.130859,0 0,0.996094 -5.554687,0 0,-0.996094 q 0.673828,-0.697265 1.833984,-1.8691404 1.166016,-1.1777344 1.464844,-1.5175781 0.568359,-0.6386719 0.791016,-1.078125 0.228515,-0.4453125 0.228515,-0.8730469 0,-0.6972656 -0.492187,-1.1367187 -0.486328,-0.4394532 -1.271485,-0.4394532 -0.55664,0 -1.177734,0.1933594 -0.615234,0.1933594 -1.318359,0.5859375 l 0,-1.1953125 Q 37.476562,3.3867188 38.097656,3.2402344 38.71875,3.09375 39.234375,3.09375 q 1.359375,0 2.167969,0.6796875 0.808593,0.6796875 0.808593,1.8164062 0,0.5390625 -0.205078,1.0253907 -0.199218,0.4804687 -0.732422,1.1367187 -0.146484,0.1699219 -0.93164,0.984375 -0.785156,0.8085938 -2.214844,2.2675779 z" />
<path
id="path50"
style="text-anchor:middle"
d="m 45.767578,11.003906 4.130859,0 0,0.996094 -5.554687,0 0,-0.996094 q 0.673828,-0.697265 1.833984,-1.8691404 1.166016,-1.1777344 1.464844,-1.5175781 0.568359,-0.6386719 0.791016,-1.078125 0.228515,-0.4453125 0.228515,-0.8730469 0,-0.6972656 -0.492187,-1.1367187 -0.486328,-0.4394532 -1.271485,-0.4394532 -0.55664,0 -1.177734,0.1933594 -0.615234,0.1933594 -1.318359,0.5859375 l 0,-1.1953125 Q 45.117187,3.3867188 45.738281,3.2402344 46.359375,3.09375 46.875,3.09375 q 1.359375,0 2.167969,0.6796875 0.808593,0.6796875 0.808593,1.8164062 0,0.5390625 -0.205078,1.0253907 -0.199218,0.4804687 -0.732422,1.1367187 -0.146484,0.1699219 -0.93164,0.984375 -0.785156,0.8085938 -2.214844,2.2675779 z" />
<path
id="path52"
style="text-anchor:middle"
d="m 52.59375,11.003906 1.933594,0 0,-6.6738279 -2.103516,0.421875 0,-1.078125 2.091797,-0.421875 1.183594,0 0,7.7519529 1.933593,0 0,0.996094 -5.039062,0 0,-0.996094 z" />
</g>
<g
id="text10"
style="text-anchor:middle">
<path
id="path55"
style="text-anchor:middle"
d="m 10.904297,370.63086 0,1.01953 q -0.457031,-0.23437 -0.9492189,-0.35156 -0.4921875,-0.11719 -1.0195312,-0.11719 -0.8027344,0 -1.2070313,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871094,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.148438,0.24609 1.628906,0.69727 0.486328,0.44531 0.486328,1.24804 0,0.91407 -0.726562,1.44727 -0.7207032,0.5332 -1.9863282,0.5332 -0.5273438,0 -1.1015626,-0.10547 -0.5683593,-0.0996 -1.2011718,-0.30468 l 0,-1.11329 q 0.5976562,0.31055 1.1777343,0.46875 0.5800782,0.15235 1.1484376,0.15235 0.7617187,0 1.171875,-0.25781 0.4101567,-0.26368 0.4101567,-0.73829 0,-0.43945 -0.2988286,-0.67382 -0.2929688,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632812,-0.5039 0.5976563,0 1.125,0.0879 0.5273434,0.0879 0.9726564,0.26367 z" />
<path
id="path57"
style="text-anchor:middle"
d="m 12.867188,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873046,0 1.376953,-0.55664 0.509765,-0.55664 0.509765,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392578,0.59765 -0.914062,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path59"
style="text-anchor:middle"
d="m 25.306641,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855469,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492187,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083985,0 0,-9.11719 1.083985,0 0,3.55078 z" />
<path
id="path61"
style="text-anchor:middle"
d="m 33.322266,371.69727 q 0.404296,-0.72657 0.966796,-1.07227 0.5625,-0.3457 1.324219,-0.3457 1.025391,0 1.582031,0.7207 0.556641,0.71484 0.556641,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333985,-1.40039 Q 36,371.2168 35.314453,371.2168 q -0.837891,0 -1.324219,0.55664 -0.486328,0.55664 -0.486328,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333985,-1.40039 -0.333984,-0.45703 -1.03125,-0.45703 -0.826171,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.369141,-0.60351 0.884766,-0.89062 0.515625,-0.28711 1.224609,-0.28711 0.714844,0 1.212891,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path63"
style="text-anchor:middle"
d="m 42.890625,373.70117 q -1.306641,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550782,0.28125 -1.347657,0.28125 -1.007812,0 -1.605468,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371094,-0.41016 -0.5625,0 -1.095703,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591796,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083984,-0.11718 1.423829,0 2.126954,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path65"
style="text-anchor:middle"
d="m 51.070312,371.44531 q -0.18164,-0.10547 -0.398437,-0.15234 -0.210938,-0.0527 -0.46875,-0.0527 -0.914063,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.339844,-0.59766 0.884765,-0.88476 0.544922,-0.29297 1.324219,-0.29297 0.111328,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path67"
style="text-anchor:middle"
d="m 52.212891,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path69"
style="text-anchor:middle"
d="m 60.996094,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363282,-1.39453 -0.363281,-0.46289 -1.089843,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503907,0.55664 -0.503907,1.51758 l 0,3.70898 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.386719,-0.5918 0.908203,-0.88476 0.527344,-0.29297 1.212891,-0.29297 1.130859,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path71"
style="text-anchor:middle"
d="m 68.771484,373.44922 0,0.52734 -4.957031,0 q 0.07031,1.11328 0.667969,1.69922 0.603515,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585937,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570313,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873046,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773437,0.8496 0.773437,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480468,-0.52734 -1.277343,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621094,1.43555 l 3.84375,-0.006 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:#ffffff;stroke:none"
font-size="8"
id="group1">
<g
id="text4242"
style="text-anchor:middle">
<path
id="path74"
style="text-anchor:middle"
d="m 30.664062,33.335937 1.289063,0 0,-4.449218 -1.402344,0.28125 0,-0.71875 1.394531,-0.28125 0.789063,0 0,5.167968 1.289062,0 0,0.664063 -3.359375,0 0,-0.664063 z" />
<path
id="path76"
style="text-anchor:middle"
d="m 37.308594,28.6875 q -0.609375,0 -0.917969,0.601562 -0.304688,0.597657 -0.304688,1.800782 0,1.199218 0.304688,1.800781 0.308594,0.597656 0.917969,0.597656 0.613281,0 0.917968,-0.597656 0.308594,-0.601563 0.308594,-1.800781 0,-1.203125 -0.308594,-1.800782 Q 37.921875,28.6875 37.308594,28.6875 Z m 0,-0.625 q 0.980468,0 1.496093,0.777344 0.519532,0.773437 0.519532,2.25 0,1.472656 -0.519532,2.25 -0.515625,0.773437 -1.496093,0.773437 -0.980469,0 -1.5,-0.773437 -0.515625,-0.777344 -0.515625,-2.25 0,-1.476563 0.515625,-2.25 0.519531,-0.777344 1.5,-0.777344 z" />
<path
id="path78"
style="text-anchor:middle"
d="m 42.148437,34 -2.226562,-5.832031 0.824219,0 1.847656,4.910156 1.851562,-4.910156 0.820313,0 L 43.042969,34 42.148437,34 Z" />
</g>
<g
id="text4244"
style="text-anchor:middle">
<path
id="path81"
style="text-anchor:middle"
d="m 33.097656,49.878906 0,-0.71875 q 0.296875,0.140625 0.601563,0.214844 0.304687,0.07422 0.597656,0.07422 0.78125,0 1.191406,-0.523438 0.414063,-0.527344 0.472656,-1.597656 -0.226562,0.335937 -0.574218,0.515625 -0.347657,0.179687 -0.769532,0.179687 -0.875,0 -1.386718,-0.527343 -0.507813,-0.53125 -0.507813,-1.449219 0,-0.898438 0.53125,-1.441406 0.53125,-0.542969 1.414063,-0.542969 1.011718,0 1.542968,0.777344 0.535157,0.773437 0.535157,2.25 0,1.378906 -0.65625,2.203125 -0.652344,0.820312 -1.757813,0.820312 -0.296875,0 -0.601562,-0.05859 -0.304688,-0.05859 -0.632813,-0.175781 z m 1.570313,-2.472656 q 0.53125,0 0.839843,-0.363281 0.3125,-0.363282 0.3125,-0.996094 0,-0.628906 -0.3125,-0.992188 -0.308593,-0.367187 -0.839843,-0.367187 -0.53125,0 -0.84375,0.367187 -0.308594,0.363282 -0.308594,0.992188 0,0.632812 0.308594,0.996094 0.3125,0.363281 0.84375,0.363281 z" />
<path
id="path83"
style="text-anchor:middle"
d="M 39.601562,50 37.375,44.167969 l 0.824219,0 1.847656,4.910156 1.851562,-4.910156 0.820313,0 L 40.496094,50 39.601562,50 Z" />
</g>
<g
id="text4246"
style="text-anchor:middle">
<path
id="path86"
style="text-anchor:middle"
d="m 34.761719,63.230469 q -0.5625,0 -0.886719,0.300781 -0.320313,0.300781 -0.320313,0.828125 0,0.527344 0.320313,0.828125 0.324219,0.300781 0.886719,0.300781 0.5625,0 0.886718,-0.300781 0.324219,-0.304688 0.324219,-0.828125 0,-0.527344 -0.324219,-0.828125 -0.320312,-0.300781 -0.886718,-0.300781 z m -0.789063,-0.335938 q -0.507812,-0.125 -0.792969,-0.472656 -0.28125,-0.347656 -0.28125,-0.847656 0,-0.699219 0.496094,-1.105469 0.5,-0.40625 1.367188,-0.40625 0.871093,0 1.367187,0.40625 0.496094,0.40625 0.496094,1.105469 0,0.5 -0.285156,0.847656 -0.28125,0.347656 -0.785157,0.472656 0.570313,0.132813 0.886719,0.519531 0.320313,0.386719 0.320313,0.945313 0,0.847656 -0.519532,1.300781 -0.515625,0.453125 -1.480468,0.453125 -0.964844,0 -1.484375,-0.453125 -0.515625,-0.453125 -0.515625,-1.300781 0,-0.558594 0.320312,-0.945313 0.320313,-0.386718 0.890625,-0.519531 z m -0.289062,-1.246094 q 0,0.453125 0.28125,0.707032 0.285156,0.253906 0.796875,0.253906 0.507812,0 0.792968,-0.253906 0.289063,-0.253907 0.289063,-0.707032 0,-0.453125 -0.289063,-0.707031 -0.285156,-0.253906 -0.792968,-0.253906 -0.511719,0 -0.796875,0.253906 -0.28125,0.253906 -0.28125,0.707031 z" />
<path
id="path88"
style="text-anchor:middle"
d="M 39.601562,66 37.375,60.167969 l 0.824219,0 1.847656,4.910156 1.851562,-4.910156 0.820313,0 L 40.496094,66 39.601562,66 Z" />
</g>
<g
id="text4248"
style="text-anchor:middle">
<path
id="path91"
style="text-anchor:middle"
d="m 32.875,76.167969 3.75,0 0,0.335937 L 34.507812,82 l -0.824218,0 1.992187,-5.167969 -2.800781,0 0,-0.664062 z" />
<path
id="path93"
style="text-anchor:middle"
d="M 39.601562,82 37.375,76.167969 l 0.824219,0 1.847656,4.910156 1.851562,-4.910156 0.820313,0 L 40.496094,82 39.601562,82 Z" />
</g>
<g
id="text4250"
style="text-anchor:middle">
<path
id="path96"
style="text-anchor:middle"
d="m 34.859375,94.769531 q -0.53125,0 -0.84375,0.363281 -0.308594,0.363282 -0.308594,0.996094 0,0.628906 0.308594,0.996094 0.3125,0.363281 0.84375,0.363281 0.53125,0 0.839844,-0.363281 0.3125,-0.367188 0.3125,-0.996094 0,-0.632812 -0.3125,-0.996094 -0.308594,-0.363281 -0.839844,-0.363281 z m 1.566406,-2.472656 0,0.71875 Q 36.128906,92.875 35.824219,92.800781 q -0.300782,-0.07422 -0.597657,-0.07422 -0.78125,0 -1.195312,0.527344 -0.410156,0.527344 -0.46875,1.59375 0.230469,-0.339844 0.578125,-0.519531 0.347656,-0.183594 0.765625,-0.183594 0.878906,0 1.386719,0.535156 0.511718,0.53125 0.511718,1.449219 0,0.898438 -0.53125,1.441406 -0.53125,0.542969 -1.414062,0.542969 -1.011719,0 -1.546875,-0.773437 -0.535156,-0.777344 -0.535156,-2.25 0,-1.382813 0.65625,-2.203125 0.65625,-0.824219 1.761718,-0.824219 0.296875,0 0.597657,0.05859 0.304687,0.05859 0.632812,0.175781 z" />
<path
id="path98"
style="text-anchor:middle"
d="M 39.601562,98 37.375,92.167969 l 0.824219,0 1.847656,4.910156 1.851562,-4.910156 0.820313,0 L 40.496094,98 39.601562,98 Z" />
</g>
<g
id="text4252"
style="text-anchor:middle">
<path
id="path101"
style="text-anchor:middle"
d="m 33.082031,108.16797 3.097656,0 0,0.66406 -2.375,0 0,1.42969 q 0.171875,-0.0586 0.34375,-0.0859 0.171875,-0.0312 0.34375,-0.0312 0.976563,0 1.546875,0.53516 0.570313,0.53515 0.570313,1.44922 0,0.9414 -0.585938,1.46484 -0.585937,0.51953 -1.652343,0.51953 -0.367188,0 -0.75,-0.0625 -0.378907,-0.0625 -0.785157,-0.1875 l 0,-0.79297 q 0.351563,0.19141 0.726563,0.28516 0.375,0.0937 0.792969,0.0937 0.675781,0 1.070312,-0.35547 0.394531,-0.35547 0.394531,-0.96484 0,-0.60938 -0.394531,-0.96485 -0.394531,-0.35547 -1.070312,-0.35547 -0.316407,0 -0.632813,0.0703 -0.3125,0.0703 -0.640625,0.21875 l 0,-2.92969 z" />
<path
id="path103"
style="text-anchor:middle"
d="m 39.601562,114 -2.226562,-5.83203 0.824219,0 1.847656,4.91016 1.851562,-4.91016 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text4254"
style="text-anchor:middle">
<path
id="path106"
style="text-anchor:middle"
d="m 35.242187,124.85547 -1.992187,3.11328 1.992187,0 0,-3.11328 z m -0.207031,-0.6875 0.992188,0 0,3.80078 0.832031,0 0,0.65625 -0.832031,0 0,1.375 -0.785157,0 0,-1.375 -2.632812,0 0,-0.76172 2.425781,-3.69531 z" />
<path
id="path108"
style="text-anchor:middle"
d="m 39.601562,130 -2.226562,-5.83203 0.824219,0 1.847656,4.91015 1.851562,-4.91015 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text4256"
style="text-anchor:middle">
<path
id="path111"
style="text-anchor:middle"
d="m 35.464844,142.85547 q 0.566406,0.12109 0.882812,0.5039 0.320313,0.38282 0.320313,0.94532 0,0.86328 -0.59375,1.33593 -0.59375,0.47266 -1.6875,0.47266 -0.367188,0 -0.757813,-0.0742 -0.386719,-0.0703 -0.800781,-0.21484 l 0,-0.76172 q 0.328125,0.19141 0.71875,0.28906 0.390625,0.0977 0.816406,0.0977 0.742188,0 1.128906,-0.29297 0.390625,-0.29297 0.390625,-0.85156 0,-0.51563 -0.363281,-0.80469 -0.359375,-0.29297 -1.003906,-0.29297 l -0.679688,0 0,-0.64844 0.710938,0 q 0.582031,0 0.890625,-0.23047 0.308594,-0.23437 0.308594,-0.67187 0,-0.44922 -0.320313,-0.6875 -0.316406,-0.24219 -0.910156,-0.24219 -0.324219,0 -0.695313,0.0703 -0.371093,0.0703 -0.816406,0.21875 l 0,-0.70312 q 0.449219,-0.125 0.839844,-0.1875 0.394531,-0.0625 0.742187,-0.0625 0.898438,0 1.421875,0.41016 0.523438,0.40625 0.523438,1.10156 0,0.48437 -0.277344,0.82031 -0.277344,0.33203 -0.789062,0.46094 z" />
<path
id="path113"
style="text-anchor:middle"
d="m 39.601562,146 -2.226562,-5.83203 0.824219,0 1.847656,4.91015 1.851562,-4.91015 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text4258"
style="text-anchor:middle">
<path
id="path116"
style="text-anchor:middle"
d="m 33.753906,161.33594 2.753906,0 0,0.66406 -3.703125,0 0,-0.66406 q 0.449219,-0.46485 1.222657,-1.2461 0.777343,-0.78515 0.976562,-1.01172 0.378906,-0.42578 0.527344,-0.71875 0.152344,-0.29687 0.152344,-0.58203 0,-0.46484 -0.328125,-0.75781 -0.324219,-0.29297 -0.847657,-0.29297 -0.371093,0 -0.785156,0.12891 -0.410156,0.1289 -0.878906,0.39062 l 0,-0.79687 q 0.476562,-0.19141 0.890625,-0.28906 0.414062,-0.0977 0.757812,-0.0977 0.90625,0 1.445313,0.45312 0.539062,0.45313 0.539062,1.21094 0,0.35938 -0.136718,0.6836 -0.132813,0.32031 -0.488282,0.75781 -0.09766,0.11328 -0.621093,0.65625 -0.523438,0.53906 -1.476563,1.51172 z" />
<path
id="path118"
style="text-anchor:middle"
d="m 39.601562,162 -2.226562,-5.83203 0.824219,0 1.847656,4.91015 1.851562,-4.91015 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text4260"
style="text-anchor:middle">
<path
id="path121"
style="text-anchor:middle"
d="m 33.210937,177.33594 1.289063,0 0,-4.44922 -1.402344,0.28125 0,-0.71875 1.394531,-0.28125 0.789063,0 0,5.16797 1.289062,0 0,0.66406 -3.359375,0 0,-0.66406 z" />
<path
id="path123"
style="text-anchor:middle"
d="m 39.601562,178 -2.226562,-5.83203 0.824219,0 1.847656,4.91015 1.851562,-4.91015 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text4262"
style="text-anchor:middle">
<path
id="path126"
style="text-anchor:middle"
d="m 34.761719,188.6875 q -0.609375,0 -0.917969,0.60156 -0.304688,0.59766 -0.304688,1.80078 0,1.19922 0.304688,1.80078 0.308594,0.59766 0.917969,0.59766 0.613281,0 0.917968,-0.59766 0.308594,-0.60156 0.308594,-1.80078 0,-1.20312 -0.308594,-1.80078 Q 35.375,188.6875 34.761719,188.6875 Z m 0,-0.625 q 0.980468,0 1.496093,0.77734 0.519532,0.77344 0.519532,2.25 0,1.47266 -0.519532,2.25 -0.515625,0.77344 -1.496093,0.77344 -0.980469,0 -1.5,-0.77344 -0.515625,-0.77734 -0.515625,-2.25 0,-1.47656 0.515625,-2.25 0.519531,-0.77734 1.5,-0.77734 z" />
<path
id="path128"
style="text-anchor:middle"
d="m 39.601562,194 -2.226562,-5.83203 0.824219,0 1.847656,4.91015 1.851562,-4.91015 0.820313,0 -2.222656,5.83203 -0.894532,0 z" />
</g>
<g
id="text4264"
style="text-anchor:middle">
<path
id="path131"
style="text-anchor:middle"
d="m 31.164062,207.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path133"
style="text-anchor:middle"
d="m 34.65625,209.33594 1.289062,0 0,-4.44922 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.16797 1.289063,0 0,0.66406 -3.359375,0 0,-0.66406 z" />
<path
id="path135"
style="text-anchor:middle"
d="m 41.046875,210 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4266"
style="text-anchor:middle">
<path
id="path138"
style="text-anchor:middle"
d="m 31.164062,223.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path140"
style="text-anchor:middle"
d="m 35.199219,225.33594 2.753906,0 0,0.66406 -3.703125,0 0,-0.66406 q 0.449219,-0.46485 1.222656,-1.2461 0.777344,-0.78515 0.976563,-1.01172 0.378906,-0.42578 0.527343,-0.71875 0.152344,-0.29687 0.152344,-0.58203 0,-0.46484 -0.328125,-0.75781 -0.324219,-0.29297 -0.847656,-0.29297 -0.371094,0 -0.785156,0.12891 -0.410157,0.1289 -0.878907,0.39062 l 0,-0.79687 q 0.476563,-0.19141 0.890625,-0.28906 0.414063,-0.0977 0.757813,-0.0977 0.90625,0 1.445312,0.45312 0.539063,0.45313 0.539063,1.21094 0,0.35938 -0.136719,0.6836 -0.132812,0.32031 -0.488281,0.75781 -0.09766,0.11328 -0.621094,0.65625 -0.523437,0.53906 -1.476562,1.51172 z" />
<path
id="path142"
style="text-anchor:middle"
d="m 41.046875,226 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4268"
style="text-anchor:middle">
<path
id="path145"
style="text-anchor:middle"
d="m 31.164062,239.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path147"
style="text-anchor:middle"
d="m 36.910156,238.85547 q 0.566406,0.12109 0.882813,0.5039 0.320312,0.38282 0.320312,0.94532 0,0.86328 -0.59375,1.33593 -0.59375,0.47266 -1.6875,0.47266 -0.367187,0 -0.757812,-0.0742 -0.386719,-0.0703 -0.800782,-0.21484 l 0,-0.76172 q 0.328125,0.19141 0.71875,0.28906 0.390625,0.0977 0.816407,0.0977 0.742187,0 1.128906,-0.29297 0.390625,-0.29297 0.390625,-0.85156 0,-0.51563 -0.363281,-0.80469 -0.359375,-0.29297 -1.003907,-0.29297 l -0.679687,0 0,-0.64844 0.710937,0 q 0.582032,0 0.890625,-0.23047 0.308594,-0.23437 0.308594,-0.67187 0,-0.44922 -0.320312,-0.6875 -0.316407,-0.24219 -0.910157,-0.24219 -0.324218,0 -0.695312,0.0703 -0.371094,0.0703 -0.816406,0.21875 l 0,-0.70312 q 0.449218,-0.125 0.839843,-0.1875 0.394532,-0.0625 0.742188,-0.0625 0.898437,0 1.421875,0.41016 0.523437,0.40625 0.523437,1.10156 0,0.48437 -0.277343,0.82031 -0.277344,0.33203 -0.789063,0.46094 z" />
<path
id="path149"
style="text-anchor:middle"
d="m 41.046875,242 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4270"
style="text-anchor:middle">
<path
id="path152"
style="text-anchor:middle"
d="m 31.164062,255.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path154"
style="text-anchor:middle"
d="m 36.6875,252.85547 -1.992188,3.11328 1.992188,0 0,-3.11328 z m -0.207031,-0.6875 0.992187,0 0,3.80078 0.832031,0 0,0.65625 -0.832031,0 0,1.375 -0.785156,0 0,-1.375 -2.632813,0 0,-0.76172 2.425782,-3.69531 z" />
<path
id="path156"
style="text-anchor:middle"
d="m 41.046875,258 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4272"
style="text-anchor:middle">
<path
id="path159"
style="text-anchor:middle"
d="m 31.164062,271.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path161"
style="text-anchor:middle"
d="m 34.527344,268.16797 3.097656,0 0,0.66406 -2.375,0 0,1.42969 q 0.171875,-0.0586 0.34375,-0.0859 0.171875,-0.0312 0.34375,-0.0312 0.976562,0 1.546875,0.53516 0.570312,0.53515 0.570312,1.44922 0,0.9414 -0.585937,1.46484 -0.585938,0.51953 -1.652344,0.51953 -0.367187,0 -0.75,-0.0625 -0.378906,-0.0625 -0.785156,-0.1875 l 0,-0.79297 q 0.351562,0.19141 0.726562,0.28516 0.375,0.0937 0.792969,0.0937 0.675781,0 1.070313,-0.35547 0.394531,-0.35547 0.394531,-0.96484 0,-0.60938 -0.394531,-0.96485 -0.394532,-0.35547 -1.070313,-0.35547 -0.316406,0 -0.632812,0.0703 -0.3125,0.0703 -0.640625,0.21875 l 0,-2.92969 z" />
<path
id="path163"
style="text-anchor:middle"
d="m 41.046875,274 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4274"
style="text-anchor:middle">
<path
id="path166"
style="text-anchor:middle"
d="m 31.164062,287.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path168"
style="text-anchor:middle"
d="m 36.304687,286.76953 q -0.53125,0 -0.84375,0.36328 -0.308593,0.36328 -0.308593,0.9961 0,0.6289 0.308593,0.99609 0.3125,0.36328 0.84375,0.36328 0.53125,0 0.839844,-0.36328 0.3125,-0.36719 0.3125,-0.99609 0,-0.63282 -0.3125,-0.9961 -0.308594,-0.36328 -0.839844,-0.36328 z m 1.566407,-2.47266 0,0.71875 q -0.296875,-0.14062 -0.601563,-0.21484 -0.300781,-0.0742 -0.597656,-0.0742 -0.78125,0 -1.195313,0.52735 -0.410156,0.52734 -0.46875,1.59375 0.230469,-0.33985 0.578125,-0.51954 0.347657,-0.18359 0.765625,-0.18359 0.878907,0 1.386719,0.53516 0.511719,0.53125 0.511719,1.44922 0,0.89843 -0.53125,1.4414 -0.53125,0.54297 -1.414063,0.54297 -1.011718,0 -1.546875,-0.77344 -0.535156,-0.77734 -0.535156,-2.25 0,-1.38281 0.65625,-2.20312 0.65625,-0.82422 1.761719,-0.82422 0.296875,0 0.597656,0.0586 0.304688,0.0586 0.632813,0.17578 z" />
<path
id="path170"
style="text-anchor:middle"
d="m 41.046875,290 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4276"
style="text-anchor:middle">
<path
id="path173"
style="text-anchor:middle"
d="m 31.164062,303.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path175"
style="text-anchor:middle"
d="m 34.320312,300.16797 3.75,0 0,0.33594 -2.117187,5.49609 -0.824219,0 1.992188,-5.16797 -2.800782,0 0,-0.66406 z" />
<path
id="path177"
style="text-anchor:middle"
d="m 41.046875,306 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4278"
style="text-anchor:middle">
<path
id="path180"
style="text-anchor:middle"
d="m 31.164062,319.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path182"
style="text-anchor:middle"
d="m 36.207031,319.23047 q -0.5625,0 -0.886719,0.30078 Q 35,319.83203 35,320.35937 q 0,0.52735 0.320312,0.82813 0.324219,0.30078 0.886719,0.30078 0.5625,0 0.886719,-0.30078 0.324219,-0.30469 0.324219,-0.82813 0,-0.52734 -0.324219,-0.82812 -0.320313,-0.30078 -0.886719,-0.30078 z m -0.789062,-0.33594 q -0.507813,-0.125 -0.792969,-0.47266 -0.28125,-0.34765 -0.28125,-0.84765 0,-0.69922 0.496094,-1.10547 0.5,-0.40625 1.367187,-0.40625 0.871094,0 1.367188,0.40625 0.496093,0.40625 0.496093,1.10547 0,0.5 -0.285156,0.84765 -0.28125,0.34766 -0.785156,0.47266 0.570312,0.13281 0.886719,0.51953 0.320312,0.38672 0.320312,0.94531 0,0.84766 -0.519531,1.30079 -0.515625,0.45312 -1.480469,0.45312 -0.964844,0 -1.484375,-0.45312 -0.515625,-0.45313 -0.515625,-1.30079 0,-0.55859 0.320313,-0.94531 0.320312,-0.38672 0.890625,-0.51953 z m -0.289063,-1.24609 q 0,0.45312 0.28125,0.70703 0.285156,0.2539 0.796875,0.2539 0.507813,0 0.792969,-0.2539 0.289062,-0.25391 0.289062,-0.70703 0,-0.45313 -0.289062,-0.70703 -0.285156,-0.25391 -0.792969,-0.25391 -0.511719,0 -0.796875,0.25391 -0.28125,0.2539 -0.28125,0.70703 z" />
<path
id="path184"
style="text-anchor:middle"
d="m 41.046875,322 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4280"
style="text-anchor:middle">
<path
id="path187"
style="text-anchor:middle"
d="m 31.164062,335.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path189"
style="text-anchor:middle"
d="m 34.542969,337.87891 0,-0.71875 q 0.296875,0.14062 0.601562,0.21484 0.304688,0.0742 0.597656,0.0742 0.78125,0 1.191407,-0.52344 0.414062,-0.52734 0.472656,-1.59766 -0.226563,0.33594 -0.574219,0.51563 -0.347656,0.17969 -0.769531,0.17969 -0.875,0 -1.386719,-0.52735 -0.507812,-0.53125 -0.507812,-1.44922 0,-0.89843 0.53125,-1.4414 0.53125,-0.54297 1.414062,-0.54297 1.011719,0 1.542969,0.77734 0.535156,0.77344 0.535156,2.25 0,1.37891 -0.65625,2.20313 -0.652344,0.82031 -1.757812,0.82031 -0.296875,0 -0.601563,-0.0586 -0.304687,-0.0586 -0.632812,-0.17578 z m 1.570312,-2.47266 q 0.53125,0 0.839844,-0.36328 0.3125,-0.36328 0.3125,-0.9961 0,-0.6289 -0.3125,-0.99218 -0.308594,-0.36719 -0.839844,-0.36719 -0.53125,0 -0.84375,0.36719 -0.308594,0.36328 -0.308594,0.99218 0,0.63282 0.308594,0.9961 0.3125,0.36328 0.84375,0.36328 z" />
<path
id="path191"
style="text-anchor:middle"
d="m 41.046875,338 -2.226563,-5.83203 0.824219,0 1.847656,4.91015 1.851563,-4.91015 0.820312,0 -2.222656,5.83203 -0.894531,0 z" />
</g>
<g
id="text4282"
style="text-anchor:middle">
<path
id="path194"
style="text-anchor:middle"
d="m 31.351562,351.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path196"
style="text-anchor:middle"
d="m 34.84375,353.33594 1.289062,0 0,-4.44922 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.16797 1.289063,0 0,0.66406 -3.359375,0 0,-0.66406 z" />
<path
id="path198"
style="text-anchor:middle"
d="m 41.488281,348.6875 q -0.609375,0 -0.917969,0.60156 -0.304687,0.59766 -0.304687,1.80078 0,1.19922 0.304687,1.80078 0.308594,0.59766 0.917969,0.59766 0.613281,0 0.917969,-0.59766 0.308594,-0.60156 0.308594,-1.80078 0,-1.20312 -0.308594,-1.80078 -0.304688,-0.60156 -0.917969,-0.60156 z m 0,-0.625 q 0.980469,0 1.496094,0.77734 0.519531,0.77344 0.519531,2.25 0,1.47266 -0.519531,2.25 -0.515625,0.77344 -1.496094,0.77344 -0.980469,0 -1.5,-0.77344 -0.515625,-0.77734 -0.515625,-2.25 0,-1.47656 0.515625,-2.25 0.519531,-0.77734 1.5,-0.77734 z" />
</g>
</g>
</svg>

+ 181
- 0
plugins/community/repos/SubmarineFree/res/TD-116.svg View File

@@ -0,0 +1,181 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4226"
version="1.1"
height="380px"
width="240px">
<metadata
id="metadata20">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs18" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 240,0 0,380 -240,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4230"
d="M 0,380 0,0 240,0 239,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4232"
d="m 0,380 240,0 0,-380 -1,1 0,378 -238,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 229.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 221,373.83071 8.1692063,5.1693144 0 0 0 229.16915,379 8.1692063,5.1693144 0 0 0 236.48278,376.11985 3.0461447,4.2480502 0 0 0 239,377.97641 l 0,-2.35772 a 1.3384576,1.9448905 0 0 1 -1.2923,-1.94151 1.3384576,1.9448905 0 0 1 1.2923,-1.94263 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 229.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4236"
style="">
<path
id="path24"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path26"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path28"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path30"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path32"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path34"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path36"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path38"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path40"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text4241"
style="text-anchor:middle">
<path
id="path43"
style="text-anchor:middle"
d="m 98.050781,3.2519531 7.400389,0 0,0.9960938 -3.10547,0 0,7.7519531 -1.18945,0 0,-7.7519531 -3.105469,0 0,-0.9960938 z" />
<path
id="path45"
style="text-anchor:middle"
d="m 107.7832,4.2246094 0,6.8027346 1.42969,0 q 1.81055,0 2.64844,-0.820313 0.84375,-0.8203122 0.84375,-2.5898435 0,-1.7578125 -0.84375,-2.5722656 -0.83789,-0.8203125 -2.64844,-0.8203125 l -1.42969,0 z m -1.18359,-0.9726563 2.43164,0 q 2.54297,0 3.73242,1.0605469 1.18946,1.0546875 1.18946,3.3046875 0,2.2617188 -1.19532,3.3222655 Q 111.5625,12 109.03125,12 l -2.43164,0 0,-8.7480469 z" />
<path
id="path47"
style="text-anchor:middle"
d="m 115.24219,8.2324219 3.1582,0 0,0.9609375 -3.1582,0 0,-0.9609375 z" />
<path
id="path49"
style="text-anchor:middle"
d="m 120.48047,11.003906 1.93359,0 0,-6.6738279 -2.10351,0.421875 0,-1.078125 2.09179,-0.421875 1.1836,0 0,7.7519529 1.93359,0 0,0.996094 -5.03906,0 0,-0.996094 z" />
<path
id="path51"
style="text-anchor:middle"
d="m 128.12109,11.003906 1.9336,0 0,-6.6738279 -2.10352,0.421875 0,-1.078125 2.0918,-0.421875 1.18359,0 0,7.7519529 1.9336,0 0,0.996094 -5.03907,0 0,-0.996094 z" />
<path
id="path53"
style="text-anchor:middle"
d="m 138.23437,7.1542969 q -0.79687,0 -1.26562,0.5449218 -0.46289,0.5449219 -0.46289,1.4941407 0,0.9433596 0.46289,1.4941406 0.46875,0.544922 1.26562,0.544922 0.79688,0 1.25977,-0.544922 0.46875,-0.550781 0.46875,-1.4941406 0,-0.9492188 -0.46875,-1.4941407 -0.46289,-0.5449218 -1.25977,-0.5449218 z m 2.34961,-3.7089844 0,1.078125 Q 140.13867,4.3125 139.68164,4.2011719 q -0.45117,-0.1113282 -0.89648,-0.1113282 -1.17188,0 -1.79297,0.7910157 -0.61524,0.7910156 -0.70313,2.390625 0.34571,-0.5097657 0.86719,-0.7792969 0.52148,-0.2753906 1.14844,-0.2753906 1.31836,0 2.08008,0.8027343 0.76757,0.796875 0.76757,2.1738282 0,1.3476566 -0.79687,2.1621096 -0.79688,0.814453 -2.1211,0.814453 -1.51757,0 -2.32031,-1.160156 -0.80273,-1.166016 -0.80273,-3.3750004 0,-2.0742187 0.98437,-3.3046875 0.98438,-1.2363281 2.64258,-1.2363281 0.44531,0 0.89649,0.087891 0.45703,0.087891 0.94921,0.2636719 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:#ffffff"
font-size="8"
id="text">
<g
id="text12"
style="text-anchor:start">
<path
id="path56"
style="text-anchor:start"
d="m 34.28125,30.359375 0,0.769531 q -0.449219,-0.214844 -0.847656,-0.320312 -0.398438,-0.105469 -0.769532,-0.105469 -0.644531,0 -0.996093,0.25 -0.347657,0.25 -0.347657,0.710937 0,0.386719 0.230469,0.585938 0.234375,0.195312 0.882813,0.316406 l 0.476562,0.09766 q 0.882813,0.167969 1.300781,0.59375 0.421875,0.421875 0.421875,1.132813 0,0.847656 -0.570312,1.285156 -0.566406,0.4375 -1.664063,0.4375 -0.414062,0 -0.882812,-0.09375 -0.464844,-0.09375 -0.964844,-0.277344 l 0,-0.8125 q 0.480469,0.269532 0.941406,0.40625 0.460938,0.136719 0.90625,0.136719 0.675782,0 1.042969,-0.265625 0.367188,-0.265625 0.367188,-0.757812 0,-0.429688 -0.265625,-0.671875 -0.261719,-0.242188 -0.863282,-0.363282 l -0.480468,-0.09375 q -0.882813,-0.175781 -1.277344,-0.550781 -0.394531,-0.375 -0.394531,-1.042969 0,-0.773437 0.542968,-1.21875 0.546875,-0.445312 1.503907,-0.445312 0.410156,0 0.835937,0.07422 0.425781,0.07422 0.871094,0.222656 z" />
<path
id="path58"
style="text-anchor:start"
d="m 35.0625,30.167969 0.847656,0 1.617188,2.398437 1.605468,-2.398437 0.847657,0 -2.0625,3.054687 0,2.777344 -0.792969,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path60"
style="text-anchor:start"
d="m 40.753906,30.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
<path
id="path62"
style="text-anchor:start"
d="m 51.105469,30.617187 0,0.832032 q -0.398438,-0.371094 -0.851563,-0.554688 -0.449219,-0.183594 -0.957031,-0.183594 -1,0 -1.53125,0.613282 -0.53125,0.609375 -0.53125,1.765625 0,1.152343 0.53125,1.765625 0.53125,0.609375 1.53125,0.609375 0.507812,0 0.957031,-0.183594 0.453125,-0.183594 0.851563,-0.554688 l 0,0.824219 q -0.414063,0.28125 -0.878907,0.421875 -0.460937,0.140625 -0.976562,0.140625 -1.324219,0 -2.085938,-0.808594 -0.761718,-0.8125 -0.761718,-2.214843 0,-1.40625 0.761718,-2.214844 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.140625 0.464844,0.136719 0.871094,0.414062 z" />
<path
id="path64"
style="text-anchor:start"
d="m 54.878906,30.167969 0.789063,0 0,5.832031 -0.789063,0 0,-5.832031 z" />
<path
id="path66"
style="text-anchor:start"
d="m 57.238281,30.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
</g>
<g
id="text14"
style="text-anchor:end">
<path
id="path69"
style="text-anchor:end"
d="m 173.14062,30.359375 0,0.769531 q -0.44921,-0.214844 -0.84765,-0.320312 -0.39844,-0.105469 -0.76953,-0.105469 -0.64453,0 -0.9961,0.25 -0.34765,0.25 -0.34765,0.710937 0,0.386719 0.23047,0.585938 0.23437,0.195312 0.88281,0.316406 l 0.47656,0.09766 q 0.88281,0.167969 1.30078,0.59375 0.42188,0.421875 0.42188,1.132813 0,0.847656 -0.57032,1.285156 -0.5664,0.4375 -1.66406,0.4375 -0.41406,0 -0.88281,-0.09375 -0.46484,-0.09375 -0.96484,-0.277344 l 0,-0.8125 q 0.48046,0.269532 0.9414,0.40625 0.46094,0.136719 0.90625,0.136719 0.67578,0 1.04297,-0.265625 0.36719,-0.265625 0.36719,-0.757812 0,-0.429688 -0.26563,-0.671875 -0.26172,-0.242188 -0.86328,-0.363282 l -0.48047,-0.09375 q -0.88281,-0.175781 -1.27734,-0.550781 -0.39453,-0.375 -0.39453,-1.042969 0,-0.773437 0.54297,-1.21875 0.54687,-0.445312 1.5039,-0.445312 0.41016,0 0.83594,0.07422 0.42578,0.07422 0.87109,0.222656 z" />
<path
id="path71"
style="text-anchor:end"
d="m 173.92187,30.167969 0.84766,0 1.61719,2.398437 1.60547,-2.398437 0.84765,0 -2.0625,3.054687 0,2.777344 -0.79297,0 0,-2.777344 -2.0625,-3.054687 z" />
<path
id="path73"
style="text-anchor:end"
d="m 179.61328,30.167969 1.0625,0 2.58594,4.878906 0,-4.878906 0.76562,0 0,5.832031 -1.0625,0 -2.58593,-4.878906 0,4.878906 -0.76563,0 0,-5.832031 z" />
<path
id="path75"
style="text-anchor:end"
d="m 189.96484,30.617187 0,0.832032 q -0.39843,-0.371094 -0.85156,-0.554688 -0.44922,-0.183594 -0.95703,-0.183594 -1,0 -1.53125,0.613282 -0.53125,0.609375 -0.53125,1.765625 0,1.152343 0.53125,1.765625 0.53125,0.609375 1.53125,0.609375 0.50781,0 0.95703,-0.183594 0.45313,-0.183594 0.85156,-0.554688 l 0,0.824219 q -0.41406,0.28125 -0.8789,0.421875 -0.46094,0.140625 -0.97657,0.140625 -1.32421,0 -2.08593,-0.808594 -0.76172,-0.8125 -0.76172,-2.214843 0,-1.40625 0.76172,-2.214844 0.76172,-0.8125 2.08593,-0.8125 0.52344,0 0.98438,0.140625 0.46484,0.136719 0.87109,0.414062 z" />
<path
id="path77"
style="text-anchor:end"
d="m 196.10547,30.703125 q -0.85938,0 -1.36719,0.640625 -0.50391,0.640625 -0.50391,1.746094 0,1.101562 0.50391,1.742187 0.50781,0.640625 1.36719,0.640625 0.85937,0 1.35937,-0.640625 0.50391,-0.640625 0.50391,-1.742187 0,-1.105469 -0.50391,-1.746094 -0.5,-0.640625 -1.35937,-0.640625 z m 0,-0.640625 q 1.22656,0 1.96094,0.824219 0.73437,0.820312 0.73437,2.203125 0,1.378906 -0.73437,2.203125 -0.73438,0.820312 -1.96094,0.820312 -1.23047,0 -1.96875,-0.820312 -0.73438,-0.820313 -0.73438,-2.203125 0,-1.382813 0.73438,-2.203125 0.73828,-0.824219 1.96875,-0.824219 z" />
<path
id="path79"
style="text-anchor:end"
d="m 199.94531,30.167969 0.79297,0 0,3.542968 q 0,0.9375 0.33984,1.351563 0.33985,0.410156 1.10157,0.410156 0.75781,0 1.09765,-0.410156 0.33985,-0.414063 0.33985,-1.351563 l 0,-3.542968 0.79297,0 0,3.640625 q 0,1.140625 -0.56641,1.722656 -0.5625,0.582031 -1.66406,0.582031 -1.10547,0 -1.67188,-0.582031 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path81"
style="text-anchor:end"
d="m 205.08594,30.167969 4.93359,0 0,0.664062 -2.07031,0 0,5.167969 -0.79297,0 0,-5.167969 -2.07031,0 0,-0.664062 z" />
</g>
</g>
</svg>

+ 81
- 0
plugins/community/repos/SubmarineFree/res/TD-202.svg View File

@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata16">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs14" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path20"
style="font-size:8px;text-anchor:middle"
d="m 0.3671875,4.1679687 4.9335937,0 0,0.6640625 -2.0703124,0 0,5.1679688 -0.7929688,0 0,-5.1679688 -2.0703125,0 0,-0.6640625 z" />
<path
id="path22"
style="font-size:8px;text-anchor:middle"
d="m 6.8554687,4.8164062 0,4.5351563 0.953125,0 q 1.2070313,0 1.7656251,-0.546875 0.5625002,-0.546875 0.5625002,-1.7265625 0,-1.171875 -0.5625002,-1.7148438 Q 9.015625,4.8164062 7.8085937,4.8164062 l -0.953125,0 z m -0.7890625,-0.6484375 1.6210938,0 q 1.6953125,0 2.488281,0.7070313 0.792969,0.703125 0.792969,2.203125 0,1.5078125 -0.796875,2.2148438 Q 9.375,10 7.6875,10 l -1.6210938,0 0,-5.8320313 z" />
<path
id="path24"
style="font-size:8px;text-anchor:middle"
d="m 11.828125,7.4882812 2.105469,0 0,0.6406251 -2.105469,0 0,-0.6406251 z" />
<path
id="path26"
style="font-size:8px;text-anchor:middle"
d="m 15.863281,9.3359375 2.753906,0 0,0.6640625 -3.703124,0 0,-0.6640625 q 0.449218,-0.4648437 1.222656,-1.2460937 0.777343,-0.7851563 0.976562,-1.0117188 0.378906,-0.4257813 0.527344,-0.71875 0.152344,-0.296875 0.152344,-0.5820313 0,-0.4648437 -0.328125,-0.7578125 -0.324219,-0.2929687 -0.847657,-0.2929687 -0.371093,0 -0.785156,0.1289062 -0.410156,0.1289063 -0.878906,0.390625 l 0,-0.796875 Q 15.429688,4.2578125 15.84375,4.1601562 16.257812,4.0625 16.601562,4.0625 q 0.90625,0 1.445313,0.453125 0.539062,0.453125 0.539062,1.2109375 0,0.359375 -0.136718,0.6835937 -0.132813,0.3203125 -0.488282,0.7578125 -0.09766,0.1132813 -0.621093,0.65625 -0.523438,0.5390626 -1.476563,1.5117188 z" />
<path
id="path28"
style="font-size:8px;text-anchor:middle"
d="m 21.964844,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304688,0.5976562 -0.304688,1.8007812 0,1.1992188 0.304688,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917968,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 22.578125,4.6875 21.964844,4.6875 Z m 0,-0.625 q 0.980468,0 1.496093,0.7773437 0.519532,0.7734375 0.519532,2.25 0,1.4726563 -0.519532,2.2500001 -0.515625,0.7734372 -1.496093,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 19.949219,8.5625 19.949219,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path30"
style="font-size:8px;text-anchor:middle"
d="m 26.050781,9.3359375 2.753906,0 0,0.6640625 -3.703125,0 0,-0.6640625 q 0.449219,-0.4648437 1.222657,-1.2460937 0.777343,-0.7851563 0.976562,-1.0117188 0.378906,-0.4257813 0.527344,-0.71875 0.152344,-0.296875 0.152344,-0.5820313 0,-0.4648437 -0.328125,-0.7578125 -0.324219,-0.2929687 -0.847657,-0.2929687 -0.371093,0 -0.785156,0.1289062 -0.410156,0.1289063 -0.878906,0.390625 l 0,-0.796875 Q 25.617187,4.2578125 26.03125,4.1601562 26.445312,4.0625 26.789062,4.0625 q 0.90625,0 1.445313,0.453125 0.539062,0.453125 0.539062,1.2109375 0,0.359375 -0.136718,0.6835937 -0.132813,0.3203125 -0.488282,0.7578125 -0.09766,0.1132813 -0.621093,0.65625 -0.523438,0.5390626 -1.476563,1.5117188 z" />
</g>
</g>
<g
style="fill:#000000;stroke:none"
id="screen">
<!-- <rect x="2" y="15" width="26" height="350" cx="2" cy="2" />-->
</g>
</svg>

+ 329
- 0
plugins/community/repos/SubmarineFree/res/TF-101.svg View File

@@ -0,0 +1,329 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
id="svg2"
height="380px"
width="90px">
<metadata
id="metadata46">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs44" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 90,0 0,380 -90,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4656"
d="M 0,380 0,0 90,0 89,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4658"
d="m 0,380 90,0 0,-380 -1,1 0,378 -88,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 79.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 71,373.83071 8.1692063,5.1693144 0 0 0 79.16915,379 8.1692063,5.1693144 0 0 0 86.48278,376.11985 3.0461447,4.2480502 0 0 0 89,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 87.7077,373.67718 1.3384576,1.9448905 0 0 1 89,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 79.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text4662"
style="">
<path
id="path50"
style=""
d="m 8.3144531,370.63086 0,1.01953 q -0.4570312,-0.23437 -0.9492187,-0.35156 -0.4921875,-0.11719 -1.0195313,-0.11719 -0.8027344,0 -1.2070312,0.24609 -0.3984375,0.2461 -0.3984375,0.73829 0,0.375 0.2871093,0.59179 0.2871094,0.21094 1.1542969,0.4043 l 0.3691406,0.082 q 1.1484375,0.24609 1.6289063,0.69727 0.4863281,0.44531 0.4863281,1.24804 0,0.91407 -0.7265625,1.44727 -0.7207031,0.5332 -1.9863281,0.5332 -0.5273438,0 -1.1015625,-0.10547 -0.5683594,-0.0996 -1.2011719,-0.30468 l 0,-1.11329 q 0.5976563,0.31055 1.1777344,0.46875 0.5800781,0.15235 1.1484375,0.15235 0.7617187,0 1.171875,-0.25781 0.4101562,-0.26368 0.4101562,-0.73829 0,-0.43945 -0.2988281,-0.67382 -0.2929687,-0.23438 -1.2949219,-0.45118 l -0.375,-0.0879 q -1.0019531,-0.21093 -1.4472656,-0.64453 -0.4453125,-0.43945 -0.4453125,-1.20117 0,-0.92578 0.65625,-1.42969 0.65625,-0.5039 1.8632813,-0.5039 0.5976562,0 1.125,0.0879 0.5273437,0.0879 0.9726562,0.26367 z" />
<path
id="path52"
style=""
d="m 10.277344,374.41016 0,-3.97266 1.078125,0 0,3.93164 q 0,0.93164 0.363281,1.40039 0.363281,0.46289 1.089844,0.46289 0.873047,0 1.376953,-0.55664 0.509766,-0.55664 0.509766,-1.51758 l 0,-3.7207 1.078125,0 0,6.5625 -1.078125,0 0,-1.00781 q -0.392579,0.59765 -0.914063,0.89062 -0.515625,0.28711 -1.201172,0.28711 -1.130859,0 -1.716797,-0.70312 -0.585937,-0.70313 -0.585937,-2.05664 z m 2.71289,-4.13086 0,0 z" />
<path
id="path54"
style=""
d="m 22.716797,373.72461 q 0,-1.18945 -0.492188,-1.86328 -0.486328,-0.67969 -1.341797,-0.67969 -0.855468,0 -1.347656,0.67969 -0.486328,0.67383 -0.486328,1.86328 0,1.18945 0.486328,1.86914 0.492188,0.67383 1.347656,0.67383 0.855469,0 1.341797,-0.67383 0.492188,-0.67969 0.492188,-1.86914 z m -3.667969,-2.29102 q 0.339844,-0.58593 0.855469,-0.86718 0.521484,-0.28711 1.242187,-0.28711 1.195313,0 1.939453,0.94922 0.75,0.94921 0.75,2.49609 0,1.54687 -0.75,2.49609 -0.74414,0.94922 -1.939453,0.94922 -0.720703,0 -1.242187,-0.28125 -0.515625,-0.28711 -0.855469,-0.87305 l 0,0.98438 -1.083984,0 0,-9.11719 1.083984,0 0,3.55078 z" />
<path
id="path56"
style=""
d="m 30.732422,371.69727 q 0.404297,-0.72657 0.966797,-1.07227 0.5625,-0.3457 1.324218,-0.3457 1.025391,0 1.582032,0.7207 0.55664,0.71484 0.55664,2.03906 l 0,3.96094 -1.083984,0 0,-3.92578 q 0,-0.94336 -0.333984,-1.40039 -0.333985,-0.45703 -1.019532,-0.45703 -0.83789,0 -1.324218,0.55664 -0.486329,0.55664 -0.486329,1.51758 l 0,3.70898 -1.083984,0 0,-3.92578 q 0,-0.94922 -0.333984,-1.40039 -0.333985,-0.45703 -1.03125,-0.45703 -0.826172,0 -1.3125,0.5625 -0.486328,0.55664 -0.486328,1.51172 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.36914,-0.60351 0.884765,-0.89062 0.515625,-0.28711 1.22461,-0.28711 0.714843,0 1.21289,0.36328 0.503906,0.36328 0.744141,1.05469 z" />
<path
id="path58"
style=""
d="m 40.300781,373.70117 q -1.30664,0 -1.810547,0.29883 -0.503906,0.29883 -0.503906,1.01953 0,0.57422 0.375,0.91406 0.380859,0.33399 1.03125,0.33399 0.896484,0 1.435547,-0.63281 0.544922,-0.63868 0.544922,-1.69336 l 0,-0.24024 -1.072266,0 z m 2.150391,-0.44531 0,3.74414 -1.078125,0 0,-0.99609 q -0.369141,0.59765 -0.919922,0.88476 -0.550781,0.28125 -1.347656,0.28125 -1.007813,0 -1.605469,-0.5625 -0.591797,-0.56836 -0.591797,-1.51758 0,-1.10742 0.738281,-1.66992 0.744141,-0.5625 2.214844,-0.5625 l 1.511719,0 0,-0.10547 q 0,-0.74414 -0.492188,-1.14843 -0.486328,-0.41016 -1.371093,-0.41016 -0.5625,0 -1.095704,0.13476 -0.533203,0.13477 -1.02539,0.4043 l 0,-0.99609 q 0.591797,-0.22852 1.148437,-0.33985 0.556641,-0.11718 1.083985,-0.11718 1.423828,0 2.126953,0.73828 0.703125,0.73828 0.703125,2.23828 z" />
<path
id="path60"
style=""
d="m 48.480469,371.44531 q -0.181641,-0.10547 -0.398438,-0.15234 -0.210937,-0.0527 -0.46875,-0.0527 -0.914062,0 -1.40625,0.59766 -0.486328,0.5918 -0.486328,1.70508 l 0,3.45703 -1.083984,0 0,-6.5625 1.083984,0 0,1.01953 q 0.339844,-0.59766 0.884766,-0.88476 0.544922,-0.29297 1.324218,-0.29297 0.111329,0 0.246094,0.0176 0.134766,0.0117 0.298828,0.041 l 0.0059,1.10742 z" />
<path
id="path62"
style=""
d="m 49.623047,370.4375 1.078125,0 0,6.5625 -1.078125,0 0,-6.5625 z m 0,-2.55469 1.078125,0 0,1.36524 -1.078125,0 0,-1.36524 z" />
<path
id="path64"
style=""
d="m 58.40625,373.03906 0,3.96094 -1.078125,0 0,-3.92578 q 0,-0.93164 -0.363281,-1.39453 -0.363282,-0.46289 -1.089844,-0.46289 -0.873047,0 -1.376953,0.55664 -0.503906,0.55664 -0.503906,1.51758 l 0,3.70898 -1.083985,0 0,-6.5625 1.083985,0 0,1.01953 q 0.386718,-0.5918 0.908203,-0.88476 0.527343,-0.29297 1.21289,-0.29297 1.13086,0 1.710938,0.70312 0.580078,0.69727 0.580078,2.05664 z" />
<path
id="path66"
style=""
d="m 66.181641,373.44922 0,0.52734 -4.957032,0 q 0.07031,1.11328 0.667969,1.69922 0.603516,0.58008 1.675781,0.58008 0.621094,0 1.201172,-0.15234 0.585938,-0.15235 1.160156,-0.45704 l 0,1.01954 q -0.580078,0.24609 -1.189453,0.375 -0.609375,0.1289 -1.236328,0.1289 -1.570312,0 -2.490234,-0.91406 -0.914063,-0.91406 -0.914063,-2.47266 0,-1.61133 0.867188,-2.55468 0.873047,-0.94922 2.349609,-0.94922 1.324219,0 2.091797,0.85547 0.773438,0.8496 0.773438,2.31445 z m -1.078125,-0.31641 q -0.01172,-0.88476 -0.498047,-1.41211 -0.480469,-0.52734 -1.277344,-0.52734 -0.902344,0 -1.447266,0.50976 -0.539062,0.50977 -0.621093,1.43555 l 3.84375,-0.006 z" />
</g>
<g
id="text11"
style="text-anchor:middle">
<path
id="path69"
style="text-anchor:middle"
d="m 24.210937,3.2519531 7.400391,0 0,0.9960938 -3.105469,0 0,7.7519531 -1.189453,0 0,-7.7519531 -3.105469,0 0,-0.9960938 z" />
<path
id="path71"
style="text-anchor:middle"
d="m 32.759766,3.2519531 5.027343,0 0,0.9960938 -3.84375,0 0,2.578125 3.46875,0 0,0.9960937 -3.46875,0 0,4.1777344 -1.183593,0 0,-8.7480469 z" />
<path
id="path73"
style="text-anchor:middle"
d="m 39.082031,8.2324219 3.158203,0 0,0.9609375 -3.158203,0 0,-0.9609375 z" />
<path
id="path75"
style="text-anchor:middle"
d="m 44.320312,11.003906 1.933594,0 0,-6.6738279 -2.103515,0.421875 0,-1.078125 2.091796,-0.421875 1.183594,0 0,7.7519529 1.933594,0 0,0.996094 -5.039063,0 0,-0.996094 z" />
<path
id="path77"
style="text-anchor:middle"
d="m 54.287109,4.03125 q -0.914062,0 -1.376953,0.9023437 -0.457031,0.8964844 -0.457031,2.7011719 0,1.7988282 0.457031,2.7011724 0.462891,0.896484 1.376953,0.896484 0.919922,0 1.376953,-0.896484 0.462891,-0.9023442 0.462891,-2.7011724 0,-1.8046875 -0.462891,-2.7011719 Q 55.207031,4.03125 54.287109,4.03125 Z m 0,-0.9375 q 1.470703,0 2.244141,1.1660156 0.779297,1.1601563 0.779297,3.375 0,2.2089844 -0.779297,3.3750004 -0.773438,1.160156 -2.244141,1.160156 -1.470703,0 -2.25,-1.160156 -0.773437,-1.166016 -0.773437,-3.3750004 0,-2.2148437 0.773437,-3.375 0.779297,-1.1660156 2.25,-1.1660156 z" />
<path
id="path79"
style="text-anchor:middle"
d="m 59.601562,11.003906 1.933594,0 0,-6.6738279 -2.103515,0.421875 0,-1.078125 2.091796,-0.421875 1.183594,0 0,7.7519529 1.933594,0 0,0.996094 -5.039063,0 0,-0.996094 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:none;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
font-size="8"
id="group1">
<path
id="line14"
d="m 4,47.5 82,0"
style="" />
<path
id="line16"
d="m 4,181.5 82,0"
style="" />
<path
id="line18"
d="m 4,315.5 82,0"
style="" />
<g
style="fill:#ffffff;stroke:none"
id="g20">
<g
id="text22"
style="text-anchor:end">
<path
id="path85"
style="text-anchor:end"
d="m 45.105469,29.703125 q -0.859375,0 -1.367188,0.640625 -0.503906,0.640625 -0.503906,1.746094 0,1.101562 0.503906,1.742187 0.507813,0.640625 1.367188,0.640625 0.859375,0 1.359375,-0.640625 0.503906,-0.640625 0.503906,-1.742187 0,-1.105469 -0.503906,-1.746094 -0.5,-0.640625 -1.359375,-0.640625 z m 0,-0.640625 q 1.226562,0 1.960937,0.824219 0.734375,0.820312 0.734375,2.203125 0,1.378906 -0.734375,2.203125 -0.734375,0.820312 -1.960937,0.820312 -1.230469,0 -1.96875,-0.820312 -0.734375,-0.820313 -0.734375,-2.203125 0,-1.382813 0.734375,-2.203125 Q 43.875,29.0625 45.105469,29.0625 Z" />
<path
id="path87"
style="text-anchor:end"
d="m 48.945312,29.167969 0.792969,0 0,3.542968 q 0,0.9375 0.339844,1.351563 0.339844,0.410156 1.101562,0.410156 0.757813,0 1.097657,-0.410156 0.339843,-0.414063 0.339843,-1.351563 l 0,-3.542968 0.792969,0 0,3.640625 q 0,1.140625 -0.566406,1.722656 -0.5625,0.582031 -1.664063,0.582031 -1.105468,0 -1.671875,-0.582031 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path89"
style="text-anchor:end"
d="m 54.085937,29.167969 4.933594,0 0,0.664062 -2.070312,0 0,5.167969 -0.792969,0 0,-5.167969 -2.070313,0 0,-0.664062 z" />
</g>
<g
id="text24"
style="text-anchor:middle">
<path
id="path92"
style="text-anchor:middle"
d="m 26.988281,51.167969 3.351563,0 0,0.664062 -2.5625,0 0,1.71875 2.3125,0 0,0.664063 -2.3125,0 0,2.785156 -0.789063,0 0,-5.832031 z" />
<path
id="path94"
style="text-anchor:middle"
d="m 33.964844,51.703125 q -0.859375,0 -1.367188,0.640625 -0.503906,0.640625 -0.503906,1.746094 0,1.101562 0.503906,1.742187 0.507813,0.640625 1.367188,0.640625 0.859375,0 1.359375,-0.640625 0.503906,-0.640625 0.503906,-1.742187 0,-1.105469 -0.503906,-1.746094 -0.5,-0.640625 -1.359375,-0.640625 z m 0,-0.640625 q 1.226562,0 1.960937,0.824219 0.734375,0.820312 0.734375,2.203125 0,1.378906 -0.734375,2.203125 -0.734375,0.820312 -1.960937,0.820312 -1.230469,0 -1.96875,-0.820312 -0.734375,-0.820313 -0.734375,-2.203125 0,-1.382813 0.734375,-2.203125 0.738281,-0.824219 1.96875,-0.824219 z" />
<path
id="path96"
style="text-anchor:middle"
d="m 40.660156,54.265625 q 0.253906,0.08594 0.492188,0.367187 0.242187,0.28125 0.484375,0.773438 L 42.4375,57 41.589844,57 40.84375,55.503906 q -0.289063,-0.585937 -0.5625,-0.777344 -0.269531,-0.191406 -0.738281,-0.191406 l -0.859375,0 0,2.464844 -0.789063,0 0,-5.832031 1.78125,0 q 1,0 1.492188,0.417968 0.492187,0.417969 0.492187,1.261719 0,0.550781 -0.257812,0.914063 -0.253907,0.363281 -0.742188,0.503906 z m -1.976562,-2.449219 0,2.070313 0.992187,0 q 0.570313,0 0.859375,-0.261719 0.292969,-0.265625 0.292969,-0.777344 0,-0.511719 -0.292969,-0.769531 -0.289062,-0.261719 -0.859375,-0.261719 l -0.992187,0 z" />
<path
id="path98"
style="text-anchor:middle"
d="m 43.457031,51.167969 3.6875,0 0,0.664062 -2.898437,0 0,1.726563 2.777343,0 0,0.664062 -2.777343,0 0,2.113281 2.96875,0 0,0.664063 -3.757813,0 0,-5.832031 z" />
<path
id="path100"
style="text-anchor:middle"
d="m 52.496094,56.167969 0,-1.566407 -1.289063,0 0,-0.648437 2.070313,0 0,2.503906 q -0.457032,0.324219 -1.007813,0.492188 -0.550781,0.164062 -1.175781,0.164062 -1.367188,0 -2.140625,-0.796875 -0.769531,-0.800781 -0.769531,-2.226562 0,-1.429688 0.769531,-2.226563 0.773437,-0.800781 2.140625,-0.800781 0.570312,0 1.082031,0.140625 0.515625,0.140625 0.949219,0.414062 l 0,0.839844 q -0.4375,-0.371094 -0.929688,-0.558594 -0.492187,-0.1875 -1.035156,-0.1875 -1.070312,0 -1.609375,0.597657 -0.535156,0.597656 -0.535156,1.78125 0,1.179687 0.535156,1.777343 0.539063,0.597657 1.609375,0.597657 0.417969,0 0.746094,-0.07031 0.328125,-0.07422 0.589844,-0.226562 z" />
<path
id="path102"
style="text-anchor:middle"
d="m 57.488281,54.265625 q 0.253906,0.08594 0.492188,0.367187 0.242187,0.28125 0.484375,0.773438 L 59.265625,57 58.417969,57 57.671875,55.503906 q -0.289063,-0.585937 -0.5625,-0.777344 -0.269531,-0.191406 -0.738281,-0.191406 l -0.859375,0 0,2.464844 -0.789063,0 0,-5.832031 1.78125,0 q 1,0 1.492188,0.417968 0.492187,0.417969 0.492187,1.261719 0,0.550781 -0.257812,0.914063 -0.253907,0.363281 -0.742188,0.503906 z m -1.976562,-2.449219 0,2.070313 0.992187,0 q 0.570313,0 0.859375,-0.261719 0.292969,-0.265625 0.292969,-0.777344 0,-0.511719 -0.292969,-0.769531 -0.289062,-0.261719 -0.859375,-0.261719 l -0.992187,0 z" />
<path
id="path104"
style="text-anchor:middle"
d="m 62.652344,51.703125 q -0.859375,0 -1.367188,0.640625 -0.503906,0.640625 -0.503906,1.746094 0,1.101562 0.503906,1.742187 0.507813,0.640625 1.367188,0.640625 0.859375,0 1.359375,-0.640625 0.503906,-0.640625 0.503906,-1.742187 0,-1.105469 -0.503906,-1.746094 -0.5,-0.640625 -1.359375,-0.640625 z m 0,-0.640625 q 1.226562,0 1.960937,0.824219 0.734375,0.820312 0.734375,2.203125 0,1.378906 -0.734375,2.203125 -0.734375,0.820312 -1.960937,0.820312 -1.230469,0 -1.96875,-0.820312 -0.734375,-0.820313 -0.734375,-2.203125 0,-1.382813 0.734375,-2.203125 0.738281,-0.824219 1.96875,-0.824219 z" />
<path
id="path106"
style="text-anchor:middle"
d="m 66.492187,51.167969 0.792969,0 0,3.542968 q 0,0.9375 0.339844,1.351563 0.339844,0.410156 1.101562,0.410156 0.757813,0 1.097657,-0.410156 0.339843,-0.414063 0.339843,-1.351563 l 0,-3.542968 0.792969,0 0,3.640625 q 0,1.140625 -0.566406,1.722656 -0.5625,0.582031 -1.664063,0.582031 -1.105468,0 -1.671875,-0.582031 -0.5625,-0.582031 -0.5625,-1.722656 l 0,-3.640625 z" />
<path
id="path108"
style="text-anchor:middle"
d="m 72.441406,51.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
<path
id="path110"
style="text-anchor:middle"
d="m 79.214844,51.816406 0,4.535156 0.953125,0 q 1.207031,0 1.765625,-0.546875 0.5625,-0.546875 0.5625,-1.726562 0,-1.171875 -0.5625,-1.714844 Q 81.375,51.816406 80.167969,51.816406 l -0.953125,0 z m -0.789063,-0.648437 1.621094,0 q 1.695312,0 2.488281,0.707031 0.792969,0.703125 0.792969,2.203125 0,1.507812 -0.796875,2.214844 Q 81.734375,57 80.046875,57 l -1.621094,0 0,-5.832031 z" />
</g>
<g
id="text26"
style="text-anchor:middle">
<path
id="path113"
style="text-anchor:middle"
d="m 27.714844,188.21484 0,2.13672 1.265625,0 q 0.636718,0 0.941406,-0.26172 0.308594,-0.26562 0.308594,-0.80859 0,-0.54688 -0.308594,-0.80469 -0.304688,-0.26172 -0.941406,-0.26172 l -1.265625,0 z m 0,-2.39843 0,1.75781 1.167968,0 q 0.578125,0 0.859375,-0.21485 0.285157,-0.21875 0.285157,-0.66406 0,-0.4414 -0.285157,-0.66015 -0.28125,-0.21875 -0.859375,-0.21875 l -1.167968,0 z m -0.789063,-0.64844 2.015625,0 q 0.902344,0 1.390625,0.375 0.488281,0.375 0.488281,1.0664 0,0.53516 -0.25,0.85157 -0.25,0.3164 -0.734375,0.39453 0.582032,0.125 0.902344,0.52344 0.324219,0.39453 0.324219,0.98828 0,0.78125 -0.53125,1.20703 Q 30,191 29.019531,191 l -2.09375,0 0,-5.83203 z" />
<path
id="path115"
style="text-anchor:middle"
d="m 34.359375,185.94531 -1.070313,2.90235 2.144532,0 -1.074219,-2.90235 z m -0.445313,-0.77734 0.894532,0 2.222656,5.83203 -0.820313,0 -0.53125,-1.49609 -2.628906,0 -0.53125,1.49609 -0.832031,0 2.226562,-5.83203 z" />
<path
id="path117"
style="text-anchor:middle"
d="m 42.105469,185.61719 0,0.83203 q -0.398438,-0.3711 -0.851563,-0.55469 -0.449219,-0.18359 -0.957031,-0.18359 -1,0 -1.53125,0.61328 -0.53125,0.60937 -0.53125,1.76562 0,1.15235 0.53125,1.76563 0.53125,0.60937 1.53125,0.60937 0.507812,0 0.957031,-0.18359 0.453125,-0.18359 0.851563,-0.55469 l 0,0.82422 q -0.414063,0.28125 -0.878907,0.42188 -0.460937,0.14062 -0.976562,0.14062 -1.324219,0 -2.085938,-0.80859 -0.761718,-0.8125 -0.761718,-2.21485 0,-1.40625 0.761718,-2.21484 0.761719,-0.8125 2.085938,-0.8125 0.523437,0 0.984375,0.14062 0.464844,0.13672 0.871094,0.41407 z" />
<path
id="path119"
style="text-anchor:middle"
d="m 43.332031,185.16797 0.789063,0 0,2.46484 2.617187,-2.46484 1.015625,0 -2.894531,2.71875 3.101562,3.11328 -1.039062,0 -2.800781,-2.80859 0,2.80859 -0.789063,0 0,-5.83203 z" />
<path
id="path121"
style="text-anchor:middle"
d="m 52.558594,190.16797 0,-1.56641 -1.289063,0 0,-0.64844 2.070313,0 0,2.50391 q -0.457032,0.32422 -1.007813,0.49219 -0.550781,0.16406 -1.175781,0.16406 -1.367188,0 -2.140625,-0.79687 -0.769531,-0.80079 -0.769531,-2.22657 0,-1.42968 0.769531,-2.22656 0.773437,-0.80078 2.140625,-0.80078 0.570312,0 1.082031,0.14062 0.515625,0.14063 0.949219,0.41407 l 0,0.83984 q -0.4375,-0.37109 -0.929688,-0.55859 -0.492187,-0.1875 -1.035156,-0.1875 -1.070312,0 -1.609375,0.59765 -0.535156,0.59766 -0.535156,1.78125 0,1.17969 0.535156,1.77735 0.539063,0.59765 1.609375,0.59765 0.417969,0 0.746094,-0.0703 0.328125,-0.0742 0.589844,-0.22656 z" />
<path
id="path123"
style="text-anchor:middle"
d="m 57.550781,188.26562 q 0.253906,0.0859 0.492188,0.36719 0.242187,0.28125 0.484375,0.77344 L 59.328125,191 l -0.847656,0 -0.746094,-1.49609 q -0.289063,-0.58594 -0.5625,-0.77735 -0.269531,-0.1914 -0.738281,-0.1914 l -0.859375,0 0,2.46484 -0.789063,0 0,-5.83203 1.78125,0 q 1,0 1.492188,0.41797 0.492187,0.41797 0.492187,1.26172 0,0.55078 -0.257812,0.91406 -0.253907,0.36328 -0.742188,0.5039 z m -1.976562,-2.44921 0,2.07031 0.992187,0 q 0.570313,0 0.859375,-0.26172 0.292969,-0.26563 0.292969,-0.77734 0,-0.51172 -0.292969,-0.76954 -0.289062,-0.26171 -0.859375,-0.26171 l -0.992187,0 z" />
<path
id="path125"
style="text-anchor:middle"
d="m 62.714844,185.70312 q -0.859375,0 -1.367188,0.64063 -0.503906,0.64062 -0.503906,1.74609 0,1.10157 0.503906,1.74219 0.507813,0.64063 1.367188,0.64063 0.859375,0 1.359375,-0.64063 0.503906,-0.64062 0.503906,-1.74219 0,-1.10547 -0.503906,-1.74609 -0.5,-0.64063 -1.359375,-0.64063 z m 0,-0.64062 q 1.226562,0 1.960937,0.82422 0.734375,0.82031 0.734375,2.20312 0,1.37891 -0.734375,2.20313 -0.734375,0.82031 -1.960937,0.82031 -1.230469,0 -1.96875,-0.82031 -0.734375,-0.82031 -0.734375,-2.20313 0,-1.38281 0.734375,-2.20312 0.738281,-0.82422 1.96875,-0.82422 z" />
<path
id="path127"
style="text-anchor:middle"
d="m 66.554687,185.16797 0.792969,0 0,3.54297 q 0,0.9375 0.339844,1.35156 0.339844,0.41016 1.101562,0.41016 0.757813,0 1.097657,-0.41016 0.339843,-0.41406 0.339843,-1.35156 l 0,-3.54297 0.792969,0 0,3.64062 q 0,1.14063 -0.566406,1.72266 -0.5625,0.58203 -1.664063,0.58203 -1.105468,0 -1.671875,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path129"
style="text-anchor:middle"
d="m 72.503906,185.16797 1.0625,0 2.585938,4.8789 0,-4.8789 0.765625,0 0,5.83203 -1.0625,0 -2.585938,-4.87891 0,4.87891 -0.765625,0 0,-5.83203 z" />
<path
id="path131"
style="text-anchor:middle"
d="m 79.277344,185.81641 0,4.53515 0.953125,0 q 1.207031,0 1.765625,-0.54687 0.5625,-0.54688 0.5625,-1.72657 0,-1.17187 -0.5625,-1.71484 -0.558594,-0.54687 -1.765625,-0.54687 l -0.953125,0 z m -0.789063,-0.64844 1.621094,0 q 1.695312,0 2.488281,0.70703 0.792969,0.70312 0.792969,2.20312 0,1.50782 -0.796875,2.21485 Q 81.796875,191 80.109375,191 l -1.621094,0 0,-5.83203 z" />
</g>
<g
id="text28"
style="text-anchor:middle">
<path
id="path134"
style="text-anchor:middle"
d="m 34.8125,319.16797 4.933594,0 0,0.66406 -2.070313,0 0,5.16797 -0.792969,0 0,-5.16797 -2.070312,0 0,-0.66406 z" />
<path
id="path136"
style="text-anchor:middle"
d="m 40.511719,319.16797 3.6875,0 0,0.66406 -2.898438,0 0,1.72656 2.777344,0 0,0.66407 -2.777344,0 0,2.11328 2.96875,0 0,0.66406 -3.757812,0 0,-5.83203 z" />
<path
id="path138"
style="text-anchor:middle"
d="m 45.292969,319.16797 0.847656,0 1.449219,2.16797 1.457031,-2.16797 0.847656,0 -1.875,2.80078 2,3.03125 -0.847656,0 -1.640625,-2.48047 -1.652344,2.48047 -0.851562,0 2.082031,-3.11328 -1.816406,-2.71875 z" />
<path
id="path140"
style="text-anchor:middle"
d="m 50.109375,319.16797 4.933594,0 0,0.66406 -2.070313,0 0,5.16797 -0.792969,0 0,-5.16797 -2.070312,0 0,-0.66406 z" />
<path
id="path142"
style="text-anchor:middle"
d="m 54.679687,322.48828 2.105469,0 0,0.64063 -2.105469,0 0,-0.64063 z" />
<path
id="path144"
style="text-anchor:middle"
d="m 61.460937,319.35937 0,0.76954 q -0.449218,-0.21485 -0.847656,-0.32032 -0.398437,-0.10547 -0.769531,-0.10547 -0.644531,0 -0.996094,0.25 -0.347656,0.25 -0.347656,0.71094 0,0.38672 0.230469,0.58594 0.234375,0.19531 0.882812,0.31641 l 0.476563,0.0976 q 0.882812,0.16797 1.300781,0.59375 0.421875,0.42188 0.421875,1.13281 0,0.84766 -0.570313,1.28516 -0.566406,0.4375 -1.664062,0.4375 -0.414063,0 -0.882813,-0.0937 -0.464843,-0.0937 -0.964843,-0.27734 l 0,-0.8125 q 0.480468,0.26953 0.941406,0.40625 0.460937,0.13672 0.90625,0.13672 0.675781,0 1.042969,-0.26563 0.367187,-0.26562 0.367187,-0.75781 0,-0.42969 -0.265625,-0.67188 -0.261719,-0.24218 -0.863281,-0.36328 l -0.480469,-0.0937 q -0.882812,-0.17578 -1.277344,-0.55078 -0.394531,-0.375 -0.394531,-1.04297 0,-0.77344 0.542969,-1.21875 0.546875,-0.44531 1.503906,-0.44531 0.410156,0 0.835938,0.0742 0.425781,0.0742 0.871093,0.22265 z" />
<path
id="path146"
style="text-anchor:middle"
d="m 63.042969,319.16797 0.789062,0 0,5.83203 -0.789062,0 0,-5.83203 z" />
<path
id="path148"
style="text-anchor:middle"
d="m 65.066406,319.16797 4.582031,0 0,0.60156 -3.6875,4.56641 3.777344,0 0,0.66406 -4.761719,0 0,-0.60156 3.6875,-4.56641 -3.597656,0 0,-0.66406 z" />
<path
id="path150"
style="text-anchor:middle"
d="m 70.886719,319.16797 3.6875,0 0,0.66406 -2.898438,0 0,1.72656 2.777344,0 0,0.66407 -2.777344,0 0,2.11328 2.96875,0 0,0.66406 -3.757812,0 0,-5.83203 z" />
</g>
<g
id="text30"
style="text-anchor:middle">
<path
id="path153"
style="text-anchor:middle"
d="m 38.769531,79.265625 q 0.253906,0.08594 0.492188,0.367187 0.242187,0.28125 0.484375,0.773438 L 40.546875,82 39.699219,82 38.953125,80.503906 q -0.289063,-0.585937 -0.5625,-0.777344 -0.269531,-0.191406 -0.738281,-0.191406 l -0.859375,0 0,2.464844 -0.789063,0 0,-5.832031 1.78125,0 q 1,0 1.492188,0.417968 0.492187,0.417969 0.492187,1.261719 0,0.550781 -0.257812,0.914063 -0.253907,0.363281 -0.742188,0.503906 z m -1.976562,-2.449219 0,2.070313 0.992187,0 q 0.570313,0 0.859375,-0.261719 0.292969,-0.265625 0.292969,-0.777344 0,-0.511719 -0.292969,-0.769531 -0.289062,-0.261719 -0.859375,-0.261719 l -0.992187,0 z" />
</g>
<g
id="text32"
style="text-anchor:middle">
<path
id="path156"
style="text-anchor:middle"
d="m 39.660156,121.16797 0,-1.56641 -1.289062,0 0,-0.64843 2.070312,0 0,2.5039 q -0.457031,0.32422 -1.007812,0.49219 -0.550782,0.16406 -1.175782,0.16406 -1.367187,0 -2.140625,-0.79687 -0.769531,-0.80078 -0.769531,-2.22657 0,-1.42968 0.769531,-2.22656 0.773438,-0.80078 2.140625,-0.80078 0.570313,0 1.082032,0.14063 0.515625,0.14062 0.949218,0.41406 l 0,0.83984 q -0.4375,-0.37109 -0.929687,-0.55859 -0.492188,-0.1875 -1.035156,-0.1875 -1.070313,0 -1.609375,0.59765 -0.535157,0.59766 -0.535157,1.78125 0,1.17969 0.535157,1.77735 0.539062,0.59765 1.609375,0.59765 0.417968,0 0.746093,-0.0703 0.328125,-0.0742 0.589844,-0.22656 z" />
</g>
<g
id="text34"
style="text-anchor:middle">
<path
id="path159"
style="text-anchor:middle"
d="m 36.832031,159.21484 0,2.13672 1.265625,0 q 0.636719,0 0.941406,-0.26172 0.308594,-0.26562 0.308594,-0.80859 0,-0.54688 -0.308594,-0.80469 -0.304687,-0.26172 -0.941406,-0.26172 l -1.265625,0 z m 0,-2.39843 0,1.75781 1.167969,0 q 0.578125,0 0.859375,-0.21485 0.285156,-0.21875 0.285156,-0.66406 0,-0.4414 -0.285156,-0.66015 Q 38.578125,156.81641 38,156.81641 l -1.167969,0 z m -0.789062,-0.64844 2.015625,0 q 0.902343,0 1.390625,0.375 0.488281,0.375 0.488281,1.0664 0,0.53516 -0.25,0.85157 -0.25,0.3164 -0.734375,0.39453 0.582031,0.125 0.902344,0.52344 0.324218,0.39453 0.324218,0.98828 0,0.78125 -0.53125,1.20703 Q 39.117187,162 38.136719,162 l -2.09375,0 0,-5.83203 z" />
</g>
<g
id="text36"
style="text-anchor:middle">
<path
id="path162"
style="text-anchor:middle"
d="m 38.769531,213.26562 q 0.253906,0.0859 0.492188,0.36719 0.242187,0.28125 0.484375,0.77344 L 40.546875,216 l -0.847656,0 -0.746094,-1.49609 q -0.289063,-0.58594 -0.5625,-0.77735 -0.269531,-0.1914 -0.738281,-0.1914 l -0.859375,0 0,2.46484 -0.789063,0 0,-5.83203 1.78125,0 q 1,0 1.492188,0.41797 0.492187,0.41797 0.492187,1.26172 0,0.55078 -0.257812,0.91406 -0.253907,0.36328 -0.742188,0.5039 z m -1.976562,-2.44921 0,2.07031 0.992187,0 q 0.570313,0 0.859375,-0.26172 0.292969,-0.26563 0.292969,-0.77734 0,-0.51172 -0.292969,-0.76954 -0.289062,-0.26171 -0.859375,-0.26171 l -0.992187,0 z" />
</g>
<g
id="text38"
style="text-anchor:middle">
<path
id="path165"
style="text-anchor:middle"
d="m 39.660156,255.16797 0,-1.56641 -1.289062,0 0,-0.64844 2.070312,0 0,2.50391 q -0.457031,0.32422 -1.007812,0.49219 -0.550782,0.16406 -1.175782,0.16406 -1.367187,0 -2.140625,-0.79687 -0.769531,-0.80079 -0.769531,-2.22657 0,-1.42968 0.769531,-2.22656 0.773438,-0.80078 2.140625,-0.80078 0.570313,0 1.082032,0.14062 0.515625,0.14063 0.949218,0.41407 l 0,0.83984 q -0.4375,-0.37109 -0.929687,-0.55859 -0.492188,-0.1875 -1.035156,-0.1875 -1.070313,0 -1.609375,0.59765 -0.535157,0.59766 -0.535157,1.78125 0,1.17969 0.535157,1.77735 0.539062,0.59765 1.609375,0.59765 0.417968,0 0.746093,-0.0703 0.328125,-0.0742 0.589844,-0.22656 z" />
</g>
<g
id="text40"
style="text-anchor:middle">
<path
id="path168"
style="text-anchor:middle"
d="m 36.832031,293.21484 0,2.13672 1.265625,0 q 0.636719,0 0.941406,-0.26172 0.308594,-0.26562 0.308594,-0.80859 0,-0.54688 -0.308594,-0.80469 -0.304687,-0.26172 -0.941406,-0.26172 l -1.265625,0 z m 0,-2.39843 0,1.75781 1.167969,0 q 0.578125,0 0.859375,-0.21485 0.285156,-0.21875 0.285156,-0.66406 0,-0.4414 -0.285156,-0.66015 Q 38.578125,290.81641 38,290.81641 l -1.167969,0 z m -0.789062,-0.64844 2.015625,0 q 0.902343,0 1.390625,0.375 0.488281,0.375 0.488281,1.0664 0,0.53516 -0.25,0.85157 -0.25,0.3164 -0.734375,0.39453 0.582031,0.125 0.902344,0.52344 0.324218,0.39453 0.324218,0.98828 0,0.78125 -0.53125,1.20703 Q 39.117187,296 38.136719,296 l -2.09375,0 0,-5.83203 z" />
</g>
</g>
</g>
</svg>

+ 109
- 0
plugins/community/repos/SubmarineFree/res/TM-105.svg View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata20">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs18" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path24"
style="font-size:8px;text-anchor:middle"
d="m -0.0078125,4.1679687 4.9335937,0 0,0.6640625 -2.0703124,0 0,5.1679688 -0.7929688,0 0,-5.1679688 -2.0703125,0 0,-0.6640625 z" />
<path
id="path26"
style="font-size:8px;text-anchor:middle"
d="m 5.6914062,4.1679687 1.1757813,0 1.4882813,3.9687501 1.4960937,-3.9687501 1.1757815,0 0,5.8320313 -0.769531,0 0,-5.1210938 -1.5039067,4.0000001 -0.7929688,0 -1.5039063,-4.0000001 0,5.1210938 -0.765625,0 0,-5.8320313 z" />
<path
id="path28"
style="font-size:8px;text-anchor:middle"
d="m 12.203125,7.4882812 2.105469,0 0,0.6406251 -2.105469,0 0,-0.6406251 z" />
<path
id="path30"
style="font-size:8px;text-anchor:middle"
d="m 15.695313,9.3359375 1.289062,0 0,-4.4492188 -1.402344,0.28125 0,-0.71875 1.394531,-0.28125 0.789063,0 0,5.1679688 1.289062,0 0,0.6640625 -3.359374,0 0,-0.6640625 z" />
<path
id="path32"
style="font-size:8px;text-anchor:middle"
d="m 22.339844,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304688,0.5976562 -0.304688,1.8007812 0,1.1992188 0.304688,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917968,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 22.953125,4.6875 22.339844,4.6875 Z m 0,-0.625 q 0.980468,0 1.496093,0.7773437 0.519532,0.7734375 0.519532,2.25 0,1.4726563 -0.519532,2.2500001 -0.515625,0.7734372 -1.496093,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 20.324219,8.5625 20.324219,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path34"
style="font-size:8px;text-anchor:middle"
d="m 25.753906,4.1679687 3.097656,0 0,0.6640625 -2.375,0 0,1.4296875 q 0.171875,-0.058594 0.34375,-0.085937 0.171875,-0.03125 0.34375,-0.03125 0.976563,0 1.546875,0.5351563 0.570313,0.5351562 0.570313,1.4492188 0,0.9414062 -0.585938,1.4648437 -0.585937,0.519531 -1.652343,0.519531 -0.367188,0 -0.75,-0.0625 -0.378907,-0.0625 -0.785157,-0.1874997 l 0,-0.7929688 q 0.351563,0.1914063 0.726563,0.2851563 0.375,0.09375 0.792969,0.09375 0.675781,0 1.070312,-0.3554688 0.394531,-0.3554687 0.394531,-0.9648437 0,-0.6093751 -0.394531,-0.9648438 -0.394531,-0.3554688 -1.070312,-0.3554688 -0.316407,0 -0.632813,0.070312 -0.3125,0.070312 -0.640625,0.21875 l 0,-2.9296875 z" />
</g>
</g>
<g
style="font-size:8px;font-family:'DejaVu Sans';fill:#ffffff;stroke:none"
font-size="8"
id="group1">
<g
id="text12"
style="text-anchor:middle">
<path
id="path37"
style="text-anchor:middle"
d="m 11.613281,21.167969 0.789063,0 0,5.832031 -0.789063,0 0,-5.832031 z" />
<path
id="path39"
style="text-anchor:middle"
d="m 13.972656,21.167969 1.0625,0 2.585938,4.878906 0,-4.878906 0.765625,0 0,5.832031 -1.0625,0 -2.585938,-4.878906 0,4.878906 -0.765625,0 0,-5.832031 z" />
</g>
<g
id="text14"
style="text-anchor:middle">
<path
id="path42"
style="text-anchor:middle"
d="m 9.6289063,221.70312 q -0.859375,0 -1.3671875,0.64063 -0.5039063,0.64062 -0.5039063,1.74609 0,1.10157 0.5039063,1.74219 0.5078125,0.64063 1.3671875,0.64063 0.8593747,0 1.3593747,-0.64063 0.503907,-0.64062 0.503907,-1.74219 0,-1.10547 -0.503907,-1.74609 -0.5,-0.64063 -1.3593747,-0.64063 z m 0,-0.64062 q 1.2265627,0 1.9609377,0.82422 0.734375,0.82031 0.734375,2.20312 0,1.37891 -0.734375,2.20313 -0.734375,0.82031 -1.9609377,0.82031 -1.2304688,0 -1.9687501,-0.82031 -0.734375,-0.82031 -0.734375,-2.20313 0,-1.38281 0.734375,-2.20312 0.7382813,-0.82422 1.9687501,-0.82422 z" />
<path
id="path44"
style="text-anchor:middle"
d="m 13.46875,221.16797 0.792969,0 0,3.54297 q 0,0.9375 0.339844,1.35156 0.339843,0.41016 1.101562,0.41016 0.757812,0 1.097656,-0.41016 0.339844,-0.41406 0.339844,-1.35156 l 0,-3.54297 0.792969,0 0,3.64062 q 0,1.14063 -0.566407,1.72266 -0.5625,0.58203 -1.664062,0.58203 -1.105469,0 -1.671875,-0.58203 -0.5625,-0.58203 -0.5625,-1.72266 l 0,-3.64062 z" />
<path
id="path46"
style="text-anchor:middle"
d="m 18.609375,221.16797 4.933594,0 0,0.66406 -2.070313,0 0,5.16797 -0.792969,0 0,-5.16797 -2.070312,0 0,-0.66406 z" />
</g>
</g>
</svg>

+ 100
- 0
plugins/community/repos/SubmarineFree/res/XG-104.svg View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg4352"
version="1.1"
height="380px"
width="30">
<metadata
id="metadata26">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs24" />
<g
id="background">
<path
id="rect4255"
d="m 0,0 30,0 0,380 -30,0 z"
style="fill:#294f77;stroke:none" />
<path
id="path4356"
d="M 0,380 0,0 30,0 29,1 1,1 1,379 Z"
style="fill:#3a6ea5;fill-rule:nonzero;stroke:none" />
<path
id="path4358"
d="m 0,380 30,0 0,-380 -1,1 0,378 -28,0 z"
style="fill:#182d44;fill-rule:nonzero;stroke:none" />
</g>
<g
style="font-size:12px;font-family:'DejaVu Sans';fill:#719fcf"
font-size="12"
id="logo">
<path
id="path4136"
d="m 14.35391,366 a 1.9846094,2.2519786 0 0 0 -1.98465,2.25192 1.9846094,2.2519786 0 0 0 0.0588,0.53167 A 8.1692063,5.1693144 0 0 0 6,373.83071 8.1692063,5.1693144 0 0 0 14.16915,379 8.1692063,5.1693144 0 0 0 21.48278,376.11985 3.0461447,4.2480502 0 0 0 24,377.97641 l 0,-2.35772 A 1.3384576,1.9448905 0 0 1 22.7077,373.67718 1.3384576,1.9448905 0 0 1 24,371.73455 l 0,-2.25416 a 3.0461447,4.2480502 0 0 0 -2.57413,1.97944 8.1692063,5.1693144 0 0 0 -7.25672,-2.79842 8.1692063,5.1693144 0 0 0 -0.37318,0.0119 1.7538409,2.0472531 0 0 1 0.69638,-1.00162 l 0,-1.66609 A 1.9846094,2.2519786 0 0 0 14.35391,366 Z m -3.27707,5.83461 a 1.6615335,1.8425278 0 0 1 1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66156,1.84257 1.6615335,1.8425278 0 0 1 -1.66145,-1.84257 1.6615335,1.8425278 0 0 1 1.66145,-1.84257 z m 3.78465,0.40949 a 1.2923038,1.4330772 0 0 1 1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.29231,1.43308 1.2923038,1.4330772 0 0 1 -1.2923,-1.43308 1.2923038,1.4330772 0 0 1 1.2923,-1.43308 z m 3.00928,0.38892 a 0.92307415,1.0236265 0 0 1 0.92304,1.02373 0.92307415,1.0236265 0 0 1 -0.92304,1.02359 0.92307415,1.0236265 0 0 1 -0.92317,-1.02359 0.92307415,1.0236265 0 0 1 0.92317,-1.02373 z" />
<g
id="text9"
style="font-size:8px;text-anchor:middle">
<path
id="path30"
style="font-size:8px;text-anchor:middle"
d="m 0.57421875,4.1679687 0.84765625,0 1.4492188,2.1679688 1.4570312,-2.1679688 0.8476562,0 L 3.3007813,6.96875 5.3007812,10 4.453125,10 2.8125,7.5195312 1.1601562,10 0.30859375,10 2.390625,6.8867187 0.57421875,4.1679687 Z" />
<path
id="path32"
style="font-size:8px;text-anchor:middle"
d="m 10.316406,9.1679688 0,-1.5664063 -1.2890622,0 0,-0.6484375 2.0703122,0 0,2.5039063 Q 10.640625,9.78125 10.089844,9.9492188 9.5390625,10.113281 8.9140625,10.113281 q -1.3671875,0 -2.140625,-0.7968747 Q 6.0039062,8.515625 6.0039062,7.0898437 q 0,-1.4296875 0.7695313,-2.2265625 Q 7.546875,4.0625 8.9140625,4.0625 q 0.5703125,0 1.0820313,0.140625 0.5156252,0.140625 0.9492192,0.4140625 l 0,0.8398437 q -0.4375,-0.3710937 -0.929688,-0.5585937 -0.4921875,-0.1875 -1.0351562,-0.1875 -1.0703126,0 -1.6093751,0.5976562 -0.5351562,0.5976563 -0.5351562,1.78125 0,1.1796876 0.5351562,1.7773438 0.5390625,0.5976563 1.6093751,0.5976563 0.4179687,0 0.7460937,-0.070312 0.3281255,-0.074219 0.5898435,-0.2265625 z" />
<path
id="path34"
style="font-size:8px;text-anchor:middle"
d="m 12.148438,7.4882812 2.105468,0 0,0.6406251 -2.105468,0 0,-0.6406251 z" />
<path
id="path36"
style="font-size:8px;text-anchor:middle"
d="m 15.640625,9.3359375 1.289062,0 0,-4.4492188 -1.402343,0.28125 0,-0.71875 1.394531,-0.28125 0.789062,0 0,5.1679688 1.289063,0 L 19,10 l -3.359375,0 0,-0.6640625 z" />
<path
id="path38"
style="font-size:8px;text-anchor:middle"
d="m 22.285156,4.6875 q -0.609375,0 -0.917969,0.6015625 -0.304687,0.5976562 -0.304687,1.8007812 0,1.1992188 0.304687,1.8007813 0.308594,0.5976563 0.917969,0.5976563 0.613281,0 0.917969,-0.5976563 0.308594,-0.6015625 0.308594,-1.8007813 0,-1.203125 -0.308594,-1.8007812 Q 22.898437,4.6875 22.285156,4.6875 Z m 0,-0.625 q 0.980469,0 1.496094,0.7773437 0.519531,0.7734375 0.519531,2.25 0,1.4726563 -0.519531,2.2500001 -0.515625,0.7734372 -1.496094,0.7734372 -0.980469,0 -1.5,-0.7734372 Q 20.269531,8.5625 20.269531,7.0898437 q 0,-1.4765625 0.515625,-2.25 0.519531,-0.7773437 1.5,-0.7773437 z" />
<path
id="path40"
style="font-size:8px;text-anchor:middle"
d="m 27.859375,4.8554687 -1.992188,3.1132813 1.992188,0 0,-3.1132813 z m -0.207031,-0.6875 0.992187,0 0,3.8007813 0.832031,0 0,0.65625 -0.832031,0 0,1.375 -0.785156,0 0,-1.375 -2.632813,0 0,-0.7617188 2.425782,-3.6953125 z" />
</g>
</g>
<g
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:round"
id="screen">
<path
id="line12"
d="m 15,31.5 0,317"
style="stroke:#719fcf" />
<path
id="line14"
d="m 15,31.5 0,56"
style="" />
<path
id="line16"
d="m 15,118.5 0,56"
style="" />
<path
id="line18"
d="m 15,205.5 0,56"
style="" />
<path
id="line20"
d="m 15,292.5 0,56"
style="" />
</g>
</svg>

+ 0
- 91
plugins/community/repos/SubmarineFree/src/AG-106.cpp View File

@@ -1,91 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct AG_106 : DS_Module {
static const int deviceCount = 6;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_A_1,
INPUT_A_2,
INPUT_A_3,
INPUT_A_4,
INPUT_A_5,
INPUT_A_6,
INPUT_B_1,
INPUT_B_2,
INPUT_B_3,
INPUT_B_4,
INPUT_B_5,
INPUT_B_6,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};

AG_106() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void AG_106::step() {
int connCount = 0;
int setCount = 0;
for (int i = 0; i < deviceCount; i++) {
if (inputs[INPUT_A_1 + i].active) {
connCount++;
if (inputs[INPUT_A_1 + i].value > midpoint())
setCount++;
}
if (inputs[INPUT_B_1 + i].active) {
connCount++;
if (inputs[INPUT_B_1 + i].value > midpoint())
setCount++;
}
if (outputs[OUTPUT_1 + i].active) {
if (connCount)
outputs[OUTPUT_1 + i].value = (connCount == setCount)?voltage1:voltage0;
else
outputs[OUTPUT_1 + i].value = voltage0;
connCount = 0;
setCount = 0;
}
}
}

struct AG106 : ModuleWidget {
AG106(AG_106 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/AG-106.svg")));

for (int i = 0; i < AG_106::deviceCount; i++) {
int offset = 58 * i;
addInput(Port::create<sub_port_blue>(Vec(4,19 + offset), Port::INPUT, module, AG_106::INPUT_A_1 + i));
addInput(Port::create<sub_port_blue>(Vec(4,47 + offset), Port::INPUT, module, AG_106::INPUT_B_1 + i));

addOutput(Port::create<sub_port_blue>(Vec(62,33 + offset), Port::OUTPUT, module, AG_106::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AG106) {
Model *modelAG106 = Model::create<AG_106, AG106>("SubmarineFree", "AG-106", "AG-106 AND Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelAG106;
}

+ 97
- 0
plugins/community/repos/SubmarineFree/src/AG1.cpp View File

@@ -0,0 +1,97 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

template <int x>
struct AG_1 : DS_Module {
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_A_1,
INPUT_B_1 = x,
NUM_INPUTS = x + x
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = x
};
enum LightIds {
NUM_LIGHTS
};

AG_1() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}

void step() override {
int connCount = 0;
int setCount = 0;
for (int i = 0; i < x; i++) {
if (inputs[INPUT_A_1 + i].active) {
connCount++;
if (inputs[INPUT_A_1 + i].value > midpoint())
setCount++;
}
if (inputs[INPUT_B_1 + i].active) {
connCount++;
if (inputs[INPUT_B_1 + i].value > midpoint())
setCount++;
}
if (outputs[OUTPUT_1 + i].active) {
if (connCount)
outputs[OUTPUT_1 + i].value = (connCount == setCount)?voltage1:voltage0;
else
outputs[OUTPUT_1 + i].value = voltage0;
connCount = 0;
setCount = 0;
}
}
}
};

struct AG104 : ModuleWidget {
AG104(AG_1<4> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/AG-104.svg")));

for (int i = 0; i < 4; i++) {
int offset = 87 * i;
addInput(Port::create<BluePort>(Vec(2.5,19 + offset), Port::INPUT, module, AG_1<4>::INPUT_A_1 + i));
addInput(Port::create<BluePort>(Vec(2.5,47 + offset), Port::INPUT, module, AG_1<4>::INPUT_B_1 + i));

addOutput(Port::create<BluePort>(Vec(2.5,75 + offset), Port::OUTPUT, module, AG_1<4>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

struct AG106 : ModuleWidget {
AG106(AG_1<6> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/AG-106.svg")));

for (int i = 0; i < 6; i++) {
int offset = 58 * i;
addInput(Port::create<BluePort>(Vec(4,19 + offset), Port::INPUT, module, AG_1<6>::INPUT_A_1 + i));
addInput(Port::create<BluePort>(Vec(4,47 + offset), Port::INPUT, module, AG_1<6>::INPUT_B_1 + i));

addOutput(Port::create<BluePort>(Vec(62,33 + offset), Port::OUTPUT, module, AG_1<6>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AG104) {
Model *modelAG104 = Model::create<AG_1<4>, AG104>("Submarine (Free)", "AG-104", "AG-104 AND Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelAG104;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AG106) {
Model *modelAG106 = Model::create<AG_1<6>, AG106>("Submarine (Free)", "AG-106", "AG-106 AND Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelAG106;
}

+ 449
- 0
plugins/community/repos/SubmarineFree/src/AO1.cpp View File

@@ -0,0 +1,449 @@
#include "SubmarineFree.hpp"

namespace rack_plugin_SubmarineFree {

namespace SubmarineAO {

typedef float (*func_t)(float, float, float);

struct Functor {
std::string name;
func_t func;
};

#define sMIN(a,b) (((a)>(b))?(b):(a))
#define sMAX(a,b) (((a)>(b))?(a):(b))

#define LAMBDA(e) [](float x, float y, float c)->float { return e ; }
#define X "X" // X
#define Y "Y" // Y
#define C "C" // C
#define A "+" // Addition symbol
#define S "-" // Subtraction symbol
#define O "%" // Modulo symbol
#define OP "(" // Open Parenthesis
#define CP ")" // Close Parenthesis
#define P "|" // Pipe symbol
#define M "\xe2\xa8\xaf"
#define D "\xc3\xb7" // Division symbol
#define R "\xe2\x88\x9a" // Root symbol
#define S2 "\xc2\xb2" // Superscript 2
#define S3 "\xc2\xb3" // Superscript 3
#define s0 "\xe2\x82\x80" // Subscript 0
#define s1 "\xe2\x82\x81" // Subscript 1
#define s2 "\xe2\x82\x82" // Subscript 2
#define E "\xe2\x84\xaf" // e
#define SA "\xe2\x81\xba" // Superscript +
#define SX "\xcb\xa3" // Superscript x
#define SY "\xca\xb8" // Superscript y
#define SC "\xe1\xb6\x9c" // Superscript c
#define MIN "min" // Minimum function
#define MAX "max" // Maximum function
#define COMMA "," // Comma symbol
#define SIN "sin" // sine function
#define COS "cos" // cosine function
#define TAN "tan" // tangent function
#define ASIN "asin" // arcsine function
#define ACOS "acos" // arcosine function
#define ATAN "atan" // arctangent function
#define LOG "log" // log function
#define LOG2 LOG s2 // base-2 log function
#define LOG10 LOG s1 s0 // base-10 log function
#define IF "if " // if conditional
#define G ">" // Greater Than symbol
#define L "<" // Less Than symbol
#define Q "=" // Equality symbol
#define Z "0" // Zero
#define W "1" // One
#define T "\xe2\x86\xa3" // Right arrow
#define H "/" // Slash
#define Pi "\xcf\x80" // PI
#define TAU "\xcf\x84" // TAU

std::vector<Functor> functions {
{ "", LAMBDA( 0 ) }, // Passthrough
{ C, LAMBDA( c ) }, // Addition
{ X A C, LAMBDA( x + c ) },
{ Y A C, LAMBDA( y + c ) },
{ X A Y A C, LAMBDA( x + y + c ) },
{ C S X, LAMBDA( c - x ) }, // Subtraction
{ C S Y, LAMBDA( c - y ) },
{ X S OP Y A C CP, LAMBDA( x - ( y + c ) ) },
{ OP X A C CP S Y, LAMBDA( ( x + c ) - y ) },
{ Y S OP X A C CP, LAMBDA( y - ( x + c ) ) },
{ OP Y A C CP S X, LAMBDA( ( y + c ) - x ) },
{ OP X M Y CP A C, LAMBDA( ( x * y ) + c ) }, // Multiplication
{ OP X A C CP M Y, LAMBDA( ( x + c ) * y ) },
{ X M OP Y A C CP, LAMBDA( x * ( y + c ) ) },
{ X M C, LAMBDA( x * c ) },
{ Y M C, LAMBDA( y * c ) },
{ X M Y M C, LAMBDA( x * y * c ) },
{ Pi M OP X A C CP, LAMBDA( M_PI * ( x + c ) ) },
{ Pi M OP Y A C CP, LAMBDA( M_PI * ( y + c ) ) },
{ TAU M OP X A C CP, LAMBDA( 2 * M_PI * ( x + c ) ) },
{ TAU M OP Y A C CP, LAMBDA( 2 * M_PI * ( y + c ) ) },
{ X D C, LAMBDA( x / c ) }, // Division
{ C D X, LAMBDA( c / x ) },
{ Y D C, LAMBDA( y / c ) },
{ C D Y, LAMBDA( c / y ) },
{ C A OP X D Y CP, LAMBDA( c + ( x / y ) ) },
{ C A OP Y D X CP, LAMBDA( c + ( y / x ) ) },
{ X A OP Y D C CP, LAMBDA( x + ( y / c ) ) },
{ X A OP C D Y CP, LAMBDA( x + ( c / y ) ) },
{ Y A OP X D C CP, LAMBDA( y + ( x / c ) ) },
{ Y A OP C D X CP, LAMBDA( y + ( c / x ) ) },
{ OP X A C CP D Y, LAMBDA( ( x + c ) / y ) },
{ X D OP Y A C CP, LAMBDA( x / ( y + c ) ) },
{ OP Y A C CP D X, LAMBDA( ( y + c ) / x ) },
{ Y D OP X A C CP, LAMBDA( y / ( x + c ) ) },
{ OP X A C CP O Y, LAMBDA( fmodf( x + c , y ) ) }, // Modulo
{ OP Y A C CP O X, LAMBDA( fmodf( y + c , x ) ) },
{ X O OP Y A C CP, LAMBDA( fmodf( x , y + c ) ) },
{ Y O OP X A C CP, LAMBDA( fmodf( y , x + c) ) },
{ X O C, LAMBDA( fmodf( x , c ) ) },
{ Y O C, LAMBDA( fmodf( y , c ) ) },
{ X S2 A C, LAMBDA( x * x + c ) }, // Quadratic
{ Y S2 A C, LAMBDA( y * y + c ) },
{ OP X A C CP S2, LAMBDA( ( x + c ) * ( x + c ) ) },
{ OP Y A C CP S2, LAMBDA( ( y + c ) * ( y + c ) ) },
{ X S2 A Y A C, LAMBDA( x * x + y + c ) },
{ Y S2 A X A C, LAMBDA( y * y + x + c ) },
{ X S2 A C Y, LAMBDA( x * x + c * y ) },
{ Y S2 A C X, LAMBDA( y * y + c * x ) },
{ R OP X A C CP, LAMBDA( sqrt( x + c ) ) }, // Square Root
{ R OP Y A C CP, LAMBDA( sqrt( y + c ) ) },
{ C SX, LAMBDA( powf( c , x ) ) }, // Powers
{ C SY, LAMBDA( powf( c , y ) ) },
{ C SX SA SY, LAMBDA( powf( c , x + y ) ) },
{ C SX SY, LAMBDA( powf( c , x * y ) ) },
{ X SC, LAMBDA( powf( x , c ) ) },
{ Y SC, LAMBDA( powf( y , c ) ) },
{ X SY SA SC, LAMBDA( powf( x , y + c ) ) },
{ Y SX SA SC, LAMBDA( powf( y , x + c ) ) },
{ X SC SY, LAMBDA( powf( x , c * y ) ) },
{ Y SC SX, LAMBDA( powf( y , c * x ) ) },
{ P X A C P, LAMBDA( abs( x + c ) ) }, // Modulus
{ P Y A C P, LAMBDA( abs( y + c ) ) },
{ MIN OP X A C COMMA Y CP, LAMBDA( sMIN( x + c, y ) ) }, // Minmax
{ MIN OP X COMMA C CP, LAMBDA( sMIN( x, c ) ) },
{ MIN OP Y COMMA C CP, LAMBDA( sMIN( y, c ) ) },
{ MAX OP X A C COMMA Y CP, LAMBDA( sMAX( x + c, y ) ) },
{ MAX OP X COMMA C CP, LAMBDA( sMAX( x, c ) ) },
{ MAX OP Y COMMA C CP, LAMBDA( sMAX( y, c ) ) },
{ SIN OP X A C CP, LAMBDA( sin( x + c ) ) }, // Trigonometric
{ SIN OP Y A C CP, LAMBDA( sin( y + c ) ) },
{ SIN OP X A Y CP, LAMBDA( sin( x + y ) ) },
{ SIN OP C X CP, LAMBDA( sin( c * x ) ) },
{ SIN OP C Y CP, LAMBDA( sin( c * y ) ) },
{ SIN OP X Y CP, LAMBDA( sin( x * y ) ) },
{ COS OP X A C CP, LAMBDA( cos( x + c ) ) },
{ COS OP Y A C CP, LAMBDA( cos( y + c ) ) },
{ COS OP X A Y CP, LAMBDA( cos( x + y ) ) },
{ COS OP C X CP, LAMBDA( cos( c * x ) ) },
{ COS OP C Y CP, LAMBDA( cos( c * y ) ) },
{ COS OP X Y CP, LAMBDA( cos( x * y ) ) },
{ TAN OP X A C CP, LAMBDA( tan( x + c ) ) },
{ TAN OP Y A C CP, LAMBDA( tan( y + c ) ) },
{ TAN OP X A Y CP, LAMBDA( tan( x + y ) ) },
{ TAN OP C X CP, LAMBDA( tan( c * x ) ) },
{ TAN OP C Y CP, LAMBDA( tan( c * y ) ) },
{ TAN OP X Y CP, LAMBDA( tan( x * y ) ) },
{ ASIN OP X A C CP, LAMBDA( asin( x + c ) ) },
{ ASIN OP Y A C CP, LAMBDA( asin( y + c ) ) },
{ ASIN OP X A Y CP, LAMBDA( asin( x + y ) ) },
{ ASIN OP C X CP, LAMBDA( asin( c * x ) ) },
{ ASIN OP C Y CP, LAMBDA( asin( c * y ) ) },
{ ASIN OP X Y CP, LAMBDA( asin( x * y ) ) },
{ ACOS OP X A C CP, LAMBDA( acos( x + c ) ) },
{ ACOS OP Y A C CP, LAMBDA( acos( y + c ) ) },
{ ACOS OP X A Y CP, LAMBDA( acos( x + y ) ) },
{ ACOS OP C X CP, LAMBDA( acos( c * x ) ) },
{ ACOS OP C Y CP, LAMBDA( acos( c * y ) ) },
{ ACOS OP X Y CP, LAMBDA( acos( x * y ) ) },
{ ATAN OP X A C CP, LAMBDA( atan( x + c ) ) },
{ ATAN OP Y A C CP, LAMBDA( atan( y + c ) ) },
{ ATAN OP X A Y CP, LAMBDA( atan( x + y ) ) },
{ ATAN OP C X CP, LAMBDA( atan( c * x ) ) },
{ ATAN OP C Y CP, LAMBDA( atan( c * y ) ) },
{ ATAN OP X Y CP, LAMBDA( atan( x * y ) ) },
{ LOG OP X A C CP, LAMBDA( log( x + c ) ) }, // Logarithmic
{ LOG OP Y A C CP, LAMBDA( log( y + c ) ) },
{ LOG2 OP X A C CP, LAMBDA( log2( x + c ) ) },
{ LOG2 OP Y A C CP, LAMBDA( log2( y + c ) ) },
{ LOG10 OP X A C CP, LAMBDA( log10( x + c ) ) },
{ LOG10 OP Y A C CP, LAMBDA( log10( y + c ) ) },
{ E SX SA SC, LAMBDA( exp( x + c ) ) }, // Exponential
{ E SY SA SC, LAMBDA( exp( y + c ) ) },
{ E SC SX, LAMBDA( exp( c * x ) ) },
{ E SC SY, LAMBDA( exp( c * y ) ) },
{ "2" SX SA SC, LAMBDA( powf( 2, x + c ) ) },
{ "2" SY SA SC, LAMBDA( powf( 2, y + c ) ) },
{ "2" SC SX, LAMBDA( powf( 2, c * x ) ) },
{ "2" SC SY, LAMBDA( powf( 2, c * y ) ) },
{ "10" SX SA SC, LAMBDA( powf( 10, x + c ) ) },
{ "10" SY SA SC, LAMBDA( powf( 10, y + c ) ) },
{ "10" SC SX, LAMBDA( powf( 10, c * x ) ) },
{ "10" SC SY, LAMBDA( powf( 10, c * y ) ) },

{ IF X G Z T Y H C, LAMBDA( (x > 0) ? y : c ) }, // Conditional
{ IF X L Z T Y H C, LAMBDA( (x < 0) ? y : c ) },
{ IF X Q Z T Y H C, LAMBDA( (x == 0) ? y : c ) },
{ IF X G Z T C H Y, LAMBDA( (x > 0) ? c : y ) },
{ IF X L Z T C H Y, LAMBDA( (x < 0) ? c : y ) },
{ IF X Q Z T C H Y, LAMBDA( (x == 0) ? c : y ) },
{ IF X G Z T W H Z, LAMBDA( (x > 0) ? 1 : 0 ) },
{ IF X L Z T W H Z, LAMBDA( (x < 0) ? 1 : 0 ) },
{ IF X Q Z T W H Z, LAMBDA( (x == 0) ? 1 : 0 ) },
{ IF X G Z T X H C, LAMBDA( (x > 0) ? x : c ) },
{ IF X L Z T X H C, LAMBDA( (x < 0) ? x : c ) },
{ IF X Q Z T X H C, LAMBDA( (x == 0) ? x : c ) },
{ IF X G Z T C H X, LAMBDA( (x > 0) ? c : x ) },
{ IF X L Z T C H X, LAMBDA( (x < 0) ? c : x ) },
{ IF X Q Z T C H X, LAMBDA( (x == 0) ? c : x ) },

{ IF Y G Z T X H C, LAMBDA( (y > 0) ? x : c ) },
{ IF Y L Z T X H C, LAMBDA( (y < 0) ? x : c ) },
{ IF Y Q Z T X H C, LAMBDA( (y == 0) ? x : c ) },
{ IF Y G Z T C H X, LAMBDA( (y > 0) ? c : x ) },
{ IF Y L Z T C H X, LAMBDA( (y < 0) ? c : x ) },
{ IF Y Q Z T C H X, LAMBDA( (y == 0) ? c : x ) },
{ IF Y G Z T W H Z, LAMBDA( (y > 0) ? 1 : 0 ) },
{ IF Y L Z T W H Z, LAMBDA( (y < 0) ? 1 : 0 ) },
{ IF Y Q Z T W H Z, LAMBDA( (y == 0) ? 1 : 0 ) },
{ IF Y G Z T Y H C, LAMBDA( (y > 0) ? y : c ) },
{ IF Y L Z T Y H C, LAMBDA( (y < 0) ? y : c ) },
{ IF Y Q Z T Y H C, LAMBDA( (y == 0) ? y : c ) },
{ IF Y G Z T C H Y, LAMBDA( (y > 0) ? c : y ) },
{ IF Y L Z T C H Y, LAMBDA( (y < 0) ? c : y ) },
{ IF Y Q Z T C H Y, LAMBDA( (y == 0) ? c : y ) },

{ IF X G Y T C H Z, LAMBDA( (x > y) ? c : 0 ) },
{ IF X L Y T C H Z, LAMBDA( (x < y) ? c : 0 ) },
{ IF X Q Y T C H Z, LAMBDA( (x == y) ? c : 0 ) },
{ IF Y G X T C H Z, LAMBDA( (y > x) ? c : 0 ) },
{ IF Y L X T C H Z, LAMBDA( (y < x) ? c : 0 ) },
{ IF X G Y T X H Z, LAMBDA( (x > y) ? x : 0 ) },
{ IF X L Y T X H Z, LAMBDA( (x < y) ? x : 0 ) },
{ IF X Q Y T X H Z, LAMBDA( (x == y) ? x : 0 ) },
{ IF Y G X T X H Z, LAMBDA( (y > x) ? x : 0 ) },
{ IF Y L X T X H Z, LAMBDA( (y < x) ? x : 0 ) },
{ IF X G Y T Y H Z, LAMBDA( (x > y) ? y : 0 ) },
{ IF X L Y T Y H Z, LAMBDA( (x < y) ? y : 0 ) },
{ IF X Q Y T Y H Z, LAMBDA( (x == y) ? y : 0 ) },
{ IF Y G X T Y H Z, LAMBDA( (y > x) ? y : 0 ) },
{ IF Y L X T Y H Z, LAMBDA( (y < x) ? y : 0 ) },

{ IF X G C T Y H Z, LAMBDA( (x > c) ? y : 0 ) },
{ IF X L C T Y H Z, LAMBDA( (x < c) ? y : 0 ) },
{ IF X Q C T Y H Z, LAMBDA( (x == c) ? y : 0 ) },
{ IF C G X T Y H Z, LAMBDA( (c > x) ? y : 0 ) },
{ IF C L X T Y H Z, LAMBDA( (c < x) ? y : 0 ) },
{ IF X G C T X H Z, LAMBDA( (x > c) ? x : 0 ) },
{ IF X L C T X H Z, LAMBDA( (x < c) ? x : 0 ) },
{ IF X Q C T X H Z, LAMBDA( (x == c) ? x : 0 ) },
{ IF C G X T X H Z, LAMBDA( (c > x) ? x : 0 ) },
{ IF C L X T X H Z, LAMBDA( (c < x) ? x : 0 ) },
{ IF X G C T X H Y, LAMBDA( (x > c) ? x : y ) },
{ IF X L C T X H Y, LAMBDA( (x < c) ? x : y ) },
{ IF X Q C T X H Y, LAMBDA( (x == c) ? x : y ) },
{ IF C G X T X H Y, LAMBDA( (c > x) ? x : y ) },
{ IF C L X T X H Y, LAMBDA( (c < x) ? x : y ) },

{ IF Y G C T X H Z, LAMBDA( (y > c) ? x : 0 ) },
{ IF Y L C T X H Z, LAMBDA( (y < c) ? x : 0 ) },
{ IF Y Q C T X H Z, LAMBDA( (y == c) ? x : 0 ) },
{ IF C G Y T X H Z, LAMBDA( (c > y) ? x : 0 ) },
{ IF C L Y T X H Z, LAMBDA( (c < y) ? x : 0 ) },
{ IF Y G C T Y H Z, LAMBDA( (y > c) ? y : 0 ) },
{ IF Y L C T Y H Z, LAMBDA( (y < c) ? y : 0 ) },
{ IF Y Q C T Y H Z, LAMBDA( (y == c) ? y : 0 ) },
{ IF C G Y T Y H Z, LAMBDA( (c > y) ? y : 0 ) },
{ IF C L Y T Y H Z, LAMBDA( (c < y) ? y : 0 ) },
{ IF Y G C T Y H X, LAMBDA( (y > c) ? y : x ) },
{ IF Y L C T Y H X, LAMBDA( (y < c) ? y : x ) },
{ IF Y Q C T Y H X, LAMBDA( (y == c) ? y : x ) },
{ IF C G Y T Y H X, LAMBDA( (c > y) ? y : x ) },
{ IF C L Y T Y H X, LAMBDA( (c < y) ? y : x ) },

};

#undef X
#undef Y
#undef C
#undef A
#undef S
#undef O
#undef OP
#undef CP
#undef P
#undef M
#undef D
#undef R
#undef S2
#undef S3
#undef s0
#undef s1
#undef s2
#undef E
#undef SA
#undef SX
#undef SY
#undef SC
#undef COMMA
#undef MIN
#undef MAX
#undef SIN
#undef COS
#undef TAN
#undef ASIN
#undef ACOS
#undef ATAN
#undef LOG
#undef LOG2
#undef LOG10
#undef IF
#undef G
#undef L
#undef Q
#undef Z
#undef W
#undef T
#undef H
#undef Pi
#undef TAU

} // end namespace SubmarineA0

struct AOFuncDisplay : Knob {
std::shared_ptr<Font> font;
AOFuncDisplay() {
box.size.x = 80;
box.size.y = 15;
snap = true;
smooth = false;
speed = 0.5f;
font = Font::load(assetGlobal("res/fonts/DejaVuSans.ttf"));
}
void draw(NVGcontext *vg) override {
nvgFontSize(vg, 16);
nvgFontFaceId(vg, font->handle);
nvgFillColor(vg, nvgRGBA(0x28, 0xb0, 0xf3, 0xff));
nvgTextAlign(vg, NVG_ALIGN_CENTER);
nvgText(vg, 41.5, 13, SubmarineAO::functions[value].name.c_str(), NULL);
}
};

struct AOConstDisplay : Knob {
std::shared_ptr<Font> font;
AOConstDisplay() {
box.size.x = 80;
box.size.y = 15;
snap = true;
speed = 0.005;
font = Font::load(assetGlobal("res/fonts/DejaVuSans.ttf"));
}
void draw(NVGcontext *vg) override {
char mtext[41];
sprintf(mtext, "C=%4.2f", ((int)value)/100.0f);
nvgFontSize(vg, 16);
nvgFontFaceId(vg, font->handle);
nvgFillColor(vg, nvgRGBA(0x28, 0xb0, 0xf3, 0xff));
nvgTextAlign(vg, NVG_ALIGN_CENTER);
nvgText(vg, 41.5, 13, mtext, NULL);
}
};

template <unsigned int x, unsigned int y>
struct AO1 : Module {
enum ParamIds {
PARAM_FUNC_1,
PARAM_CONST_1 = x * y,
NUM_PARAMS = 2 * x * y
};
enum InputIds {
INPUT_X_1,
INPUT_Y_1 = x,
NUM_INPUTS = x + y
};
enum OutputIds {
OUTPUT_X_1,
OUTPUT_Y_1 = x,
NUM_OUTPUTS = x + y
};
enum LightIds {
NUM_LIGHTS
};

AO1() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override {
float vx[x];
for (unsigned int ix = 0; ix < x; ix++) {
vx[ix] = inputs[INPUT_X_1 + ix].value;
}
for (unsigned int iy = 0; iy < y; iy++) {
float vy = inputs[INPUT_Y_1 + iy].value;
for (unsigned int ix = 0; ix < x; ix++) {
unsigned int f = params[PARAM_FUNC_1 + ix + iy * x].value;
if (f >= SubmarineAO::functions.size())
f = SubmarineAO::functions.size() - 1;
if (f > 0)
vy = vx[ix] = SubmarineAO::functions[f].func(vx[ix], vy, ((int)params[PARAM_CONST_1 + ix + iy * x].value)/100.0f);
// if f is equal to 0, then both x and y pass (crossing) through the module unchanged.
}
outputs[OUTPUT_Y_1 + iy].value = std::isfinite(vy)?vy:0.0f;
}
for (unsigned int ix = 0; ix < x; ix++) {
outputs[OUTPUT_X_1 + ix].value = std::isfinite(vx[ix])?vx[ix]:0.0f;
}
}
};

template <unsigned int x, unsigned int y>
struct AOWidget : ModuleWidget {
AOWidget(AO1<x,y> *module) : ModuleWidget(module) {
setPanel(SubHelper::LoadPanel(plugin, "AO-1", x*y));
for (unsigned int ix = 0; ix < x; ix++) {
addInput(Port::create<SilverPort>(Vec(4, 61 + ix * 46), Port::INPUT, module, AO1<x,y>::INPUT_X_1 + ix));
addOutput(Port::create<SilverPort>(Vec(46 + y * 90, 61 + ix * 46), Port::OUTPUT, module, AO1<x,y>::OUTPUT_X_1 + ix));
}
for (unsigned int iy = 0; iy < y; iy++) {
addInput(Port::create<SilverPort>(Vec(70 + 90 * iy, 19), Port::INPUT, module, AO1<x,y>::INPUT_Y_1 + iy));
addOutput(Port::create<SilverPort>(Vec(70 + 90 * iy, 335), Port::OUTPUT, module, AO1<x,y>::OUTPUT_Y_1 + iy));
}
for (unsigned int iy = 0; iy < y; iy++) {
for (unsigned int ix = 0; ix < x; ix++) {
addParam(ParamWidget::create<AOFuncDisplay>(Vec(42.5 + 90 * iy, 59 + 46 * ix), module, AO1<x,y>::PARAM_FUNC_1 + ix + iy * x, 0.0f, SubmarineAO::functions.size() - 1.0f, 0.0f ));
addParam(ParamWidget::create<AOConstDisplay>(Vec(42.5 + 90 * iy, 78 + 46 * ix), module, AO1<x,y>::PARAM_CONST_1 + ix + iy * x, -10000.0f, 10000.0f, 0.0f));
}
}
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AO106) {
Model *modelAO106 = Model::create<AO1<6,1>, AOWidget<6,1>>("Submarine (Free)", "A0-106", "A0-106 Arithmetic Operators", UTILITY_TAG, MULTIPLE_TAG);
return modelAO106;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AO112) {
Model *modelAO112 = Model::create<AO1<6,2>, AOWidget<6,2>>("Submarine (Free)", "A0-112", "A0-112 Arithmetic Operators", UTILITY_TAG, MULTIPLE_TAG);
return modelAO112;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AO118) {
Model *modelAO118 = Model::create<AO1<6,3>, AOWidget<6,3>>("Submarine (Free)", "A0-118", "A0-118 Arithmetic Operators", UTILITY_TAG, MULTIPLE_TAG);
return modelAO118;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AO124) {
Model *modelAO124 = Model::create<AO1<6,4>, AOWidget<6,4>>("Submarine (Free)", "A0-124", "A0-124 Arithmetic Operators", UTILITY_TAG, MULTIPLE_TAG);
return modelAO124;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, AO136) {
Model *modelAO136 = Model::create<AO1<6,6>, AOWidget<6,6>>("Submarine (Free)", "A0-136", "A0-136 Arithmetic Operators", UTILITY_TAG, MULTIPLE_TAG);
return modelAO136;
}

+ 0
- 89
plugins/community/repos/SubmarineFree/src/BB-120.cpp View File

@@ -1,89 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct BB_120 : DS_Module {
static const int deviceCount = 20;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_CLK,
INPUT_CV,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
OUTPUT_7,
OUTPUT_8,
OUTPUT_9,
OUTPUT_10,
OUTPUT_11,
OUTPUT_12,
OUTPUT_13,
OUTPUT_14,
OUTPUT_15,
OUTPUT_16,
OUTPUT_17,
OUTPUT_18,
OUTPUT_19,
OUTPUT_20,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};
float sample[deviceCount] = {};
DS_Schmitt schmittTrigger;

BB_120() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void BB_120::step() {
int triggered = true;
if (inputs[INPUT_CLK].active) {
triggered = schmittTrigger.redge(this, inputs[INPUT_CLK].value);
}
if (triggered) {
for (int i = deviceCount - 1; i; i--)
sample[i] = sample[i - 1];
sample[0] = inputs[INPUT_CV].value;
}
for (int i = 0; i < deviceCount; i++)
outputs[OUTPUT_1 + i].value = sample[i];
}

struct BB120 : ModuleWidget {
BB120(BB_120 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BB-120.svg")));

addInput(Port::create<sub_port_blue>(Vec(4.5,19), Port::INPUT, module, BB_120::INPUT_CLK));
addInput(Port::create<sub_port>(Vec(31.5,34), Port::INPUT, module, BB_120::INPUT_CV));

for (int i = 0; i < BB_120::deviceCount; i+=2) {
int offset = 15 * i;

addOutput(Port::create<sub_port>(Vec(4,53 + offset), Port::OUTPUT, module, BB_120::OUTPUT_1 + i));
addOutput(Port::create<sub_port>(Vec(31,68 + offset), Port::OUTPUT, module, BB_120::OUTPUT_1 + i + 1));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BB120) {
Model *modelBB120 = Model::create<BB_120, BB120>("SubmarineFree", "BB-120", "BB-120 20-Stage Bucket Brigade Sample and Hold", LOGIC_TAG, DELAY_TAG, SAMPLE_AND_HOLD_TAG, MULTIPLE_TAG);
return modelBB120;
}

+ 107
- 0
plugins/community/repos/SubmarineFree/src/BB1.cpp View File

@@ -0,0 +1,107 @@
#include <global_pre.hpp>
#include <global.hpp>
#include "DS.hpp"
#include <random>
#include <chrono>

namespace rack_plugin_SubmarineFree {

template <int x>
struct BB_1 : DS_Module {
int doResetFlag = 0;
int doRandomFlag = 0;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_CLK,
INPUT_CV,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = x
};
enum LightIds {
NUM_LIGHTS
};
float sample[x] = {};
DS_Schmitt schmittTrigger;

BB_1() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override {
if (doResetFlag) doReset();
if (doRandomFlag) doRandomize();
int triggered = true;
if (inputs[INPUT_CLK].active) {
triggered = schmittTrigger.redge(this, inputs[INPUT_CLK].value);
}
if (triggered) {
for (int i = x - 1; i; i--)
sample[i] = sample[i - 1];
sample[0] = inputs[INPUT_CV].value;
}
for (int i = 0; i < x; i++)
outputs[OUTPUT_1 + i].value = sample[i];
}
void doRandomize() {
doRandomFlag = 0;
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_real_distribution<float> distribution(voltage0, voltage1);
for (int i = 0; i < x; i++) {
outputs[OUTPUT_1 + i].value = sample[i] = distribution(generator);
}
}
void doReset() {
doResetFlag = 0;
for (int i = 0; i < x; i++)
outputs[OUTPUT_1 + i].value = sample[i] = 0.0f;
}
void onRandomize() override {
if (rack::global->gPaused) {
doRandomize();
}
else {
doResetFlag = 0;
doRandomFlag = 1;
}
}
void onReset() override {
if (rack::global->gPaused) {
doReset();
}
else {
doRandomFlag = 0;
doResetFlag = 1;
}
}
};

struct BB120 : ModuleWidget {
BB120(BB_1<20> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BB-120.svg")));

addInput(Port::create<BluePort>(Vec(4.5,19), Port::INPUT, module, BB_1<20>::INPUT_CLK));
addInput(Port::create<SilverPort>(Vec(31.5,34), Port::INPUT, module, BB_1<20>::INPUT_CV));

for (int i = 0; i < 20; i+=2) {
int offset = 15 * i;

addOutput(Port::create<SilverPort>(Vec(4,53 + offset), Port::OUTPUT, module, BB_1<20>::OUTPUT_1 + i));
addOutput(Port::create<SilverPort>(Vec(31,68 + offset), Port::OUTPUT, module, BB_1<20>::OUTPUT_1 + i + 1));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BB120) {
Model *modelBB120 = Model::create<BB_1<20>, BB120>("Submarine (Free)", "BB-120", "BB-120 20-Stage Bucket Brigade Sample and Hold", LOGIC_TAG, DELAY_TAG, SAMPLE_AND_HOLD_TAG, MULTIPLE_TAG);
return modelBB120;
}

+ 0
- 147
plugins/community/repos/SubmarineFree/src/BP.cpp View File

@@ -1,147 +0,0 @@
#include "SubmarineFree.hpp"

namespace rack_plugin_SubmarineFree {

struct BP : Module {
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
NUM_INPUTS
};
enum OutputIds {
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};

BP() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;

// For more advanced Module features, read Rack's engine.hpp header file
// - toJson, fromJson: serialization of internal data
// - onSampleRateChange: event triggered by a change of sample rate
// - onReset, onRandomize, onCreate, onDelete: implements special behavior when user clicks these from the context menu
};

void BP::step() {
}

struct BP101 : ModuleWidget {
BP101(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-101.svg")));
}
};

struct BP102 : ModuleWidget {
BP102(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-102.svg")));
}
};

struct BP104 : ModuleWidget {
BP104(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-104.svg")));
}
};

struct BP108 : ModuleWidget {
BP108(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-108.svg")));
}
};

struct BP110 : ModuleWidget {
BP110(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-110.svg")));
}
};

struct BP112 : ModuleWidget {
BP112(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-112.svg")));
}
};

struct BP116 : ModuleWidget {
BP116(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-116.svg")));
}
};

struct BP120 : ModuleWidget {
BP120(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-120.svg")));
}
};

struct BP124 : ModuleWidget {
BP124(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-124.svg")));
}
};

struct BP132 : ModuleWidget {
BP132(BP *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/BP-132.svg")));
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

// Specify the Module and ModuleWidget subclass, human-readable
// author name for categorization per plugin, module slug (should never
// change), human-readable module name, and any number of tags
// (found in `include/tags.hpp`) separated by commas.
RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP101) {
Model *modelBP101 = Model::create<BP, BP101>("SubmarineFree", "BP-101", "BP-101 Blanking Plate", BLANK_TAG);
return modelBP101;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP102) {
Model *modelBP102 = Model::create<BP, BP102>("SubmarineFree", "BP-102", "BP-102 Blanking Plate", BLANK_TAG);
return modelBP102;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP104) {
Model *modelBP104 = Model::create<BP, BP104>("SubmarineFree", "BP-104", "BP-104 Blanking Plate", BLANK_TAG);
return modelBP104;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP108) {
Model *modelBP108 = Model::create<BP, BP108>("SubmarineFree", "BP-108", "BP-108 Blanking Plate", BLANK_TAG);
return modelBP108;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP110) {
Model *modelBP110 = Model::create<BP, BP110>("SubmarineFree", "BP-110", "BP-110 Blanking Plate", BLANK_TAG);
return modelBP110;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP112) {
Model *modelBP112 = Model::create<BP, BP112>("SubmarineFree", "BP-112", "BP-112 Blanking Plate", BLANK_TAG);
return modelBP112;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP116) {
Model *modelBP116 = Model::create<BP, BP116>("SubmarineFree", "BP-116", "BP-116 Blanking Plate", BLANK_TAG);
return modelBP116;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP120) {
Model *modelBP120 = Model::create<BP, BP120>("SubmarineFree", "BP-120", "BP-120 Blanking Plate", BLANK_TAG);
return modelBP120;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP124) {
Model *modelBP124 = Model::create<BP, BP124>("SubmarineFree", "BP-124", "BP-124 Blanking Plate", BLANK_TAG);
return modelBP124;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP132) {
Model *modelBP132 = Model::create<BP, BP132>("SubmarineFree", "BP-132", "BP-132 Blanking Plate", BLANK_TAG);
return modelBP132;
}

+ 64
- 0
plugins/community/repos/SubmarineFree/src/BP1.cpp View File

@@ -0,0 +1,64 @@
#include "SubmarineFree.hpp"

namespace rack_plugin_SubmarineFree {

template <int x>
struct BP1 : ModuleWidget {
BP1(Module *module) : ModuleWidget(module) {
setPanel(SubHelper::LoadPanel(plugin, "BP-1", x));
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP101) {
Model *modelBP101 = Model::create<Module, BP1<1>>("Submarine (Free)", "BP-101", "BP-101 Blanking Plate", BLANK_TAG);
return modelBP101;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP102) {
Model *modelBP102 = Model::create<Module, BP1<2>>("Submarine (Free)", "BP-102", "BP-102 Blanking Plate", BLANK_TAG);
return modelBP102;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP104) {
Model *modelBP104 = Model::create<Module, BP1<4>>("Submarine (Free)", "BP-104", "BP-104 Blanking Plate", BLANK_TAG);
return modelBP104;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP108) {
Model *modelBP108 = Model::create<Module, BP1<8>>("Submarine (Free)", "BP-108", "BP-108 Blanking Plate", BLANK_TAG);
return modelBP108;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP110) {
Model *modelBP110 = Model::create<Module, BP1<10>>("Submarine (Free)", "BP-110", "BP-110 Blanking Plate", BLANK_TAG);
return modelBP110;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP112) {
Model *modelBP112 = Model::create<Module, BP1<12>>("Submarine (Free)", "BP-112", "BP-112 Blanking Plate", BLANK_TAG);
return modelBP112;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP116) {
Model *modelBP116 = Model::create<Module, BP1<16>>("Submarine (Free)", "BP-116", "BP-116 Blanking Plate", BLANK_TAG);
return modelBP116;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP120) {
Model *modelBP120 = Model::create<Module, BP1<20>>("Submarine (Free)", "BP-120", "BP-120 Blanking Plate", BLANK_TAG);
return modelBP120;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP124) {
Model *modelBP124 = Model::create<Module, BP1<24>>("Submarine (Free)", "BP-124", "BP-124 Blanking Plate", BLANK_TAG);
return modelBP124;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, BP132) {
Model *modelBP132 = Model::create<Module, BP1<32>>("Submarine (Free)", "BP-132", "BP-132 Blanking Plate", BLANK_TAG);
return modelBP132;
}

+ 62
- 0
plugins/community/repos/SubmarineFree/src/ComponentLibrary/Port.cpp View File

@@ -0,0 +1,62 @@
#include "../SubmarineFree.hpp"
#include "util/color.hpp"

void SilverPort::draw(NVGcontext *vg) {
float radius = box.size.x / 2.0f;

// Shadow
{
nvgBeginPath(vg);
nvgCircle(vg, radius, radius * 1.2, radius);
nvgFillColor(vg, nvgRGBAf(0, 0, 0, 0.15));
nvgFill(vg);
}

// Switch
{
nvgBeginPath(vg);
nvgRect(vg, 6, 6, 13, 13);
nvgFillColor(vg, nvgRGB(0,0,0));
nvgFill(vg);
nvgBeginPath(vg);
nvgRect(vg, 10, 6, 5, 13);
nvgFillPaint(vg, nvgLinearGradient(vg, radius, 19, radius, radius, nvgRGB(0x60, 0x60, 0x60), nvgRGB(0,0,0)));
nvgFill(vg);
}

// Port body
{
nvgBeginPath(vg);
nvgCircle(vg, radius, radius, 7);
nvgStrokeWidth(vg, 4);
nvgStrokePaint(vg, nvgRadialGradient(vg, radius + 0.3, radius + 1, 0, 9, nvgRGB(0x20, 0x20, 0x20), col));
nvgStroke(vg);
}
// Outer rim
{
nvgBeginPath(vg);
nvgMoveTo(vg, 0.66556777, 9.9934984);
nvgArc(vg, radius, radius, radius - 1, M_PI + 0.2076, -0.2076, NVG_CW);
nvgArc(vg, 24.5, 12.5, 2.5, 1.467 - M_PI, M_PI - 1.467, NVG_CCW);
nvgArc(vg, radius, radius, radius - 1, 0.2076, M_PI - 0.2076, NVG_CW);
nvgArc(vg, 0.5, 12.5, 2.5, 1.467, -1.467, NVG_CCW);
nvgClosePath(vg);
//nvgCircle(vg, radius, radius, 8.5709);
nvgCircle(vg, radius, radius, 8.0);
nvgPathWinding(vg, NVG_HOLE);
nvgStrokeColor(vg, nvgRGB(0x66,0x66,0x66));
nvgStrokeWidth(vg, 0.80645);
if (type == Port::OUTPUT) {
nvgFillPaint(vg, nvgRadialGradient(vg, radius + 0.3, radius + 1, 1, 12, col, nvgRGB(0x3f, 0x3f, 0x3f)));
nvgStrokeColor(vg, nvgRGB(0x36,0x36,0x36));
}
else {
nvgFillPaint(vg, nvgRadialGradient(vg, radius + 0.3, radius + 1, 1, 12, col, nvgRGB(0xff, 0xff, 0xff)));
nvgStrokeColor(vg, nvgRGB(0x66,0x66,0x66));
}
nvgFill(vg);
nvgStroke(vg);
}

}

+ 51
- 50
plugins/community/repos/SubmarineFree/src/ComponentLibrary/components.hpp View File

@@ -2,6 +2,27 @@
// Ports
//////////////////

struct SilverPort : Port {
NVGcolor col = nvgRGB(0xf0, 0xf0, 0xf0);
SilverPort() {
box.size.x = 25;
box.size.y = 25;
}
void draw(NVGcontext *vg) override;
};

struct RedPort : SilverPort {
RedPort() { col = nvgRGB(0xff, 0x20, 0x20); }
};

struct BluePort : SilverPort {
BluePort() { col = nvgRGB(0x29, 0xb2, 0xef); }
};

struct BlackPort : SilverPort {
BlackPort() { col = nvgRGB(0x40, 0x40, 0x40); }
};
/*
struct sub_port : SVGPort {
sub_port() {
setSVG(SVG::load(assetPlugin(plugin, "res/Components/sub_port.svg")));
@@ -26,6 +47,7 @@ struct sub_port_black : SVGPort {
}
};

*/
//////////////////
// Switches
//////////////////
@@ -83,6 +105,9 @@ struct sub_btn : SVGSwitch, ToggleSwitch {
addFrame(SVG::load(assetPlugin(plugin, "res/Components/sub_btn.svg")));
addFrame(SVG::load(assetPlugin(plugin, "res/Components/sub_btn_a.svg")));
}
void step() override {
setValue(module->params[paramId].value);
}
};

//////////////////
@@ -96,76 +121,52 @@ struct LightKnob : Knob {
/** Radii in standard units */
float radius = 19.0;
int enabled = 1;
LightKnob() {}
LightKnob() {smooth = false;}
void draw(NVGcontext *vg) override;
void setEnabled(int val);
void setRadius(int r);
};

struct sub_knob_small : LightKnob {
sub_knob_small() {
setRadius(12.0);
}
};

struct sub_knob_med : LightKnob {
sub_knob_med() {
setRadius(19.0);
}
};

struct sub_knob_large : LightKnob {
sub_knob_large() {
setRadius(27.0);
}
};

struct sub_knob_small_narrow : sub_knob_small {
sub_knob_small_narrow() {
minAngle = -0.75*M_PI;
maxAngle = 0.75*M_PI;
}
};

struct sub_knob_med_narrow : sub_knob_med {
sub_knob_med_narrow() {
minAngle = -0.75*M_PI;
maxAngle = 0.75*M_PI;
template <class K>
struct TinyKnob : K {
TinyKnob() {
K::setRadius(9.0f);
}
};

struct sub_knob_large_narrow : sub_knob_large {
sub_knob_large_narrow() {
minAngle = -0.75*M_PI;
maxAngle = 0.75*M_PI;
template <class K>
struct SmallKnob : K {
SmallKnob() {
K::setRadius(12.0f);
}
};

struct sub_knob_small_snap : sub_knob_small {
sub_knob_small_snap() {
snap = true;
smooth = false;
template <class K>
struct MedKnob : K {
MedKnob() {
K::setRadius(19.0f);
}
};

struct sub_knob_med_snap : sub_knob_med {
sub_knob_med_snap() {
snap = true;
smooth = false;
template <class K>
struct LargeKnob : K {
LargeKnob() {
K::setRadius(27.0f);
}
};

struct sub_knob_large_snap : sub_knob_large {
sub_knob_large_snap() {
snap = true;
smooth = false;
template <class K>
struct SnapKnob : K {
SnapKnob() {
K::snap = true;
}
};

struct sub_knob_med_snap_narrow : sub_knob_med_snap {
sub_knob_med_snap_narrow() {
minAngle = -0.75*M_PI;
maxAngle = 0.75*M_PI;
template <class K>
struct NarrowKnob : K {
NarrowKnob() {
K::minAngle = -0.75*M_PI;
K::maxAngle = 0.75*M_PI;
}
};



+ 1
- 1
plugins/community/repos/SubmarineFree/src/DS.cpp View File

@@ -22,7 +22,7 @@ void DS_Module::fromJson(json_t *rootJ) {

void DS_Module::onReset() {
voltage0 = 0.0f;
voltage1 = 5.0f;
voltage1 = 10.0f;
}

float DS_Module::output(int state) {


+ 457
- 0
plugins/community/repos/SubmarineFree/src/EO1.cpp View File

@@ -0,0 +1,457 @@
/* Portions of this code derive from Fundamental/src/Scope.cpp - Copyright 2017 by Andrew Belt */
#include <string.h>
#include "SubmarineFree.hpp"
#include "dsp/digital.hpp"

namespace rack_plugin_SubmarineFree {

#define BUFFER_SIZE 800
#define PRE_SIZE 100

#define sMAX(a,b) (((a)>(b))?(a):(b))

struct EO_102 : Module {
enum ParamIds {
PARAM_SCALE_1,
PARAM_SCALE_2,
PARAM_OFFSET_1,
PARAM_OFFSET_2,
PARAM_TRIGGER,
PARAM_TIME,
PARAM_INDEX_1,
PARAM_INDEX_2,
PARAM_INDEX_3,
PARAM_RUNMODE,
PARAM_RUN,
PARAM_PRE,
PARAM_MODE_1,
PARAM_MODE_2,
NUM_PARAMS
};
enum InputIds {
INPUT_1,
INPUT_2,
INPUT_EXT,
NUM_INPUTS
};
enum OutputIds {
NUM_OUTPUTS
};
enum LightIds {
LIGHT_TRIGGER,
NUM_LIGHTS
};
float buffer[2][BUFFER_SIZE] = {};
int bufferIndex = 0;
float frameIndex = 0;
float preBuffer[2][PRE_SIZE] = {};
int preBufferIndex = 0;
float preFrameIndex = 0;
int preCount = 0;

SchmittTrigger trigger;
PulseGenerator triggerLight;
float runMode;
int traceMode[2];
int traceStep;

EO_102() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
void startFrame(void);
};

void EO_102::startFrame() {
triggerLight.trigger(0.1f);
frameIndex = 0;
preCount = (int)(params[PARAM_PRE].value + 0.5f);
for (int i = 0; i < 2; i++) {
for (int s = 0; s < preCount; s++) {
buffer[i][s] = preBuffer[i][(preBufferIndex + (PRE_SIZE * 2) - preCount + s) % PRE_SIZE];
}
traceMode[i] = (int)(params[PARAM_MODE_1 + i].value + 0.5f);
}
bufferIndex = preCount;
traceStep = 1;
}

void EO_102::step() {
if (runMode > 0.5f) {
if (params[PARAM_RUNMODE].value < 0.5f)
// runningButtonWidget->setValue(1.0f);
engineSetParam(this, PARAM_RUN, 1.0f);
}
runMode = params[PARAM_RUNMODE].value;
// Compute time
float deltaTime = powf(2.0f, params[PARAM_TIME].value);
int frameCount = (int)ceilf(deltaTime * engineGetSampleRate());
lights[LIGHT_TRIGGER].value = triggerLight.process(engineGetSampleTime());
// Add frame to preBuffer
for (int i = 0; i < 2; i++) {
if (params[PARAM_MODE_1 + i].value > 0.5f) {
if (traceStep) {
preBuffer[i][preBufferIndex] = fabs(inputs[INPUT_1 + i].value);
}
preBuffer[i][preBufferIndex] = sMAX(preBuffer[i][preBufferIndex], (float)fabs(inputs[INPUT_1 + i].value));
}
}
if (++preFrameIndex >= frameCount) {
preFrameIndex = 0;
for (int i = 0; i < 2; i++) {
if (params[PARAM_MODE_1 + i].value < 0.5f) {
preBuffer[i][preBufferIndex] = inputs[INPUT_1 + i].value;
}
}
preBufferIndex++;
if (preBufferIndex >= PRE_SIZE) {
preBufferIndex = 0;
}
}

// Add frame to buffer
if (bufferIndex < BUFFER_SIZE) {
for (int i = 0; i < 2; i++) {
if (traceMode[i]) {
if (traceStep) {
buffer[i][bufferIndex] = fabs(inputs[INPUT_1 + i].value);
}
buffer[i][bufferIndex] = sMAX(buffer[i][bufferIndex], (float)fabs(inputs[INPUT_1 + i].value));
}
}
traceStep = 0;
if (++frameIndex >= frameCount) {
frameIndex = 0;
for (int i = 0; i < 2; i++) {
if (!traceMode[i]) {
buffer[i][bufferIndex] = inputs[INPUT_1 + i].value;
}
}
bufferIndex++;
traceStep = 1;
}
}

int triggerInput = INPUT_1;
if (inputs[INPUT_EXT].active)
triggerInput = INPUT_EXT;
// Are we waiting on the next trigger?
if (bufferIndex >= BUFFER_SIZE) {
// Trigger immediately if nothing connected to trigger input
if (!inputs[triggerInput].active) {
startFrame();
return;
}

// Reset the Schmitt trigger so we don't trigger immediately if the input is high
if (frameIndex == 0) {
trigger.reset();
}
frameIndex++;

float gate = inputs[triggerInput].value;
int triggered = trigger.process(rescale(gate, params[PARAM_TRIGGER].value - 0.1f, params[PARAM_TRIGGER].value, 0.0f, 1.0f));

if (params[PARAM_RUN].value > 0.5f) {
if (triggered) {
startFrame();
if (runMode > 0.5f) // Continuous run mode
engineSetParam(this, PARAM_RUN, 0.0f);
return;
}
}
}
}

struct EO_Display : TransparentWidget {
EO_102 *module;

void drawTrace(NVGcontext *vg, float *values, float offset, float scale, NVGcolor col, int mode) {
if (!values)
return;
float scaling = powf(2.0, scale);
nvgSave(vg);
Rect b = Rect(Vec(0, 0), box.size);
nvgScissor(vg, b.pos.x, b.pos.y, b.size.x, b.size.y);
nvgBeginPath(vg);
for (int i = 0; i < BUFFER_SIZE; i++) {
float x, y;
x = (float)i / (BUFFER_SIZE - 1) * b.size.x;
y = ((values[i] * scaling + offset ) / 20.0f - 0.8f) * -b.size.y;
if (i == 0)
nvgMoveTo(vg, x, y);
else
nvgLineTo(vg, x, y);
}
if (mode) {
nvgLineTo(vg, b.size.x, (offset / 20.0f - 0.8f) * -b.size.y);
nvgLineTo(vg, 0, (offset / 20.0f - 0.8f) * -b.size.y);
nvgClosePath(vg);
nvgFillColor(vg, col);
nvgGlobalCompositeOperation(vg, NVG_LIGHTER);
nvgFill(vg);
}
else {
nvgStrokeColor(vg, col);
nvgLineCap(vg, NVG_ROUND);
nvgMiterLimit(vg, 2.0f);
nvgStrokeWidth(vg, 1.5f);
nvgGlobalCompositeOperation(vg, NVG_LIGHTER);
nvgStroke(vg);
}
nvgResetScissor(vg);
nvgRestore(vg);
}

void drawIndex(NVGcontext *vg, float value) {
Rect b = Rect(Vec(0, 0), box.size);
nvgScissor(vg, b.pos.x, b.pos.y, b.size.x, b.size.y);
value = value * b.size.x;

nvgStrokeColor(vg, nvgRGBA(0xff, 0xff, 0xff, 0x40));
{
nvgBeginPath(vg);
nvgMoveTo(vg, value, 0);
nvgLineTo(vg, value, b.size.y);
nvgClosePath(vg);
}
nvgStroke(vg);
nvgResetScissor(vg);
}
void drawIndexV(NVGcontext *vg, float value) {
Rect b = Rect(Vec(0, 0), box.size);
nvgScissor(vg, b.pos.x, b.pos.y, b.size.x, b.size.y);
value = (1-value) * b.size.y;

nvgStrokeColor(vg, nvgRGBA(0xff, 0xff, 0xff, 0x40));
{
nvgBeginPath(vg);
nvgMoveTo(vg, 0, value);
nvgLineTo(vg, b.size.x, value);
nvgClosePath(vg);
}
nvgStroke(vg);
nvgResetScissor(vg);
}

void drawTrigger(NVGcontext *vg, float value, float offset, float scale) {
Rect b = Rect(Vec(0, 0), box.size);
float scaling = powf(2.0f, scale);
float y = ((value * scaling + offset ) / 20.0f - 0.8f) * -b.size.y;
if (y < 0) return;
if (y > b.size.y) return;
nvgScissor(vg, b.pos.x, b.pos.y, b.size.x, b.size.y);

nvgStrokeColor(vg, nvgRGBA(0xff, 0xff, 0xff, 0x40));
{
nvgBeginPath(vg);
nvgMoveTo(vg, 0, y);
nvgLineTo(vg, b.size.x, y);
nvgClosePath(vg);
}
nvgStroke(vg);
nvgResetScissor(vg);
}

void drawPre(NVGcontext *vg, float value) {
if (value == 0.0f)
return;
Rect b = Rect(Vec(0, 0), box.size);
nvgScissor(vg, b.pos.x, b.pos.y, b.size.x, b.size.y);
value = value * b.size.x;

nvgStrokeColor(vg, nvgRGBA(0xff, 0x40, 0x40, 0x80));
{
nvgBeginPath(vg);
nvgMoveTo(vg, value, 0);
nvgLineTo(vg, value, b.size.y);
nvgClosePath(vg);
}
nvgStroke(vg);
nvgResetScissor(vg);
}

void drawMask(NVGcontext *vg, float value) {
if (value == 0.0f)
return;
Rect b = Rect(Vec(0, 0), box.size);
nvgScissor(vg, b.pos.x, b.pos.y, b.size.x, b.size.y);
value = value * b.size.x;

nvgFillColor(vg, nvgRGBA(0xff, 0x40, 0x40, 0x40));
{
nvgBeginPath(vg);
nvgRect(vg, 0, 0, value, b.size.y);
nvgClosePath(vg);
}
nvgFill(vg);
nvgResetScissor(vg);
}

void draw(NVGcontext *vg) override {
NVGcolor col = nvgRGBA(0x28, 0xb0, 0xf3, 0xc0);
for (int i = 0; i < 2; i++) {
if (module->inputs[EO_102::INPUT_1 + i].active) {
drawTrace(vg, module->buffer[i], module->params[EO_102::PARAM_OFFSET_1 + i].value, module->params[EO_102::PARAM_SCALE_1 + i].value, col, module->traceMode[i]);
}
col = nvgRGBA(0xed, 0x2c, 0x24, 0xc0);
}
drawIndex(vg, clamp(module->params[EO_102::PARAM_INDEX_1].value, 0.0f, 1.0f));
drawIndex(vg, clamp(module->params[EO_102::PARAM_INDEX_2].value, 0.0f, 1.0f));
drawIndexV(vg, clamp(module->params[EO_102::PARAM_INDEX_3].value, 0.0f, 1.0f));
if (module->inputs[EO_102::INPUT_EXT].active)
drawTrigger(vg, module->params[EO_102::PARAM_TRIGGER].value, 0.0f, 1.0f);
else
drawTrigger(vg, module->params[EO_102::PARAM_TRIGGER].value, module->params[EO_102::PARAM_OFFSET_1].value, module->params[EO_102::PARAM_SCALE_1].value);
drawMask(vg, clamp(module->params[EO_102::PARAM_PRE].value, 0.0f, 1.0f * PRE_SIZE) / BUFFER_SIZE);
drawPre(vg, 1.0f * module->preCount / BUFFER_SIZE);
}
};

struct EO_Measure : TransparentWidget {
std::shared_ptr<Font> font;
EO_102 *module;
char measureText[41];
NVGcolor col;

EO_Measure() {
font = Font::load(assetGlobal( "res/fonts/DejaVuSans.ttf"));
}

virtual void updateText() {
}

void draw(NVGcontext *vg) override {
updateText();
nvgFontSize(vg, 14);
nvgFontFaceId(vg, font->handle);
nvgFillColor(vg, col);
nvgTextAlign(vg, NVG_ALIGN_CENTER);
nvgText(vg, box.size.x / 2, 12, measureText, NULL);
}
};

struct EO_Measure_Horz : EO_Measure {
void updateText() override {
float deltaTime = powf(2.0f, module->params[EO_102::PARAM_TIME].value);
int frameCount = (int)ceilf(deltaTime * engineGetSampleRate());
frameCount *= BUFFER_SIZE;
float width = (float)frameCount * fabs(module->params[EO_102::PARAM_INDEX_1].value - module->params[EO_102::PARAM_INDEX_2].value) / engineGetSampleRate();
if (width < 0.00000995f)
sprintf(measureText, "%4.3f\xc2\xb5s", width * 1000000.0f);
else if (width < 0.0000995f)
sprintf(measureText, "%4.2f\xc2\xb5s", width * 1000000.0f);
else if (width < 0.000995f)
sprintf(measureText, "%4.1f\xc2\xb5s", width * 1000000.0f);
else if (width < 0.00995f)
sprintf(measureText, "%4.3fms", width * 1000.0f);
else if (width < 0.0995f)
sprintf(measureText, "%4.2fms", width * 1000.0f);
else if (width < 0.995f)
sprintf(measureText, "%4.1fms", width * 1000.0f);
else if (width < 9.95f)
sprintf(measureText, "%4.3fs", width);
else if (width < 99.5f)
sprintf(measureText, "%4.2fs", width);
else
sprintf(measureText, "%4.1fs", width);
}
};

struct EO_Measure_Vert : EO_Measure {
int index = 0;
void updateText() override {
float height = ((module->params[EO_102::PARAM_INDEX_3].value - 0.2f) * 20.0f - module->params[EO_102::PARAM_OFFSET_1 + index].value) / powf(2, module->params[EO_102::PARAM_SCALE_1 + index].value);
float ah = fabs(height);
if (ah < 0.00000995f)
sprintf(measureText, "%4.3f\xc2\xb5V", height * 1000000.0f);
else if (ah < 0.0000995f)
sprintf(measureText, "%4.2f\xc2\xb5V", height * 1000000.0f);
else if (ah < 0.000995f)
sprintf(measureText, "%4.1f\xc2\xb5V", height * 1000000.0f);
else if (ah < 0.00995f)
sprintf(measureText, "%4.3fmV", height * 1000.0f);
else if (ah < 0.0995f)
sprintf(measureText, "%4.2fmV", height * 1000.0f);
else if (ah < 0.995f)
sprintf(measureText, "%4.1fmV", height * 1000.0f);
else if (ah < 9.95f)
sprintf(measureText, "%4.3fV", height);
else if (ah < 99.5f)
sprintf(measureText, "%4.2fV", height);
else
sprintf(measureText, "%4.1fV", height);
}
};

struct EO102 : ModuleWidget {
EO102(EO_102 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/EO-102.svg")));

{
EO_Display * display = new EO_Display();
display->module = module;
display->box.pos = Vec(2.5, 14);
display->box.size = Vec(box.size.x - 5, 236);
addChild(display);
}
{
EO_Measure_Horz * display = new EO_Measure_Horz();
display->module = module;
display->box.pos = Vec(284, 272);
display->box.size = Vec(54, 16);
display->col = nvgRGBA(0xff, 0xff, 0xff, 0xff);
addChild(display);
}
{
EO_Measure_Vert * display = new EO_Measure_Vert();
display->module = module;
display->box.pos = Vec(341, 254);
display->box.size = Vec(62, 16);
display->index = 0;
display->col = nvgRGBA(0x28, 0xb0, 0xf3, 0xff);
addChild(display);
}
{
EO_Measure_Vert * display = new EO_Measure_Vert();
display->module = module;
display->box.pos = Vec(341, 272);
display->box.size = Vec(62, 16);
display->index = 1;
display->col = nvgRGBA(0xed, 0x2c, 0x24, 0xff);
addChild(display);
}

for (int i = 0; i < 2; i++) {
addInput(createInputCentered<BluePort>(Vec(16.5 + 75 * i, 326.5), module, EO_102::INPUT_1 + i));
addParam(createParamCentered<sub_sw_2>(Vec(16.5 + 75 * i, 280), module, EO_102::PARAM_MODE_1 + i, 0.0f, 1.0f, 0.0f));
addParam(createParamCentered<MedKnob<LightKnob>>(Vec(50 + 75 * i, 320), module, EO_102::PARAM_OFFSET_1 + i, -10.0f, 10.0f, 0.0f));
addParam(createParamCentered<SnapKnob<MedKnob<LightKnob>>>(Vec(50 + 75 * i, 270), module, EO_102::PARAM_SCALE_1 + i, -5.0f, 5.0f, 0.0f));
}
addParam(createParamCentered<MedKnob<LightKnob>>(Vec(172.5, 320), module, EO_102::PARAM_TIME, -6.0f, -16.0f, -14.0f));
addParam(createParamCentered<SnapKnob<MedKnob<LightKnob>>>(Vec(172.5, 270), module, EO_102::PARAM_PRE, 0.0f, 1.0f * PRE_SIZE, 0.0f));

addInput(createInputCentered<BluePort>(Vec(211.5, 326.5), module, EO_102::INPUT_EXT));
addParam(createParamCentered<MedKnob<LightKnob>>(Vec(245, 320), module, EO_102::PARAM_TRIGGER, -10.0f, 10.0f, 0.0f));
addChild(createLightCentered<TinyLight<BlueLight>>(Vec(226, 333), module, EO_102::LIGHT_TRIGGER));
addParam(createParamCentered<sub_sw_2>(Vec(211.5, 280), module, EO_102::PARAM_RUNMODE, 0.0f, 1.0f, 0.0f));
addParam(createParamCentered<sub_btn>(Vec(245, 280), module, EO_102::PARAM_RUN, 0.0f, 1.0f, 1.0f));

addParam(createParamCentered<MedKnob<LightKnob>>(Vec(290, 320), module, EO_102::PARAM_INDEX_1, 0.0f, 1.0f, 0.0f));
addParam(createParamCentered<MedKnob<LightKnob>>(Vec(332, 320), module, EO_102::PARAM_INDEX_2, 0.0f, 1.0f, 1.0f));
addParam(createParamCentered<MedKnob<LightKnob>>(Vec(376, 320), module, EO_102::PARAM_INDEX_3, 0.0f, 1.0f, 0.2f));
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, EO102) {
Model *modelEO102 = Model::create<EO_102, EO102>("Submarine (Free)", "EO-102", "EO-102 Envelope Oscilloscope", VISUAL_TAG);
return modelEO102;
}

+ 0
- 75
plugins/community/repos/SubmarineFree/src/FF-110.cpp View File

@@ -1,75 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct FF_110 : DS_Module {
static const int deviceCount = 10;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
OUTPUT_7,
OUTPUT_8,
OUTPUT_9,
OUTPUT_10,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};
int state[deviceCount] = {0,0,0,0,0,0,0,0,0,0};
DS_Schmitt schmittTrigger[deviceCount];

FF_110() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void FF_110::step() {
if (inputs[INPUT].active) {
if (schmittTrigger[0].redge(this, inputs[INPUT].value))
state[0] = !state[0];
}
outputs[OUTPUT_1].value = state[0]?voltage1:voltage0;
for (int i = 1; i < deviceCount; i++) {
if (schmittTrigger[i].redge(this, state[i-1]?voltage0:voltage1))
state[i] = !state[i];
outputs[OUTPUT_1 + i].value = state[i]?voltage1:voltage0;
}
}

struct FF110 : ModuleWidget {
FF110(FF_110 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/FF-110.svg")));

addInput(Port::create<sub_port_blue>(Vec(2.5,19), Port::INPUT, module, FF_110::INPUT));

for (int i = 0; i < FF_110::deviceCount; i++) {
int offset = 29 * i;

addOutput(Port::create<sub_port_blue>(Vec(2.5,77 + offset), Port::OUTPUT, module, FF_110::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, FF110) {
Model *modelFF110 = Model::create<FF_110, FF110>("SubmarineFree", "FF-110", "FF-110 10-Stage Flip-Flop Counter", LOGIC_TAG, MULTIPLE_TAG);
return modelFF110;
}

+ 0
- 87
plugins/community/repos/SubmarineFree/src/FF-120.cpp View File

@@ -1,87 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct FF_120 : DS_Module {
static const int deviceCount = 20;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
OUTPUT_7,
OUTPUT_8,
OUTPUT_9,
OUTPUT_10,
OUTPUT_11,
OUTPUT_12,
OUTPUT_13,
OUTPUT_14,
OUTPUT_15,
OUTPUT_16,
OUTPUT_17,
OUTPUT_18,
OUTPUT_19,
OUTPUT_20,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};
int state[deviceCount] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
DS_Schmitt schmittTrigger[deviceCount];

FF_120() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void FF_120::step() {
if (inputs[INPUT].active) {
if (schmittTrigger[0].redge(this, inputs[INPUT].value))
state[0] = !state[0];
}
outputs[OUTPUT_1].value = state[0]?voltage1:voltage0;
for (int i = 1; i < deviceCount; i++) {
if (schmittTrigger[i].redge(this, state[i-1]?voltage0:voltage1))
state[i] = !state[i];
outputs[OUTPUT_1 + i].value = state[i]?voltage1:voltage0;
}
}

struct FF120 : ModuleWidget {
FF120(FF_120 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/FF-120.svg")));

addInput(Port::create<sub_port_blue>(Vec(17.5,19), Port::INPUT, module, FF_120::INPUT));

for (int i = 0; i < FF_120::deviceCount; i+=2) {
int offset = 15 * i;

addOutput(Port::create<sub_port_blue>(Vec(4,53 + offset), Port::OUTPUT, module, FF_120::OUTPUT_1 + i));
addOutput(Port::create<sub_port_blue>(Vec(31,68 + offset), Port::OUTPUT, module, FF_120::OUTPUT_1 + i + 1));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, FF120) {
Model *modelFF120 = Model::create<FF_120, FF120>("SubmarineFree", "FF-120", "FF-120 20-Stage Flip-Flop Counter", LOGIC_TAG, MULTIPLE_TAG);
return modelFF120;
}


+ 0
- 90
plugins/community/repos/SubmarineFree/src/FF-212.cpp View File

@@ -1,90 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct FF_212 : DS_Module {
static const int deviceCount = 12;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_1,
INPUT_2,
INPUT_3,
INPUT_4,
INPUT_5,
INPUT_6,
INPUT_7,
INPUT_8,
INPUT_9,
INPUT_10,
INPUT_11,
INPUT_12,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
OUTPUT_7,
OUTPUT_8,
OUTPUT_9,
OUTPUT_10,
OUTPUT_11,
OUTPUT_12,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};
int state[deviceCount] = {0,0,0,0,0,0,0,0,0,0,0,0};
DS_Schmitt schmittTrigger[deviceCount];

FF_212() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void FF_212::step() {
for (int i = 0; i < deviceCount; i++) {
if (inputs[INPUT_1 + i].active) {
if (schmittTrigger[i].redge(this, inputs[INPUT_1 + i].value))
state[i] = !state[i];
}
else {
if (i) {
if (schmittTrigger[i].redge(this, state[i-1]?voltage0:voltage1))
state[i] = !state[i];
}
}
outputs[OUTPUT_1 + i].value = state[i]?voltage1:voltage0;
}
}

struct FF212 : ModuleWidget {
FF212(FF_212 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/FF-212.svg")));

for (int i = 0; i < FF_212::deviceCount; i++) {
int offset = 29 * i;
addInput(Port::create<sub_port_blue>(Vec(4,19 + offset), Port::INPUT, module, FF_212::INPUT_1 + i));

addOutput(Port::create<sub_port_blue>(Vec(62,19 + offset), Port::OUTPUT, module, FF_212::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, FF212) {
Model *modelFF212 = Model::create<FF_212, FF212>("SubmarineFree", "FF-212", "FF-212 Edge Triggered Flip-Flops", LOGIC_TAG, MULTIPLE_TAG);
return modelFF212;
}

+ 134
- 0
plugins/community/repos/SubmarineFree/src/FF1.cpp View File

@@ -0,0 +1,134 @@
#include <global_pre.hpp>
#include <global.hpp>
#include "DS.hpp"
#include <random>
#include <chrono>

namespace rack_plugin_SubmarineFree {

template <int deviceCount>
struct FF_1 : DS_Module {
int doResetFlag = 0;
int doRandomFlag = 0;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = deviceCount
};
enum LightIds {
NUM_LIGHTS
};
int state[deviceCount] = {};
DS_Schmitt schmittTrigger[deviceCount];

FF_1() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}

void step() override {
if (doResetFlag) doReset();
if (doRandomFlag) doRandomize();
if (inputs[INPUT].active) {
if (schmittTrigger[0].redge(this, inputs[INPUT].value))
state[0] = !state[0];
}
outputs[OUTPUT_1].value = state[0]?voltage1:voltage0;
for (int i = 1; i < deviceCount; i++) {
if (schmittTrigger[i].fedge(this, state[i-1]?voltage1:voltage0))
state[i] = !state[i];
outputs[OUTPUT_1 + i].value = state[i]?voltage1:voltage0;
}
}
void doRandomize() {
doRandomFlag = 0;
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_int_distribution<int> distribution(0,1);
state[0] = distribution(generator);
outputs[OUTPUT_1].value = state[0]?voltage1:voltage0;
for (int i = 1; i < deviceCount; i++) {
state[i] = distribution(generator);
schmittTrigger[i].set(state[i-1]);
outputs[OUTPUT_1 + i].value = state[i]?voltage1:voltage0;
}
}
void doReset() {
doResetFlag = 0;
for (int i = 0; i < deviceCount; i++) {
state[i] = 0;
if (i) schmittTrigger[i].reset();
outputs[OUTPUT_1 + i].value = voltage0;
}
}
void onRandomize() override {
if (rack::global->gPaused) {
doRandomize();
}
else {
doResetFlag = 0;
doRandomFlag = 1;
}
}
void onReset() override {
if (rack::global->gPaused) {
doReset();
}
else {
doRandomFlag = 0;
doResetFlag = 1;
}
}
};

struct FF110 : ModuleWidget {
FF110(FF_1<10> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/FF-110.svg")));

addInput(Port::create<BluePort>(Vec(2.5,19), Port::INPUT, module, FF_1<10>::INPUT));

for (int i = 0; i < 10; i++) {
int offset = 29 * i;

addOutput(Port::create<BluePort>(Vec(2.5,77 + offset), Port::OUTPUT, module, FF_1<10>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

struct FF120 : ModuleWidget {
FF120(FF_1<20> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/FF-120.svg")));

addInput(Port::create<BluePort>(Vec(17.5,19), Port::INPUT, module, FF_1<20>::INPUT));

for (int i = 0; i < 20; i+=2) {
int offset = 15 * i;

addOutput(Port::create<BluePort>(Vec(4,53 + offset), Port::OUTPUT, module, FF_1<20>::OUTPUT_1 + i));
addOutput(Port::create<BluePort>(Vec(31,68 + offset), Port::OUTPUT, module, FF_1<20>::OUTPUT_1 + i + 1));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, FF110) {
Model *modelFF110 = Model::create<FF_1<10>, FF110>("Submarine (Free)", "FF-110", "FF-110 10-Stage Flip-Flop Counter", LOGIC_TAG, MULTIPLE_TAG);
return modelFF110;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, FF120) {
Model *modelFF120 = Model::create<FF_1<20>, FF120>("Submarine (Free)", "FF-120", "FF-120 20-Stage Flip-Flop Counter", LOGIC_TAG, MULTIPLE_TAG);
return modelFF120;
}

+ 131
- 0
plugins/community/repos/SubmarineFree/src/FF2.cpp View File

@@ -0,0 +1,131 @@
#include <global_pre.hpp>
#include <global.hpp>
#include "DS.hpp"
#include <random>
#include <chrono>

namespace rack_plugin_SubmarineFree {

template <int x>
struct FF_2 : DS_Module {
int doResetFlag = 0;
int doRandomFlag = 0;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_1,
NUM_INPUTS = x
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = x
};
enum LightIds {
NUM_LIGHTS
};
int state[x] = {};
DS_Schmitt schmittTrigger[x];

FF_2() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override {
if (doResetFlag) doReset();
if (doRandomFlag) doRandomize();
for (int i = 0; i < x; i++) {
if (inputs[INPUT_1 + i].active) {
if (schmittTrigger[i].redge(this, inputs[INPUT_1 + i].value))
state[i] = !state[i];
}
else {
if (i) {
if (schmittTrigger[i].fedge(this, state[i-1]?voltage1:voltage0))
state[i] = !state[i];
}
}
outputs[OUTPUT_1 + i].value = state[i]?voltage1:voltage0;
}
}
void doRandomize() {
doRandomFlag = 0;
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_int_distribution<int> distribution(0,1);
for (int i = 0; i < x; i++) {
state[i] = distribution(generator);
if (i) if (!inputs[INPUT_1 + i].active) schmittTrigger[i].set(state[i-1]);
outputs[OUTPUT_1 + i].value = state[i]?voltage1:voltage0;
}
}
void doReset() {
doResetFlag = 0;
for (int i = 0; i < x; i++) {
state[i] = 0;
if (!inputs[INPUT_1 + i].active) schmittTrigger[i].reset();
outputs[OUTPUT_1 + i].value = voltage0;
}
}
void onRandomize() override {
if (rack::global->gPaused) {
doRandomize();
}
else {
doResetFlag = 0;
doRandomFlag = 1;
}
}
void onReset() override {
if (rack::global->gPaused) {
doReset();
}
else {
doRandomFlag = 0;
doResetFlag = 1;
}
}
};

struct FF206 : ModuleWidget {
FF206(FF_2<6> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/FF-206.svg")));

for (int i = 0; i < 6; i++) {
int offset = 58 * i;
addInput(Port::create<BluePort>(Vec(2.5,19 + offset), Port::INPUT, module, FF_2<6>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(2.5,47 + offset), Port::OUTPUT, module, FF_2<6>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

struct FF212 : ModuleWidget {
FF212(FF_2<12> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/FF-212.svg")));

for (int i = 0; i < 12; i++) {
int offset = 29 * i;
addInput(Port::create<BluePort>(Vec(4,19 + offset), Port::INPUT, module, FF_2<12>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(62,19 + offset), Port::OUTPUT, module, FF_2<12>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, FF206) {
Model *modelFF206 = Model::create<FF_2<6>, FF206>("Submarine (Free)", "FF-206", "FF-206 Edge Triggered Flip-Flops", LOGIC_TAG, MULTIPLE_TAG);
return modelFF206;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, FF212) {
Model *modelFF212 = Model::create<FF_2<12>, FF212>("Submarine (Free)", "FF-212", "FF-212 Edge Triggered Flip-Flops", LOGIC_TAG, MULTIPLE_TAG);
return modelFF212;
}

plugins/community/repos/SubmarineFree/src/LA-108.cpp → plugins/community/repos/SubmarineFree/src/LA1.cpp View File

@@ -1,10 +1,11 @@
/* Portions of this code derive from Fundamental/src/Scope.cpp - Copyright © 2016 by Andrew Belt */
#include <string.h>
#include "DS.hpp"

#define BUFFER_SIZE 512

namespace rack_plugin_SubmarineFree {

#define BUFFER_SIZE 512

struct LA_108 : DS_Module {
enum ParamIds {
PARAM_TRIGGER,
@@ -55,7 +56,6 @@ struct LA_108 : DS_Module {
int preCount = 0;

DS_Schmitt trigger;
sub_btn *resetButtonWidget;

LA_108() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
@@ -126,7 +126,7 @@ void LA_108::step() {
int triggered = trigger.edge(this, gate, edge);

if (params[PARAM_RUN].value < 0.5f) { // Continuous run mode
resetButtonWidget->setValue(0.0f);
engineSetParam(this, PARAM_RESET, 0.0f);
// Reset if triggered
float holdTime = 0.1f;
if (triggered) {
@@ -144,7 +144,7 @@ void LA_108::step() {
if (params[PARAM_RESET].value > 0.5f) {
if (triggered) {
startFrame();
resetButtonWidget->setValue(0.0f);
engineSetParam(this, PARAM_RESET, 0.0f);
return;
}
}
@@ -309,22 +309,21 @@ struct LA108 : ModuleWidget {
}

for (int i = 0; i < 8; i++) {
addInput(Port::create<sub_port_blue>(Vec(4, 20 + 35 * i), Port::INPUT, module, LA_108::INPUT_1 + i));
addInput(Port::create<BluePort>(Vec(4, 20 + 35 * i), Port::INPUT, module, LA_108::INPUT_1 + i));
addChild(ModuleLightWidget::create<TinyLight<BlueLight>>(Vec(30, 22 + 35 * i), module, LA_108::LIGHT_1 + i));
}

addInput(Port::create<sub_port_blue>(Vec(4, 310), Port::INPUT, module, LA_108::INPUT_EXT));
addInput(Port::create<BluePort>(Vec(4, 310), Port::INPUT, module, LA_108::INPUT_EXT));
addChild(ModuleLightWidget::create<TinyLight<BlueLight>>(Vec(30, 312), module, LA_108::LIGHT_EXT));

addParam(ParamWidget::create<sub_knob_med_snap>(Vec(39, 301), module, LA_108::PARAM_TRIGGER, 0.0f, 8.0f, 0.0f));
addParam(ParamWidget::create<SnapKnob<MedKnob<LightKnob>>>(Vec(39, 301), module, LA_108::PARAM_TRIGGER, 0.0f, 8.0f, 0.0f));
addParam(ParamWidget::create<sub_sw_2>(Vec(82, 308), module, LA_108::PARAM_EDGE, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<sub_sw_2>(Vec(108, 308), module, LA_108::PARAM_RUN, 0.0f, 1.0f, 0.0f));
module->resetButtonWidget = ParamWidget::create<sub_btn>(Vec(151, 312), module, LA_108::PARAM_RESET, 0.0f, 1.0f, 0.0f);
addParam(module->resetButtonWidget);
addParam(ParamWidget::create<sub_knob_med>(Vec(171, 301), module, LA_108::PARAM_TIME, -6.0f, -16.0f, -14.0f));
addParam(ParamWidget::create<sub_knob_small>(Vec(214, 315), module, LA_108::PARAM_INDEX_1, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<sub_knob_small>(Vec(242, 315), module, LA_108::PARAM_INDEX_2, 0.0f, 1.0f, 1.0f));
addParam(ParamWidget::create<sub_knob_small_snap>(Vec(271, 315), module, LA_108::PARAM_PRE, 0.0f, 32.0f, 0.0f));
addParam(ParamWidget::create<sub_btn>(Vec(151, 312), module, LA_108::PARAM_RESET, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(171, 301), module, LA_108::PARAM_TIME, -6.0f, -16.0f, -14.0f));
addParam(ParamWidget::create<SmallKnob<LightKnob>>(Vec(214, 315), module, LA_108::PARAM_INDEX_1, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<SmallKnob<LightKnob>>(Vec(242, 315), module, LA_108::PARAM_INDEX_2, 0.0f, 1.0f, 1.0f));
addParam(ParamWidget::create<SnapKnob<SmallKnob<LightKnob>>>(Vec(271, 315), module, LA_108::PARAM_PRE, 0.0f, 32.0f, 0.0f));
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
@@ -336,6 +335,6 @@ struct LA108 : ModuleWidget {
using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, LA108) {
Model *modelLA108 = Model::create<LA_108, LA108>("SubmarineFree", "LA-108", "LA-108 Logic Analyser", LOGIC_TAG, VISUAL_TAG);
Model *modelLA108 = Model::create<LA_108, LA108>("Submarine (Free)", "LA-108", "LA-108 Logic Analyser", LOGIC_TAG, VISUAL_TAG);
return modelLA108;
}

+ 0
- 123
plugins/community/repos/SubmarineFree/src/LD-106.cpp View File

@@ -1,123 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct LD_106 : DS_Module {
static const int deviceCount = 6;
enum ParamIds {
PARAM_CUTOFF_1,
PARAM_CUTOFF_2,
PARAM_CUTOFF_3,
PARAM_CUTOFF_4,
PARAM_CUTOFF_5,
PARAM_CUTOFF_6,
PARAM_WIDTH_1,
PARAM_WIDTH_2,
PARAM_WIDTH_3,
PARAM_WIDTH_4,
PARAM_WIDTH_5,
PARAM_WIDTH_6,
NUM_PARAMS
};
enum InputIds {
INPUT_1,
INPUT_2,
INPUT_3,
INPUT_4,
INPUT_5,
INPUT_6,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};

DS_Schmitt schmittState[deviceCount];

LD_106() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void LD_106::step() {
for (int i = 0; i < deviceCount; i++) {
outputs[OUTPUT_1 + i].value = output(schmittState[i].state(params[PARAM_CUTOFF_1 + i].value - params[PARAM_WIDTH_1 + i].value, params[PARAM_CUTOFF_1 + i].value + params[PARAM_WIDTH_1 + i].value, inputs[INPUT_1 + i].value));
}
}

struct LD106 : ModuleWidget {
ParamWidget *cutoffWidgets[LD_106::deviceCount];
ParamWidget *widthWidgets[LD_106::deviceCount];
LD106(LD_106 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/LD-106.svg")));

for (int i = 0; i < LD_106::deviceCount; i++) {
int offset = 58 * i;
addInput(Port::create<sub_port>(Vec(4,19 + offset), Port::INPUT, module, LD_106::INPUT_1 + i));

addOutput(Port::create<sub_port_blue>(Vec(62,19 + offset), Port::OUTPUT, module, LD_106::OUTPUT_1 + i));

cutoffWidgets[i] = ParamWidget::create<sub_knob_small>(Vec(4, 47 + offset), module, LD_106::PARAM_CUTOFF_1 + i, -10.0f, 10.0f, 5.0f);
addParam(cutoffWidgets[i]);
widthWidgets[i] = ParamWidget::create<sub_knob_small>(Vec(62, 47 + offset), module, LD_106::PARAM_WIDTH_1 + i, 0.0f, 5.0f, 1.0f);
addParam(widthWidgets[i]);
}
}
void appendContextMenu(Menu *menu) override;
};

struct LDMenuItem: MenuItem {
LD106 *ld106;
float cutoff;
float width;
void onAction(EventAction &e) override {
for (int i = 0; i < LD_106::deviceCount; i++) {
ld106->cutoffWidgets[i]->setValue(cutoff);
ld106->widthWidgets[i]->setValue(width);
}
}
};

void LD106::appendContextMenu(Menu *menu) {
menu->addChild(MenuEntry::create());
LD106 *ld106 = dynamic_cast<LD106*>(this);
assert(ld106);
LDMenuItem *menuItem = MenuItem::create<LDMenuItem>("Cutoff 5V");
menuItem->ld106 = ld106;
menuItem->cutoff = 5.0f;
menuItem->width = 1.0f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem>("Cutoff 0V");
menuItem->ld106 = ld106;
menuItem->cutoff = 0.0f;
menuItem->width = 0.0f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem>("Cutoff 2.5V");
menuItem->ld106 = ld106;
menuItem->cutoff = 2.5f;
menuItem->width = 0.5f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem>("TTL Levels");
menuItem->ld106 = ld106;
menuItem->cutoff = 1.4f;
menuItem->width = 0.6f;
menu->addChild(menuItem);
((LD_106 *)module)->appendContextMenu(menu);
}

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, LD106) {
Model *modelLD106 = Model::create<LD_106, LD106>("SubmarineFree", "LD-106", "LD-106 Schmitt Trigger Line Drivers", LOGIC_TAG, MULTIPLE_TAG);
return modelLD106;
}

+ 168
- 0
plugins/community/repos/SubmarineFree/src/LD1.cpp View File

@@ -0,0 +1,168 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

template <int x>
struct LD_1 : DS_Module {
enum ParamIds {
PARAM_CUTOFF_1,
PARAM_WIDTH_1 = x,
NUM_PARAMS = x + x
};
enum InputIds {
INPUT_1,
NUM_INPUTS = x
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = x
};
enum LightIds {
NUM_LIGHTS
};

DS_Schmitt schmittState[x];

LD_1() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override {
for (int i = 0; i < x; i++) {
outputs[OUTPUT_1 + i].value = output(schmittState[i].state(params[PARAM_CUTOFF_1 + i].value - params[PARAM_WIDTH_1 + i].value, params[PARAM_CUTOFF_1 + i].value + params[PARAM_WIDTH_1 + i].value, inputs[INPUT_1 + i].value));
}
}
};

struct LD103 : ModuleWidget {
static const int deviceCount = 3;
ParamWidget *cutoffWidgets[deviceCount];
ParamWidget *widthWidgets[deviceCount];
LD103(LD_1<deviceCount> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/LD-103.svg")));

for (int i = 0; i < deviceCount; i++) {
int offset = 116 * i;
addInput(Port::create<SilverPort>(Vec(2.5,19 + offset), Port::INPUT, module, LD_1<3>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(2.5,103 + offset), Port::OUTPUT, module, LD_1<3>::OUTPUT_1 + i));

cutoffWidgets[i] = ParamWidget::create<TinyKnob<LightKnob>>(Vec(6, 48.5 + offset), module, LD_1<3>::PARAM_CUTOFF_1 + i, -10.0f, 10.0f, 5.0f);
addParam(cutoffWidgets[i]);
widthWidgets[i] = ParamWidget::create<TinyKnob<LightKnob>>(Vec(6, 80.5 + offset), module, LD_1<3>::PARAM_WIDTH_1 + i, 0.0f, 5.0f, 1.0f);
addParam(widthWidgets[i]);
}
}
void appendContextMenu(Menu *menu) override;
};

struct LDMenuItem3: MenuItem {
LD103 *ld103;
float cutoff;
float width;
void onAction(EventAction &e) override {
for (int i = 0; i < LD103::deviceCount; i++) {
ld103->cutoffWidgets[i]->setValue(cutoff);
ld103->widthWidgets[i]->setValue(width);
}
}
};

void LD103::appendContextMenu(Menu *menu) {
menu->addChild(MenuEntry::create());
LD103 *ld103 = dynamic_cast<LD103*>(this);
assert(ld103);
LDMenuItem3 *menuItem = MenuItem::create<LDMenuItem3>("Cutoff 5V");
menuItem->ld103 = ld103;
menuItem->cutoff = 5.0f;
menuItem->width = 1.0f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem3>("Cutoff 0V");
menuItem->ld103 = ld103;
menuItem->cutoff = 0.0f;
menuItem->width = 0.0f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem3>("Cutoff 2.5V");
menuItem->ld103 = ld103;
menuItem->cutoff = 2.5f;
menuItem->width = 0.5f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem3>("TTL Levels");
menuItem->ld103 = ld103;
menuItem->cutoff = 1.4f;
menuItem->width = 0.6f;
menu->addChild(menuItem);
((DS_Module *)module)->appendContextMenu(menu);
}

struct LD106 : ModuleWidget {
static const int deviceCount = 6;
ParamWidget *cutoffWidgets[deviceCount];
ParamWidget *widthWidgets[deviceCount];
LD106(LD_1<deviceCount> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/LD-106.svg")));

for (int i = 0; i < deviceCount; i++) {
int offset = 58 * i;
addInput(Port::create<SilverPort>(Vec(4,19 + offset), Port::INPUT, module, LD_1<6>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(62,19 + offset), Port::OUTPUT, module, LD_1<6>::OUTPUT_1 + i));

cutoffWidgets[i] = ParamWidget::create<SmallKnob<LightKnob>>(Vec(4, 47 + offset), module, LD_1<6>::PARAM_CUTOFF_1 + i, -10.0f, 10.0f, 5.0f);
addParam(cutoffWidgets[i]);
widthWidgets[i] = ParamWidget::create<SmallKnob<LightKnob>>(Vec(62, 47 + offset), module, LD_1<6>::PARAM_WIDTH_1 + i, 0.0f, 5.0f, 1.0f);
addParam(widthWidgets[i]);
}
}
void appendContextMenu(Menu *menu) override;
};

struct LDMenuItem: MenuItem {
LD106 *ld106;
float cutoff;
float width;
void onAction(EventAction &e) override {
for (int i = 0; i < LD106::deviceCount; i++) {
ld106->cutoffWidgets[i]->setValue(cutoff);
ld106->widthWidgets[i]->setValue(width);
}
}
};

void LD106::appendContextMenu(Menu *menu) {
menu->addChild(MenuEntry::create());
LD106 *ld106 = dynamic_cast<LD106*>(this);
assert(ld106);
LDMenuItem *menuItem = MenuItem::create<LDMenuItem>("Cutoff 5V");
menuItem->ld106 = ld106;
menuItem->cutoff = 5.0f;
menuItem->width = 1.0f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem>("Cutoff 0V");
menuItem->ld106 = ld106;
menuItem->cutoff = 0.0f;
menuItem->width = 0.0f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem>("Cutoff 2.5V");
menuItem->ld106 = ld106;
menuItem->cutoff = 2.5f;
menuItem->width = 0.5f;
menu->addChild(menuItem);
menuItem = MenuItem::create<LDMenuItem>("TTL Levels");
menuItem->ld106 = ld106;
menuItem->cutoff = 1.4f;
menuItem->width = 0.6f;
menu->addChild(menuItem);
((DS_Module *)module)->appendContextMenu(menu);
}

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, LD103) {
Model *modelLD103 = Model::create<LD_1<3>, LD103>("Submarine (Free)", "LD-103", "LD-103 Schmitt Trigger Line Drivers", LOGIC_TAG, MULTIPLE_TAG);
return modelLD103;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, LD106) {
Model *modelLD106 = Model::create<LD_1<6>, LD106>("Submarine (Free)", "LD-106", "LD-106 Schmitt Trigger Line Drivers", LOGIC_TAG, MULTIPLE_TAG);
return modelLD106;
}

+ 0
- 77
plugins/community/repos/SubmarineFree/src/NG-112.cpp View File

@@ -1,77 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct NG_112 : DS_Module {
static const int deviceCount = 12;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_1,
INPUT_2,
INPUT_3,
INPUT_4,
INPUT_5,
INPUT_6,
INPUT_7,
INPUT_8,
INPUT_9,
INPUT_10,
INPUT_11,
INPUT_12,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
OUTPUT_7,
OUTPUT_8,
OUTPUT_9,
OUTPUT_10,
OUTPUT_11,
OUTPUT_12,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};

NG_112() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void NG_112::step() {
for (int i = 0; i < deviceCount; i++) {
outputs[OUTPUT_1 + i].value = (inputs[INPUT_1 + i].value < midpoint())?voltage1:voltage0;
}
}

struct NG112 : ModuleWidget {
NG112(NG_112 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/NG-112.svg")));

for (int i = 0; i < NG_112::deviceCount; i++) {
int offset = 29 * i;
addInput(Port::create<sub_port_blue>(Vec(4,19 + offset), Port::INPUT, module, NG_112::INPUT_1 + i));

addOutput(Port::create<sub_port_blue>(Vec(62,19 + offset), Port::OUTPUT, module, NG_112::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, NG112) {
Model *modelNG112 = Model::create<NG_112, NG112>("SubmarineFree", "NG-112", "NG-112 NOT Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelNG112;
}

+ 74
- 0
plugins/community/repos/SubmarineFree/src/NG1.cpp View File

@@ -0,0 +1,74 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

template <int x>
struct NG_1 : DS_Module {
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_1,
NUM_INPUTS = x
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = x
};
enum LightIds {
NUM_LIGHTS
};

NG_1() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override {
for (int i = 0; i < x; i++) {
outputs[OUTPUT_1 + i].value = (inputs[INPUT_1 + i].value < midpoint())?voltage1:voltage0;
}
}
};

struct NG106 : ModuleWidget {
NG106(NG_1<6> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/NG-106.svg")));

for (int i = 0; i < 6; i++) {
int offset = 58 * i;
addInput(Port::create<BluePort>(Vec(2.5,19 + offset), Port::INPUT, module, NG_1<6>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(2.5,47 + offset), Port::OUTPUT, module, NG_1<6>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

struct NG112 : ModuleWidget {
NG112(NG_1<12> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/NG-112.svg")));

for (int i = 0; i < 12; i++) {
int offset = 29 * i;
addInput(Port::create<BluePort>(Vec(4,19 + offset), Port::INPUT, module, NG_1<12>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(62,19 + offset), Port::OUTPUT, module, NG_1<12>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, NG106) {
Model *modelNG106 = Model::create<NG_1<6>, NG106>("Submarine (Free)", "NG-106", "NG-106 NOT Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelNG106;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, NG112) {
Model *modelNG112 = Model::create<NG_1<12>, NG112>("Submarine (Free)", "NG-112", "NG-112 NOT Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelNG112;
}

+ 0
- 82
plugins/community/repos/SubmarineFree/src/OG-106.cpp View File

@@ -1,82 +0,0 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

struct OG_106 : DS_Module {
static const int deviceCount = 6;
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_A_1,
INPUT_A_2,
INPUT_A_3,
INPUT_A_4,
INPUT_A_5,
INPUT_A_6,
INPUT_B_1,
INPUT_B_2,
INPUT_B_3,
INPUT_B_4,
INPUT_B_5,
INPUT_B_6,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};

OG_106() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void OG_106::step() {
int setCount = 0;
for (int i = 0; i < deviceCount; i++) {
if (inputs[INPUT_A_1 + i].active)
if (inputs[INPUT_A_1 + i].value > midpoint())
setCount++;
if (inputs[INPUT_B_1 + i].active)
if (inputs[INPUT_B_1 + i].value > midpoint())
setCount++;
if (outputs[OUTPUT_1 + i].active) {
outputs[OUTPUT_1 + i].value = (setCount > 0)?voltage1:voltage0;
setCount = 0;
}
}
}

struct OG106 : ModuleWidget {
OG106(OG_106 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/OG-106.svg")));

for (int i = 0; i < OG_106::deviceCount; i++) {
int offset = 58 * i;
addInput(Port::create<sub_port_blue>(Vec(4,19 + offset), Port::INPUT, module, OG_106::INPUT_A_1 + i));
addInput(Port::create<sub_port_blue>(Vec(4,47 + offset), Port::INPUT, module, OG_106::INPUT_B_1 + i));

addOutput(Port::create<sub_port_blue>(Vec(62,33 + offset), Port::OUTPUT, module, OG_106::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, OG106) {
Model *modelOG106 = Model::create<OG_106, OG106>("SubmarineFree", "OG-106", "OG-106 OR Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelOG106;
}

+ 87
- 0
plugins/community/repos/SubmarineFree/src/OG1.cpp View File

@@ -0,0 +1,87 @@
#include "DS.hpp"

namespace rack_plugin_SubmarineFree {

template <int x>
struct OG_1 : DS_Module {
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_A_1,
INPUT_B_1 = x,
NUM_INPUTS = x + x
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = x
};
enum LightIds {
NUM_LIGHTS
};

OG_1() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override {
int setCount = 0;
for (int i = 0; i < x; i++) {
if (inputs[INPUT_A_1 + i].active)
if (inputs[INPUT_A_1 + i].value > midpoint())
setCount++;
if (inputs[INPUT_B_1 + i].active)
if (inputs[INPUT_B_1 + i].value > midpoint())
setCount++;
if (outputs[OUTPUT_1 + i].active) {
outputs[OUTPUT_1 + i].value = (setCount > 0)?voltage1:voltage0;
setCount = 0;
}
}
}
};

struct OG104 : ModuleWidget {
OG104(OG_1<4> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/OG-104.svg")));

for (int i = 0; i < 4; i++) {
int offset = 87 * i;
addInput(Port::create<BluePort>(Vec(2.5,19 + offset), Port::INPUT, module, OG_1<4>::INPUT_A_1 + i));
addInput(Port::create<BluePort>(Vec(2.5,47 + offset), Port::INPUT, module, OG_1<4>::INPUT_B_1 + i));

addOutput(Port::create<BluePort>(Vec(2.5,75 + offset), Port::OUTPUT, module, OG_1<4>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

struct OG106 : ModuleWidget {
OG106(OG_1<6> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/OG-106.svg")));

for (int i = 0; i < 6; i++) {
int offset = 58 * i;
addInput(Port::create<BluePort>(Vec(4,19 + offset), Port::INPUT, module, OG_1<6>::INPUT_A_1 + i));
addInput(Port::create<BluePort>(Vec(4,47 + offset), Port::INPUT, module, OG_1<6>::INPUT_B_1 + i));

addOutput(Port::create<BluePort>(Vec(62,33 + offset), Port::OUTPUT, module, OG_1<6>::OUTPUT_1 + i));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, OG104) {
Model *modelOG104 = Model::create<OG_1<4>, OG104>("Submarine (Free)", "OG-104", "OG-104 OR Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelOG104;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, OG106) {
Model *modelOG106 = Model::create<OG_1<6>, OG106>("Submarine (Free)", "OG-106", "OG-106 OR Gates", LOGIC_TAG, MULTIPLE_TAG);
return modelOG106;
}

+ 0
- 102
plugins/community/repos/SubmarineFree/src/PG-112.cpp View File

@@ -1,102 +0,0 @@
#include "DS.hpp"
#include "dsp/digital.hpp"

namespace rack_plugin_SubmarineFree {

struct PG_112 : DS_Module {
static const int deviceCount = 12;
enum ParamIds {
PARAM_1,
PARAM_2,
PARAM_3,
PARAM_4,
PARAM_5,
PARAM_6,
PARAM_7,
PARAM_8,
PARAM_9,
PARAM_10,
PARAM_11,
PARAM_12,
NUM_PARAMS
};
enum InputIds {
INPUT_1,
INPUT_2,
INPUT_3,
INPUT_4,
INPUT_5,
INPUT_6,
INPUT_7,
INPUT_8,
INPUT_9,
INPUT_10,
INPUT_11,
INPUT_12,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
OUTPUT_7,
OUTPUT_8,
OUTPUT_9,
OUTPUT_10,
OUTPUT_11,
OUTPUT_12,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};
DS_Schmitt schmitt[deviceCount];
PulseGenerator pulse[deviceCount];

PG_112() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
};

void PG_112::step() {
float deltaTime = 1.0f / engineGetSampleRate();
for (int i = 0; i < deviceCount; i++) {
if (schmitt[i].redge(this, inputs[INPUT_1 + i].value)) {
pulse[i].process(deltaTime);
pulse[i].trigger(powf(10.0f, params[PARAM_1 + i].value));
outputs[OUTPUT_1 + i].value = voltage1;
}
else {
outputs[OUTPUT_1 + i].value = pulse[i].process(deltaTime)?voltage1:voltage0;
}
}
}

struct PG112 : ModuleWidget {
PG112(PG_112 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/PG-112.svg")));

for (int i = 0; i < PG_112::deviceCount; i++) {
int offset = 29 * i;
addInput(Port::create<sub_port_blue>(Vec(4,19 + offset), Port::INPUT, module, PG_112::INPUT_1 + i));

addOutput(Port::create<sub_port_blue>(Vec(92,19 + offset), Port::OUTPUT, module, PG_112::OUTPUT_1 + i));

addParam(ParamWidget::create<sub_knob_small>(Vec(33,19.5 + offset), module, PG_112::PARAM_1 + i, -5.0f, 2.0f, -2.0f));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, PG112) {
Model *modelPG112 = Model::create<PG_112, PG112>("SubmarineFree", "PG-112", "PG-112 Pulse Generators", LOGIC_TAG, MULTIPLE_TAG);
return modelPG112;
}

+ 90
- 0
plugins/community/repos/SubmarineFree/src/PG1.cpp View File

@@ -0,0 +1,90 @@
#include "DS.hpp"
#include "dsp/digital.hpp"

namespace rack_plugin_SubmarineFree {

template <int x>
struct PG_1 : DS_Module {
enum ParamIds {
PARAM_1,
NUM_PARAMS = x
};
enum InputIds {
INPUT_1,
NUM_INPUTS = x
};
enum OutputIds {
OUTPUT_1,
NUM_OUTPUTS = x
};
enum LightIds {
NUM_LIGHTS
};
DS_Schmitt schmitt[x];
PulseGenerator pulse[x];

PG_1() : DS_Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override {
float deltaTime = 1.0f / engineGetSampleRate();
for (int i = 0; i < x; i++) {
if (schmitt[i].redge(this, inputs[INPUT_1 + i].value)) {
pulse[i].process(deltaTime);
pulse[i].trigger(powf(10.0f, params[PARAM_1 + i].value));
outputs[OUTPUT_1 + i].value = voltage1;
}
else {
outputs[OUTPUT_1 + i].value = pulse[i].process(deltaTime)?voltage1:voltage0;
}
}
}
};

struct PG104 : ModuleWidget {
PG104(PG_1<4> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/PG-104.svg")));

for (int i = 0; i < 4; i++) {
int offset = 87 * i;
addInput(Port::create<BluePort>(Vec(2.5,19 + offset), Port::INPUT, module, PG_1<4>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(2.5,75 + offset), Port::OUTPUT, module, PG_1<4>::OUTPUT_1 + i));

addParam(ParamWidget::create<SmallKnob<LightKnob>>(Vec(3,47.5 + offset), module, PG_1<4>::PARAM_1 + i, -5.0f, 2.0f, -2.0f));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

struct PG112 : ModuleWidget {
PG112(PG_1<12> *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/PG-112.svg")));

for (int i = 0; i < 12; i++) {
int offset = 29 * i;
addInput(Port::create<BluePort>(Vec(4,19 + offset), Port::INPUT, module, PG_1<12>::INPUT_1 + i));

addOutput(Port::create<BluePort>(Vec(92,19 + offset), Port::OUTPUT, module, PG_1<12>::OUTPUT_1 + i));

addParam(ParamWidget::create<SmallKnob<LightKnob>>(Vec(33,19.5 + offset), module, PG_1<12>::PARAM_1 + i, -5.0f, 2.0f, -2.0f));
}
}
void appendContextMenu(Menu *menu) override {
((DS_Module *)module)->appendContextMenu(menu);
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, PG104) {
Model *modelPG104 = Model::create<PG_1<4>, PG104>("Submarine (Free)", "PG-104", "PG-104 Pulse Generators", LOGIC_TAG, MULTIPLE_TAG);
return modelPG104;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, PG112) {
Model *modelPG112 = Model::create<PG_1<12>, PG112>("Submarine (Free)", "PG-112", "PG-112 Pulse Generators", LOGIC_TAG, MULTIPLE_TAG);
return modelPG112;
}

+ 509
- 0
plugins/community/repos/SubmarineFree/src/PO12.cpp View File

@@ -0,0 +1,509 @@
#include "SubmarineFree.hpp"
#include "dsp/functions.hpp"

namespace rack_plugin_SubmarineFree {

struct PO_Util {
static constexpr float deg0 = 0.0f;
static constexpr float deg30 = M_PI / 6.0f;
static constexpr float deg45 = M_PI / 4.0f;
static constexpr float deg60 = M_PI / 3.0f;
static constexpr float deg90 = M_PI / 2.0f;
static constexpr float deg120 = 2.0f * M_PI / 3.0f;
static constexpr float deg135 = 3.0f * M_PI / 4.0f;
static constexpr float deg150 = 5.0f * M_PI / 6.0f;
static constexpr float ph0 = 0.0f;
static constexpr float ph30 = 1.0f / 12.0f;
static constexpr float ph45 = 0.125f;
static constexpr float ph60 = 1.0f / 6.0f;
static constexpr float ph90 = 0.25f;
static constexpr float ph120 = 1.0f / 3.0f;
static constexpr float ph135 = 0.375f;
static constexpr float ph150 = 5.0f / 12.0f;
static constexpr float ph180 = 0.5f;
static constexpr float ph210 = 7.0f / 12.0f;
static constexpr float ph225 = 0.625;
static constexpr float ph240 = 2.0f / 3.0f;
static constexpr float ph270 = 0.75f;
static constexpr float ph300 = 5.0f / 6.0f;
static constexpr float ph315 = 0.875f;
static constexpr float ph330 = 11.0f / 12.0f;

float sin(float phase);
float tri(float phase);
float saw(float phase);
float sqr(float phase);
float rsn(float phase);
};

float PO_Util::sin(float phase) {
return 5.0f * sinf(phase);
}

float PO_Util::tri(float phase) {
phase -= floor(phase);
if (phase < 0.25f)
return 20.0f * phase;
if (phase < 0.75f)
return 20.0f * (0.5f - phase);
return 20.0f * (phase - 1.0f);
}

float PO_Util::saw(float phase) {
phase -= floor(phase);
if (phase < 0.5f)
return 10.0f * phase;
return 10.0f * (phase - 1.0f);
}

float PO_Util::sqr(float phase) {
phase -= floor(phase);
return (phase < 0.5f)?5.0f:-5.0f;
}

float PO_Util::rsn(float phase) {
return 10.0f * fabs(sinf(phase)) - 5.0f;
}

struct PO_101 : Module, PO_Util {
enum ParamIds {
PARAM_TUNE,
PARAM_FINE,
PARAM_WAVE,
PARAM_PHASE_1,
PARAM_PHASE_2,
PARAM_PHASE_3,
PARAM_PHASE_4,
NUM_PARAMS
};
enum InputIds {
INPUT_NOTE_CV,
INPUT_PHASE_1,
INPUT_PHASE_2,
INPUT_PHASE_3,
INPUT_PHASE_4,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
OUTPUT_5,
OUTPUT_6,
OUTPUT_7,
OUTPUT_8,
OUTPUT_9,
OUTPUT_10,
OUTPUT_11,
OUTPUT_12,
OUTPUT_13,
OUTPUT_14,
OUTPUT_15,
OUTPUT_16,
OUTPUT_17,
OUTPUT_18,
OUTPUT_19,
OUTPUT_20,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};

PO_101() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
void sin(float phase);
void tri(float phase);
void saw(float phase);
void sqr(float phase);
void rsn(float phase);
float phase = 0.0f;
float baseFreq = 261.626f;
};

void PO_101::sin(float phase) {
phase *= (2 * M_PI);
if (outputs[OUTPUT_1].active || outputs[OUTPUT_9].active)
outputs[OUTPUT_9].value = -(outputs[OUTPUT_1].value = PO_Util::sin(phase + deg0));
if (outputs[OUTPUT_2].active || outputs[OUTPUT_10].active)
outputs[OUTPUT_10].value = -(outputs[OUTPUT_2].value = PO_Util::sin(phase + deg30));
if (outputs[OUTPUT_3].active || outputs[OUTPUT_11].active)
outputs[OUTPUT_11].value = -(outputs[OUTPUT_3].value = PO_Util::sin(phase + deg45));
if (outputs[OUTPUT_4].active || outputs[OUTPUT_12].active)
outputs[OUTPUT_12].value = -(outputs[OUTPUT_4].value = PO_Util::sin(phase + deg60));
if (outputs[OUTPUT_5].active || outputs[OUTPUT_13].active)
outputs[OUTPUT_13].value = -(outputs[OUTPUT_5].value = PO_Util::sin(phase + deg90));
if (outputs[OUTPUT_6].active || outputs[OUTPUT_14].active)
outputs[OUTPUT_14].value = -(outputs[OUTPUT_6].value = PO_Util::sin(phase + deg120));
if (outputs[OUTPUT_7].active || outputs[OUTPUT_15].active)
outputs[OUTPUT_15].value = -(outputs[OUTPUT_7].value = PO_Util::sin(phase + deg135));
if (outputs[OUTPUT_8].active || outputs[OUTPUT_16].active)
outputs[OUTPUT_16].value = -(outputs[OUTPUT_8].value = PO_Util::sin(phase + deg150));
for (int i = 0; i < 4; i++) {
if (outputs[OUTPUT_17 + i].active) {
float offset = params[PARAM_PHASE_1 + i].value;
if (inputs[INPUT_PHASE_1 + i].active)
offset += inputs[INPUT_PHASE_1 + i].value * 0.4f;
offset *= 2 * M_PI;
outputs[OUTPUT_17 + i].value = PO_Util::sin(phase + offset);
}
}
}

void PO_101::tri(float phase) {
if (outputs[OUTPUT_1].active || outputs[OUTPUT_9].active)
outputs[OUTPUT_9].value = -(outputs[OUTPUT_1].value = PO_Util::tri(phase + ph0));
if (outputs[OUTPUT_2].active || outputs[OUTPUT_10].active)
outputs[OUTPUT_10].value = -(outputs[OUTPUT_2].value = PO_Util::tri(phase + ph30));
if (outputs[OUTPUT_3].active || outputs[OUTPUT_11].active)
outputs[OUTPUT_11].value = -(outputs[OUTPUT_3].value = PO_Util::tri(phase + ph45));
if (outputs[OUTPUT_4].active || outputs[OUTPUT_12].active)
outputs[OUTPUT_12].value = -(outputs[OUTPUT_4].value = PO_Util::tri(phase + ph60));
if (outputs[OUTPUT_5].active || outputs[OUTPUT_13].active)
outputs[OUTPUT_13].value = -(outputs[OUTPUT_5].value = PO_Util::tri(phase + ph90));
if (outputs[OUTPUT_6].active || outputs[OUTPUT_14].active)
outputs[OUTPUT_14].value = -(outputs[OUTPUT_6].value = PO_Util::tri(phase + ph120));
if (outputs[OUTPUT_7].active || outputs[OUTPUT_15].active)
outputs[OUTPUT_15].value = -(outputs[OUTPUT_7].value = PO_Util::tri(phase + ph135));
if (outputs[OUTPUT_8].active || outputs[OUTPUT_16].active)
outputs[OUTPUT_16].value = -(outputs[OUTPUT_8].value = PO_Util::tri(phase + ph150));
for (int i = 0; i < 4; i++) {
if (outputs[OUTPUT_17 + i].active) {
float offset = params[PARAM_PHASE_1 + i].value;
if (inputs[INPUT_PHASE_1 + i].active)
offset += inputs[INPUT_PHASE_1 + i].value * 0.4f;
outputs[OUTPUT_17 + i].value = PO_Util::tri(phase + offset);
}
}
}

void PO_101::saw(float phase) {
if (outputs[OUTPUT_1].active)
outputs[OUTPUT_1].value = PO_Util::saw(phase + ph0);
if (outputs[OUTPUT_2].active)
outputs[OUTPUT_2].value = PO_Util::saw(phase + ph30);
if (outputs[OUTPUT_3].active)
outputs[OUTPUT_3].value = PO_Util::saw(phase + ph45);
if (outputs[OUTPUT_4].active)
outputs[OUTPUT_4].value = PO_Util::saw(phase + ph60);
if (outputs[OUTPUT_5].active)
outputs[OUTPUT_5].value = PO_Util::saw(phase + ph90);
if (outputs[OUTPUT_6].active)
outputs[OUTPUT_6].value = PO_Util::saw(phase + ph120);
if (outputs[OUTPUT_7].active)
outputs[OUTPUT_7].value = PO_Util::saw(phase + ph135);
if (outputs[OUTPUT_8].active)
outputs[OUTPUT_8].value = PO_Util::saw(phase + ph150);
if (outputs[OUTPUT_9].active)
outputs[OUTPUT_9].value = PO_Util::saw(phase + ph180);
if (outputs[OUTPUT_10].active)
outputs[OUTPUT_10].value = PO_Util::saw(phase + ph210);
if (outputs[OUTPUT_11].active)
outputs[OUTPUT_11].value = PO_Util::saw(phase + ph225);
if (outputs[OUTPUT_12].active)
outputs[OUTPUT_12].value = PO_Util::saw(phase + ph240);
if (outputs[OUTPUT_13].active)
outputs[OUTPUT_13].value = PO_Util::saw(phase + ph270);
if (outputs[OUTPUT_14].active)
outputs[OUTPUT_14].value = PO_Util::saw(phase + ph300);
if (outputs[OUTPUT_15].active)
outputs[OUTPUT_15].value = PO_Util::saw(phase + ph315);
if (outputs[OUTPUT_16].active)
outputs[OUTPUT_16].value = PO_Util::saw(phase + ph330);
for (int i = 0; i < 4; i++) {
if (outputs[OUTPUT_17 + i].active) {
float offset = params[PARAM_PHASE_1 + i].value;
if (inputs[INPUT_PHASE_1 + i].active)
offset += inputs[INPUT_PHASE_1 + i].value * 0.4f;
outputs[OUTPUT_17 + i].value = PO_Util::saw(phase + offset);
}
}
}

void PO_101::sqr(float phase) {
if (outputs[OUTPUT_1].active || outputs[OUTPUT_9].active)
outputs[OUTPUT_9].value = -(outputs[OUTPUT_1].value = PO_Util::sqr(phase + ph0));
if (outputs[OUTPUT_2].active || outputs[OUTPUT_10].active)
outputs[OUTPUT_10].value = -(outputs[OUTPUT_2].value = PO_Util::sqr(phase + ph30));
if (outputs[OUTPUT_3].active || outputs[OUTPUT_11].active)
outputs[OUTPUT_11].value = -(outputs[OUTPUT_3].value = PO_Util::sqr(phase + ph45));
if (outputs[OUTPUT_4].active || outputs[OUTPUT_12].active)
outputs[OUTPUT_12].value = -(outputs[OUTPUT_4].value = PO_Util::sqr(phase + ph60));
if (outputs[OUTPUT_5].active || outputs[OUTPUT_13].active)
outputs[OUTPUT_13].value = -(outputs[OUTPUT_5].value = PO_Util::sqr(phase + ph90));
if (outputs[OUTPUT_6].active || outputs[OUTPUT_14].active)
outputs[OUTPUT_14].value = -(outputs[OUTPUT_6].value = PO_Util::sqr(phase + ph120));
if (outputs[OUTPUT_7].active || outputs[OUTPUT_15].active)
outputs[OUTPUT_15].value = -(outputs[OUTPUT_7].value = PO_Util::sqr(phase + ph135));
if (outputs[OUTPUT_8].active || outputs[OUTPUT_16].active)
outputs[OUTPUT_16].value = -(outputs[OUTPUT_8].value = PO_Util::sqr(phase + ph150));
for (int i = 0; i < 4; i++) {
if (outputs[OUTPUT_17 + i].active) {
float offset = params[PARAM_PHASE_1 + i].value;
if (inputs[INPUT_PHASE_1 + i].active)
offset += inputs[INPUT_PHASE_1 + i].value * 0.4f;
outputs[OUTPUT_17 + i].value = PO_Util::sqr(phase + offset);
}
}
}
void PO_101::rsn(float phase) {
phase *= (2 * M_PI);
if (outputs[OUTPUT_1].active || outputs[OUTPUT_9].active)
outputs[OUTPUT_9].value = (outputs[OUTPUT_1].value = PO_Util::rsn(phase + deg0));
if (outputs[OUTPUT_2].active || outputs[OUTPUT_10].active)
outputs[OUTPUT_10].value = (outputs[OUTPUT_2].value = PO_Util::rsn(phase + deg30));
if (outputs[OUTPUT_3].active || outputs[OUTPUT_11].active)
outputs[OUTPUT_11].value = (outputs[OUTPUT_3].value = PO_Util::rsn(phase + deg45));
if (outputs[OUTPUT_4].active || outputs[OUTPUT_12].active)
outputs[OUTPUT_12].value = (outputs[OUTPUT_4].value = PO_Util::rsn(phase + deg60));
if (outputs[OUTPUT_5].active || outputs[OUTPUT_13].active)
outputs[OUTPUT_13].value = (outputs[OUTPUT_5].value = PO_Util::rsn(phase + deg90));
if (outputs[OUTPUT_6].active || outputs[OUTPUT_14].active)
outputs[OUTPUT_14].value = (outputs[OUTPUT_6].value = PO_Util::rsn(phase + deg120));
if (outputs[OUTPUT_7].active || outputs[OUTPUT_15].active)
outputs[OUTPUT_15].value = (outputs[OUTPUT_7].value = PO_Util::rsn(phase + deg135));
if (outputs[OUTPUT_8].active || outputs[OUTPUT_16].active)
outputs[OUTPUT_16].value = (outputs[OUTPUT_8].value = PO_Util::rsn(phase + deg150));
for (int i = 0; i < 4; i++) {
if (outputs[OUTPUT_17 + i].active) {
float offset = params[PARAM_PHASE_1 + i].value;
if (inputs[INPUT_PHASE_1 + i].active)
offset += inputs[INPUT_PHASE_1 + i].value * 0.4f;
offset *= 2 * M_PI;
outputs[OUTPUT_17 + i].value = PO_Util::rsn(phase + offset);
}
}
}

void PO_101::step() {
float freq = baseFreq * powf(2.0f, (params[PARAM_TUNE].value + 3.0f * quadraticBipolar(params[PARAM_FINE].value)) / 12.0f + (inputs[INPUT_NOTE_CV].active?inputs[INPUT_NOTE_CV].value:0.0f));
float deltaTime = freq / engineGetSampleRate();
phase += deltaTime;
double intPart;
phase = modf(phase, &intPart);
{
float waveShape = clamp(params[PARAM_WAVE].value, 0.0f, 4.0f);
if (waveShape < 0.5f)
sin(phase);
else if (waveShape < 1.5f)
tri(phase);
else if (waveShape < 2.5f)
saw(phase);
else if (waveShape < 3.5f)
sqr(phase);
else
rsn(phase);
}

}

struct PO_204 : Module, PO_Util {
enum ParamIds {
PARAM_TUNE,
PARAM_FINE,
PARAM_WAVE_1,
PARAM_WAVE_2,
PARAM_WAVE_3,
PARAM_WAVE_4,
PARAM_PHASE_1,
PARAM_PHASE_2,
PARAM_PHASE_3,
PARAM_PHASE_4,
PARAM_MULT_1,
PARAM_MULT_2,
PARAM_MULT_3,
PARAM_MULT_4,
NUM_PARAMS
};
enum InputIds {
INPUT_TUNE,
INPUT_WAVE_1,
INPUT_WAVE_2,
INPUT_WAVE_3,
INPUT_WAVE_4,
INPUT_PHASE_1,
INPUT_PHASE_2,
INPUT_PHASE_3,
INPUT_PHASE_4,
INPUT_MULT_1,
INPUT_MULT_2,
INPUT_MULT_3,
INPUT_MULT_4,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_1,
OUTPUT_2,
OUTPUT_3,
OUTPUT_4,
NUM_OUTPUTS
};
enum LightIds {
NUM_LIGHTS
};

PO_204() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
void step() override;
float phase = 0.0f;
float baseFreq = 261.626f;
};

void PO_204::step() {
float freq = baseFreq * powf(2.0f, (params[PARAM_TUNE].value + 3.0f * quadraticBipolar(params[PARAM_FINE].value)) / 12.0f + (inputs[INPUT_TUNE].active?inputs[INPUT_TUNE].value:0.0f));
float deltaTime = freq / engineGetSampleRate();
phase += deltaTime;
double intPart;
phase = modf(phase, &intPart);
for (int i = 0; i < 4; i++) {
if (outputs[OUTPUT_1 + i].active) {
float offset = phase + params[PARAM_PHASE_1 + i].value;
if (inputs[INPUT_PHASE_1 + i].active)
offset += inputs[INPUT_PHASE_1 + i].value * 0.4f;
offset *= floor(clamp(params[PARAM_MULT_1 + i].value + (inputs[INPUT_MULT_1 + i].active?inputs[INPUT_MULT_1 + i].value:0.0f) * 16.0f / 10.0f, 1.0f, 16.5f));
float wave = params[PARAM_WAVE_1 + i].value + (inputs[INPUT_WAVE_1 + i].active?inputs[INPUT_WAVE_1 + i].value:0.0f);
double waveSection;
wave = modf(clamp(wave, 0.0f, 10.0f), &waveSection);
float w1 = 0.0f;
float w2 = 0.0f;
switch ((int)waveSection) {
case 0:
w1 = PO_Util::sin(offset * 2 * M_PI);
w2 = PO_Util::saw(offset);
break;
case 1:
w1 = PO_Util::saw(offset);
w2 = PO_Util::rsn(offset * 2 * M_PI);
break;
case 2:
w1 = PO_Util::rsn(offset * 2 * M_PI);
w2 = PO_Util::tri(offset);
break;
case 3:
w1 = PO_Util::tri(offset);
w2 = PO_Util::sqr(offset);
break;
case 4:
w1 = PO_Util::sqr(offset);
w2 = PO_Util::sin(offset * 2 * M_PI);
break;
case 5:
w1 = PO_Util::sin(offset * 2 * M_PI);
w2 = PO_Util::tri(offset);
break;
case 6:
w1 = PO_Util::tri(offset);
w2 = PO_Util::saw(offset);
break;
case 7:
w1 = PO_Util::saw(offset);
w2 = PO_Util::sqr(offset);
break;
case 8:
w1 = PO_Util::sqr(offset);
w2 = PO_Util::rsn(offset * 2 * M_PI);
break;
case 9:
w1 = PO_Util::rsn(offset * 2 * M_PI);
w2 = PO_Util::sin(offset * 2 * M_PI);
break;
default:
w2 = w1 = PO_Util::sin(offset * 2 * M_PI);
break;
}
outputs[OUTPUT_1 + i].value = w1 * (1.0f - wave) + w2 * wave;
}
}
}

struct PO_Layout : ModuleWidget {
PO_Layout(PO_101 *module) : ModuleWidget(module) {}
void Layout() {
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(66, 39), module, PO_101::PARAM_FINE, -1.0f, +1.0f, 0.0f));
addParam(ParamWidget::create<NarrowKnob<SnapKnob<MedKnob<LightKnob>>>>(Vec(121, 39), module, PO_101::PARAM_WAVE, 0.0f, +4.0f, 0.0f));

addInput(Port::create<SilverPort>(Vec(45,19), Port::INPUT, module, PO_101::INPUT_NOTE_CV));

addOutput(Port::create<SilverPort>(Vec(77.5,100), Port::OUTPUT, module, PO_101::OUTPUT_1));
addOutput(Port::create<SilverPort>(Vec(110,109), Port::OUTPUT, module, PO_101::OUTPUT_2));
addOutput(Port::create<SilverPort>(Vec(142.5,100), Port::OUTPUT, module, PO_101::OUTPUT_3));
addOutput(Port::create<SilverPort>(Vec(133.5,132.5), Port::OUTPUT, module, PO_101::OUTPUT_4));
addOutput(Port::create<SilverPort>(Vec(142.5,165), Port::OUTPUT, module, PO_101::OUTPUT_5));
addOutput(Port::create<SilverPort>(Vec(133.5,197.5), Port::OUTPUT, module, PO_101::OUTPUT_6));
addOutput(Port::create<SilverPort>(Vec(142.5,230), Port::OUTPUT, module, PO_101::OUTPUT_7));
addOutput(Port::create<SilverPort>(Vec(110,221), Port::OUTPUT, module, PO_101::OUTPUT_8));
addOutput(Port::create<SilverPort>(Vec(77.5,230), Port::OUTPUT, module, PO_101::OUTPUT_9));
addOutput(Port::create<SilverPort>(Vec(45,221), Port::OUTPUT, module, PO_101::OUTPUT_10));
addOutput(Port::create<SilverPort>(Vec(12.5,230), Port::OUTPUT, module, PO_101::OUTPUT_11));
addOutput(Port::create<SilverPort>(Vec(21.5,197.5), Port::OUTPUT, module, PO_101::OUTPUT_12));
addOutput(Port::create<SilverPort>(Vec(12.5,165), Port::OUTPUT, module, PO_101::OUTPUT_13));
addOutput(Port::create<SilverPort>(Vec(21.5,132.5), Port::OUTPUT, module, PO_101::OUTPUT_14));
addOutput(Port::create<SilverPort>(Vec(12.5,100), Port::OUTPUT, module, PO_101::OUTPUT_15));
addOutput(Port::create<SilverPort>(Vec(45,109), Port::OUTPUT, module, PO_101::OUTPUT_16));

for (int i = 0; i < 4; i++) {
addInput(Port::create<SilverPort>(Vec(10 + 45 * i,260), Port::INPUT, module, PO_101::INPUT_PHASE_1 + i));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(3.5 + 45 * i, 290), module, PO_101::PARAM_PHASE_1 + i, -1.0f, +1.0f, 0.0f));
addOutput(Port::create<SilverPort>(Vec(10 + 45 * i,333), Port::OUTPUT, module, PO_101::OUTPUT_17 + i));
}
}
};

struct PO101 : PO_Layout {
PO101(PO_101 *module) : PO_Layout(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/PO-101.svg")));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(11, 39), module, PO_101::PARAM_TUNE, -54.0f, +54.0f, 0.0f));
Layout();
}
};

struct PO102 : PO_Layout {
PO102(PO_101 *module) : PO_Layout(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/PO-102.svg")));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(11, 39), module, PO_101::PARAM_TUNE, -96.0f, 72.0f, -12.0f));
module->baseFreq = 1.0f;
Layout();
}
};

struct PO204 : ModuleWidget {
PO204(PO_204 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/PO-204.svg")));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(60, 19), module, PO_204::PARAM_TUNE, -90.0f, +54.0f, 0.0f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(105, 19), module, PO_204::PARAM_FINE, -1.0f, +1.0f, 0.0f));
addInput(Port::create<SilverPort>(Vec(17.5, 25.5), Port::INPUT, module, PO_204::INPUT_TUNE));

for (int i = 0; i < 4; i++) {
addParam(ParamWidget::create<SmallKnob<LightKnob>>(Vec(5, 89 + 70 * i), module, PO_204::PARAM_WAVE_1 + i, 0.0f, 10.0f, 5.0f));
addParam(ParamWidget::create<SmallKnob<LightKnob>>(Vec(45, 89 + 70 * i), module, PO_204::PARAM_PHASE_1 + i, -1.0f, +1.0f, 0.0f));
addParam(ParamWidget::create<SnapKnob<SmallKnob<LightKnob>>>(Vec(85, 89 + 70 * i), module, PO_204::PARAM_MULT_1 + i, 1.0f, 16.0f, 1.0f));
addInput(Port::create<SilverPort>(Vec(4.5, 125 + 70 * i), Port::INPUT, module, PO_204::INPUT_WAVE_1 + i));
addInput(Port::create<SilverPort>(Vec(44.5, 125 + 70 * i), Port::INPUT, module, PO_204::INPUT_PHASE_1 + i));
addInput(Port::create<SilverPort>(Vec(84.5, 125 + 70 * i), Port::INPUT, module, PO_204::INPUT_MULT_1 + i));
addOutput(Port::create<SilverPort>(Vec(120.5, 125 + 70 * i), Port::OUTPUT, module, PO_204::OUTPUT_1 + i));
}
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, PO101) {
Model *modelPO101 = Model::create<PO_101, PO101>("Submarine (Free)", "PO-101", "PO-101 Phased VCO", OSCILLATOR_TAG, MULTIPLE_TAG, DIGITAL_TAG);
return modelPO101;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, PO102) {
Model *modelPO102 = Model::create<PO_101, PO102>("Submarine (Free)", "PO-102", "PO-102 Phased LFO", OSCILLATOR_TAG, MULTIPLE_TAG, DIGITAL_TAG);
return modelPO102;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, PO204) {
Model *modelPO204 = Model::create<PO_204, PO204>("Submarine (Free)", "PO-204", "PO-204 Phase Modulation Engine", OSCILLATOR_TAG, QUAD_TAG, DIGITAL_TAG);
return modelPO204;
}

+ 174
- 0
plugins/community/repos/SubmarineFree/src/SS1.cpp View File

@@ -0,0 +1,174 @@
#include "SubmarineFree.hpp"

namespace rack_plugin_SubmarineFree {

struct SS_112 : Module {
static constexpr int deviceCount = 12;
SS_112() : Module(0, deviceCount, 0, 0) {}
};

struct SS112 : ModuleWidget {
SS112(SS_112 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/SS-112.svg")));
for (int i = 0; i < SS_112::deviceCount; i++) {
addInput(Port::create<SilverPort>(Vec(2.5,19 + i * 29), Port::INPUT, module, i));
}
}
};

struct SS_208 : Module {
static constexpr int deviceCount = 8;
SS_208() : Module(0, 0, deviceCount, 0) {
outputs[0].value = M_PI;
outputs[1].value = 2 * M_PI;
outputs[2].value = M_E;
outputs[3].value = M_SQRT1_2;
outputs[4].value = M_SQRT2;
outputs[5].value = powf(3.0f, 0.5f);
outputs[6].value = powf(5.0f, 0.5f);
outputs[7].value = powf(7.0f, 0.5f);
}
};

struct SS208 : ModuleWidget {
SS208(SS_208 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/SS-208.svg")));
for (int i = 0; i < SS_208::deviceCount; i++) {
addOutput(Port::create<SilverPort>(Vec(2.5,19 + 43 * i), Port::OUTPUT, module, i));
}
}
};

struct SS_212 : Module {
static constexpr int deviceCount = 12;
int v = 0;
void setValues() {
for (int i = 0; i < deviceCount; i++) {
outputs[i].value = v + 1.0f * i / 12.0f;
}
}

SS_212() : Module(0, 0, deviceCount, 0) {
setValues();
}

json_t *toJson() override {
json_t *rootJ = json_object();
json_object_set_new(rootJ, "octave", json_integer(v));
return rootJ;
}

void fromJson(json_t *rootJ) override {
json_t *intJ = json_object_get(rootJ, "octave");
if (intJ)
v = json_integer_value(intJ);
setValues();
}
};

struct SS212 : ModuleWidget {
SS212(SS_212 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/SS-212.svg")));
for (int i = 0; i < SS_212::deviceCount; i++) {
addOutput(Port::create<SilverPort>(Vec(2.5,19 + i * 29), Port::OUTPUT, module, i));
}
}

void appendContextMenu(Menu *menu) override;
};

struct SSMenuItem : MenuItem {
SS_212 *ss_212;
int v;
void onAction(EventAction &e) override {
ss_212->v = v;
ss_212->setValues();
}
void step() override {
rightText = CHECKMARK(ss_212->v == v);
}
};

void SS212::appendContextMenu(Menu *menu) {
char label[20];
menu->addChild(MenuEntry::create());
SS_212 *ss_212 = dynamic_cast<SS_212*>(this->module);
assert(ss_212);
for (int i = -5; i < 5; i++) {
sprintf(label, "Octave %d", i);
SSMenuItem *menuItem = MenuItem::create<SSMenuItem>(label);
menuItem->ss_212 = ss_212;
menuItem->v = i;
menu->addChild(menuItem);
}
}

struct SS_221 : Module {
static constexpr int deviceCount = 21;
SS_221() : Module(0, 0, deviceCount, 0) {
for (int i = 0; i < deviceCount; i++) {
outputs[i].value = 10.0f - i;
}
}
};

struct SS221 : ModuleWidget {
SS221(SS_221 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/SS-221.svg")));
for (int i = 0; i < SS_221::deviceCount; i++) {
addOutput(Port::create<SilverPort>(Vec(2.5 + 45 * (i % 2),19 + i * 16), Port::OUTPUT, module, i));
}
}
};

struct SS_220 : Module {
static constexpr int deviceCount = 12;
static constexpr int deviceSetCount = 10;
SS_220() : Module(0, 0, deviceCount * deviceSetCount, 0) {
for (int j = 0; j < deviceSetCount; j++) {
for (int i = 0; i < deviceCount; i++) {
outputs[j * deviceCount + i].value = (j - 5.0f) + 1.0f * i / 12.0f;
}
}
}
};

struct SS220 : ModuleWidget {
SS220(SS_220 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/SS-220.svg")));
for (int j = 0; j < SS_220::deviceSetCount; j++) {
for (int i = 0; i < SS_220::deviceCount; i++) {
addOutput(Port::create<SilverPort>(Vec(2.5 + 30 * j, 19 + i * 29), Port::OUTPUT, module, j * SS_220::deviceCount + i));
}
}
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, SS112) {
Model *modelSS112 = Model::create<SS_112, SS112>("Submarine (Free)", "SS-112", "SS-112 12 Input Sinks", UTILITY_TAG);
return modelSS112;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, SS208) {
Model *modelSS208 = Model::create<SS_208, SS208>("Submarine (Free)", "SS-208", "SS-208 8 Irrational Output Voltage Sources", UTILITY_TAG);
return modelSS208;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, SS212) {
Model *modelSS212 = Model::create<SS_212, SS212>("Submarine (Free)", "SS-212", "SS-212 12 Chromatic Output Voltage Sources", UTILITY_TAG);
return modelSS212;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, SS220) {
Model *modelSS220 = Model::create<SS_220, SS220>("Submarine (Free)", "SS-220", "SS-220 120 Chromatic Output Voltage Sources", UTILITY_TAG);
return modelSS220;
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, SS221) {
Model *modelSS221 = Model::create<SS_221, SS221>("Submarine (Free)", "SS-221", "SS-221 21 Output Voltage Sources", UTILITY_TAG);
return modelSS221;
}

+ 76
- 0
plugins/community/repos/SubmarineFree/src/SubmarineFree.cpp View File

@@ -1,18 +1,55 @@
#include "SubmarineFree.hpp"

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, AG104);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, AG106);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, AO106);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, AO112);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, AO118);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, AO124);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, AO136);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, BB120);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, EO102);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, FF110);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, FF120);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, FF212);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, LA108);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, LD103);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, LD106);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, NG106);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, NG112);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, OG104);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, OG106);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, PG104);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, PG112);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, PO101);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, PO102);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, PO204);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, SS112);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, SS208);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, SS212);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, SS220);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, SS221);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, TD116);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, TD202);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, TF101);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, TM105);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, WK101);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, WK205);

@@ -22,6 +59,7 @@ RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, XF104);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, XF201);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, XF202);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, XG104);
RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, XG106);

RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, BP101);
@@ -37,21 +75,58 @@ RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, BP132);

RACK_PLUGIN_INIT(SubmarineFree) {
RACK_PLUGIN_INIT_ID();
RACK_PLUGIN_INIT_VERSION("0.6.8");

// Add all Models defined throughout the plugin
RACK_PLUGIN_MODEL_ADD(SubmarineFree, AG104);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, AG106);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, AO106);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, AO112);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, AO118);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, AO124);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, AO136);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, BB120);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, EO102);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, FF110);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, FF120);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, FF212);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, LA108);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, LD103);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, LD106);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, NG106);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, NG112);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, OG104);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, OG106);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, PG104);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, PG112);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, PO101);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, PO102);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, PO204);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, SS112);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, SS208);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, SS212);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, SS220);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, SS221);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, TD116);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, TD202);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, TF101);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, TM105);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, WK101);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, WK205);

@@ -61,6 +136,7 @@ RACK_PLUGIN_INIT(SubmarineFree) {
RACK_PLUGIN_MODEL_ADD(SubmarineFree, XF201);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, XF202);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, XG104);
RACK_PLUGIN_MODEL_ADD(SubmarineFree, XG106);

RACK_PLUGIN_MODEL_ADD(SubmarineFree, BP101);


+ 8
- 0
plugins/community/repos/SubmarineFree/src/SubmarineFree.hpp View File

@@ -9,3 +9,11 @@ RACK_PLUGIN_DECLARE(SubmarineFree);
#endif // USE_VST2

#include "ComponentLibrary/components.hpp"

struct SubHelper {
static std::shared_ptr<SVG> LoadPanel(const char/*Plugin*/ *_plugin, const char *str, int num) {
char workingSpace[100];
snprintf(workingSpace, 100, "res/%s%02d.svg", str, num);
return SVG::load(assetPlugin(_plugin, workingSpace));
}
};

+ 254
- 0
plugins/community/repos/SubmarineFree/src/TD1.cpp View File

@@ -0,0 +1,254 @@
#include <global_pre.hpp>
#include <global_ui.hpp>
#include "SubmarineFree.hpp"
#include "window.hpp"
#include "torpedo.hpp"

namespace rack_plugin_SubmarineFree {

struct TD_116;

struct TDInput : Torpedo::PatchInputPort {
TD_116 *tdModule;
TDInput(TD_116 *module, unsigned int portNum) : Torpedo::PatchInputPort((Module *)module, portNum) { tdModule = module; }
void received(std::string pluginName, std::string moduleName, json_t *rootJ) override;
NVGcolor decodeColor(std::string colorStr);
};

struct TD_116 : Module {
TDInput inPort = TDInput(this, 0);
Torpedo::PatchOutputPort outPort = Torpedo::PatchOutputPort(this, 0);
TD_116() : Module (0, 1, 1, 0) {outPort.size(1);}
void step() override {
inPort.process();
outPort.process();
}
void sendText(std::string text) {
json_t *rootJ = json_object();;

// text
json_object_set_new(rootJ, "text", json_string(text.c_str()));

outPort.send("SubmarineFree", "TDNotesText", rootJ);
}
std::string text;
int fontSize = 12;
NVGcolor fg = nvgRGB(0x28, 0xb0, 0xf3);
NVGcolor bg = nvgRGB(0,0,0);
int isDirty = false;
int isDirtyC = false;
};

struct TDText : LedDisplayTextField {
TD_116 *tdModule;
NVGcolor bgColor = nvgRGB(0x00, 0x00, 0x00);
int fontSize = 12;
TDText() {
color = nvgRGB(0x28, 0xb0, 0xf3);
}
void onTextChange() override {
LedDisplayTextField::onTextChange();
tdModule->sendText(text);
}
int getTextPosition(Vec mousePos) override {
bndSetFont(font->handle);
int textPos = bndIconLabelTextPosition(rack::global_ui->window.gVg, textOffset.x, textOffset.y,
box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
-1, fontSize, text.c_str(), mousePos.x, mousePos.y);
bndSetFont(rack::global_ui->window.gGuiFont->handle);
return textPos;
}
void draw(NVGcontext *vg) override {
nvgScissor(vg, 0, 0, box.size.x, box.size.y);
//Background
nvgBeginPath(vg);
nvgRoundedRect(vg, 0, 0, box.size.x, box.size.y, 5.0);
nvgFillColor(vg, bgColor);
nvgFill(vg);

//Text
if (font->handle >= 0) {
bndSetFont(font->handle);
NVGcolor highlightColor = color;
highlightColor.a = 0.5;
int begin = min(cursor, selection);
int end = (this == rack::global_ui->widgets.gFocusedWidget) ? max(cursor, selection) : -1;
bndIconLabelCaret(vg, textOffset.x, textOffset.y,
box.size.x - 2*textOffset.x, box.size.y - 2*textOffset.y,
-1, color, fontSize, text.c_str(), highlightColor, begin, end);
}
nvgResetScissor(vg);
bndSetFont(rack::global_ui->window.gGuiFont->handle);
}
};

NVGcolor TDInput::decodeColor(std::string colorStr) {
int r = (colorStr[0] - 'A') * 16 + (colorStr[1] - 'A');
int g = (colorStr[2] - 'A') * 16 + (colorStr[3] - 'A');
int b = (colorStr[4] - 'A') * 16 + (colorStr[5] - 'A');
return nvgRGB(r, g, b);
}

void TDInput::received(std::string pluginName, std::string moduleName, json_t *rootJ) {
if (pluginName.compare("SubmarineFree")) return;
if (!moduleName.compare("TDNotesText")) {
json_t *text = json_object_get(rootJ, "text");
if (text) {
tdModule->text.assign(json_string_value(text));
tdModule->isDirty = true;
}
}
else if (!moduleName.compare("TDNotesColor")) {
json_t *size = json_object_get(rootJ, "size");
if (size) {
tdModule->fontSize = json_number_value(size);
tdModule->isDirtyC = true;
}
json_t *fg = json_object_get(rootJ, "fg");
if (fg) {
tdModule->fg = decodeColor(std::string(json_string_value(fg)));
tdModule->isDirtyC = true;
}
json_t *bg = json_object_get(rootJ, "bg");
if (bg) {
tdModule->bg = decodeColor(std::string(json_string_value(bg)));
tdModule->isDirtyC = true;
}
}
}

struct TD116 : ModuleWidget {
TDText *textField;

TD116(TD_116 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/TD-116.svg")));

addInput(Port::create<BlackPort>(Vec(4,19), Port::INPUT, module, 0));
addOutput(Port::create<BlackPort>(Vec(211,19), Port::OUTPUT, module, 0));

textField = Widget::create<TDText>(mm2px(Vec(3.39962, 15.8373)));
textField->box.size = mm2px(Vec(74.480, 102.753));
textField->multiline = true;
textField->tdModule = module;
addChild(textField);
}

json_t *toJson() override {
json_t *rootJ = ModuleWidget::toJson();

json_object_set_new(rootJ, "text", json_string(textField->text.c_str()));
json_object_set_new(rootJ, "size", json_real(textField->fontSize));
json_object_set_new(rootJ, "fg", json_string(colorToHexString(textField->color).c_str()));
json_object_set_new(rootJ, "bg", json_string(colorToHexString(textField->bgColor).c_str()));

return rootJ;
}

void fromJson(json_t *rootJ) override {
ModuleWidget::fromJson(rootJ);

json_t *textJ = json_object_get(rootJ, "text");
if (textJ)
textField->text = json_string_value(textJ);
json_t *sizeJ = json_object_get(rootJ, "size");
if (sizeJ)
textField->fontSize = json_number_value(sizeJ);
json_t *fgJ = json_object_get(rootJ, "fg");
if (fgJ) {
if (json_is_object(fgJ))
textField->color = jsonToColor(fgJ);
else
textField->color = colorFromHexString(json_string_value(fgJ));
}
json_t *bgJ = json_object_get(rootJ, "bg");
if (bgJ) {
if (json_is_object(bgJ))
textField->bgColor = jsonToColor(bgJ);
else
textField->bgColor = colorFromHexString(json_string_value(bgJ));
}
}

void step() override {
TD_116 *tdModule = dynamic_cast<TD_116 *>(module);
if (tdModule->isDirty) {
textField->text = tdModule->text;
tdModule->isDirty = false;
}
if (tdModule->isDirtyC) {
textField->fontSize = tdModule->fontSize;
textField->color = tdModule->fg;
textField->bgColor = tdModule->bg;
tdModule->isDirtyC = false;
}
ModuleWidget::step();
}

void reset() override {
textField->fontSize = 12;
textField->text = "";
textField->color = nvgRGB(0x28, 0xb0, 0xf3);
textField->bgColor = nvgRGB(0,0,0);
ModuleWidget::reset();
}

void appendContextMenu(Menu *menu) override;
};

struct TD116_MenuItem : MenuItem {
TD116 *widget;
NVGcolor color;
void onAction(EventAction &e) override {
widget->textField->tdModule->fg = color;
widget->textField->color = color;
}
};

void TD116::appendContextMenu(Menu *menu) {
menu->addChild(MenuEntry::create());
TD116_MenuItem *m = MenuItem::create<TD116_MenuItem>("Blue");
m->widget = this;
m->color = nvgRGB(0x28, 0xb0, 0xf3);
menu->addChild(m);
m = MenuItem::create<TD116_MenuItem>("Yellow");
m->widget = this;
m->color = nvgRGB(0xc9, 0xb7, 0x0e);
menu->addChild(m);

m = MenuItem::create<TD116_MenuItem>("Red");
m->widget = this;
m->color = nvgRGB(0xff, 0x13, 0x13);
menu->addChild(m);

m = MenuItem::create<TD116_MenuItem>("Green");
m->widget = this;
m->color = nvgRGB(0x0a, 0xff, 0x13);
menu->addChild(m);

m = MenuItem::create<TD116_MenuItem>("Orange");
m->widget = this;
m->color = nvgRGB(0xff, 0xa5, 0x2d);
menu->addChild(m);

m = MenuItem::create<TD116_MenuItem>("Pink");
m->widget = this;
m->color = nvgRGB(0xff, 0x7d, 0xec);
menu->addChild(m);

m = MenuItem::create<TD116_MenuItem>("White");
m->widget = this;
m->color = nvgRGB(0xff, 0xff, 0xff);
menu->addChild(m);

}

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, TD116) {
Model *modelTD116 = Model::create<TD_116, TD116>("Submarine (Free)", "TD-116", "TD-116 Text Display", VISUAL_TAG);
return modelTD116;
}

+ 179
- 0
plugins/community/repos/SubmarineFree/src/TD2.cpp View File

@@ -0,0 +1,179 @@
#include <global_pre.hpp>
#include <global_ui.hpp>
#include "SubmarineFree.hpp"
#include "window.hpp"
#include "torpedo.hpp"

namespace rack_plugin_SubmarineFree {

struct TDVText : LedDisplayTextField {
NVGcolor bgColor;
TDVText() {
multiline = false;
color = nvgRGB(0x28, 0xb0, 0xf3);
bgColor = nvgRGBA(0, 0, 0, 0);
}
void draw(NVGcontext *vg) override {
nvgScissor(vg, 0, 0, box.size.x, box.size.y);

nvgBeginPath(vg);
nvgRoundedRect(vg, 0, 0, box.size.x, box.size.y, 2);
nvgFillColor(vg, bgColor);
nvgFill(vg);

nvgTranslate(vg, 24, 0);
nvgRotate(vg, M_PI / 2.0f);
//Text
if (font->handle >= 0) {
bndSetFont(font->handle);
NVGcolor highlightColor = color;
highlightColor.a = 0.5;
int begin = min(cursor, selection);
int end = (this == rack::global_ui->widgets.gFocusedWidget) ? max(cursor, selection) : -1;
bndIconLabelCaret(vg, textOffset.y, textOffset.x,
box.size.y - 2*textOffset.y, box.size.x - 2*textOffset.x,
-1, color, 28, text.c_str(), highlightColor, begin, end);
}
nvgResetScissor(vg);
bndSetFont(rack::global_ui->window.gGuiFont->handle);
}
};

struct TD202 : ModuleWidget {
TDVText *textField;

TD202(Module *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/TD-202.svg")));

textField = Widget::create<TDVText>(Vec(2, 15));
textField->box.size = Vec(26, 350);
addChild(textField);
}

json_t *toJson() override {
json_t *rootJ = ModuleWidget::toJson();

json_object_set_new(rootJ, "text", json_string(textField->text.c_str()));
json_object_set_new(rootJ, "fg", json_string(colorToHexString(textField->color).c_str()));
json_object_set_new(rootJ, "bg", json_string(colorToHexString(textField->bgColor).c_str()));

return rootJ;
}

void fromJson(json_t *rootJ) override {
ModuleWidget::fromJson(rootJ);

json_t *textJ = json_object_get(rootJ, "text");
if (textJ)
textField->text = json_string_value(textJ);
json_t *fgJ = json_object_get(rootJ, "fg");
if (fgJ) {
if (json_is_object(fgJ))
textField->color = jsonToColor(fgJ);
else
textField->color = colorFromHexString(json_string_value(fgJ));
}
json_t *bgJ = json_object_get(rootJ, "bg");
if (bgJ) {
if (json_is_object(bgJ))
textField->bgColor = jsonToColor(bgJ);
else
textField->bgColor = colorFromHexString(json_string_value(bgJ));
}
}

void reset() override {
textField->text = "";
textField->multiline = false;
textField->color = nvgRGB(0x28, 0xb0, 0xf3);
textField->bgColor = nvgRGBA(0, 0, 0, 0);
ModuleWidget::reset();
}
void appendContextMenu(Menu *menu) override;
};

struct TD202_MenuItem : MenuItem {
TD202 *widget;
NVGcolor color;
void onAction(EventAction &e) override {
widget->textField->color = color;
}
};

struct TD202_MenuItemB : MenuItem {
TD202 *widget;
NVGcolor color;
void onAction(EventAction &e) override {
widget->textField->bgColor = color;
}
};

void TD202::appendContextMenu(Menu *menu) {
menu->addChild(MenuEntry::create());
TD202_MenuItem *m = MenuItem::create<TD202_MenuItem>("Blue");
m->widget = this;
m->color = nvgRGB(0x28, 0xb0, 0xf3);
menu->addChild(m);
m = MenuItem::create<TD202_MenuItem>("Yellow");
m->widget = this;
m->color = nvgRGB(0xc9, 0xb7, 0x0e);
menu->addChild(m);

m = MenuItem::create<TD202_MenuItem>("Red");
m->widget = this;
m->color = nvgRGB(0xff, 0x13, 0x13);
menu->addChild(m);

m = MenuItem::create<TD202_MenuItem>("Green");
m->widget = this;
m->color = nvgRGB(0x0a, 0xff, 0x13);
menu->addChild(m);

m = MenuItem::create<TD202_MenuItem>("Orange");
m->widget = this;
m->color = nvgRGB(0xff, 0xa5, 0x2d);
menu->addChild(m);

m = MenuItem::create<TD202_MenuItem>("Pink");
m->widget = this;
m->color = nvgRGB(0xff, 0x7d, 0xec);
menu->addChild(m);

m = MenuItem::create<TD202_MenuItem>("White");
m->widget = this;
m->color = nvgRGB(0xff, 0xff, 0xff);
menu->addChild(m);

m = MenuItem::create<TD202_MenuItem>("Black");
m->widget = this;
m->color = nvgRGB(0x00, 0x00, 0x00);
menu->addChild(m);

menu->addChild(MenuEntry::create());
TD202_MenuItemB *b = MenuItem::create<TD202_MenuItemB>("Background - None");
b->widget = this;
b->color = nvgRGBA(0, 0, 0, 0);
menu->addChild(b);

b = MenuItem::create<TD202_MenuItemB>("Background - Black");
b->widget = this;
b->color = nvgRGB(0, 0, 0);
menu->addChild(b);

b = MenuItem::create<TD202_MenuItemB>("Background - White");
b->widget = this;
b->color = nvgRGB(0xff, 0xff, 0xff);
menu->addChild(b);
}

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, TD202) {
Model *modelTD202 = Model::create<Module, TD202>("Submarine (Free)", "TD-202", "TD-202 Vertical Text Display", VISUAL_TAG);
return modelTD202;
}

+ 133
- 0
plugins/community/repos/SubmarineFree/src/TF1.cpp View File

@@ -0,0 +1,133 @@
#include "SubmarineFree.hpp"
#include "torpedo.hpp"

namespace rack_plugin_SubmarineFree {

struct TF_101 : Module {
enum ParamIds {
PARAM_FG_RED,
PARAM_FG_GREEN,
PARAM_FG_BLUE,
PARAM_BG_RED,
PARAM_BG_GREEN,
PARAM_BG_BLUE,
PARAM_FONT_SIZE,
NUM_PARAMS
};
enum InputIds {
INPUT_FG_RED,
INPUT_FG_GREEN,
INPUT_FG_BLUE,
INPUT_BG_RED,
INPUT_BG_GREEN,
INPUT_BG_BLUE,
INPUT_FONT_SIZE,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_TOR,
NUM_OUTPUTS
};
enum LightIds {
LIGHT_FG_RED,
LIGHT_FG_GREEN,
LIGHT_FG_BLUE,
LIGHT_BG_RED,
LIGHT_BG_GREEN,
LIGHT_BG_BLUE,
NUM_LIGHTS
};

float prevValues[7];
int isDirty = false;
Torpedo::PatchOutputPort outPort = Torpedo::PatchOutputPort(this, OUTPUT_TOR);
TF_101() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
prevValues[0] = 0.1569f;
prevValues[1] = 0.6902f;
prevValues[2] = 0.9529f;
prevValues[6] = 12.0f;
outPort.size(1);
}
void step() override;
std::string encodeColor(float r, float g, float b) {
std::string out;
out.push_back('A'+(int)(r * 255) / 16);
out.push_back('A'+(int)(r * 255) % 16);
out.push_back('A'+(int)(g * 255) / 16);
out.push_back('A'+(int)(g * 255) % 16);
out.push_back('A'+(int)(b * 255) / 16);
out.push_back('A'+(int)(b * 255) % 16);
return out;
}
};

void TF_101::step() {
for (int i = 0; i < 6; i++) {
float newValue = clamp(params[PARAM_FG_RED + i].value + inputs[INPUT_FG_RED + i].value / 10.0f, 0.0f, 1.0f);
lights[LIGHT_FG_RED + i].value = newValue;
if (prevValues[i] != newValue) {
isDirty = true;
prevValues[i] = newValue;
}
}
float newValue = clamp(params[PARAM_FONT_SIZE].value + inputs[INPUT_FONT_SIZE].value * 2.0f, 6.0f, 26.0f);
if (prevValues[6] != newValue) {
isDirty = true;
prevValues[6] = newValue;
}
if (isDirty) {
isDirty = false;
json_t *rootJ = json_object();
json_object_set_new(rootJ, "fg", json_string(encodeColor(prevValues[0], prevValues[1], prevValues[2]).c_str()));
json_object_set_new(rootJ, "bg", json_string(encodeColor(prevValues[3], prevValues[4], prevValues[5]).c_str()));
json_object_set_new(rootJ, "size", json_real(prevValues[6]));
outPort.send("SubmarineFree", "TDNotesColor", rootJ);
}
outPort.process();
}

struct WhiteLight : GrayModuleLightWidget {
WhiteLight() {
addBaseColor(nvgRGB(0xff, 0x00, 0x00));
addBaseColor(nvgRGB(0x00, 0xff, 0x00));
addBaseColor(nvgRGB(0x00, 0x00, 0xff));
}
};


struct TF101 : ModuleWidget {
TF101(TF_101 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/TF-101.svg")));

addInput(Port::create<SilverPort>(Vec(4,66.5), Port::INPUT, module, TF_101::INPUT_FG_RED));
addInput(Port::create<SilverPort>(Vec(4,106.5), Port::INPUT, module, TF_101::INPUT_FG_GREEN));
addInput(Port::create<SilverPort>(Vec(4,146.5), Port::INPUT, module, TF_101::INPUT_FG_BLUE));
addInput(Port::create<SilverPort>(Vec(4,200.5), Port::INPUT, module, TF_101::INPUT_BG_RED));
addInput(Port::create<SilverPort>(Vec(4,240.5), Port::INPUT, module, TF_101::INPUT_BG_GREEN));
addInput(Port::create<SilverPort>(Vec(4,280.5), Port::INPUT, module, TF_101::INPUT_BG_BLUE));
addInput(Port::create<SilverPort>(Vec(4,334.5), Port::INPUT, module, TF_101::INPUT_FONT_SIZE));

addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(46, 60), module, TF_101::PARAM_FG_RED, 0.0f, 1.0f, 0.1569f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(46, 100), module, TF_101::PARAM_FG_GREEN, 0.0f, 1.0f, 0.6902f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(46, 140), module, TF_101::PARAM_FG_BLUE, 0.0f, 1.0f, 0.9529f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(46, 194), module, TF_101::PARAM_BG_RED, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(46, 234), module, TF_101::PARAM_BG_GREEN, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(46, 274), module, TF_101::PARAM_BG_BLUE, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<MedKnob<LightKnob>>(Vec(46, 328), module, TF_101::PARAM_FONT_SIZE, 6.0f, 26.0f, 12.0f));

addChild(ModuleLightWidget::create<MediumLight<WhiteLight>>(Vec(10, 51), module, TF_101::LIGHT_FG_RED));
addChild(ModuleLightWidget::create<MediumLight<WhiteLight>>(Vec(10, 185), module, TF_101::LIGHT_BG_RED));

addOutput(Port::create<BlackPort>(Vec(61,19), Port::OUTPUT, module, TF_101::OUTPUT_TOR));
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, TF101) {
Model *modelTF101 = Model::create<TF_101, TF101>("Submarine (Free)", "TF-101", "TF-101 Text Display Format Control", VISUAL_TAG);
return modelTF101;
}

+ 137
- 0
plugins/community/repos/SubmarineFree/src/TM1.cpp View File

@@ -0,0 +1,137 @@
#include "SubmarineFree.hpp"
#include "torpedo.hpp"
#include "dsp/digital.hpp"

namespace rack_plugin_SubmarineFree {

struct TM_105;

struct TM_105InPort : Torpedo::RawInputPort {
TM_105 *tmModule;
TM_105InPort(TM_105 *module, unsigned int portNum) : RawInputPort((Module *)module, portNum) {tmModule = module;}
void received(std::string appId, std::string message) override;
void error(unsigned int errorType) override;
};

struct TM_Msg {
std::string appId;
std::string msg;
};

struct TM_105 : Module {
enum ParamIds {
NUM_PARAMS
};
enum InputIds {
INPUT_1,
INPUT_2,
INPUT_3,
INPUT_4,
INPUT_5,
NUM_INPUTS
};
enum OutputIds {
OUTPUT_TOR,
NUM_OUTPUTS
};
enum LightIds {
LIGHT_Q_1,
LIGHT_Q_2,
LIGHT_Q_3,
LIGHT_Q_4,
LIGHT_Q_5,
LIGHT_M_1,
LIGHT_M_2,
LIGHT_M_3,
LIGHT_M_4,
LIGHT_M_5,
LIGHT_E_1,
LIGHT_E_2,
LIGHT_E_3,
LIGHT_E_4,
LIGHT_E_5,
NUM_LIGHTS
};

std::vector<TM_Msg> queue;
unsigned int count = 0;
unsigned int index = 0;
TM_105InPort inPort1 = TM_105InPort(this, INPUT_1);
TM_105InPort inPort2 = TM_105InPort(this, INPUT_2);
TM_105InPort inPort3 = TM_105InPort(this, INPUT_3);
TM_105InPort inPort4 = TM_105InPort(this, INPUT_4);
TM_105InPort inPort5 = TM_105InPort(this, INPUT_5);
PulseGenerator msgPulses[5];
PulseGenerator errPulses[5];
Torpedo::RawOutputPort outPort = Torpedo::RawOutputPort(this, OUTPUT_TOR);
TM_105() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {
for (unsigned int i = 0; i < 5; i++) {
queue.push_back(TM_Msg());
}
}
void step() override;
};

void TM_105InPort::received(std::string appId, std::string msg) {
if (tmModule->count >= 5) {
return;
}
unsigned int newPos = (tmModule->index + tmModule->count) % 5;
tmModule->queue[newPos].appId.assign(appId);
tmModule->queue[newPos].msg.assign(msg);
tmModule->count++;
tmModule->msgPulses[_portNum - TM_105::INPUT_1].trigger(0.1f);
}

void TM_105InPort::error(unsigned int errorType) {
tmModule->errPulses[_portNum - TM_105::INPUT_1].trigger(0.1f);
}

void TM_105::step() {
inPort1.process();
inPort2.process();
inPort3.process();
inPort4.process();
inPort5.process();
if (!outPort.isBusy()) {
if (count) {
unsigned int sendPos = (count + index) % 5;
outPort.send(queue[sendPos].appId, queue[sendPos].msg);
index++;
index %= 5;
count--;
}
}
for(unsigned int i = 0; i < 5; i++) {
lights[LIGHT_Q_1 + i].value = count > i;
lights[LIGHT_M_1 + i].value = msgPulses[i].process(engineGetSampleTime());
lights[LIGHT_E_1 + i].value = errPulses[i].process(engineGetSampleTime());
}
outPort.process();
}

struct TM105 : ModuleWidget {
TM105(TM_105 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/TM-105.svg")));
for (unsigned int i = 0; i < 5; i++) {
addInput(Port::create<BlackPort>(Vec(2.5,29 + 32 * i), Port::INPUT, module, TM_105::INPUT_1 + i));
addChild(ModuleLightWidget::create<TinyLight<BlueLight>>(Vec(2.5, 53 + 32 * i), module, TM_105::LIGHT_M_1 + i));
addChild(ModuleLightWidget::create<TinyLight<RedLight>>(Vec(24.5, 53 + 32 * i), module, TM_105::LIGHT_E_1 + i));
}
addChild(ModuleLightWidget::create<TinyLight<BlueLight>>(Vec(13.5, 260), module, TM_105::LIGHT_Q_1));
addChild(ModuleLightWidget::create<TinyLight<BlueLight>>(Vec(13.5, 265), module, TM_105::LIGHT_Q_2));
addChild(ModuleLightWidget::create<TinyLight<BlueLight>>(Vec(13.5, 270), module, TM_105::LIGHT_Q_3));
addChild(ModuleLightWidget::create<TinyLight<RedLight>>(Vec(13.5, 275), module, TM_105::LIGHT_Q_4));
addChild(ModuleLightWidget::create<TinyLight<RedLight>>(Vec(13.5, 280), module, TM_105::LIGHT_Q_5));
addOutput(Port::create<BlackPort>(Vec(2.5,232), Port::OUTPUT, module, TM_105::OUTPUT_TOR));
}
};

} // namespace rack_plugin_SubmarineFree

using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, TM105) {
Model *modelTM105 = Model::create<TM_105, TM105>("Submarine (Free)", "TM-105", "TM-105 Torpedo Message Merge", UTILITY_TAG);
return modelTM105;
}

+ 29
- 0
plugins/community/repos/SubmarineFree/src/UpdateRing.hpp View File

@@ -0,0 +1,29 @@
//
// UpdateRing is similar in approach to double buffering
//
// UpdateRing provides a number (2) of objects so that the
// module can communicate with the moduleWidget. Previously I
// have used mutexes to do this, but I would rather not use
// a blocking lock_guard in the audio thread.
//
// Double buffering does not offer the same guarantees, but if
// the code is kept tight, it should be good enough for practical purposes.
//
// When the module has something to communicate, it asks for a pointer to the
// background object, It writes into this, and the swaps the buffers
//
// When the moduleWidget is checking for something to read, it asks for
// a pointer to the foreground object, which it then can read.
//
// This process should minimize the risk of tearing artifacts in the process
//

template <class T>
struct UpdateRing {
T items[2];
unsigned int bufCount = 0;
T* fg() { return items + (bufCount % 2); }
T* bg() { return items + ((bufCount + 1) % 2); }
void swap() { bufCount++; };
};


plugins/community/repos/SubmarineFree/src/WK-101.cpp → plugins/community/repos/SubmarineFree/src/WK12.cpp View File

@@ -3,6 +3,14 @@
#include "torpedo.hpp"
#include <fstream>
#include <cctype>
#include "UpdateRing.hpp"

namespace rack_plugin_SubmarineFree {

struct WK_Update {
float offsets[12];
int isDirty = false;
};

struct WK_Tuning {
std::string name;
@@ -11,20 +19,13 @@ struct WK_Tuning {

std::vector<WK_Tuning> tunings;

// (todo) mutex
int tuningsLoaded = false;

namespace rack_plugin_SubmarineFree {

#ifdef USE_VST2
#define Plugin const char
#endif // USE_VST2

struct WK_Tunings {
static void loadTuningsFromWK(const char *path);
static void loadTuningsFromScala(Plugin *_plugin);
static void loadTuningsFromScala(const char /*Plugin*/ *_plugin);
static void loadScalaFile(std::string path);
static void loadTunings(Plugin *_plugin) {
static void loadTunings(const char /*Plugin*/ *_plugin) {
if (tuningsLoaded)
return;
tuningsLoaded = true;
@@ -73,7 +74,7 @@ void WK_Tunings::loadTuningsFromWK(const char *path) {
}
else {
std::string message = stringf("SubmarineFree WK: JSON parsing error at %s %d:%d %s", error.source, error.line, error.column, error.text);
//warn(message.c_str());
warn(message.c_str());
}
fclose(file);
}
@@ -116,7 +117,7 @@ void WK_Tunings::loadScalaFile(std::string path) {
line.append(1,c);
strings[i].erase(0,1);
if (!std::isdigit(c) && (c != '/') && (c != '.')) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
if (c == '.')
@@ -124,7 +125,7 @@ void WK_Tunings::loadScalaFile(std::string path) {
if (c == '/' && !ratio)
ratio = line.size();
if (decimal && ratio) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
}
@@ -133,13 +134,13 @@ void WK_Tunings::loadScalaFile(std::string path) {
float d = std::stof(line, nullptr);
d -= (i-1) * 100.0;
if ((d < -50.0) || (d > 50.0)) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
tuning.offsets[(i-1)%12] = d;
}
catch (std::exception &err) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
}
@@ -151,20 +152,20 @@ void WK_Tunings::loadScalaFile(std::string path) {
int inum = std::stoi(num,nullptr);
int idenom = std::stoi(denom, nullptr);
if (!idenom) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
float r = (1.0f * inum / idenom);
float d = 1200.0 * log2(r);
d -= (i-1) * 100.0;
if ((d < -50.0) || (d > 50.0)) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
tuning.offsets[(i-1)%12] = d;
}
catch (std::exception &err) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
}
@@ -174,13 +175,13 @@ void WK_Tunings::loadScalaFile(std::string path) {
float d = 1200.0 * log2(inum);
d -= (i-1) * 100.0;
if ((d < -50.0) || (d > 50.0)) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
tuning.offsets[(i-1)%12] = d;
}
catch (std::exception &err) {
//warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
warn("SubmarineFree WK: Scala file format error in %s", stringFilename(path).c_str());
return;
}
}
@@ -191,12 +192,12 @@ void WK_Tunings::loadScalaFile(std::string path) {
tunings[index].name = tuning.name;
for (int i = 0; i < 12; i++)
tunings[index].offsets[i] = tuning.offsets[i];
//info("SubmarineFree WK: Loaded Scala file %s", tuning.name.c_str());
info("SubmarineFree WK: Loaded Scala file %s", tuning.name.c_str());
}

}

void WK_Tunings::loadTuningsFromScala(Plugin *_plugin) {
void WK_Tunings::loadTuningsFromScala(const char /*Plugin*/ *_plugin) {
std::vector<std::string> dirList = systemListEntries(assetPlugin(_plugin, "Scala"));
for (auto entry : dirList) {
if (systemIsDirectory(entry)) continue;
@@ -255,14 +256,20 @@ struct WK_101 : Module {
NUM_LIGHTS
};
float tunings[12];
int isDirty = 0;
int toSend = 0;
std::mutex mtx;
UpdateRing<WK_Update> updateRing;
Torpedo::PatchOutputPort outPort = Torpedo::PatchOutputPort(this, OUTPUT_TOR);
WK101_InputPort inPort = WK101_InputPort(this, INPUT_TOR);

WK_101() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {}
WK_101() : Module(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS) {outPort.size(5);}
void step() override;
void PrepareUpdate() {
WK_Update *upd = updateRing.bg();
for (int i = 0; i < 12; i++)
upd->offsets[i] = tunings[i];
upd->isDirty = true;
updateRing.swap();
}
};

void WK_101::step() {
@@ -297,10 +304,13 @@ void WK101_InputPort::received(std::string pluginName, std::string moduleName, j
tunings[i] = json_number_value(j1);
}
{
std::lock_guard<std::mutex> guard(wkModule->mtx);
//std::lock_guard<std::mutex> guard(wkModule->mtx);
//wkModule->isDirty = true;
WK_Update *upd = wkModule->updateRing.bg();
for (int i = 0; i < 12; i++)
wkModule->tunings[i] = tunings[i];
wkModule->isDirty = true;
upd->offsets[i] = tunings[i];
upd->isDirty = true;
wkModule->updateRing.swap();
}
}

@@ -331,15 +341,15 @@ struct WK101_MenuItem : MenuItem {
void onAction(EventAction &e) override {
for (int i = 0; i < 12; i++)
module->tunings[i] = tunings[index].offsets[i];
module->isDirty = true;
module->PrepareUpdate();
module->toSend = true;
}
};

struct WK_Param : sub_knob_med {
struct WK_Param : MedKnob<LightKnob> {
void onChange(EventChange &e) override {
sub_knob_med::onChange(e);
MedKnob<LightKnob>::onChange(e);
WK_101 *module = dynamic_cast<WK_101 *>(this->module);
module->tunings[paramId - WK_101::PARAM_1] = value;
module->toSend = true;
@@ -351,10 +361,10 @@ struct WK101 : ModuleWidget {
WK101(WK_101 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/WK-101.svg")));

addInput(Port::create<sub_port>(Vec(4,29), Port::INPUT, module, WK_101::INPUT_CV));
addOutput(Port::create<sub_port>(Vec(43,29), Port::OUTPUT, module, WK_101::OUTPUT_CV));
addInput(Port::create<sub_port_black>(Vec(82,29), Port::INPUT, module, WK_101::INPUT_TOR));
addOutput(Port::create<sub_port_black>(Vec(121,29), Port::OUTPUT, module, WK_101::OUTPUT_TOR));
addInput(Port::create<SilverPort>(Vec(4,29), Port::INPUT, module, WK_101::INPUT_CV));
addOutput(Port::create<SilverPort>(Vec(43,29), Port::OUTPUT, module, WK_101::OUTPUT_CV));
addInput(Port::create<BlackPort>(Vec(82,29), Port::INPUT, module, WK_101::INPUT_TOR));
addOutput(Port::create<BlackPort>(Vec(121,29), Port::OUTPUT, module, WK_101::OUTPUT_TOR));

for (int i = 0; i < 5; i++)
{
@@ -402,11 +412,13 @@ void WK101::step() {
int isDirty = 0;
WK_101 *module = dynamic_cast<WK_101 *>(this->module);
{
std::lock_guard<std::mutex> guard(module->mtx);
if (module->isDirty) {
//std::lock_guard<std::mutex> guard(module->mtx);
WK_Update *upd = module->updateRing.fg();
if (upd->isDirty) {
for (int i = 0; i < 12; i++)
tunings[i] = module->tunings[i];
isDirty = 1;
tunings[i] = upd->offsets[i];
upd->isDirty = false;
isDirty = true;
}
}
if (isDirty) {
@@ -512,10 +524,10 @@ struct WK205 : ModuleWidget {
WK205(WK_205 *module) : ModuleWidget(module) {
setPanel(SVG::load(assetPlugin(plugin, "res/WK-205.svg")));

addInput(Port::create<sub_port_black>(Vec(2.5,19), Port::INPUT, module, WK_205::INPUT_TOR));
addInput(Port::create<BlackPort>(Vec(2.5,19), Port::INPUT, module, WK_205::INPUT_TOR));
for (int i = 0; i < WK_205::deviceCount; i++) {
addInput(Port::create<sub_port>(Vec(2.5,63 + i * 60), Port::INPUT, module, WK_205::INPUT_CV_1 + i));
addOutput(Port::create<sub_port>(Vec(2.5,92 + i * 60), Port::OUTPUT, module, WK_205::OUTPUT_CV_1 + i));
addInput(Port::create<SilverPort>(Vec(2.5,63 + i * 60), Port::INPUT, module, WK_205::INPUT_CV_1 + i));
addOutput(Port::create<SilverPort>(Vec(2.5,92 + i * 60), Port::OUTPUT, module, WK_205::OUTPUT_CV_1 + i));
}

WK_Tunings::loadTunings(plugin);
@@ -539,11 +551,10 @@ void WK205::appendContextMenu(Menu *menu) {
using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, WK101) {
Model *modelWK101 = Model::create<WK_101, WK101>("SubmarineFree", "WK-101", "WK-101 Das Wohltemperierte Klavier", QUANTIZER_TAG, TUNER_TAG);
return modelWK101;
Model *modelWK101 = Model::create<WK_101, WK101>("Submarine (Free)", "WK-101", "WK-101 Das Wohltemperierte Klavier", QUANTIZER_TAG, TUNER_TAG);
}

RACK_PLUGIN_MODEL_INIT(SubmarineFree, WK205) {
Model *modelWK205 = Model::create<WK_205, WK205>("SubmarineFree", "WK-205", "WK-205 Das Wohltemperierte Klavier Nano", QUANTIZER_TAG, TUNER_TAG, MULTIPLE_TAG);
Model *modelWK205 = Model::create<WK_205, WK205>("Submarine (Free)", "WK-205", "WK-205 Das Wohltemperierte Klavier Nano", QUANTIZER_TAG, TUNER_TAG, MULTIPLE_TAG);
return modelWK205;
}

+ 5
- 5
plugins/community/repos/SubmarineFree/src/XF-101.cpp View File

@@ -59,11 +59,11 @@ struct XF101 : ModuleWidget {
XF_LightKnob *fader;
setPanel(SVG::load(assetPlugin(plugin, "res/XF-101.svg")));

addInput(Port::create<sub_port>(Vec(27.5,18), Port::INPUT, module, XF_101::INPUT_A_1));
addInput(Port::create<sub_port>(Vec(127.5,18), Port::INPUT, module, XF_101::INPUT_B_1));
addInput(Port::create<sub_port>(Vec(27.5,74), Port::INPUT, module, XF_101::INPUT_CV_1));
addInput(Port::create<SilverPort>(Vec(27.5,18), Port::INPUT, module, XF_101::INPUT_A_1));
addInput(Port::create<SilverPort>(Vec(127.5,18), Port::INPUT, module, XF_101::INPUT_B_1));
addInput(Port::create<SilverPort>(Vec(27.5,74), Port::INPUT, module, XF_101::INPUT_CV_1));

addOutput(Port::create<sub_port>(Vec(127.5,74), Port::OUTPUT, module, XF_101::OUTPUT_1));
addOutput(Port::create<SilverPort>(Vec(127.5,74), Port::OUTPUT, module, XF_101::OUTPUT_1));

addParam(ParamWidget::create<sub_sw_2>(Vec(41, 46), module, XF_101::PARAM_CV_1, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<sub_sw_3>(Vec(125, 43.5), module, XF_101::PARAM_MODE_1, 0.0f, 2.0f, 0.0f));
@@ -83,6 +83,6 @@ struct XF101 : ModuleWidget {
using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, XF101) {
Model *modelXF101 = Model::create<XF_101, XF101>("SubmarineFree", "XF-101", "XF-101 Single Mono Cross Fader", MIXER_TAG);
Model *modelXF101 = Model::create<XF_101, XF101>("Submarine (Free)", "XF-101", "XF-101 Single Mono Cross Fader", MIXER_TAG);
return modelXF101;
}

+ 5
- 5
plugins/community/repos/SubmarineFree/src/XF-102.cpp View File

@@ -84,11 +84,11 @@ struct XF102 : ModuleWidget {
setPanel(SVG::load(assetPlugin(plugin, "res/XF-102.svg")));
for (int i = 0; i < XF_102::deviceCount; i++) {
int offset = 88 * i;
addInput(Port::create<sub_port>(Vec(27.5,18 + offset), Port::INPUT, module, XF_102::INPUT_A_1 + i));
addInput(Port::create<sub_port>(Vec(127.5,18 + offset), Port::INPUT, module, XF_102::INPUT_B_1 + i));
addInput(Port::create<sub_port>(Vec(27.5,74 + offset), Port::INPUT, module, XF_102::INPUT_CV_1 + i));
addInput(Port::create<SilverPort>(Vec(27.5,18 + offset), Port::INPUT, module, XF_102::INPUT_A_1 + i));
addInput(Port::create<SilverPort>(Vec(127.5,18 + offset), Port::INPUT, module, XF_102::INPUT_B_1 + i));
addInput(Port::create<SilverPort>(Vec(27.5,74 + offset), Port::INPUT, module, XF_102::INPUT_CV_1 + i));

addOutput(Port::create<sub_port>(Vec(127.5,74 + offset), Port::OUTPUT, module, XF_102::OUTPUT_1 + i));
addOutput(Port::create<SilverPort>(Vec(127.5,74 + offset), Port::OUTPUT, module, XF_102::OUTPUT_1 + i));

addParam(ParamWidget::create<sub_sw_2>(Vec(41, 46 + offset), module, XF_102::PARAM_CV_1 + i, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<sub_sw_3>(Vec(125, 43.5 + offset), module, XF_102::PARAM_MODE_1 + i, 0.0f, 2.0f, 0.0f));
@@ -111,6 +111,6 @@ struct XF102 : ModuleWidget {
using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, XF102) {
Model *modelXF102 = Model::create<XF_102, XF102>("SubmarineFree", "XF-102", "XF-102 Dual Mono Cross Fader", MIXER_TAG, DUAL_TAG);
Model *modelXF102 = Model::create<XF_102, XF102>("Submarine (Free)", "XF-102", "XF-102 Dual Mono Cross Fader", MIXER_TAG, DUAL_TAG);
return modelXF102;
}

+ 5
- 5
plugins/community/repos/SubmarineFree/src/XF-104.cpp View File

@@ -91,11 +91,11 @@ struct XF104 : ModuleWidget {
setPanel(SVG::load(assetPlugin(plugin, "res/XF-104.svg")));
for (int i = 0; i < XF_104::deviceCount; i++) {
int offset = 88 * i;
addInput(Port::create<sub_port>(Vec(27.5,18 + offset), Port::INPUT, module, XF_104::INPUT_A_1 + i));
addInput(Port::create<sub_port>(Vec(127.5,18 + offset), Port::INPUT, module, XF_104::INPUT_B_1 + i));
addInput(Port::create<sub_port>(Vec(27.5,74 + offset), Port::INPUT, module, XF_104::INPUT_CV_1 + i));
addInput(Port::create<SilverPort>(Vec(27.5,18 + offset), Port::INPUT, module, XF_104::INPUT_A_1 + i));
addInput(Port::create<SilverPort>(Vec(127.5,18 + offset), Port::INPUT, module, XF_104::INPUT_B_1 + i));
addInput(Port::create<SilverPort>(Vec(27.5,74 + offset), Port::INPUT, module, XF_104::INPUT_CV_1 + i));

addOutput(Port::create<sub_port>(Vec(127.5,74 + offset), Port::OUTPUT, module, XF_104::OUTPUT_1 + i));
addOutput(Port::create<SilverPort>(Vec(127.5,74 + offset), Port::OUTPUT, module, XF_104::OUTPUT_1 + i));

addParam(ParamWidget::create<sub_sw_2>(Vec(41, 46 + offset), module, XF_104::PARAM_CV_1 + i, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<sub_sw_3>(Vec(125, 43.5 + offset), module, XF_104::PARAM_MODE_1 + i, 0.0f, 2.0f, 0.0f));
@@ -130,6 +130,6 @@ struct XF104 : ModuleWidget {
using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, XF104) {
Model *modelXF104 = Model::create<XF_104, XF104>("SubmarineFree", "XF-104", "XF-104 Quad Mono Cross Fader", MIXER_TAG, QUAD_TAG);
Model *modelXF104 = Model::create<XF_104, XF104>("Submarine (Free)", "XF-104", "XF-104 Quad Mono Cross Fader", MIXER_TAG, QUAD_TAG);
return modelXF104;
}

+ 8
- 8
plugins/community/repos/SubmarineFree/src/XF-201.cpp View File

@@ -63,14 +63,14 @@ struct XF201 : ModuleWidget {
setPanel(SVG::load(assetPlugin(plugin, "res/XF-201.svg")));
for (int i = 0; i < XF_201::deviceCount; i++) {
int offset = 176 * i;
addInput(Port::create<sub_port>(Vec(3,18 + offset), Port::INPUT, module, XF_201::INPUT_A_1 + i));
addInput(Port::create<sub_port_red>(Vec(3,45 + offset), Port::INPUT, module, XF_201::INPUT_AR_1 + i));
addInput(Port::create<sub_port>(Vec(92,18 + offset), Port::INPUT, module, XF_201::INPUT_B_1 + i));
addInput(Port::create<sub_port_red>(Vec(92,45 + offset), Port::INPUT, module, XF_201::INPUT_BR_1 + i));
addInput(Port::create<sub_port>(Vec(3,120 + offset), Port::INPUT, module, XF_201::INPUT_CV_1 + i));
addInput(Port::create<SilverPort>(Vec(3,18 + offset), Port::INPUT, module, XF_201::INPUT_A_1 + i));
addInput(Port::create<RedPort>(Vec(3,45 + offset), Port::INPUT, module, XF_201::INPUT_AR_1 + i));
addInput(Port::create<SilverPort>(Vec(92,18 + offset), Port::INPUT, module, XF_201::INPUT_B_1 + i));
addInput(Port::create<RedPort>(Vec(92,45 + offset), Port::INPUT, module, XF_201::INPUT_BR_1 + i));
addInput(Port::create<SilverPort>(Vec(3,120 + offset), Port::INPUT, module, XF_201::INPUT_CV_1 + i));

addOutput(Port::create<sub_port>(Vec(92,93 + offset), Port::OUTPUT, module, XF_201::OUTPUT_1 + i));
addOutput(Port::create<sub_port_red>(Vec(92,120 + offset), Port::OUTPUT, module, XF_201::OUTPUTR_1 + i));
addOutput(Port::create<SilverPort>(Vec(92,93 + offset), Port::OUTPUT, module, XF_201::OUTPUT_1 + i));
addOutput(Port::create<RedPort>(Vec(92,120 + offset), Port::OUTPUT, module, XF_201::OUTPUTR_1 + i));

addParam(ParamWidget::create<sub_sw_2>(Vec(28, 154.5 + offset), module, XF_201::PARAM_CV_1 + i, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<sub_sw_3>(Vec(65, 152 + offset), module, XF_201::PARAM_MODE_1 + i, 0.0f, 2.0f, 0.0f));
@@ -92,6 +92,6 @@ struct XF201 : ModuleWidget {
using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, XF201) {
Model *modelXF201 = Model::create<XF_201, XF201>("SubmarineFree", "XF-201", "XF-201 Single Stereo Cross Fader", MIXER_TAG);
Model *modelXF201 = Model::create<XF_201, XF201>("Submarine (Free)", "XF-201", "XF-201 Single Stereo Cross Fader", MIXER_TAG);
return modelXF201;
}

+ 8
- 8
plugins/community/repos/SubmarineFree/src/XF-202.cpp View File

@@ -64,14 +64,14 @@ struct XF202 : ModuleWidget {
setPanel(SVG::load(assetPlugin(plugin, "res/XF-202.svg")));
for (int i = 0; i < XF_202::deviceCount; i++) {
int offset = 176 * i;
addInput(Port::create<sub_port>(Vec(3,18 + offset), Port::INPUT, module, XF_202::INPUT_A_1 + i));
addInput(Port::create<sub_port_red>(Vec(3,45 + offset), Port::INPUT, module, XF_202::INPUT_AR_1 + i));
addInput(Port::create<sub_port>(Vec(92,18 + offset), Port::INPUT, module, XF_202::INPUT_B_1 + i));
addInput(Port::create<sub_port_red>(Vec(92,45 + offset), Port::INPUT, module, XF_202::INPUT_BR_1 + i));
addInput(Port::create<sub_port>(Vec(3,120 + offset), Port::INPUT, module, XF_202::INPUT_CV_1 + i));
addInput(Port::create<SilverPort>(Vec(3,18 + offset), Port::INPUT, module, XF_202::INPUT_A_1 + i));
addInput(Port::create<RedPort>(Vec(3,45 + offset), Port::INPUT, module, XF_202::INPUT_AR_1 + i));
addInput(Port::create<SilverPort>(Vec(92,18 + offset), Port::INPUT, module, XF_202::INPUT_B_1 + i));
addInput(Port::create<RedPort>(Vec(92,45 + offset), Port::INPUT, module, XF_202::INPUT_BR_1 + i));
addInput(Port::create<SilverPort>(Vec(3,120 + offset), Port::INPUT, module, XF_202::INPUT_CV_1 + i));

addOutput(Port::create<sub_port>(Vec(92,93 + offset), Port::OUTPUT, module, XF_202::OUTPUT_1 + i));
addOutput(Port::create<sub_port_red>(Vec(92,120 + offset), Port::OUTPUT, module, XF_202::OUTPUTR_1 + i));
addOutput(Port::create<SilverPort>(Vec(92,93 + offset), Port::OUTPUT, module, XF_202::OUTPUT_1 + i));
addOutput(Port::create<RedPort>(Vec(92,120 + offset), Port::OUTPUT, module, XF_202::OUTPUTR_1 + i));

addParam(ParamWidget::create<sub_sw_2>(Vec(28, 154.5 + offset), module, XF_202::PARAM_CV_1 + i, 0.0f, 1.0f, 0.0f));
addParam(ParamWidget::create<sub_sw_3>(Vec(65, 152 + offset), module, XF_202::PARAM_MODE_1 + i, 0.0f, 2.0f, 0.0f));
@@ -93,6 +93,6 @@ struct XF202 : ModuleWidget {
using namespace rack_plugin_SubmarineFree;

RACK_PLUGIN_MODEL_INIT(SubmarineFree, XF202) {
Model *modelXF202 = Model::create<XF_202, XF202>("SubmarineFree", "XF-202", "XF-202 Dual Stereo Cross Fader", MIXER_TAG, DUAL_TAG);
Model *modelXF202 = Model::create<XF_202, XF202>("Submarine (Free)", "XF-202", "XF-202 Dual Stereo Cross Fader", MIXER_TAG, DUAL_TAG);
return modelXF202;
}

+ 1
- 1
plugins/community/repos/SubmarineFree/src/XF.hpp View File

@@ -35,7 +35,7 @@ struct XF_Controls {
XF_Correlator *correlator;
};

struct XF_LightKnob : sub_knob_large_narrow {
struct XF_LightKnob : LargeKnob<NarrowKnob<LightKnob>> {
int cv;
int link;
void step() override;


Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save