This is an automated email from the ASF dual-hosted git repository.
npeltier pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/sling-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 64014e1 some minor fixes to sling pipes documentation
64014e1 is described below
commit 64014e18d21458e50b45de91d277d23c7ffd3ba8
Author: Nicolas Peltier <[email protected]>
AuthorDate: Tue Aug 21 13:59:27 2018 +0200
some minor fixes to sling pipes documentation
---
documentation/bundles/dynamic-includes.html | 146 ++-
.../sling-dynamic-include-processing-flow.png | Bin 0 -> 43920 bytes
.../sling-dynamic-include-processing-flow.svg | 1338 ++++++++++++++++++++
.../bundles/sling-pipes/execution-monitoring.html | 44 +-
4 files changed, 1516 insertions(+), 12 deletions(-)
diff --git a/documentation/bundles/dynamic-includes.html
b/documentation/bundles/dynamic-includes.html
index c1b2a37..f2c0970 100644
--- a/documentation/bundles/dynamic-includes.html
+++ b/documentation/bundles/dynamic-includes.html
@@ -91,12 +91,150 @@
</div><h1 class="pagetitle">
Apache Sling Dynamic Include
</h1><div id="generatedToC"></div><script
src='/res/jquery-3.2.1.min.js' type='text/javascript'></script><script
src='/res/tocjs-1-1-2.js' type='text/javascript'></script><script
type='text/javascript'>$(document).ready(function() {
$('#generatedToC').toc({'selector':'h1[class!=pagetitle],h2,h3'}); } );</script>
-<div class="row"><div class="small-12 columns"><section
class="wrap"><p>Notice: Licensed to the Apache Software Foundation (ASF) under
one or more contributor license agreements. See the NOTICE file distributed
with this work for additional information regarding copyright ownership. The
ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at . http://www.a [...]
-<h1><a href="#sling-dynamic-include-orgapacheslingdynamic-include"
id="sling-dynamic-include-orgapacheslingdynamic-include">Sling Dynamic Include
(org.apache.sling.dynamic-include)</a></h1>
-<p>For now the Sling Dynamic Include documentation can be found <a
href="https://github.com/apache/sling-org-apache-sling-dynamic-include">in the
module's README.md</a>.</p></section></div></div>
+<div class="row"><div class="small-12 columns"><section class="wrap"><h2><a
href="#introduction" id="introduction">Introduction</a></h2>
+<p>This module introduces a Servlet Filter that replaces dynamic components
(eg. current time or foreign exchange rates) with server-side include tags (eg.
<a href="http://httpd.apache.org/docs/current/howto/ssi.html">SSI</a> or <a
href="http://www.w3.org/TR/esi-lang">ESI</a>). Thanks to this approach, the
whole page can be cached by the Dispatcher or a Content Delivery Network while
dynamic components are generated and included with every request. Components to
include in this manner ar [...]
+<p>When the filter intercepts a request for a component with a matching
<code>resourceType</code>, it'll return a server-side include tag (eg.
<code><!--#include virtual="/path/to/resource" --></code> when the Apache
HTTP server with <code>mod_include</code> is used). However, an additional
selector (<code>nocache</code> by default) is inserted into the path. This
serves as a marker for the filter, instructing it to return actual content.</p>
+<p>Components don't have to be modified in order to use this module (or even
be aware of its existence). It's a Servlet Filter, installed as an OSGi bundle
and it can be enabled, disabled or reconfigured at runtime.</p>
+<h2><a href="#prerequisites" id="prerequisites">Prerequisites</a></h2>
+<ul>
+ <li>AEM / Apache Sling 2+</li>
+ <li>Maven 2.x, 3.x</li>
+</ul>
+<h2><a href="#installation" id="installation">Installation</a></h2>
+<p>Add following dependency to your project:</p>
+<pre><code><dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>dynamic-include</artifactId>
+ <version>3.1.2</version>
+</dependency>
+</code></pre>
+<h2><a href="#configuration" id="configuration">Configuration</a></h2>
+<p>The filter is delivered as a standard OSGi bundle. SDI is configured via a
configuration factory called <em>SDI Configuration</em>. The following
properties are available:</p>
+<ul>
+ <li><strong>Enabled</strong> - enable SDI</li>
+ <li><strong>Base path</strong> - This SDI configuration will work only for
paths matching this value. If the value starts with a <code>^</code> character,
regular expression matching (Available since 3.1.0) will be performed.
Otherwise it will try to match the value as a path prefix.</li>
+ <li><strong>Resource types</strong> - specifies which components should be
replaced with tags</li>
+ <li><strong>Include type</strong> - type of the include tag (SSI, ESI or
JavaScript)</li>
+ <li><strong>Add comment</strong> - adds a debug comment: <code><!-- SDI
include (path: %s, resourceType: %s) --></code> to every component
replaced</li>
+ <li><strong>Filter selector</strong> - the selector used in the request to
get actual content</li>
+ <li><strong>Component TTL</strong> - time to live in seconds, set for
rendered component (requires Dispatcher 4.1.11+ or another caching proxy that
respects the <code>max-age</code> directive of the <code>Cache-Control</code>
HTTP header)</li>
+ <li><strong>Required header</strong> - SDI will be enabled only if the
configured header is present in the request. By default it's
<code>Server-Agent=Communique-Dispatcher</code> header, added by the AEM
Dispatcher. You may enter just the header name only or the name and the value
split with <code>=</code>.</li>
+ <li><strong>Ignore URL params</strong> - SDI normally skips all requests
containing any GET parameters. This option allows to set a list of parameters
that should be ignored in the test. See the <a
href="https://docs.adobe.com/docs/en/dispatcher/disp-config.html#Ignoring%20URL%20Parameters">Ignoring
URL parameters</a> section in the dispatcher documentation.</li>
+ <li><strong>Include path rewriting</strong> - enable rewriting link
(according to <a
href="https://sling.apache.org/documentation/the-sling-engine/mappings-for-resource-resolution.html">Sling
mapping</a>) that is used for dynamic content inclusion.</li>
+</ul>
+<h2><a href="#compatibility-with-components"
id="compatibility-with-components">Compatibility with components</a></h2>
+<p>The filter is incompatible with the following types of component:</p>
+<ul>
+ <li>components which handle POST requests or GET parameters (query
strings),</li>
+ <li>synthetic components which use suffixes (because suffix is used to pass
<code>requestType</code> of the synthetic resource).</li>
+</ul>
+<p>If a component does not generate HTML but JSON, binary data or any format
that doesn't allow XML-style comments, make sure to turn off the
<em>Comment</em> option in configuration.</p>
+<h2><a href="#enabling-ssi-in-apache-with-the-aem-dispatcher-module"
id="enabling-ssi-in-apache-with-the-aem-dispatcher-module">Enabling SSI in
Apache with the AEM Dispatcher Module</a></h2>
+<p>One of the most common stacks where SDI proves useful is when the Apache
HTTP server is set up as a caching proxy in front of Adobe Experience Manager
(a Sling-based content management system). A dedicated module called the <a
href="https://helpx.adobe.com/experience-manager/dispatcher/using/dispatcher.html">Dispatcher</a>
is used to serve as the caching layer.</p>
+<p>If you're working with a Sling-based application other than AEM, the
<code>mod_proxy</code> configuration remains relevant. The Dispatcher is
specific to AEM but even if you're using a different caching layer, the changes
you will need to make should be similar in principle to the ones outlined
below.</p>
+<p>This section describes the minimal configuration necessary to use Sling
Dynamic Include in this manner. You will need:</p>
+<ul>
+ <li>Apache HTTP server with <a
href="https://httpd.apache.org/docs/2.4/mod/mod_include.html"><code>mod_include</code></a>
(to process Server Side Includes) and the <a
href="https://helpx.adobe.com/experience-manager/dispatcher/using/dispatcher-install.html#ApacheWebServer">Dispatcher
module</a> (to handle caching)</li>
+ <li>Adobe Experience Manager as a Sling installation to serve your
content</li>
+ <li>SDI installed on the AEM Publish instance</li>
+</ul>
+<p>Start by <a
href="https://helpx.adobe.com/experience-manager/dispatcher/using/dispatcher-install.html#ApacheWebServer">installing
Apache and the Dispatcher</a></p>
+<p>Then, enable <a
href="https://httpd.apache.org/docs/2.4/mod/mod_include.html"><code>mod_include</code></a>
(on Debian: <code>a2enmod include</code>) on Apache. This will allow the
Server-Side Include tags rendered by SDI to be processed.</p>
+<p>After that, find the following lines in the <code>dispatcher.conf</code>
file:</p>
+<pre><code> <IfModule dispatcher_module>
+ SetHandler dispatcher-handler
+ </IfModule>
+</code></pre>
+<p>and modify it as shown below:</p>
+<pre><code> <IfModule dispatcher_module>
+ SetHandler dispatcher-handler
+ </IfModule>
+ SetOutputFilter INCLUDES
+</code></pre>
+<p>Having added the <code>SetOutputFilter</code> directive, open the virtual
host's configuration and add the <code>Includes</code> option to the
<code>Options</code> directive:</p>
+<pre><code> <Directory />
+ Options FollowSymLinks Includes
+ AllowOverride None
+ </Directory>
+ <Directory /var/www/>
+ Options Indexes FollowSymLinks MultiViews Includes
+ AllowOverride None
+ Order allow,deny
+ allow from all
+ </Directory>
+</code></pre>
+<p>It's also a good idea to disable caching for <code>.nocache.html</code>
files in <code>dispatcher.any</code> config file. Just add:</p>
+<pre><code> /disable-nocache
+ {
+ /glob "*.nocache.html*"
+ /type "deny"
+ }
+</code></pre>
+<p>at the end of the <code>/rules</code> section. This way, dynamic components
will not be cached by the Dispatcher. This step may not be necessary if you're
using SDI to optimize the caching of static components.</p>
+<h2><a href="#enabling-ttl-in-dispatcher-4111"
id="enabling-ttl-in-dispatcher-4111">Enabling TTL in dispatcher
4.1.11+</a></h2>
+<p>In order to enable TTL on Apache with the Dispatcher just add:</p>
+<pre><code>/enableTTL "1"
+</code></pre>
+<p>to your Dispatcher configuration.</p>
+<h2><a href="#enabling-esi-in-varnish" id="enabling-esi-in-varnish">Enabling
ESI in Varnish</a></h2>
+<p>Edge Side Includes can be used as an alternative to SSI. ESI tags can be
processed by <a href="https://varnish-cache.org/">Varnish</a> which can be
installed locally and often made available as part of Content Delivery
Networks.</p>
+<p>In order to configure Varnish to work with SDI, add following lines at the
beginning of the <code>vcl_fetch</code> section in your
<code>/etc/varnish/default.vcl</code> file:</p>
+<pre><code> if(req.url ~ "\.nocache.html") {
+ set beresp.ttl = 0s;
+ } else if (req.url ~ "\.html") {
+ set beresp.do_esi = true;
+ }
+</code></pre>
+<p>It'll enable ESI includes in <code>.html</code> files and disable caching
of the <code>.nocache.html</code> files.</p>
+<h2><a href="#javascript-include" id="javascript-include">JavaScript
Include</a></h2>
+<p>The Dynamic Include Filter can also replace dynamic components with script
tags using AJAX so that they are loaded by the browser. It's called JSI. In the
current version of SDI, the jQuery library is used. More attention is required
if the included component renders some JavaScript code. For example, the
Geometrixx Carousel component won't work because its initialization is done in
page's <code><head></code> section while the component itself is still
not loaded.</p>
+<h2><a href="#plain-and-synthetic-resources"
id="plain-and-synthetic-resources">Plain and synthetic resources</a></h2>
+<p>Resources in Apache Sling can be backed by JCR nodes but that's not always
the case. In this section, we will look at the different ways SDI handles
JCR-based resources</p>
+<p>Let's start with an example of a JCR-based component available at some URL,
e.g.</p>
+<pre><code>/content/geometrixx/en/jcr:content/carousel.html
+</code></pre>
+<p>In this case, the component is replaced with an include tag, and the
<code>nocache</code> selector (or its equivalent as per the configuration) is
added to the selector string</p>
+<pre><code><!--#include
virtual="/content/geometrixx/en/jcr:content/carousel.nocache.html" -->
+</code></pre>
+<p>If the filter gets a request with the selector it'll pass it further (using
<code>doChain</code>) without taking any action.</p>
+<p><img
src="http://sling.apache.org/documentation/bundles/sling-dynamic-include/sling-dynamic-include-processing-flow.png"
alt="SDI request processing flow"></p>
+<p>In contrast to the above example, some components are based on so-called
synthetic resources. Synthetic resources have a <code>resourceType</code> and a
path but they're not backed by a node in the JCR.</p>
+<p>One such example is the</p>
+<pre><code>/content/geometrixx/en/jcr:content/userinfo
+</code></pre>
+<p>component with <code>foundation/components/userinfo</code> as the resource
type. These components return an HTTP 404 response if one makes them a target
of an HTTP request. SDI recognizes these components and builds a different
include URL for them in which the resource type is added as a suffix, e.g.:</p>
+<pre><code>/content/geometrixx/en/jcr:content/userinfo.nocache.html/foundation/components/userinfo
+</code></pre>
+<p>When the filter intercepts such a request, it'll try to emulate the
behaviour of a <code><sling:include></code> JSP tag and include the
resource with the given type and a <code>nocache</code> selector:</p>
+<pre><code>/content/geometrixx/en/jcr:content/userinfo.nocache.html
+</code></pre>
+<p>The selector is necessary because without it the filter would replace the
component with an SSI tag again, resulting in an infinite loop leading to an
SSI/ESI processing error.</p>
+<h1><a href="#external-resources" id="external-resources">External
resources</a></h1>
+<ul>
+ <li><a
href="http://www.pro-vision.de/content/medialib/pro-vision/production/adaptto/2012/adaptto2012-sling-dynamic-include-tomasz-rekaweki-pdf/_jcr_content/renditions/rendition.file/adaptto2012-sling-dynamic-include-tomasz-rekaweki.pdf">SDI
presentation</a> on <a
href="http://www.pro-vision.de/de/adaptto/adaptto-2012.html">adaptTo()
2012</a></li>
+ <li><a href="http://www.cognifide.com/blogs/cq/sling-dynamic-include/">SDI
blog</a> post on the Cognifide website</li>
+ <li>See the <a href="http://sling.apache.org/">Apache Sling website</a> for
the Sling reference documentation. Apache Sling, Apache and Sling are
trademarks of the <a href="http://apache.org">Apache Software
Foundation</a>.</li>
+</ul>
+<h1><a href="#release-notes" id="release-notes">Release notes</a></h1>
+<h2><a href="#312" id="312">3.1.2</a></h2>
+<ul>
+ <li>Introduced readable names for SDI configuration entries in the OSGi
console (<a
href="https://issues.apache.org/jira/browse/SLING-7695">SLING-7695</a>)</li>
+ <li>Fixed a bug where the selector configured for use with SDI was added
multiple times to the same selector string (<a
href="https://issues.apache.org/jira/browse/SLING-7742">SLING-7742</a>)</li>
+ <li>Introduced a mechanism that allows synthetic resources included via SDI
to be cached by the AEM Dispatcher (<a
href="https://issues.apache.org/jira/browse/SLING-7785">SLING-7785</a>)</li>
+</ul>
+<h2><a href="#310" id="310">3.1.0</a></h2>
+<ul>
+ <li>Regular expression matching can be used when configuring resource paths
(<a
href="https://issues.apache.org/jira/browse/SLING-7621">SLING-7621</a>)</li>
+</ul>
+<h2><a href="#300" id="300">3.0.0</a></h2>
+<p>Sling Dynamic Include donated to the Apache Sling project (<a
href="https://issues.apache.org/jira/browse/SLING-5594">SLING-5594</a>),
repackaged and released (<a
href="https://issues.apache.org/jira/browse/SLING-6301">SLING-6301</a>)</p>
+<h2><a href="#220" id="220">2.2.0</a></h2>
+<ul>
+ <li>Support for time-based (TTL) caching, Dispatcher 4.1.11+ required</li>
+</ul></section></div></div>
<div class="footer">
<div class="revisionInfo">
- Last modified by <span class="author">Robert
Munteanu</span> on <span class="comment">Wed Nov 22 22:30:38 2017 +0200</span>
+ Last modified by <span class="author">Tomek
Niedzwiedz</span> on <span class="comment">Mon Aug 20 21:32:43 2018 +0200</span>
</div> <p>
Apache Sling, Sling, Apache, the Apache feather logo, and
the Apache Sling project logo are trademarks of The Apache Software Foundation.
All other marks mentioned may be trademarks or registered trademarks of their
respective owners.
</p><p>
diff --git
a/documentation/bundles/sling-dynamic-include/sling-dynamic-include-processing-flow.png
b/documentation/bundles/sling-dynamic-include/sling-dynamic-include-processing-flow.png
new file mode 100644
index 0000000..baa1175
Binary files /dev/null and
b/documentation/bundles/sling-dynamic-include/sling-dynamic-include-processing-flow.png
differ
diff --git
a/documentation/bundles/sling-dynamic-include/sling-dynamic-include-processing-flow.svg
b/documentation/bundles/sling-dynamic-include/sling-dynamic-include-processing-flow.svg
new file mode 100644
index 0000000..e78b776
--- /dev/null
+++
b/documentation/bundles/sling-dynamic-include/sling-dynamic-include-processing-flow.svg
@@ -0,0 +1,1338 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="1289.9971"
+ height="702.15637"
+ viewBox="0 0 341.31172 185.77888"
+ version="1.1"
+ id="svg8"
+ inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+ sodipodi:docname="plain_include.svg"
+ inkscape:export-filename="C:\Users\tomas\Pictures\sdi_diagram_900px.png"
+ inkscape:export-xdpi="67.813957"
+ inkscape:export-ydpi="67.813957">
+ <defs
+ id="defs2">
+ <marker
+ inkscape:stockid="DotM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="DotM"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path948"
+ d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76
2.24,-5 5,-5 2.76,0 5,2.24 5,5 z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(0.4,0,0,0.4,2.96,0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker5211"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path5209"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker5043"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:collect="always">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path5041"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker4059"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path4057"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker3867"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3865"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker3735"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3733"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker3096"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path3094"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker2886"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path2884"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker2070"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:collect="always">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path2068"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker1746"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path1744"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:isstock="true"
+ style="overflow:visible"
+ id="marker1590"
+ refX="0"
+ refY="0"
+ orient="auto"
+ inkscape:stockid="Arrow2Mend"
+ inkscape:collect="always">
+ <path
+ transform="scale(-0.6)"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ id="path1588"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker1518"
+ style="overflow:visible"
+ inkscape:isstock="true"
+ inkscape:collect="always">
+ <path
+ id="path1516"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Send"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path899"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path911"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="marker1360"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path1358"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="EmptyTriangleOutS"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="EmptyTriangleOutS"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path1050"
+ d="M 5.77,0 -2.88,5 V -5 Z"
+
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(0.2,0,0,0.2,-0.6,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path893"
+ d="M 0,0 5,-5 -12.5,0 5,5 Z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Lend"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path905"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c
-1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <marker
+ inkscape:stockid="TriangleOutM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutM"
+ style="overflow:visible"
+ inkscape:isstock="true">
+ <path
+ id="path1029"
+ d="M 5.77,0 -2.88,5 V -5 Z"
+
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
+ transform="scale(0.4)"
+ inkscape:connector-curvature="0" />
+ </marker>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ y2="2241.6899"
+ x2="-1627.5699"
+ y1="2303.8501"
+ x1="-1680.73"
+ id="linear-gradient">
+ <stop
+ id="stop1043"
+ stop-color="#f69923"
+ offset="0" />
+ <stop
+ id="stop1045"
+ stop-color="#f79a23"
+ offset="0.31" />
+ <stop
+ id="stop1047"
+ stop-color="#e97826"
+ offset="0.84" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ y2="2310.7"
+ x2="-1694.9"
+ y1="2310.7"
+ x1="-2074.1201"
+ id="linear-gradient-2">
+ <stop
+ id="stop1050"
+ stop-color="#9e2064"
+ offset="0.32" />
+ <stop
+ id="stop1052"
+ stop-color="#c92037"
+ offset="0.63" />
+ <stop
+ id="stop1054"
+ stop-color="#cd2335"
+ offset="0.75" />
+ <stop
+ id="stop1056"
+ stop-color="#e97826"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ y2="2272.6699"
+ x2="-1802.36"
+ y1="2272.6699"
+ x1="-2028.35"
+ id="linear-gradient-3">
+ <stop
+ id="stop1059"
+ stop-color="#282662"
+ offset="0" />
+ <stop
+ id="stop1061"
+ stop-color="#662e8d"
+ offset="0.1" />
+ <stop
+ id="stop1063"
+ stop-color="#9f2064"
+ offset="0.79" />
+ <stop
+ id="stop1065"
+ stop-color="#cd2032"
+ offset="0.95" />
+ </linearGradient>
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2314.23"
+ x2="-1673.6"
+ y1="2314.23"
+ x1="-2052.8201"
+ id="linear-gradient-4" />
+ <linearGradient
+ xlink:href="#linear-gradient-3"
+ y2="2309.1201"
+ x2="-1825.87"
+ y1="2309.1201"
+ x1="-2025.17"
+ id="linear-gradient-5" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2275"
+ x2="-1673.6"
+ y1="2275"
+ x1="-2052.8201"
+ id="linear-gradient-6" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2276.9399"
+ x2="-1697.12"
+ y1="2276.9399"
+ x1="-2076.3501"
+ id="linear-gradient-7" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2263.3201"
+ x2="-1673.6"
+ y1="2263.3201"
+ x1="-2052.8201"
+ id="linear-gradient-8" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2264.6599"
+ x2="-1673.6"
+ y1="2264.6599"
+ x1="-2052.8201"
+ id="linear-gradient-9" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2264.9299"
+ x2="-1796.49"
+ y1="2264.9299"
+ x1="-1839.78"
+ id="linear-gradient-10" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linear-gradient-2"
+ id="linearGradient1230"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ x1="-2074.1201"
+ y1="2310.7"
+ x2="-1694.9"
+ y2="2310.7" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linear-gradient-3"
+ id="linearGradient1232"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ x1="-2028.35"
+ y1="2272.6699"
+ x2="-1802.36"
+ y2="2272.6699" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ y2="2241.6899"
+ x2="-1627.5699"
+ y1="2303.8501"
+ x1="-1680.73"
+ id="linear-gradient-1">
+ <stop
+ id="stop1043-8"
+ stop-color="#f69923"
+ offset="0" />
+ <stop
+ id="stop1045-0"
+ stop-color="#f79a23"
+ offset="0.31" />
+ <stop
+ id="stop1047-3"
+ stop-color="#e97826"
+ offset="0.84" />
+ </linearGradient>
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2314.23"
+ x2="-1673.6"
+ y1="2314.23"
+ x1="-2052.8201"
+ id="linear-gradient-4-2" />
+ <linearGradient
+ xlink:href="#linear-gradient-3"
+ y2="2309.1201"
+ x2="-1825.87"
+ y1="2309.1201"
+ x1="-2025.17"
+ id="linear-gradient-5-4" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2275"
+ x2="-1673.6"
+ y1="2275"
+ x1="-2052.8201"
+ id="linear-gradient-6-1" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2276.9399"
+ x2="-1697.12"
+ y1="2276.9399"
+ x1="-2076.3501"
+ id="linear-gradient-7-3" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2263.3201"
+ x2="-1673.6"
+ y1="2263.3201"
+ x1="-2052.8201"
+ id="linear-gradient-8-5" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2264.6599"
+ x2="-1673.6"
+ y1="2264.6599"
+ x1="-2052.8201"
+ id="linear-gradient-9-6" />
+ <linearGradient
+ xlink:href="#linear-gradient-2"
+ y2="2264.9299"
+ x2="-1796.49"
+ y1="2264.9299"
+ x1="-1839.78"
+ id="linear-gradient-10-5" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linear-gradient-2"
+ id="linearGradient1516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ x1="-2074.1201"
+ y1="2310.7"
+ x2="-1694.9"
+ y2="2310.7" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linear-gradient-3"
+ id="linearGradient1518"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,-0.01,-0.01,1,-1293.91,-1775)"
+ x1="-2028.35"
+ y1="2272.6699"
+ x2="-1802.36"
+ y2="2272.6699" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="685.1149"
+ inkscape:cy="387.11896"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ units="px"
+ inkscape:object-paths="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1017"
+ inkscape:window-x="1912"
+ inkscape:window-y="226"
+ inkscape:window-maximized="1"
+ inkscape:snap-nodes="true"
+ inkscape:snap-intersection-paths="true"
+ inkscape:snap-midpoints="false"
+ inkscape:object-nodes="true"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0" />
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-80.130954,-57.741057)">
+ <g
+ id="g1210-2"
+ transform="matrix(0.03644311,0,0,0.03644311,382.37568,57.782203)">
+ <path
+ id="path1079-5"
+ style="fill:#00678c"
+ d="M 415.41,427.88 V 255 l -36.64,-0.32 V 443.7 q 0,33.89 24.93,33.89
c 13.7,0 18.88,-5.26 24.53,-15.93 -11.55,-3.51 -12.82,-14.82 -12.82,-33.78 z"
+ inkscape:connector-curvature="0" />
+ <polygon
+ id="polygon1081-4"
+ style="fill:#00678c"
+ points="452.96,350.86 467.98,350.86 467.98,475.36 503.94,475.36
503.94,321.39 452.96,321.39 " />
+ <path
+ id="path1083-1"
+ style="fill:#00678c"
+ d="m 486.3,261.73 a 19.91,19.91 0 0 0 -14.58,6.09 21,21 0 0 0 0,29.47
20.43,20.43 0 0 0 28.89,0.26 l 0.26,-0.26 a 21,21 0 0 0 0,-29.47 19.91,19.91 0
0 0 -14.57,-6.09 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1085-8"
+ style="fill:#00678c"
+ d="m 623.14,317.93 q -28.59,0 -43.25,17 v -14.18 h -32.62 v 152.34 h
35.84 V 363 a 39,39 0 0 1 14.14,-11 38.47,38.47 0 0 1 16.89,-4.42 q 17.08,0
24.65,9 7.57,9 7.52,28.42 v 88 h 35.84 v -93.34 q 0,-29.15 -15.93,-45.44
-15.93,-16.29 -43.08,-16.29 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1087-7"
+ style="fill:#00678c"
+ d="m 346.85,577 -2.77,-0.73 h -0.18 l -1.25,-0.34 c -21.81,-5.87
-37,-11.75 -45.1,-17.46 a 33.85,33.85 0 0 1 -7,-6.59 h -67 V 503.43 A
170.49,170.49 0 0 1 192.09,490.89 V 584 h 185.68 c -4.64,-0.92 -9.31,-1.89
-14,-2.92 -6.19,-1.4 -11.77,-2.73 -16.92,-4.08 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1089-4"
+ style="fill:url(#linear-gradient-1)"
+ d="m 321.72,546.16 c 5.61,4 18.63,8.84 36.46,13.64 l 14.09,-18.15 a
264,264 0 0 1 -35.69,-9.1 l -1.26,-0.43 1.26,0.43 c 3.54,1.14 14.73,4.43
35.49,7.65 -5,-9.83 -14.05,-24.37 -21.89,-36 -22.71,5.71 -29,17.47 -29,17.47
0,0 -11,16.33 0.54,24.49 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1091-9"
+ style="fill:none"
+ d="m 434.78,515.18 a 1.49,1.49 0 0 0 -0.14,-0.19 l 0.79,1.34
0.23,0.19 c -0.29,-0.44 -0.58,-0.89 -0.88,-1.34 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1093-3"
+ style="fill:none"
+ d="m 472.45,510.26 c 0.54,0.73 1,1.48 1.55,2.25 -0.5,-0.77 -1,-1.51
-1.55,-2.25 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1095-6"
+ style="fill:none"
+ d="m 577.47,544.77 -1,0.06 q -10,0.61 -19.52,1.08 -10.69,0.52
-20.78,0.89 -10.65,0.38 -20.62,0.59 -10.49,0.22 -20.27,0.28 -8,0 -15.48,0 l
-5,-0.05 c -3.26,0 -6.44,-0.09 -9.57,-0.15 -2.89,-0.06 -5.71,-0.13 -8.5,-0.21 l
-2.76,-0.09 h -0.44 l 0.67,1.14 -1.46,1.81 h 0.67 q 6.29,0.28 12.66,0.45 l
7.38,0.18 q 10.24,0.22 20.58,0.24 10.34,0.02 20.86,-0.13 10.24,-0.15
20.39,-0.45 c 6.76,-0.2 13.48,-0.43 20.12,-0.71 6.94,-0.29 13.82,-0.63 20.57,-1
l 4.57,-0.25 q 8.19,-0.47 16.13,-1 l 2.31 [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1097-3"
+ style="fill:none"
+ d="M 474.36,513.09 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1099-0"
+ style="fill:#be202e"
+ d="m 492,509.05 c 0.78,1.15 1.6,2.34 2.42,3.56 v 0 c -0.39,-0.62
-0.8,-1.24 -1.2,-1.83 -0.4,-0.59 -0.8,-1.15 -1.22,-1.73 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1101-9"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 492,509.05 c 0.78,1.15 1.6,2.34 2.42,3.56 v 0 c -0.39,-0.62
-0.8,-1.24 -1.2,-1.83 -0.4,-0.59 -0.8,-1.15 -1.22,-1.73 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1103-5"
+ style="fill:#be202e"
+ d="m 474.34,513.07 v 0 0 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58
-0.49,-0.78 -1,-1.54 -1.55,-2.25 l 1.9,2.81 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1105-0"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 474.34,513.07 v 0 0 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58
-0.49,-0.78 -1,-1.54 -1.55,-2.25 l 1.9,2.81 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1107-1"
+ style="fill:url(#linearGradient1516)"
+ d="m 433.13,549 c -6.91,-0.48 -13.72,-1 -20.39,-1.7 q -10.4,-1
-20.33,-2.4 l -1.17,-0.16 c -6.5,-0.91 -12.83,-1.95 -18.95,-3.11 l -14.09,18.16
3.76,1 c 4.8,1.25 9.91,2.47 15.29,3.67 6.07,1.35 12.47,2.67 19.15,3.92
6.16,1.16 12.57,2.26 19.16,3.29 q 8.4,1.33 17.17,2.46 l 0.65,0.08 19.46,-24.12
q -9.99,-0.43 -19.71,-1.09 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1109-6"
+ style="fill:url(#linearGradient1518)"
+ d="m 601.33,543.14 q 8.1,-0.6 16.48,-1.31 h 0.24 l 2.38,-0.2 c
3.77,-0.32 7.15,-0.64 14.85,-1.36 0,-4.53 3.17,-9.58 7,-14.74 a 22.55,22.55 0 0
0 -11.14,13 c -7.51,-18.92 -19.4,-32.77 -36.66,-34.91 a 40.68,40.68 0 0 0
-4.74,-0.31 c 6.45,1.61 10.56,5.34 14,14.33 v 0 0 c -11.58,-10.3 -20,-14.26
-31.79,-15.85 -2.79,-0.37 -5.76,-0.62 -9,-0.78 16.66,6 25.83,17.64 29.54,32.52
l 5.78,9.81 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1111-1"
+ style="fill:url(#linear-gradient-4-2)"
+ d="m 576,548.74 q -10.15,0.55 -20.57,1 -10,0.41 -20.12,0.71
-10.12,0.3 -20.39,0.45 -10.41,0.15 -20.86,0.13 -10.45,-0.02 -20.58,-0.24 l
-7.38,-0.18 q -6.36,-0.19 -12.66,-0.45 h -0.67 l -19.46,24.12 1.31,0.17 c
6.19,0.79 12.49,1.51 18.87,2.13 6.38,0.62 13,1.16 19.53,1.58 q 8.31,0.55
16.65,0.86 l 3.36,0.1 q 10.46,0.29 20,0.1 c 7.19,-0.14 14,-0.47 20.31,-0.94 q
6.27,-0.47 12,-1.1 c 3.25,-0.38 6.47,-0.83 9.68,-1.29 q 11.31,-1.66 22.19,-4.11
l 19.53,-24.22 q -7.93,0.52 -16.13,1 c -1.4 [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1113-8"
+ style="fill:url(#linear-gradient-5-4)"
+ d="m 578.18,571.5 a 214.44,214.44 0 0 0 25.68,-7.57 l 0.87,-0.31 c
-4.61,6.89 -6,20.43 -6,20.38 7.66,-12.68 16.08,-23.48 26.53,-29.23 2.69,3.73
4,9.91 4.55,17.48 3.17,-9.58 2.6,-15.45 2.17,-17.64 3.19,6.05 10.39,10.61
18.27,14.93 -8.2,-7.81 -13.23,-14.82 -14.46,-20.92 28.78,-2.42 60.13,-6
93.19,-10.28 a 8.39,8.39 0 0 0 -7.4,-2.92 c -6,0.81 -45.23,6 -98,10.16 l
-4.53,0.36 -1.27,0.1 c -5.54,0.42 -11.21,0.83 -17,1.22 l -4,0.26 h -0.08 l
-19.5,24.21 c 0.33,-0.09 0.66,-0.15 0.98,-0.23 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1115-4"
+ style="fill:url(#linear-gradient-6-1)"
+ d="m 454,547.16 2.76,0.09 q 4.16,0.12 8.5,0.21 c 3.13,0.06 6.31,0.12
9.57,0.15 l 5,0.05 q 7.52,0.06 15.48,0 9.78,-0.05 20.27,-0.28 10,-0.21
20.62,-0.59 10.09,-0.36 20.78,-0.89 9.53,-0.47 19.52,-1.08 l 1,-0.06 q
9.93,-0.6 20.34,-1.37 h 0.48 l -5.78,-9.81 c 0.06,0.23 0.13,0.43 0.17,0.67
-7.1,-11.64 -23.7,-23.9 -39.86,-29.37 a 107.71,107.71 0 0 0 -24.72,-5
176.41,176.41 0 0 0 -21.88,-0.54 c -6.86,0.22 -14.14,0.75 -21.92,1.6 a
40.76,40.76 0 0 1 7.7,8.16 c 0.41,0.57 0.83,1.16 1.23,1. [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1117-1"
+ style="fill:url(#linear-gradient-7-3)"
+ d="m 372.07,540.2 c 5.72,0.89 12.16,1.77 19.38,2.6 l 1.14,0.13 Q
402,544 413,544.9 c 6.39,0.52 13.2,1 20.47,1.38 q 9.51,0.51 20.07,0.86 l
-18.16,-30.82 c -8.59,-7.49 -14.43,-9.94 -22,-11.47 -2.05,-0.38 -4.19,-0.74
-6.37,-1.06 -6.7,-1 -13.9,-1.68 -20.89,-2 a 186.88,186.88 0 0 0 -19.1,-0.07
87.87,87.87 0 0 0 -9.87,1 c -2.52,0.42 -4.86,0.93 -7.06,1.48 7.91,11.63
16.91,26.17 21.98,36 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1119-0"
+ style="fill:#be202e"
+ d="m 493.23,510.8 c 0.41,0.6 0.81,1.21 1.2,1.83 v 0 C 494,512
493.64,511.4 493.23,510.8 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1121-5"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 493.23,510.8 c 0.41,0.6 0.81,1.21 1.2,1.83 v 0 C 494,512
493.64,511.4 493.23,510.8 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1123-7"
+ style="fill:url(#linear-gradient-8-5)"
+ d="m 493.23,510.8 c 0.41,0.6 0.81,1.21 1.2,1.83 v 0 C 494,512
493.64,511.4 493.23,510.8 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1125-5"
+ style="fill:#be202e"
+ d="m 474.36,513.09 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58 0.13,0.19
0.25,0.38 0.37,0.58 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1127-8"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 474.36,513.09 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58 0.13,0.19
0.25,0.38 0.37,0.58 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1129-4"
+ style="fill:url(#linear-gradient-9-6)"
+ d="m 474.36,513.09 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58 0.13,0.19
0.25,0.38 0.37,0.58 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1131-3"
+ style="fill:#be202e"
+ d="M 474.35,513.08 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1133-5"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="M 474.35,513.08 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1135-0"
+ style="fill:url(#linear-gradient-10-5)"
+ d="M 474.35,513.08 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1137-7"
+ style="fill:none"
+ d="m 792.39,441.82 a 39.59,39.59 0 0 0 31.86,-13.62 c 7.49,-9
11.47,-25.25 11.47,-39.83 a 45,45 0 0 0 -12.39,-31.86 40.7,40.7 0 0 0
-30.94,-13.18 43,43 0 0 0 -32.74,13.18 44.64,44.64 0 0 0 -12.39,32 c 0,14.06
4.22,30.19 12.19,39.43 a 41.62,41.62 0 0 0 32.94,13.88 z"
+ inkscape:connector-curvature="0" />
+ <rect
+ id="rect1139-8"
+ style="fill:none"
+ transform="rotate(90,536,388)"
+ height="1072"
+ width="776"
+ y="-148"
+ x="148" />
+ <rect
+ id="rect1141-9"
+ style="fill:none"
+ transform="rotate(90,536,388)"
+ height="1072"
+ width="776"
+ y="-148"
+ x="148" />
+ <path
+ id="path1143-3"
+ style="fill:#00678c"
+ d="m 815.13,484.79 c -5.77,0.68 -11.51,1.59 -17.24,2.47 -12.74,2
-25.45,4.54 -38.23,6.25 -4,0.52 -9.24,1.08 -11.95,-2.59 -3.78,-5.54 5.93,-11.71
9.28,-14.18 4,-2.95 12.31,-6.61 12.82,-7.13 a 67.43,67.43 0 0 1 7.33,0.52
95.86,95.86 0 0 0 52.41,-8.32 79.66,79.66 0 0 0 18,-11.95 61.61,61.61 0 0 0
13.22,-16.86 92.09,92.09 0 0 0 7.37,-23.58 112.68,112.68 0 0 0 1.63,-25.85
75.07,75.07 0 0 0 -4.5,-21.86 130.22,130.22 0 0 0 -9.16,-17.44 l 19.47,-19.63 V
192 H 268.93 q -33.21,0.68 -54.64 [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1145-0"
+ style="fill:#6d6e71"
+ d="M 918.93,195.74 H 907.7 V 226 h -4 V 195.74 H 892.43 V 192 h 26.5
z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1147-9"
+ style="fill:#6d6e71"
+ d="m 923.68,192 h 6 l 11.52,26.64 h 0.1 L 952.91,192 h 5.86 v 34 h -4
v -28.53 h -0.1 L 942.45,226 H 940 l -12.19,-28.51 h -0.09 V 226 h -4 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g1210"
+ transform="matrix(0.03644311,0,0,0.03644311,145.64587,57.782203)">
+ <path
+ id="path1079"
+ style="fill:#00678c"
+ d="M 415.41,427.88 V 255 l -36.64,-0.32 V 443.7 q 0,33.89 24.93,33.89
c 13.7,0 18.88,-5.26 24.53,-15.93 -11.55,-3.51 -12.82,-14.82 -12.82,-33.78 z"
+ inkscape:connector-curvature="0" />
+ <polygon
+ id="polygon1081"
+ style="fill:#00678c"
+ points="503.94,321.39 452.96,321.39 452.96,350.86 467.98,350.86
467.98,475.36 503.94,475.36 " />
+ <path
+ id="path1083"
+ style="fill:#00678c"
+ d="m 486.3,261.73 a 19.91,19.91 0 0 0 -14.58,6.09 21,21 0 0 0 0,29.47
20.43,20.43 0 0 0 28.89,0.26 l 0.26,-0.26 a 21,21 0 0 0 0,-29.47 19.91,19.91 0
0 0 -14.57,-6.09 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1085"
+ style="fill:#00678c"
+ d="m 623.14,317.93 q -28.59,0 -43.25,17 v -14.18 h -32.62 v 152.34 h
35.84 V 363 a 39,39 0 0 1 14.14,-11 38.47,38.47 0 0 1 16.89,-4.42 q 17.08,0
24.65,9 7.57,9 7.52,28.42 v 88 h 35.84 v -93.34 q 0,-29.15 -15.93,-45.44
-15.93,-16.29 -43.08,-16.29 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1087"
+ style="fill:#00678c"
+ d="m 346.85,577 -2.77,-0.73 h -0.18 l -1.25,-0.34 c -21.81,-5.87
-37,-11.75 -45.1,-17.46 a 33.85,33.85 0 0 1 -7,-6.59 h -67 V 503.43 A
170.49,170.49 0 0 1 192.09,490.89 V 584 h 185.68 c -4.64,-0.92 -9.31,-1.89
-14,-2.92 -6.19,-1.4 -11.77,-2.73 -16.92,-4.08 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1089"
+ style="fill:url(#linear-gradient)"
+ d="m 321.72,546.16 c 5.61,4 18.63,8.84 36.46,13.64 l 14.09,-18.15 a
264,264 0 0 1 -35.69,-9.1 l -1.26,-0.43 1.26,0.43 c 3.54,1.14 14.73,4.43
35.49,7.65 -5,-9.83 -14.05,-24.37 -21.89,-36 -22.71,5.71 -29,17.47 -29,17.47
0,0 -11,16.33 0.54,24.49 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1091"
+ style="fill:none"
+ d="m 434.78,515.18 a 1.49,1.49 0 0 0 -0.14,-0.19 l 0.79,1.34
0.23,0.19 c -0.29,-0.44 -0.58,-0.89 -0.88,-1.34 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1093"
+ style="fill:none"
+ d="m 472.45,510.26 c 0.54,0.73 1,1.48 1.55,2.25 -0.5,-0.77 -1,-1.51
-1.55,-2.25 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1095"
+ style="fill:none"
+ d="m 577.47,544.77 -1,0.06 q -10,0.61 -19.52,1.08 -10.69,0.52
-20.78,0.89 -10.65,0.38 -20.62,0.59 -10.49,0.22 -20.27,0.28 -8,0 -15.48,0 l
-5,-0.05 c -3.26,0 -6.44,-0.09 -9.57,-0.15 -2.89,-0.06 -5.71,-0.13 -8.5,-0.21 l
-2.76,-0.09 h -0.44 l 0.67,1.14 -1.46,1.81 h 0.67 q 6.29,0.28 12.66,0.45 l
7.38,0.18 q 10.24,0.22 20.58,0.24 10.34,0.02 20.86,-0.13 10.24,-0.15
20.39,-0.45 c 6.76,-0.2 13.48,-0.43 20.12,-0.71 6.94,-0.29 13.82,-0.63 20.57,-1
l 4.57,-0.25 q 8.19,-0.47 16.13,-1 l 2.31 [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1097"
+ style="fill:none"
+ d="M 474.36,513.09 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1099"
+ style="fill:#be202e"
+ d="m 492,509.05 c 0.78,1.15 1.6,2.34 2.42,3.56 v 0 c -0.39,-0.62
-0.8,-1.24 -1.2,-1.83 -0.4,-0.59 -0.8,-1.15 -1.22,-1.73 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1101"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 492,509.05 c 0.78,1.15 1.6,2.34 2.42,3.56 v 0 c -0.39,-0.62
-0.8,-1.24 -1.2,-1.83 -0.4,-0.59 -0.8,-1.15 -1.22,-1.73 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1103"
+ style="fill:#be202e"
+ d="m 474.34,513.07 v 0 0 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58
-0.49,-0.78 -1,-1.54 -1.55,-2.25 l 1.9,2.81 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1105"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 474.34,513.07 v 0 0 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58
-0.49,-0.78 -1,-1.54 -1.55,-2.25 l 1.9,2.81 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1107"
+ style="fill:url(#linearGradient1230)"
+ d="m 433.13,549 c -6.91,-0.48 -13.72,-1 -20.39,-1.7 q -10.4,-1
-20.33,-2.4 l -1.17,-0.16 c -6.5,-0.91 -12.83,-1.95 -18.95,-3.11 l -14.09,18.16
3.76,1 c 4.8,1.25 9.91,2.47 15.29,3.67 6.07,1.35 12.47,2.67 19.15,3.92
6.16,1.16 12.57,2.26 19.16,3.29 q 8.4,1.33 17.17,2.46 l 0.65,0.08 19.46,-24.12
q -9.99,-0.43 -19.71,-1.09 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1109"
+ style="fill:url(#linearGradient1232)"
+ d="m 601.33,543.14 q 8.1,-0.6 16.48,-1.31 h 0.24 l 2.38,-0.2 c
3.77,-0.32 7.15,-0.64 14.85,-1.36 0,-4.53 3.17,-9.58 7,-14.74 a 22.55,22.55 0 0
0 -11.14,13 c -7.51,-18.92 -19.4,-32.77 -36.66,-34.91 a 40.68,40.68 0 0 0
-4.74,-0.31 c 6.45,1.61 10.56,5.34 14,14.33 v 0 0 c -11.58,-10.3 -20,-14.26
-31.79,-15.85 -2.79,-0.37 -5.76,-0.62 -9,-0.78 16.66,6 25.83,17.64 29.54,32.52
l 5.78,9.81 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1111"
+ style="fill:url(#linear-gradient-4)"
+ d="m 576,548.74 q -10.15,0.55 -20.57,1 -10,0.41 -20.12,0.71
-10.12,0.3 -20.39,0.45 -10.41,0.15 -20.86,0.13 -10.45,-0.02 -20.58,-0.24 l
-7.38,-0.18 q -6.36,-0.19 -12.66,-0.45 h -0.67 l -19.46,24.12 1.31,0.17 c
6.19,0.79 12.49,1.51 18.87,2.13 6.38,0.62 13,1.16 19.53,1.58 q 8.31,0.55
16.65,0.86 l 3.36,0.1 q 10.46,0.29 20,0.1 c 7.19,-0.14 14,-0.47 20.31,-0.94 q
6.27,-0.47 12,-1.1 c 3.25,-0.38 6.47,-0.83 9.68,-1.29 q 11.31,-1.66 22.19,-4.11
l 19.53,-24.22 q -7.93,0.52 -16.13,1 c -1.4 [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1113"
+ style="fill:url(#linear-gradient-5)"
+ d="m 578.18,571.5 a 214.44,214.44 0 0 0 25.68,-7.57 l 0.87,-0.31 c
-4.61,6.89 -6,20.43 -6,20.38 7.66,-12.68 16.08,-23.48 26.53,-29.23 2.69,3.73
4,9.91 4.55,17.48 3.17,-9.58 2.6,-15.45 2.17,-17.64 3.19,6.05 10.39,10.61
18.27,14.93 -8.2,-7.81 -13.23,-14.82 -14.46,-20.92 28.78,-2.42 60.13,-6
93.19,-10.28 a 8.39,8.39 0 0 0 -7.4,-2.92 c -6,0.81 -45.23,6 -98,10.16 l
-4.53,0.36 -1.27,0.1 c -5.54,0.42 -11.21,0.83 -17,1.22 l -4,0.26 h -0.08 l
-19.5,24.21 c 0.33,-0.09 0.66,-0.15 0.98,-0.23 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1115"
+ style="fill:url(#linear-gradient-6)"
+ d="m 454,547.16 2.76,0.09 q 4.16,0.12 8.5,0.21 c 3.13,0.06 6.31,0.12
9.57,0.15 l 5,0.05 q 7.52,0.06 15.48,0 9.78,-0.05 20.27,-0.28 10,-0.21
20.62,-0.59 10.09,-0.36 20.78,-0.89 9.53,-0.47 19.52,-1.08 l 1,-0.06 q
9.93,-0.6 20.34,-1.37 h 0.48 l -5.78,-9.81 c 0.06,0.23 0.13,0.43 0.17,0.67
-7.1,-11.64 -23.7,-23.9 -39.86,-29.37 a 107.71,107.71 0 0 0 -24.72,-5
176.41,176.41 0 0 0 -21.88,-0.54 c -6.86,0.22 -14.14,0.75 -21.92,1.6 a
40.76,40.76 0 0 1 7.7,8.16 c 0.41,0.57 0.83,1.16 1.23,1. [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1117"
+ style="fill:url(#linear-gradient-7)"
+ d="m 372.07,540.2 c 5.72,0.89 12.16,1.77 19.38,2.6 l 1.14,0.13 Q
402,544 413,544.9 c 6.39,0.52 13.2,1 20.47,1.38 q 9.51,0.51 20.07,0.86 l
-18.16,-30.82 c -8.59,-7.49 -14.43,-9.94 -22,-11.47 -2.05,-0.38 -4.19,-0.74
-6.37,-1.06 -6.7,-1 -13.9,-1.68 -20.89,-2 a 186.88,186.88 0 0 0 -19.1,-0.07
87.87,87.87 0 0 0 -9.87,1 c -2.52,0.42 -4.86,0.93 -7.06,1.48 7.91,11.63
16.91,26.17 21.98,36 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1119"
+ style="fill:#be202e"
+ d="m 493.23,510.8 c 0.41,0.6 0.81,1.21 1.2,1.83 v 0 C 494,512
493.64,511.4 493.23,510.8 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1121"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 493.23,510.8 c 0.41,0.6 0.81,1.21 1.2,1.83 v 0 C 494,512
493.64,511.4 493.23,510.8 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1123"
+ style="fill:url(#linear-gradient-8)"
+ d="m 493.23,510.8 c 0.41,0.6 0.81,1.21 1.2,1.83 v 0 C 494,512
493.64,511.4 493.23,510.8 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1125"
+ style="fill:#be202e"
+ d="m 474.36,513.09 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58 0.13,0.19
0.25,0.38 0.37,0.58 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1127"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="m 474.36,513.09 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58 0.13,0.19
0.25,0.38 0.37,0.58 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1129"
+ style="fill:url(#linear-gradient-9)"
+ d="m 474.36,513.09 c -0.12,-0.2 -0.24,-0.38 -0.37,-0.58 0.13,0.19
0.25,0.38 0.37,0.58 z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1131"
+ style="fill:#be202e"
+ d="M 474.35,513.08 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1133"
+ style="opacity:0.35;isolation:isolate;fill:#be202e"
+ d="M 474.35,513.08 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1135"
+ style="fill:url(#linear-gradient-10)"
+ d="M 474.35,513.08 Z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1137"
+ style="fill:none"
+ d="m 792.39,441.82 a 39.59,39.59 0 0 0 31.86,-13.62 c 7.49,-9
11.47,-25.25 11.47,-39.83 a 45,45 0 0 0 -12.39,-31.86 40.7,40.7 0 0 0
-30.94,-13.18 43,43 0 0 0 -32.74,13.18 44.64,44.64 0 0 0 -12.39,32 c 0,14.06
4.22,30.19 12.19,39.43 a 41.62,41.62 0 0 0 32.94,13.88 z"
+ inkscape:connector-curvature="0" />
+ <rect
+ id="rect1139"
+ style="fill:none"
+ transform="rotate(90,536,388)"
+ height="1072"
+ width="776"
+ y="-148"
+ x="148" />
+ <rect
+ id="rect1141"
+ style="fill:none"
+ transform="rotate(90,536,388)"
+ height="1072"
+ width="776"
+ y="-148"
+ x="148" />
+ <path
+ id="path1143"
+ style="fill:#00678c"
+ d="m 815.13,484.79 c -5.77,0.68 -11.51,1.59 -17.24,2.47 -12.74,2
-25.45,4.54 -38.23,6.25 -4,0.52 -9.24,1.08 -11.95,-2.59 -3.78,-5.54 5.93,-11.71
9.28,-14.18 4,-2.95 12.31,-6.61 12.82,-7.13 a 67.43,67.43 0 0 1 7.33,0.52
95.86,95.86 0 0 0 52.41,-8.32 79.66,79.66 0 0 0 18,-11.95 61.61,61.61 0 0 0
13.22,-16.86 92.09,92.09 0 0 0 7.37,-23.58 112.68,112.68 0 0 0 1.63,-25.85
75.07,75.07 0 0 0 -4.5,-21.86 130.22,130.22 0 0 0 -9.16,-17.44 l 19.47,-19.63 V
192 H 268.93 q -33.21,0.68 -54.64 [...]
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1145"
+ style="fill:#6d6e71"
+ d="M 918.93,195.74 H 907.7 V 226 h -4 V 195.74 H 892.43 V 192 h 26.5
z"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path1147"
+ style="fill:#6d6e71"
+ d="m 923.68,192 h 6 l 11.52,26.64 h 0.1 L 952.91,192 h 5.86 v 34 h -4
v -28.53 h -0.1 L 942.45,226 H 940 l -12.19,-28.51 h -0.09 V 226 h -4 z"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+
style="fill:none;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 80.130954,57.741057 H 404.81251"
+ id="path815"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path817"
+ d="M 80.130954,237.65781 H 404.81251"
+
style="fill:none;stroke:none;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
/>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot5719"
+
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ transform="matrix(0.26458334,0,0,0.26458334,0,11.249983)"><flowRegion
+ id="flowRegion5721"><rect
+ id="rect5723"
+ width="120.20815"
+ height="75.761444"
+ x="458.60925"
+ y="475.92877" /></flowRegion><flowPara
+ id="flowPara5725" /></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot5735"
+
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ transform="matrix(0.26458334,0,0,0.26458334,0,11.249983)"><flowRegion
+ id="flowRegion5737"><rect
+ id="rect5739"
+ width="129.29953"
+ height="90.913727"
+ x="465.68033"
+ y="463.80695" /></flowRegion><flowPara
+ id="flowPara5741">Request ina</flowPara></flowRoot> <flowRoot
+ xml:space="preserve"
+ id="flowRoot5743"
+
style="font-style:normal;font-weight:normal;font-size:18.66666603px;line-height:1.25;font-family:sans-serif;text-align:justify;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
+ transform="matrix(0.26458334,0,0,0.26458334,0,11.249983)"><flowRegion
+ id="flowRegion5745"
+
style="font-size:18.66666603px;text-align:justify;text-anchor:start"><rect
+ id="rect5747"
+ width="119.198"
+ height="101.01525"
+ x="466.69049"
+ y="449.66483"
+
style="font-size:18.66666603px;text-align:justify;text-anchor:start"
/></flowRegion><flowPara
+ id="flowPara5749" /></flowRoot> <path
+
style="fill:none;stroke:#000000;stroke-width:0.73497576;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.46995155,
2.9399031;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 112.26268,89.261038 V 243.51993"
+ id="path819"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path821"
+ d="M 165.17938,89.261038 V 243.51993"
+
style="fill:none;stroke:#000000;stroke-width:0.73497576;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.46995155,
2.9399031;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+
style="fill:none;stroke:#000000;stroke-width:0.73497576;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.46995155,
2.9399031;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 350.38783,89.261038 V 243.51993"
+ id="path823"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path825"
+ d="M 403.30453,89.261038 V 243.51993"
+
style="fill:none;stroke:#000000;stroke-width:0.73497576;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.46995155,
2.9399031;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ x="340.46848"
+ y="75.653893"
+ id="text869"><tspan
+ sodipodi:role="line"
+ id="tspan867"
+ x="340.46848"
+ y="75.653893"
+ style="stroke-width:0.26458335">SDI</tspan></text>
+ <image
+ y="65.994461"
+ x="90.767097"
+ id="image879"
+
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB9AAAAIMCAYAAACt/DeKAAAABmJLR0QA/wD/AP+gvaeTAAAgAElE
QVR4nOzdeXxU1d0/8M/3zoSwCK6IKyCGBIiibfzVqthixa0uVWmwrlWfp9jax1qqAmqLVzYJUG3V
1qqtIrjnUetat1bqgvqodU0CMSIqLrixCYRk5nx/fwwhmWTuzL03M3fuTD7vV6vJzPmec2YmuYn5
zDlHQERERERERERERJRlNmyrZGTLIEvNbsbozhDsCJgdYWRHCHYUYAcAAwHsCGDA1kJBVBX90eGG
TloAbOjw+WZAv1ZYq9XSry3FalV8rRZWi+rXovI1IpGPWuObP7Mbf/9lrh4vERERERWHLr99EhER
EREREREREWVyY9XEkq/X7DBESnRvNbo3oGUAhgLYFbD2BHSQAlE/fWvSZy7/hCmd61 [...]
+ preserveAspectRatio="none"
+ height="11.263686"
+ width="42.991173" />
+ <path
+ sodipodi:nodetypes="cc"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1518)"
+ d="m 120.76715,112.88718 35.90776,-0.18899"
+ id="path882"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path1586"
+ d="m 120.76715,192.26222 h 35.90776"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1590)"
/>
+ <path
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1746)"
+ d="m 358.8923,202.84556 h 35.90776"
+ id="path1742"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path2066"
+ d="M 173.68385,118.17885 H 341.88317"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2070)"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2886)"
+ d="M 173.68385,197.55389 H 341.88317"
+ id="path2882"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3731"
+ d="M 396.00008,218.72057 H 360.09232"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3735)"
/>
+ <path
+ inkscape:connector-curvature="0"
+ id="path3863"
+ d="M 341.88317,224.01224 H 174.88387"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3867)"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4059)"
+ d="M 341.88317,144.63719 H 174.88387"
+ id="path4055"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ x="124.72693"
+ y="108.87814"
+ id="text4219"><tspan
+ sodipodi:role="line"
+ id="tspan4217"
+ x="124.72693"
+ y="108.87814"
+ style="font-size:4.93888903px;stroke-width:0.26458335">Get
page</tspan></text>
+ <text
+ id="text4223"
+ y="109.09707"
+ x="184.81158"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ xml:space="preserve"><tspan
+ style="font-size:4.93888903px;stroke-width:0.26458335"
+ y="109.09707"
+ x="184.81158"
+ id="tspan4221"
+ sodipodi:role="line">Filter the include sub-request</tspan></text>
+ <text
+ xml:space="preserve"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ x="183.52621"
+ y="114.75807"
+ id="text4229"><tspan
+ sodipodi:role="line"
+ id="tspan4227"
+ x="183.52621"
+ y="114.75807"
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:'Lucida
Console';-inkscape-font-specification:'Lucida
Console';stroke-width:0.26458335">/content/.../_jcr_content/carousel.html</tspan></text>
+ <text
+ id="text4233"
+ y="139.61278"
+ x="183.52621"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ xml:space="preserve"><tspan
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888903px;font-family:'Lucida
Console';-inkscape-font-specification:'Lucida Console';stroke-width:0.26458335"
+ y="139.61278"
+ x="183.52621"
+ id="tspan4231"
+ sodipodi:role="line"><!--include
/content/.../carousel.nocache.html --></tspan></text>
+ <path
+ inkscape:connector-curvature="0"
+ id="path5039"
+ d="M 156.67491,149.92886 H 120.76715"
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5043)"
+ sodipodi:nodetypes="cc" />
+ <path
+
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5211)"
+ d="M 156.67491,229.30391 H 121.96717"
+ id="path5207"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ id="text5689"
+ y="145.91978"
+ x="124.72693"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ xml:space="preserve"><tspan
+ style="font-size:4.93888903px;stroke-width:0.26458335"
+ y="145.91978"
+ x="124.72693"
+ id="tspan5687"
+ sodipodi:role="line">Content</tspan></text>
+ <text
+ xml:space="preserve"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ x="211.26994"
+ y="133.96788"
+ id="text5693"><tspan
+ sodipodi:role="line"
+ id="tspan5691"
+ x="211.26994"
+ y="133.96788"
+ style="font-size:4.93888903px;stroke-width:0.26458335">Render an
include tag in place of the component</tspan></text>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot5751"
+
style="font-style:normal;font-weight:normal;font-size:40px;line-height:0.5;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+
transform="matrix(0.26458334,0,0,0.26458334,-63.163573,54.262553)"><flowRegion
+ id="flowRegion5753"
+ style="line-height:0.5"><rect
+ id="rect5755"
+ width="107.07615"
+ height="73.741142"
+ x="713.16772"
+ y="434.51251"
+ style="line-height:0.5" /></flowRegion><flowPara
+ id="flowPara5757"
+
style="font-size:18.66666603px;line-height:0.5;text-align:justify;text-anchor:start">Request
included component</flowPara></flowRoot> <text
+ xml:space="preserve"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ x="184.81158"
+ y="193.76373"
+ id="text5761"><tspan
+ sodipodi:role="line"
+ id="tspan5759"
+ x="184.81158"
+ y="193.76373"
+ style="font-size:4.93888903px;stroke-width:0.26458335">Filter the
request</tspan></text>
+ <text
+ id="text5765"
+ y="199.0554"
+ x="360.49472"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ xml:space="preserve"><tspan
+ style="font-size:4.93888903px;stroke-width:0.26458335"
+ y="199.0554"
+ x="360.49472"
+ id="tspan5763"
+ sodipodi:role="line">Pass through</tspan></text>
+ <text
+ id="text5769"
+ y="220.22209"
+ x="184.81158"
+
style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ xml:space="preserve"><tspan
+ style="font-size:4.93888903px;stroke-width:0.26458335"
+ y="220.22209"
+ x="184.81158"
+ id="tspan5767"
+ sodipodi:role="line">Component content</tspan></text>
+ <flowRoot
+ transform="matrix(0.26458334,0,0,0.26458334,-63.698112,103.75844)"
+
style="font-style:normal;font-weight:normal;font-size:40px;line-height:0.5;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+ id="flowRoot5777"
+ xml:space="preserve"><flowRegion
+ style="line-height:0.5"
+ id="flowRegion5773"><rect
+ style="line-height:0.5"
+ y="434.51251"
+ x="713.16772"
+ height="73.741142"
+ width="107.07615"
+ id="rect5771" /></flowRegion><flowPara
+
style="font-size:18.66666603px;line-height:0.5;text-align:justify;text-anchor:start"
+ id="flowPara5775">Content</flowPara></flowRoot> <g
+ id="g5789"
+ transform="translate(2.0501918,30.183633)">
+ <path
+ inkscape:connector-curvature="0"
+ id="rect5779"
+ d="m 179.34782,138.51912 h 142.96925 l 2.13816,3.3309 v 4.93452 H
179.34782 v -4.13271 z"
+
style="fill:none;fill-opacity:0.96802153;stroke:#000000;stroke-width:0.54910499;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ sodipodi:nodetypes="ccccccc" />
+ <text
+ id="text5783"
+ y="144.12181"
+ x="181.20874"
+
style="font-style:normal;font-weight:normal;font-size:4.93888903px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335"
+ xml:space="preserve"><tspan
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'Lucida
Console';-inkscape-font-specification:'Lucida Console';stroke-width:0.26458335"
+ y="144.12181"
+ x="181.20874"
+ id="tspan5781"
+
sodipodi:role="line">/content/.../_jcr_content/carousel.nocache.html</tspan></text>
+ </g>
+ <path
+
style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916667,
1.05833334;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#DotM)"
+ d="m 150.00915,173.17175 h 31.38886"
+ id="path5803"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <rect
+
style="fill:#00678c;fill-opacity:0.99754902;stroke:none;stroke-width:0.75527537;stroke-miterlimit:4;stroke-dasharray:1.51055063,
3.02110127;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect827"
+ width="17.008928"
+ height="50.648811"
+ x="103.75822"
+ y="103.62414"
+ ry="0"
+ rx="0" />
+ <rect
+ rx="0"
+ ry="0"
+ y="182.99915"
+ x="103.75822"
+ height="50.648811"
+ width="17.008928"
+ id="rect840"
+
style="fill:#00678c;fill-opacity:0.99754902;stroke:none;stroke-width:0.75527537;stroke-miterlimit:4;stroke-dasharray:1.51055063,
3.02110127;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ rx="0"
+ ry="0"
+ y="106.55873"
+ x="156.67491"
+ height="45.837959"
+ width="17.008928"
+ id="rect842"
+
style="fill:#f08924;fill-opacity:0.9846122;stroke:none;stroke-width:0.71851087;stroke-miterlimit:4;stroke-dasharray:1.4370216,
2.87404322;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+
style="fill:#f08924;fill-opacity:0.9846122;stroke:none;stroke-width:0.70583057;stroke-miterlimit:4;stroke-dasharray:1.4116611,
2.8233222;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect844"
+ width="17.008928"
+ height="44.234344"
+ x="156.67491"
+ y="187.26469"
+ ry="0"
+ rx="0" />
+ <rect
+
style="fill:#bd2042;fill-opacity:0.99116971;stroke:none;stroke-width:0.68856043;stroke-miterlimit:4;stroke-dasharray:1.37712079,
2.75424159;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect846"
+ width="17.008928"
+ height="42.096188"
+ x="341.88318"
+ y="110.54629"
+ ry="0"
+ rx="0" />
+ <rect
+ rx="0"
+ ry="0"
+ y="188.60643"
+ x="341.88318"
+ height="40.492569"
+ width="17.008928"
+ id="rect848"
+
style="fill:#bd2042;fill-opacity:0.99116971;stroke:none;stroke-width:0.67531806;stroke-miterlimit:4;stroke-dasharray:1.35063601,
2.70127202;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+
style="fill:#862675;fill-opacity:0.96802153;stroke:none;stroke-width:0.61952436;stroke-miterlimit:4;stroke-dasharray:1.23904862,
2.47809724;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect852"
+ width="17.008928"
+ height="34.078102"
+ x="394.79974"
+ y="193.40114"
+ ry="0"
+ rx="0" />
+ </g>
+</svg>
diff --git a/documentation/bundles/sling-pipes/execution-monitoring.html
b/documentation/bundles/sling-pipes/execution-monitoring.html
index 818d2e6..72561ea 100644
--- a/documentation/bundles/sling-pipes/execution-monitoring.html
+++ b/documentation/bundles/sling-pipes/execution-monitoring.html
@@ -147,8 +147,36 @@
</tr>
</tbody>
</table>
-<h3><a href="#java" id="java">Java</a></h3>
-<p><code>Plumber</code> is an osgi service you can access that will help you
registering a pipe (must implement Pipe interface, and would better extend
BasePipe class), and get a pipe from a resource (assuming you have a <a
href="/documentation/bundles/sling-pipes/execution-monitoring.html#jcr-persistence-of-a-pipe">pipe
configuration JCR</a> tree already set)</p>
+<h3><a href="#plumber-service" id="plumber-service">Plumber Service</a></h3>
+<p><code>Plumber</code> is an osgi service that is the one and only entry
point for any sling pipes java API. It exposes following osgi
configuration:</p>
+<table>
+ <thead>
+ <tr>
+ <th> Field </th>
+ <th> Explanation </th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td> <code>bufferSize</code> </td>
+ <td> Number of iterations after which plumber should saves a pipe execution
(defaults to 1000) </td>
+ </tr>
+ <tr>
+ <td> <code>sleep</code> </td>
+ <td> Number of milliseconds of sleep after each persistence (defaults to
0) </td>
+ </tr>
+ <tr>
+ <td> <code>serviceUser</code> </td>
+ <td> Name of service user, with appropriate rights, that will be used
for any activity not triggered by users (async execution, JMX monitoring, ...)
(no service user is provided by default) </td>
+ </tr>
+ <tr>
+ <td> <code>authorizedUsers</code> </td>
+ <td> Users allowed to register async pipes (defaults to ['admin']) </td>
+ </tr>
+ </tbody>
+</table>
+<h3><a href="#raw-java-api" id="raw-java-api">Raw Java API</a></h3>
+<p><code>Plumber</code> offers java API for registering a pipe (must implement
Pipe interface, and would better extend BasePipe class), and get a pipe from a
resource (assuming you have a <a
href="/documentation/bundles/sling-pipes/execution-monitoring.html#jcr-persistence-of-a-pipe">pipe
configuration JCR</a> tree already set)</p>
<pre><code> Pipe pipe = plumber.getPipe(resource);
</code></pre>
<p>Once the pipe is obtained, you can just iterate through the output of it by
retrieving it's output</p>
@@ -156,9 +184,9 @@
</code></pre>
<p>Be aware that if the pipe is modifying content, you might need to save
it.</p>
<p>You can encapsulate the whole execution of a pipe through the
<code>execute</code> methods that are used internally by both Pipe Builder and
HTTP APIs.</p>
-<h3><a href="#pipe-builder-api" id="pipe-builder-api">Pipe Builder
API</a></h3>
-<p>Plumber osgi service provides PipeBuilder with
<code>newPipe(ResourceResolver resolver)</code> API, that gives a fluent API to
quickly configure and run pipes. e.g.</p>
-<pre><code>plumber.newPipe(resolver).xpath('//element(*,nt:unstructured)[@sling:resourceType='to/delete']").rm().run();
+<h3><a href="#pipe-builder-java-api" id="pipe-builder-java-api">Pipe Builder
Java API</a></h3>
+<p><code>Plumber</code> also provides PipeBuilder with
<code>newPipe(ResourceResolver resolver)</code> API, that gives a fluent API to
quickly configure and run pipes. e.g.</p>
+<pre><code>plumber.newPipe(resolver).xpath('//element(*,nt:unstructured)[@sling:resourceType="to/delete"]').rm().run();
</code></pre>
<p>will search for resource of type <code>to/delete</code> and remove
them.</p>
<p>PipeBuilder will configure a container pipe, chaining pipes you can
configure with a fluent API. This works pretty well with a groovy console just
by entering following set of instruction</p>
@@ -204,7 +232,7 @@
</table>
<p>note that that configuration part has shortcuts for some pipes. Typically,
above sample is a shorter equivalent of</p>
<pre><code> plumber.newPipe(resolver)
-
.pipe('slingPipes/xpath').expr('//element(*,nt:unstructured)[@sling:resourceType='to/delete']")
+
.pipe('slingPipes/xpath').expr('//element(*,nt:unstructured)[@sling:resourceType="to/delete"]')
.pipe('slingPipes/rm').run();
</code></pre>
<p>when available, shortcuts will be specified next to each pipe type
documentation, for</p>
@@ -272,7 +300,7 @@
</tr>
</tbody>
</table>
-<h5><a href="#pipe-http-request-parameter"
id="pipe-http-request-parameter">Pipe HTTP Request parameter</a></h5>
+<h4><a href="#pipe-http-request-parameter"
id="pipe-http-request-parameter">Pipe HTTP Request parameter</a></h4>
<table>
<thead>
<tr>
@@ -335,7 +363,7 @@
.parent("my:Page")
</code></pre>
<h3><a href="#jmx" id="jmx">JMX</a></h3>
-<p>as soon as you add <code>monitored=true</code> flag to a pipe
configuration, you'll make the given pipe monitored by JMX, giving stats,
status, and an entry point to execute it. Note that if you don't see the pipe
you just added, you might have to refresh monitored pipes by hitting the
related button in plumber mbean.</p></section></div></div>
+<p>as soon as you add <code>monitored=true</code> flag to a pipe node,
assuming you <a href="#plumber-service-1">configured a service user</a> with
appropriate rights, you'll make the given pipe monitored by JMX, giving stats,
status, and an entry point to execute it. Note that if you don't see the pipe
you just added, you might have to refresh monitored pipes by hitting the
related button in plumber mbean.</p></section></div></div>
<div class="footer">
<div class="revisionInfo">
Last modified by <span class="author">Konrad
Windszus</span> on <span class="comment">Fri Jul 13 11:08:10 2018 +0200</span>