shroom 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +0,0 @@
1
- module Sh
2
- class Artist
3
- attr_accessor :name, :mbid, :image_path, :info
4
- attr_accessor :db_id
5
-
6
- def initialize
7
- @albums = []
8
- end
9
-
10
- def to_s
11
- return self.name
12
- end
13
- end
14
- end
@@ -1,135 +0,0 @@
1
- require 'rubygems'
2
- require 'sh_tagreader'
3
- require 'sh_album'
4
- require 'sh_artist'
5
- require 'cgi'
6
- try_require 'earworm'
7
- if try_require 'rbrainz'
8
- include MusicBrainz
9
- end
10
-
11
- module Sh
12
- class Song
13
- attr_reader :path, :mime, :matches
14
- attr_writer :album, :artist, :track_num
15
- attr_accessor :title, :mbid, :lyrics
16
- attr_accessor :db_id
17
-
18
- def initialize path
19
- @path = File.expand_path path
20
- self.artist = Sh::Artist.new
21
- self.album = Sh::Album.new
22
- end
23
-
24
- def album
25
- return @album
26
- end
27
-
28
- def artist
29
- return @artist
30
- end
31
-
32
- def track_num
33
- return (@track_num || 0).to_i
34
- end
35
-
36
- def duration
37
- return (@duration ||= Sh::TagReader.read(path)[:duration])
38
- end
39
-
40
- def lookup!
41
- # Return if there is no internet connection
42
- return false unless Ping.pingecho("musicip.com", 5)
43
-
44
- begin
45
- track = lookup_multiple.first
46
- # Don't distinguish between bands with the same name by adding to the name
47
- track.artist.disambiguation = false
48
- # Pull data from response
49
- self.title = track.title
50
- artist.name = track.artist.to_s
51
- artist.mbid = track.artist.id.to_mbid.uuid
52
- rel = track.releases.to_a.first
53
- album.title = rel.title
54
- album.mbid = rel.id.to_mbid.uuid
55
- # Determine track number
56
- query = Webservice::Query.new
57
- filter = Webservice::TrackFilter.new(:artistid => artist.mbid,
58
- :releaseid => album.mbid)
59
- tracks = query.get_tracks(filter).entities
60
- tracks.to_a.each_with_index do |t, i|
61
- if t.title == track.title and t.duration == track.duration
62
- self.track_num = i + 1
63
- end
64
- end
65
- rescue Exception
66
- return false
67
- end
68
-
69
- return true
70
- end
71
-
72
- private
73
- def lookup_multiple
74
- # Generate fingerprint and send to MusicDNS
75
- ew = Earworm::Client.new(Sh::KEYS[:music_dns])
76
- begin
77
- info = ew.identify(:file => path)
78
- rescue Exception
79
- printf "Couldn't generate fingerprint for %s\n> %s\n\n", path, $!
80
- return
81
- end
82
- puids = info.puid_list
83
- self.title = info.title
84
- self.artist.name = info.artist_name
85
- # Return if no matches are found
86
- return if not title or not artist.name
87
- # Get more information from MusicBrainz
88
- query = Webservice::Query.new
89
- filter = Webservice::TrackFilter.new(:artist => artist.name,
90
- :title => title, :puid => puids.first)
91
- tracks = query.get_tracks(filter).entities
92
- @matches = (tracks || [])
93
- return @matches
94
- end
95
-
96
- public
97
- def read_tags! overwrite=false
98
- Sh::TagReader.read(path) do |data|
99
- if overwrite
100
- @title = data[:title]
101
- artist.name = data[:artist]
102
- album.title = data[:album]
103
- album.date = data[:year]
104
- @track_num = data[:track_num]
105
- @duration = data[:duration]
106
- else
107
- @title ||= data[:title]
108
- artist.name ||= data[:artist]
109
- album.title ||= data[:album]
110
- album.date ||= data[:year]
111
- @track_num ||= data[:track_num]
112
- @duration ||= data[:duration]
113
- end
114
- end
115
- end
116
-
117
- public
118
- def to_s
119
- sprintf("%s, %s, %.2d - %s", artist, album, track_num, title)
120
- end
121
-
122
- def to_html
123
- t = title
124
- t = "Unknown" if not t or t.strip == ""
125
- t = CGI.escapeHTML t
126
- ar = artist.name
127
- ar = "Unknown" if not ar or ar.strip == ""
128
- ar = CGI.escapeHTML ar
129
- al = album.title
130
- al = "Unknown" if not al or al.strip == ""
131
- al = CGI.escapeHTML al
132
- return "<b>#{t}</b> by <i>#{ar}</i> from <i>#{al}</i>"
133
- end
134
- end
135
- end
@@ -1,152 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
- <svg
4
- xmlns:dc="http://purl.org/dc/elements/1.1/"
5
- xmlns:cc="http://creativecommons.org/ns#"
6
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
- xmlns:svg="http://www.w3.org/2000/svg"
8
- xmlns="http://www.w3.org/2000/svg"
9
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
11
- width="381.42856"
12
- height="381.42856"
13
- id="svg2"
14
- sodipodi:version="0.32"
15
- inkscape:version="0.46"
16
- version="1.0"
17
- sodipodi:docname="cover_unavailable.svg"
18
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
19
- <defs
20
- id="defs4">
21
- <inkscape:perspective
22
- sodipodi:type="inkscape:persp3d"
23
- inkscape:vp_x="0 : 526.18109 : 1"
24
- inkscape:vp_y="0 : 1000 : 0"
25
- inkscape:vp_z="744.09448 : 526.18109 : 1"
26
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
27
- id="perspective10" />
28
- </defs>
29
- <sodipodi:namedview
30
- id="base"
31
- pagecolor="#ffffff"
32
- bordercolor="#666666"
33
- borderopacity="1.0"
34
- gridtolerance="10000"
35
- guidetolerance="10"
36
- objecttolerance="10"
37
- inkscape:pageopacity="0.0"
38
- inkscape:pageshadow="2"
39
- inkscape:zoom="0.7"
40
- inkscape:cx="320.64007"
41
- inkscape:cy="345.12853"
42
- inkscape:document-units="px"
43
- inkscape:current-layer="layer1"
44
- showgrid="false"
45
- inkscape:window-width="1280"
46
- inkscape:window-height="972"
47
- inkscape:window-x="0"
48
- inkscape:window-y="0" />
49
- <metadata
50
- id="metadata7">
51
- <rdf:RDF>
52
- <cc:Work
53
- rdf:about="">
54
- <dc:format>image/svg+xml</dc:format>
55
- <dc:type
56
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
57
- </cc:Work>
58
- </rdf:RDF>
59
- </metadata>
60
- <g
61
- inkscape:label="Layer 1"
62
- inkscape:groupmode="layer"
63
- id="layer1"
64
- transform="translate(-78.571434,-149.50504)">
65
- <rect
66
- style="fill:#f9f9f9;stroke:none"
67
- id="rect2443"
68
- width="381.42856"
69
- height="381.42856"
70
- x="78.571434"
71
- y="149.50504" />
72
- <g
73
- id="g2435"
74
- style="stroke:none">
75
- <path
76
- sodipodi:nodetypes="csscc"
77
- id="path2383"
78
- d="M 291.42857,268.07647 C 242.09733,308.91545 179.32004,340.42259 165.71429,413.79075 C 151.7914,488.86906 234.21959,487.07658 238.57143,448.07646 C 248.05394,363.09655 297.65886,347.77628 361.42857,316.6479 L 291.42857,268.07647 z"
79
- style="fill:#f4eed7;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
80
- <path
81
- sodipodi:nodetypes="ccsc"
82
- id="path2385"
83
- d="M 196.47008,231.47362 C 182.44969,251.33186 336.04035,423.14066 362.96322,412.13253 C 362.96322,412.13253 441.04616,314.71479 369.23136,243.13276 C 279.66804,153.85971 196.47008,231.47362 196.47008,231.47362 z"
84
- style="fill:#e3dbdb;fill-rule:evenodd;stroke:none;stroke-width:0.8903318px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
85
- <path
86
- id="path2397"
87
- d="M 369.22334,243.12705 C 360.69876,246.24585 354.9784,252.10661 351.77125,263.60006 C 347.74687,278.02224 371.0174,286.3003 381.73527,284.45769 C 385.65493,283.78382 389.66033,281.84031 393.16416,279.13981 C 388.41962,266.81197 380.76555,254.63185 369.22334,243.12705 z"
88
- style="fill:#f9f9f9;fill-rule:evenodd;stroke:none;stroke-width:0.8903318px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
89
- <path
90
- sodipodi:nodetypes="csscc"
91
- id="path2387"
92
- d="M 254.94698,226.67275 C 247.95049,238.38788 268.22351,248.90106 275.64028,250.71507 C 289.18069,254.02679 298.84971,249.45522 309.88972,243.90691 C 320.43777,238.60585 319.25221,226.4191 313.56774,219.81466 C 292.68145,203.64386 272.15885,203.78965 254.94698,226.67275 z"
93
- style="fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:0.6542201px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
94
- <path
95
- id="path2402"
96
- d="M 263.76512,285.09005 C 251.72283,284.64748 240.52368,290.44177 237.104,301.73991 C 246.93918,313.80633 257.82903,326.29465 269.01783,338.41223 C 276.64461,337.92525 284.43932,335.36996 292.20342,332.18825 C 314.27336,323.14402 296.49686,303.58325 285.11016,292.98682 C 278.6965,287.93922 271.08217,285.35897 263.76512,285.09005 z"
97
- style="fill:#f9f9f9;fill-rule:evenodd;stroke:none;stroke-width:0.8903318px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
98
- <path
99
- id="path2389"
100
- d="M 377.31848,353.24079 C 366.98476,339.56774 353.52338,317.37162 335.95136,331.55225 C 325.0707,340.33295 343.24109,361.05816 348.37485,367.41969 C 357.51566,378.74658 369.77322,378.17982 377.82544,367.51752 C 380.28838,364.25622 377.74719,355.20072 377.31848,353.24079 z"
101
- style="fill:#f9f9f9;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
102
- </g>
103
- <text
104
- xml:space="preserve"
105
- style="font-size:51.94473648px;font-style:normal;font-weight:normal;fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
106
- x="274.08447"
107
- y="316.94168"
108
- id="text2424"><tspan
109
- sodipodi:role="line"
110
- id="tspan2426"
111
- x="274.08447"
112
- y="316.94168"
113
- style="font-weight:bold;text-align:center;text-anchor:middle;fill:#4d4d4d;-inkscape-font-specification:Bitstream Vera Sans Bold">Cover</tspan><tspan
114
- sodipodi:role="line"
115
- x="274.08447"
116
- y="381.87259"
117
- id="tspan2428"
118
- style="font-weight:bold;text-align:center;text-anchor:middle;fill:#4d4d4d;-inkscape-font-specification:Bitstream Vera Sans Bold">Unavailable</tspan></text>
119
- <text
120
- id="text2445"
121
- y="312.65598"
122
- x="270.37018"
123
- style="font-size:51.94473648px;font-style:normal;font-weight:normal;fill:#e6e6e6;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
124
- xml:space="preserve"><tspan
125
- style="font-weight:bold;text-align:center;text-anchor:middle;fill:#e6e6e6;-inkscape-font-specification:Bitstream Vera Sans Bold"
126
- y="312.65598"
127
- x="270.37018"
128
- id="tspan2447"
129
- sodipodi:role="line">Cover</tspan><tspan
130
- style="font-weight:bold;text-align:center;text-anchor:middle;fill:#e6e6e6;-inkscape-font-specification:Bitstream Vera Sans Bold"
131
- id="tspan2449"
132
- y="377.58688"
133
- x="270.37018"
134
- sodipodi:role="line">Unavailable</tspan></text>
135
- <text
136
- xml:space="preserve"
137
- style="font-size:51.94473648px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
138
- x="272.37018"
139
- y="314.65598"
140
- id="text2412"><tspan
141
- sodipodi:role="line"
142
- id="tspan2414"
143
- x="272.37018"
144
- y="314.65598"
145
- style="font-weight:bold;text-align:center;text-anchor:middle;fill:#999999;-inkscape-font-specification:Bitstream Vera Sans Bold">Cover</tspan><tspan
146
- sodipodi:role="line"
147
- x="272.37018"
148
- y="379.58688"
149
- id="tspan2416"
150
- style="font-weight:bold;text-align:center;text-anchor:middle;fill:#999999;-inkscape-font-specification:Bitstream Vera Sans Bold">Unavailable</tspan></text>
151
- </g>
152
- </svg>
@@ -1,206 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
- <svg
4
- xmlns:dc="http://purl.org/dc/elements/1.1/"
5
- xmlns:cc="http://creativecommons.org/ns#"
6
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
- xmlns:svg="http://www.w3.org/2000/svg"
8
- xmlns="http://www.w3.org/2000/svg"
9
- xmlns:xlink="http://www.w3.org/1999/xlink"
10
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
- width="128"
13
- height="128"
14
- id="svg2"
15
- sodipodi:version="0.32"
16
- inkscape:version="0.46"
17
- version="1.0"
18
- sodipodi:docname="icon.svg"
19
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
20
- inkscape:export-filename="/home/aiden/data/Projects/Ruby/shroom/lib/shroom-res/icon.png"
21
- inkscape:export-xdpi="90"
22
- inkscape:export-ydpi="90">
23
- <defs
24
- id="defs4">
25
- <linearGradient
26
- id="linearGradient3185">
27
- <stop
28
- style="stop-color:#d81010;stop-opacity:1;"
29
- offset="0"
30
- id="stop3187" />
31
- <stop
32
- style="stop-color:#f79393;stop-opacity:1;"
33
- offset="1"
34
- id="stop3189" />
35
- </linearGradient>
36
- <linearGradient
37
- id="linearGradient3173">
38
- <stop
39
- style="stop-color:#ddd990;stop-opacity:1;"
40
- offset="0"
41
- id="stop3175" />
42
- <stop
43
- id="stop3183"
44
- offset="1"
45
- style="stop-color:#fafaef;stop-opacity:1;" />
46
- </linearGradient>
47
- <inkscape:perspective
48
- sodipodi:type="inkscape:persp3d"
49
- inkscape:vp_x="0 : 526.18109 : 1"
50
- inkscape:vp_y="0 : 1000 : 0"
51
- inkscape:vp_z="744.09448 : 526.18109 : 1"
52
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
53
- id="perspective10" />
54
- <inkscape:perspective
55
- id="perspective2390"
56
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
57
- inkscape:vp_z="744.09448 : 526.18109 : 1"
58
- inkscape:vp_y="0 : 1000 : 0"
59
- inkscape:vp_x="0 : 526.18109 : 1"
60
- sodipodi:type="inkscape:persp3d" />
61
- <linearGradient
62
- inkscape:collect="always"
63
- xlink:href="#linearGradient3173"
64
- id="linearGradient3181"
65
- x1="67.09375"
66
- y1="71.425606"
67
- x2="72.102676"
68
- y2="70.175606"
69
- gradientUnits="userSpaceOnUse" />
70
- <linearGradient
71
- inkscape:collect="always"
72
- xlink:href="#linearGradient3185"
73
- id="linearGradient3191"
74
- x1="66.030533"
75
- y1="64.673965"
76
- x2="71.879753"
77
- y2="59.227531"
78
- gradientUnits="userSpaceOnUse" />
79
- <linearGradient
80
- inkscape:collect="always"
81
- xlink:href="#linearGradient3185"
82
- id="linearGradient3206"
83
- gradientUnits="userSpaceOnUse"
84
- x1="66.030533"
85
- y1="64.673965"
86
- x2="71.879753"
87
- y2="59.227531" />
88
- <linearGradient
89
- inkscape:collect="always"
90
- xlink:href="#linearGradient3173"
91
- id="linearGradient3208"
92
- gradientUnits="userSpaceOnUse"
93
- x1="67.09375"
94
- y1="71.425606"
95
- x2="72.102676"
96
- y2="70.175606" />
97
- <linearGradient
98
- inkscape:collect="always"
99
- xlink:href="#linearGradient3173"
100
- id="linearGradient3214"
101
- gradientUnits="userSpaceOnUse"
102
- x1="67.09375"
103
- y1="71.425606"
104
- x2="72.102676"
105
- y2="70.175606"
106
- gradientTransform="matrix(7.6863997,0,0,7.6863997,-464.30109,-449.66077)" />
107
- <linearGradient
108
- inkscape:collect="always"
109
- xlink:href="#linearGradient3185"
110
- id="linearGradient3217"
111
- gradientUnits="userSpaceOnUse"
112
- x1="66.030533"
113
- y1="64.673965"
114
- x2="71.879753"
115
- y2="59.227531"
116
- gradientTransform="matrix(7.6863997,0,0,7.6863997,-464.30109,-449.66077)" />
117
- <linearGradient
118
- inkscape:collect="always"
119
- xlink:href="#linearGradient3185"
120
- id="linearGradient3221"
121
- gradientUnits="userSpaceOnUse"
122
- gradientTransform="matrix(7.6863997,0,0,7.6863997,-464.30109,-449.66077)"
123
- x1="66.030533"
124
- y1="64.673965"
125
- x2="71.879753"
126
- y2="59.227531" />
127
- <linearGradient
128
- inkscape:collect="always"
129
- xlink:href="#linearGradient3185"
130
- id="linearGradient3226"
131
- gradientUnits="userSpaceOnUse"
132
- gradientTransform="matrix(7.6863997,0,0,7.6863997,-464.30109,-449.66077)"
133
- x1="66.030533"
134
- y1="64.673965"
135
- x2="71.879753"
136
- y2="59.227531" />
137
- <linearGradient
138
- inkscape:collect="always"
139
- xlink:href="#linearGradient3185"
140
- id="linearGradient3231"
141
- gradientUnits="userSpaceOnUse"
142
- gradientTransform="matrix(7.6863997,0,0,7.6863997,-464.30109,-449.66077)"
143
- x1="66.030533"
144
- y1="64.673965"
145
- x2="71.879753"
146
- y2="59.227531" />
147
- </defs>
148
- <sodipodi:namedview
149
- id="base"
150
- pagecolor="#ffffff"
151
- bordercolor="#666666"
152
- borderopacity="1.0"
153
- gridtolerance="10000"
154
- guidetolerance="10"
155
- objecttolerance="10"
156
- inkscape:pageopacity="0.0"
157
- inkscape:pageshadow="2"
158
- inkscape:zoom="0.98994949"
159
- inkscape:cx="-129.05856"
160
- inkscape:cy="95.506274"
161
- inkscape:document-units="px"
162
- inkscape:current-layer="layer1"
163
- showgrid="false"
164
- inkscape:window-width="1280"
165
- inkscape:window-height="952"
166
- inkscape:window-x="0"
167
- inkscape:window-y="25" />
168
- <metadata
169
- id="metadata7">
170
- <rdf:RDF>
171
- <cc:Work
172
- rdf:about="">
173
- <dc:format>image/svg+xml</dc:format>
174
- <dc:type
175
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
176
- </cc:Work>
177
- </rdf:RDF>
178
- </metadata>
179
- <g
180
- inkscape:label="Layer 1"
181
- inkscape:groupmode="layer"
182
- id="layer1">
183
- <path
184
- style="fill:url(#linearGradient3217);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0;stroke-miterlimit:4;stroke-dasharray:none"
185
- d="M 6.4908916,57.916122 C 24.999535,58.794024 105.77402,59.044478 121.78689,59.288698 C 131.51788,59.437115 111.17279,6.7059531 62.766321,7.1309803 C 14.358045,7.5560228 -3.430298,57.445546 6.4908916,57.916122 z"
186
- id="path2396"
187
- sodipodi:nodetypes="cszs" />
188
- <path
189
- style="fill:url(#linearGradient3214);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0;stroke-miterlimit:4;stroke-dasharray:none"
190
- d="M 43.24149,58.60241 L 43.48169,116.01021 C 43.542721,130.59666 82.73358,126.90661 82.634289,115.28961 L 82.153889,59.08281 C 68.137693,58.983433 57.427602,58.761526 43.24149,58.60241 z"
191
- id="path2398"
192
- sodipodi:nodetypes="csscc" />
193
- <path
194
- style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0;stroke-miterlimit:4;stroke-dasharray:none"
195
- d="M 103.71875 43.1875 C 102.26956 43.207151 100.91692 43.48529 99.90625 44.125 C 96.197739 46.47232 90.335985 54.343794 94.59375 57.75 C 95.129767 58.178813 95.873561 58.630912 96.75 59.0625 C 96.759442 59.062566 96.771811 59.062434 96.78125 59.0625 C 106.76936 59.132599 114.2276 59.191346 119 59.25 C 119.07587 59.134452 119.1521 59.029367 119.21875 58.90625 C 121.57537 54.552957 114.73828 47.432683 110.5 44.875 C 108.79319 43.844986 106.13406 43.154748 103.71875 43.1875 z "
196
- id="path3224" />
197
- <path
198
- style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0;stroke-miterlimit:4;stroke-dasharray:none"
199
- d="M 34.75 13.8125 C 24.029081 19.257975 16.113724 27.276003 11 35 C 14.127645 39.028665 19.127459 42.369797 23.09375 42.65625 C 31.784744 43.28393 46.237628 33.649945 46.09375 24.9375 C 46.017229 20.303889 40.3162 15.899514 34.75 13.8125 z "
200
- id="path3229" />
201
- <path
202
- style="fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1.0;stroke-miterlimit:4;stroke-dasharray:none"
203
- d="M 80.65625 19.03125 C 77.997773 19.118855 75.15174 19.743968 72.34375 21 C 69.295722 22.363411 63.410697 24.286122 63.375 27.625 C 63.305604 34.116491 74.008211 40.874321 80.5 40.84375 C 85.404748 40.82066 92.327441 35.517104 93.34375 30.71875 C 94.89759 23.382506 88.631682 18.768434 80.65625 19.03125 z "
204
- id="path3219" />
205
- </g>
206
- </svg>