Merge lp:~morphis/network-manager/add-snappy-support into lp:~phablet-team/network-manager/snappy
- add-snappy-support
- Merge into snappy
Status: | Merged |
---|---|
Approved by: | Tony Espy |
Approved revision: | 978 |
Merged at revision: | 972 |
Proposed branch: | lp:~morphis/network-manager/add-snappy-support |
Merge into: | lp:~phablet-team/network-manager/snappy |
Diff against target: |
4420 lines (+4353/-0) 12 files modified
debian/patches/add-snappy-support.patch (+691/-0) debian/patches/fix-code-to-build-with-werror.patch (+547/-0) debian/patches/series (+3/-0) parts/plugins/x-autotools.py (+129/-0) snapcraft.yaml (+239/-0) snappy/bin/dhclient (+32/-0) snappy/bin/dnsmasq (+41/-0) snappy/bin/networkmanager (+37/-0) snappy/conf/NetworkManager.conf (+6/-0) snappy/conf/dnsmasq-dbus.conf (+10/-0) snappy/conf/org.freedesktop.NetworkManager.conf (+152/-0) snappy/icon.svg (+2466/-0) |
To merge this branch: | bzr merge lp:~morphis/network-manager/add-snappy-support |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Tony Espy | Approve | ||
Simon Fels | Pending | ||
Review via email: mp+289514@code.launchpad.net |
Commit message
Import snappy support from our 15.04 work
This is fully converted to snapcraft 2.x syntax now but still runs fully
unconfined. Also this doesn't include ModemManager as for the snappy 16
series we still have to find out whether we go with it or ofono as default.
Additionaly this is putting the snappy build configuration next to our
debian to both together and build stuff from the same base (patches,
config, ...).
Description of the change
Still some things we need to debate like
- version number (took the nm version + -<n>)
- Applying all debian/patches/ or not
but is fine for a first drop and we can move on from what we have then in that branch by defining further work items.
- 976. By Simon Fels
-
Remove left over ModemManager udev rules
Tony Espy (awe) wrote : | # |
Also note that the bluez snap uses the ~bluetooth team, perhaps we should use ~network-manager here instead of ~phablet-team?
Simon Fels (morphis) wrote : | # |
Thanks a lot for the first review round!
For 1: I must say I don't really like us separating stuff into multiple different approaches per product. We already have separate packaging branches for desktop and touch and adding a third one for snappy doesn't really scale. That there are debian patches which might not apply to snappy, stale patches etc. but those things are all sth we have to solve over time. We have to find one common approach for all projects we're doing and apply that to all projects the same way.
Also respect that we're already shipping snappy packages for 15.04 with the exact same approach we're doing here but just having the debian package unpacked in another git repo. So this is only a continuation of what we've done before but in a more packed way. I would really like to bring all the different work we're doing as close as possible together rather than investing a huge amount of time for development, testing, reviewing for all different projects. There will be always project specific development/
I am fine with adding the debian packaging version number.
For 2: Adding --enable-snappy was done with the aim to align our packaging as described for 1). The debian package would simply build with --disable-snappy.
For 3: I removed ModemManager as
* It needs to be in its own snap. The NetworkManager snap/part
then just interacts with. What we did for 15.04 was a
quick hack and is nothing we should just continue to do
without discussing what we really want.
* Its a per device decision if a telephony snap should be
installed or not.
* There are different components we can use to bring
telephony into the game and we still haven't decided
which horse we will ride for snappy (ofono, ModemManager)
* This MP isn't aiming for feature completeness. Its just
bringing the basic work from 15.04 to series 16 and
leaving stuff out we don't know if we want it or not.
Also I left ofono in place as I simply copied the configflags from the debian packaging which have ofono enabled by default. That is again sth which needs to be reworked in follow up stories after we have decided where our way goes to.
For 4: I added that patch simply because all the wonderful patches we did on top of upstream doesn't build with -Werror (deprecated glib functions, ignoring const, unused variables) which is the default on xenial. I am sure you fixed some or most of them already with your 1.2 work and lets not bother with this patch too much. Its just there to get stuff building for the time being but the right way is to rework all those patches.
For 5: That icon is what we had in 15.04 for the network-manager snap. Its a more colorful networking one coming from the default icon set on desktop??
For 6: None yet. But the best would be if we get rid of them by telling the build not to install things into arch specific directories as that doesn't make much sense with snappy. Its currently a bit of a mess how those things are handled within the snap configuration but that is up for later.
For 7: Works as it s...
- 977. By Simon Fels
-
Move snappy icon to its folder
- 978. By Simon Fels
-
Reflect debian version also in our snap version
Tony Espy (awe) : | # |
Tony Espy (awe) wrote : | # |
Approved; discussion on most of the above points will happen separately.
Preview Diff
1 | === added file 'debian/patches/add-snappy-support.patch' | |||
2 | --- debian/patches/add-snappy-support.patch 1970-01-01 00:00:00 +0000 | |||
3 | +++ debian/patches/add-snappy-support.patch 2016-03-30 06:28:14 +0000 | |||
4 | @@ -0,0 +1,691 @@ | |||
5 | 1 | Index: build/configure.ac | ||
6 | 2 | =================================================================== | ||
7 | 3 | --- build.orig/configure.ac | ||
8 | 4 | +++ build/configure.ac | ||
9 | 5 | @@ -758,6 +758,15 @@ fi | ||
10 | 6 | AM_CONDITIONAL(BUILD_NMTUI, test "$build_nmtui" = yes) | ||
11 | 7 | |||
12 | 8 | |||
13 | 9 | +AC_ARG_ENABLE(snappy, AS_HELP_STRING([--enable-snappy], [enable Ubuntu Snappy support]), | ||
14 | 10 | + [enable_snappy=${enableval}], [enable_snappy=yes]) | ||
15 | 11 | +if (test "${enable_snappy}" = "yes"); then | ||
16 | 12 | + AC_DEFINE(WITH_SNAPPY, 1, [Define if you want Ubuntu Snappy support]) | ||
17 | 13 | +else | ||
18 | 14 | + AC_DEFINE(WITH_SNAPPY, 0, [Define if you want Ubuntu Snappy support]) | ||
19 | 15 | +fi | ||
20 | 16 | +AM_CONDITIONAL(WITH_SNAPPY, test "${enable_snappy}" = "yes") | ||
21 | 17 | + | ||
22 | 18 | NM_COMPILER_WARNINGS | ||
23 | 19 | |||
24 | 20 | dnl ------------------------- | ||
25 | 21 | @@ -921,6 +930,7 @@ else | ||
26 | 22 | echo " policykit: no" | ||
27 | 23 | fi | ||
28 | 24 | echo " selinux: $have_selinux" | ||
29 | 25 | +echo " Ubuntu snappy: ${enable_snappy}" | ||
30 | 26 | echo | ||
31 | 27 | |||
32 | 28 | echo "Features:" | ||
33 | 29 | Index: build/src/Makefile.am | ||
34 | 30 | =================================================================== | ||
35 | 31 | --- build.orig/src/Makefile.am | ||
36 | 32 | +++ build/src/Makefile.am | ||
37 | 33 | @@ -38,6 +38,11 @@ AM_CPPFLAGS = \ | ||
38 | 34 | -DG_LOG_DOMAIN=\""NetworkManager"\" \ | ||
39 | 35 | -DNM_VERSION_MAX_ALLOWED=NM_VERSION_NEXT_STABLE | ||
40 | 36 | |||
41 | 37 | +if WITH_SNAPPY | ||
42 | 38 | +AM_CPPFLAGS += \ | ||
43 | 39 | + -DSNAPPY= | ||
44 | 40 | +endif | ||
45 | 41 | + | ||
46 | 42 | # add each subdirectory that contains a libNM source file. $(sort) is being used | ||
47 | 43 | # primarily for its side effect of removing duplicates. | ||
48 | 44 | AM_CPPFLAGS += $(foreach d,$(sort $(dir $(libNetworkManager_la_SOURCES))),-I$(top_srcdir)/src/$d) | ||
49 | 45 | Index: build/src/devices/nm-device.c | ||
50 | 46 | =================================================================== | ||
51 | 47 | --- build.orig/src/devices/nm-device.c | ||
52 | 48 | +++ build/src/devices/nm-device.c | ||
53 | 49 | @@ -78,6 +78,8 @@ static void impl_device_disconnect (NMDe | ||
54 | 50 | |||
55 | 51 | #include "nm-device-glue.h" | ||
56 | 52 | |||
57 | 53 | +#include "snappy.h" | ||
58 | 54 | + | ||
59 | 55 | static void nm_device_config_device_interface_init (NMConfigDeviceInterface *iface); | ||
60 | 56 | |||
61 | 57 | G_DEFINE_ABSTRACT_TYPE_WITH_CODE (NMDevice, nm_device, G_TYPE_OBJECT, | ||
62 | 58 | @@ -4454,6 +4456,12 @@ send_arps (NMDevice *self, const char *m | ||
63 | 59 | NMIP4Address *addr; | ||
64 | 60 | guint32 ipaddr; | ||
65 | 61 | GError *error = NULL; | ||
66 | 62 | + char *path = NULL; | ||
67 | 63 | + | ||
68 | 64 | + if (get_snap_app_path()) { | ||
69 | 65 | + path = g_strdup_printf("%s/usr/bin/arping", get_snap_app_path()); | ||
70 | 66 | + argv[0] = path; | ||
71 | 67 | + } | ||
72 | 68 | |||
73 | 69 | connection = nm_device_get_connection (self); | ||
74 | 70 | if (!connection) | ||
75 | 71 | @@ -4482,6 +4490,9 @@ send_arps (NMDevice *self, const char *m | ||
76 | 72 | g_clear_error (&error); | ||
77 | 73 | } | ||
78 | 74 | } | ||
79 | 75 | + | ||
80 | 76 | + if (path) | ||
81 | 77 | + g_free(path); | ||
82 | 78 | } | ||
83 | 79 | |||
84 | 80 | static gboolean | ||
85 | 81 | Index: build/src/dhcp-manager/nm-dhcp-dhclient.c | ||
86 | 82 | =================================================================== | ||
87 | 83 | --- build.orig/src/dhcp-manager/nm-dhcp-dhclient.c | ||
88 | 84 | +++ build/src/dhcp-manager/nm-dhcp-dhclient.c | ||
89 | 85 | @@ -40,20 +40,21 @@ | ||
90 | 86 | #include "nm-dhcp-dhclient-utils.h" | ||
91 | 87 | #include "nm-dhcp-manager.h" | ||
92 | 88 | #include "nm-posix-signals.h" | ||
93 | 89 | +#include "snappy.h" | ||
94 | 90 | |||
95 | 91 | G_DEFINE_TYPE (NMDHCPDhclient, nm_dhcp_dhclient, NM_TYPE_DHCP_CLIENT) | ||
96 | 92 | |||
97 | 93 | #define NM_DHCP_DHCLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_DHCLIENT, NMDHCPDhclientPrivate)) | ||
98 | 94 | |||
99 | 95 | typedef struct { | ||
100 | 96 | - const char *path; | ||
101 | 97 | + char *path; | ||
102 | 98 | char *conf_file; | ||
103 | 99 | const char *def_leasefile; | ||
104 | 100 | char *lease_file; | ||
105 | 101 | char *pid_file; | ||
106 | 102 | } NMDHCPDhclientPrivate; | ||
107 | 103 | |||
108 | 104 | -const char * | ||
109 | 105 | +char * | ||
110 | 106 | nm_dhcp_dhclient_get_path (const char *try_first) | ||
111 | 107 | { | ||
112 | 108 | static const char *dhclient_paths[] = { | ||
113 | 109 | @@ -66,7 +67,7 @@ nm_dhcp_dhclient_get_path (const char *t | ||
114 | 110 | const char **path = dhclient_paths; | ||
115 | 111 | |||
116 | 112 | if (strlen (try_first) && g_file_test (try_first, G_FILE_TEST_EXISTS)) | ||
117 | 113 | - return try_first; | ||
118 | 114 | + return g_strdup (try_first); | ||
119 | 115 | |||
120 | 116 | while (*path != NULL) { | ||
121 | 117 | if (g_file_test (*path, G_FILE_TEST_EXISTS)) | ||
122 | 118 | @@ -74,7 +75,7 @@ nm_dhcp_dhclient_get_path (const char *t | ||
123 | 119 | path++; | ||
124 | 120 | } | ||
125 | 121 | |||
126 | 122 | - return *path; | ||
127 | 123 | + return g_strdup(*path); | ||
128 | 124 | } | ||
129 | 125 | |||
130 | 126 | /** | ||
131 | 127 | @@ -97,9 +98,14 @@ get_dhclient_leasefile (const char *ifac | ||
132 | 128 | char **out_preferred_path) | ||
133 | 129 | { | ||
134 | 130 | char *path; | ||
135 | 131 | + char *base_path = NMSTATEDIR; | ||
136 | 132 | + | ||
137 | 133 | + if (get_snap_app_data_path()) | ||
138 | 134 | + base_path = (char *) get_snap_app_data_path(); | ||
139 | 135 | |||
140 | 136 | /* /var/lib/NetworkManager is the preferred leasefile path */ | ||
141 | 137 | - path = g_strdup_printf (NMSTATEDIR "/dhclient%s-%s-%s.lease", | ||
142 | 138 | + path = g_strdup_printf ("%s/dhclient%s-%s-%s.lease", | ||
143 | 139 | + base_path, | ||
144 | 140 | ipv6 ? "6" : "", | ||
145 | 141 | uuid, | ||
146 | 142 | iface); | ||
147 | 143 | @@ -274,12 +280,16 @@ create_dhclient_config (const char *ifac | ||
148 | 144 | const char *hostname) | ||
149 | 145 | { | ||
150 | 146 | char *orig = NULL, *new = NULL; | ||
151 | 147 | + char *base_path = NMSTATEDIR; | ||
152 | 148 | GError *error = NULL; | ||
153 | 149 | gboolean success = FALSE; | ||
154 | 150 | |||
155 | 151 | g_return_val_if_fail (iface != NULL, NULL); | ||
156 | 152 | |||
157 | 153 | - new = g_strdup_printf (NMSTATEDIR "/dhclient%s-%s.conf", is_ip6 ? "6" : "", iface); | ||
158 | 154 | + if (get_snap_app_data_path()) | ||
159 | 155 | + base_path = (char *) get_snap_app_data_path(); | ||
160 | 156 | + | ||
161 | 157 | + new = g_strdup_printf ("%s/dhclient%s-%s.conf", base_path, is_ip6 ? "6" : "", iface); | ||
162 | 158 | nm_log_dbg (is_ip6 ? LOGD_DHCP6 : LOGD_DHCP4, | ||
163 | 159 | "(%s): creating composite dhclient config %s", | ||
164 | 160 | iface, new); | ||
165 | 161 | @@ -351,9 +361,15 @@ dhclient_start (NMDHCPClient *client, | ||
166 | 162 | return -1; | ||
167 | 163 | } | ||
168 | 164 | |||
169 | 165 | - pid_file = g_strdup_printf ("/run/sendsigs.omit.d/network-manager.dhclient%s-%s.pid", | ||
170 | 166 | - ipv6 ? "6" : "", | ||
171 | 167 | - iface); | ||
172 | 168 | + if (get_snap_app_data_path()) | ||
173 | 169 | + pid_file = g_strdup_printf ("%s/run/sendsigs.omit.d/network-manager.dhclient%s-%s.pid", | ||
174 | 170 | + get_snap_app_data_path(), | ||
175 | 171 | + ipv6 ? "6" : "", | ||
176 | 172 | + iface); | ||
177 | 173 | + else | ||
178 | 174 | + pid_file = g_strdup_printf ("/run/sendsigs.omit.d/network-manager.dhclient%s-%s.pid", | ||
179 | 175 | + ipv6 ? "6" : "", | ||
180 | 176 | + iface); | ||
181 | 177 | |||
182 | 178 | /* Kill any existing dhclient from the pidfile */ | ||
183 | 179 | binary_name = g_path_get_basename (priv->path); | ||
184 | 180 | @@ -406,6 +422,8 @@ dhclient_start (NMDHCPClient *client, | ||
185 | 181 | } | ||
186 | 182 | } | ||
187 | 183 | |||
188 | 184 | + nm_log_warn (log_domain, "dhclient: building argv array; binary path is: %s", priv->path); | ||
189 | 185 | + | ||
190 | 186 | argv = g_ptr_array_new (); | ||
191 | 187 | g_ptr_array_add (argv, (gpointer) priv->path); | ||
192 | 188 | |||
193 | 189 | @@ -427,17 +445,22 @@ dhclient_start (NMDHCPClient *client, | ||
194 | 190 | g_ptr_array_add (argv, (gpointer) "-sf"); /* Set script file */ | ||
195 | 191 | g_ptr_array_add (argv, (gpointer) nm_dhcp_helper_path); | ||
196 | 192 | |||
197 | 193 | + nm_log_warn (log_domain, "dhclient: building argv array; -sf <helper_path> is: %s", nm_dhcp_helper_path); | ||
198 | 194 | + | ||
199 | 195 | if (pid_file) { | ||
200 | 196 | g_ptr_array_add (argv, (gpointer) "-pf"); /* Set pid file */ | ||
201 | 197 | g_ptr_array_add (argv, (gpointer) pid_file); | ||
202 | 198 | + nm_log_warn (log_domain, "dhclient: building argv array; -pf <pid_file> is: %s", pid_file); | ||
203 | 199 | } | ||
204 | 200 | |||
205 | 201 | g_ptr_array_add (argv, (gpointer) "-lf"); /* Set lease file */ | ||
206 | 202 | g_ptr_array_add (argv, (gpointer) priv->lease_file); | ||
207 | 203 | + nm_log_warn (log_domain, "dhclient: building argv array; -lf <lease_file> is: %s", priv->lease_file); | ||
208 | 204 | |||
209 | 205 | if (priv->conf_file) { | ||
210 | 206 | g_ptr_array_add (argv, (gpointer) "-cf"); /* Set interface config file */ | ||
211 | 207 | g_ptr_array_add (argv, (gpointer) priv->conf_file); | ||
212 | 208 | + nm_log_warn (log_domain, "dhclient: building argv array; -cf <config_file> is: %s", priv->conf_file); | ||
213 | 209 | } | ||
214 | 210 | |||
215 | 211 | /* Usually the system bus address is well-known; but if it's supposed | ||
216 | 212 | @@ -603,8 +626,15 @@ nm_dhcp_dhclient_init (NMDHCPDhclient *s | ||
217 | 213 | { | ||
218 | 214 | NMDHCPDhclientPrivate *priv = NM_DHCP_DHCLIENT_GET_PRIVATE (self); | ||
219 | 215 | const char **iter = &def_leasefiles[0]; | ||
220 | 216 | + char *dhclient_path = DHCLIENT_PATH; | ||
221 | 217 | + | ||
222 | 218 | + if (get_snap_app_path()) | ||
223 | 219 | + dhclient_path = g_strdup_printf("%s/sbin/dhclient", get_snap_app_path()); | ||
224 | 220 | + | ||
225 | 221 | + priv->path = nm_dhcp_dhclient_get_path (dhclient_path); | ||
226 | 222 | |||
227 | 223 | - priv->path = nm_dhcp_dhclient_get_path (DHCLIENT_PATH); | ||
228 | 224 | + if (get_snap_app_path ()) | ||
229 | 225 | + g_free (dhclient_path); | ||
230 | 226 | |||
231 | 227 | while (iter && *iter) { | ||
232 | 228 | if (g_file_test (*iter, G_FILE_TEST_EXISTS)) { | ||
233 | 229 | @@ -627,6 +657,7 @@ dispose (GObject *object) | ||
234 | 230 | g_free (priv->pid_file); | ||
235 | 231 | g_free (priv->conf_file); | ||
236 | 232 | g_free (priv->lease_file); | ||
237 | 233 | + g_free (priv->path); | ||
238 | 234 | |||
239 | 235 | G_OBJECT_CLASS (nm_dhcp_dhclient_parent_class)->dispose (object); | ||
240 | 236 | } | ||
241 | 237 | Index: build/src/main.c | ||
242 | 238 | =================================================================== | ||
243 | 239 | --- build.orig/src/main.c | ||
244 | 240 | +++ build/src/main.c | ||
245 | 241 | @@ -55,6 +55,7 @@ | ||
246 | 242 | #include "nm-posix-signals.h" | ||
247 | 243 | #include "nm-session-monitor.h" | ||
248 | 244 | #include "nm-dispatcher.h" | ||
249 | 245 | +#include "snappy.h" | ||
250 | 246 | |||
251 | 247 | #if !defined(NM_DIST_VERSION) | ||
252 | 248 | # define NM_DIST_VERSION VERSION | ||
253 | 249 | @@ -63,6 +64,9 @@ | ||
254 | 250 | #define NM_DEFAULT_PID_FILE NMRUNDIR "/NetworkManager.pid" | ||
255 | 251 | #define NM_DEFAULT_SYSTEM_STATE_FILE NMSTATEDIR "/NetworkManager.state" | ||
256 | 252 | |||
257 | 253 | +extern const char* get_snap_app_path(); | ||
258 | 254 | +extern const char* get_snap_app_data_path(); | ||
259 | 255 | + | ||
260 | 256 | /* | ||
261 | 257 | * Globals | ||
262 | 258 | */ | ||
263 | 259 | @@ -355,6 +359,7 @@ main (int argc, char *argv[]) | ||
264 | 260 | GError *error = NULL; | ||
265 | 261 | gboolean wrote_pidfile = FALSE; | ||
266 | 262 | char *bad_domains = NULL; | ||
267 | 263 | + char *run_dir, *state_dir; | ||
268 | 264 | |||
269 | 265 | GOptionEntry options[] = { | ||
270 | 266 | { "version", 'V', 0, G_OPTION_ARG_NONE, &show_version, N_("Print NetworkManager version and exit"), NULL }, | ||
271 | 267 | @@ -476,18 +481,37 @@ main (int argc, char *argv[]) | ||
272 | 268 | g_free (path); | ||
273 | 269 | } | ||
274 | 270 | |||
275 | 271 | + if (get_snap_app_data_path()) { | ||
276 | 272 | + run_dir = g_strdup_printf("%s/var/run/", get_snap_app_data_path()); | ||
277 | 273 | + state_dir = g_strdup_printf("%s/var/lib/", get_snap_app_data_path()); | ||
278 | 274 | + } else { | ||
279 | 275 | + run_dir = g_strdup (NMRUNDIR); | ||
280 | 276 | + state_dir = g_strdup (NMSTATEDIR); | ||
281 | 277 | + } | ||
282 | 278 | + | ||
283 | 279 | + nm_log_warn (LOGD_CORE, "run_dir: '%s", run_dir); | ||
284 | 280 | + nm_log_warn (LOGD_CORE, "state_dir: '%s", state_dir); | ||
285 | 281 | + | ||
286 | 282 | /* Setup runtime directory */ | ||
287 | 283 | - if (g_mkdir_with_parents (NMRUNDIR, 0755) != 0) { | ||
288 | 284 | - nm_log_err (LOGD_CORE, "Cannot create '%s': %s", NMRUNDIR, strerror (errno)); | ||
289 | 285 | + if (g_mkdir_with_parents (run_dir, 0755) != 0) { | ||
290 | 286 | + nm_log_err (LOGD_CORE, "Cannot create '%s': %s", run_dir, strerror (errno)); | ||
291 | 287 | + g_free (run_dir); | ||
292 | 288 | + g_free (state_dir); | ||
293 | 289 | exit (1); | ||
294 | 290 | } | ||
295 | 291 | |||
296 | 292 | + g_free (run_dir); | ||
297 | 293 | + | ||
298 | 294 | /* Ensure state directory exists */ | ||
299 | 295 | - if (g_mkdir_with_parents (NMSTATEDIR, 0755) != 0) { | ||
300 | 296 | - nm_log_err (LOGD_CORE, "Cannot create '%s': %s", NMSTATEDIR, strerror (errno)); | ||
301 | 297 | + if (g_mkdir_with_parents (state_dir, 0755) != 0) { | ||
302 | 298 | + nm_log_err (LOGD_CORE, "Cannot create '%s': %s", state_dir, strerror (errno)); | ||
303 | 299 | + g_free (run_dir); | ||
304 | 300 | + g_free (state_dir); | ||
305 | 301 | exit (1); | ||
306 | 302 | } | ||
307 | 303 | |||
308 | 304 | + g_free (state_dir); | ||
309 | 305 | + | ||
310 | 306 | pidfile = pidfile ? pidfile : g_strdup (NM_DEFAULT_PID_FILE); | ||
311 | 307 | state_file = state_file ? state_file : g_strdup (NM_DEFAULT_SYSTEM_STATE_FILE); | ||
312 | 308 | |||
313 | 309 | @@ -561,7 +585,10 @@ main (int argc, char *argv[]) | ||
314 | 310 | g_log_set_always_fatal (fatal_mask); | ||
315 | 311 | } | ||
316 | 312 | |||
317 | 313 | +#ifndef SNAPPY | ||
318 | 314 | + /* FIXME: this causes us to segfault in a snappy environment */ | ||
319 | 315 | nm_logging_syslog_openlog (debug); | ||
320 | 316 | +#endif | ||
321 | 317 | |||
322 | 318 | #if !GLIB_CHECK_VERSION (2, 35, 0) | ||
323 | 319 | g_type_init (); | ||
324 | 320 | @@ -593,6 +620,7 @@ main (int argc, char *argv[]) | ||
325 | 321 | |||
326 | 322 | /* Initialize our DBus service & connection */ | ||
327 | 323 | dbus_mgr = nm_dbus_manager_get (); | ||
328 | 324 | + | ||
329 | 325 | g_assert (dbus_mgr != NULL); | ||
330 | 326 | |||
331 | 327 | vpn_manager = nm_vpn_manager_get (); | ||
332 | 328 | Index: build/src/nm-activation-request.c | ||
333 | 329 | =================================================================== | ||
334 | 330 | --- build.orig/src/nm-activation-request.c | ||
335 | 331 | +++ build/src/nm-activation-request.c | ||
336 | 332 | @@ -37,6 +37,7 @@ | ||
337 | 333 | #include "nm-active-connection.h" | ||
338 | 334 | #include "nm-settings-connection.h" | ||
339 | 335 | #include "nm-posix-signals.h" | ||
340 | 336 | +#include "snappy.h" | ||
341 | 337 | |||
342 | 338 | |||
343 | 339 | G_DEFINE_TYPE (NMActRequest, nm_act_request, NM_TYPE_ACTIVE_CONNECTION) | ||
344 | 340 | @@ -228,8 +229,13 @@ nm_act_request_set_shared (NMActRequest | ||
345 | 341 | char *envp[1] = { NULL }; | ||
346 | 342 | gs_strfreev char **argv = NULL; | ||
347 | 343 | gs_free char *cmd = NULL; | ||
348 | 344 | + char *base_path = ""; | ||
349 | 345 | |||
350 | 346 | - cmd = g_strdup_printf ("%s --table %s %s %s", | ||
351 | 347 | + if (get_snap_app_path()) | ||
352 | 348 | + base_path = get_snap_app_path(); | ||
353 | 349 | + | ||
354 | 350 | + cmd = g_strdup_printf ("%s%s --table %s %s %s", | ||
355 | 351 | + base_path, | ||
356 | 352 | IPTABLES_PATH, | ||
357 | 353 | rule->table, | ||
358 | 354 | shared ? "--insert" : "--delete", | ||
359 | 355 | Index: build/src/nm-manager.c | ||
360 | 356 | =================================================================== | ||
361 | 357 | --- build.orig/src/nm-manager.c | ||
362 | 358 | +++ build/src/nm-manager.c | ||
363 | 359 | @@ -70,7 +70,7 @@ | ||
364 | 360 | #include "nm-sleep-monitor.h" | ||
365 | 361 | #include "nm-connectivity.h" | ||
366 | 362 | #include "nm-policy.h" | ||
367 | 363 | - | ||
368 | 364 | +#include "snappy.h" | ||
369 | 365 | |||
370 | 366 | #define NM_AUTOIP_DBUS_SERVICE "org.freedesktop.nm_avahi_autoipd" | ||
371 | 367 | #define NM_AUTOIP_DBUS_IFACE "org.freedesktop.nm_avahi_autoipd" | ||
372 | 368 | @@ -2022,13 +2022,25 @@ load_device_factories (NMManager *self) | ||
373 | 369 | const char *item; | ||
374 | 370 | char *path; | ||
375 | 371 | GSList *iter; | ||
376 | 372 | + char *plugin_dir; | ||
377 | 373 | + | ||
378 | 374 | + /* FIXME: hard-coded arch path... */ | ||
379 | 375 | + if (get_snap_app_path()) | ||
380 | 376 | + plugin_dir = g_strdup_printf("%s/usr/lib/NetworkManager/", | ||
381 | 377 | + get_snap_app_path()); | ||
382 | 378 | + else | ||
383 | 379 | + plugin_dir = g_strdup (NMPLUGINDIR); | ||
384 | 380 | + | ||
385 | 381 | + nm_log_warn (LOGD_HW, "load_device_factories: about to open plugin directory %s", plugin_dir); | ||
386 | 382 | + | ||
387 | 383 | + dir = g_dir_open (plugin_dir, 0, &error); | ||
388 | 384 | |||
389 | 385 | - dir = g_dir_open (NMPLUGINDIR, 0, &error); | ||
390 | 386 | if (!dir) { | ||
391 | 387 | nm_log_warn (LOGD_HW, "Failed to open plugin directory %s: %s", | ||
392 | 388 | - NMPLUGINDIR, | ||
393 | 389 | + plugin_dir, | ||
394 | 390 | (error && error->message) ? error->message : "(unknown)"); | ||
395 | 391 | g_clear_error (&error); | ||
396 | 392 | + g_free (plugin_dir); | ||
397 | 393 | return; | ||
398 | 394 | } | ||
399 | 395 | |||
400 | 396 | @@ -2045,7 +2057,11 @@ load_device_factories (NMManager *self) | ||
401 | 397 | if (g_str_has_suffix (item, ".la")) | ||
402 | 398 | continue; | ||
403 | 399 | |||
404 | 400 | - path = g_module_build_path (NMPLUGINDIR, item); | ||
405 | 401 | + if (get_snap_app_path()) | ||
406 | 402 | + path = g_module_build_path(plugin_dir, item); | ||
407 | 403 | + else | ||
408 | 404 | + path = g_module_build_path (NMPLUGINDIR, item); | ||
409 | 405 | + | ||
410 | 406 | g_assert (path); | ||
411 | 407 | plugin = g_module_open (path, G_MODULE_BIND_LOCAL); | ||
412 | 408 | g_free (path); | ||
413 | 409 | @@ -2113,8 +2129,11 @@ load_device_factories (NMManager *self) | ||
414 | 410 | nm_log_info (LOGD_HW, "Loaded device plugin: %s", g_module_name (plugin)); | ||
415 | 411 | }; | ||
416 | 412 | g_dir_close (dir); | ||
417 | 413 | + g_free (plugin_dir); | ||
418 | 414 | |||
419 | 415 | priv->factories = g_slist_reverse (priv->factories); | ||
420 | 416 | + | ||
421 | 417 | + nm_log_warn (LOGD_HW, "load_device_factories: all done"); | ||
422 | 418 | } | ||
423 | 419 | |||
424 | 420 | static void | ||
425 | 421 | Index: build/src/ppp-manager/nm-ppp-manager.c | ||
426 | 422 | =================================================================== | ||
427 | 423 | --- build.orig/src/ppp-manager/nm-ppp-manager.c | ||
428 | 424 | +++ build/src/ppp-manager/nm-ppp-manager.c | ||
429 | 425 | @@ -53,6 +53,7 @@ | ||
430 | 426 | #include "nm-dbus-manager.h" | ||
431 | 427 | #include "nm-logging.h" | ||
432 | 428 | #include "nm-posix-signals.h" | ||
433 | 429 | +#include "snappy.h" | ||
434 | 430 | |||
435 | 431 | static void impl_ppp_manager_need_secrets (NMPPPManager *manager, | ||
436 | 432 | DBusGMethodInvocation *context); | ||
437 | 433 | @@ -972,7 +973,16 @@ create_pppd_cmd_line (NMPPPManager *self | ||
438 | 434 | nm_cmd_line_add_string (cmd, priv->dbus_path); | ||
439 | 435 | |||
440 | 436 | nm_cmd_line_add_string (cmd, "plugin"); | ||
441 | 437 | - nm_cmd_line_add_string (cmd, NM_PPPD_PLUGIN); | ||
442 | 438 | + | ||
443 | 439 | + if (get_snap_app_path()) { | ||
444 | 440 | + gchar *plugin_path = g_strdup_printf("%s%s", | ||
445 | 441 | + get_snap_app_path(), | ||
446 | 442 | + NM_PPPD_PLUGIN); | ||
447 | 443 | + nm_cmd_line_add_string (cmd, plugin_path); | ||
448 | 444 | + g_free(plugin_path); | ||
449 | 445 | + } else { | ||
450 | 446 | + nm_cmd_line_add_string (cmd, NM_PPPD_PLUGIN); | ||
451 | 447 | + } | ||
452 | 448 | |||
453 | 449 | return cmd; | ||
454 | 450 | } | ||
455 | 451 | Index: build/src/settings/nm-settings.c | ||
456 | 452 | =================================================================== | ||
457 | 453 | --- build.orig/src/settings/nm-settings.c | ||
458 | 454 | +++ build/src/settings/nm-settings.c | ||
459 | 455 | @@ -68,6 +68,7 @@ | ||
460 | 456 | #include "nm-connection-provider.h" | ||
461 | 457 | #include "nm-config.h" | ||
462 | 458 | #include "NetworkManagerUtils.h" | ||
463 | 459 | +#include "snappy.h" | ||
464 | 460 | |||
465 | 461 | /* LINKER CRACKROCK */ | ||
466 | 462 | #define EXPORT(sym) void * __export_##sym = &sym; | ||
467 | 463 | @@ -124,7 +125,6 @@ static void connection_provider_init (NM | ||
468 | 464 | G_DEFINE_TYPE_EXTENDED (NMSettings, nm_settings, G_TYPE_OBJECT, 0, | ||
469 | 465 | G_IMPLEMENT_INTERFACE (NM_TYPE_CONNECTION_PROVIDER, connection_provider_init)) | ||
470 | 466 | |||
471 | 467 | - | ||
472 | 468 | typedef struct { | ||
473 | 469 | NMDBusManager *dbus_mgr; | ||
474 | 470 | |||
475 | 471 | @@ -615,6 +615,15 @@ load_plugins (NMSettings *self, const ch | ||
476 | 472 | const char **iter; | ||
477 | 473 | gboolean keyfile_added = FALSE; | ||
478 | 474 | gboolean success = TRUE; | ||
479 | 475 | + char *plugin_dir = NULL; | ||
480 | 476 | + | ||
481 | 477 | + if (get_snap_app_path()) { | ||
482 | 478 | + plugin_dir = g_strdup_printf ("%s/usr/lib/NetworkManager/", get_snap_app_path()); | ||
483 | 479 | + } | ||
484 | 480 | + else | ||
485 | 481 | + plugin_dir = g_strdup (NMPLUGINDIR); | ||
486 | 482 | + | ||
487 | 483 | + nm_log_warn (LOGD_HW, "load_plugins: about to open plugin directory %s", plugin_dir); | ||
488 | 484 | |||
489 | 485 | for (iter = plugins; iter && *iter; iter++) { | ||
490 | 486 | GModule *plugin; | ||
491 | 487 | @@ -645,7 +654,7 @@ load_plugins (NMSettings *self, const ch | ||
492 | 488 | } | ||
493 | 489 | |||
494 | 490 | full_name = g_strdup_printf ("nm-settings-plugin-%s", pname); | ||
495 | 491 | - path = g_module_build_path (NMPLUGINDIR, full_name); | ||
496 | 492 | + path = g_module_build_path (plugin_dir, full_name); | ||
497 | 493 | |||
498 | 494 | plugin = g_module_open (path, G_MODULE_BIND_LOCAL); | ||
499 | 495 | if (!plugin) { | ||
500 | 496 | @@ -690,6 +699,9 @@ load_plugins (NMSettings *self, const ch | ||
501 | 497 | |||
502 | 498 | g_slist_free_full (list, g_object_unref); | ||
503 | 499 | |||
504 | 500 | + if (plugin_dir) | ||
505 | 501 | + g_free (plugin_dir); | ||
506 | 502 | + | ||
507 | 503 | return success; | ||
508 | 504 | } | ||
509 | 505 | |||
510 | 506 | @@ -1754,6 +1766,8 @@ nm_settings_new (GError **error) | ||
511 | 507 | NMSettings *self; | ||
512 | 508 | NMSettingsPrivate *priv; | ||
513 | 509 | |||
514 | 510 | + nm_log_warn (LOGD_HW, "nm_settings_new"); | ||
515 | 511 | + | ||
516 | 512 | self = g_object_new (NM_TYPE_SETTINGS, NULL); | ||
517 | 513 | |||
518 | 514 | priv = NM_SETTINGS_GET_PRIVATE (self); | ||
519 | 515 | @@ -1761,8 +1775,11 @@ nm_settings_new (GError **error) | ||
520 | 516 | priv->config = nm_config_get (); | ||
521 | 517 | priv->dbus_mgr = nm_dbus_manager_get (); | ||
522 | 518 | |||
523 | 519 | + nm_log_warn (LOGD_HW, "nm_settings_new: about to call load_plugins"); | ||
524 | 520 | + | ||
525 | 521 | /* Load the plugins; fail if a plugin is not found. */ | ||
526 | 522 | if (!load_plugins (self, nm_config_get_plugins (priv->config), error)) { | ||
527 | 523 | + fprintf (stderr, "load settings plugins - FAILED!!!\n"); | ||
528 | 524 | g_object_unref (self); | ||
529 | 525 | return NULL; | ||
530 | 526 | } | ||
531 | 527 | Index: build/src/settings/plugins/keyfile/plugin.c | ||
532 | 528 | =================================================================== | ||
533 | 529 | --- build.orig/src/settings/plugins/keyfile/plugin.c | ||
534 | 530 | +++ build/src/settings/plugins/keyfile/plugin.c | ||
535 | 531 | @@ -44,6 +44,7 @@ | ||
536 | 532 | #include "writer.h" | ||
537 | 533 | #include "common.h" | ||
538 | 534 | #include "utils.h" | ||
539 | 535 | +#include "snappy.h" | ||
540 | 536 | |||
541 | 537 | static char *plugin_get_hostname (SCPluginKeyfile *plugin); | ||
542 | 538 | static void system_config_interface_init (NMSystemConfigInterface *system_config_interface_class); | ||
543 | 539 | @@ -282,7 +283,17 @@ setup_monitoring (NMSystemConfigInterfac | ||
544 | 540 | GFileMonitor *monitor; | ||
545 | 541 | |||
546 | 542 | if (nm_config_get_monitor_connection_files (nm_config_get ())) { | ||
547 | 543 | - file = g_file_new_for_path (KEYFILE_DIR); | ||
548 | 544 | + | ||
549 | 545 | + if (get_snap_app_data_path()) { | ||
550 | 546 | + char *keyfile_dir = NULL; | ||
551 | 547 | + keyfile_dir = g_strdup_printf("%s/%s", get_snap_app_data_path(), | ||
552 | 548 | + KEYFILE_DIR); | ||
553 | 549 | + file = g_file_new_for_path (keyfile_dir); | ||
554 | 550 | + g_free(keyfile_dir); | ||
555 | 551 | + } else { | ||
556 | 552 | + file = g_file_new_for_path (KEYFILE_DIR); | ||
557 | 553 | + } | ||
558 | 554 | + | ||
559 | 555 | monitor = g_file_monitor_directory (file, G_FILE_MONITOR_NONE, NULL, NULL); | ||
560 | 556 | g_object_unref (file); | ||
561 | 557 | |||
562 | 558 | @@ -316,7 +327,16 @@ read_connections (NMSystemConfigInterfac | ||
563 | 559 | GHashTableIter iter; | ||
564 | 560 | gpointer data; | ||
565 | 561 | |||
566 | 562 | - dir = g_dir_open (KEYFILE_DIR, 0, &error); | ||
567 | 563 | + if (get_snap_app_data_path()) { | ||
568 | 564 | + char *keyfile_dir = NULL; | ||
569 | 565 | + keyfile_dir = g_strdup_printf("%s/%s", get_snap_app_data_path(), | ||
570 | 566 | + KEYFILE_DIR); | ||
571 | 567 | + dir = g_dir_open (keyfile_dir, 0, &error); | ||
572 | 568 | + g_free(keyfile_dir); | ||
573 | 569 | + } else { | ||
574 | 570 | + dir = g_dir_open (KEYFILE_DIR, 0, &error); | ||
575 | 571 | + } | ||
576 | 572 | + | ||
577 | 573 | if (!dir) { | ||
578 | 574 | nm_log_warn (LOGD_SETTINGS, "Cannot read directory '%s': (%d) %s", | ||
579 | 575 | KEYFILE_DIR, | ||
580 | 576 | @@ -341,7 +361,10 @@ read_connections (NMSystemConfigInterfac | ||
581 | 577 | if (nm_keyfile_plugin_utils_should_ignore_file (item)) | ||
582 | 578 | continue; | ||
583 | 579 | |||
584 | 580 | - full_path = g_build_filename (KEYFILE_DIR, item, NULL); | ||
585 | 581 | + if (get_snap_app_data_path()) | ||
586 | 582 | + full_path = g_build_filename (get_snap_app_data_path(), KEYFILE_DIR, item, NULL); | ||
587 | 583 | + else | ||
588 | 584 | + full_path = g_build_filename (KEYFILE_DIR, item, NULL); | ||
589 | 585 | |||
590 | 586 | connection = g_hash_table_lookup (oldconns, full_path); | ||
591 | 587 | if (connection) { | ||
592 | 588 | Index: build/src/settings/plugins/keyfile/writer.c | ||
593 | 589 | =================================================================== | ||
594 | 590 | --- build.orig/src/settings/plugins/keyfile/writer.c | ||
595 | 591 | +++ build/src/settings/plugins/keyfile/writer.c | ||
596 | 592 | @@ -48,6 +48,7 @@ | ||
597 | 593 | #include "writer.h" | ||
598 | 594 | #include "common.h" | ||
599 | 595 | #include "utils.h" | ||
600 | 596 | +#include "snappy.h" | ||
601 | 597 | |||
602 | 598 | /* Some setting properties also contain setting names, such as | ||
603 | 599 | * NMSettingConnection's 'type' property (which specifies the base type of the | ||
604 | 600 | @@ -1124,12 +1125,26 @@ nm_keyfile_plugin_write_connection (NMCo | ||
605 | 601 | char **out_path, | ||
606 | 602 | GError **error) | ||
607 | 603 | { | ||
608 | 604 | - return _internal_write_connection (connection, | ||
609 | 605 | - KEYFILE_DIR, | ||
610 | 606 | + gboolean ret; | ||
611 | 607 | + char *keyfile_dir = NULL; | ||
612 | 608 | + | ||
613 | 609 | + if (get_snap_app_data_path()) | ||
614 | 610 | + keyfile_dir = g_strdup_printf("%s%s", | ||
615 | 611 | + get_snap_app_data_path(), | ||
616 | 612 | + KEYFILE_DIR); | ||
617 | 613 | + else | ||
618 | 614 | + keyfile_dir = g_strdup(KEYFILE_DIR); | ||
619 | 615 | + | ||
620 | 616 | + ret = _internal_write_connection (connection, | ||
621 | 617 | + keyfile_dir, | ||
622 | 618 | 0, 0, | ||
623 | 619 | existing_path, | ||
624 | 620 | out_path, | ||
625 | 621 | error); | ||
626 | 622 | + | ||
627 | 623 | + g_free(keyfile_dir); | ||
628 | 624 | + | ||
629 | 625 | + return ret; | ||
630 | 626 | } | ||
631 | 627 | |||
632 | 628 | gboolean | ||
633 | 629 | Index: build/src/snappy.h | ||
634 | 630 | =================================================================== | ||
635 | 631 | --- /dev/null | ||
636 | 632 | +++ build/src/snappy.h | ||
637 | 633 | @@ -0,0 +1,45 @@ | ||
638 | 634 | +/* NetworkManager -- Network link manager | ||
639 | 635 | + * | ||
640 | 636 | + * This program is free software; you can redistribute it and/or modify | ||
641 | 637 | + * it under the terms of the GNU General Public License as published by | ||
642 | 638 | + * the Free Software Foundation; either version 2 of the License, or | ||
643 | 639 | + * (at your option) any later version. | ||
644 | 640 | + * | ||
645 | 641 | + * This program is distributed in the hope that it will be useful, | ||
646 | 642 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
647 | 643 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
648 | 644 | + * GNU General Public License for more details. | ||
649 | 645 | + * | ||
650 | 646 | + * You should have received a copy of the GNU General Public License along | ||
651 | 647 | + * with this program; if not, write to the Free Software Foundation, Inc., | ||
652 | 648 | + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
653 | 649 | + * | ||
654 | 650 | + * Copyright (C) 2015 Canonical Ltd. | ||
655 | 651 | + */ | ||
656 | 652 | + | ||
657 | 653 | +#ifndef SNAPPY_H_ | ||
658 | 654 | +#define SNAPPY_H_ | ||
659 | 655 | + | ||
660 | 656 | +#include <stdlib.h> | ||
661 | 657 | + | ||
662 | 658 | +static const char* get_snap_app_data_path() | ||
663 | 659 | +{ | ||
664 | 660 | + static char *path = NULL; | ||
665 | 661 | + | ||
666 | 662 | + if (!path) | ||
667 | 663 | + path = getenv("SNAP_APP_DATA_PATH"); | ||
668 | 664 | + | ||
669 | 665 | + return path; | ||
670 | 666 | +} | ||
671 | 667 | + | ||
672 | 668 | +static const char* get_snap_app_path() | ||
673 | 669 | +{ | ||
674 | 670 | + static char *path = NULL; | ||
675 | 671 | + | ||
676 | 672 | + if (!path) | ||
677 | 673 | + path = getenv("SNAP_APP_PATH"); | ||
678 | 674 | + | ||
679 | 675 | + return path; | ||
680 | 676 | +} | ||
681 | 677 | + | ||
682 | 678 | +#endif | ||
683 | 679 | Index: build/src/dhcp-manager/nm-dhcp-dhclient.h | ||
684 | 680 | =================================================================== | ||
685 | 681 | --- build.orig/src/dhcp-manager/nm-dhcp-dhclient.h | ||
686 | 682 | +++ build/src/dhcp-manager/nm-dhcp-dhclient.h | ||
687 | 683 | @@ -45,7 +45,7 @@ GSList *nm_dhcp_dhclient_get_lease_ip_co | ||
688 | 684 | const char *uuid, | ||
689 | 685 | gboolean ipv6); | ||
690 | 686 | |||
691 | 687 | -const char *nm_dhcp_dhclient_get_path (const char *try_first); | ||
692 | 688 | +char *nm_dhcp_dhclient_get_path (const char *try_first); | ||
693 | 689 | |||
694 | 690 | #endif /* NM_DHCP_DHCLIENT_H */ | ||
695 | 691 | |||
696 | 0 | 692 | ||
697 | === added file 'debian/patches/fix-code-to-build-with-werror.patch' | |||
698 | --- debian/patches/fix-code-to-build-with-werror.patch 1970-01-01 00:00:00 +0000 | |||
699 | +++ debian/patches/fix-code-to-build-with-werror.patch 2016-03-30 06:28:14 +0000 | |||
700 | @@ -0,0 +1,547 @@ | |||
701 | 1 | Index: build/libgsystem/Makefile-libgsystem.am | ||
702 | 2 | =================================================================== | ||
703 | 3 | --- build.orig/libgsystem/Makefile-libgsystem.am | ||
704 | 4 | +++ build/libgsystem/Makefile-libgsystem.am | ||
705 | 5 | @@ -37,6 +37,6 @@ libgsystem_la_SOURCES = \ | ||
706 | 6 | $(libgsystem_srcpath)/libgsystem.h \ | ||
707 | 7 | $(NULL) | ||
708 | 8 | |||
709 | 9 | -libgsystem_la_CFLAGS = $(AM_CFLAGS) $(libgsystem_cflags) | ||
710 | 10 | +libgsystem_la_CFLAGS = $(AM_CFLAGS) $(libgsystem_cflags) -Wno-deprecated-declarations | ||
711 | 11 | libgsystem_la_LDFLAGS = -avoid-version -Bsymbolic-functions -export-symbols-regex "^gs_" -no-undefined -export-dynamic | ||
712 | 12 | libgsystem_la_LIBADD = $(libgsystem_libs) | ||
713 | 13 | Index: build/src/NetworkManagerUtils.c | ||
714 | 14 | =================================================================== | ||
715 | 15 | --- build.orig/src/NetworkManagerUtils.c | ||
716 | 16 | +++ build/src/NetworkManagerUtils.c | ||
717 | 17 | @@ -19,7 +19,6 @@ | ||
718 | 18 | * Copyright (C) 2005 - 2008 Novell, Inc. | ||
719 | 19 | */ | ||
720 | 20 | |||
721 | 21 | -#include <glib.h> | ||
722 | 22 | #include <errno.h> | ||
723 | 23 | #include <fcntl.h> | ||
724 | 24 | #include <string.h> | ||
725 | 25 | @@ -27,6 +26,8 @@ | ||
726 | 26 | #include <stdlib.h> | ||
727 | 27 | #include <resolv.h> | ||
728 | 28 | |||
729 | 29 | +#include <glib.h> | ||
730 | 30 | + | ||
731 | 31 | #include "NetworkManagerUtils.h" | ||
732 | 32 | #include "nm-utils.h" | ||
733 | 33 | #include "nm-logging.h" | ||
734 | 34 | Index: build/src/devices/nm-device.c | ||
735 | 35 | =================================================================== | ||
736 | 36 | --- build.orig/src/devices/nm-device.c | ||
737 | 37 | +++ build/src/devices/nm-device.c | ||
738 | 38 | @@ -3808,7 +3808,7 @@ ip6_use_tempaddr (void) | ||
739 | 39 | ret = use_tempaddr_clamp (tmp); | ||
740 | 40 | |||
741 | 41 | done: | ||
742 | 42 | - sysctl_data = g_string_free (sysctl_data, TRUE); | ||
743 | 43 | + sysctl_data = (GString*) g_string_free (sysctl_data, TRUE); | ||
744 | 44 | g_clear_error (&error); | ||
745 | 45 | g_key_file_free (keyfile); | ||
746 | 46 | |||
747 | 47 | Index: build/src/devices/wwan/nm-modem-ofono.c | ||
748 | 48 | =================================================================== | ||
749 | 49 | --- build.orig/src/devices/wwan/nm-modem-ofono.c | ||
750 | 50 | +++ build/src/devices/wwan/nm-modem-ofono.c | ||
751 | 51 | @@ -35,6 +35,7 @@ | ||
752 | 52 | #include "nm-modem.h" | ||
753 | 53 | #include "nm-dbus-manager.h" | ||
754 | 54 | #include "NetworkManagerUtils.h" | ||
755 | 55 | +#include "nm-utils.h" | ||
756 | 56 | |||
757 | 57 | G_DEFINE_TYPE (NMModemOfono, nm_modem_ofono, NM_TYPE_MODEM) | ||
758 | 58 | |||
759 | 59 | @@ -63,17 +64,6 @@ typedef struct { | ||
760 | 60 | |||
761 | 61 | } NMModemOfonoPrivate; | ||
762 | 62 | |||
763 | 63 | -#define NM_OFONO_ERROR (nm_ofono_error_quark ()) | ||
764 | 64 | - | ||
765 | 65 | -static GQuark | ||
766 | 66 | -nm_ofono_error_quark (void) | ||
767 | 67 | -{ | ||
768 | 68 | - static GQuark quark = 0; | ||
769 | 69 | - if (!quark) | ||
770 | 70 | - quark = g_quark_from_static_string ("nm-ofono-error"); | ||
771 | 71 | - return quark; | ||
772 | 72 | -} | ||
773 | 73 | - | ||
774 | 74 | static gboolean | ||
775 | 75 | ip_string_to_network_address (const gchar *str, | ||
776 | 76 | guint32 *out) | ||
777 | 77 | @@ -141,7 +131,6 @@ disconnect_done (DBusGProxy *proxy, DBus | ||
778 | 78 | { | ||
779 | 79 | SimpleDisconnectContext *ctx = (SimpleDisconnectContext*) user_data; | ||
780 | 80 | NMModemOfono *self = ctx->self; | ||
781 | 81 | - NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
782 | 82 | GError *error = NULL; | ||
783 | 83 | |||
784 | 84 | nm_log_dbg (LOGD_MB, "in %s", __func__); | ||
785 | 85 | @@ -199,7 +188,7 @@ deactivate (NMModem *_self, NMDevice *de | ||
786 | 86 | NM_MODEM_CLASS (nm_modem_ofono_parent_class)->deactivate (_self, device); | ||
787 | 87 | } | ||
788 | 88 | |||
789 | 89 | -DBusGProxy * | ||
790 | 90 | +static DBusGProxy * | ||
791 | 91 | get_ofono_proxy (NMModemOfono *self, const char *path, const char *interface) | ||
792 | 92 | { | ||
793 | 93 | NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
794 | 94 | @@ -238,7 +227,6 @@ static void | ||
795 | 95 | get_ofono_conn_manager_properties_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data) | ||
796 | 96 | { | ||
797 | 97 | NMModemOfono *self = NM_MODEM_OFONO (user_data); | ||
798 | 98 | - NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
799 | 99 | GError *error = NULL; | ||
800 | 100 | GHashTable *properties = NULL; | ||
801 | 101 | GValue *value = NULL; | ||
802 | 102 | @@ -310,12 +298,9 @@ static void | ||
803 | 103 | get_ofono_sim_properties_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data) | ||
804 | 104 | { | ||
805 | 105 | NMModemOfono *self = NM_MODEM_OFONO (user_data); | ||
806 | 106 | - NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
807 | 107 | - NMModemState state = nm_modem_get_state (NM_MODEM (self)); | ||
808 | 108 | GError *error = NULL; | ||
809 | 109 | GHashTable *properties = NULL; | ||
810 | 110 | GValue *value = NULL; | ||
811 | 111 | - const gchar *value_str; | ||
812 | 112 | |||
813 | 113 | nm_log_dbg (LOGD_MB, "in %s", __func__); | ||
814 | 114 | |||
815 | 115 | @@ -360,17 +345,12 @@ ofono_context_added (DBusGProxy *proxy, | ||
816 | 116 | GValue *prop, | ||
817 | 117 | gpointer user_data) | ||
818 | 118 | { | ||
819 | 119 | - NMModemOfono *self = NM_MODEM_OFONO (user_data); | ||
820 | 120 | - | ||
821 | 121 | nm_log_dbg (LOGD_MB, "context %s added", path); | ||
822 | 122 | } | ||
823 | 123 | |||
824 | 124 | static void | ||
825 | 125 | ofono_context_removed (DBusGProxy *proxy, const char *path, gpointer user_data) | ||
826 | 126 | { | ||
827 | 127 | - NMModemOfono *self = NM_MODEM_OFONO (user_data); | ||
828 | 128 | - NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
829 | 129 | - | ||
830 | 130 | nm_log_dbg (LOGD_MB, "context %s removed", path); | ||
831 | 131 | } | ||
832 | 132 | |||
833 | 133 | @@ -695,7 +675,6 @@ context_properties_changed (DBusGProxy * | ||
834 | 134 | gpointer user_data) | ||
835 | 135 | { | ||
836 | 136 | NMModemOfono *self = NM_MODEM_OFONO (user_data); | ||
837 | 137 | - NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
838 | 138 | |||
839 | 139 | if (g_strcmp0("Settings", key) == 0) { | ||
840 | 140 | ofono_context_get_ip_properties (self); | ||
841 | 141 | @@ -708,8 +687,8 @@ do_context_activate (NMModemOfono *self, | ||
842 | 142 | NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
843 | 143 | GValue value = G_VALUE_INIT; | ||
844 | 144 | |||
845 | 145 | - g_return_val_if_fail (self != NULL, FALSE); | ||
846 | 146 | - g_return_val_if_fail (NM_IS_MODEM_OFONO (self), FALSE); | ||
847 | 147 | + g_return_if_fail (self != NULL); | ||
848 | 148 | + g_return_if_fail (NM_IS_MODEM_OFONO (self)); | ||
849 | 149 | |||
850 | 150 | nm_log_dbg (LOGD_MB, "in %s", __func__); | ||
851 | 151 | |||
852 | 152 | @@ -762,66 +741,6 @@ do_context_activate (NMModemOfono *self, | ||
853 | 153 | |||
854 | 154 | } | ||
855 | 155 | |||
856 | 156 | -static void | ||
857 | 157 | -context_set_property (gpointer key, gpointer value, gpointer user_data) | ||
858 | 158 | -{ | ||
859 | 159 | - NMModemOfono *self = NM_MODEM_OFONO (user_data); | ||
860 | 160 | - NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
861 | 161 | - GValue val = G_VALUE_INIT; | ||
862 | 162 | - | ||
863 | 163 | - nm_log_dbg (LOGD_MB, "%s -- setting context prop: %s == %s", | ||
864 | 164 | - __func__, | ||
865 | 165 | - (char*)key, | ||
866 | 166 | - (char*)value); | ||
867 | 167 | - | ||
868 | 168 | - g_value_init (&val, G_TYPE_STRING); | ||
869 | 169 | - g_value_set_string (&val, (char*)value); | ||
870 | 170 | - | ||
871 | 171 | - if (!priv->property_error) { | ||
872 | 172 | - dbus_g_proxy_call_with_timeout (priv->context_proxy, | ||
873 | 173 | - "SetProperty", | ||
874 | 174 | - 20000, | ||
875 | 175 | - &priv->property_error, | ||
876 | 176 | - G_TYPE_STRING, (char*)key, | ||
877 | 177 | - G_TYPE_VALUE, &val, | ||
878 | 178 | - G_TYPE_INVALID); | ||
879 | 179 | - } else { | ||
880 | 180 | - nm_log_warn (LOGD_MB, "could not set context property '%s': %s", (char*)key, | ||
881 | 181 | - priv->property_error | ||
882 | 182 | - && priv->property_error->message | ||
883 | 183 | - ? priv->property_error->message : "(unknown)"); | ||
884 | 184 | - } | ||
885 | 185 | -} | ||
886 | 186 | - | ||
887 | 187 | -static void stage1_enable_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data); | ||
888 | 188 | - | ||
889 | 189 | -static void | ||
890 | 190 | -stage1_enable_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data) | ||
891 | 191 | -{ | ||
892 | 192 | - NMModemOfono *self = NM_MODEM_OFONO (user_data); | ||
893 | 193 | - NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
894 | 194 | - GError *error = NULL; | ||
895 | 195 | - | ||
896 | 196 | - nm_log_dbg (LOGD_MB, "in %s", __func__); | ||
897 | 197 | - | ||
898 | 198 | - if (dbus_g_proxy_end_call (proxy, call_id, &error, G_TYPE_INVALID)) { | ||
899 | 199 | - if (priv->context_path) | ||
900 | 200 | - do_context_activate (self, priv->context_path); | ||
901 | 201 | - else | ||
902 | 202 | - g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, FALSE, NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED); | ||
903 | 203 | - } else { | ||
904 | 204 | - nm_log_warn (LOGD_MB, "OFONO modem enable failed: (%d) %s", | ||
905 | 205 | - error ? error->code : -1, | ||
906 | 206 | - error && error->message ? error->message : "(unknown)"); | ||
907 | 207 | - | ||
908 | 208 | - g_signal_emit_by_name (self, NM_MODEM_PREPARE_RESULT, FALSE, NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED); | ||
909 | 209 | - | ||
910 | 210 | - g_error_free (error); | ||
911 | 211 | - } | ||
912 | 212 | - | ||
913 | 213 | - g_object_unref (self); | ||
914 | 214 | -} | ||
915 | 215 | - | ||
916 | 216 | static GHashTable * | ||
917 | 217 | create_connect_properties (NMConnection *connection) | ||
918 | 218 | { | ||
919 | 219 | @@ -857,7 +776,6 @@ act_stage1_prepare (NMModem *modem, | ||
920 | 220 | NMModemOfono *self = NM_MODEM_OFONO (modem); | ||
921 | 221 | NMModemOfonoPrivate *priv = NM_MODEM_OFONO_GET_PRIVATE (self); | ||
922 | 222 | const char *context_id; | ||
923 | 223 | - char *context_path; | ||
924 | 224 | char **id = NULL; | ||
925 | 225 | |||
926 | 226 | nm_log_dbg (LOGD_MB, "in %s", __func__); | ||
927 | 227 | @@ -1014,7 +932,6 @@ get_capabilities (NMModem *_self, | ||
928 | 228 | NMDeviceModemCapabilities *modem_caps, | ||
929 | 229 | NMDeviceModemCapabilities *current_caps) | ||
930 | 230 | { | ||
931 | 231 | - NMModemOfono *self = NM_MODEM_OFONO (_self); | ||
932 | 232 | NMDeviceModemCapabilities all_ofono_caps = NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS; | ||
933 | 233 | |||
934 | 234 | *modem_caps = all_ofono_caps; | ||
935 | 235 | Index: build/src/dhcp-manager/nm-dhcp-dhclient.c | ||
936 | 236 | =================================================================== | ||
937 | 237 | --- build.orig/src/dhcp-manager/nm-dhcp-dhclient.c | ||
938 | 238 | +++ build/src/dhcp-manager/nm-dhcp-dhclient.c | ||
939 | 239 | @@ -18,9 +18,7 @@ | ||
940 | 240 | * Copyright (C) 2005 - 2012 Red Hat, Inc. | ||
941 | 241 | */ | ||
942 | 242 | |||
943 | 243 | -#define _XOPEN_SOURCE | ||
944 | 244 | #include <time.h> | ||
945 | 245 | -#undef _XOPEN_SOURCE | ||
946 | 246 | |||
947 | 247 | #include <glib.h> | ||
948 | 248 | #include <glib/gi18n.h> | ||
949 | 249 | Index: build/src/dns-manager/nm-dns-dnsmasq.c | ||
950 | 250 | =================================================================== | ||
951 | 251 | --- build.orig/src/dns-manager/nm-dns-dnsmasq.c | ||
952 | 252 | +++ build/src/dns-manager/nm-dns-dnsmasq.c | ||
953 | 253 | @@ -83,7 +83,6 @@ find_dnsmasq (void) | ||
954 | 254 | static gboolean | ||
955 | 255 | add_ip4_config (DBusMessage *message, NMIP4Config *ip4, gboolean split) | ||
956 | 256 | { | ||
957 | 257 | - char buf[INET_ADDRSTRLEN]; | ||
958 | 258 | in_addr_t addr; | ||
959 | 259 | int nnameservers, i_nameserver, n, i; | ||
960 | 260 | gboolean added = FALSE; | ||
961 | 261 | @@ -105,7 +104,7 @@ add_ip4_config (DBusMessage *message, NM | ||
962 | 262 | /* searches are preferred over domains */ | ||
963 | 263 | n = nm_ip4_config_get_num_searches (ip4); | ||
964 | 264 | for (i = 0; i < n; i++) { | ||
965 | 265 | - char *search = nm_ip4_config_get_search (ip4, i); | ||
966 | 266 | + const char *search = nm_ip4_config_get_search (ip4, i); | ||
967 | 267 | dbus_message_append_args (message, | ||
968 | 268 | DBUS_TYPE_STRING, &search, | ||
969 | 269 | DBUS_TYPE_INVALID); | ||
970 | 270 | @@ -116,7 +115,7 @@ add_ip4_config (DBusMessage *message, NM | ||
971 | 271 | /* If not searches, use any domains */ | ||
972 | 272 | n = nm_ip4_config_get_num_domains (ip4); | ||
973 | 273 | for (i = 0; i < n; i++) { | ||
974 | 274 | - char *domain = nm_ip4_config_get_domain (ip4, i); | ||
975 | 275 | + const char *domain = nm_ip4_config_get_domain (ip4, i); | ||
976 | 276 | dbus_message_append_args (message, | ||
977 | 277 | DBUS_TYPE_STRING, &domain, | ||
978 | 278 | DBUS_TYPE_INVALID); | ||
979 | 279 | @@ -193,7 +192,7 @@ add_ip6_config (DBusMessage *message, NM | ||
980 | 280 | /* searches are preferred over domains */ | ||
981 | 281 | n = nm_ip6_config_get_num_searches (ip6); | ||
982 | 282 | for (i = 0; i < n; i++) { | ||
983 | 283 | - char *search = nm_ip6_config_get_search (ip6, i); | ||
984 | 284 | + const char *search = nm_ip6_config_get_search (ip6, i); | ||
985 | 285 | dbus_message_append_args (message, | ||
986 | 286 | DBUS_TYPE_STRING, &search, | ||
987 | 287 | DBUS_TYPE_INVALID); | ||
988 | 288 | @@ -204,7 +203,7 @@ add_ip6_config (DBusMessage *message, NM | ||
989 | 289 | /* If not searches, use any domains */ | ||
990 | 290 | n = nm_ip6_config_get_num_domains (ip6); | ||
991 | 291 | for (i = 0; i < n; i++) { | ||
992 | 292 | - char *domain = nm_ip6_config_get_domain (ip6, i); | ||
993 | 293 | + const char *domain = nm_ip6_config_get_domain (ip6, i); | ||
994 | 294 | dbus_message_append_args (message, | ||
995 | 295 | DBUS_TYPE_STRING, &domain, | ||
996 | 296 | DBUS_TYPE_INVALID); | ||
997 | 297 | @@ -342,7 +341,7 @@ update (NMDnsPlugin *plugin, | ||
998 | 298 | /* Work on a copy of the vpn_configs list because we might want to remove | ||
999 | 299 | * some items from it, yet not affect other DNS plugins that might run | ||
1000 | 300 | */ | ||
1001 | 301 | - vpn_configs_copy = g_slist_copy (vpn_configs); | ||
1002 | 302 | + vpn_configs_copy = g_slist_copy ((GSList*) vpn_configs); | ||
1003 | 303 | |||
1004 | 304 | /* Look for a VPN config that is set to get a default route, and if | ||
1005 | 305 | * there is one, install it *without* splitting into per-domain servers. | ||
1006 | 306 | @@ -413,9 +412,9 @@ update (NMDnsPlugin *plugin, | ||
1007 | 307 | * we cleared up the dnsmasq cache; but we should also fail the update, so | ||
1008 | 308 | * that we don't write 127.0.1.1 to resolv.conf. | ||
1009 | 309 | */ | ||
1010 | 310 | - if (((vpn_configs && g_slist_length (vpn_configs) < 1) || !vpn_configs) && | ||
1011 | 311 | - ((dev_configs && g_slist_length (dev_configs) < 1) || !dev_configs) && | ||
1012 | 312 | - ((other_configs && g_slist_length (other_configs) < 1) || !other_configs)) | ||
1013 | 313 | + if (((vpn_configs && g_slist_length ((GSList*) vpn_configs) < 1) || !vpn_configs) && | ||
1014 | 314 | + ((dev_configs && g_slist_length ((GSList*) dev_configs) < 1) || !dev_configs) && | ||
1015 | 315 | + ((other_configs && g_slist_length ((GSList*) other_configs) < 1) || !other_configs)) | ||
1016 | 316 | ret = FALSE; | ||
1017 | 317 | |||
1018 | 318 | out: | ||
1019 | 319 | Index: build/src/dns-manager/nm-dns-manager.c | ||
1020 | 320 | =================================================================== | ||
1021 | 321 | --- build.orig/src/dns-manager/nm-dns-manager.c | ||
1022 | 322 | +++ build/src/dns-manager/nm-dns-manager.c | ||
1023 | 323 | @@ -784,7 +784,6 @@ static void | ||
1024 | 324 | plugin_appeared (NMDnsPlugin *plugin, gpointer user_data) | ||
1025 | 325 | { | ||
1026 | 326 | NMDnsManager *self = NM_DNS_MANAGER (user_data); | ||
1027 | 327 | - NMDnsManagerPrivate *priv = NM_DNS_MANAGER_GET_PRIVATE (self); | ||
1028 | 328 | GError *error = NULL; | ||
1029 | 329 | |||
1030 | 330 | /* Not applicable to non-caching plugins */ | ||
1031 | 331 | Index: build/src/nm-manager.c | ||
1032 | 332 | =================================================================== | ||
1033 | 333 | --- build.orig/src/nm-manager.c | ||
1034 | 334 | +++ build/src/nm-manager.c | ||
1035 | 335 | @@ -800,7 +800,6 @@ remove_device (NMManager *manager, NMDev | ||
1036 | 336 | NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager); | ||
1037 | 337 | |||
1038 | 338 | if (nm_device_get_managed (device)) { | ||
1039 | 339 | - NMActRequest *req = nm_device_get_act_request (device); | ||
1040 | 340 | gboolean unmanage = FALSE; | ||
1041 | 341 | |||
1042 | 342 | /* Ubuntu: don't use device assumption, so as not to leave | ||
1043 | 343 | @@ -2172,7 +2171,6 @@ platform_link_added (NMManager *self, | ||
1044 | 344 | /* | ||
1045 | 345 | * Ubuntu: Explicitly unmanage p2p Wi-Fi devices exposed by Android JB Wi-Fi drivers. | ||
1046 | 346 | */ | ||
1047 | 347 | - NMDeviceType devtype = nm_device_get_device_type (device); | ||
1048 | 348 | if ((plink->type == NM_LINK_TYPE_WIFI) | ||
1049 | 349 | && !strncmp (plink->name, "p2p0", STRLEN ("p2p0"))) { | ||
1050 | 350 | nm_log_info (LOGD_HW, "(%s): ignoring P2P wireless iface", plink->name); | ||
1051 | 351 | @@ -4266,9 +4264,6 @@ ifstate_file_changed (GFileMonitor *moni | ||
1052 | 352 | GFileMonitorEvent event_type, | ||
1053 | 353 | gpointer user_data) | ||
1054 | 354 | { | ||
1055 | 355 | - NMManager *self = NM_MANAGER (user_data); | ||
1056 | 356 | - NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); | ||
1057 | 357 | - | ||
1058 | 358 | switch (event_type) { | ||
1059 | 359 | // case G_FILE_MONITOR_EVENT_CREATED: | ||
1060 | 360 | //#if GLIB_CHECK_VERSION(2,23,4) | ||
1061 | 361 | @@ -4809,7 +4804,6 @@ urfkill_wlan_state_changed_cb (NMUrfkill | ||
1062 | 362 | { | ||
1063 | 363 | NMManager *self = NM_MANAGER (user_data); | ||
1064 | 364 | NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); | ||
1065 | 365 | - GError *error = NULL; | ||
1066 | 366 | |||
1067 | 367 | nm_log_dbg (LOGD_RFKILL, "urfkill wlan state changed to %s", | ||
1068 | 368 | enabled ? "enabled" : "disabled"); | ||
1069 | 369 | @@ -4832,7 +4826,6 @@ urfkill_wwan_state_changed_cb (NMUrfkill | ||
1070 | 370 | { | ||
1071 | 371 | NMManager *self = NM_MANAGER (user_data); | ||
1072 | 372 | NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); | ||
1073 | 373 | - GError *error = NULL; | ||
1074 | 374 | |||
1075 | 375 | nm_log_dbg (LOGD_RFKILL, "urfkill wwan state changed to %s", | ||
1076 | 376 | enabled ? "enabled" : "disabled"); | ||
1077 | 377 | @@ -4910,6 +4903,7 @@ nm_manager_new (NMSettings *settings, | ||
1078 | 378 | NMManagerPrivate *priv; | ||
1079 | 379 | DBusGConnection *bus; | ||
1080 | 380 | DBusConnection *dbus_connection; | ||
1081 | 381 | + KillState *kill_state; | ||
1082 | 382 | |||
1083 | 383 | g_assert (settings); | ||
1084 | 384 | |||
1085 | 385 | @@ -5009,7 +5003,7 @@ nm_manager_new (NMSettings *settings, | ||
1086 | 386 | * changes to the WirelessEnabled/WWANEnabled properties which toggle kernel | ||
1087 | 387 | * rfkill. | ||
1088 | 388 | */ | ||
1089 | 389 | - KillState *kill_state = g_slice_new0 (KillState); | ||
1090 | 390 | + kill_state = g_slice_new0 (KillState); | ||
1091 | 391 | kill_state->manager = g_object_ref (singleton); | ||
1092 | 392 | kill_state->wlan_enabled = initial_wifi_enabled; | ||
1093 | 393 | kill_state->wwan_enabled = initial_wwan_enabled; | ||
1094 | 394 | Index: build/src/nm-urfkill-manager.c | ||
1095 | 395 | =================================================================== | ||
1096 | 396 | --- build.orig/src/nm-urfkill-manager.c | ||
1097 | 397 | +++ build/src/nm-urfkill-manager.c | ||
1098 | 398 | @@ -63,7 +63,6 @@ wlan_state_changed (GDBusProxy *proxy, | ||
1099 | 399 | gpointer user_data) | ||
1100 | 400 | { | ||
1101 | 401 | NMUrfkillManager *self = NM_URFKILL_MANAGER (user_data); | ||
1102 | 402 | - GVariant *state; | ||
1103 | 403 | gboolean enabled; | ||
1104 | 404 | |||
1105 | 405 | enabled = nm_urfkill_get_wlan_state (self); | ||
1106 | 406 | @@ -81,7 +80,6 @@ wwan_state_changed (GDBusProxy *proxy, | ||
1107 | 407 | gpointer user_data) | ||
1108 | 408 | { | ||
1109 | 409 | NMUrfkillManager *self = NM_URFKILL_MANAGER (user_data); | ||
1110 | 410 | - GVariant *state = NULL; | ||
1111 | 411 | gboolean enabled; | ||
1112 | 412 | |||
1113 | 413 | enabled = nm_urfkill_get_wwan_state (self); | ||
1114 | 414 | @@ -234,8 +232,6 @@ on_urfkill_vanished (GDBusConnection *co | ||
1115 | 415 | static void | ||
1116 | 416 | nm_urfkill_manager_init (NMUrfkillManager *self) | ||
1117 | 417 | { | ||
1118 | 418 | - DBusGConnection *bus; | ||
1119 | 419 | - | ||
1120 | 420 | self->urfkill_watch = g_bus_watch_name (G_BUS_TYPE_SYSTEM, | ||
1121 | 421 | "org.freedesktop.URfkill", | ||
1122 | 422 | 0, | ||
1123 | 423 | Index: build/src/nm-urfkill-manager.h | ||
1124 | 424 | =================================================================== | ||
1125 | 425 | --- build.orig/src/nm-urfkill-manager.h | ||
1126 | 426 | +++ build/src/nm-urfkill-manager.h | ||
1127 | 427 | @@ -39,7 +39,7 @@ typedef struct _NMUrfkillManager NMUrfki | ||
1128 | 428 | |||
1129 | 429 | GType nm_urfkill_manager_get_type (void); | ||
1130 | 430 | |||
1131 | 431 | -NMUrfkillManager *nm_urfkill_manager_new (); | ||
1132 | 432 | +NMUrfkillManager *nm_urfkill_manager_new (void); | ||
1133 | 433 | |||
1134 | 434 | gboolean nm_urfkill_get_wlan_state (NMUrfkillManager *self); | ||
1135 | 435 | gboolean nm_urfkill_get_wwan_state (NMUrfkillManager *self); | ||
1136 | 436 | Index: build/src/devices/bluetooth/Makefile.am | ||
1137 | 437 | =================================================================== | ||
1138 | 438 | --- build.orig/src/devices/bluetooth/Makefile.am | ||
1139 | 439 | +++ build/src/devices/bluetooth/Makefile.am | ||
1140 | 440 | @@ -19,7 +19,8 @@ AM_CPPFLAGS = \ | ||
1141 | 441 | $(DBUS_CFLAGS) \ | ||
1142 | 442 | $(POLKIT_CFLAGS) \ | ||
1143 | 443 | $(LIBNL_CFLAGS) \ | ||
1144 | 444 | - $(GUDEV_CFLAGS) | ||
1145 | 445 | + $(GUDEV_CFLAGS) \ | ||
1146 | 446 | + -Wno-deprecated-declarations | ||
1147 | 447 | |||
1148 | 448 | GLIB_GENERATED = nm-bt-enum-types.h nm-bt-enum-types.c | ||
1149 | 449 | GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM | ||
1150 | 450 | Index: build/src/settings/plugins/ofono/plugin.c | ||
1151 | 451 | =================================================================== | ||
1152 | 452 | --- build.orig/src/settings/plugins/ofono/plugin.c | ||
1153 | 453 | +++ build/src/settings/plugins/ofono/plugin.c | ||
1154 | 454 | @@ -96,11 +96,6 @@ ofono_plugin_error_quark (void) | ||
1155 | 455 | } | ||
1156 | 456 | |||
1157 | 457 | static void | ||
1158 | 458 | -ignore_cb () | ||
1159 | 459 | -{ | ||
1160 | 460 | -} | ||
1161 | 461 | - | ||
1162 | 462 | -static void | ||
1163 | 463 | SCPluginOfono_parse_contexts (SCPluginOfono *self, GSList *contexts, const char *imsi) | ||
1164 | 464 | { | ||
1165 | 465 | SCPluginOfonoPrivate *priv = SC_PLUGIN_OFONO_GET_PRIVATE (self); | ||
1166 | 466 | @@ -197,7 +192,6 @@ next_context: | ||
1167 | 467 | static gboolean | ||
1168 | 468 | nm_ofono_read_imsi_contexts (SCPluginOfono *self, const char *imsi, GError **error) | ||
1169 | 469 | { | ||
1170 | 470 | - SCPluginOfonoPrivate *priv = SC_PLUGIN_OFONO_GET_PRIVATE (self); | ||
1171 | 471 | GHashTable *context; | ||
1172 | 472 | GHashTable *pref_context = NULL; | ||
1173 | 473 | GSList *contexts = NULL; | ||
1174 | 474 | @@ -358,7 +352,6 @@ ofono_imsi_changed (GFileMonitor *monito | ||
1175 | 475 | gpointer user_data) | ||
1176 | 476 | { | ||
1177 | 477 | SCPluginOfono *self = SC_PLUGIN_OFONO (user_data); | ||
1178 | 478 | - SCPluginOfonoPrivate *priv = SC_PLUGIN_OFONO_GET_PRIVATE (self); | ||
1179 | 479 | GFile *parent; | ||
1180 | 480 | gchar *path, *imsi; | ||
1181 | 481 | GError *error = NULL; | ||
1182 | 482 | @@ -465,9 +458,8 @@ ofono_dir_changed (GFileMonitor *monitor | ||
1183 | 483 | SCPluginOfono *self = SC_PLUGIN_OFONO (user_data); | ||
1184 | 484 | SCPluginOfonoPrivate *priv = SC_PLUGIN_OFONO_GET_PRIVATE (self); | ||
1185 | 485 | GFileMonitor *imsi_monitor; | ||
1186 | 486 | - GFile *config_path; | ||
1187 | 487 | gulong id; | ||
1188 | 488 | - gchar *imsi, *path; | ||
1189 | 489 | + gchar *imsi; | ||
1190 | 490 | gboolean res; | ||
1191 | 491 | GError *error = NULL; | ||
1192 | 492 | |||
1193 | 493 | @@ -597,8 +589,6 @@ static void | ||
1194 | 494 | GObject__get_property (GObject *object, guint prop_id, | ||
1195 | 495 | GValue *value, GParamSpec *pspec) | ||
1196 | 496 | { | ||
1197 | 497 | - NMSystemConfigInterface *self = NM_SYSTEM_CONFIG_INTERFACE (object); | ||
1198 | 498 | - | ||
1199 | 499 | switch (prop_id) { | ||
1200 | 500 | case NM_SYSTEM_CONFIG_INTERFACE_PROP_NAME: | ||
1201 | 501 | g_value_set_string (value, OFONO_PLUGIN_NAME); | ||
1202 | 502 | @@ -676,8 +666,6 @@ SCPluginOfono_init (NMSystemConfigInterf | ||
1203 | 503 | { | ||
1204 | 504 | SCPluginOfono *self = SC_PLUGIN_OFONO (config); | ||
1205 | 505 | SCPluginOfonoPrivate *priv = SC_PLUGIN_OFONO_GET_PRIVATE (self); | ||
1206 | 506 | - GError *error = NULL; | ||
1207 | 507 | - gboolean success = FALSE; | ||
1208 | 508 | |||
1209 | 509 | /* Keep a hash table of GFileMonitors per IMSI for later removal */ | ||
1210 | 510 | if (!priv->ofono_imsi_monitors) | ||
1211 | 511 | @@ -705,11 +693,13 @@ SCPluginOfono_get_unmanaged_specs (NMSys | ||
1212 | 512 | static gint | ||
1213 | 513 | sort_by_context_id (gconstpointer a, gconstpointer b) | ||
1214 | 514 | { | ||
1215 | 515 | + const char *context_a, *context_b; | ||
1216 | 516 | + | ||
1217 | 517 | g_return_val_if_fail (a != NULL, 0); | ||
1218 | 518 | g_return_val_if_fail (b != NULL, 0); | ||
1219 | 519 | |||
1220 | 520 | - const char *context_a = nm_connection_get_id (NM_CONNECTION (a)); | ||
1221 | 521 | - const char *context_b = nm_connection_get_id (NM_CONNECTION (b)); | ||
1222 | 522 | + context_a = nm_connection_get_id (NM_CONNECTION (a)); | ||
1223 | 523 | + context_b = nm_connection_get_id (NM_CONNECTION (b)); | ||
1224 | 524 | |||
1225 | 525 | return g_strcmp0 (context_a, context_b); | ||
1226 | 526 | } | ||
1227 | 527 | Index: build/src/platform/tests/test-link.c | ||
1228 | 528 | =================================================================== | ||
1229 | 529 | --- build.orig/src/platform/tests/test-link.c | ||
1230 | 530 | +++ build/src/platform/tests/test-link.c | ||
1231 | 531 | @@ -188,12 +188,12 @@ test_slave (int master, int type, Signal | ||
1232 | 532 | /* Older team versions (e.g. Fedora 17) have a bug that team master stays | ||
1233 | 533 | * IFF_LOWER_UP even if its slave is down. Double check it with iproute2 and if | ||
1234 | 534 | * `ip link` also claims master to be up, accept it. */ | ||
1235 | 535 | - char *stdout = NULL; | ||
1236 | 536 | + char *_stdout = NULL; | ||
1237 | 537 | |||
1238 | 538 | - nmtst_spawn_sync (NULL, &stdout, NULL, 0, "/sbin/ip", "link", "show", "dev", nm_platform_link_get_name (master)); | ||
1239 | 539 | + nmtst_spawn_sync (NULL, &_stdout, NULL, 0, "/sbin/ip", "link", "show", "dev", nm_platform_link_get_name (master)); | ||
1240 | 540 | |||
1241 | 541 | - g_assert (strstr (stdout, "LOWER_UP")); | ||
1242 | 542 | - g_free (stdout); | ||
1243 | 543 | + g_assert (strstr (_stdout, "LOWER_UP")); | ||
1244 | 544 | + g_free (_stdout); | ||
1245 | 545 | } else | ||
1246 | 546 | g_assert_not_reached (); | ||
1247 | 547 | } | ||
1248 | 0 | 548 | ||
1249 | === modified file 'debian/patches/series' | |||
1250 | --- debian/patches/series 2015-10-01 21:39:53 +0000 | |||
1251 | +++ debian/patches/series 2016-03-30 06:28:14 +0000 | |||
1252 | @@ -76,3 +76,6 @@ | |||
1253 | 76 | lp1444162-add-ip6-config-to-nm-ofono-connections.patch | 76 | lp1444162-add-ip6-config-to-nm-ofono-connections.patch |
1254 | 77 | fix-ofono-plugin-leaks.patch | 77 | fix-ofono-plugin-leaks.patch |
1255 | 78 | rm-scofono-plugin-dbus.patch | 78 | rm-scofono-plugin-dbus.patch |
1256 | 79 | |||
1257 | 80 | fix-code-to-build-with-werror.patch | ||
1258 | 81 | add-snappy-support.patch | ||
1259 | 79 | 82 | ||
1260 | === added directory 'parts' | |||
1261 | === added directory 'parts/plugins' | |||
1262 | === added file 'parts/plugins/x-autotools.py' | |||
1263 | --- parts/plugins/x-autotools.py 1970-01-01 00:00:00 +0000 | |||
1264 | +++ parts/plugins/x-autotools.py 2016-03-30 06:28:14 +0000 | |||
1265 | @@ -0,0 +1,129 @@ | |||
1266 | 1 | # -*- Mode:Python; indent-tabs-mode:nil; tab-width:4 -*- | ||
1267 | 2 | # | ||
1268 | 3 | # Copyright (C) 2015 Canonical Ltd | ||
1269 | 4 | # | ||
1270 | 5 | # This program is free software: you can redistribute it and/or modify | ||
1271 | 6 | # it under the terms of the GNU General Public License version 3 as | ||
1272 | 7 | # published by the Free Software Foundation. | ||
1273 | 8 | # | ||
1274 | 9 | # This program is distributed in the hope that it will be useful, | ||
1275 | 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1276 | 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1277 | 12 | # GNU General Public License for more details. | ||
1278 | 13 | # | ||
1279 | 14 | # You should have received a copy of the GNU General Public License | ||
1280 | 15 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
1281 | 16 | |||
1282 | 17 | """The autotools plugin is used for autotools based parts. | ||
1283 | 18 | |||
1284 | 19 | Autotools based projects are the ones that have the usual | ||
1285 | 20 | `./configure && make && make install` instruction set. | ||
1286 | 21 | |||
1287 | 22 | The plugin tries to build using ./configure first, if it is not there | ||
1288 | 23 | it will run ./autogen and if autogen is not there it will run autoreconf. | ||
1289 | 24 | |||
1290 | 25 | This plugin uses the common plugin keywords as well as those for "sources". | ||
1291 | 26 | For more information check the 'plugins' topic for the former and the | ||
1292 | 27 | 'sources' topic for the latter. | ||
1293 | 28 | |||
1294 | 29 | In additon, this plugin uses the following plugin-specific keywords: | ||
1295 | 30 | |||
1296 | 31 | - configflags: | ||
1297 | 32 | (list of strings) | ||
1298 | 33 | configure flags to pass to the build such as those shown by running | ||
1299 | 34 | './configure --help' | ||
1300 | 35 | """ | ||
1301 | 36 | |||
1302 | 37 | import os | ||
1303 | 38 | import stat | ||
1304 | 39 | |||
1305 | 40 | import snapcraft | ||
1306 | 41 | |||
1307 | 42 | |||
1308 | 43 | class AutotoolsPlugin(snapcraft.BasePlugin): | ||
1309 | 44 | |||
1310 | 45 | @classmethod | ||
1311 | 46 | def schema(cls): | ||
1312 | 47 | schema = super().schema() | ||
1313 | 48 | schema['properties']['configflags'] = { | ||
1314 | 49 | 'type': 'array', | ||
1315 | 50 | 'minitems': 1, | ||
1316 | 51 | 'uniqueItems': True, | ||
1317 | 52 | 'items': { | ||
1318 | 53 | 'type': 'string', | ||
1319 | 54 | }, | ||
1320 | 55 | 'default': [], | ||
1321 | 56 | } | ||
1322 | 57 | |||
1323 | 58 | schema['properties']['install-via'] = { | ||
1324 | 59 | 'enum': ['destdir', 'prefix'], | ||
1325 | 60 | 'default': 'destdir', | ||
1326 | 61 | } | ||
1327 | 62 | |||
1328 | 63 | schema['properties']['patches-dir'] = { | ||
1329 | 64 | 'type': 'string', | ||
1330 | 65 | 'default': 'patches', | ||
1331 | 66 | } | ||
1332 | 67 | |||
1333 | 68 | schema['properties']['force-autogen'] = { | ||
1334 | 69 | 'type': 'boolean', | ||
1335 | 70 | 'default': 'true', | ||
1336 | 71 | } | ||
1337 | 72 | |||
1338 | 73 | return schema | ||
1339 | 74 | |||
1340 | 75 | def __init__(self, name, options): | ||
1341 | 76 | super().__init__(name, options) | ||
1342 | 77 | self.build_packages.extend([ | ||
1343 | 78 | 'autoconf', | ||
1344 | 79 | 'automake', | ||
1345 | 80 | 'autopoint', | ||
1346 | 81 | 'libtool', | ||
1347 | 82 | 'make', | ||
1348 | 83 | ]) | ||
1349 | 84 | |||
1350 | 85 | if options.install_via == 'destdir': | ||
1351 | 86 | self.install_via_destdir = True | ||
1352 | 87 | elif options.install_via == 'prefix': | ||
1353 | 88 | self.install_via_destdir = False | ||
1354 | 89 | else: | ||
1355 | 90 | raise RuntimeError('Unsupported installation method: "{}"'.format( | ||
1356 | 91 | options.install_via)) | ||
1357 | 92 | |||
1358 | 93 | def build(self): | ||
1359 | 94 | super().build() | ||
1360 | 95 | |||
1361 | 96 | patchdir = os.path.join(self.builddir, "../../..", self.options.patches_dir) | ||
1362 | 97 | |||
1363 | 98 | if os.path.exists(patchdir): | ||
1364 | 99 | os.environ['QUILT_PATCHES'] = patchdir | ||
1365 | 100 | self.run(['quilt', 'push', '-a']) | ||
1366 | 101 | |||
1367 | 102 | if not os.path.exists(os.path.join(self.builddir, "configure")) or self.options.force_autogen: | ||
1368 | 103 | autogen_path = os.path.join(self.builddir, "autogen.sh") | ||
1369 | 104 | if os.path.exists(autogen_path): | ||
1370 | 105 | # Make sure it's executable | ||
1371 | 106 | if not os.access(autogen_path, os.X_OK): | ||
1372 | 107 | os.chmod(autogen_path, | ||
1373 | 108 | stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | | ||
1374 | 109 | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP | | ||
1375 | 110 | stat.S_IROTH | stat.S_IWOTH | stat.S_IXOTH) | ||
1376 | 111 | |||
1377 | 112 | self.run(['env', 'NOCONFIGURE=1', './autogen.sh']) | ||
1378 | 113 | else: | ||
1379 | 114 | self.run(['autoreconf', '-i']) | ||
1380 | 115 | |||
1381 | 116 | configure_command = ['./configure'] | ||
1382 | 117 | make_install_command = ['make', 'install'] | ||
1383 | 118 | |||
1384 | 119 | if self.install_via_destdir: | ||
1385 | 120 | # Use an empty prefix since we'll install via DESTDIR | ||
1386 | 121 | configure_command.append('--prefix=') | ||
1387 | 122 | make_install_command.append('DESTDIR=' + self.installdir) | ||
1388 | 123 | else: | ||
1389 | 124 | configure_command.append('--prefix=' + self.installdir) | ||
1390 | 125 | |||
1391 | 126 | self.run(configure_command + self.options.configflags) | ||
1392 | 127 | self.run(['make', '-j{}'.format( | ||
1393 | 128 | snapcraft.common.get_parallel_build_count())]) | ||
1394 | 129 | self.run(make_install_command) | ||
1395 | 0 | 130 | ||
1396 | === added file 'snapcraft.yaml' | |||
1397 | --- snapcraft.yaml 1970-01-01 00:00:00 +0000 | |||
1398 | +++ snapcraft.yaml 2016-03-30 06:28:14 +0000 | |||
1399 | @@ -0,0 +1,239 @@ | |||
1400 | 1 | name: network-manager | ||
1401 | 2 | version: 0.9.10.0-4ubuntu15.1.8-1 | ||
1402 | 3 | type: app | ||
1403 | 4 | summary: Network management based on NeworkManager | ||
1404 | 5 | description: Network management of wired ethernet and WiFi based on NetworkManager | ||
1405 | 6 | icon: snappy/icon.svg | ||
1406 | 7 | |||
1407 | 8 | apps: | ||
1408 | 9 | nmcli: | ||
1409 | 10 | command: usr/bin/nmcli | ||
1410 | 11 | plugs: [unconfined] | ||
1411 | 12 | nmtui-connect: | ||
1412 | 13 | command: usr/bin/nmtui-connect | ||
1413 | 14 | plugs: [unconfined] | ||
1414 | 15 | nmtui-edit: | ||
1415 | 16 | command: usr/bin/nmtui-edit | ||
1416 | 17 | plugs: [unconfined] | ||
1417 | 18 | NetworkManager: | ||
1418 | 19 | command: bin/networkmanager | ||
1419 | 20 | daemon: simple | ||
1420 | 21 | plugs: [unconfined] | ||
1421 | 22 | dnsmasq: | ||
1422 | 23 | command: bin/dnsmasq | ||
1423 | 24 | daemon: simple | ||
1424 | 25 | plugs: [unconfined] | ||
1425 | 26 | |||
1426 | 27 | plugs: | ||
1427 | 28 | unconfined: | ||
1428 | 29 | interface: old-security | ||
1429 | 30 | security-template: unconfined | ||
1430 | 31 | |||
1431 | 32 | parts: | ||
1432 | 33 | networkmanager-common: | ||
1433 | 34 | plugin: copy | ||
1434 | 35 | files: | ||
1435 | 36 | snappy/bin/networkmanager: bin/networkmanager | ||
1436 | 37 | snappy/bin/dnsmasq: bin/dnsmasq | ||
1437 | 38 | snappy/conf/NetworkManager.conf: etc/NetworkManager/NetworkManager.conf | ||
1438 | 39 | snappy/conf/dnsmasq-dbus.conf: conf/dnsmasq-dbus.conf | ||
1439 | 40 | |||
1440 | 41 | networkmanager: | ||
1441 | 42 | plugin: autotools | ||
1442 | 43 | |||
1443 | 44 | source: https://download.gnome.org/sources/NetworkManager/0.9/NetworkManager-0.9.10.0.tar.xz | ||
1444 | 45 | |||
1445 | 46 | # Taking the same patchset as our debian package does | ||
1446 | 47 | patches-dir: debian/patches | ||
1447 | 48 | |||
1448 | 49 | # NOTE: Force autogen to be executed again even if the tarball already | ||
1449 | 50 | # comes with a configure script but that links against aclocal-1.13 | ||
1450 | 51 | # which we don't profile anymore and will cause the build to fail. | ||
1451 | 52 | force-autogen: true | ||
1452 | 53 | |||
1453 | 54 | # NOTE: Keep this in sync with what the debian package configures | ||
1454 | 55 | # NetworkManager. For everything we do differently please add a | ||
1455 | 56 | # comment why we do so. | ||
1456 | 57 | configflags: | ||
1457 | 58 | - --libexecdir=/usr/lib/NetworkManager | ||
1458 | 59 | - --with-pppd-plugin-dir=/usr/lib/pppd/2.4.6 | ||
1459 | 60 | - --with-pppd=/usr/sbin/pppd | ||
1460 | 61 | - --with-pppoe=/usr/sbin/pppoe | ||
1461 | 62 | - --with-resolvconf=/sbin/resolvconf | ||
1462 | 63 | - --with-dhclient=/sbin/dhclient | ||
1463 | 64 | - --with-iptables=/sbin/iptables | ||
1464 | 65 | - --with-dnsmasq=/usr/sbin/dnsmasq | ||
1465 | 66 | - --with-systemdsystemunitdir=/lib/systemd/system | ||
1466 | 67 | - --with-crypto=gnutls | ||
1467 | 68 | - --with-session-tracking=systemd | ||
1468 | 69 | - --with-suspend-resume=systemd | ||
1469 | 70 | - --with-modem-manager-1 | ||
1470 | 71 | - --with-nmtui | ||
1471 | 72 | - --disable-more-warnings | ||
1472 | 73 | - --disable-modify-system | ||
1473 | 74 | - --enable-polkit | ||
1474 | 75 | - --enable-ppp | ||
1475 | 76 | - --enable-ifupdown | ||
1476 | 77 | - --enable-introspection | ||
1477 | 78 | - --enable-gtk-doc | ||
1478 | 79 | - --enable-concheck | ||
1479 | 80 | - --enable-teamdctl=no | ||
1480 | 81 | - --enable-vala | ||
1481 | 82 | - --enable-bluez4 | ||
1482 | 83 | - --with-tests | ||
1483 | 84 | # NOTE: After this all options are specific to snappy and are not | ||
1484 | 85 | # in sync with those being used in the debian package. | ||
1485 | 86 | - --prefix=/usr | ||
1486 | 87 | - --sysconfdir=/etc | ||
1487 | 88 | - --disable-qt | ||
1488 | 89 | - --enable-snappy | ||
1489 | 90 | |||
1490 | 91 | # We stage everything here we need for build and runtime | ||
1491 | 92 | stage-packages: | ||
1492 | 93 | - adduser | ||
1493 | 94 | - dbus-test-runner | ||
1494 | 95 | - dnsmasq-base | ||
1495 | 96 | - gobject-introspection | ||
1496 | 97 | - gtk-doc-tools | ||
1497 | 98 | - init-system-helpers | ||
1498 | 99 | - intltool | ||
1499 | 100 | - iputils-arping | ||
1500 | 101 | - isc-dhcp-client | ||
1501 | 102 | - iw | ||
1502 | 103 | - libc6 | ||
1503 | 104 | - libdbus-1-3 | ||
1504 | 105 | - libdbus-1-dev | ||
1505 | 106 | - libdbus-glib-1-2 | ||
1506 | 107 | - libdbus-glib-1-dev | ||
1507 | 108 | - libgcrypt11-dev | ||
1508 | 109 | - libgcrypt20 | ||
1509 | 110 | - libgirepository1.0-dev | ||
1510 | 111 | - libglib2.0-0 | ||
1511 | 112 | - libglib2.0-dev | ||
1512 | 113 | - libglib2.0-doc | ||
1513 | 114 | - libgudev-1.0-0 | ||
1514 | 115 | - libgudev-1.0-dev | ||
1515 | 116 | - libiw-dev | ||
1516 | 117 | - libmbim-glib4 | ||
1517 | 118 | - libmm-glib-dev | ||
1518 | 119 | - libndp-dev | ||
1519 | 120 | - libndp0 | ||
1520 | 121 | - libnewt-dev | ||
1521 | 122 | - libnewt0.52 | ||
1522 | 123 | - libnl-3-200 | ||
1523 | 124 | - libnl-3-dev | ||
1524 | 125 | - libnl-genl-3-200 | ||
1525 | 126 | - libnl-genl-3-dev | ||
1526 | 127 | - libnl-route-3-200 | ||
1527 | 128 | - libnl-route-3-dev | ||
1528 | 129 | - libnss3-dev | ||
1529 | 130 | - libnspr4-dev | ||
1530 | 131 | - libpam-systemd | ||
1531 | 132 | - libpolkit-agent-1-0 | ||
1532 | 133 | - libpolkit-gobject-1-0 | ||
1533 | 134 | - libpolkit-gobject-1-dev | ||
1534 | 135 | - libqmi-glib1 | ||
1535 | 136 | - libreadline-dev | ||
1536 | 137 | - libreadline6 | ||
1537 | 138 | - libsoup2.4-1 | ||
1538 | 139 | - libsoup2.4-dev | ||
1539 | 140 | - libsystemd-dev | ||
1540 | 141 | - libsystemd0 | ||
1541 | 142 | - libudev-dev | ||
1542 | 143 | - libuuid1 | ||
1543 | 144 | - lsb-base | ||
1544 | 145 | - pkg-config | ||
1545 | 146 | - policykit-1 | ||
1546 | 147 | - ppp-dev | ||
1547 | 148 | - python-dbus | ||
1548 | 149 | - python-gi | ||
1549 | 150 | - udev | ||
1550 | 151 | - uuid-dev | ||
1551 | 152 | - valac | ||
1552 | 153 | - wireless-tools | ||
1553 | 154 | |||
1554 | 155 | # We don't want that anything from our staged packages ends | ||
1555 | 156 | # up in the resulting snap. We only need them to build | ||
1556 | 157 | # NetworkManager. All runtime dependencies are pulled in with | ||
1557 | 158 | # the rdepends part below. The only left items specified | ||
1558 | 159 | # here are the results of the network manager build. | ||
1559 | 160 | filesets: | ||
1560 | 161 | docs: | ||
1561 | 162 | # Need those to chip the license files of all things | ||
1562 | 163 | # we put into the snap. | ||
1563 | 164 | - usr/share/doc | ||
1564 | 165 | binaries: | ||
1565 | 166 | - usr/bin/nm-online | ||
1566 | 167 | - usr/bin/nmcli | ||
1567 | 168 | - usr/bin/nmtui | ||
1568 | 169 | - usr/bin/nmtui-connect | ||
1569 | 170 | - usr/bin/nmtui-hostname | ||
1570 | 171 | - usr/bin/nmtui-edit | ||
1571 | 172 | - usr/lib/*/NetworkManager | ||
1572 | 173 | - usr/lib/pppd/2.4.6/nm-pppd-plugin.so | ||
1573 | 174 | - usr/lib/NetworkManager | ||
1574 | 175 | - usr/sbin/NetworkManager | ||
1575 | 176 | - usr/lib/*/libnm-*.so* | ||
1576 | 177 | - usr/lib/libnm-*.so* | ||
1577 | 178 | configs: | ||
1578 | 179 | - etc/dbus-1/system.d/* | ||
1579 | 180 | rdepends: | ||
1580 | 181 | - lib64/* | ||
1581 | 182 | - lib/*/ | ||
1582 | 183 | - usr/lib/*/ | ||
1583 | 184 | - sbin/iwconfig | ||
1584 | 185 | - sbin/iwlist | ||
1585 | 186 | - sbin/iw | ||
1586 | 187 | - sbin/dhclient-script | ||
1587 | 188 | - sbin/dhclient | ||
1588 | 189 | - bin/ip | ||
1589 | 190 | - etc/dbus-1/system.d/dnsmasq.conf | ||
1590 | 191 | - etc/iproute2/ | ||
1591 | 192 | - usr/sbin/arpd | ||
1592 | 193 | - usr/sbin/dnsmasq | ||
1593 | 194 | - usr/bin/arping | ||
1594 | 195 | - usr/share/dnsmasq-base/ | ||
1595 | 196 | - etc/dhcp/ | ||
1596 | 197 | unwanted: | ||
1597 | 198 | - -etc/dbus-1/system.d/org.freedesktop.ModemManager1.conf | ||
1598 | 199 | - -usr/bin/mmcli | ||
1599 | 200 | - -usr/include/libmm-glib/ | ||
1600 | 201 | - -usr/lib/*/libmm-glib.so* | ||
1601 | 202 | - -usr/lib/*/ModemManager/ | ||
1602 | 203 | - -usr/sbin/ModemManager | ||
1603 | 204 | - -usr/share/icons/hicolor/22x22/apps/ModemManager.png | ||
1604 | 205 | - -usr/lib/*/gobject-introspection | ||
1605 | 206 | - -usr/lib/*/pkgconfig | ||
1606 | 207 | - -usr/lib/pkgconfig | ||
1607 | 208 | - -usr/lib/*/perl/ | ||
1608 | 209 | - -usr/lib/*/perl5/ | ||
1609 | 210 | - -usr/lib/python2.7/ | ||
1610 | 211 | - -usr/lib/python3.4/ | ||
1611 | 212 | - -usr/lib/python3/ | ||
1612 | 213 | - -usr/lib/gcc/ | ||
1613 | 214 | - -usr/lib/ldscripts/ | ||
1614 | 215 | - -usr/lib/policykit-1 | ||
1615 | 216 | - -usr/lib/valgrind/ | ||
1616 | 217 | - -usr/lib/*/dbus-1.0/ | ||
1617 | 218 | - -usr/lib/*/girepository-1.0/ | ||
1618 | 219 | - -usr/lib/*/gconv/ | ||
1619 | 220 | - -usr/lib/girepository-1.0/ | ||
1620 | 221 | - -usr/lib/compat-ld/ | ||
1621 | 222 | - -usr/lib/dbus-1.0/dbus-daemon-launch-helper | ||
1622 | 223 | - -usr/lib/dpkg/ | ||
1623 | 224 | - -lib/udev | ||
1624 | 225 | - -lib/systemd | ||
1625 | 226 | - -lib/ifupdown | ||
1626 | 227 | - -lib/lsb | ||
1627 | 228 | - -usr/lib/*.a | ||
1628 | 229 | - -usr/lib/*/*.a | ||
1629 | 230 | - -usr/lib/*.la | ||
1630 | 231 | - -usr/lib/*/*.la | ||
1631 | 232 | - -usr/lib/*/NetworkManager/*.la | ||
1632 | 233 | - -usr/lib/pppd/*/nm-pppd-plugin.la | ||
1633 | 234 | snap: | ||
1634 | 235 | - $docs | ||
1635 | 236 | - $binaries | ||
1636 | 237 | - $configs | ||
1637 | 238 | - $rdepends | ||
1638 | 239 | - $unwanted | ||
1639 | 0 | 240 | ||
1640 | === added directory 'snappy' | |||
1641 | === added directory 'snappy/bin' | |||
1642 | === added file 'snappy/bin/dhclient' | |||
1643 | --- snappy/bin/dhclient 1970-01-01 00:00:00 +0000 | |||
1644 | +++ snappy/bin/dhclient 2016-03-30 06:28:14 +0000 | |||
1645 | @@ -0,0 +1,32 @@ | |||
1646 | 1 | #!/bin/bash | ||
1647 | 2 | |||
1648 | 3 | set -e | ||
1649 | 4 | set -x | ||
1650 | 5 | |||
1651 | 6 | escape() { | ||
1652 | 7 | echo "$*" | sed "s/'/'\"'\"'/g; s/.*/'&'/" | ||
1653 | 8 | } | ||
1654 | 9 | |||
1655 | 10 | run="" | ||
1656 | 11 | while [ $# -gt 0 ]; do | ||
1657 | 12 | case $1 in | ||
1658 | 13 | -sf|-pf|-lf|-cf) | ||
1659 | 14 | case $2 in | ||
1660 | 15 | /*) | ||
1661 | 16 | path=$2 | ||
1662 | 17 | ;; | ||
1663 | 18 | *) | ||
1664 | 19 | path=$PWD/$2 | ||
1665 | 20 | ;; | ||
1666 | 21 | esac | ||
1667 | 22 | run="$run $1 `escape $path`" | ||
1668 | 23 | shift 2 | ||
1669 | 24 | ;; | ||
1670 | 25 | *) | ||
1671 | 26 | run="$run `escape $1`" | ||
1672 | 27 | shift | ||
1673 | 28 | ;; | ||
1674 | 29 | esac | ||
1675 | 30 | done | ||
1676 | 31 | |||
1677 | 32 | eval exec $0.real $run | ||
1678 | 0 | 33 | ||
1679 | === added file 'snappy/bin/dnsmasq' | |||
1680 | --- snappy/bin/dnsmasq 1970-01-01 00:00:00 +0000 | |||
1681 | +++ snappy/bin/dnsmasq 2016-03-30 06:28:14 +0000 | |||
1682 | @@ -0,0 +1,41 @@ | |||
1683 | 1 | #!/bin/sh | ||
1684 | 2 | |||
1685 | 3 | set -e | ||
1686 | 4 | set -x | ||
1687 | 5 | |||
1688 | 6 | # Copy in our dbus policy until snappy has support for this | ||
1689 | 7 | cp $SNAP_APP_PATH/conf/dnsmasq-dbus.conf \ | ||
1690 | 8 | /etc/dbus-1/system.d/$SNAP_APP.conf | ||
1691 | 9 | |||
1692 | 10 | mkdir -p $SNAP_APP_DATA_PATH/etc/NetworkManager/dnsmasq.d | ||
1693 | 11 | mkdir -p $SNAP_APP_DATA_PATH/var/run/NetworkManager | ||
1694 | 12 | touch $SNAP_APP_DATA_PATH/var/run/NetworkManager/dnsmasq.conf | ||
1695 | 13 | chmod 0644 $SNAP_APP_DATA_PATH/var/run/NetworkManager/dnsmasq.conf | ||
1696 | 14 | |||
1697 | 15 | TRIPLET= | ||
1698 | 16 | |||
1699 | 17 | case $SNAP_ARCH in | ||
1700 | 18 | amd64) | ||
1701 | 19 | TRIPLET=x86_64-linux-gnu | ||
1702 | 20 | ;; | ||
1703 | 21 | *) | ||
1704 | 22 | echo "ERROR: Architecture $SNAP_ARCH isn't supported by this snap" | ||
1705 | 23 | exit 1 | ||
1706 | 24 | esac | ||
1707 | 25 | |||
1708 | 26 | |||
1709 | 27 | # XXX hardcoded architecture | ||
1710 | 28 | LD_LIBRARY_PATH="$SNAP_APP_PATH/usr/lib/$TRIPLET:$SNAP_APP_PATH/usr/lib:$SNAP_APP_PATH/lib/$TRIPLET" \ | ||
1711 | 29 | $SNAP_APP_PATH/usr/sbin/dnsmasq \ | ||
1712 | 30 | --no-resolv \ | ||
1713 | 31 | --keep-in-foreground \ | ||
1714 | 32 | --no-hosts \ | ||
1715 | 33 | --listen-address=127.0.1.1 \ | ||
1716 | 34 | --cache-size=0 \ | ||
1717 | 35 | --proxy-dnssec \ | ||
1718 | 36 | --enable-dbus=org.freedesktop.NetworkManager.dnsmasq \ | ||
1719 | 37 | --conf-file=$SNAP_APP_DATA_PATH/var/run/NetworkManager/dnsmasq.conf \ | ||
1720 | 38 | --conf-dir=$SNAP_APP_DATA_PATH/etc/NetworkManager/dnsmasq.d \ | ||
1721 | 39 | "$@" | ||
1722 | 40 | |||
1723 | 41 | rm /etc/dbus-1/system.d/$SNAP_APP.conf | ||
1724 | 0 | 42 | ||
1725 | === added file 'snappy/bin/networkmanager' | |||
1726 | --- snappy/bin/networkmanager 1970-01-01 00:00:00 +0000 | |||
1727 | +++ snappy/bin/networkmanager 2016-03-30 06:28:14 +0000 | |||
1728 | @@ -0,0 +1,37 @@ | |||
1729 | 1 | #!/bin/sh | ||
1730 | 2 | |||
1731 | 3 | set -e | ||
1732 | 4 | set -x | ||
1733 | 5 | |||
1734 | 6 | # Copy in our dbus policy until snappy has support for this | ||
1735 | 7 | cp $SNAP_APP_PATH/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf \ | ||
1736 | 8 | /etc/dbus-1/system.d/$SNAP_APP.conf | ||
1737 | 9 | |||
1738 | 10 | # Create all necessary directories we need at runtime | ||
1739 | 11 | mkdir -p $SNAP_APP_DATA_PATH/etc/NetworkManager/system-connections | ||
1740 | 12 | mkdir -p $SNAP_APP_DATA_PATH/run/sendsigs.omit.d | ||
1741 | 13 | mkdir -p $SNAP_APP_DATA_PATH/var/run | ||
1742 | 14 | mkdir -p $SNAP_APP_DATA_PATH/var/lib | ||
1743 | 15 | |||
1744 | 16 | TRIPLET= | ||
1745 | 17 | |||
1746 | 18 | case $SNAP_ARCH in | ||
1747 | 19 | amd64) | ||
1748 | 20 | TRIPLET=x86_64-linux-gnu | ||
1749 | 21 | ;; | ||
1750 | 22 | *) | ||
1751 | 23 | echo "ERROR: Architecture $SNAP_ARCH isn't supported by this snap" | ||
1752 | 24 | exit 1 | ||
1753 | 25 | esac | ||
1754 | 26 | |||
1755 | 27 | # TODO drop DEBUG | ||
1756 | 28 | LD_LIBRARY_PATH="$SNAP_APP_PATH/usr/lib/$TRIPLET:$SNAP_APP_PATH/usr/lib:$SNAP_APP_PATH/usr/lib/$TRIPLET/NetworkManager:$SNAP_APP_PATH/usr/lib/NetworkManager:$SNAP_APP_PATH/lib/$TRIPLET" \ | ||
1757 | 29 | $SNAP_APP_PATH/usr/sbin/NetworkManager \ | ||
1758 | 30 | --state-file=$SNAP_APP_DATA_PATH/NetworkManager.state \ | ||
1759 | 31 | --config-dir=$SNAP_APP_PATH/etc/NetworkManager \ | ||
1760 | 32 | --config=$SNAP_APP_PATH/etc/NetworkManager/NetworkManager.conf \ | ||
1761 | 33 | --log-level=DEBUG \ | ||
1762 | 34 | --no-daemon \ | ||
1763 | 35 | "$@" | ||
1764 | 36 | |||
1765 | 37 | rm /etc/dbus-1/system.d/$SNAP_APP.conf | ||
1766 | 0 | 38 | ||
1767 | === added directory 'snappy/conf' | |||
1768 | === added file 'snappy/conf/NetworkManager.conf' | |||
1769 | --- snappy/conf/NetworkManager.conf 1970-01-01 00:00:00 +0000 | |||
1770 | +++ snappy/conf/NetworkManager.conf 2016-03-30 06:28:14 +0000 | |||
1771 | @@ -0,0 +1,6 @@ | |||
1772 | 1 | [main] | ||
1773 | 2 | plugins=ifupdown,keyfile | ||
1774 | 3 | dns=dnsmasq | ||
1775 | 4 | |||
1776 | 5 | [ifupdown] | ||
1777 | 6 | managed=false | ||
1778 | 0 | 7 | ||
1779 | === added file 'snappy/conf/dnsmasq-dbus.conf' | |||
1780 | --- snappy/conf/dnsmasq-dbus.conf 1970-01-01 00:00:00 +0000 | |||
1781 | +++ snappy/conf/dnsmasq-dbus.conf 2016-03-30 06:28:14 +0000 | |||
1782 | @@ -0,0 +1,10 @@ | |||
1783 | 1 | <!DOCTYPE busconfig PUBLIC | ||
1784 | 2 | "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" | ||
1785 | 3 | "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> | ||
1786 | 4 | <busconfig> | ||
1787 | 5 | <policy user="root"> | ||
1788 | 6 | <allow own="org.freedesktop.NetworkManager.dnsmasq"/> | ||
1789 | 7 | <allow send_destination="org.freedesktop.NetworkManager.dnsmasq"/> | ||
1790 | 8 | </policy> | ||
1791 | 9 | </busconfig> | ||
1792 | 10 | |||
1793 | 0 | 11 | ||
1794 | === added file 'snappy/conf/org.freedesktop.NetworkManager.conf' | |||
1795 | --- snappy/conf/org.freedesktop.NetworkManager.conf 1970-01-01 00:00:00 +0000 | |||
1796 | +++ snappy/conf/org.freedesktop.NetworkManager.conf 2016-03-30 06:28:14 +0000 | |||
1797 | @@ -0,0 +1,152 @@ | |||
1798 | 1 | <!DOCTYPE busconfig PUBLIC | ||
1799 | 2 | "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" | ||
1800 | 3 | "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> | ||
1801 | 4 | <busconfig> | ||
1802 | 5 | <policy user="root"> | ||
1803 | 6 | <allow own="org.freedesktop.NetworkManager"/> | ||
1804 | 7 | <allow send_destination="org.freedesktop.NetworkManager"/> | ||
1805 | 8 | |||
1806 | 9 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1807 | 10 | send_interface="org.freedesktop.NetworkManager.PPP"/> | ||
1808 | 11 | |||
1809 | 12 | <allow send_interface="org.freedesktop.NetworkManager.SecretAgent"/> | ||
1810 | 13 | |||
1811 | 14 | <!-- Allow NM to talk to known VPN plugins; due to a bug in | ||
1812 | 15 | the D-Bus daemon, when a plugin is installed and the user | ||
1813 | 16 | immediately tries to use it, the VPN plugin's rules aren't | ||
1814 | 17 | always loaded into dbus-daemon. Those rules allow NM to | ||
1815 | 18 | talk to the plugin. Oops. Work around that by explicitly | ||
1816 | 19 | allowing NM to talk to VPN plugins here. | ||
1817 | 20 | --> | ||
1818 | 21 | <allow send_destination="org.freedesktop.NetworkManager.openconnect"/> | ||
1819 | 22 | <allow send_destination="org.freedesktop.NetworkManager.openswan"/> | ||
1820 | 23 | <allow send_destination="org.freedesktop.NetworkManager.openvpn"/> | ||
1821 | 24 | <allow send_destination="org.freedesktop.NetworkManager.pptp"/> | ||
1822 | 25 | <allow send_destination="org.freedesktop.NetworkManager.vpnc"/> | ||
1823 | 26 | <allow send_destination="org.freedesktop.NetworkManager.ssh"/> | ||
1824 | 27 | <allow send_destination="org.freedesktop.NetworkManager.iodine"/> | ||
1825 | 28 | |||
1826 | 29 | <!-- Allow the custom name for the dnsmasq instance spawned by NM | ||
1827 | 30 | from the dns dnsmasq plugin to own it's dbus name, and for | ||
1828 | 31 | messages to be sent to it. | ||
1829 | 32 | --> | ||
1830 | 33 | <allow own="org.freedesktop.NetworkManager.dnsmasq"/> | ||
1831 | 34 | <allow send_destination="org.freedesktop.NetworkManager.dnsmasq"/> | ||
1832 | 35 | </policy> | ||
1833 | 36 | <policy user="whoopsie"> | ||
1834 | 37 | <allow send_destination="org.freedesktop.NetworkManager"/> | ||
1835 | 38 | |||
1836 | 39 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1837 | 40 | send_interface="org.freedesktop.DBus.Introspectable"/> | ||
1838 | 41 | |||
1839 | 42 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1840 | 43 | send_interface="org.freedesktop.DBus.Properties"/> | ||
1841 | 44 | |||
1842 | 45 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1843 | 46 | send_interface="org.freedesktop.NetworkManager"/> | ||
1844 | 47 | |||
1845 | 48 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1846 | 49 | send_interface="org.freedesktop.NetworkManager.Connection.Active"/> | ||
1847 | 50 | |||
1848 | 51 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1849 | 52 | send_interface="org.freedesktop.NetworkManager.Device"/> | ||
1850 | 53 | </policy> | ||
1851 | 54 | <policy context="default"> | ||
1852 | 55 | <deny own="org.freedesktop.NetworkManager"/> | ||
1853 | 56 | |||
1854 | 57 | <deny send_destination="org.freedesktop.NetworkManager"/> | ||
1855 | 58 | |||
1856 | 59 | <!-- Basic D-Bus API stuff --> | ||
1857 | 60 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1858 | 61 | send_interface="org.freedesktop.DBus.Introspectable"/> | ||
1859 | 62 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1860 | 63 | send_interface="org.freedesktop.DBus.Properties"/> | ||
1861 | 64 | |||
1862 | 65 | <!-- Devices (read-only properties, no methods) --> | ||
1863 | 66 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1864 | 67 | send_interface="org.freedesktop.NetworkManager.Device.Adsl"/> | ||
1865 | 68 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1866 | 69 | send_interface="org.freedesktop.NetworkManager.Device.Bond"/> | ||
1867 | 70 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1868 | 71 | send_interface="org.freedesktop.NetworkManager.Device.Bridge"/> | ||
1869 | 72 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1870 | 73 | send_interface="org.freedesktop.NetworkManager.Device.Bluetooth"/> | ||
1871 | 74 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1872 | 75 | send_interface="org.freedesktop.NetworkManager.Device.Wired"/> | ||
1873 | 76 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1874 | 77 | send_interface="org.freedesktop.NetworkManager.Device.Generic"/> | ||
1875 | 78 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1876 | 79 | send_interface="org.freedesktop.NetworkManager.Device.Gre"/> | ||
1877 | 80 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1878 | 81 | send_interface="org.freedesktop.NetworkManager.Device.Infiniband"/> | ||
1879 | 82 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1880 | 83 | send_interface="org.freedesktop.NetworkManager.Device.Macvlan"/> | ||
1881 | 84 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1882 | 85 | send_interface="org.freedesktop.NetworkManager.Device.Modem"/> | ||
1883 | 86 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1884 | 87 | send_interface="org.freedesktop.NetworkManager.Device.OlpcMesh"/> | ||
1885 | 88 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1886 | 89 | send_interface="org.freedesktop.NetworkManager.Device.Team"/> | ||
1887 | 90 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1888 | 91 | send_interface="org.freedesktop.NetworkManager.Device.Tun"/> | ||
1889 | 92 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1890 | 93 | send_interface="org.freedesktop.NetworkManager.Device.Veth"/> | ||
1891 | 94 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1892 | 95 | send_interface="org.freedesktop.NetworkManager.Device.Vlan"/> | ||
1893 | 96 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1894 | 97 | send_interface="org.freedesktop.NetworkManager.WiMax.Nsp"/> | ||
1895 | 98 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1896 | 99 | send_interface="org.freedesktop.NetworkManager.AccessPoint"/> | ||
1897 | 100 | |||
1898 | 101 | <!-- Devices (read-only, no security required) --> | ||
1899 | 102 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1900 | 103 | send_interface="org.freedesktop.NetworkManager.Device.WiMax"/> | ||
1901 | 104 | |||
1902 | 105 | <!-- Devices (read/write, secured with PolicyKit) --> | ||
1903 | 106 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1904 | 107 | send_interface="org.freedesktop.NetworkManager.Device.Wireless"/> | ||
1905 | 108 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1906 | 109 | send_interface="org.freedesktop.NetworkManager.Device"/> | ||
1907 | 110 | |||
1908 | 111 | <!-- Core stuff (read-only properties, no methods) --> | ||
1909 | 112 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1910 | 113 | send_interface="org.freedesktop.NetworkManager.Connection.Active"/> | ||
1911 | 114 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1912 | 115 | send_interface="org.freedesktop.NetworkManager.DHCP4Config"/> | ||
1913 | 116 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1914 | 117 | send_interface="org.freedesktop.NetworkManager.DHCP6Config"/> | ||
1915 | 118 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1916 | 119 | send_interface="org.freedesktop.NetworkManager.IP4Config"/> | ||
1917 | 120 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1918 | 121 | send_interface="org.freedesktop.NetworkManager.IP6Config"/> | ||
1919 | 122 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1920 | 123 | send_interface="org.freedesktop.NetworkManager.VPN.Connection"/> | ||
1921 | 124 | |||
1922 | 125 | <!-- Core stuff (read/write, secured with PolicyKit) --> | ||
1923 | 126 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1924 | 127 | send_interface="org.freedesktop.NetworkManager"/> | ||
1925 | 128 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1926 | 129 | send_interface="org.freedesktop.NetworkManager.Settings"/> | ||
1927 | 130 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1928 | 131 | send_interface="org.freedesktop.NetworkManager.Settings.Connection"/> | ||
1929 | 132 | |||
1930 | 133 | <!-- Agents; secured with PolicyKit. Any process can talk to | ||
1931 | 134 | the AgentManager API, but only NetworkManager can talk | ||
1932 | 135 | to the agents themselves. --> | ||
1933 | 136 | <allow send_destination="org.freedesktop.NetworkManager" | ||
1934 | 137 | send_interface="org.freedesktop.NetworkManager.AgentManager"/> | ||
1935 | 138 | <deny send_interface="org.freedesktop.NetworkManager.SecretAgent"/> | ||
1936 | 139 | |||
1937 | 140 | <!-- Root-only functions --> | ||
1938 | 141 | <deny send_interface="org.freedesktop.NetworkManager" send_member="SetLogging"/> | ||
1939 | 142 | <deny send_interface="org.freedesktop.NetworkManager" send_member="Sleep"/> | ||
1940 | 143 | <deny send_interface="org.freedesktop.NetworkManager.Settings" send_member="LoadConnections"/> | ||
1941 | 144 | <deny send_interface="org.freedesktop.NetworkManager.Settings" send_member="ReloadConnections"/> | ||
1942 | 145 | <deny send_interface="org.freedesktop.NetworkManager.VPN.Plugin"/> | ||
1943 | 146 | <deny send_interface="org.freedesktop.NetworkManager.PPP"/> | ||
1944 | 147 | |||
1945 | 148 | <deny own="org.freedesktop.NetworkManager.dnsmasq"/> | ||
1946 | 149 | <deny send_destination="org.freedesktop.NetworkManager.dnsmasq"/> | ||
1947 | 150 | </policy> | ||
1948 | 151 | </busconfig> | ||
1949 | 152 | |||
1950 | 0 | 153 | ||
1951 | === added file 'snappy/icon.svg' | |||
1952 | --- snappy/icon.svg 1970-01-01 00:00:00 +0000 | |||
1953 | +++ snappy/icon.svg 2016-03-30 06:28:14 +0000 | |||
1954 | @@ -0,0 +1,2466 @@ | |||
1955 | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
1956 | 2 | <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||
1957 | 3 | <svg | ||
1958 | 4 | xmlns:dc="http://purl.org/dc/elements/1.1/" | ||
1959 | 5 | xmlns:cc="http://web.resource.org/cc/" | ||
1960 | 6 | xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | ||
1961 | 7 | xmlns:svg="http://www.w3.org/2000/svg" | ||
1962 | 8 | xmlns="http://www.w3.org/2000/svg" | ||
1963 | 9 | xmlns:xlink="http://www.w3.org/1999/xlink" | ||
1964 | 10 | xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||
1965 | 11 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||
1966 | 12 | width="48.000000px" | ||
1967 | 13 | height="48.000000px" | ||
1968 | 14 | id="svg2327" | ||
1969 | 15 | sodipodi:version="0.32" | ||
1970 | 16 | inkscape:version="0.45" | ||
1971 | 17 | sodipodi:docbase="/home/dobey/Projects/gnome-icon-theme/scalable/status" | ||
1972 | 18 | sodipodi:docname="network-idle.svg" | ||
1973 | 19 | inkscape:output_extension="org.inkscape.output.svg.inkscape"> | ||
1974 | 20 | <defs | ||
1975 | 21 | id="defs3"> | ||
1976 | 22 | <linearGradient | ||
1977 | 23 | id="linearGradient7670"> | ||
1978 | 24 | <stop | ||
1979 | 25 | style="stop-color:#3465a4;stop-opacity:1" | ||
1980 | 26 | offset="0" | ||
1981 | 27 | id="stop7672" /> | ||
1982 | 28 | <stop | ||
1983 | 29 | style="stop-color:#204a87;stop-opacity:1" | ||
1984 | 30 | offset="1" | ||
1985 | 31 | id="stop7674" /> | ||
1986 | 32 | </linearGradient> | ||
1987 | 33 | <linearGradient | ||
1988 | 34 | inkscape:collect="always" | ||
1989 | 35 | id="linearGradient2307"> | ||
1990 | 36 | <stop | ||
1991 | 37 | style="stop-color:#5a7aa4;stop-opacity:1;" | ||
1992 | 38 | offset="0" | ||
1993 | 39 | id="stop2309" /> | ||
1994 | 40 | <stop | ||
1995 | 41 | style="stop-color:#5a7aa4;stop-opacity:0;" | ||
1996 | 42 | offset="1" | ||
1997 | 43 | id="stop2311" /> | ||
1998 | 44 | </linearGradient> | ||
1999 | 45 | <linearGradient | ||
2000 | 46 | id="linearGradient11400"> | ||
2001 | 47 | <stop | ||
2002 | 48 | id="stop11402" | ||
2003 | 49 | offset="0" | ||
2004 | 50 | style="stop-color:#000000;stop-opacity:1;" /> | ||
2005 | 51 | <stop | ||
2006 | 52 | id="stop11404" | ||
2007 | 53 | offset="1" | ||
2008 | 54 | style="stop-color:#000000;stop-opacity:0;" /> | ||
2009 | 55 | </linearGradient> | ||
2010 | 56 | <linearGradient | ||
2011 | 57 | id="linearGradient6240" | ||
2012 | 58 | inkscape:collect="always"> | ||
2013 | 59 | <stop | ||
2014 | 60 | id="stop6242" | ||
2015 | 61 | offset="0" | ||
2016 | 62 | style="stop-color:#ffffff;stop-opacity:1;" /> | ||
2017 | 63 | <stop | ||
2018 | 64 | id="stop6244" | ||
2019 | 65 | offset="1" | ||
2020 | 66 | style="stop-color:#ffffff;stop-opacity:0;" /> | ||
2021 | 67 | </linearGradient> | ||
2022 | 68 | <linearGradient | ||
2023 | 69 | id="linearGradient5137"> | ||
2024 | 70 | <stop | ||
2025 | 71 | id="stop5139" | ||
2026 | 72 | offset="0" | ||
2027 | 73 | style="stop-color:#eeeeec;stop-opacity:1;" /> | ||
2028 | 74 | <stop | ||
2029 | 75 | id="stop5141" | ||
2030 | 76 | offset="1" | ||
2031 | 77 | style="stop-color:#e6e6e3;stop-opacity:1;" /> | ||
2032 | 78 | </linearGradient> | ||
2033 | 79 | <linearGradient | ||
2034 | 80 | id="linearGradient5225" | ||
2035 | 81 | inkscape:collect="always"> | ||
2036 | 82 | <stop | ||
2037 | 83 | id="stop5227" | ||
2038 | 84 | offset="0" | ||
2039 | 85 | style="stop-color:black;stop-opacity:1;" /> | ||
2040 | 86 | <stop | ||
2041 | 87 | id="stop5229" | ||
2042 | 88 | offset="1" | ||
2043 | 89 | style="stop-color:black;stop-opacity:0;" /> | ||
2044 | 90 | </linearGradient> | ||
2045 | 91 | <linearGradient | ||
2046 | 92 | id="linearGradient3899" | ||
2047 | 93 | inkscape:collect="always"> | ||
2048 | 94 | <stop | ||
2049 | 95 | id="stop3901" | ||
2050 | 96 | offset="0" | ||
2051 | 97 | style="stop-color:#eeeeec" /> | ||
2052 | 98 | <stop | ||
2053 | 99 | id="stop3903" | ||
2054 | 100 | offset="1" | ||
2055 | 101 | style="stop-color:#d3d7cf" /> | ||
2056 | 102 | </linearGradient> | ||
2057 | 103 | <linearGradient | ||
2058 | 104 | id="linearGradient3907"> | ||
2059 | 105 | <stop | ||
2060 | 106 | id="stop3909" | ||
2061 | 107 | offset="0" | ||
2062 | 108 | style="stop-color:#ffffff;stop-opacity:1;" /> | ||
2063 | 109 | <stop | ||
2064 | 110 | id="stop3911" | ||
2065 | 111 | offset="1" | ||
2066 | 112 | style="stop-color:#ffffff;stop-opacity:0;" /> | ||
2067 | 113 | </linearGradient> | ||
2068 | 114 | <linearGradient | ||
2069 | 115 | id="linearGradient4196"> | ||
2070 | 116 | <stop | ||
2071 | 117 | id="stop4198" | ||
2072 | 118 | offset="0" | ||
2073 | 119 | style="stop-color:black;stop-opacity:1;" /> | ||
2074 | 120 | <stop | ||
2075 | 121 | id="stop4200" | ||
2076 | 122 | offset="1" | ||
2077 | 123 | style="stop-color:black;stop-opacity:0;" /> | ||
2078 | 124 | </linearGradient> | ||
2079 | 125 | <linearGradient | ||
2080 | 126 | inkscape:collect="always" | ||
2081 | 127 | id="linearGradient5060"> | ||
2082 | 128 | <stop | ||
2083 | 129 | style="stop-color:black;stop-opacity:1;" | ||
2084 | 130 | offset="0" | ||
2085 | 131 | id="stop5062" /> | ||
2086 | 132 | <stop | ||
2087 | 133 | style="stop-color:black;stop-opacity:0;" | ||
2088 | 134 | offset="1" | ||
2089 | 135 | id="stop5064" /> | ||
2090 | 136 | </linearGradient> | ||
2091 | 137 | <radialGradient | ||
2092 | 138 | r="19.5" | ||
2093 | 139 | fy="47.045319" | ||
2094 | 140 | fx="20.913568" | ||
2095 | 141 | cy="47.045319" | ||
2096 | 142 | cx="20.913568" | ||
2097 | 143 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
2098 | 144 | gradientUnits="userSpaceOnUse" | ||
2099 | 145 | id="radialGradient3304" | ||
2100 | 146 | xlink:href="#linearGradient3907" | ||
2101 | 147 | inkscape:collect="always" /> | ||
2102 | 148 | <radialGradient | ||
2103 | 149 | r="19.5" | ||
2104 | 150 | fy="47.045319" | ||
2105 | 151 | fx="20.913568" | ||
2106 | 152 | cy="47.045319" | ||
2107 | 153 | cx="20.913568" | ||
2108 | 154 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
2109 | 155 | gradientUnits="userSpaceOnUse" | ||
2110 | 156 | id="radialGradient3302" | ||
2111 | 157 | xlink:href="#linearGradient3907" | ||
2112 | 158 | inkscape:collect="always" /> | ||
2113 | 159 | <radialGradient | ||
2114 | 160 | r="19.5" | ||
2115 | 161 | fy="47.045319" | ||
2116 | 162 | fx="20.913568" | ||
2117 | 163 | cy="47.045319" | ||
2118 | 164 | cx="20.913568" | ||
2119 | 165 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
2120 | 166 | gradientUnits="userSpaceOnUse" | ||
2121 | 167 | id="radialGradient3300" | ||
2122 | 168 | xlink:href="#linearGradient3907" | ||
2123 | 169 | inkscape:collect="always" /> | ||
2124 | 170 | <radialGradient | ||
2125 | 171 | r="19.5" | ||
2126 | 172 | fy="47.045319" | ||
2127 | 173 | fx="20.913568" | ||
2128 | 174 | cy="47.045319" | ||
2129 | 175 | cx="20.913568" | ||
2130 | 176 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
2131 | 177 | gradientUnits="userSpaceOnUse" | ||
2132 | 178 | id="radialGradient3298" | ||
2133 | 179 | xlink:href="#linearGradient3907" | ||
2134 | 180 | inkscape:collect="always" /> | ||
2135 | 181 | <radialGradient | ||
2136 | 182 | r="19.5" | ||
2137 | 183 | fy="47.045319" | ||
2138 | 184 | fx="20.913568" | ||
2139 | 185 | cy="47.045319" | ||
2140 | 186 | cx="20.913568" | ||
2141 | 187 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
2142 | 188 | gradientUnits="userSpaceOnUse" | ||
2143 | 189 | id="radialGradient3296" | ||
2144 | 190 | xlink:href="#linearGradient3907" | ||
2145 | 191 | inkscape:collect="always" /> | ||
2146 | 192 | <radialGradient | ||
2147 | 193 | r="19.5" | ||
2148 | 194 | fy="47.045319" | ||
2149 | 195 | fx="20.913568" | ||
2150 | 196 | cy="47.045319" | ||
2151 | 197 | cx="20.913568" | ||
2152 | 198 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
2153 | 199 | gradientUnits="userSpaceOnUse" | ||
2154 | 200 | id="radialGradient3294" | ||
2155 | 201 | xlink:href="#linearGradient3907" | ||
2156 | 202 | inkscape:collect="always" /> | ||
2157 | 203 | <radialGradient | ||
2158 | 204 | r="19.5" | ||
2159 | 205 | fy="47.045319" | ||
2160 | 206 | fx="20.913568" | ||
2161 | 207 | cy="47.045319" | ||
2162 | 208 | cx="20.913568" | ||
2163 | 209 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
2164 | 210 | gradientUnits="userSpaceOnUse" | ||
2165 | 211 | id="radialGradient3292" | ||
2166 | 212 | xlink:href="#linearGradient3907" | ||
2167 | 213 | inkscape:collect="always" /> | ||
2168 | 214 | <radialGradient | ||
2169 | 215 | r="19.5" | ||
2170 | 216 | fy="47.045319" | ||
2171 | 217 | fx="20.913568" | ||
2172 | 218 | cy="47.045319" | ||
2173 | 219 | cx="20.913568" | ||
2174 | 220 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
2175 | 221 | gradientUnits="userSpaceOnUse" | ||
2176 | 222 | id="radialGradient3276" | ||
2177 | 223 | xlink:href="#linearGradient3907" | ||
2178 | 224 | inkscape:collect="always" /> | ||
2179 | 225 | <radialGradient | ||
2180 | 226 | r="19.5" | ||
2181 | 227 | fy="47.045319" | ||
2182 | 228 | fx="20.913568" | ||
2183 | 229 | cy="47.045319" | ||
2184 | 230 | cx="20.913568" | ||
2185 | 231 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
2186 | 232 | gradientUnits="userSpaceOnUse" | ||
2187 | 233 | id="radialGradient3274" | ||
2188 | 234 | xlink:href="#linearGradient3907" | ||
2189 | 235 | inkscape:collect="always" /> | ||
2190 | 236 | <radialGradient | ||
2191 | 237 | r="19.5" | ||
2192 | 238 | fy="47.045319" | ||
2193 | 239 | fx="20.913568" | ||
2194 | 240 | cy="47.045319" | ||
2195 | 241 | cx="20.913568" | ||
2196 | 242 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
2197 | 243 | gradientUnits="userSpaceOnUse" | ||
2198 | 244 | id="radialGradient3272" | ||
2199 | 245 | xlink:href="#linearGradient3907" | ||
2200 | 246 | inkscape:collect="always" /> | ||
2201 | 247 | <radialGradient | ||
2202 | 248 | r="19.5" | ||
2203 | 249 | fy="47.045319" | ||
2204 | 250 | fx="20.913568" | ||
2205 | 251 | cy="47.045319" | ||
2206 | 252 | cx="20.913568" | ||
2207 | 253 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
2208 | 254 | gradientUnits="userSpaceOnUse" | ||
2209 | 255 | id="radialGradient3270" | ||
2210 | 256 | xlink:href="#linearGradient3907" | ||
2211 | 257 | inkscape:collect="always" /> | ||
2212 | 258 | <radialGradient | ||
2213 | 259 | r="19.5" | ||
2214 | 260 | fy="47.045319" | ||
2215 | 261 | fx="20.913568" | ||
2216 | 262 | cy="47.045319" | ||
2217 | 263 | cx="20.913568" | ||
2218 | 264 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
2219 | 265 | gradientUnits="userSpaceOnUse" | ||
2220 | 266 | id="radialGradient3268" | ||
2221 | 267 | xlink:href="#linearGradient3907" | ||
2222 | 268 | inkscape:collect="always" /> | ||
2223 | 269 | <radialGradient | ||
2224 | 270 | r="19.5" | ||
2225 | 271 | fy="47.045319" | ||
2226 | 272 | fx="20.913568" | ||
2227 | 273 | cy="47.045319" | ||
2228 | 274 | cx="20.913568" | ||
2229 | 275 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
2230 | 276 | gradientUnits="userSpaceOnUse" | ||
2231 | 277 | id="radialGradient3266" | ||
2232 | 278 | xlink:href="#linearGradient3907" | ||
2233 | 279 | inkscape:collect="always" /> | ||
2234 | 280 | <radialGradient | ||
2235 | 281 | r="19.5" | ||
2236 | 282 | fy="47.045319" | ||
2237 | 283 | fx="20.913568" | ||
2238 | 284 | cy="47.045319" | ||
2239 | 285 | cx="20.913568" | ||
2240 | 286 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
2241 | 287 | gradientUnits="userSpaceOnUse" | ||
2242 | 288 | id="radialGradient3264" | ||
2243 | 289 | xlink:href="#linearGradient3907" | ||
2244 | 290 | inkscape:collect="always" /> | ||
2245 | 291 | <radialGradient | ||
2246 | 292 | r="19.5" | ||
2247 | 293 | fy="47.045319" | ||
2248 | 294 | fx="20.913568" | ||
2249 | 295 | cy="47.045319" | ||
2250 | 296 | cx="20.913568" | ||
2251 | 297 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2252 | 298 | gradientUnits="userSpaceOnUse" | ||
2253 | 299 | id="radialGradient3155" | ||
2254 | 300 | xlink:href="#linearGradient3907" | ||
2255 | 301 | inkscape:collect="always" /> | ||
2256 | 302 | <radialGradient | ||
2257 | 303 | r="19.5" | ||
2258 | 304 | fy="47.045319" | ||
2259 | 305 | fx="20.913568" | ||
2260 | 306 | cy="47.045319" | ||
2261 | 307 | cx="20.913568" | ||
2262 | 308 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2263 | 309 | gradientUnits="userSpaceOnUse" | ||
2264 | 310 | id="radialGradient3158" | ||
2265 | 311 | xlink:href="#linearGradient3907" | ||
2266 | 312 | inkscape:collect="always" /> | ||
2267 | 313 | <radialGradient | ||
2268 | 314 | r="19.5" | ||
2269 | 315 | fy="47.045319" | ||
2270 | 316 | fx="20.913568" | ||
2271 | 317 | cy="47.045319" | ||
2272 | 318 | cx="20.913568" | ||
2273 | 319 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2274 | 320 | gradientUnits="userSpaceOnUse" | ||
2275 | 321 | id="radialGradient3161" | ||
2276 | 322 | xlink:href="#linearGradient3907" | ||
2277 | 323 | inkscape:collect="always" /> | ||
2278 | 324 | <radialGradient | ||
2279 | 325 | r="19.5" | ||
2280 | 326 | fy="47.045319" | ||
2281 | 327 | fx="20.913568" | ||
2282 | 328 | cy="47.045319" | ||
2283 | 329 | cx="20.913568" | ||
2284 | 330 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2285 | 331 | gradientUnits="userSpaceOnUse" | ||
2286 | 332 | id="radialGradient3164" | ||
2287 | 333 | xlink:href="#linearGradient3907" | ||
2288 | 334 | inkscape:collect="always" /> | ||
2289 | 335 | <radialGradient | ||
2290 | 336 | r="19.5" | ||
2291 | 337 | fy="47.045319" | ||
2292 | 338 | fx="20.913568" | ||
2293 | 339 | cy="47.045319" | ||
2294 | 340 | cx="20.913568" | ||
2295 | 341 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2296 | 342 | gradientUnits="userSpaceOnUse" | ||
2297 | 343 | id="radialGradient3167" | ||
2298 | 344 | xlink:href="#linearGradient3907" | ||
2299 | 345 | inkscape:collect="always" /> | ||
2300 | 346 | <radialGradient | ||
2301 | 347 | r="19.5" | ||
2302 | 348 | fy="47.045319" | ||
2303 | 349 | fx="20.913568" | ||
2304 | 350 | cy="47.045319" | ||
2305 | 351 | cx="20.913568" | ||
2306 | 352 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2307 | 353 | gradientUnits="userSpaceOnUse" | ||
2308 | 354 | id="radialGradient3170" | ||
2309 | 355 | xlink:href="#linearGradient3907" | ||
2310 | 356 | inkscape:collect="always" /> | ||
2311 | 357 | <radialGradient | ||
2312 | 358 | r="19.5" | ||
2313 | 359 | fy="47.045319" | ||
2314 | 360 | fx="20.913568" | ||
2315 | 361 | cy="47.045319" | ||
2316 | 362 | cx="20.913568" | ||
2317 | 363 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2318 | 364 | gradientUnits="userSpaceOnUse" | ||
2319 | 365 | id="radialGradient3173" | ||
2320 | 366 | xlink:href="#linearGradient3907" | ||
2321 | 367 | inkscape:collect="always" /> | ||
2322 | 368 | <radialGradient | ||
2323 | 369 | r="19.5" | ||
2324 | 370 | fy="47.045319" | ||
2325 | 371 | fx="20.913568" | ||
2326 | 372 | cy="47.045319" | ||
2327 | 373 | cx="20.913568" | ||
2328 | 374 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2329 | 375 | gradientUnits="userSpaceOnUse" | ||
2330 | 376 | id="radialGradient3176" | ||
2331 | 377 | xlink:href="#linearGradient3907" | ||
2332 | 378 | inkscape:collect="always" /> | ||
2333 | 379 | <radialGradient | ||
2334 | 380 | r="19.5" | ||
2335 | 381 | fy="47.045319" | ||
2336 | 382 | fx="20.913568" | ||
2337 | 383 | cy="47.045319" | ||
2338 | 384 | cx="20.913568" | ||
2339 | 385 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2340 | 386 | gradientUnits="userSpaceOnUse" | ||
2341 | 387 | id="radialGradient3182" | ||
2342 | 388 | xlink:href="#linearGradient3907" | ||
2343 | 389 | inkscape:collect="always" /> | ||
2344 | 390 | <radialGradient | ||
2345 | 391 | r="19.5" | ||
2346 | 392 | fy="47.045319" | ||
2347 | 393 | fx="20.913568" | ||
2348 | 394 | cy="47.045319" | ||
2349 | 395 | cx="20.913568" | ||
2350 | 396 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2351 | 397 | gradientUnits="userSpaceOnUse" | ||
2352 | 398 | id="radialGradient3185" | ||
2353 | 399 | xlink:href="#linearGradient3907" | ||
2354 | 400 | inkscape:collect="always" /> | ||
2355 | 401 | <radialGradient | ||
2356 | 402 | r="19.5" | ||
2357 | 403 | fy="47.045319" | ||
2358 | 404 | fx="20.913568" | ||
2359 | 405 | cy="47.045319" | ||
2360 | 406 | cx="20.913568" | ||
2361 | 407 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2362 | 408 | gradientUnits="userSpaceOnUse" | ||
2363 | 409 | id="radialGradient3188" | ||
2364 | 410 | xlink:href="#linearGradient3907" | ||
2365 | 411 | inkscape:collect="always" /> | ||
2366 | 412 | <radialGradient | ||
2367 | 413 | r="19.5" | ||
2368 | 414 | fy="47.045319" | ||
2369 | 415 | fx="20.913568" | ||
2370 | 416 | cy="47.045319" | ||
2371 | 417 | cx="20.913568" | ||
2372 | 418 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2373 | 419 | gradientUnits="userSpaceOnUse" | ||
2374 | 420 | id="radialGradient3191" | ||
2375 | 421 | xlink:href="#linearGradient3907" | ||
2376 | 422 | inkscape:collect="always" /> | ||
2377 | 423 | <radialGradient | ||
2378 | 424 | r="19.5" | ||
2379 | 425 | fy="47.045319" | ||
2380 | 426 | fx="20.913568" | ||
2381 | 427 | cy="47.045319" | ||
2382 | 428 | cx="20.913568" | ||
2383 | 429 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2384 | 430 | gradientUnits="userSpaceOnUse" | ||
2385 | 431 | id="radialGradient3194" | ||
2386 | 432 | xlink:href="#linearGradient3907" | ||
2387 | 433 | inkscape:collect="always" /> | ||
2388 | 434 | <radialGradient | ||
2389 | 435 | r="19.5" | ||
2390 | 436 | fy="47.045319" | ||
2391 | 437 | fx="20.913568" | ||
2392 | 438 | cy="47.045319" | ||
2393 | 439 | cx="20.913568" | ||
2394 | 440 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2395 | 441 | gradientUnits="userSpaceOnUse" | ||
2396 | 442 | id="radialGradient3197" | ||
2397 | 443 | xlink:href="#linearGradient3907" | ||
2398 | 444 | inkscape:collect="always" /> | ||
2399 | 445 | <radialGradient | ||
2400 | 446 | r="19.5" | ||
2401 | 447 | fy="47.045319" | ||
2402 | 448 | fx="20.913568" | ||
2403 | 449 | cy="47.045319" | ||
2404 | 450 | cx="20.913568" | ||
2405 | 451 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2406 | 452 | gradientUnits="userSpaceOnUse" | ||
2407 | 453 | id="radialGradient3200" | ||
2408 | 454 | xlink:href="#linearGradient3907" | ||
2409 | 455 | inkscape:collect="always" /> | ||
2410 | 456 | <radialGradient | ||
2411 | 457 | r="19.5" | ||
2412 | 458 | fy="47.045319" | ||
2413 | 459 | fx="20.913568" | ||
2414 | 460 | cy="47.045319" | ||
2415 | 461 | cx="20.913568" | ||
2416 | 462 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2417 | 463 | gradientUnits="userSpaceOnUse" | ||
2418 | 464 | id="radialGradient3203" | ||
2419 | 465 | xlink:href="#linearGradient3907" | ||
2420 | 466 | inkscape:collect="always" /> | ||
2421 | 467 | <radialGradient | ||
2422 | 468 | r="19.5" | ||
2423 | 469 | fy="47.045319" | ||
2424 | 470 | fx="20.913568" | ||
2425 | 471 | cy="47.045319" | ||
2426 | 472 | cx="20.913568" | ||
2427 | 473 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2428 | 474 | gradientUnits="userSpaceOnUse" | ||
2429 | 475 | id="radialGradient3206" | ||
2430 | 476 | xlink:href="#linearGradient3907" | ||
2431 | 477 | inkscape:collect="always" /> | ||
2432 | 478 | <radialGradient | ||
2433 | 479 | r="19.5" | ||
2434 | 480 | fy="47.045319" | ||
2435 | 481 | fx="20.913568" | ||
2436 | 482 | cy="47.045319" | ||
2437 | 483 | cx="20.913568" | ||
2438 | 484 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2439 | 485 | gradientUnits="userSpaceOnUse" | ||
2440 | 486 | id="radialGradient3209" | ||
2441 | 487 | xlink:href="#linearGradient3907" | ||
2442 | 488 | inkscape:collect="always" /> | ||
2443 | 489 | <radialGradient | ||
2444 | 490 | r="19.5" | ||
2445 | 491 | fy="47.045319" | ||
2446 | 492 | fx="20.913568" | ||
2447 | 493 | cy="47.045319" | ||
2448 | 494 | cx="20.913568" | ||
2449 | 495 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2450 | 496 | gradientUnits="userSpaceOnUse" | ||
2451 | 497 | id="radialGradient3212" | ||
2452 | 498 | xlink:href="#linearGradient3907" | ||
2453 | 499 | inkscape:collect="always" /> | ||
2454 | 500 | <radialGradient | ||
2455 | 501 | r="19.5" | ||
2456 | 502 | fy="47.045319" | ||
2457 | 503 | fx="20.913568" | ||
2458 | 504 | cy="47.045319" | ||
2459 | 505 | cx="20.913568" | ||
2460 | 506 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2461 | 507 | gradientUnits="userSpaceOnUse" | ||
2462 | 508 | id="radialGradient3215" | ||
2463 | 509 | xlink:href="#linearGradient3907" | ||
2464 | 510 | inkscape:collect="always" /> | ||
2465 | 511 | <radialGradient | ||
2466 | 512 | r="19.5" | ||
2467 | 513 | fy="47.045319" | ||
2468 | 514 | fx="20.913568" | ||
2469 | 515 | cy="47.045319" | ||
2470 | 516 | cx="20.913568" | ||
2471 | 517 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2472 | 518 | gradientUnits="userSpaceOnUse" | ||
2473 | 519 | id="radialGradient3218" | ||
2474 | 520 | xlink:href="#linearGradient3907" | ||
2475 | 521 | inkscape:collect="always" /> | ||
2476 | 522 | <radialGradient | ||
2477 | 523 | r="19.5" | ||
2478 | 524 | fy="47.045319" | ||
2479 | 525 | fx="20.913568" | ||
2480 | 526 | cy="47.045319" | ||
2481 | 527 | cx="20.913568" | ||
2482 | 528 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2483 | 529 | gradientUnits="userSpaceOnUse" | ||
2484 | 530 | id="radialGradient3221" | ||
2485 | 531 | xlink:href="#linearGradient3907" | ||
2486 | 532 | inkscape:collect="always" /> | ||
2487 | 533 | <radialGradient | ||
2488 | 534 | r="19.5" | ||
2489 | 535 | fy="47.045319" | ||
2490 | 536 | fx="20.913568" | ||
2491 | 537 | cy="47.045319" | ||
2492 | 538 | cx="20.913568" | ||
2493 | 539 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2494 | 540 | gradientUnits="userSpaceOnUse" | ||
2495 | 541 | id="radialGradient3224" | ||
2496 | 542 | xlink:href="#linearGradient3907" | ||
2497 | 543 | inkscape:collect="always" /> | ||
2498 | 544 | <radialGradient | ||
2499 | 545 | r="19.5" | ||
2500 | 546 | fy="47.045319" | ||
2501 | 547 | fx="20.913568" | ||
2502 | 548 | cy="47.045319" | ||
2503 | 549 | cx="20.913568" | ||
2504 | 550 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2505 | 551 | gradientUnits="userSpaceOnUse" | ||
2506 | 552 | id="radialGradient3230" | ||
2507 | 553 | xlink:href="#linearGradient3907" | ||
2508 | 554 | inkscape:collect="always" /> | ||
2509 | 555 | <radialGradient | ||
2510 | 556 | r="19.5" | ||
2511 | 557 | fy="47.045319" | ||
2512 | 558 | fx="20.913568" | ||
2513 | 559 | cy="47.045319" | ||
2514 | 560 | cx="20.913568" | ||
2515 | 561 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2516 | 562 | gradientUnits="userSpaceOnUse" | ||
2517 | 563 | id="radialGradient3233" | ||
2518 | 564 | xlink:href="#linearGradient3907" | ||
2519 | 565 | inkscape:collect="always" /> | ||
2520 | 566 | <radialGradient | ||
2521 | 567 | r="19.5" | ||
2522 | 568 | fy="47.045319" | ||
2523 | 569 | fx="20.913568" | ||
2524 | 570 | cy="47.045319" | ||
2525 | 571 | cx="20.913568" | ||
2526 | 572 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2527 | 573 | gradientUnits="userSpaceOnUse" | ||
2528 | 574 | id="radialGradient3236" | ||
2529 | 575 | xlink:href="#linearGradient3907" | ||
2530 | 576 | inkscape:collect="always" /> | ||
2531 | 577 | <radialGradient | ||
2532 | 578 | r="19.5" | ||
2533 | 579 | fy="47.045319" | ||
2534 | 580 | fx="20.913568" | ||
2535 | 581 | cy="47.045319" | ||
2536 | 582 | cx="20.913568" | ||
2537 | 583 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2538 | 584 | gradientUnits="userSpaceOnUse" | ||
2539 | 585 | id="radialGradient3239" | ||
2540 | 586 | xlink:href="#linearGradient3907" | ||
2541 | 587 | inkscape:collect="always" /> | ||
2542 | 588 | <radialGradient | ||
2543 | 589 | r="19.5" | ||
2544 | 590 | fy="47.045319" | ||
2545 | 591 | fx="20.913568" | ||
2546 | 592 | cy="47.045319" | ||
2547 | 593 | cx="20.913568" | ||
2548 | 594 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2549 | 595 | gradientUnits="userSpaceOnUse" | ||
2550 | 596 | id="radialGradient3242" | ||
2551 | 597 | xlink:href="#linearGradient3907" | ||
2552 | 598 | inkscape:collect="always" /> | ||
2553 | 599 | <radialGradient | ||
2554 | 600 | r="19.5" | ||
2555 | 601 | fy="47.045319" | ||
2556 | 602 | fx="20.913568" | ||
2557 | 603 | cy="47.045319" | ||
2558 | 604 | cx="20.913568" | ||
2559 | 605 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2560 | 606 | gradientUnits="userSpaceOnUse" | ||
2561 | 607 | id="radialGradient3245" | ||
2562 | 608 | xlink:href="#linearGradient3907" | ||
2563 | 609 | inkscape:collect="always" /> | ||
2564 | 610 | <radialGradient | ||
2565 | 611 | r="19.5" | ||
2566 | 612 | fy="47.045319" | ||
2567 | 613 | fx="20.913568" | ||
2568 | 614 | cy="47.045319" | ||
2569 | 615 | cx="20.913568" | ||
2570 | 616 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2571 | 617 | gradientUnits="userSpaceOnUse" | ||
2572 | 618 | id="radialGradient3248" | ||
2573 | 619 | xlink:href="#linearGradient3907" | ||
2574 | 620 | inkscape:collect="always" /> | ||
2575 | 621 | <linearGradient | ||
2576 | 622 | gradientTransform="matrix(0.647995,0,0,0.707655,0.734249,-1.447571)" | ||
2577 | 623 | gradientUnits="userSpaceOnUse" | ||
2578 | 624 | y2="37.9375" | ||
2579 | 625 | x2="29.125" | ||
2580 | 626 | y1="46.029419" | ||
2581 | 627 | x1="29.5" | ||
2582 | 628 | id="linearGradient3905" | ||
2583 | 629 | xlink:href="#linearGradient3899" | ||
2584 | 630 | inkscape:collect="always" /> | ||
2585 | 631 | <radialGradient | ||
2586 | 632 | r="117.14286" | ||
2587 | 633 | fy="486.64789" | ||
2588 | 634 | fx="605.71429" | ||
2589 | 635 | cy="486.64789" | ||
2590 | 636 | cx="605.71429" | ||
2591 | 637 | gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" | ||
2592 | 638 | gradientUnits="userSpaceOnUse" | ||
2593 | 639 | id="radialGradient2309" | ||
2594 | 640 | xlink:href="#linearGradient5060" | ||
2595 | 641 | inkscape:collect="always" /> | ||
2596 | 642 | <radialGradient | ||
2597 | 643 | r="117.14286" | ||
2598 | 644 | fy="486.64789" | ||
2599 | 645 | fx="605.71429" | ||
2600 | 646 | cy="486.64789" | ||
2601 | 647 | cx="605.71429" | ||
2602 | 648 | gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" | ||
2603 | 649 | gradientUnits="userSpaceOnUse" | ||
2604 | 650 | id="radialGradient2311" | ||
2605 | 651 | xlink:href="#linearGradient5060" | ||
2606 | 652 | inkscape:collect="always" /> | ||
2607 | 653 | <linearGradient | ||
2608 | 654 | gradientTransform="matrix(0.664512,0,0,0.651253,9.569506e-2,-1.210023)" | ||
2609 | 655 | gradientUnits="userSpaceOnUse" | ||
2610 | 656 | y2="26.039215" | ||
2611 | 657 | x2="20.156862" | ||
2612 | 658 | y1="5.0996137" | ||
2613 | 659 | x1="20.156862" | ||
2614 | 660 | id="linearGradient6246" | ||
2615 | 661 | xlink:href="#linearGradient6240" | ||
2616 | 662 | inkscape:collect="always" /> | ||
2617 | 663 | <radialGradient | ||
2618 | 664 | gradientUnits="userSpaceOnUse" | ||
2619 | 665 | gradientTransform="matrix(0.836315,0,0,0.514216,-4.024721,-3.259613e-2)" | ||
2620 | 666 | r="19.00016" | ||
2621 | 667 | fy="32.997028" | ||
2622 | 668 | fx="24.006104" | ||
2623 | 669 | cy="32.997028" | ||
2624 | 670 | cx="24.006104" | ||
2625 | 671 | id="radialGradient5239" | ||
2626 | 672 | xlink:href="#linearGradient7670" | ||
2627 | 673 | inkscape:collect="always" /> | ||
2628 | 674 | <linearGradient | ||
2629 | 675 | gradientTransform="matrix(0.648248,0,0,0.644253,0.433189,-0.740991)" | ||
2630 | 676 | y2="38.876041" | ||
2631 | 677 | x2="39.904388" | ||
2632 | 678 | y1="6.3760414" | ||
2633 | 679 | x1="17.247635" | ||
2634 | 680 | gradientUnits="userSpaceOnUse" | ||
2635 | 681 | id="linearGradient5147" | ||
2636 | 682 | xlink:href="#linearGradient5137" | ||
2637 | 683 | inkscape:collect="always" /> | ||
2638 | 684 | <linearGradient | ||
2639 | 685 | y2="43.82579" | ||
2640 | 686 | x2="31.86105" | ||
2641 | 687 | y1="37.842293" | ||
2642 | 688 | x1="31.743324" | ||
2643 | 689 | gradientTransform="matrix(1,0,0,0.992781,0,-2.718035)" | ||
2644 | 690 | gradientUnits="userSpaceOnUse" | ||
2645 | 691 | id="linearGradient2308" | ||
2646 | 692 | xlink:href="#linearGradient5137" | ||
2647 | 693 | inkscape:collect="always" /> | ||
2648 | 694 | <linearGradient | ||
2649 | 695 | y2="40.219608" | ||
2650 | 696 | x2="23.529411" | ||
2651 | 697 | y1="34.572548" | ||
2652 | 698 | x1="23.154902" | ||
2653 | 699 | gradientTransform="matrix(1.004187,0,0,1,-0.12454,-3.011765)" | ||
2654 | 700 | gradientUnits="userSpaceOnUse" | ||
2655 | 701 | id="linearGradient2310" | ||
2656 | 702 | xlink:href="#linearGradient11400" | ||
2657 | 703 | inkscape:collect="always" /> | ||
2658 | 704 | <linearGradient | ||
2659 | 705 | gradientTransform="matrix(0.654255,0,0,0.654672,-0.481383,0.690637)" | ||
2660 | 706 | gradientUnits="userSpaceOnUse" | ||
2661 | 707 | y2="33.637787" | ||
2662 | 708 | x2="37.295498" | ||
2663 | 709 | y1="38.267769" | ||
2664 | 710 | x1="37.484837" | ||
2665 | 711 | id="linearGradient4202" | ||
2666 | 712 | xlink:href="#linearGradient4196" | ||
2667 | 713 | inkscape:collect="always" /> | ||
2668 | 714 | <radialGradient | ||
2669 | 715 | r="23.75956" | ||
2670 | 716 | fy="42.6875" | ||
2671 | 717 | fx="23.9375" | ||
2672 | 718 | cy="42.6875" | ||
2673 | 719 | cx="23.9375" | ||
2674 | 720 | gradientTransform="matrix(1,0,0,0.24763,0,32.1168)" | ||
2675 | 721 | gradientUnits="userSpaceOnUse" | ||
2676 | 722 | id="radialGradient2313" | ||
2677 | 723 | xlink:href="#linearGradient5225" | ||
2678 | 724 | inkscape:collect="always" /> | ||
2679 | 725 | <linearGradient | ||
2680 | 726 | inkscape:collect="always" | ||
2681 | 727 | xlink:href="#linearGradient2307" | ||
2682 | 728 | id="linearGradient5478" | ||
2683 | 729 | gradientTransform="scale(1.673466,0.597562)" | ||
2684 | 730 | x1="-931.7503" | ||
2685 | 731 | y1="148.07116" | ||
2686 | 732 | x2="-131.23588" | ||
2687 | 733 | y2="148.07116" | ||
2688 | 734 | gradientUnits="userSpaceOnUse" /> | ||
2689 | 735 | <radialGradient | ||
2690 | 736 | inkscape:collect="always" | ||
2691 | 737 | xlink:href="#linearGradient5225" | ||
2692 | 738 | id="radialGradient5620" | ||
2693 | 739 | gradientUnits="userSpaceOnUse" | ||
2694 | 740 | gradientTransform="matrix(1,0,0,0.24763,0,32.1168)" | ||
2695 | 741 | cx="23.9375" | ||
2696 | 742 | cy="42.6875" | ||
2697 | 743 | fx="23.9375" | ||
2698 | 744 | fy="42.6875" | ||
2699 | 745 | r="23.75956" /> | ||
2700 | 746 | <linearGradient | ||
2701 | 747 | inkscape:collect="always" | ||
2702 | 748 | xlink:href="#linearGradient4196" | ||
2703 | 749 | id="linearGradient5622" | ||
2704 | 750 | gradientUnits="userSpaceOnUse" | ||
2705 | 751 | gradientTransform="matrix(0.654255,0,0,0.654672,-0.481383,0.690637)" | ||
2706 | 752 | x1="37.484837" | ||
2707 | 753 | y1="38.267769" | ||
2708 | 754 | x2="37.295498" | ||
2709 | 755 | y2="33.637787" /> | ||
2710 | 756 | <linearGradient | ||
2711 | 757 | inkscape:collect="always" | ||
2712 | 758 | xlink:href="#linearGradient5137" | ||
2713 | 759 | id="linearGradient5624" | ||
2714 | 760 | gradientUnits="userSpaceOnUse" | ||
2715 | 761 | gradientTransform="matrix(1,0,0,0.992781,0,-2.718035)" | ||
2716 | 762 | x1="31.743324" | ||
2717 | 763 | y1="37.842293" | ||
2718 | 764 | x2="31.86105" | ||
2719 | 765 | y2="43.82579" /> | ||
2720 | 766 | <linearGradient | ||
2721 | 767 | inkscape:collect="always" | ||
2722 | 768 | xlink:href="#linearGradient11400" | ||
2723 | 769 | id="linearGradient5626" | ||
2724 | 770 | gradientUnits="userSpaceOnUse" | ||
2725 | 771 | gradientTransform="matrix(1.004187,0,0,1,-0.12454,-3.011765)" | ||
2726 | 772 | x1="23.154902" | ||
2727 | 773 | y1="34.572548" | ||
2728 | 774 | x2="23.529411" | ||
2729 | 775 | y2="40.219608" /> | ||
2730 | 776 | <linearGradient | ||
2731 | 777 | inkscape:collect="always" | ||
2732 | 778 | xlink:href="#linearGradient5137" | ||
2733 | 779 | id="linearGradient5628" | ||
2734 | 780 | gradientUnits="userSpaceOnUse" | ||
2735 | 781 | gradientTransform="matrix(0.648248,0,0,0.644253,0.433189,-0.740991)" | ||
2736 | 782 | x1="17.247635" | ||
2737 | 783 | y1="6.3760414" | ||
2738 | 784 | x2="39.904388" | ||
2739 | 785 | y2="38.876041" /> | ||
2740 | 786 | <radialGradient | ||
2741 | 787 | inkscape:collect="always" | ||
2742 | 788 | xlink:href="#linearGradient7670" | ||
2743 | 789 | id="radialGradient5630" | ||
2744 | 790 | gradientUnits="userSpaceOnUse" | ||
2745 | 791 | gradientTransform="matrix(0.836315,0,0,0.514216,-4.024721,-3.259613e-2)" | ||
2746 | 792 | cx="24.006104" | ||
2747 | 793 | cy="32.997028" | ||
2748 | 794 | fx="24.006104" | ||
2749 | 795 | fy="32.997028" | ||
2750 | 796 | r="19.00016" /> | ||
2751 | 797 | <linearGradient | ||
2752 | 798 | inkscape:collect="always" | ||
2753 | 799 | xlink:href="#linearGradient6240" | ||
2754 | 800 | id="linearGradient5632" | ||
2755 | 801 | gradientUnits="userSpaceOnUse" | ||
2756 | 802 | gradientTransform="matrix(0.664512,0,0,0.651253,9.569506e-2,-1.210023)" | ||
2757 | 803 | x1="20.156862" | ||
2758 | 804 | y1="5.0996137" | ||
2759 | 805 | x2="20.156862" | ||
2760 | 806 | y2="26.039215" /> | ||
2761 | 807 | <linearGradient | ||
2762 | 808 | inkscape:collect="always" | ||
2763 | 809 | xlink:href="#linearGradient2307" | ||
2764 | 810 | id="linearGradient5634" | ||
2765 | 811 | gradientUnits="userSpaceOnUse" | ||
2766 | 812 | gradientTransform="scale(1.673466,0.597562)" | ||
2767 | 813 | x1="-931.7503" | ||
2768 | 814 | y1="148.07116" | ||
2769 | 815 | x2="-131.23588" | ||
2770 | 816 | y2="148.07116" /> | ||
2771 | 817 | <radialGradient | ||
2772 | 818 | inkscape:collect="always" | ||
2773 | 819 | xlink:href="#linearGradient5060" | ||
2774 | 820 | id="radialGradient5636" | ||
2775 | 821 | gradientUnits="userSpaceOnUse" | ||
2776 | 822 | gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" | ||
2777 | 823 | cx="605.71429" | ||
2778 | 824 | cy="486.64789" | ||
2779 | 825 | fx="605.71429" | ||
2780 | 826 | fy="486.64789" | ||
2781 | 827 | r="117.14286" /> | ||
2782 | 828 | <radialGradient | ||
2783 | 829 | inkscape:collect="always" | ||
2784 | 830 | xlink:href="#linearGradient5060" | ||
2785 | 831 | id="radialGradient5638" | ||
2786 | 832 | gradientUnits="userSpaceOnUse" | ||
2787 | 833 | gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" | ||
2788 | 834 | cx="605.71429" | ||
2789 | 835 | cy="486.64789" | ||
2790 | 836 | fx="605.71429" | ||
2791 | 837 | fy="486.64789" | ||
2792 | 838 | r="117.14286" /> | ||
2793 | 839 | <linearGradient | ||
2794 | 840 | inkscape:collect="always" | ||
2795 | 841 | xlink:href="#linearGradient3899" | ||
2796 | 842 | id="linearGradient5640" | ||
2797 | 843 | gradientUnits="userSpaceOnUse" | ||
2798 | 844 | gradientTransform="matrix(0.647995,0,0,0.707655,0.734249,-1.447571)" | ||
2799 | 845 | x1="29.5" | ||
2800 | 846 | y1="46.029419" | ||
2801 | 847 | x2="29.125" | ||
2802 | 848 | y2="37.9375" /> | ||
2803 | 849 | <radialGradient | ||
2804 | 850 | inkscape:collect="always" | ||
2805 | 851 | xlink:href="#linearGradient3907" | ||
2806 | 852 | id="radialGradient5642" | ||
2807 | 853 | gradientUnits="userSpaceOnUse" | ||
2808 | 854 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2809 | 855 | cx="20.913568" | ||
2810 | 856 | cy="47.045319" | ||
2811 | 857 | fx="20.913568" | ||
2812 | 858 | fy="47.045319" | ||
2813 | 859 | r="19.5" /> | ||
2814 | 860 | <radialGradient | ||
2815 | 861 | inkscape:collect="always" | ||
2816 | 862 | xlink:href="#linearGradient3907" | ||
2817 | 863 | id="radialGradient5644" | ||
2818 | 864 | gradientUnits="userSpaceOnUse" | ||
2819 | 865 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2820 | 866 | cx="20.913568" | ||
2821 | 867 | cy="47.045319" | ||
2822 | 868 | fx="20.913568" | ||
2823 | 869 | fy="47.045319" | ||
2824 | 870 | r="19.5" /> | ||
2825 | 871 | <radialGradient | ||
2826 | 872 | inkscape:collect="always" | ||
2827 | 873 | xlink:href="#linearGradient3907" | ||
2828 | 874 | id="radialGradient5646" | ||
2829 | 875 | gradientUnits="userSpaceOnUse" | ||
2830 | 876 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2831 | 877 | cx="20.913568" | ||
2832 | 878 | cy="47.045319" | ||
2833 | 879 | fx="20.913568" | ||
2834 | 880 | fy="47.045319" | ||
2835 | 881 | r="19.5" /> | ||
2836 | 882 | <radialGradient | ||
2837 | 883 | inkscape:collect="always" | ||
2838 | 884 | xlink:href="#linearGradient3907" | ||
2839 | 885 | id="radialGradient5648" | ||
2840 | 886 | gradientUnits="userSpaceOnUse" | ||
2841 | 887 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2842 | 888 | cx="20.913568" | ||
2843 | 889 | cy="47.045319" | ||
2844 | 890 | fx="20.913568" | ||
2845 | 891 | fy="47.045319" | ||
2846 | 892 | r="19.5" /> | ||
2847 | 893 | <radialGradient | ||
2848 | 894 | inkscape:collect="always" | ||
2849 | 895 | xlink:href="#linearGradient3907" | ||
2850 | 896 | id="radialGradient5650" | ||
2851 | 897 | gradientUnits="userSpaceOnUse" | ||
2852 | 898 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2853 | 899 | cx="20.913568" | ||
2854 | 900 | cy="47.045319" | ||
2855 | 901 | fx="20.913568" | ||
2856 | 902 | fy="47.045319" | ||
2857 | 903 | r="19.5" /> | ||
2858 | 904 | <radialGradient | ||
2859 | 905 | inkscape:collect="always" | ||
2860 | 906 | xlink:href="#linearGradient3907" | ||
2861 | 907 | id="radialGradient5652" | ||
2862 | 908 | gradientUnits="userSpaceOnUse" | ||
2863 | 909 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2864 | 910 | cx="20.913568" | ||
2865 | 911 | cy="47.045319" | ||
2866 | 912 | fx="20.913568" | ||
2867 | 913 | fy="47.045319" | ||
2868 | 914 | r="19.5" /> | ||
2869 | 915 | <radialGradient | ||
2870 | 916 | inkscape:collect="always" | ||
2871 | 917 | xlink:href="#linearGradient3907" | ||
2872 | 918 | id="radialGradient5654" | ||
2873 | 919 | gradientUnits="userSpaceOnUse" | ||
2874 | 920 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2875 | 921 | cx="20.913568" | ||
2876 | 922 | cy="47.045319" | ||
2877 | 923 | fx="20.913568" | ||
2878 | 924 | fy="47.045319" | ||
2879 | 925 | r="19.5" /> | ||
2880 | 926 | <radialGradient | ||
2881 | 927 | inkscape:collect="always" | ||
2882 | 928 | xlink:href="#linearGradient3907" | ||
2883 | 929 | id="radialGradient5656" | ||
2884 | 930 | gradientUnits="userSpaceOnUse" | ||
2885 | 931 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2886 | 932 | cx="20.913568" | ||
2887 | 933 | cy="47.045319" | ||
2888 | 934 | fx="20.913568" | ||
2889 | 935 | fy="47.045319" | ||
2890 | 936 | r="19.5" /> | ||
2891 | 937 | <radialGradient | ||
2892 | 938 | inkscape:collect="always" | ||
2893 | 939 | xlink:href="#linearGradient3907" | ||
2894 | 940 | id="radialGradient5658" | ||
2895 | 941 | gradientUnits="userSpaceOnUse" | ||
2896 | 942 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2897 | 943 | cx="20.913568" | ||
2898 | 944 | cy="47.045319" | ||
2899 | 945 | fx="20.913568" | ||
2900 | 946 | fy="47.045319" | ||
2901 | 947 | r="19.5" /> | ||
2902 | 948 | <radialGradient | ||
2903 | 949 | inkscape:collect="always" | ||
2904 | 950 | xlink:href="#linearGradient3907" | ||
2905 | 951 | id="radialGradient5660" | ||
2906 | 952 | gradientUnits="userSpaceOnUse" | ||
2907 | 953 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2908 | 954 | cx="20.913568" | ||
2909 | 955 | cy="47.045319" | ||
2910 | 956 | fx="20.913568" | ||
2911 | 957 | fy="47.045319" | ||
2912 | 958 | r="19.5" /> | ||
2913 | 959 | <radialGradient | ||
2914 | 960 | inkscape:collect="always" | ||
2915 | 961 | xlink:href="#linearGradient3907" | ||
2916 | 962 | id="radialGradient5662" | ||
2917 | 963 | gradientUnits="userSpaceOnUse" | ||
2918 | 964 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2919 | 965 | cx="20.913568" | ||
2920 | 966 | cy="47.045319" | ||
2921 | 967 | fx="20.913568" | ||
2922 | 968 | fy="47.045319" | ||
2923 | 969 | r="19.5" /> | ||
2924 | 970 | <radialGradient | ||
2925 | 971 | inkscape:collect="always" | ||
2926 | 972 | xlink:href="#linearGradient3907" | ||
2927 | 973 | id="radialGradient5664" | ||
2928 | 974 | gradientUnits="userSpaceOnUse" | ||
2929 | 975 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2930 | 976 | cx="20.913568" | ||
2931 | 977 | cy="47.045319" | ||
2932 | 978 | fx="20.913568" | ||
2933 | 979 | fy="47.045319" | ||
2934 | 980 | r="19.5" /> | ||
2935 | 981 | <radialGradient | ||
2936 | 982 | inkscape:collect="always" | ||
2937 | 983 | xlink:href="#linearGradient3907" | ||
2938 | 984 | id="radialGradient5666" | ||
2939 | 985 | gradientUnits="userSpaceOnUse" | ||
2940 | 986 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2941 | 987 | cx="20.913568" | ||
2942 | 988 | cy="47.045319" | ||
2943 | 989 | fx="20.913568" | ||
2944 | 990 | fy="47.045319" | ||
2945 | 991 | r="19.5" /> | ||
2946 | 992 | <radialGradient | ||
2947 | 993 | inkscape:collect="always" | ||
2948 | 994 | xlink:href="#linearGradient3907" | ||
2949 | 995 | id="radialGradient5668" | ||
2950 | 996 | gradientUnits="userSpaceOnUse" | ||
2951 | 997 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2952 | 998 | cx="20.913568" | ||
2953 | 999 | cy="47.045319" | ||
2954 | 1000 | fx="20.913568" | ||
2955 | 1001 | fy="47.045319" | ||
2956 | 1002 | r="19.5" /> | ||
2957 | 1003 | <radialGradient | ||
2958 | 1004 | inkscape:collect="always" | ||
2959 | 1005 | xlink:href="#linearGradient3907" | ||
2960 | 1006 | id="radialGradient5670" | ||
2961 | 1007 | gradientUnits="userSpaceOnUse" | ||
2962 | 1008 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2963 | 1009 | cx="20.913568" | ||
2964 | 1010 | cy="47.045319" | ||
2965 | 1011 | fx="20.913568" | ||
2966 | 1012 | fy="47.045319" | ||
2967 | 1013 | r="19.5" /> | ||
2968 | 1014 | <radialGradient | ||
2969 | 1015 | inkscape:collect="always" | ||
2970 | 1016 | xlink:href="#linearGradient3907" | ||
2971 | 1017 | id="radialGradient5672" | ||
2972 | 1018 | gradientUnits="userSpaceOnUse" | ||
2973 | 1019 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2974 | 1020 | cx="20.913568" | ||
2975 | 1021 | cy="47.045319" | ||
2976 | 1022 | fx="20.913568" | ||
2977 | 1023 | fy="47.045319" | ||
2978 | 1024 | r="19.5" /> | ||
2979 | 1025 | <radialGradient | ||
2980 | 1026 | inkscape:collect="always" | ||
2981 | 1027 | xlink:href="#linearGradient3907" | ||
2982 | 1028 | id="radialGradient5674" | ||
2983 | 1029 | gradientUnits="userSpaceOnUse" | ||
2984 | 1030 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2985 | 1031 | cx="20.913568" | ||
2986 | 1032 | cy="47.045319" | ||
2987 | 1033 | fx="20.913568" | ||
2988 | 1034 | fy="47.045319" | ||
2989 | 1035 | r="19.5" /> | ||
2990 | 1036 | <radialGradient | ||
2991 | 1037 | inkscape:collect="always" | ||
2992 | 1038 | xlink:href="#linearGradient3907" | ||
2993 | 1039 | id="radialGradient5676" | ||
2994 | 1040 | gradientUnits="userSpaceOnUse" | ||
2995 | 1041 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
2996 | 1042 | cx="20.913568" | ||
2997 | 1043 | cy="47.045319" | ||
2998 | 1044 | fx="20.913568" | ||
2999 | 1045 | fy="47.045319" | ||
3000 | 1046 | r="19.5" /> | ||
3001 | 1047 | <radialGradient | ||
3002 | 1048 | inkscape:collect="always" | ||
3003 | 1049 | xlink:href="#linearGradient3907" | ||
3004 | 1050 | id="radialGradient5678" | ||
3005 | 1051 | gradientUnits="userSpaceOnUse" | ||
3006 | 1052 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3007 | 1053 | cx="20.913568" | ||
3008 | 1054 | cy="47.045319" | ||
3009 | 1055 | fx="20.913568" | ||
3010 | 1056 | fy="47.045319" | ||
3011 | 1057 | r="19.5" /> | ||
3012 | 1058 | <radialGradient | ||
3013 | 1059 | inkscape:collect="always" | ||
3014 | 1060 | xlink:href="#linearGradient3907" | ||
3015 | 1061 | id="radialGradient5680" | ||
3016 | 1062 | gradientUnits="userSpaceOnUse" | ||
3017 | 1063 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3018 | 1064 | cx="20.913568" | ||
3019 | 1065 | cy="47.045319" | ||
3020 | 1066 | fx="20.913568" | ||
3021 | 1067 | fy="47.045319" | ||
3022 | 1068 | r="19.5" /> | ||
3023 | 1069 | <radialGradient | ||
3024 | 1070 | inkscape:collect="always" | ||
3025 | 1071 | xlink:href="#linearGradient3907" | ||
3026 | 1072 | id="radialGradient5682" | ||
3027 | 1073 | gradientUnits="userSpaceOnUse" | ||
3028 | 1074 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3029 | 1075 | cx="20.913568" | ||
3030 | 1076 | cy="47.045319" | ||
3031 | 1077 | fx="20.913568" | ||
3032 | 1078 | fy="47.045319" | ||
3033 | 1079 | r="19.5" /> | ||
3034 | 1080 | <radialGradient | ||
3035 | 1081 | inkscape:collect="always" | ||
3036 | 1082 | xlink:href="#linearGradient3907" | ||
3037 | 1083 | id="radialGradient5684" | ||
3038 | 1084 | gradientUnits="userSpaceOnUse" | ||
3039 | 1085 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3040 | 1086 | cx="20.913568" | ||
3041 | 1087 | cy="47.045319" | ||
3042 | 1088 | fx="20.913568" | ||
3043 | 1089 | fy="47.045319" | ||
3044 | 1090 | r="19.5" /> | ||
3045 | 1091 | <radialGradient | ||
3046 | 1092 | inkscape:collect="always" | ||
3047 | 1093 | xlink:href="#linearGradient3907" | ||
3048 | 1094 | id="radialGradient5686" | ||
3049 | 1095 | gradientUnits="userSpaceOnUse" | ||
3050 | 1096 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3051 | 1097 | cx="20.913568" | ||
3052 | 1098 | cy="47.045319" | ||
3053 | 1099 | fx="20.913568" | ||
3054 | 1100 | fy="47.045319" | ||
3055 | 1101 | r="19.5" /> | ||
3056 | 1102 | <radialGradient | ||
3057 | 1103 | inkscape:collect="always" | ||
3058 | 1104 | xlink:href="#linearGradient3907" | ||
3059 | 1105 | id="radialGradient5688" | ||
3060 | 1106 | gradientUnits="userSpaceOnUse" | ||
3061 | 1107 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3062 | 1108 | cx="20.913568" | ||
3063 | 1109 | cy="47.045319" | ||
3064 | 1110 | fx="20.913568" | ||
3065 | 1111 | fy="47.045319" | ||
3066 | 1112 | r="19.5" /> | ||
3067 | 1113 | <radialGradient | ||
3068 | 1114 | inkscape:collect="always" | ||
3069 | 1115 | xlink:href="#linearGradient3907" | ||
3070 | 1116 | id="radialGradient5690" | ||
3071 | 1117 | gradientUnits="userSpaceOnUse" | ||
3072 | 1118 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3073 | 1119 | cx="20.913568" | ||
3074 | 1120 | cy="47.045319" | ||
3075 | 1121 | fx="20.913568" | ||
3076 | 1122 | fy="47.045319" | ||
3077 | 1123 | r="19.5" /> | ||
3078 | 1124 | <radialGradient | ||
3079 | 1125 | inkscape:collect="always" | ||
3080 | 1126 | xlink:href="#linearGradient3907" | ||
3081 | 1127 | id="radialGradient5692" | ||
3082 | 1128 | gradientUnits="userSpaceOnUse" | ||
3083 | 1129 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3084 | 1130 | cx="20.913568" | ||
3085 | 1131 | cy="47.045319" | ||
3086 | 1132 | fx="20.913568" | ||
3087 | 1133 | fy="47.045319" | ||
3088 | 1134 | r="19.5" /> | ||
3089 | 1135 | <radialGradient | ||
3090 | 1136 | inkscape:collect="always" | ||
3091 | 1137 | xlink:href="#linearGradient3907" | ||
3092 | 1138 | id="radialGradient5694" | ||
3093 | 1139 | gradientUnits="userSpaceOnUse" | ||
3094 | 1140 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3095 | 1141 | cx="20.913568" | ||
3096 | 1142 | cy="47.045319" | ||
3097 | 1143 | fx="20.913568" | ||
3098 | 1144 | fy="47.045319" | ||
3099 | 1145 | r="19.5" /> | ||
3100 | 1146 | <radialGradient | ||
3101 | 1147 | inkscape:collect="always" | ||
3102 | 1148 | xlink:href="#linearGradient3907" | ||
3103 | 1149 | id="radialGradient5696" | ||
3104 | 1150 | gradientUnits="userSpaceOnUse" | ||
3105 | 1151 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3106 | 1152 | cx="20.913568" | ||
3107 | 1153 | cy="47.045319" | ||
3108 | 1154 | fx="20.913568" | ||
3109 | 1155 | fy="47.045319" | ||
3110 | 1156 | r="19.5" /> | ||
3111 | 1157 | <radialGradient | ||
3112 | 1158 | inkscape:collect="always" | ||
3113 | 1159 | xlink:href="#linearGradient3907" | ||
3114 | 1160 | id="radialGradient5698" | ||
3115 | 1161 | gradientUnits="userSpaceOnUse" | ||
3116 | 1162 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3117 | 1163 | cx="20.913568" | ||
3118 | 1164 | cy="47.045319" | ||
3119 | 1165 | fx="20.913568" | ||
3120 | 1166 | fy="47.045319" | ||
3121 | 1167 | r="19.5" /> | ||
3122 | 1168 | <radialGradient | ||
3123 | 1169 | inkscape:collect="always" | ||
3124 | 1170 | xlink:href="#linearGradient3907" | ||
3125 | 1171 | id="radialGradient5700" | ||
3126 | 1172 | gradientUnits="userSpaceOnUse" | ||
3127 | 1173 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-8.729684,21.0972)" | ||
3128 | 1174 | cx="20.913568" | ||
3129 | 1175 | cy="47.045319" | ||
3130 | 1176 | fx="20.913568" | ||
3131 | 1177 | fy="47.045319" | ||
3132 | 1178 | r="19.5" /> | ||
3133 | 1179 | <radialGradient | ||
3134 | 1180 | inkscape:collect="always" | ||
3135 | 1181 | xlink:href="#linearGradient3907" | ||
3136 | 1182 | id="radialGradient5702" | ||
3137 | 1183 | gradientUnits="userSpaceOnUse" | ||
3138 | 1184 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
3139 | 1185 | cx="20.913568" | ||
3140 | 1186 | cy="47.045319" | ||
3141 | 1187 | fx="20.913568" | ||
3142 | 1188 | fy="47.045319" | ||
3143 | 1189 | r="19.5" /> | ||
3144 | 1190 | <radialGradient | ||
3145 | 1191 | inkscape:collect="always" | ||
3146 | 1192 | xlink:href="#linearGradient3907" | ||
3147 | 1193 | id="radialGradient5704" | ||
3148 | 1194 | gradientUnits="userSpaceOnUse" | ||
3149 | 1195 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
3150 | 1196 | cx="20.913568" | ||
3151 | 1197 | cy="47.045319" | ||
3152 | 1198 | fx="20.913568" | ||
3153 | 1199 | fy="47.045319" | ||
3154 | 1200 | r="19.5" /> | ||
3155 | 1201 | <radialGradient | ||
3156 | 1202 | inkscape:collect="always" | ||
3157 | 1203 | xlink:href="#linearGradient3907" | ||
3158 | 1204 | id="radialGradient5706" | ||
3159 | 1205 | gradientUnits="userSpaceOnUse" | ||
3160 | 1206 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
3161 | 1207 | cx="20.913568" | ||
3162 | 1208 | cy="47.045319" | ||
3163 | 1209 | fx="20.913568" | ||
3164 | 1210 | fy="47.045319" | ||
3165 | 1211 | r="19.5" /> | ||
3166 | 1212 | <radialGradient | ||
3167 | 1213 | inkscape:collect="always" | ||
3168 | 1214 | xlink:href="#linearGradient3907" | ||
3169 | 1215 | id="radialGradient5708" | ||
3170 | 1216 | gradientUnits="userSpaceOnUse" | ||
3171 | 1217 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
3172 | 1218 | cx="20.913568" | ||
3173 | 1219 | cy="47.045319" | ||
3174 | 1220 | fx="20.913568" | ||
3175 | 1221 | fy="47.045319" | ||
3176 | 1222 | r="19.5" /> | ||
3177 | 1223 | <radialGradient | ||
3178 | 1224 | inkscape:collect="always" | ||
3179 | 1225 | xlink:href="#linearGradient3907" | ||
3180 | 1226 | id="radialGradient5710" | ||
3181 | 1227 | gradientUnits="userSpaceOnUse" | ||
3182 | 1228 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
3183 | 1229 | cx="20.913568" | ||
3184 | 1230 | cy="47.045319" | ||
3185 | 1231 | fx="20.913568" | ||
3186 | 1232 | fy="47.045319" | ||
3187 | 1233 | r="19.5" /> | ||
3188 | 1234 | <radialGradient | ||
3189 | 1235 | inkscape:collect="always" | ||
3190 | 1236 | xlink:href="#linearGradient3907" | ||
3191 | 1237 | id="radialGradient5712" | ||
3192 | 1238 | gradientUnits="userSpaceOnUse" | ||
3193 | 1239 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
3194 | 1240 | cx="20.913568" | ||
3195 | 1241 | cy="47.045319" | ||
3196 | 1242 | fx="20.913568" | ||
3197 | 1243 | fy="47.045319" | ||
3198 | 1244 | r="19.5" /> | ||
3199 | 1245 | <radialGradient | ||
3200 | 1246 | inkscape:collect="always" | ||
3201 | 1247 | xlink:href="#linearGradient3907" | ||
3202 | 1248 | id="radialGradient5714" | ||
3203 | 1249 | gradientUnits="userSpaceOnUse" | ||
3204 | 1250 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,-0.72968,21.0972)" | ||
3205 | 1251 | cx="20.913568" | ||
3206 | 1252 | cy="47.045319" | ||
3207 | 1253 | fx="20.913568" | ||
3208 | 1254 | fy="47.045319" | ||
3209 | 1255 | r="19.5" /> | ||
3210 | 1256 | <radialGradient | ||
3211 | 1257 | inkscape:collect="always" | ||
3212 | 1258 | xlink:href="#linearGradient3907" | ||
3213 | 1259 | id="radialGradient5716" | ||
3214 | 1260 | gradientUnits="userSpaceOnUse" | ||
3215 | 1261 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
3216 | 1262 | cx="20.913568" | ||
3217 | 1263 | cy="47.045319" | ||
3218 | 1264 | fx="20.913568" | ||
3219 | 1265 | fy="47.045319" | ||
3220 | 1266 | r="19.5" /> | ||
3221 | 1267 | <radialGradient | ||
3222 | 1268 | inkscape:collect="always" | ||
3223 | 1269 | xlink:href="#linearGradient3907" | ||
3224 | 1270 | id="radialGradient5718" | ||
3225 | 1271 | gradientUnits="userSpaceOnUse" | ||
3226 | 1272 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
3227 | 1273 | cx="20.913568" | ||
3228 | 1274 | cy="47.045319" | ||
3229 | 1275 | fx="20.913568" | ||
3230 | 1276 | fy="47.045319" | ||
3231 | 1277 | r="19.5" /> | ||
3232 | 1278 | <radialGradient | ||
3233 | 1279 | inkscape:collect="always" | ||
3234 | 1280 | xlink:href="#linearGradient3907" | ||
3235 | 1281 | id="radialGradient5720" | ||
3236 | 1282 | gradientUnits="userSpaceOnUse" | ||
3237 | 1283 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
3238 | 1284 | cx="20.913568" | ||
3239 | 1285 | cy="47.045319" | ||
3240 | 1286 | fx="20.913568" | ||
3241 | 1287 | fy="47.045319" | ||
3242 | 1288 | r="19.5" /> | ||
3243 | 1289 | <radialGradient | ||
3244 | 1290 | inkscape:collect="always" | ||
3245 | 1291 | xlink:href="#linearGradient3907" | ||
3246 | 1292 | id="radialGradient5722" | ||
3247 | 1293 | gradientUnits="userSpaceOnUse" | ||
3248 | 1294 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
3249 | 1295 | cx="20.913568" | ||
3250 | 1296 | cy="47.045319" | ||
3251 | 1297 | fx="20.913568" | ||
3252 | 1298 | fy="47.045319" | ||
3253 | 1299 | r="19.5" /> | ||
3254 | 1300 | <radialGradient | ||
3255 | 1301 | inkscape:collect="always" | ||
3256 | 1302 | xlink:href="#linearGradient3907" | ||
3257 | 1303 | id="radialGradient5724" | ||
3258 | 1304 | gradientUnits="userSpaceOnUse" | ||
3259 | 1305 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
3260 | 1306 | cx="20.913568" | ||
3261 | 1307 | cy="47.045319" | ||
3262 | 1308 | fx="20.913568" | ||
3263 | 1309 | fy="47.045319" | ||
3264 | 1310 | r="19.5" /> | ||
3265 | 1311 | <radialGradient | ||
3266 | 1312 | inkscape:collect="always" | ||
3267 | 1313 | xlink:href="#linearGradient3907" | ||
3268 | 1314 | id="radialGradient5726" | ||
3269 | 1315 | gradientUnits="userSpaceOnUse" | ||
3270 | 1316 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
3271 | 1317 | cx="20.913568" | ||
3272 | 1318 | cy="47.045319" | ||
3273 | 1319 | fx="20.913568" | ||
3274 | 1320 | fy="47.045319" | ||
3275 | 1321 | r="19.5" /> | ||
3276 | 1322 | <radialGradient | ||
3277 | 1323 | inkscape:collect="always" | ||
3278 | 1324 | xlink:href="#linearGradient3907" | ||
3279 | 1325 | id="radialGradient5728" | ||
3280 | 1326 | gradientUnits="userSpaceOnUse" | ||
3281 | 1327 | gradientTransform="matrix(1.382603,3.581398e-5,0,0.171503,4.270316,21.0972)" | ||
3282 | 1328 | cx="20.913568" | ||
3283 | 1329 | cy="47.045319" | ||
3284 | 1330 | fx="20.913568" | ||
3285 | 1331 | fy="47.045319" | ||
3286 | 1332 | r="19.5" /> | ||
3287 | 1333 | </defs> | ||
3288 | 1334 | <sodipodi:namedview | ||
3289 | 1335 | id="base" | ||
3290 | 1336 | pagecolor="#ffffff" | ||
3291 | 1337 | bordercolor="#666" | ||
3292 | 1338 | borderopacity="1" | ||
3293 | 1339 | inkscape:pageopacity="0.0" | ||
3294 | 1340 | inkscape:pageshadow="2" | ||
3295 | 1341 | inkscape:zoom="1" | ||
3296 | 1342 | inkscape:cx="47.587693" | ||
3297 | 1343 | inkscape:cy="-3.0466105" | ||
3298 | 1344 | inkscape:current-layer="layer1" | ||
3299 | 1345 | showgrid="false" | ||
3300 | 1346 | inkscape:grid-bbox="true" | ||
3301 | 1347 | inkscape:document-units="px" | ||
3302 | 1348 | inkscape:window-width="1051" | ||
3303 | 1349 | inkscape:window-height="885" | ||
3304 | 1350 | inkscape:window-x="0" | ||
3305 | 1351 | inkscape:window-y="89" | ||
3306 | 1352 | inkscape:showpageshadow="false" | ||
3307 | 1353 | inkscape:grid-points="false" | ||
3308 | 1354 | showborder="false" /> | ||
3309 | 1355 | <metadata | ||
3310 | 1356 | id="metadata4"> | ||
3311 | 1357 | <rdf:RDF> | ||
3312 | 1358 | <cc:Work | ||
3313 | 1359 | rdf:about=""> | ||
3314 | 1360 | <dc:format>image/svg+xml</dc:format> | ||
3315 | 1361 | <dc:type | ||
3316 | 1362 | rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | ||
3317 | 1363 | <dc:title>Network</dc:title> | ||
3318 | 1364 | <dc:date>2005-03-08</dc:date> | ||
3319 | 1365 | <dc:creator> | ||
3320 | 1366 | <cc:Agent> | ||
3321 | 1367 | <dc:title>Lapo Calamandrei</dc:title> | ||
3322 | 1368 | </cc:Agent> | ||
3323 | 1369 | </dc:creator> | ||
3324 | 1370 | <dc:subject> | ||
3325 | 1371 | <rdf:Bag /> | ||
3326 | 1372 | </dc:subject> | ||
3327 | 1373 | <cc:license | ||
3328 | 1374 | rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" /> | ||
3329 | 1375 | <dc:source /> | ||
3330 | 1376 | <dc:contributor> | ||
3331 | 1377 | <cc:Agent> | ||
3332 | 1378 | <dc:title>Jakub Steiner, Luca Ferretti</dc:title> | ||
3333 | 1379 | </cc:Agent> | ||
3334 | 1380 | </dc:contributor> | ||
3335 | 1381 | </cc:Work> | ||
3336 | 1382 | <cc:License | ||
3337 | 1383 | rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"> | ||
3338 | 1384 | <cc:permits | ||
3339 | 1385 | rdf:resource="http://web.resource.org/cc/Reproduction" /> | ||
3340 | 1386 | <cc:permits | ||
3341 | 1387 | rdf:resource="http://web.resource.org/cc/Distribution" /> | ||
3342 | 1388 | <cc:requires | ||
3343 | 1389 | rdf:resource="http://web.resource.org/cc/Notice" /> | ||
3344 | 1390 | <cc:requires | ||
3345 | 1391 | rdf:resource="http://web.resource.org/cc/Attribution" /> | ||
3346 | 1392 | <cc:permits | ||
3347 | 1393 | rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> | ||
3348 | 1394 | <cc:requires | ||
3349 | 1395 | rdf:resource="http://web.resource.org/cc/ShareAlike" /> | ||
3350 | 1396 | </cc:License> | ||
3351 | 1397 | </rdf:RDF> | ||
3352 | 1398 | </metadata> | ||
3353 | 1399 | <g | ||
3354 | 1400 | id="layer1" | ||
3355 | 1401 | inkscape:label="Layer 1" | ||
3356 | 1402 | inkscape:groupmode="layer"> | ||
3357 | 1403 | <g | ||
3358 | 1404 | id="g5480" | ||
3359 | 1405 | transform="translate(14.98536,1)"> | ||
3360 | 1406 | <g | ||
3361 | 1407 | style="display:inline" | ||
3362 | 1408 | inkscape:label="Layer 1" | ||
3363 | 1409 | id="g5482" /> | ||
3364 | 1410 | <g | ||
3365 | 1411 | style="display:inline" | ||
3366 | 1412 | inkscape:label="tastiera" | ||
3367 | 1413 | id="g5484"> | ||
3368 | 1414 | <g | ||
3369 | 1415 | transform="translate(-54,0.18088)" | ||
3370 | 1416 | inkscape:label="Shadow" | ||
3371 | 1417 | id="g5486" /> | ||
3372 | 1418 | <g | ||
3373 | 1419 | id="g5488" | ||
3374 | 1420 | inkscape:label="Shadow" | ||
3375 | 1421 | transform="translate(-54,15.24691)" /> | ||
3376 | 1422 | <g | ||
3377 | 1423 | id="g5490" | ||
3378 | 1424 | inkscape:label="Lavoro" | ||
3379 | 1425 | style="display:inline" | ||
3380 | 1426 | transform="translate(-54,15.24691)" /> | ||
3381 | 1427 | </g> | ||
3382 | 1428 | <g | ||
3383 | 1429 | style="display:inline" | ||
3384 | 1430 | inkscape:label="tasti" | ||
3385 | 1431 | id="g5492"> | ||
3386 | 1432 | <path | ||
3387 | 1433 | transform="matrix(0.633479,0,0,0.565504,1.119993,0.201324)" | ||
3388 | 1434 | d="M 47.69706 42.6875 A 23.75956 5.8835783 0 1 1 0.17794037,42.6875 A 23.75956 5.8835783 0 1 1 47.69706 42.6875 z" | ||
3389 | 1435 | sodipodi:ry="5.8835783" | ||
3390 | 1436 | sodipodi:rx="23.75956" | ||
3391 | 1437 | sodipodi:cy="42.6875" | ||
3392 | 1438 | sodipodi:cx="23.9375" | ||
3393 | 1439 | id="path5494" | ||
3394 | 1440 | style="opacity:0.3;fill:url(#radialGradient5620);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" | ||
3395 | 1441 | sodipodi:type="arc" /> | ||
3396 | 1442 | <path | ||
3397 | 1443 | style="opacity:0.20786516;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5622);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" | ||
3398 | 1444 | d="M 27.082936,28.048013 C 21.663366,21.135948 31.947853,26.54939 30.855772,24.153878 C 29.785572,21.806364 17.408039,24.595241 18.709552,20.667209" | ||
3399 | 1445 | id="path5496" | ||
3400 | 1446 | sodipodi:nodetypes="czz" /> | ||
3401 | 1447 | <path | ||
3402 | 1448 | sodipodi:nodetypes="czz" | ||
3403 | 1449 | id="path5498" | ||
3404 | 1450 | d="M 26.784723,27.671888 C 21.538638,20.412631 31.520563,26.487432 30.374151,23.604157 C 29.072638,20.330797 18.198646,24.276982 18.806217,20.406815" | ||
3405 | 1451 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#729fcf;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> | ||
3406 | 1452 | <g | ||
3407 | 1453 | transform="matrix(0.530612,0,0,0.53095,3.140616,3.404111)" | ||
3408 | 1454 | id="g5500" | ||
3409 | 1455 | style="display:inline"> | ||
3410 | 1456 | <path | ||
3411 | 1457 | sodipodi:nodetypes="csccscc" | ||
3412 | 1458 | id="path5502" | ||
3413 | 1459 | d="M 14.375479,32.558794 C 14.375479,32.558794 15.592355,37.45777 10.51915,37.50376 C 8.0888743,37.525507 8.5866723,41.509781 8.5866723,41.509781 L 39.433139,41.478634 C 39.433139,41.478634 39.851577,37.611393 37.410922,37.566053 C 32.423455,37.474579 33.600393,32.496503 33.600393,32.496503 L 14.375479,32.558794 z " | ||
3414 | 1460 | style="opacity:1;color:black;fill:url(#linearGradient5624);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.88401449;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3415 | 1461 | <path | ||
3416 | 1462 | sodipodi:nodetypes="ccccc" | ||
3417 | 1463 | id="path5504" | ||
3418 | 1464 | d="M 13.926195,33.027451 C 14.010206,35.2 13.641655,35.938894 12.285731,36.702682 L 36,38 C 35.047008,36.831372 33.660837,35.066666 34.038883,33.011765 L 13.926195,33.027451 z " | ||
3419 | 1465 | style="opacity:0.5;fill:url(#linearGradient5626);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> | ||
3420 | 1466 | <path | ||
3421 | 1467 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#8d8d8f;stroke-width:1.88401508px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.43902438" | ||
3422 | 1468 | d="M 10.436202,38.661601 C 17.000465,38.66357 37.562637,38.661601 37.562637,38.661601" | ||
3423 | 1469 | id="path5506" | ||
3424 | 1470 | sodipodi:nodetypes="cc" /> | ||
3425 | 1471 | <path | ||
3426 | 1472 | sodipodi:nodetypes="cc" | ||
3427 | 1473 | id="path5508" | ||
3428 | 1474 | d="M 11.134219,39.660187 C 17.146756,39.662156 36.881517,39.660187 36.881517,39.660187" | ||
3429 | 1475 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.88401532px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" /> | ||
3430 | 1476 | </g> | ||
3431 | 1477 | <path | ||
3432 | 1478 | sodipodi:nodetypes="ccccccccc" | ||
3433 | 1479 | id="path5510" | ||
3434 | 1480 | d="M 3.602229,1.4999996 L 28.319154,1.4999996 C 29.631932,1.4999996 30.588653,2.4197694 30.588653,3.8361498 L 30.595753,20.072828 C 30.595753,21.162945 30.253253,21.499994 29.276792,21.499994 L 2.7228402,21.487795 C 1.9583807,21.469246 1.414291,21.169109 1.404027,20.186855 L 1.4138652,3.7151949 C 1.4138652,2.572403 2.4117826,1.4999996 3.602229,1.4999996 z " | ||
3435 | 1481 | style="fill:url(#linearGradient5628);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> | ||
3436 | 1482 | <rect | ||
3437 | 1483 | y="3.5000005" | ||
3438 | 1484 | x="3.4999971" | ||
3439 | 1485 | height="15.194118" | ||
3440 | 1486 | width="25.103695" | ||
3441 | 1487 | id="rect5512" | ||
3442 | 1488 | style="fill:url(#radialGradient5630);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:0.99999958px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" /> | ||
3443 | 1489 | <path | ||
3444 | 1490 | sodipodi:nodetypes="ccccc" | ||
3445 | 1491 | id="path5514" | ||
3446 | 1492 | d="M 4.0984042,4.0204313 L 4.0984042,15.748091 C 15.025941,14.866132 19.115514,9.1623492 28,8.5664313 L 28,4 L 4.0984042,4.0204313 z " | ||
3447 | 1493 | style="opacity:0.5;fill:url(#linearGradient5632);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" /> | ||
3448 | 1494 | <path | ||
3449 | 1495 | sodipodi:nodetypes="cccsccscccc" | ||
3450 | 1496 | id="path5516" | ||
3451 | 1497 | d="M 4.056094,2.4999991 C 3.2398944,2.4999991 2.4960113,3.2952856 2.4960113,4.0741096 L 2.4960108,19.789734 C 2.4999206,20.160319 2.5869303,20.275382 2.6715202,20.346431 C 2.7561101,20.417479 2.9348114,20.473541 3.2370502,20.480806 L 28.783404,20.500002 C 29.189758,20.500002 29.318189,20.437946 29.368434,20.384824 C 29.418681,20.3317 29.504941,20.138678 29.504941,19.674554 L 29.504942,4.1892884 C 29.504942,3.0791795 28.874178,2.4999991 27.866855,2.4999991 L 4.056094,2.4999991 z " | ||
3452 | 1498 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> | ||
3453 | 1499 | <g | ||
3454 | 1500 | id="g5518" | ||
3455 | 1501 | transform="matrix(1.543206e-2,0,0,1.215502e-2,29.57023,28.01728)" | ||
3456 | 1502 | style="display:inline"> | ||
3457 | 1503 | <rect | ||
3458 | 1504 | y="-150.69685" | ||
3459 | 1505 | x="-1559.2523" | ||
3460 | 1506 | height="478.35718" | ||
3461 | 1507 | width="1339.6335" | ||
3462 | 1508 | id="rect5520" | ||
3463 | 1509 | style="opacity:0.40206185;color:black;fill:url(#linearGradient5634);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3464 | 1510 | <path | ||
3465 | 1511 | sodipodi:nodetypes="cccc" | ||
3466 | 1512 | id="path5522" | ||
3467 | 1513 | d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z " | ||
3468 | 1514 | style="opacity:0.40206185;color:black;fill:url(#radialGradient5636);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3469 | 1515 | <path | ||
3470 | 1516 | style="opacity:0.40206185;color:black;fill:url(#radialGradient5638);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3471 | 1517 | d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z " | ||
3472 | 1518 | id="path5524" | ||
3473 | 1519 | sodipodi:nodetypes="cccc" /> | ||
3474 | 1520 | </g> | ||
3475 | 1521 | <path | ||
3476 | 1522 | sodipodi:nodetypes="ccccccccc" | ||
3477 | 1523 | id="path5526" | ||
3478 | 1524 | d="M 3.643761,26.504783 L 28.921938,26.504783 C 29.226374,26.504783 29.788645,26.492665 30,27 L 31.5,30 C 31.5625,30.406064 31.487026,31.562501 30,31.562501 L 2.5,31.500001 C 1,31.562501 1.0652178,30.281064 1.0652178,30 L 3,27 C 3.2113561,26.492665 3.3393239,26.504783 3.643761,26.504783 z " | ||
3479 | 1525 | style="color:black;fill:url(#linearGradient5640);fill-opacity:1;fill-rule:nonzero;stroke:#888a85;stroke-width:0.99999976;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3480 | 1526 | <path | ||
3481 | 1527 | sodipodi:nodetypes="ccccccccc" | ||
3482 | 1528 | id="path5528" | ||
3483 | 1529 | d="M 4.0955909,27.111942 L 28.49679,27.10614 C 28.788541,27.10614 28.820868,27.10614 29.023418,27.449588 L 30.420658,30.150759 C 30.420658,30.341029 30.185782,30.494207 29.894029,30.494207 L 2.6782341,30.500011 C 2.3864818,30.500011 2.1516056,30.346832 2.1516056,30.156562 L 3.5689622,27.45539 C 3.7715117,27.111942 3.8038386,27.111942 4.0955909,27.111942 z " | ||
3484 | 1530 | style="opacity:1;color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.99999964;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3485 | 1531 | <path | ||
3486 | 1532 | sodipodi:nodetypes="csssssssccssssssssssssccccssscccccccccssssssssssssccsssssssssccccccc" | ||
3487 | 1533 | id="path5530" | ||
3488 | 1534 | d="M 4.9039459,26.500588 C 4.9019723,26.502459 4.9057445,26.514939 4.9039459,26.516406 C 4.89444,26.51889 4.8714034,26.528697 4.8616746,26.532224 C 4.8584281,26.533516 4.8437789,26.530815 4.840539,26.532224 C 4.8373165,26.533749 4.8225981,26.546397 4.8194034,26.548041 C 4.8130911,26.551565 4.8043634,26.559861 4.7982678,26.563859 C 4.7952901,26.565977 4.7800294,26.57744 4.7771322,26.579677 C 4.7743261,26.582033 4.7587013,26.593017 4.7559967,26.595495 C 4.7139608,26.641114 4.6696929,26.720423 4.6080475,26.816941 L 3.1646057,29.221226 C 3.1646057,29.224233 3.1644578,29.234029 3.1646057,29.237043 C 3.1648991,29.240062 3.1641691,29.249843 3.1646057,29.25286 C 3.1651831,29.255877 3.1638899,29.265668 3.1646057,29.268679 C 3.1663094,29.274683 3.1835077,29.294359 3.1857413,29.300313 C 3.1869871,29.303274 3.184369,29.31319 3.1857413,29.316132 C 3.1902312,29.324886 3.2013114,29.339269 3.2068769,29.347766 C 3.2127868,29.356161 3.2211123,29.37137 3.2280125,29.379402 C 3.230418,29.382033 3.2466397,29.392637 3.2491481,29.395219 C 3.2517571,29.39775 3.2675765,29.408562 3.2702837,29.411038 C 3.287102,29.425545 3.313719,29.446427 3.3336905,29.45849 C 3.3370984,29.460423 3.3513413,29.472456 3.3548262,29.474308 C 3.3655167,29.479116 3.3855128,29.485766 3.3970973,29.490126 C 3.4750042,29.516899 3.5780713,29.537579 3.6718601,29.537579 L 18.650036,29.537579 L 18.586629,26.500592 L 5.1153018,26.500588 C 5.0709049,26.500588 5.0221446,26.49941 4.9884883,26.500588 C 4.9806133,26.500623 4.9547729,26.500899 4.9462171,26.500588 C 4.9436075,26.500603 4.9274517,26.500458 4.9250814,26.500588 C 4.9232514,26.502034 4.9059195,26.498718 4.9039459,26.500588 z M 19.83363,26.500592 L 19.897036,27.512921 L 23.553495,27.512921 L 23.38441,26.500592 L 19.83363,26.500592 z M 24.652546,26.500592 L 25.413428,29.537579 L 28.795124,29.537579 C 28.888912,29.537579 28.991979,29.516899 29.069886,29.490126 C 29.081471,29.485766 29.101467,29.479116 29.112157,29.474308 C 29.115641,29.472456 29.129884,29.460423 29.133293,29.45849 C 29.153265,29.446427 29.179882,29.425545 29.1967,29.411038 C 29.199407,29.408562 29.215227,29.39775 29.217835,29.395219 C 29.220344,29.392637 29.236565,29.382033 29.238971,29.379402 C 29.245871,29.37137 29.254196,29.356161 29.260107,29.347766 C 29.265672,29.339269 29.276752,29.324886 29.281242,29.316132 C 29.282614,29.31319 29.279996,29.303274 29.281242,29.300313 C 29.283476,29.294359 29.300674,29.274683 29.302378,29.268679 C 29.303093,29.265668 29.3018,29.255877 29.302378,29.25286 C 29.302814,29.249843 29.302083,29.240062 29.302378,29.237043 C 29.302527,29.234029 29.302378,29.224233 29.302378,29.221226 L 28.119129,26.816941 C 28.057483,26.720424 28.013215,26.641114 27.97118,26.595495 C 27.968475,26.593017 27.95285,26.582033 27.950044,26.579677 C 27.947147,26.57744 27.931886,26.565977 27.928908,26.563859 C 27.922812,26.559861 27.914085,26.551565 27.907773,26.548041 C 27.904579,26.546397 27.88986,26.533749 27.886638,26.532224 C 27.883397,26.530815 27.868747,26.533516 27.865502,26.532224 C 27.855773,26.528697 27.832737,26.51889 27.823231,26.516406 C 27.812787,26.51452 27.796296,26.503902 27.780959,26.500588 C 27.773263,26.49907 27.745738,26.501448 27.738688,26.500588 C 27.705031,26.49941 27.656271,26.500588 27.611875,26.500588 L 24.652546,26.500592 z M 20.679054,28.525249 L 20.002715,29.537579 L 23.891664,29.537579 L 23.04624,28.525249 L 20.679054,28.525249 z " | ||
3489 | 1535 | style="color:black;fill:#d3d7cf;fill-opacity:1;fill-rule:nonzero;stroke:#babdb6;stroke-width:0.99999923;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3490 | 1536 | <rect | ||
3491 | 1537 | style="color:black;fill:url(#radialGradient5642);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3492 | 1538 | id="rect5532" | ||
3493 | 1539 | width="1" | ||
3494 | 1540 | height="1" | ||
3495 | 1541 | x="5" | ||
3496 | 1542 | y="26" | ||
3497 | 1543 | rx="0.26516503" | ||
3498 | 1544 | ry="0.26516503" /> | ||
3499 | 1545 | <rect | ||
3500 | 1546 | style="color:black;fill:url(#radialGradient5644);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3501 | 1547 | id="rect5534" | ||
3502 | 1548 | width="1" | ||
3503 | 1549 | height="1" | ||
3504 | 1550 | x="7" | ||
3505 | 1551 | y="26" | ||
3506 | 1552 | rx="0.26516503" | ||
3507 | 1553 | ry="0.26516503" /> | ||
3508 | 1554 | <rect | ||
3509 | 1555 | style="color:black;fill:url(#radialGradient5646);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3510 | 1556 | id="rect5536" | ||
3511 | 1557 | width="1" | ||
3512 | 1558 | height="1" | ||
3513 | 1559 | x="9" | ||
3514 | 1560 | y="26" | ||
3515 | 1561 | rx="0.26516503" | ||
3516 | 1562 | ry="0.26516503" /> | ||
3517 | 1563 | <rect | ||
3518 | 1564 | style="color:black;fill:url(#radialGradient5648);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3519 | 1565 | id="rect5538" | ||
3520 | 1566 | width="1" | ||
3521 | 1567 | height="1" | ||
3522 | 1568 | x="11" | ||
3523 | 1569 | y="26" | ||
3524 | 1570 | rx="0.26516503" | ||
3525 | 1571 | ry="0.26516503" /> | ||
3526 | 1572 | <rect | ||
3527 | 1573 | style="color:black;fill:url(#radialGradient5650);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3528 | 1574 | id="rect5540" | ||
3529 | 1575 | width="1" | ||
3530 | 1576 | height="1" | ||
3531 | 1577 | x="13" | ||
3532 | 1578 | y="26" | ||
3533 | 1579 | rx="0.26516503" | ||
3534 | 1580 | ry="0.26516503" /> | ||
3535 | 1581 | <rect | ||
3536 | 1582 | style="color:black;fill:url(#radialGradient5652);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3537 | 1583 | id="rect5542" | ||
3538 | 1584 | width="1" | ||
3539 | 1585 | height="1" | ||
3540 | 1586 | x="15" | ||
3541 | 1587 | y="26" | ||
3542 | 1588 | rx="0.26516503" | ||
3543 | 1589 | ry="0.26516503" /> | ||
3544 | 1590 | <rect | ||
3545 | 1591 | style="color:black;fill:url(#radialGradient5654);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3546 | 1592 | id="rect5544" | ||
3547 | 1593 | width="1" | ||
3548 | 1594 | height="1" | ||
3549 | 1595 | x="17" | ||
3550 | 1596 | y="26" | ||
3551 | 1597 | rx="0.26516503" | ||
3552 | 1598 | ry="0.26516503" /> | ||
3553 | 1599 | <rect | ||
3554 | 1600 | style="color:black;fill:url(#radialGradient5656);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3555 | 1601 | id="rect5546" | ||
3556 | 1602 | width="1" | ||
3557 | 1603 | height="1" | ||
3558 | 1604 | x="4" | ||
3559 | 1605 | y="27" | ||
3560 | 1606 | rx="0.26516503" | ||
3561 | 1607 | ry="0.26516503" /> | ||
3562 | 1608 | <rect | ||
3563 | 1609 | style="color:black;fill:url(#radialGradient5658);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3564 | 1610 | id="rect5548" | ||
3565 | 1611 | width="1" | ||
3566 | 1612 | height="1" | ||
3567 | 1613 | x="6" | ||
3568 | 1614 | y="27" | ||
3569 | 1615 | rx="0.26516503" | ||
3570 | 1616 | ry="0.26516503" /> | ||
3571 | 1617 | <rect | ||
3572 | 1618 | style="color:black;fill:url(#radialGradient5660);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3573 | 1619 | id="rect5550" | ||
3574 | 1620 | width="1" | ||
3575 | 1621 | height="1" | ||
3576 | 1622 | x="8" | ||
3577 | 1623 | y="27" | ||
3578 | 1624 | rx="0.26516503" | ||
3579 | 1625 | ry="0.26516503" /> | ||
3580 | 1626 | <rect | ||
3581 | 1627 | style="color:black;fill:url(#radialGradient5662);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3582 | 1628 | id="rect5552" | ||
3583 | 1629 | width="1" | ||
3584 | 1630 | height="1" | ||
3585 | 1631 | x="10" | ||
3586 | 1632 | y="27" | ||
3587 | 1633 | rx="0.26516503" | ||
3588 | 1634 | ry="0.26516503" /> | ||
3589 | 1635 | <rect | ||
3590 | 1636 | style="color:black;fill:url(#radialGradient5664);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3591 | 1637 | id="rect5554" | ||
3592 | 1638 | width="1" | ||
3593 | 1639 | height="1" | ||
3594 | 1640 | x="12" | ||
3595 | 1641 | y="27" | ||
3596 | 1642 | rx="0.26516503" | ||
3597 | 1643 | ry="0.26516503" /> | ||
3598 | 1644 | <rect | ||
3599 | 1645 | style="color:black;fill:url(#radialGradient5666);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3600 | 1646 | id="rect5556" | ||
3601 | 1647 | width="1" | ||
3602 | 1648 | height="1" | ||
3603 | 1649 | x="14" | ||
3604 | 1650 | y="27" | ||
3605 | 1651 | rx="0.26516503" | ||
3606 | 1652 | ry="0.26516503" /> | ||
3607 | 1653 | <rect | ||
3608 | 1654 | style="color:black;fill:url(#radialGradient5668);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3609 | 1655 | id="rect5558" | ||
3610 | 1656 | width="1" | ||
3611 | 1657 | height="1" | ||
3612 | 1658 | x="16" | ||
3613 | 1659 | y="27" | ||
3614 | 1660 | rx="0.26516503" | ||
3615 | 1661 | ry="0.26516503" /> | ||
3616 | 1662 | <rect | ||
3617 | 1663 | style="color:black;fill:url(#radialGradient5670);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3618 | 1664 | id="rect5560" | ||
3619 | 1665 | width="1" | ||
3620 | 1666 | height="1" | ||
3621 | 1667 | x="18" | ||
3622 | 1668 | y="27" | ||
3623 | 1669 | rx="0.26516503" | ||
3624 | 1670 | ry="0.26516503" /> | ||
3625 | 1671 | <rect | ||
3626 | 1672 | style="color:black;fill:url(#radialGradient5672);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3627 | 1673 | id="rect5562" | ||
3628 | 1674 | width="1" | ||
3629 | 1675 | height="1" | ||
3630 | 1676 | x="5" | ||
3631 | 1677 | y="28" | ||
3632 | 1678 | rx="0.26516503" | ||
3633 | 1679 | ry="0.26516503" /> | ||
3634 | 1680 | <rect | ||
3635 | 1681 | style="color:black;fill:url(#radialGradient5674);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3636 | 1682 | id="rect5564" | ||
3637 | 1683 | width="1" | ||
3638 | 1684 | height="1" | ||
3639 | 1685 | x="7" | ||
3640 | 1686 | y="28" | ||
3641 | 1687 | rx="0.26516503" | ||
3642 | 1688 | ry="0.26516503" /> | ||
3643 | 1689 | <rect | ||
3644 | 1690 | style="color:black;fill:url(#radialGradient5676);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3645 | 1691 | id="rect5566" | ||
3646 | 1692 | width="1" | ||
3647 | 1693 | height="1" | ||
3648 | 1694 | x="9" | ||
3649 | 1695 | y="28" | ||
3650 | 1696 | rx="0.26516503" | ||
3651 | 1697 | ry="0.26516503" /> | ||
3652 | 1698 | <rect | ||
3653 | 1699 | style="color:black;fill:url(#radialGradient5678);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3654 | 1700 | id="rect5568" | ||
3655 | 1701 | width="1" | ||
3656 | 1702 | height="1" | ||
3657 | 1703 | x="11" | ||
3658 | 1704 | y="28" | ||
3659 | 1705 | rx="0.26516503" | ||
3660 | 1706 | ry="0.26516503" /> | ||
3661 | 1707 | <rect | ||
3662 | 1708 | style="color:black;fill:url(#radialGradient5680);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3663 | 1709 | id="rect5570" | ||
3664 | 1710 | width="1" | ||
3665 | 1711 | height="1" | ||
3666 | 1712 | x="13" | ||
3667 | 1713 | y="28" | ||
3668 | 1714 | rx="0.26516503" | ||
3669 | 1715 | ry="0.26516503" /> | ||
3670 | 1716 | <rect | ||
3671 | 1717 | style="color:black;fill:url(#radialGradient5682);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3672 | 1718 | id="rect5572" | ||
3673 | 1719 | width="1" | ||
3674 | 1720 | height="1" | ||
3675 | 1721 | x="15" | ||
3676 | 1722 | y="28" | ||
3677 | 1723 | rx="0.26516503" | ||
3678 | 1724 | ry="0.26516503" /> | ||
3679 | 1725 | <rect | ||
3680 | 1726 | style="color:black;fill:url(#radialGradient5684);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3681 | 1727 | id="rect5574" | ||
3682 | 1728 | width="1" | ||
3683 | 1729 | height="1" | ||
3684 | 1730 | x="17" | ||
3685 | 1731 | y="28" | ||
3686 | 1732 | rx="0.26516503" | ||
3687 | 1733 | ry="0.26516503" /> | ||
3688 | 1734 | <rect | ||
3689 | 1735 | style="color:black;fill:url(#radialGradient5686);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3690 | 1736 | id="rect5576" | ||
3691 | 1737 | width="1" | ||
3692 | 1738 | height="1" | ||
3693 | 1739 | x="4" | ||
3694 | 1740 | y="29" | ||
3695 | 1741 | rx="0.26516503" | ||
3696 | 1742 | ry="0.26516503" /> | ||
3697 | 1743 | <rect | ||
3698 | 1744 | style="color:black;fill:url(#radialGradient5688);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3699 | 1745 | id="rect5578" | ||
3700 | 1746 | width="1" | ||
3701 | 1747 | height="1" | ||
3702 | 1748 | x="6" | ||
3703 | 1749 | y="29" | ||
3704 | 1750 | rx="0.26516503" | ||
3705 | 1751 | ry="0.26516503" /> | ||
3706 | 1752 | <rect | ||
3707 | 1753 | style="color:black;fill:url(#radialGradient5690);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3708 | 1754 | id="rect5580" | ||
3709 | 1755 | width="1" | ||
3710 | 1756 | height="1" | ||
3711 | 1757 | x="8" | ||
3712 | 1758 | y="29" | ||
3713 | 1759 | rx="0.26516503" | ||
3714 | 1760 | ry="0.26516503" /> | ||
3715 | 1761 | <rect | ||
3716 | 1762 | style="color:black;fill:url(#radialGradient5692);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3717 | 1763 | id="rect5582" | ||
3718 | 1764 | width="1" | ||
3719 | 1765 | height="1" | ||
3720 | 1766 | x="10" | ||
3721 | 1767 | y="29" | ||
3722 | 1768 | rx="0.26516503" | ||
3723 | 1769 | ry="0.26516503" /> | ||
3724 | 1770 | <rect | ||
3725 | 1771 | style="color:black;fill:url(#radialGradient5694);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3726 | 1772 | id="rect5584" | ||
3727 | 1773 | width="1" | ||
3728 | 1774 | height="1" | ||
3729 | 1775 | x="12" | ||
3730 | 1776 | y="29" | ||
3731 | 1777 | rx="0.26516503" | ||
3732 | 1778 | ry="0.26516503" /> | ||
3733 | 1779 | <rect | ||
3734 | 1780 | style="color:black;fill:url(#radialGradient5696);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3735 | 1781 | id="rect5586" | ||
3736 | 1782 | width="1" | ||
3737 | 1783 | height="1" | ||
3738 | 1784 | x="14" | ||
3739 | 1785 | y="29" | ||
3740 | 1786 | rx="0.26516503" | ||
3741 | 1787 | ry="0.26516503" /> | ||
3742 | 1788 | <rect | ||
3743 | 1789 | style="color:black;fill:url(#radialGradient5698);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3744 | 1790 | id="rect5588" | ||
3745 | 1791 | width="1" | ||
3746 | 1792 | height="1" | ||
3747 | 1793 | x="16" | ||
3748 | 1794 | y="29" | ||
3749 | 1795 | rx="0.26516503" | ||
3750 | 1796 | ry="0.26516503" /> | ||
3751 | 1797 | <rect | ||
3752 | 1798 | style="color:black;fill:url(#radialGradient5700);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3753 | 1799 | id="rect5590" | ||
3754 | 1800 | width="1" | ||
3755 | 1801 | height="1" | ||
3756 | 1802 | x="18" | ||
3757 | 1803 | y="29" | ||
3758 | 1804 | rx="0.26516503" | ||
3759 | 1805 | ry="0.26516503" /> | ||
3760 | 1806 | <rect | ||
3761 | 1807 | style="color:black;fill:url(#radialGradient5702);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3762 | 1808 | id="rect5592" | ||
3763 | 1809 | width="1" | ||
3764 | 1810 | height="1" | ||
3765 | 1811 | x="21" | ||
3766 | 1812 | y="26" | ||
3767 | 1813 | rx="0.26516503" | ||
3768 | 1814 | ry="0.26516503" /> | ||
3769 | 1815 | <rect | ||
3770 | 1816 | style="color:black;fill:url(#radialGradient5704);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3771 | 1817 | id="rect5594" | ||
3772 | 1818 | width="1" | ||
3773 | 1819 | height="1" | ||
3774 | 1820 | x="20" | ||
3775 | 1821 | y="27" | ||
3776 | 1822 | rx="0.26516503" | ||
3777 | 1823 | ry="0.26516503" /> | ||
3778 | 1824 | <rect | ||
3779 | 1825 | style="color:black;fill:url(#radialGradient5706);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3780 | 1826 | id="rect5596" | ||
3781 | 1827 | width="1" | ||
3782 | 1828 | height="1" | ||
3783 | 1829 | x="22" | ||
3784 | 1830 | y="27" | ||
3785 | 1831 | rx="0.26516503" | ||
3786 | 1832 | ry="0.26516503" /> | ||
3787 | 1833 | <rect | ||
3788 | 1834 | style="color:black;fill:url(#radialGradient5708);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3789 | 1835 | id="rect5598" | ||
3790 | 1836 | width="1" | ||
3791 | 1837 | height="1" | ||
3792 | 1838 | x="21" | ||
3793 | 1839 | y="28" | ||
3794 | 1840 | rx="0.26516503" | ||
3795 | 1841 | ry="0.26516503" /> | ||
3796 | 1842 | <rect | ||
3797 | 1843 | style="color:black;fill:url(#radialGradient5710);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3798 | 1844 | id="rect5600" | ||
3799 | 1845 | width="1" | ||
3800 | 1846 | height="1" | ||
3801 | 1847 | x="23" | ||
3802 | 1848 | y="28" | ||
3803 | 1849 | rx="0.26516503" | ||
3804 | 1850 | ry="0.26516503" /> | ||
3805 | 1851 | <rect | ||
3806 | 1852 | style="color:black;fill:url(#radialGradient5712);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3807 | 1853 | id="rect5602" | ||
3808 | 1854 | width="1" | ||
3809 | 1855 | height="1" | ||
3810 | 1856 | x="20" | ||
3811 | 1857 | y="29" | ||
3812 | 1858 | rx="0.26516503" | ||
3813 | 1859 | ry="0.26516503" /> | ||
3814 | 1860 | <rect | ||
3815 | 1861 | style="color:black;fill:url(#radialGradient5714);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3816 | 1862 | id="rect5604" | ||
3817 | 1863 | width="1" | ||
3818 | 1864 | height="1" | ||
3819 | 1865 | x="22" | ||
3820 | 1866 | y="29" | ||
3821 | 1867 | rx="0.26516503" | ||
3822 | 1868 | ry="0.26516503" /> | ||
3823 | 1869 | <rect | ||
3824 | 1870 | style="color:black;fill:url(#radialGradient5716);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3825 | 1871 | id="rect5606" | ||
3826 | 1872 | width="1" | ||
3827 | 1873 | height="1" | ||
3828 | 1874 | x="26" | ||
3829 | 1875 | y="26" | ||
3830 | 1876 | rx="0.26516503" | ||
3831 | 1877 | ry="0.26516503" /> | ||
3832 | 1878 | <rect | ||
3833 | 1879 | style="color:black;fill:url(#radialGradient5718);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3834 | 1880 | id="rect5608" | ||
3835 | 1881 | width="1" | ||
3836 | 1882 | height="1" | ||
3837 | 1883 | x="25" | ||
3838 | 1884 | y="27" | ||
3839 | 1885 | rx="0.26516503" | ||
3840 | 1886 | ry="0.26516503" /> | ||
3841 | 1887 | <rect | ||
3842 | 1888 | style="color:black;fill:url(#radialGradient5720);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3843 | 1889 | id="rect5610" | ||
3844 | 1890 | width="1" | ||
3845 | 1891 | height="1" | ||
3846 | 1892 | x="27" | ||
3847 | 1893 | y="27" | ||
3848 | 1894 | rx="0.26516503" | ||
3849 | 1895 | ry="0.26516503" /> | ||
3850 | 1896 | <rect | ||
3851 | 1897 | style="color:black;fill:url(#radialGradient5722);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3852 | 1898 | id="rect5612" | ||
3853 | 1899 | width="1" | ||
3854 | 1900 | height="1" | ||
3855 | 1901 | x="26" | ||
3856 | 1902 | y="28" | ||
3857 | 1903 | rx="0.26516503" | ||
3858 | 1904 | ry="0.26516503" /> | ||
3859 | 1905 | <rect | ||
3860 | 1906 | style="color:black;fill:url(#radialGradient5724);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3861 | 1907 | id="rect5614" | ||
3862 | 1908 | width="1" | ||
3863 | 1909 | height="1" | ||
3864 | 1910 | x="28" | ||
3865 | 1911 | y="28" | ||
3866 | 1912 | rx="0.26516503" | ||
3867 | 1913 | ry="0.26516503" /> | ||
3868 | 1914 | <rect | ||
3869 | 1915 | style="color:black;fill:url(#radialGradient5726);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3870 | 1916 | id="rect5616" | ||
3871 | 1917 | width="1" | ||
3872 | 1918 | height="1" | ||
3873 | 1919 | x="25" | ||
3874 | 1920 | y="29" | ||
3875 | 1921 | rx="0.26516503" | ||
3876 | 1922 | ry="0.26516503" /> | ||
3877 | 1923 | <rect | ||
3878 | 1924 | style="color:black;fill:url(#radialGradient5728);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
3879 | 1925 | id="rect5618" | ||
3880 | 1926 | width="1" | ||
3881 | 1927 | height="1" | ||
3882 | 1928 | x="27" | ||
3883 | 1929 | y="29" | ||
3884 | 1930 | rx="0.26516503" | ||
3885 | 1931 | ry="0.26516503" /> | ||
3886 | 1932 | </g> | ||
3887 | 1933 | </g> | ||
3888 | 1934 | <g | ||
3889 | 1935 | id="g5340" | ||
3890 | 1936 | transform="translate(0.985355,12)"> | ||
3891 | 1937 | <g | ||
3892 | 1938 | style="display:inline" | ||
3893 | 1939 | inkscape:label="Layer 1" | ||
3894 | 1940 | id="g5342" /> | ||
3895 | 1941 | <g | ||
3896 | 1942 | style="display:inline" | ||
3897 | 1943 | inkscape:label="tastiera" | ||
3898 | 1944 | id="g5344"> | ||
3899 | 1945 | <g | ||
3900 | 1946 | transform="translate(-54,0.18088)" | ||
3901 | 1947 | inkscape:label="Shadow" | ||
3902 | 1948 | id="g5346" /> | ||
3903 | 1949 | <g | ||
3904 | 1950 | id="g5348" | ||
3905 | 1951 | inkscape:label="Shadow" | ||
3906 | 1952 | transform="translate(-54,15.24691)" /> | ||
3907 | 1953 | <g | ||
3908 | 1954 | id="g5350" | ||
3909 | 1955 | inkscape:label="Lavoro" | ||
3910 | 1956 | style="display:inline" | ||
3911 | 1957 | transform="translate(-54,15.24691)" /> | ||
3912 | 1958 | </g> | ||
3913 | 1959 | <g | ||
3914 | 1960 | style="display:inline" | ||
3915 | 1961 | inkscape:label="tasti" | ||
3916 | 1962 | id="layer2"> | ||
3917 | 1963 | <path | ||
3918 | 1964 | transform="matrix(0.633479,0,0,0.565504,1.119993,0.201324)" | ||
3919 | 1965 | d="M 47.69706 42.6875 A 23.75956 5.8835783 0 1 1 0.17794037,42.6875 A 23.75956 5.8835783 0 1 1 47.69706 42.6875 z" | ||
3920 | 1966 | sodipodi:ry="5.8835783" | ||
3921 | 1967 | sodipodi:rx="23.75956" | ||
3922 | 1968 | sodipodi:cy="42.6875" | ||
3923 | 1969 | sodipodi:cx="23.9375" | ||
3924 | 1970 | id="path5353" | ||
3925 | 1971 | style="opacity:0.3;fill:url(#radialGradient2313);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" | ||
3926 | 1972 | sodipodi:type="arc" /> | ||
3927 | 1973 | <path | ||
3928 | 1974 | style="opacity:0.20786516;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4202);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" | ||
3929 | 1975 | d="M 27.082936,28.048013 C 21.663366,21.135948 31.947853,26.54939 30.855772,24.153878 C 29.785572,21.806364 17.408039,24.595241 18.709552,20.667209" | ||
3930 | 1976 | id="path5355" | ||
3931 | 1977 | sodipodi:nodetypes="czz" /> | ||
3932 | 1978 | <path | ||
3933 | 1979 | sodipodi:nodetypes="czz" | ||
3934 | 1980 | id="path5357" | ||
3935 | 1981 | d="M 26.784723,27.671888 C 21.538638,20.412631 31.520563,26.487432 30.374151,23.604157 C 29.072638,20.330797 18.198646,24.276982 18.806217,20.406815" | ||
3936 | 1982 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#729fcf;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" /> | ||
3937 | 1983 | <g | ||
3938 | 1984 | transform="matrix(0.530612,0,0,0.53095,3.140616,3.404111)" | ||
3939 | 1985 | id="g5359" | ||
3940 | 1986 | style="display:inline"> | ||
3941 | 1987 | <path | ||
3942 | 1988 | sodipodi:nodetypes="csccscc" | ||
3943 | 1989 | id="path5361" | ||
3944 | 1990 | d="M 14.375479,32.558794 C 14.375479,32.558794 15.592355,37.45777 10.51915,37.50376 C 8.0888743,37.525507 8.5866723,41.509781 8.5866723,41.509781 L 39.433139,41.478634 C 39.433139,41.478634 39.851577,37.611393 37.410922,37.566053 C 32.423455,37.474579 33.600393,32.496503 33.600393,32.496503 L 14.375479,32.558794 z " | ||
3945 | 1991 | style="opacity:1;color:black;fill:url(#linearGradient2308);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.88401449;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3946 | 1992 | <path | ||
3947 | 1993 | sodipodi:nodetypes="ccccc" | ||
3948 | 1994 | id="path5363" | ||
3949 | 1995 | d="M 13.926195,33.027451 C 14.010206,35.2 13.641655,35.938894 12.285731,36.702682 L 36,38 C 35.047008,36.831372 33.660837,35.066666 34.038883,33.011765 L 13.926195,33.027451 z " | ||
3950 | 1996 | style="opacity:0.5;fill:url(#linearGradient2310);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> | ||
3951 | 1997 | <path | ||
3952 | 1998 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#8d8d8f;stroke-width:1.88401508px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.43902438" | ||
3953 | 1999 | d="M 10.436202,38.661601 C 17.000465,38.66357 37.562637,38.661601 37.562637,38.661601" | ||
3954 | 2000 | id="path5365" | ||
3955 | 2001 | sodipodi:nodetypes="cc" /> | ||
3956 | 2002 | <path | ||
3957 | 2003 | sodipodi:nodetypes="cc" | ||
3958 | 2004 | id="path5367" | ||
3959 | 2005 | d="M 11.134219,39.660187 C 17.146756,39.662156 36.881517,39.660187 36.881517,39.660187" | ||
3960 | 2006 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.88401532px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" /> | ||
3961 | 2007 | </g> | ||
3962 | 2008 | <path | ||
3963 | 2009 | sodipodi:nodetypes="ccccccccc" | ||
3964 | 2010 | id="path5369" | ||
3965 | 2011 | d="M 3.602229,1.4999996 L 28.319154,1.4999996 C 29.631932,1.4999996 30.588653,2.4197694 30.588653,3.8361498 L 30.595753,20.072828 C 30.595753,21.162945 30.253253,21.499994 29.276792,21.499994 L 2.7228402,21.487795 C 1.9583807,21.469246 1.414291,21.169109 1.404027,20.186855 L 1.4138652,3.7151949 C 1.4138652,2.572403 2.4117826,1.4999996 3.602229,1.4999996 z " | ||
3966 | 2012 | style="fill:url(#linearGradient5147);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> | ||
3967 | 2013 | <rect | ||
3968 | 2014 | y="3.5000005" | ||
3969 | 2015 | x="3.4999971" | ||
3970 | 2016 | height="15.194118" | ||
3971 | 2017 | width="25.103695" | ||
3972 | 2018 | id="rect5371" | ||
3973 | 2019 | style="fill:url(#radialGradient5239);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:0.99999958px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" /> | ||
3974 | 2020 | <path | ||
3975 | 2021 | sodipodi:nodetypes="ccccc" | ||
3976 | 2022 | id="path5373" | ||
3977 | 2023 | d="M 4.0984042,4.0204313 L 4.0984042,15.748091 C 15.025941,14.866132 19.115514,9.1623492 28,8.5664313 L 28,4 L 4.0984042,4.0204313 z " | ||
3978 | 2024 | style="opacity:0.5;fill:url(#linearGradient6246);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" /> | ||
3979 | 2025 | <path | ||
3980 | 2026 | sodipodi:nodetypes="cccsccscccc" | ||
3981 | 2027 | id="path5375" | ||
3982 | 2028 | d="M 4.056094,2.4999991 C 3.2398944,2.4999991 2.4960113,3.2952856 2.4960113,4.0741096 L 2.4960108,19.789734 C 2.4999206,20.160319 2.5869303,20.275382 2.6715202,20.346431 C 2.7561101,20.417479 2.9348114,20.473541 3.2370502,20.480806 L 28.783404,20.500002 C 29.189758,20.500002 29.318189,20.437946 29.368434,20.384824 C 29.418681,20.3317 29.504941,20.138678 29.504941,19.674554 L 29.504942,4.1892884 C 29.504942,3.0791795 28.874178,2.4999991 27.866855,2.4999991 L 4.056094,2.4999991 z " | ||
3983 | 2029 | style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;display:inline" /> | ||
3984 | 2030 | <g | ||
3985 | 2031 | id="g5377" | ||
3986 | 2032 | transform="matrix(1.543206e-2,0,0,1.215502e-2,29.57023,28.01728)" | ||
3987 | 2033 | style="display:inline"> | ||
3988 | 2034 | <rect | ||
3989 | 2035 | y="-150.69685" | ||
3990 | 2036 | x="-1559.2523" | ||
3991 | 2037 | height="478.35718" | ||
3992 | 2038 | width="1339.6335" | ||
3993 | 2039 | id="rect6709" | ||
3994 | 2040 | style="opacity:0.40206185;color:black;fill:url(#linearGradient5478);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
3995 | 2041 | <path | ||
3996 | 2042 | sodipodi:nodetypes="cccc" | ||
3997 | 2043 | id="path5380" | ||
3998 | 2044 | d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z " | ||
3999 | 2045 | style="opacity:0.40206185;color:black;fill:url(#radialGradient2309);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
4000 | 2046 | <path | ||
4001 | 2047 | style="opacity:0.40206185;color:black;fill:url(#radialGradient2311);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4002 | 2048 | d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z " | ||
4003 | 2049 | id="path5382" | ||
4004 | 2050 | sodipodi:nodetypes="cccc" /> | ||
4005 | 2051 | </g> | ||
4006 | 2052 | <path | ||
4007 | 2053 | sodipodi:nodetypes="ccccccccc" | ||
4008 | 2054 | id="path5384" | ||
4009 | 2055 | d="M 3.643761,26.504783 L 28.921938,26.504783 C 29.226374,26.504783 29.788645,26.492665 30,27 L 31.5,30 C 31.5625,30.406064 31.487026,31.562501 30,31.562501 L 2.5,31.500001 C 1,31.562501 1.0652178,30.281064 1.0652178,30 L 3,27 C 3.2113561,26.492665 3.3393239,26.504783 3.643761,26.504783 z " | ||
4010 | 2056 | style="color:black;fill:url(#linearGradient3905);fill-opacity:1;fill-rule:nonzero;stroke:#888a85;stroke-width:0.99999976;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
4011 | 2057 | <path | ||
4012 | 2058 | sodipodi:nodetypes="ccccccccc" | ||
4013 | 2059 | id="path5386" | ||
4014 | 2060 | d="M 4.0955909,27.111942 L 28.49679,27.10614 C 28.788541,27.10614 28.820868,27.10614 29.023418,27.449588 L 30.420658,30.150759 C 30.420658,30.341029 30.185782,30.494207 29.894029,30.494207 L 2.6782341,30.500011 C 2.3864818,30.500011 2.1516056,30.346832 2.1516056,30.156562 L 3.5689622,27.45539 C 3.7715117,27.111942 3.8038386,27.111942 4.0955909,27.111942 z " | ||
4015 | 2061 | style="opacity:1;color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:white;stroke-width:0.99999964;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
4016 | 2062 | <path | ||
4017 | 2063 | sodipodi:nodetypes="csssssssccssssssssssssccccssscccccccccssssssssssssccsssssssssccccccc" | ||
4018 | 2064 | id="path5388" | ||
4019 | 2065 | d="M 4.9039459,26.500588 C 4.9019723,26.502459 4.9057445,26.514939 4.9039459,26.516406 C 4.89444,26.51889 4.8714034,26.528697 4.8616746,26.532224 C 4.8584281,26.533516 4.8437789,26.530815 4.840539,26.532224 C 4.8373165,26.533749 4.8225981,26.546397 4.8194034,26.548041 C 4.8130911,26.551565 4.8043634,26.559861 4.7982678,26.563859 C 4.7952901,26.565977 4.7800294,26.57744 4.7771322,26.579677 C 4.7743261,26.582033 4.7587013,26.593017 4.7559967,26.595495 C 4.7139608,26.641114 4.6696929,26.720423 4.6080475,26.816941 L 3.1646057,29.221226 C 3.1646057,29.224233 3.1644578,29.234029 3.1646057,29.237043 C 3.1648991,29.240062 3.1641691,29.249843 3.1646057,29.25286 C 3.1651831,29.255877 3.1638899,29.265668 3.1646057,29.268679 C 3.1663094,29.274683 3.1835077,29.294359 3.1857413,29.300313 C 3.1869871,29.303274 3.184369,29.31319 3.1857413,29.316132 C 3.1902312,29.324886 3.2013114,29.339269 3.2068769,29.347766 C 3.2127868,29.356161 3.2211123,29.37137 3.2280125,29.379402 C 3.230418,29.382033 3.2466397,29.392637 3.2491481,29.395219 C 3.2517571,29.39775 3.2675765,29.408562 3.2702837,29.411038 C 3.287102,29.425545 3.313719,29.446427 3.3336905,29.45849 C 3.3370984,29.460423 3.3513413,29.472456 3.3548262,29.474308 C 3.3655167,29.479116 3.3855128,29.485766 3.3970973,29.490126 C 3.4750042,29.516899 3.5780713,29.537579 3.6718601,29.537579 L 18.650036,29.537579 L 18.586629,26.500592 L 5.1153018,26.500588 C 5.0709049,26.500588 5.0221446,26.49941 4.9884883,26.500588 C 4.9806133,26.500623 4.9547729,26.500899 4.9462171,26.500588 C 4.9436075,26.500603 4.9274517,26.500458 4.9250814,26.500588 C 4.9232514,26.502034 4.9059195,26.498718 4.9039459,26.500588 z M 19.83363,26.500592 L 19.897036,27.512921 L 23.553495,27.512921 L 23.38441,26.500592 L 19.83363,26.500592 z M 24.652546,26.500592 L 25.413428,29.537579 L 28.795124,29.537579 C 28.888912,29.537579 28.991979,29.516899 29.069886,29.490126 C 29.081471,29.485766 29.101467,29.479116 29.112157,29.474308 C 29.115641,29.472456 29.129884,29.460423 29.133293,29.45849 C 29.153265,29.446427 29.179882,29.425545 29.1967,29.411038 C 29.199407,29.408562 29.215227,29.39775 29.217835,29.395219 C 29.220344,29.392637 29.236565,29.382033 29.238971,29.379402 C 29.245871,29.37137 29.254196,29.356161 29.260107,29.347766 C 29.265672,29.339269 29.276752,29.324886 29.281242,29.316132 C 29.282614,29.31319 29.279996,29.303274 29.281242,29.300313 C 29.283476,29.294359 29.300674,29.274683 29.302378,29.268679 C 29.303093,29.265668 29.3018,29.255877 29.302378,29.25286 C 29.302814,29.249843 29.302083,29.240062 29.302378,29.237043 C 29.302527,29.234029 29.302378,29.224233 29.302378,29.221226 L 28.119129,26.816941 C 28.057483,26.720424 28.013215,26.641114 27.97118,26.595495 C 27.968475,26.593017 27.95285,26.582033 27.950044,26.579677 C 27.947147,26.57744 27.931886,26.565977 27.928908,26.563859 C 27.922812,26.559861 27.914085,26.551565 27.907773,26.548041 C 27.904579,26.546397 27.88986,26.533749 27.886638,26.532224 C 27.883397,26.530815 27.868747,26.533516 27.865502,26.532224 C 27.855773,26.528697 27.832737,26.51889 27.823231,26.516406 C 27.812787,26.51452 27.796296,26.503902 27.780959,26.500588 C 27.773263,26.49907 27.745738,26.501448 27.738688,26.500588 C 27.705031,26.49941 27.656271,26.500588 27.611875,26.500588 L 24.652546,26.500592 z M 20.679054,28.525249 L 20.002715,29.537579 L 23.891664,29.537579 L 23.04624,28.525249 L 20.679054,28.525249 z " | ||
4020 | 2066 | style="color:black;fill:#d3d7cf;fill-opacity:1;fill-rule:nonzero;stroke:#babdb6;stroke-width:0.99999923;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> | ||
4021 | 2067 | <rect | ||
4022 | 2068 | style="color:black;fill:url(#radialGradient3248);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4023 | 2069 | id="rect5390" | ||
4024 | 2070 | width="1" | ||
4025 | 2071 | height="1" | ||
4026 | 2072 | x="5" | ||
4027 | 2073 | y="26" | ||
4028 | 2074 | rx="0.26516503" | ||
4029 | 2075 | ry="0.26516503" /> | ||
4030 | 2076 | <rect | ||
4031 | 2077 | style="color:black;fill:url(#radialGradient3245);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4032 | 2078 | id="rect5392" | ||
4033 | 2079 | width="1" | ||
4034 | 2080 | height="1" | ||
4035 | 2081 | x="7" | ||
4036 | 2082 | y="26" | ||
4037 | 2083 | rx="0.26516503" | ||
4038 | 2084 | ry="0.26516503" /> | ||
4039 | 2085 | <rect | ||
4040 | 2086 | style="color:black;fill:url(#radialGradient3242);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4041 | 2087 | id="rect5394" | ||
4042 | 2088 | width="1" | ||
4043 | 2089 | height="1" | ||
4044 | 2090 | x="9" | ||
4045 | 2091 | y="26" | ||
4046 | 2092 | rx="0.26516503" | ||
4047 | 2093 | ry="0.26516503" /> | ||
4048 | 2094 | <rect | ||
4049 | 2095 | style="color:black;fill:url(#radialGradient3239);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4050 | 2096 | id="rect5396" | ||
4051 | 2097 | width="1" | ||
4052 | 2098 | height="1" | ||
4053 | 2099 | x="11" | ||
4054 | 2100 | y="26" | ||
4055 | 2101 | rx="0.26516503" | ||
4056 | 2102 | ry="0.26516503" /> | ||
4057 | 2103 | <rect | ||
4058 | 2104 | style="color:black;fill:url(#radialGradient3236);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4059 | 2105 | id="rect5398" | ||
4060 | 2106 | width="1" | ||
4061 | 2107 | height="1" | ||
4062 | 2108 | x="13" | ||
4063 | 2109 | y="26" | ||
4064 | 2110 | rx="0.26516503" | ||
4065 | 2111 | ry="0.26516503" /> | ||
4066 | 2112 | <rect | ||
4067 | 2113 | style="color:black;fill:url(#radialGradient3233);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4068 | 2114 | id="rect5400" | ||
4069 | 2115 | width="1" | ||
4070 | 2116 | height="1" | ||
4071 | 2117 | x="15" | ||
4072 | 2118 | y="26" | ||
4073 | 2119 | rx="0.26516503" | ||
4074 | 2120 | ry="0.26516503" /> | ||
4075 | 2121 | <rect | ||
4076 | 2122 | style="color:black;fill:url(#radialGradient3230);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4077 | 2123 | id="rect5402" | ||
4078 | 2124 | width="1" | ||
4079 | 2125 | height="1" | ||
4080 | 2126 | x="17" | ||
4081 | 2127 | y="26" | ||
4082 | 2128 | rx="0.26516503" | ||
4083 | 2129 | ry="0.26516503" /> | ||
4084 | 2130 | <rect | ||
4085 | 2131 | style="color:black;fill:url(#radialGradient3224);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4086 | 2132 | id="rect5404" | ||
4087 | 2133 | width="1" | ||
4088 | 2134 | height="1" | ||
4089 | 2135 | x="4" | ||
4090 | 2136 | y="27" | ||
4091 | 2137 | rx="0.26516503" | ||
4092 | 2138 | ry="0.26516503" /> | ||
4093 | 2139 | <rect | ||
4094 | 2140 | style="color:black;fill:url(#radialGradient3221);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4095 | 2141 | id="rect5406" | ||
4096 | 2142 | width="1" | ||
4097 | 2143 | height="1" | ||
4098 | 2144 | x="6" | ||
4099 | 2145 | y="27" | ||
4100 | 2146 | rx="0.26516503" | ||
4101 | 2147 | ry="0.26516503" /> | ||
4102 | 2148 | <rect | ||
4103 | 2149 | style="color:black;fill:url(#radialGradient3218);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4104 | 2150 | id="rect5408" | ||
4105 | 2151 | width="1" | ||
4106 | 2152 | height="1" | ||
4107 | 2153 | x="8" | ||
4108 | 2154 | y="27" | ||
4109 | 2155 | rx="0.26516503" | ||
4110 | 2156 | ry="0.26516503" /> | ||
4111 | 2157 | <rect | ||
4112 | 2158 | style="color:black;fill:url(#radialGradient3215);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4113 | 2159 | id="rect5410" | ||
4114 | 2160 | width="1" | ||
4115 | 2161 | height="1" | ||
4116 | 2162 | x="10" | ||
4117 | 2163 | y="27" | ||
4118 | 2164 | rx="0.26516503" | ||
4119 | 2165 | ry="0.26516503" /> | ||
4120 | 2166 | <rect | ||
4121 | 2167 | style="color:black;fill:url(#radialGradient3212);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4122 | 2168 | id="rect5412" | ||
4123 | 2169 | width="1" | ||
4124 | 2170 | height="1" | ||
4125 | 2171 | x="12" | ||
4126 | 2172 | y="27" | ||
4127 | 2173 | rx="0.26516503" | ||
4128 | 2174 | ry="0.26516503" /> | ||
4129 | 2175 | <rect | ||
4130 | 2176 | style="color:black;fill:url(#radialGradient3209);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4131 | 2177 | id="rect5414" | ||
4132 | 2178 | width="1" | ||
4133 | 2179 | height="1" | ||
4134 | 2180 | x="14" | ||
4135 | 2181 | y="27" | ||
4136 | 2182 | rx="0.26516503" | ||
4137 | 2183 | ry="0.26516503" /> | ||
4138 | 2184 | <rect | ||
4139 | 2185 | style="color:black;fill:url(#radialGradient3206);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4140 | 2186 | id="rect5416" | ||
4141 | 2187 | width="1" | ||
4142 | 2188 | height="1" | ||
4143 | 2189 | x="16" | ||
4144 | 2190 | y="27" | ||
4145 | 2191 | rx="0.26516503" | ||
4146 | 2192 | ry="0.26516503" /> | ||
4147 | 2193 | <rect | ||
4148 | 2194 | style="color:black;fill:url(#radialGradient3203);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4149 | 2195 | id="rect5418" | ||
4150 | 2196 | width="1" | ||
4151 | 2197 | height="1" | ||
4152 | 2198 | x="18" | ||
4153 | 2199 | y="27" | ||
4154 | 2200 | rx="0.26516503" | ||
4155 | 2201 | ry="0.26516503" /> | ||
4156 | 2202 | <rect | ||
4157 | 2203 | style="color:black;fill:url(#radialGradient3200);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4158 | 2204 | id="rect5420" | ||
4159 | 2205 | width="1" | ||
4160 | 2206 | height="1" | ||
4161 | 2207 | x="5" | ||
4162 | 2208 | y="28" | ||
4163 | 2209 | rx="0.26516503" | ||
4164 | 2210 | ry="0.26516503" /> | ||
4165 | 2211 | <rect | ||
4166 | 2212 | style="color:black;fill:url(#radialGradient3197);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4167 | 2213 | id="rect5422" | ||
4168 | 2214 | width="1" | ||
4169 | 2215 | height="1" | ||
4170 | 2216 | x="7" | ||
4171 | 2217 | y="28" | ||
4172 | 2218 | rx="0.26516503" | ||
4173 | 2219 | ry="0.26516503" /> | ||
4174 | 2220 | <rect | ||
4175 | 2221 | style="color:black;fill:url(#radialGradient3194);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4176 | 2222 | id="rect5424" | ||
4177 | 2223 | width="1" | ||
4178 | 2224 | height="1" | ||
4179 | 2225 | x="9" | ||
4180 | 2226 | y="28" | ||
4181 | 2227 | rx="0.26516503" | ||
4182 | 2228 | ry="0.26516503" /> | ||
4183 | 2229 | <rect | ||
4184 | 2230 | style="color:black;fill:url(#radialGradient3191);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4185 | 2231 | id="rect5426" | ||
4186 | 2232 | width="1" | ||
4187 | 2233 | height="1" | ||
4188 | 2234 | x="11" | ||
4189 | 2235 | y="28" | ||
4190 | 2236 | rx="0.26516503" | ||
4191 | 2237 | ry="0.26516503" /> | ||
4192 | 2238 | <rect | ||
4193 | 2239 | style="color:black;fill:url(#radialGradient3188);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4194 | 2240 | id="rect5428" | ||
4195 | 2241 | width="1" | ||
4196 | 2242 | height="1" | ||
4197 | 2243 | x="13" | ||
4198 | 2244 | y="28" | ||
4199 | 2245 | rx="0.26516503" | ||
4200 | 2246 | ry="0.26516503" /> | ||
4201 | 2247 | <rect | ||
4202 | 2248 | style="color:black;fill:url(#radialGradient3185);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4203 | 2249 | id="rect5430" | ||
4204 | 2250 | width="1" | ||
4205 | 2251 | height="1" | ||
4206 | 2252 | x="15" | ||
4207 | 2253 | y="28" | ||
4208 | 2254 | rx="0.26516503" | ||
4209 | 2255 | ry="0.26516503" /> | ||
4210 | 2256 | <rect | ||
4211 | 2257 | style="color:black;fill:url(#radialGradient3182);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4212 | 2258 | id="rect5432" | ||
4213 | 2259 | width="1" | ||
4214 | 2260 | height="1" | ||
4215 | 2261 | x="17" | ||
4216 | 2262 | y="28" | ||
4217 | 2263 | rx="0.26516503" | ||
4218 | 2264 | ry="0.26516503" /> | ||
4219 | 2265 | <rect | ||
4220 | 2266 | style="color:black;fill:url(#radialGradient3176);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4221 | 2267 | id="rect5434" | ||
4222 | 2268 | width="1" | ||
4223 | 2269 | height="1" | ||
4224 | 2270 | x="4" | ||
4225 | 2271 | y="29" | ||
4226 | 2272 | rx="0.26516503" | ||
4227 | 2273 | ry="0.26516503" /> | ||
4228 | 2274 | <rect | ||
4229 | 2275 | style="color:black;fill:url(#radialGradient3173);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4230 | 2276 | id="rect5436" | ||
4231 | 2277 | width="1" | ||
4232 | 2278 | height="1" | ||
4233 | 2279 | x="6" | ||
4234 | 2280 | y="29" | ||
4235 | 2281 | rx="0.26516503" | ||
4236 | 2282 | ry="0.26516503" /> | ||
4237 | 2283 | <rect | ||
4238 | 2284 | style="color:black;fill:url(#radialGradient3170);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4239 | 2285 | id="rect5438" | ||
4240 | 2286 | width="1" | ||
4241 | 2287 | height="1" | ||
4242 | 2288 | x="8" | ||
4243 | 2289 | y="29" | ||
4244 | 2290 | rx="0.26516503" | ||
4245 | 2291 | ry="0.26516503" /> | ||
4246 | 2292 | <rect | ||
4247 | 2293 | style="color:black;fill:url(#radialGradient3167);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4248 | 2294 | id="rect5440" | ||
4249 | 2295 | width="1" | ||
4250 | 2296 | height="1" | ||
4251 | 2297 | x="10" | ||
4252 | 2298 | y="29" | ||
4253 | 2299 | rx="0.26516503" | ||
4254 | 2300 | ry="0.26516503" /> | ||
4255 | 2301 | <rect | ||
4256 | 2302 | style="color:black;fill:url(#radialGradient3164);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4257 | 2303 | id="rect5442" | ||
4258 | 2304 | width="1" | ||
4259 | 2305 | height="1" | ||
4260 | 2306 | x="12" | ||
4261 | 2307 | y="29" | ||
4262 | 2308 | rx="0.26516503" | ||
4263 | 2309 | ry="0.26516503" /> | ||
4264 | 2310 | <rect | ||
4265 | 2311 | style="color:black;fill:url(#radialGradient3161);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4266 | 2312 | id="rect5444" | ||
4267 | 2313 | width="1" | ||
4268 | 2314 | height="1" | ||
4269 | 2315 | x="14" | ||
4270 | 2316 | y="29" | ||
4271 | 2317 | rx="0.26516503" | ||
4272 | 2318 | ry="0.26516503" /> | ||
4273 | 2319 | <rect | ||
4274 | 2320 | style="color:black;fill:url(#radialGradient3158);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4275 | 2321 | id="rect5446" | ||
4276 | 2322 | width="1" | ||
4277 | 2323 | height="1" | ||
4278 | 2324 | x="16" | ||
4279 | 2325 | y="29" | ||
4280 | 2326 | rx="0.26516503" | ||
4281 | 2327 | ry="0.26516503" /> | ||
4282 | 2328 | <rect | ||
4283 | 2329 | style="color:black;fill:url(#radialGradient3155);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4284 | 2330 | id="rect5448" | ||
4285 | 2331 | width="1" | ||
4286 | 2332 | height="1" | ||
4287 | 2333 | x="18" | ||
4288 | 2334 | y="29" | ||
4289 | 2335 | rx="0.26516503" | ||
4290 | 2336 | ry="0.26516503" /> | ||
4291 | 2337 | <rect | ||
4292 | 2338 | style="color:black;fill:url(#radialGradient3264);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4293 | 2339 | id="rect5450" | ||
4294 | 2340 | width="1" | ||
4295 | 2341 | height="1" | ||
4296 | 2342 | x="21" | ||
4297 | 2343 | y="26" | ||
4298 | 2344 | rx="0.26516503" | ||
4299 | 2345 | ry="0.26516503" /> | ||
4300 | 2346 | <rect | ||
4301 | 2347 | style="color:black;fill:url(#radialGradient3266);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4302 | 2348 | id="rect5452" | ||
4303 | 2349 | width="1" | ||
4304 | 2350 | height="1" | ||
4305 | 2351 | x="20" | ||
4306 | 2352 | y="27" | ||
4307 | 2353 | rx="0.26516503" | ||
4308 | 2354 | ry="0.26516503" /> | ||
4309 | 2355 | <rect | ||
4310 | 2356 | style="color:black;fill:url(#radialGradient3268);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4311 | 2357 | id="rect5454" | ||
4312 | 2358 | width="1" | ||
4313 | 2359 | height="1" | ||
4314 | 2360 | x="22" | ||
4315 | 2361 | y="27" | ||
4316 | 2362 | rx="0.26516503" | ||
4317 | 2363 | ry="0.26516503" /> | ||
4318 | 2364 | <rect | ||
4319 | 2365 | style="color:black;fill:url(#radialGradient3270);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4320 | 2366 | id="rect5456" | ||
4321 | 2367 | width="1" | ||
4322 | 2368 | height="1" | ||
4323 | 2369 | x="21" | ||
4324 | 2370 | y="28" | ||
4325 | 2371 | rx="0.26516503" | ||
4326 | 2372 | ry="0.26516503" /> | ||
4327 | 2373 | <rect | ||
4328 | 2374 | style="color:black;fill:url(#radialGradient3272);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4329 | 2375 | id="rect5458" | ||
4330 | 2376 | width="1" | ||
4331 | 2377 | height="1" | ||
4332 | 2378 | x="23" | ||
4333 | 2379 | y="28" | ||
4334 | 2380 | rx="0.26516503" | ||
4335 | 2381 | ry="0.26516503" /> | ||
4336 | 2382 | <rect | ||
4337 | 2383 | style="color:black;fill:url(#radialGradient3274);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4338 | 2384 | id="rect5460" | ||
4339 | 2385 | width="1" | ||
4340 | 2386 | height="1" | ||
4341 | 2387 | x="20" | ||
4342 | 2388 | y="29" | ||
4343 | 2389 | rx="0.26516503" | ||
4344 | 2390 | ry="0.26516503" /> | ||
4345 | 2391 | <rect | ||
4346 | 2392 | style="color:black;fill:url(#radialGradient3276);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4347 | 2393 | id="rect5462" | ||
4348 | 2394 | width="1" | ||
4349 | 2395 | height="1" | ||
4350 | 2396 | x="22" | ||
4351 | 2397 | y="29" | ||
4352 | 2398 | rx="0.26516503" | ||
4353 | 2399 | ry="0.26516503" /> | ||
4354 | 2400 | <rect | ||
4355 | 2401 | style="color:black;fill:url(#radialGradient3292);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4356 | 2402 | id="rect5464" | ||
4357 | 2403 | width="1" | ||
4358 | 2404 | height="1" | ||
4359 | 2405 | x="26" | ||
4360 | 2406 | y="26" | ||
4361 | 2407 | rx="0.26516503" | ||
4362 | 2408 | ry="0.26516503" /> | ||
4363 | 2409 | <rect | ||
4364 | 2410 | style="color:black;fill:url(#radialGradient3294);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4365 | 2411 | id="rect5466" | ||
4366 | 2412 | width="1" | ||
4367 | 2413 | height="1" | ||
4368 | 2414 | x="25" | ||
4369 | 2415 | y="27" | ||
4370 | 2416 | rx="0.26516503" | ||
4371 | 2417 | ry="0.26516503" /> | ||
4372 | 2418 | <rect | ||
4373 | 2419 | style="color:black;fill:url(#radialGradient3296);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4374 | 2420 | id="rect5468" | ||
4375 | 2421 | width="1" | ||
4376 | 2422 | height="1" | ||
4377 | 2423 | x="27" | ||
4378 | 2424 | y="27" | ||
4379 | 2425 | rx="0.26516503" | ||
4380 | 2426 | ry="0.26516503" /> | ||
4381 | 2427 | <rect | ||
4382 | 2428 | style="color:black;fill:url(#radialGradient3298);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4383 | 2429 | id="rect5470" | ||
4384 | 2430 | width="1" | ||
4385 | 2431 | height="1" | ||
4386 | 2432 | x="26" | ||
4387 | 2433 | y="28" | ||
4388 | 2434 | rx="0.26516503" | ||
4389 | 2435 | ry="0.26516503" /> | ||
4390 | 2436 | <rect | ||
4391 | 2437 | style="color:black;fill:url(#radialGradient3300);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4392 | 2438 | id="rect5472" | ||
4393 | 2439 | width="1" | ||
4394 | 2440 | height="1" | ||
4395 | 2441 | x="28" | ||
4396 | 2442 | y="28" | ||
4397 | 2443 | rx="0.26516503" | ||
4398 | 2444 | ry="0.26516503" /> | ||
4399 | 2445 | <rect | ||
4400 | 2446 | style="color:black;fill:url(#radialGradient3302);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4401 | 2447 | id="rect5474" | ||
4402 | 2448 | width="1" | ||
4403 | 2449 | height="1" | ||
4404 | 2450 | x="25" | ||
4405 | 2451 | y="29" | ||
4406 | 2452 | rx="0.26516503" | ||
4407 | 2453 | ry="0.26516503" /> | ||
4408 | 2454 | <rect | ||
4409 | 2455 | style="color:black;fill:url(#radialGradient3304);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" | ||
4410 | 2456 | id="rect5476" | ||
4411 | 2457 | width="1" | ||
4412 | 2458 | height="1" | ||
4413 | 2459 | x="27" | ||
4414 | 2460 | y="29" | ||
4415 | 2461 | rx="0.26516503" | ||
4416 | 2462 | ry="0.26516503" /> | ||
4417 | 2463 | </g> | ||
4418 | 2464 | </g> | ||
4419 | 2465 | </g> | ||
4420 | 2466 | </svg> |
1) I will have to say, I'm not a fan of merging the debian and snappy packaging into a single branch. There's simply too many debian-specific files included which are useless when it comes to building a snap. Add in the fact that the debian packaging branch for NM includes many stale patches ( ie. patches that aren't used or are commented out in the d/p/series ), and it seems like a mess to me.
Also, if we base the snap on the NM branch like this, we probably should revise the version to actually reflect this, at the moment it doesn't include the '-4ubuntu15.1.8' part in the version, yet it does include the code from that version.
I really prefer the bluez approach, where although the bzr namespace is the same as the debian package, the snap branch *only* includes snappy bits.
2) Why bother with --configure-snappy, the branch is solely for snappy? If we eventually try to upstream the patch(es), we'll probably need to change this is done ( ie. doubtful upstream would accept such a switch, we'd probably instead want to fix generically ), so let's either make the branch snappy only, or re-work the snappy patch into something we *think* upstream might accept ( note, let's do this after we switch to 1.2 ).
3) Why did you remove modemmanager and leave ofono in place? We know that modemmanager works, and we also know that ofono won't work till we re-write the settings plugin.
4) What's the reasoning behind the fix-code- to-build- with-werror. patch? It seems like this is changing a lot of code. Also this may not work with NM1.2, as they've gotten rid of some deprecated code ( eg. dbus-glib ), but not all ( eg. GSimpleAsyncResult ). Does the snap fail to build without this?
Note, I've also cleaned up a lot of ofono unused code in my 1.2 branch.
5) Where did the icon.svg come from? It's *huge* compared to the bluez icon.png ( which is a generic Ubuntu icon ).
6) What's the plan to fix "XXX: hardcode architecture" in wrapper binaries?
7) It looks like you're manually installing the binary wrapper scripts. Have you tested this? I couldn't get bluez to work this way, and ended up modifying yet another core snapcraft library to add the copies in when generating the wrapper scripts.
8) I don't see nmcli?
9) d/p/0002- Force-online- state-with- unmanaged- devices. patch: not re-patched for snappy.
10) 0003-Don- t-setup- Sleep-Monitor- if-not- booted- with-systemd. patch: not applicable for snappy.
11) d/p/0004- Use-symlinks- for-nmtui. patch: have you tested nmtui on snappy?
12) There are bunch of other patches that aren't really applicable to snappy ( eg. whoopsie support, upstart patches, ... ).