You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by tz...@apache.org on 2020/03/26 14:00:22 UTC

[flink-statefun] 04/13: [FLINK-16758][docs] Port concepts material

This is an automated email from the ASF dual-hosted git repository.

tzulitai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-statefun.git

commit 95e033404a73cc1b95f2aeb00e1120bbce444b96
Author: Seth Wiesman <sj...@gmail.com>
AuthorDate: Tue Mar 24 10:58:51 2020 -0500

    [FLINK-16758][docs] Port concepts material
---
 docs/concepts/application-building-blocks.md       |  90 +++
 docs/concepts/index.md                             |  28 +
 docs/concepts/logical.md                           |  68 ++
 docs/fig/concepts/address.svg                      | 171 +++++
 docs/fig/concepts/statefun-app-blob-storage.svg    | 667 ++++++++++++++++++++
 docs/fig/concepts/statefun-app-egress.svg          | 667 ++++++++++++++++++++
 docs/fig/concepts/statefun-app-fault-tolerance.svg | 687 +++++++++++++++++++++
 docs/fig/concepts/statefun-app-functions.svg       | 667 ++++++++++++++++++++
 docs/fig/concepts/statefun-app-ingress.svg         | 667 ++++++++++++++++++++
 docs/fig/concepts/statefun-app-state.svg           | 687 +++++++++++++++++++++
 docs/fig/concepts/statefun-app.svg                 | 663 ++++++++++++++++++++
 11 files changed, 5062 insertions(+)

diff --git a/docs/concepts/application-building-blocks.md b/docs/concepts/application-building-blocks.md
new file mode 100644
index 0000000..96a8461
--- /dev/null
+++ b/docs/concepts/application-building-blocks.md
@@ -0,0 +1,90 @@
+---
+title: Application Building Blocks 
+nav-id: building-blocks
+nav-pos: 1
+nav-title: Application Building Blocks
+nav-parent_id: concepts
+---
+<!--
+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.
+-->
+
+Stateful Functions provides a framework for building event drivent applications. Here, we explain important aspects of Stateful Function’s architecture.
+
+* This will be replaced by the TOC
+{:toc}
+
+## Event Ingress
+
+Stateful Function applications sit squarely in the event driven space, so the natural place to start is with getting events into the system.
+
+<p class="text-center">
+    <img width="80%" src="{{ site.baseurl }}/fig/concepts/statefun-app-ingress.svg"/>
+</p>
+
+In stateful functions, the component that ingests records into the system is called an event ingress.
+This can be anything from a Kafka topic, to a messsage queue, to an http request - anything that can get data into the system and trigger the intitial functions to begin computation.
+
+## Stateful Functions
+
+At the core of the diagram are the namesake stateful functions.
+
+<p class="text-center">
+	<img width="80%" src="{{ site.baseurl }}/fig/concepts/statefun-app-functions.svg"/>
+</p>
+
+Think of these as the building blocks for your service.
+They can message each other arbitrarily, which is one way in which this framework moves away from the traditional stream processing view of the world.
+Instead of building up a static dataflow DAG, these functions can communicate with each other in arbitrary, potentially cyclic, even round trip ways.
+
+If you are familiar with actor programming, this does share certain similarities in its ability to dynamically message between components.
+However, there are a number of significant differences.
+
+## Persisted States
+
+The first is that all functions have locally embedded state, known as persisted states.
+
+<p class="text-center">
+	<img width="80%" src="{{ site.baseurl }}/fig/concepts/statefun-app-state.svg"/>
+</p>
+
+One of Apache Flink's core strengths is its ability to provide fault-tolerant local state.
+When inside a function, while it is performing some computation, you are always working with local state in local variables.
+
+## Fault Tolerance
+
+For both state and messaging, Stateful Function's is still able to provide the exactly-once guarantees users expect from a modern data processessing framework.
+
+<p class="text-center">
+    <img width="80%" src="{{ site.baseurl }}/fig/concepts/statefun-app-fault-tolerance.svg"/>
+</p>
+
+In the case of failure, the entire state of the world (both persisted states and messages) are rolled back to simulate completely failure free execution.
+
+These guarantees are provided with no database required, instead Stateful Function's leverages Apache Flink's proven snapshotting mechanism.
+
+## Event Egress
+
+Finally, applications can output data to external systems via event egress's.
+
+<p class="text-center">
+    <img width="80%" src="{{ site.baseurl }}/fig/concepts/statefun-app-egress.svg"/>
+</p>
+
+Of course, functions perform arbitrary computation and can do whatever they like, which includes making RPC calls and connecting to other systems.
+By using an event egress, applications can leverage pre-built integrations built on-top of the Apache Flink connector ecosystem.
diff --git a/docs/concepts/index.md b/docs/concepts/index.md
new file mode 100644
index 0000000..f95bf91
--- /dev/null
+++ b/docs/concepts/index.md
@@ -0,0 +1,28 @@
+---
+title: Concepts
+nav-id: concepts
+nav-pos: 2
+nav-title: '<i class="fa fa-map-o title appetizer" aria-hidden="true"></i> Concepts'
+nav-parent_id: root
+nav-show_overview: false 
+permalink: /concepts/index.html
+always-expand: true
+---
+<!--
+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.
+-->
diff --git a/docs/concepts/logical.md b/docs/concepts/logical.md
new file mode 100644
index 0000000..7601b6e
--- /dev/null
+++ b/docs/concepts/logical.md
@@ -0,0 +1,68 @@
+---
+title: Logical Functions 
+nav-id: logical-functions
+nav-pos: 2
+nav-title: Logical Functions
+nav-parent_id: concepts
+---
+<!--
+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.
+-->
+
+Stateful Function's are allocated logically, which means the system can support an unbounded number of instances with a finite amount of resources.
+Logical instances do not use CPU, memory, or threads when not actively being invoked, so there is no theoretical upper limit on the number of instances that can created.
+Users are encouraged to model their applications as granularly as possible, based on what makes the most sense for their application, instead of desigining applications around resource constraints.
+
+* This will be replaced by the TOC
+{:toc}
+
+## Function Address
+
+In a local environment, the address of an object is the same as a reference to it.
+But in a Stateful Function's application, function instances are virtual and their runtime location is not exposed to the user.
+Instead, an ``Address`` is used to reference a specific stateful function in the system..
+
+<p class="text-center">
+    <img width="80%" src="{{ site.baseurl }}/fig/concepts/address.svg"/>
+</p>
+
+An address is made of two components, a ``FunctionType`` and ``ID``.
+A function type is similar to a class in an object-oriented language; it declares what sort of function the address references.
+The id is a primary key, which scopes the function call to a specific instance of the function type.
+
+When a function is being invoked, all actions - including reads and writes of persisted states - are scoped to the current address.
+
+For example, imagine a there was a Stateful Function application to track the inventory of a warehouse.
+One possible implementation could include an ``Inventory`` function that tracks the number units in stock for a particular item; this would be the function type.
+There would then be one logical instance of this type for each SKU the warehouse manages.
+If it were clothing, there might be an instance for shirts and another for pants; "shirt" and "pant" would be two ids.
+Each instance may be interacted with and messaged independently.
+The application is free to create as many instances as there are types of items in inventory.
+
+## Function Lifecycle
+
+Logical functions are neither created nor destroyed, but always exist throughout the lifetime of an application.
+When an application starts, each parallel worker of the framework will create one physical object per function type.
+This object will be used to execute all logical instances of that type that are run by that particular worker.
+The first time a message is sent to an address, it will be as if that instance had always existed with its persisted states being empty.
+
+Clearing all persisted states of a type is the same as destroying it.
+If an instance has no state and is not actively running, then it occupies no CPU, no threads, and no memory.
+
+An instance with data stored in one or more of its persisted values only occupies the resources necessary to store that data.
+State storage is managed by the Apache Flink runtime and stored in the configured state backend.
diff --git a/docs/fig/concepts/address.svg b/docs/fig/concepts/address.svg
new file mode 100644
index 0000000..b9b5e0b
--- /dev/null
+++ b/docs/fig/concepts/address.svg
@@ -0,0 +1,171 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="address.svg"
+   viewBox="0 0 484.06598 285.74933"
+   height="285.74933"
+   width="484.06598"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="170.15599"
+     inkscape:cx="263.58244"
+     inkscape:zoom="0.86642157"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-218.25066,578.15599)"
+     inkscape:label="address"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path90"
+       style="fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 163.688,433.617 H 526.7375 V 219.305 H 163.688 Z m 1.8047,-213.4099 -0.9023,0.9021 h 361.2447 l -0.9023,-0.9021 v 212.5078 l 0.9023,-0.9021 H 164.5904 l 0.9023,0.9021 z" /><path
+       inkscape:connector-curvature="0"
+       id="path92"
+       style="fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 191.3344,392.4667 H 408.5783 V 242.0299 H 191.3344 Z m 1.8047,-149.5347 -0.9024,0.902 H 407.676 l -0.9024,-0.902 v 148.6326 l 0.9024,-0.9021 H 192.2367 l 0.9024,0.9021 z" /><text
+       y="-406.17862"
+       x="325.55118"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:18.9973px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text98"><tspan
+         style="stroke-width:0.239965"
+         x="325.55118 337.68094 348.49988 359.31882 365.25546 374.97253 382.48596"
+         y="-406.17862"
+         sodipodi:role="line"
+         id="tspan96">Address</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.7989,349.2028 h 65.6983 v -65.6794 h -65.6983 z m 1.8047,-64.7773 -0.9023,0.9021 h 63.8936 l -0.9023,-0.9021 v 63.8752 l 0.9023,-0.9021 h -63.8936 l 0.9023,0.9021 z" /><text
+       y="-309.20459"
+       x="464.06989"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:18.9973px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="464.06989 468.48105"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">Id</tspan></text><text
+       y="-354.57117"
+       x="244.82475"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:18.9973px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="244.82475 253.74585 264.07275 274.39966 282.92184 288.63242 292.53824 303.3591 313.686 318.99762 327.19684 335.92798 346.74881"
+         y="-354.57117"
+         sodipodi:role="line"
+         id="tspan110">Function Type</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path114"
+       style="fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 239.869,336.5759 H 359.6311 V 302.3917 H 239.869 Z m 1.8046,-33.2821 -0.9023,0.9021 h 117.9575 l -0.9024,-0.9021 v 32.38 l 0.9024,-0.9021 H 240.7713 l 0.9023,0.9021 z" /><text
+       y="-311.60495"
+       x="254.04112"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:18.9973px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text120"><tspan
+         style="stroke-width:0.239965"
+         x="254.04112 267.67545 277.20636 293.04437 302.76526 310.2825 321.10522 330.63614 339.16022"
+         y="-311.60495"
+         sodipodi:role="line"
+         id="tspan118">Namespace</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path122"
+       style="fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 240.0752,285.6844 H 359.8374 V 260.5412 H 240.0752 Z m 1.8047,-24.2411 -0.9023,0.9021 H 358.935 l -0.9023,-0.9021 v 23.339 l 0.9023,-0.9021 H 240.9776 l 0.9023,0.9021 z" /><text
+       y="-265.99835"
+       x="276.71655"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:18.9973px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text128"><tspan
+         style="stroke-width:0.239965"
+         x="276.71655 290.35086 299.88181 315.71982"
+         y="-265.99835"
+         sodipodi:role="line"
+         id="tspan126">Name</tspan></text></g></svg>
diff --git a/docs/fig/concepts/statefun-app-blob-storage.svg b/docs/fig/concepts/statefun-app-blob-storage.svg
new file mode 100644
index 0000000..40004da
--- /dev/null
+++ b/docs/fig/concepts/statefun-app-blob-storage.svg
@@ -0,0 +1,667 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="statefun-app-blob-storage.svg"
+   viewBox="0 0 854.56909 319.63663"
+   height="319.63663"
+   width="854.56909"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="212.90014"
+     inkscape:cx="441.65412"
+     inkscape:zoom="0.84436275"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-86.345878,620.90014)"
+     inkscape:label="seth-wiesman-leveraging-stateful-functions"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path30"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 780.92 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 781 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path96"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 252.8342,312.6906 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path98"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 232.7214,316.6395 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 287.5428,316.2811 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-309.20459"
+       x="256.41656"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="256.41656 259.52472"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">f(</tspan></text><text
+       y="-309.20459"
+       x="262.73206"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="262.73206 268.24557 270.7565"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan110">a,b</tspan></text><text
+       y="-309.20459"
+       x="277.06729"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text118"><tspan
+         style="stroke-width:0.239965"
+         x="277.06729"
+         y="-309.20459"
+         id="tspan116">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path120"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 269.1903,335.8646 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 292.86837,335.86461 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path124"
+       inkscape:connector-curvature="0" /><path
+       d="m 269.1903,335.86461 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path128"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path130"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 303.509,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path132"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3962,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path134"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 338.2176,375.8749 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-368.73318"
+       x="307.08405"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text140"><tspan
+         style="stroke-width:0.239965"
+         x="307.08405 310.1922"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan138">f(</tspan></text><text
+       y="-368.73318"
+       x="313.39954"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text146"><tspan
+         style="stroke-width:0.239965"
+         x="313.39954 318.91306 321.42398"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan144">a,b</tspan></text><text
+       y="-368.73318"
+       x="327.73477"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text152"><tspan
+         style="stroke-width:0.239965"
+         x="327.73477"
+         y="-368.73318"
+         id="tspan150">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path154"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 319.8651,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 343.54317,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path158"
+       inkscape:connector-curvature="0" /><path
+       d="m 319.8651,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path162"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path164"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 281.0293,245.7839 c 0,8.5858 6.9622,15.5459 15.5504,15.5459 8.5883,0 15.5504,-6.9601 15.5504,-15.5459 0,-8.5858 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path166"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 260.9165,249.7327 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path168"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 315.7379,249.3743 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-242.23494"
+       x="284.6076"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text174"><tspan
+         style="stroke-width:0.239965"
+         x="284.6076 287.71576"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan172">f(</tspan></text><text
+       y="-242.23494"
+       x="290.9231"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text180"><tspan
+         style="stroke-width:0.239965"
+         x="290.9231 296.43658 298.94754"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan178">a,b</tspan></text><text
+       y="-242.23494"
+       x="305.25833"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text186"><tspan
+         style="stroke-width:0.239965"
+         x="305.25833"
+         y="-242.23494"
+         id="tspan184">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path188"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 297.3854,268.9578 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 321.06347,268.95781 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path192"
+       inkscape:connector-curvature="0" /><path
+       d="m 297.3854,268.95781 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path196"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path198"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 354.7226,304.856 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path200"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 334.6098,308.8049 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path202"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 389.4312,308.4465 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-301.28345"
+       x="358.29025"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text208"><tspan
+         style="stroke-width:0.239965"
+         x="358.29025 361.39841"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan206">f(</tspan></text><text
+       y="-301.28345"
+       x="364.60574"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text214"><tspan
+         style="stroke-width:0.239965"
+         x="364.60574 370.11926 372.63019"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan212">a,b</tspan></text><text
+       y="-301.28345"
+       x="378.94089"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text220"><tspan
+         style="stroke-width:0.239965"
+         x="378.94089"
+         y="-301.28345"
+         id="tspan218">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path222"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 371.0787,328.03 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 394.75677,328.03001 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path226"
+       inkscape:connector-curvature="0" /><path
+       d="m 371.0787,328.03001 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path230"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path232"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 425.6149,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path234"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 405.5021,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path236"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 460.3235,375.8749 h 8.0662 v 3.9488 l 7.9,-7.8976 -7.9,-7.8977 v 3.9488 h -8.0662 z" /><text
+       y="-368.73318"
+       x="429.17233"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text242"><tspan
+         style="stroke-width:0.239965"
+         x="429.17233 432.28049"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan240">f(</tspan></text><text
+       y="-368.73318"
+       x="435.48782"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text248"><tspan
+         style="stroke-width:0.239965"
+         x="435.48782 441.00131 443.51227"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan246">a,b</tspan></text><text
+       y="-368.73318"
+       x="449.82294"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text254"><tspan
+         style="stroke-width:0.239965"
+         x="449.82294"
+         y="-368.73318"
+         id="tspan252">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path256"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 441.971,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 465.64907,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path260"
+       inkscape:connector-curvature="0" /><path
+       d="m 441.971,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path264"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path266"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 548.8411,464.5257 h 35.8583 V 434.6525 L 569.3685,419.326 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path268"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 569.3685,419.326 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 569.36852,419.32607 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 548.8411 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path272"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path274"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 590.4269,464.7729 h 35.8583 v -29.8732 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path276"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 610.9543,419.5732 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 610.95432,419.57327 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 590.4269 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path280"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path282"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 566.7702,451.3423 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path284"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 587.2976,406.1427 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 587.29762,406.14267 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 566.7702 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path288"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path290"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 608.3561,451.7642 h 35.8583 v -29.8731 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path292"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 628.8835,406.5646 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 628.88352,406.56457 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 608.3561 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path296"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path298"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 584.306,438.0865 h 35.8583 V 408.2134 L 604.8334,392.8869 H 584.306 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path300"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 604.8334,392.8869 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 604.83342,392.88687 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 584.306 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path304"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path306"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 625.8918,438.3337 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path308"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 646.4192,393.1341 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 646.41922,393.13407 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 625.8918 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path312"
+       inkscape:connector-curvature="0" /><text
+       y="-368.73318"
+       x="608.38934"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text318"><tspan
+         style="stroke-width:0.239965"
+         x="608.38934 618.91522 625.22974 630.24438 635.25903 638.76593 643.78064 647.58649 654.79785 659.00665 665.32111 672.53247"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan316">mass storage</tspan></text><text
+       y="-353.61102"
+       x="580.92999"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text324"><tspan
+         style="stroke-width:0.239965"
+         x="580.92999 584.53827 590.95416 597.565 600.36737 603.8717 612.49725 620.5119 625.06903 627.8714 631.37573 637.79156 645.80621 652.22211 655.02448 658.52881 667.24536 675.87091 681.62384 688.03973 690.8421 694.34644 702.86798"
+         y="-353.61102"
+         sodipodi:role="line"
+         id="tspan322">(S3, GCF, ECS, HDFS, …)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path326"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c -1.3667,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.465 1.1078,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3667,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path328"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c 1.3666,0 2.4745,-4.4303 2.4745,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4745,-9.8954 -1.3667,0 -2.4745,4.4304 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       d="m 171.04226,334.30449 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path332"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path334"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c -1.3666,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.4651 1.1079,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.465 1.1079,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path336"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 z" /><path
+       d="m 175.51856,323.45759 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path340"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path342"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c 1.3667,0 2.4746,4.4303 2.4746,9.8954 0,5.4651 -1.1079,9.8954 -2.4746,9.8954 l 67.4416,-10e-5 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path344"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       d="m 108.07694,273.38061 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 -1.36665,0 -2.47454,4.43032 -2.47454,9.8954 0,5.46507 1.10789,9.89539 2.47454,9.89539 z m 0,0 h 67.44161 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 l -67.44161,8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path348"
+       inkscape:connector-curvature="0" /><text
+       y="-363.2124"
+       x="105.80902"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text354"><tspan
+         style="stroke-width:0.239965"
+         x="105.80902 112.32498 118.13904 124.655 131.5739 135.38625 138.89964 141.50316 148.42206 155.63992 159.59525 166.11121 171.11938"
+         y="-363.2124"
+         sodipodi:role="line"
+         id="tspan352">event ingress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path356"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 80.16674,340.3874 h 8.06628 v 3.9488 l 7.89992,-7.8977 -7.89992,-7.8976 v 3.9488 h -8.06628 z" /><path
+       inkscape:connector-curvature="0"
+       id="path358"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 97.11817,259.5365 h -8.06628 v -3.9488 l -7.89991,7.8977 7.89991,7.8976 v -3.9488 h 8.06628 z" /><text
+       y="-229.03304"
+       x="109.69826"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text364"><tspan
+         style="stroke-width:0.239965"
+         x="109.69826 116.21422 122.02827 128.54424 135.46313 139.27548 142.78888 149.30484 156.52269 160.47801 166.99397 172.00215"
+         y="-229.03304"
+         sodipodi:role="line"
+         id="tspan362">event egress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path366"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 457.59,281.6705 c 0,8.5858 6.9622,15.546 15.5504,15.546 8.5883,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path368"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.4772,285.6194 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path370"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 492.2986,285.261 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-278.00009"
+       x="461.14282"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text376"><tspan
+         style="stroke-width:0.239965"
+         x="461.14282 464.25095"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan374">f(</tspan></text><text
+       y="-278.00009"
+       x="467.45828"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text382"><tspan
+         style="stroke-width:0.239965"
+         x="467.45828 472.9718 475.48273"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan380">a,b</tspan></text><text
+       y="-278.00009"
+       x="481.79352"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text388"><tspan
+         style="stroke-width:0.239965"
+         x="481.79352"
+         y="-278.00009"
+         id="tspan386">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path390"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 473.9461,304.8445 c 0,1.5737 5.3005,2.8494 11.8391,2.8494 6.5385,0 11.839,-1.2757 11.839,-2.8494 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.839,-2.8495 -6.5386,0 -11.8391,1.2758 -11.8391,2.8495 z" /><path
+       d="m 497.62417,304.84441 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path394"
+       inkscape:connector-curvature="0" /><path
+       d="m 473.9461,304.84441 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path398"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path400"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 447.2134,353.1989 20.2168,-44.5067 -1.0955,-0.4973 -20.2168,44.5067 z m 21.5283,-43.0306 -0.201,-5.3752 -4.1808,3.3859 z" /><path
+       inkscape:connector-curvature="0"
+       id="path402"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 273.786,258.1659 -63.9204,3.6864 0.0693,1.2008 63.9204,-3.6864 z m -63.2236,1.8391 -4.6659,2.6786 4.9431,2.1245 z" /><path
+       inkscape:connector-curvature="0"
+       id="path404"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 198.1848,259.5365 h -8.0663 v -3.9488 l -7.8999,7.8977 7.8999,7.8976 v -3.9488 h 8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path406"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 181.8899,340.3874 h 8.0662 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0662 z" /><path
+       inkscape:connector-curvature="0"
+       id="path408"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.2212,335.4764 19.0532,-12.2173 -0.6496,-1.0124 -19.0531,12.2173 z m 19.3524,-10.2657 2.7517,-4.6223 -5.35,0.5726 z" /><path
+       inkscape:connector-curvature="0"
+       id="path410"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.1421,337.4363 66.509,29.7415 -0.4912,1.098 -66.5091,-29.7415 z m 66.5138,27.7672 3.4105,4.1604 -5.3756,0.2314 z" /><path
+       inkscape:connector-curvature="0"
+       id="path412"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 304.4639,357.2394 -10.8883,-12.3806 0.9035,-0.7942 10.8884,12.3806 z m -11.7141,-10.5871 -1.3705,-5.2016 4.9848,2.0248 z" /><path
+       inkscape:connector-curvature="0"
+       id="path414"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 330.9776,354.0716 25.732,-29.2737 -0.9037,-0.794 -25.7321,29.2737 z m 26.5582,-27.4805 1.3692,-5.2019 -4.9842,2.0261 z" /><path
+       inkscape:connector-curvature="0"
+       id="path416"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 307.5518,312.8069 16.4842,-3.4811 -0.2487,-1.1768 -16.4841,3.4811 z m 16.0724,-1.5502 4.2113,-3.348 -5.2059,-1.3592 z" /><path
+       inkscape:connector-curvature="0"
+       id="path418"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 387.5981,332.7553 26.6624,22.4866 -0.7758,0.9194 -26.6624,-22.4867 z m 27.213,20.5906 2.1268,4.9409 -5.2299,-1.2636 z" /><path
+       inkscape:connector-curvature="0"
+       id="path420"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 430.8227,284.8296 -22.8242,9.0557 0.4438,1.118 22.8242,-9.0558 z m -22.7445,7.083 -3.5854,4.0107 5.3607,0.4611 z" /><path
+       inkscape:connector-curvature="0"
+       id="path422"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 356.5692,288.7697 -25.0874,-22.6078 0.8056,-0.8934 25.0874,22.6078 z m -25.6999,-20.7308 -1.9635,-5.008 5.1857,1.4344 z" /><path
+       inkscape:connector-curvature="0"
+       id="path424"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3381,342.4439 15.2029,16.6751 -0.8892,0.8102 -15.2029,-16.6751 z m 15.9964,14.8671 1.4634,5.1762 -5.0202,-1.9353 z" /><path
+       inkscape:connector-curvature="0"
+       id="path426"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 408.2335,306.1681 26.6967,-12.0672 -0.4957,-1.0959 -26.6966,12.0671 z m 26.7093,-10.0929 3.3938,-4.174 -5.3764,-0.2098 z" /><path
+       inkscape:connector-curvature="0"
+       id="path428"
+       style="fill:#9cb2b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 505.6615,359.1385 1.2087,0.7668 13.4225,-21.1452 -1.2087,-0.7668 z m 2.4174,1.5336 2.4174,1.5337 13.4225,-21.1453 -2.4174,-1.5336 z m 3.6261,2.3005 25.5101,16.1838 -5.5613,8.7611 31.6118,-7.0648 -7.0667,-31.6026 -5.5613,8.7611 -25.5101,-16.1839 z" /><text
+       y="-330.32767"
+       x="411.22839"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text434"><tspan
+         style="stroke-width:0.227203"
+         x="411.22839 416.24048 423.16327 429.47516 436.69693 441.70901 448.63181 455.85355"
+         y="-330.32767"
+         sodipodi:role="line"
+         id="tspan432">snapshot</tspan></text><text
+       y="-315.4455"
+       x="427.76627"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text440"><tspan
+         style="stroke-width:0.227203"
+         x="427.76627 432.77832 436.58157 442.89346 446.69672"
+         y="-315.4455"
+         sodipodi:role="line"
+         id="tspan438">state</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path442"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:1.91566"
+       d="M 500.3649,478.63176 H 718.77784 V 289.2098 H 500.3649 Z" /></g></svg>
diff --git a/docs/fig/concepts/statefun-app-egress.svg b/docs/fig/concepts/statefun-app-egress.svg
new file mode 100644
index 0000000..78b7689
--- /dev/null
+++ b/docs/fig/concepts/statefun-app-egress.svg
@@ -0,0 +1,667 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="statefun-app-egress.svg"
+   viewBox="0 0 854.56909 319.63663"
+   height="319.63663"
+   width="854.56909"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="212.90014"
+     inkscape:cx="441.65412"
+     inkscape:zoom="0.84436275"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-86.345878,620.90014)"
+     inkscape:label="seth-wiesman-leveraging-stateful-functions"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path30"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 780.92 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 781 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path96"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 252.8342,312.6906 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path98"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 232.7214,316.6395 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 287.5428,316.2811 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-309.20459"
+       x="256.41656"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="256.41656 259.52472"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">f(</tspan></text><text
+       y="-309.20459"
+       x="262.73206"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="262.73206 268.24557 270.7565"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan110">a,b</tspan></text><text
+       y="-309.20459"
+       x="277.06729"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text118"><tspan
+         style="stroke-width:0.239965"
+         x="277.06729"
+         y="-309.20459"
+         id="tspan116">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path120"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 269.1903,335.8646 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 292.86837,335.86461 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path124"
+       inkscape:connector-curvature="0" /><path
+       d="m 269.1903,335.86461 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path128"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path130"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 303.509,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path132"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3962,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path134"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 338.2176,375.8749 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-368.73318"
+       x="307.08405"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text140"><tspan
+         style="stroke-width:0.239965"
+         x="307.08405 310.1922"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan138">f(</tspan></text><text
+       y="-368.73318"
+       x="313.39954"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text146"><tspan
+         style="stroke-width:0.239965"
+         x="313.39954 318.91306 321.42398"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan144">a,b</tspan></text><text
+       y="-368.73318"
+       x="327.73477"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text152"><tspan
+         style="stroke-width:0.239965"
+         x="327.73477"
+         y="-368.73318"
+         id="tspan150">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path154"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 319.8651,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 343.54317,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path158"
+       inkscape:connector-curvature="0" /><path
+       d="m 319.8651,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path162"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path164"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 281.0293,245.7839 c 0,8.5858 6.9622,15.5459 15.5504,15.5459 8.5883,0 15.5504,-6.9601 15.5504,-15.5459 0,-8.5858 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path166"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 260.9165,249.7327 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path168"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 315.7379,249.3743 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-242.23494"
+       x="284.6076"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text174"><tspan
+         style="stroke-width:0.239965"
+         x="284.6076 287.71576"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan172">f(</tspan></text><text
+       y="-242.23494"
+       x="290.9231"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text180"><tspan
+         style="stroke-width:0.239965"
+         x="290.9231 296.43658 298.94754"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan178">a,b</tspan></text><text
+       y="-242.23494"
+       x="305.25833"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text186"><tspan
+         style="stroke-width:0.239965"
+         x="305.25833"
+         y="-242.23494"
+         id="tspan184">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path188"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 297.3854,268.9578 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 321.06347,268.95781 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path192"
+       inkscape:connector-curvature="0" /><path
+       d="m 297.3854,268.95781 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path196"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path198"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 354.7226,304.856 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path200"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 334.6098,308.8049 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path202"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 389.4312,308.4465 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-301.28345"
+       x="358.29025"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text208"><tspan
+         style="stroke-width:0.239965"
+         x="358.29025 361.39841"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan206">f(</tspan></text><text
+       y="-301.28345"
+       x="364.60574"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text214"><tspan
+         style="stroke-width:0.239965"
+         x="364.60574 370.11926 372.63019"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan212">a,b</tspan></text><text
+       y="-301.28345"
+       x="378.94089"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text220"><tspan
+         style="stroke-width:0.239965"
+         x="378.94089"
+         y="-301.28345"
+         id="tspan218">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path222"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 371.0787,328.03 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 394.75677,328.03001 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path226"
+       inkscape:connector-curvature="0" /><path
+       d="m 371.0787,328.03001 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path230"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path232"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 425.6149,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path234"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 405.5021,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path236"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 460.3235,375.8749 h 8.0662 v 3.9488 l 7.9,-7.8976 -7.9,-7.8977 v 3.9488 h -8.0662 z" /><text
+       y="-368.73318"
+       x="429.17233"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text242"><tspan
+         style="stroke-width:0.239965"
+         x="429.17233 432.28049"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan240">f(</tspan></text><text
+       y="-368.73318"
+       x="435.48782"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text248"><tspan
+         style="stroke-width:0.239965"
+         x="435.48782 441.00131 443.51227"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan246">a,b</tspan></text><text
+       y="-368.73318"
+       x="449.82294"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text254"><tspan
+         style="stroke-width:0.239965"
+         x="449.82294"
+         y="-368.73318"
+         id="tspan252">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path256"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 441.971,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 465.64907,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path260"
+       inkscape:connector-curvature="0" /><path
+       d="m 441.971,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path264"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path266"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 548.8411,464.5257 h 35.8583 V 434.6525 L 569.3685,419.326 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path268"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 569.3685,419.326 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 569.36852,419.32607 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 548.8411 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path272"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path274"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 590.4269,464.7729 h 35.8583 v -29.8732 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path276"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 610.9543,419.5732 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 610.95432,419.57327 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 590.4269 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path280"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path282"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 566.7702,451.3423 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path284"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 587.2976,406.1427 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 587.29762,406.14267 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 566.7702 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path288"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path290"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 608.3561,451.7642 h 35.8583 v -29.8731 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path292"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 628.8835,406.5646 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 628.88352,406.56457 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 608.3561 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path296"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path298"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 584.306,438.0865 h 35.8583 V 408.2134 L 604.8334,392.8869 H 584.306 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path300"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 604.8334,392.8869 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 604.83342,392.88687 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 584.306 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path304"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path306"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 625.8918,438.3337 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path308"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 646.4192,393.1341 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 646.41922,393.13407 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 625.8918 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path312"
+       inkscape:connector-curvature="0" /><text
+       y="-368.73318"
+       x="608.38934"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text318"><tspan
+         style="stroke-width:0.239965"
+         x="608.38934 618.91522 625.22974 630.24438 635.25903 638.76593 643.78064 647.58649 654.79785 659.00665 665.32111 672.53247"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan316">mass storage</tspan></text><text
+       y="-353.61102"
+       x="580.92999"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text324"><tspan
+         style="stroke-width:0.239965"
+         x="580.92999 584.53827 590.95416 597.565 600.36737 603.8717 612.49725 620.5119 625.06903 627.8714 631.37573 637.79156 645.80621 652.22211 655.02448 658.52881 667.24536 675.87091 681.62384 688.03973 690.8421 694.34644 702.86798"
+         y="-353.61102"
+         sodipodi:role="line"
+         id="tspan322">(S3, GCF, ECS, HDFS, …)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path326"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c -1.3667,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.465 1.1078,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3667,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path328"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c 1.3666,0 2.4745,-4.4303 2.4745,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4745,-9.8954 -1.3667,0 -2.4745,4.4304 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       d="m 171.04226,334.30449 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path332"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path334"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c -1.3666,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.4651 1.1079,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.465 1.1079,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path336"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 z" /><path
+       d="m 175.51856,323.45759 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path340"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path342"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c 1.3667,0 2.4746,4.4303 2.4746,9.8954 0,5.4651 -1.1079,9.8954 -2.4746,9.8954 l 67.4416,-10e-5 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path344"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       d="m 108.07694,273.38061 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 -1.36665,0 -2.47454,4.43032 -2.47454,9.8954 0,5.46507 1.10789,9.89539 2.47454,9.89539 z m 0,0 h 67.44161 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 l -67.44161,8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path348"
+       inkscape:connector-curvature="0" /><text
+       y="-363.2124"
+       x="105.80902"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text354"><tspan
+         style="stroke-width:0.239965"
+         x="105.80902 112.32498 118.13904 124.655 131.5739 135.38625 138.89964 141.50316 148.42206 155.63992 159.59525 166.11121 171.11938"
+         y="-363.2124"
+         sodipodi:role="line"
+         id="tspan352">event ingress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path356"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 80.16674,340.3874 h 8.06628 v 3.9488 l 7.89992,-7.8977 -7.89992,-7.8976 v 3.9488 h -8.06628 z" /><path
+       inkscape:connector-curvature="0"
+       id="path358"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 97.11817,259.5365 h -8.06628 v -3.9488 l -7.89991,7.8977 7.89991,7.8976 v -3.9488 h 8.06628 z" /><text
+       y="-229.03304"
+       x="109.69826"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text364"><tspan
+         style="stroke-width:0.239965"
+         x="109.69826 116.21422 122.02827 128.54424 135.46313 139.27548 142.78888 149.30484 156.52269 160.47801 166.99397 172.00215"
+         y="-229.03304"
+         sodipodi:role="line"
+         id="tspan362">event egress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path366"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 457.59,281.6705 c 0,8.5858 6.9622,15.546 15.5504,15.546 8.5883,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path368"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.4772,285.6194 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path370"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 492.2986,285.261 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-278.00009"
+       x="461.14282"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text376"><tspan
+         style="stroke-width:0.239965"
+         x="461.14282 464.25095"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan374">f(</tspan></text><text
+       y="-278.00009"
+       x="467.45828"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text382"><tspan
+         style="stroke-width:0.239965"
+         x="467.45828 472.9718 475.48273"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan380">a,b</tspan></text><text
+       y="-278.00009"
+       x="481.79352"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text388"><tspan
+         style="stroke-width:0.239965"
+         x="481.79352"
+         y="-278.00009"
+         id="tspan386">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path390"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 473.9461,304.8445 c 0,1.5737 5.3005,2.8494 11.8391,2.8494 6.5385,0 11.839,-1.2757 11.839,-2.8494 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.839,-2.8495 -6.5386,0 -11.8391,1.2758 -11.8391,2.8495 z" /><path
+       d="m 497.62417,304.84441 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path394"
+       inkscape:connector-curvature="0" /><path
+       d="m 473.9461,304.84441 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path398"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path400"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 447.2134,353.1989 20.2168,-44.5067 -1.0955,-0.4973 -20.2168,44.5067 z m 21.5283,-43.0306 -0.201,-5.3752 -4.1808,3.3859 z" /><path
+       inkscape:connector-curvature="0"
+       id="path402"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 273.786,258.1659 -63.9204,3.6864 0.0693,1.2008 63.9204,-3.6864 z m -63.2236,1.8391 -4.6659,2.6786 4.9431,2.1245 z" /><path
+       inkscape:connector-curvature="0"
+       id="path404"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 198.1848,259.5365 h -8.0663 v -3.9488 l -7.8999,7.8977 7.8999,7.8976 v -3.9488 h 8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path406"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 181.8899,340.3874 h 8.0662 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0662 z" /><path
+       inkscape:connector-curvature="0"
+       id="path408"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.2212,335.4764 19.0532,-12.2173 -0.6496,-1.0124 -19.0531,12.2173 z m 19.3524,-10.2657 2.7517,-4.6223 -5.35,0.5726 z" /><path
+       inkscape:connector-curvature="0"
+       id="path410"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.1421,337.4363 66.509,29.7415 -0.4912,1.098 -66.5091,-29.7415 z m 66.5138,27.7672 3.4105,4.1604 -5.3756,0.2314 z" /><path
+       inkscape:connector-curvature="0"
+       id="path412"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 304.4639,357.2394 -10.8883,-12.3806 0.9035,-0.7942 10.8884,12.3806 z m -11.7141,-10.5871 -1.3705,-5.2016 4.9848,2.0248 z" /><path
+       inkscape:connector-curvature="0"
+       id="path414"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 330.9776,354.0716 25.732,-29.2737 -0.9037,-0.794 -25.7321,29.2737 z m 26.5582,-27.4805 1.3692,-5.2019 -4.9842,2.0261 z" /><path
+       inkscape:connector-curvature="0"
+       id="path416"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 307.5518,312.8069 16.4842,-3.4811 -0.2487,-1.1768 -16.4841,3.4811 z m 16.0724,-1.5502 4.2113,-3.348 -5.2059,-1.3592 z" /><path
+       inkscape:connector-curvature="0"
+       id="path418"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 387.5981,332.7553 26.6624,22.4866 -0.7758,0.9194 -26.6624,-22.4867 z m 27.213,20.5906 2.1268,4.9409 -5.2299,-1.2636 z" /><path
+       inkscape:connector-curvature="0"
+       id="path420"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 430.8227,284.8296 -22.8242,9.0557 0.4438,1.118 22.8242,-9.0558 z m -22.7445,7.083 -3.5854,4.0107 5.3607,0.4611 z" /><path
+       inkscape:connector-curvature="0"
+       id="path422"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 356.5692,288.7697 -25.0874,-22.6078 0.8056,-0.8934 25.0874,22.6078 z m -25.6999,-20.7308 -1.9635,-5.008 5.1857,1.4344 z" /><path
+       inkscape:connector-curvature="0"
+       id="path424"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3381,342.4439 15.2029,16.6751 -0.8892,0.8102 -15.2029,-16.6751 z m 15.9964,14.8671 1.4634,5.1762 -5.0202,-1.9353 z" /><path
+       inkscape:connector-curvature="0"
+       id="path426"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 408.2335,306.1681 26.6967,-12.0672 -0.4957,-1.0959 -26.6966,12.0671 z m 26.7093,-10.0929 3.3938,-4.174 -5.3764,-0.2098 z" /><path
+       inkscape:connector-curvature="0"
+       id="path428"
+       style="fill:#9cb2b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 505.6615,359.1385 1.2087,0.7668 13.4225,-21.1452 -1.2087,-0.7668 z m 2.4174,1.5336 2.4174,1.5337 13.4225,-21.1453 -2.4174,-1.5336 z m 3.6261,2.3005 25.5101,16.1838 -5.5613,8.7611 31.6118,-7.0648 -7.0667,-31.6026 -5.5613,8.7611 -25.5101,-16.1839 z" /><text
+       y="-330.32767"
+       x="411.22839"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text434"><tspan
+         style="stroke-width:0.227203"
+         x="411.22839 416.24048 423.16327 429.47516 436.69693 441.70901 448.63181 455.85355"
+         y="-330.32767"
+         sodipodi:role="line"
+         id="tspan432">snapshot</tspan></text><text
+       y="-315.4455"
+       x="427.76627"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text440"><tspan
+         style="stroke-width:0.227203"
+         x="427.76627 432.77832 436.58157 442.89346 446.69672"
+         y="-315.4455"
+         sodipodi:role="line"
+         id="tspan438">state</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path442"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.923636"
+       d="M 74.00785,291.2123 H 208.92587 V 219.92677 H 74.00785 Z" /></g></svg>
diff --git a/docs/fig/concepts/statefun-app-fault-tolerance.svg b/docs/fig/concepts/statefun-app-fault-tolerance.svg
new file mode 100644
index 0000000..f15a3e9
--- /dev/null
+++ b/docs/fig/concepts/statefun-app-fault-tolerance.svg
@@ -0,0 +1,687 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="statefun-app-fault-tolerance.svg"
+   viewBox="0 0 854.56909 319.63663"
+   height="319.63663"
+   width="854.56909"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="212.90014"
+     inkscape:cx="441.65412"
+     inkscape:zoom="0.84436275"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-86.345878,620.90014)"
+     inkscape:label="seth-wiesman-leveraging-stateful-functions"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path30"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 780.92 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 781 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path96"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 252.8342,312.6906 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path98"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 232.7214,316.6395 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 287.5428,316.2811 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-309.20459"
+       x="256.41656"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="256.41656 259.52472"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">f(</tspan></text><text
+       y="-309.20459"
+       x="262.73206"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="262.73206 268.24557 270.7565"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan110">a,b</tspan></text><text
+       y="-309.20459"
+       x="277.06729"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text118"><tspan
+         style="stroke-width:0.239965"
+         x="277.06729"
+         y="-309.20459"
+         id="tspan116">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path120"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 269.1903,335.8646 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 292.86837,335.86461 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path124"
+       inkscape:connector-curvature="0" /><path
+       d="m 269.1903,335.86461 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path128"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path130"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 303.509,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path132"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3962,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path134"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 338.2176,375.8749 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-368.73318"
+       x="307.08405"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text140"><tspan
+         style="stroke-width:0.239965"
+         x="307.08405 310.1922"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan138">f(</tspan></text><text
+       y="-368.73318"
+       x="313.39954"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text146"><tspan
+         style="stroke-width:0.239965"
+         x="313.39954 318.91306 321.42398"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan144">a,b</tspan></text><text
+       y="-368.73318"
+       x="327.73477"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text152"><tspan
+         style="stroke-width:0.239965"
+         x="327.73477"
+         y="-368.73318"
+         id="tspan150">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path154"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 319.8651,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 343.54317,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path158"
+       inkscape:connector-curvature="0" /><path
+       d="m 319.8651,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path162"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path164"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 281.0293,245.7839 c 0,8.5858 6.9622,15.5459 15.5504,15.5459 8.5883,0 15.5504,-6.9601 15.5504,-15.5459 0,-8.5858 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path166"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 260.9165,249.7327 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path168"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 315.7379,249.3743 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-242.23494"
+       x="284.6076"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text174"><tspan
+         style="stroke-width:0.239965"
+         x="284.6076 287.71576"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan172">f(</tspan></text><text
+       y="-242.23494"
+       x="290.9231"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text180"><tspan
+         style="stroke-width:0.239965"
+         x="290.9231 296.43658 298.94754"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan178">a,b</tspan></text><text
+       y="-242.23494"
+       x="305.25833"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text186"><tspan
+         style="stroke-width:0.239965"
+         x="305.25833"
+         y="-242.23494"
+         id="tspan184">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path188"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 297.3854,268.9578 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 321.06347,268.95781 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path192"
+       inkscape:connector-curvature="0" /><path
+       d="m 297.3854,268.95781 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path196"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path198"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 354.7226,304.856 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path200"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 334.6098,308.8049 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path202"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 389.4312,308.4465 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-301.28345"
+       x="358.29025"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text208"><tspan
+         style="stroke-width:0.239965"
+         x="358.29025 361.39841"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan206">f(</tspan></text><text
+       y="-301.28345"
+       x="364.60574"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text214"><tspan
+         style="stroke-width:0.239965"
+         x="364.60574 370.11926 372.63019"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan212">a,b</tspan></text><text
+       y="-301.28345"
+       x="378.94089"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text220"><tspan
+         style="stroke-width:0.239965"
+         x="378.94089"
+         y="-301.28345"
+         id="tspan218">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path222"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 371.0787,328.03 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 394.75677,328.03001 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path226"
+       inkscape:connector-curvature="0" /><path
+       d="m 371.0787,328.03001 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path230"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path232"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 425.6149,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path234"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 405.5021,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path236"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 460.3235,375.8749 h 8.0662 v 3.9488 l 7.9,-7.8976 -7.9,-7.8977 v 3.9488 h -8.0662 z" /><text
+       y="-368.73318"
+       x="429.17233"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text242"><tspan
+         style="stroke-width:0.239965"
+         x="429.17233 432.28049"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan240">f(</tspan></text><text
+       y="-368.73318"
+       x="435.48782"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text248"><tspan
+         style="stroke-width:0.239965"
+         x="435.48782 441.00131 443.51227"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan246">a,b</tspan></text><text
+       y="-368.73318"
+       x="449.82294"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text254"><tspan
+         style="stroke-width:0.239965"
+         x="449.82294"
+         y="-368.73318"
+         id="tspan252">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path256"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 441.971,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 465.64907,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path260"
+       inkscape:connector-curvature="0" /><path
+       d="m 441.971,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path264"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path266"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 548.8411,464.5257 h 35.8583 V 434.6525 L 569.3685,419.326 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path268"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 569.3685,419.326 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 569.36852,419.32607 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 548.8411 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path272"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path274"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 590.4269,464.7729 h 35.8583 v -29.8732 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path276"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 610.9543,419.5732 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 610.95432,419.57327 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 590.4269 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path280"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path282"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 566.7702,451.3423 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path284"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 587.2976,406.1427 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 587.29762,406.14267 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 566.7702 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path288"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path290"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 608.3561,451.7642 h 35.8583 v -29.8731 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path292"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 628.8835,406.5646 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 628.88352,406.56457 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 608.3561 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path296"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path298"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 584.306,438.0865 h 35.8583 V 408.2134 L 604.8334,392.8869 H 584.306 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path300"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 604.8334,392.8869 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 604.83342,392.88687 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 584.306 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path304"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path306"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 625.8918,438.3337 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path308"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 646.4192,393.1341 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 646.41922,393.13407 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 625.8918 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path312"
+       inkscape:connector-curvature="0" /><text
+       y="-368.73318"
+       x="608.38934"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text318"><tspan
+         style="stroke-width:0.239965"
+         x="608.38934 618.91522 625.22974 630.24438 635.25903 638.76593 643.78064 647.58649 654.79785 659.00665 665.32111 672.53247"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan316">mass storage</tspan></text><text
+       y="-353.61102"
+       x="580.92999"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text324"><tspan
+         style="stroke-width:0.239965"
+         x="580.92999 584.53827 590.95416 597.565 600.36737 603.8717 612.49725 620.5119 625.06903 627.8714 631.37573 637.79156 645.80621 652.22211 655.02448 658.52881 667.24536 675.87091 681.62384 688.03973 690.8421 694.34644 702.86798"
+         y="-353.61102"
+         sodipodi:role="line"
+         id="tspan322">(S3, GCF, ECS, HDFS, …)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path326"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c -1.3667,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.465 1.1078,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3667,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path328"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c 1.3666,0 2.4745,-4.4303 2.4745,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4745,-9.8954 -1.3667,0 -2.4745,4.4304 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       d="m 171.04226,334.30449 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path332"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path334"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c -1.3666,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.4651 1.1079,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.465 1.1079,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path336"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 z" /><path
+       d="m 175.51856,323.45759 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path340"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path342"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c 1.3667,0 2.4746,4.4303 2.4746,9.8954 0,5.4651 -1.1079,9.8954 -2.4746,9.8954 l 67.4416,-10e-5 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path344"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       d="m 108.07694,273.38061 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 -1.36665,0 -2.47454,4.43032 -2.47454,9.8954 0,5.46507 1.10789,9.89539 2.47454,9.89539 z m 0,0 h 67.44161 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 l -67.44161,8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path348"
+       inkscape:connector-curvature="0" /><text
+       y="-363.2124"
+       x="105.80902"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text354"><tspan
+         style="stroke-width:0.239965"
+         x="105.80902 112.32498 118.13904 124.655 131.5739 135.38625 138.89964 141.50316 148.42206 155.63992 159.59525 166.11121 171.11938"
+         y="-363.2124"
+         sodipodi:role="line"
+         id="tspan352">event ingress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path356"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 80.16674,340.3874 h 8.06628 v 3.9488 l 7.89992,-7.8977 -7.89992,-7.8976 v 3.9488 h -8.06628 z" /><path
+       inkscape:connector-curvature="0"
+       id="path358"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 97.11817,259.5365 h -8.06628 v -3.9488 l -7.89991,7.8977 7.89991,7.8976 v -3.9488 h 8.06628 z" /><text
+       y="-229.03304"
+       x="109.69826"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text364"><tspan
+         style="stroke-width:0.239965"
+         x="109.69826 116.21422 122.02827 128.54424 135.46313 139.27548 142.78888 149.30484 156.52269 160.47801 166.99397 172.00215"
+         y="-229.03304"
+         sodipodi:role="line"
+         id="tspan362">event egress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path366"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 457.59,281.6705 c 0,8.5858 6.9622,15.546 15.5504,15.546 8.5883,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path368"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.4772,285.6194 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path370"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 492.2986,285.261 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-278.00009"
+       x="461.14282"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text376"><tspan
+         style="stroke-width:0.239965"
+         x="461.14282 464.25095"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan374">f(</tspan></text><text
+       y="-278.00009"
+       x="467.45828"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text382"><tspan
+         style="stroke-width:0.239965"
+         x="467.45828 472.9718 475.48273"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan380">a,b</tspan></text><text
+       y="-278.00009"
+       x="481.79352"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text388"><tspan
+         style="stroke-width:0.239965"
+         x="481.79352"
+         y="-278.00009"
+         id="tspan386">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path390"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 473.9461,304.8445 c 0,1.5737 5.3005,2.8494 11.8391,2.8494 6.5385,0 11.839,-1.2757 11.839,-2.8494 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.839,-2.8495 -6.5386,0 -11.8391,1.2758 -11.8391,2.8495 z" /><path
+       d="m 497.62417,304.84441 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path394"
+       inkscape:connector-curvature="0" /><path
+       d="m 473.9461,304.84441 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path398"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path400"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 447.2134,353.1989 20.2168,-44.5067 -1.0955,-0.4973 -20.2168,44.5067 z m 21.5283,-43.0306 -0.201,-5.3752 -4.1808,3.3859 z" /><path
+       inkscape:connector-curvature="0"
+       id="path402"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 273.786,258.1659 -63.9204,3.6864 0.0693,1.2008 63.9204,-3.6864 z m -63.2236,1.8391 -4.6659,2.6786 4.9431,2.1245 z" /><path
+       inkscape:connector-curvature="0"
+       id="path404"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 198.1848,259.5365 h -8.0663 v -3.9488 l -7.8999,7.8977 7.8999,7.8976 v -3.9488 h 8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path406"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 181.8899,340.3874 h 8.0662 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0662 z" /><path
+       inkscape:connector-curvature="0"
+       id="path408"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.2212,335.4764 19.0532,-12.2173 -0.6496,-1.0124 -19.0531,12.2173 z m 19.3524,-10.2657 2.7517,-4.6223 -5.35,0.5726 z" /><path
+       inkscape:connector-curvature="0"
+       id="path410"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.1421,337.4363 66.509,29.7415 -0.4912,1.098 -66.5091,-29.7415 z m 66.5138,27.7672 3.4105,4.1604 -5.3756,0.2314 z" /><path
+       inkscape:connector-curvature="0"
+       id="path412"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 304.4639,357.2394 -10.8883,-12.3806 0.9035,-0.7942 10.8884,12.3806 z m -11.7141,-10.5871 -1.3705,-5.2016 4.9848,2.0248 z" /><path
+       inkscape:connector-curvature="0"
+       id="path414"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 330.9776,354.0716 25.732,-29.2737 -0.9037,-0.794 -25.7321,29.2737 z m 26.5582,-27.4805 1.3692,-5.2019 -4.9842,2.0261 z" /><path
+       inkscape:connector-curvature="0"
+       id="path416"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 307.5518,312.8069 16.4842,-3.4811 -0.2487,-1.1768 -16.4841,3.4811 z m 16.0724,-1.5502 4.2113,-3.348 -5.2059,-1.3592 z" /><path
+       inkscape:connector-curvature="0"
+       id="path418"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 387.5981,332.7553 26.6624,22.4866 -0.7758,0.9194 -26.6624,-22.4867 z m 27.213,20.5906 2.1268,4.9409 -5.2299,-1.2636 z" /><path
+       inkscape:connector-curvature="0"
+       id="path420"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 430.8227,284.8296 -22.8242,9.0557 0.4438,1.118 22.8242,-9.0558 z m -22.7445,7.083 -3.5854,4.0107 5.3607,0.4611 z" /><path
+       inkscape:connector-curvature="0"
+       id="path422"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 356.5692,288.7697 -25.0874,-22.6078 0.8056,-0.8934 25.0874,22.6078 z m -25.6999,-20.7308 -1.9635,-5.008 5.1857,1.4344 z" /><path
+       inkscape:connector-curvature="0"
+       id="path424"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3381,342.4439 15.2029,16.6751 -0.8892,0.8102 -15.2029,-16.6751 z m 15.9964,14.8671 1.4634,5.1762 -5.0202,-1.9353 z" /><path
+       inkscape:connector-curvature="0"
+       id="path426"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 408.2335,306.1681 26.6967,-12.0672 -0.4957,-1.0959 -26.6966,12.0671 z m 26.7093,-10.0929 3.3938,-4.174 -5.3764,-0.2098 z" /><path
+       inkscape:connector-curvature="0"
+       id="path428"
+       style="fill:#9cb2b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 505.6615,359.1385 1.2087,0.7668 13.4225,-21.1452 -1.2087,-0.7668 z m 2.4174,1.5336 2.4174,1.5337 13.4225,-21.1453 -2.4174,-1.5336 z m 3.6261,2.3005 25.5101,16.1838 -5.5613,8.7611 31.6118,-7.0648 -7.0667,-31.6026 -5.5613,8.7611 -25.5101,-16.1839 z" /><text
+       y="-330.32767"
+       x="411.22839"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text434"><tspan
+         style="stroke-width:0.227203"
+         x="411.22839 416.24048 423.16327 429.47516 436.69693 441.70901 448.63181 455.85355"
+         y="-330.32767"
+         sodipodi:role="line"
+         id="tspan432">snapshot</tspan></text><text
+       y="-315.4455"
+       x="427.76627"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text440"><tspan
+         style="stroke-width:0.227203"
+         x="427.76627 432.77832 436.58157 442.89346 446.69672"
+         y="-315.4455"
+         sodipodi:role="line"
+         id="tspan438">state</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path442"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.251585"
+       d="m 316.10266,401.67612 h 34.54646 v -20.65563 h -34.54646 z" /><path
+       d="m 261.55295,341.87811 h 34.54646 v -20.65563 h -34.54646 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.251585"
+       id="path442-9"
+       inkscape:connector-curvature="0" /><path
+       d="M 289.25774,273.97883 H 323.8042 V 253.3232 h -34.54646 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.251585"
+       id="path442-8"
+       inkscape:connector-curvature="0" /><path
+       d="M 364.58924,332.10743 H 399.1357 V 311.4518 h -34.54646 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.251585"
+       id="path442-3"
+       inkscape:connector-curvature="0" /><path
+       d="m 439.20172,400.5022 h 34.54646 v -20.65563 h -34.54646 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.251585"
+       id="path442-7"
+       inkscape:connector-curvature="0" /><path
+       d="m 467.62552,309.90133 h 34.54646 V 289.2457 h -34.54646 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.251585"
+       id="path442-2"
+       inkscape:connector-curvature="0" /></g></svg>
diff --git a/docs/fig/concepts/statefun-app-functions.svg b/docs/fig/concepts/statefun-app-functions.svg
new file mode 100644
index 0000000..c70d7cc
--- /dev/null
+++ b/docs/fig/concepts/statefun-app-functions.svg
@@ -0,0 +1,667 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="statefun-app-functions.svg"
+   viewBox="0 0 854.56909 319.63663"
+   height="319.63663"
+   width="854.56909"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="212.90014"
+     inkscape:cx="441.65412"
+     inkscape:zoom="0.84436275"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-86.345878,620.90014)"
+     inkscape:label="seth-wiesman-leveraging-stateful-functions"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path30"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 780.92 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 781 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path96"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 252.8342,312.6906 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path98"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 232.7214,316.6395 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 287.5428,316.2811 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-309.20459"
+       x="256.41656"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="256.41656 259.52472"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">f(</tspan></text><text
+       y="-309.20459"
+       x="262.73206"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="262.73206 268.24557 270.7565"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan110">a,b</tspan></text><text
+       y="-309.20459"
+       x="277.06729"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text118"><tspan
+         style="stroke-width:0.239965"
+         x="277.06729"
+         y="-309.20459"
+         id="tspan116">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path120"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 269.1903,335.8646 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 292.86837,335.86461 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path124"
+       inkscape:connector-curvature="0" /><path
+       d="m 269.1903,335.86461 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path128"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path130"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 303.509,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path132"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3962,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path134"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 338.2176,375.8749 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-368.73318"
+       x="307.08405"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text140"><tspan
+         style="stroke-width:0.239965"
+         x="307.08405 310.1922"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan138">f(</tspan></text><text
+       y="-368.73318"
+       x="313.39954"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text146"><tspan
+         style="stroke-width:0.239965"
+         x="313.39954 318.91306 321.42398"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan144">a,b</tspan></text><text
+       y="-368.73318"
+       x="327.73477"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text152"><tspan
+         style="stroke-width:0.239965"
+         x="327.73477"
+         y="-368.73318"
+         id="tspan150">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path154"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 319.8651,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 343.54317,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path158"
+       inkscape:connector-curvature="0" /><path
+       d="m 319.8651,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path162"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path164"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 281.0293,245.7839 c 0,8.5858 6.9622,15.5459 15.5504,15.5459 8.5883,0 15.5504,-6.9601 15.5504,-15.5459 0,-8.5858 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path166"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 260.9165,249.7327 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path168"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 315.7379,249.3743 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-242.23494"
+       x="284.6076"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text174"><tspan
+         style="stroke-width:0.239965"
+         x="284.6076 287.71576"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan172">f(</tspan></text><text
+       y="-242.23494"
+       x="290.9231"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text180"><tspan
+         style="stroke-width:0.239965"
+         x="290.9231 296.43658 298.94754"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan178">a,b</tspan></text><text
+       y="-242.23494"
+       x="305.25833"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text186"><tspan
+         style="stroke-width:0.239965"
+         x="305.25833"
+         y="-242.23494"
+         id="tspan184">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path188"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 297.3854,268.9578 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 321.06347,268.95781 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path192"
+       inkscape:connector-curvature="0" /><path
+       d="m 297.3854,268.95781 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path196"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path198"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 354.7226,304.856 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path200"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 334.6098,308.8049 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path202"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 389.4312,308.4465 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-301.28345"
+       x="358.29025"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text208"><tspan
+         style="stroke-width:0.239965"
+         x="358.29025 361.39841"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan206">f(</tspan></text><text
+       y="-301.28345"
+       x="364.60574"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text214"><tspan
+         style="stroke-width:0.239965"
+         x="364.60574 370.11926 372.63019"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan212">a,b</tspan></text><text
+       y="-301.28345"
+       x="378.94089"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text220"><tspan
+         style="stroke-width:0.239965"
+         x="378.94089"
+         y="-301.28345"
+         id="tspan218">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path222"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 371.0787,328.03 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 394.75677,328.03001 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path226"
+       inkscape:connector-curvature="0" /><path
+       d="m 371.0787,328.03001 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path230"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path232"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 425.6149,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path234"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 405.5021,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path236"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 460.3235,375.8749 h 8.0662 v 3.9488 l 7.9,-7.8976 -7.9,-7.8977 v 3.9488 h -8.0662 z" /><text
+       y="-368.73318"
+       x="429.17233"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text242"><tspan
+         style="stroke-width:0.239965"
+         x="429.17233 432.28049"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan240">f(</tspan></text><text
+       y="-368.73318"
+       x="435.48782"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text248"><tspan
+         style="stroke-width:0.239965"
+         x="435.48782 441.00131 443.51227"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan246">a,b</tspan></text><text
+       y="-368.73318"
+       x="449.82294"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text254"><tspan
+         style="stroke-width:0.239965"
+         x="449.82294"
+         y="-368.73318"
+         id="tspan252">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path256"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 441.971,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 465.64907,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path260"
+       inkscape:connector-curvature="0" /><path
+       d="m 441.971,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path264"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path266"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 548.8411,464.5257 h 35.8583 V 434.6525 L 569.3685,419.326 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path268"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 569.3685,419.326 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 569.36852,419.32607 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 548.8411 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path272"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path274"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 590.4269,464.7729 h 35.8583 v -29.8732 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path276"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 610.9543,419.5732 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 610.95432,419.57327 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 590.4269 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path280"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path282"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 566.7702,451.3423 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path284"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 587.2976,406.1427 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 587.29762,406.14267 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 566.7702 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path288"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path290"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 608.3561,451.7642 h 35.8583 v -29.8731 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path292"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 628.8835,406.5646 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 628.88352,406.56457 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 608.3561 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path296"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path298"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 584.306,438.0865 h 35.8583 V 408.2134 L 604.8334,392.8869 H 584.306 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path300"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 604.8334,392.8869 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 604.83342,392.88687 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 584.306 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path304"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path306"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 625.8918,438.3337 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path308"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 646.4192,393.1341 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 646.41922,393.13407 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 625.8918 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path312"
+       inkscape:connector-curvature="0" /><text
+       y="-368.73318"
+       x="608.38934"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text318"><tspan
+         style="stroke-width:0.239965"
+         x="608.38934 618.91522 625.22974 630.24438 635.25903 638.76593 643.78064 647.58649 654.79785 659.00665 665.32111 672.53247"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan316">mass storage</tspan></text><text
+       y="-353.61102"
+       x="580.92999"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text324"><tspan
+         style="stroke-width:0.239965"
+         x="580.92999 584.53827 590.95416 597.565 600.36737 603.8717 612.49725 620.5119 625.06903 627.8714 631.37573 637.79156 645.80621 652.22211 655.02448 658.52881 667.24536 675.87091 681.62384 688.03973 690.8421 694.34644 702.86798"
+         y="-353.61102"
+         sodipodi:role="line"
+         id="tspan322">(S3, GCF, ECS, HDFS, …)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path326"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c -1.3667,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.465 1.1078,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3667,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path328"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c 1.3666,0 2.4745,-4.4303 2.4745,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4745,-9.8954 -1.3667,0 -2.4745,4.4304 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       d="m 171.04226,334.30449 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path332"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path334"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c -1.3666,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.4651 1.1079,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.465 1.1079,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path336"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 z" /><path
+       d="m 175.51856,323.45759 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path340"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path342"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c 1.3667,0 2.4746,4.4303 2.4746,9.8954 0,5.4651 -1.1079,9.8954 -2.4746,9.8954 l 67.4416,-10e-5 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path344"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       d="m 108.07694,273.38061 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 -1.36665,0 -2.47454,4.43032 -2.47454,9.8954 0,5.46507 1.10789,9.89539 2.47454,9.89539 z m 0,0 h 67.44161 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 l -67.44161,8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path348"
+       inkscape:connector-curvature="0" /><text
+       y="-363.2124"
+       x="105.80902"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text354"><tspan
+         style="stroke-width:0.239965"
+         x="105.80902 112.32498 118.13904 124.655 131.5739 135.38625 138.89964 141.50316 148.42206 155.63992 159.59525 166.11121 171.11938"
+         y="-363.2124"
+         sodipodi:role="line"
+         id="tspan352">event ingress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path356"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 80.16674,340.3874 h 8.06628 v 3.9488 l 7.89992,-7.8977 -7.89992,-7.8976 v 3.9488 h -8.06628 z" /><path
+       inkscape:connector-curvature="0"
+       id="path358"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 97.11817,259.5365 h -8.06628 v -3.9488 l -7.89991,7.8977 7.89991,7.8976 v -3.9488 h 8.06628 z" /><text
+       y="-229.03304"
+       x="109.69826"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text364"><tspan
+         style="stroke-width:0.239965"
+         x="109.69826 116.21422 122.02827 128.54424 135.46313 139.27548 142.78888 149.30484 156.52269 160.47801 166.99397 172.00215"
+         y="-229.03304"
+         sodipodi:role="line"
+         id="tspan362">event egress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path366"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 457.59,281.6705 c 0,8.5858 6.9622,15.546 15.5504,15.546 8.5883,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path368"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.4772,285.6194 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path370"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 492.2986,285.261 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-278.00009"
+       x="461.14282"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text376"><tspan
+         style="stroke-width:0.239965"
+         x="461.14282 464.25095"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan374">f(</tspan></text><text
+       y="-278.00009"
+       x="467.45828"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text382"><tspan
+         style="stroke-width:0.239965"
+         x="467.45828 472.9718 475.48273"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan380">a,b</tspan></text><text
+       y="-278.00009"
+       x="481.79352"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text388"><tspan
+         style="stroke-width:0.239965"
+         x="481.79352"
+         y="-278.00009"
+         id="tspan386">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path390"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 473.9461,304.8445 c 0,1.5737 5.3005,2.8494 11.8391,2.8494 6.5385,0 11.839,-1.2757 11.839,-2.8494 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.839,-2.8495 -6.5386,0 -11.8391,1.2758 -11.8391,2.8495 z" /><path
+       d="m 497.62417,304.84441 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path394"
+       inkscape:connector-curvature="0" /><path
+       d="m 473.9461,304.84441 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path398"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path400"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 447.2134,353.1989 20.2168,-44.5067 -1.0955,-0.4973 -20.2168,44.5067 z m 21.5283,-43.0306 -0.201,-5.3752 -4.1808,3.3859 z" /><path
+       inkscape:connector-curvature="0"
+       id="path402"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 273.786,258.1659 -63.9204,3.6864 0.0693,1.2008 63.9204,-3.6864 z m -63.2236,1.8391 -4.6659,2.6786 4.9431,2.1245 z" /><path
+       inkscape:connector-curvature="0"
+       id="path404"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 198.1848,259.5365 h -8.0663 v -3.9488 l -7.8999,7.8977 7.8999,7.8976 v -3.9488 h 8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path406"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 181.8899,340.3874 h 8.0662 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0662 z" /><path
+       inkscape:connector-curvature="0"
+       id="path408"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.2212,335.4764 19.0532,-12.2173 -0.6496,-1.0124 -19.0531,12.2173 z m 19.3524,-10.2657 2.7517,-4.6223 -5.35,0.5726 z" /><path
+       inkscape:connector-curvature="0"
+       id="path410"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.1421,337.4363 66.509,29.7415 -0.4912,1.098 -66.5091,-29.7415 z m 66.5138,27.7672 3.4105,4.1604 -5.3756,0.2314 z" /><path
+       inkscape:connector-curvature="0"
+       id="path412"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 304.4639,357.2394 -10.8883,-12.3806 0.9035,-0.7942 10.8884,12.3806 z m -11.7141,-10.5871 -1.3705,-5.2016 4.9848,2.0248 z" /><path
+       inkscape:connector-curvature="0"
+       id="path414"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 330.9776,354.0716 25.732,-29.2737 -0.9037,-0.794 -25.7321,29.2737 z m 26.5582,-27.4805 1.3692,-5.2019 -4.9842,2.0261 z" /><path
+       inkscape:connector-curvature="0"
+       id="path416"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 307.5518,312.8069 16.4842,-3.4811 -0.2487,-1.1768 -16.4841,3.4811 z m 16.0724,-1.5502 4.2113,-3.348 -5.2059,-1.3592 z" /><path
+       inkscape:connector-curvature="0"
+       id="path418"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 387.5981,332.7553 26.6624,22.4866 -0.7758,0.9194 -26.6624,-22.4867 z m 27.213,20.5906 2.1268,4.9409 -5.2299,-1.2636 z" /><path
+       inkscape:connector-curvature="0"
+       id="path420"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 430.8227,284.8296 -22.8242,9.0557 0.4438,1.118 22.8242,-9.0558 z m -22.7445,7.083 -3.5854,4.0107 5.3607,0.4611 z" /><path
+       inkscape:connector-curvature="0"
+       id="path422"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 356.5692,288.7697 -25.0874,-22.6078 0.8056,-0.8934 25.0874,22.6078 z m -25.6999,-20.7308 -1.9635,-5.008 5.1857,1.4344 z" /><path
+       inkscape:connector-curvature="0"
+       id="path424"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3381,342.4439 15.2029,16.6751 -0.8892,0.8102 -15.2029,-16.6751 z m 15.9964,14.8671 1.4634,5.1762 -5.0202,-1.9353 z" /><path
+       inkscape:connector-curvature="0"
+       id="path426"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 408.2335,306.1681 26.6967,-12.0672 -0.4957,-1.0959 -26.6966,12.0671 z m 26.7093,-10.0929 3.3938,-4.174 -5.3764,-0.2098 z" /><path
+       inkscape:connector-curvature="0"
+       id="path428"
+       style="fill:#9cb2b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 505.6615,359.1385 1.2087,0.7668 13.4225,-21.1452 -1.2087,-0.7668 z m 2.4174,1.5336 2.4174,1.5337 13.4225,-21.1453 -2.4174,-1.5336 z m 3.6261,2.3005 25.5101,16.1838 -5.5613,8.7611 31.6118,-7.0648 -7.0667,-31.6026 -5.5613,8.7611 -25.5101,-16.1839 z" /><text
+       y="-330.32767"
+       x="411.22839"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text434"><tspan
+         style="stroke-width:0.227203"
+         x="411.22839 416.24048 423.16327 429.47516 436.69693 441.70901 448.63181 455.85355"
+         y="-330.32767"
+         sodipodi:role="line"
+         id="tspan432">snapshot</tspan></text><text
+       y="-315.4455"
+       x="427.76627"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text440"><tspan
+         style="stroke-width:0.227203"
+         x="427.76627 432.77832 436.58157 442.89346 446.69672"
+         y="-315.4455"
+         sodipodi:role="line"
+         id="tspan438">state</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path442"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:2.25081"
+       d="M 226.41979,414.89035 H 512.08273 V 214.95263 H 226.41979 Z" /></g></svg>
diff --git a/docs/fig/concepts/statefun-app-ingress.svg b/docs/fig/concepts/statefun-app-ingress.svg
new file mode 100644
index 0000000..0548278
--- /dev/null
+++ b/docs/fig/concepts/statefun-app-ingress.svg
@@ -0,0 +1,667 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="statefun-app-ingress.svg"
+   viewBox="0 0 854.56909 319.63663"
+   height="319.63663"
+   width="854.56909"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="212.90014"
+     inkscape:cx="441.65412"
+     inkscape:zoom="0.84436275"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-86.345878,620.90014)"
+     inkscape:label="seth-wiesman-leveraging-stateful-functions"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path30"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 780.92 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 781 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path96"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 252.8342,312.6906 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path98"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 232.7214,316.6395 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 287.5428,316.2811 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-309.20459"
+       x="256.41656"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="256.41656 259.52472"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">f(</tspan></text><text
+       y="-309.20459"
+       x="262.73206"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="262.73206 268.24557 270.7565"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan110">a,b</tspan></text><text
+       y="-309.20459"
+       x="277.06729"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text118"><tspan
+         style="stroke-width:0.239965"
+         x="277.06729"
+         y="-309.20459"
+         id="tspan116">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path120"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 269.1903,335.8646 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 292.86837,335.86461 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path124"
+       inkscape:connector-curvature="0" /><path
+       d="m 269.1903,335.86461 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path128"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path130"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 303.509,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path132"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3962,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path134"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 338.2176,375.8749 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-368.73318"
+       x="307.08405"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text140"><tspan
+         style="stroke-width:0.239965"
+         x="307.08405 310.1922"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan138">f(</tspan></text><text
+       y="-368.73318"
+       x="313.39954"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text146"><tspan
+         style="stroke-width:0.239965"
+         x="313.39954 318.91306 321.42398"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan144">a,b</tspan></text><text
+       y="-368.73318"
+       x="327.73477"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text152"><tspan
+         style="stroke-width:0.239965"
+         x="327.73477"
+         y="-368.73318"
+         id="tspan150">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path154"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 319.8651,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 343.54317,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path158"
+       inkscape:connector-curvature="0" /><path
+       d="m 319.8651,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path162"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path164"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 281.0293,245.7839 c 0,8.5858 6.9622,15.5459 15.5504,15.5459 8.5883,0 15.5504,-6.9601 15.5504,-15.5459 0,-8.5858 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path166"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 260.9165,249.7327 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path168"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 315.7379,249.3743 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-242.23494"
+       x="284.6076"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text174"><tspan
+         style="stroke-width:0.239965"
+         x="284.6076 287.71576"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan172">f(</tspan></text><text
+       y="-242.23494"
+       x="290.9231"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text180"><tspan
+         style="stroke-width:0.239965"
+         x="290.9231 296.43658 298.94754"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan178">a,b</tspan></text><text
+       y="-242.23494"
+       x="305.25833"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text186"><tspan
+         style="stroke-width:0.239965"
+         x="305.25833"
+         y="-242.23494"
+         id="tspan184">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path188"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 297.3854,268.9578 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 321.06347,268.95781 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path192"
+       inkscape:connector-curvature="0" /><path
+       d="m 297.3854,268.95781 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path196"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path198"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 354.7226,304.856 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path200"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 334.6098,308.8049 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path202"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 389.4312,308.4465 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-301.28345"
+       x="358.29025"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text208"><tspan
+         style="stroke-width:0.239965"
+         x="358.29025 361.39841"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan206">f(</tspan></text><text
+       y="-301.28345"
+       x="364.60574"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text214"><tspan
+         style="stroke-width:0.239965"
+         x="364.60574 370.11926 372.63019"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan212">a,b</tspan></text><text
+       y="-301.28345"
+       x="378.94089"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text220"><tspan
+         style="stroke-width:0.239965"
+         x="378.94089"
+         y="-301.28345"
+         id="tspan218">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path222"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 371.0787,328.03 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 394.75677,328.03001 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path226"
+       inkscape:connector-curvature="0" /><path
+       d="m 371.0787,328.03001 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path230"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path232"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 425.6149,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path234"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 405.5021,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path236"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 460.3235,375.8749 h 8.0662 v 3.9488 l 7.9,-7.8976 -7.9,-7.8977 v 3.9488 h -8.0662 z" /><text
+       y="-368.73318"
+       x="429.17233"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text242"><tspan
+         style="stroke-width:0.239965"
+         x="429.17233 432.28049"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan240">f(</tspan></text><text
+       y="-368.73318"
+       x="435.48782"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text248"><tspan
+         style="stroke-width:0.239965"
+         x="435.48782 441.00131 443.51227"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan246">a,b</tspan></text><text
+       y="-368.73318"
+       x="449.82294"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text254"><tspan
+         style="stroke-width:0.239965"
+         x="449.82294"
+         y="-368.73318"
+         id="tspan252">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path256"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 441.971,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 465.64907,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path260"
+       inkscape:connector-curvature="0" /><path
+       d="m 441.971,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path264"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path266"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 548.8411,464.5257 h 35.8583 V 434.6525 L 569.3685,419.326 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path268"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 569.3685,419.326 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 569.36852,419.32607 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 548.8411 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path272"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path274"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 590.4269,464.7729 h 35.8583 v -29.8732 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path276"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 610.9543,419.5732 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 610.95432,419.57327 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 590.4269 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path280"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path282"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 566.7702,451.3423 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path284"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 587.2976,406.1427 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 587.29762,406.14267 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 566.7702 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path288"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path290"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 608.3561,451.7642 h 35.8583 v -29.8731 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path292"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 628.8835,406.5646 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 628.88352,406.56457 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 608.3561 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path296"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path298"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 584.306,438.0865 h 35.8583 V 408.2134 L 604.8334,392.8869 H 584.306 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path300"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 604.8334,392.8869 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 604.83342,392.88687 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 584.306 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path304"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path306"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 625.8918,438.3337 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path308"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 646.4192,393.1341 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 646.41922,393.13407 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 625.8918 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path312"
+       inkscape:connector-curvature="0" /><text
+       y="-368.73318"
+       x="608.38934"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text318"><tspan
+         style="stroke-width:0.239965"
+         x="608.38934 618.91522 625.22974 630.24438 635.25903 638.76593 643.78064 647.58649 654.79785 659.00665 665.32111 672.53247"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan316">mass storage</tspan></text><text
+       y="-353.61102"
+       x="580.92999"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text324"><tspan
+         style="stroke-width:0.239965"
+         x="580.92999 584.53827 590.95416 597.565 600.36737 603.8717 612.49725 620.5119 625.06903 627.8714 631.37573 637.79156 645.80621 652.22211 655.02448 658.52881 667.24536 675.87091 681.62384 688.03973 690.8421 694.34644 702.86798"
+         y="-353.61102"
+         sodipodi:role="line"
+         id="tspan322">(S3, GCF, ECS, HDFS, …)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path326"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c -1.3667,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.465 1.1078,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3667,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path328"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c 1.3666,0 2.4745,-4.4303 2.4745,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4745,-9.8954 -1.3667,0 -2.4745,4.4304 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       d="m 171.04226,334.30449 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path332"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path334"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c -1.3666,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.4651 1.1079,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.465 1.1079,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path336"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 z" /><path
+       d="m 175.51856,323.45759 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path340"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path342"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c 1.3667,0 2.4746,4.4303 2.4746,9.8954 0,5.4651 -1.1079,9.8954 -2.4746,9.8954 l 67.4416,-10e-5 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path344"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       d="m 108.07694,273.38061 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 -1.36665,0 -2.47454,4.43032 -2.47454,9.8954 0,5.46507 1.10789,9.89539 2.47454,9.89539 z m 0,0 h 67.44161 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 l -67.44161,8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path348"
+       inkscape:connector-curvature="0" /><text
+       y="-363.2124"
+       x="105.80902"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text354"><tspan
+         style="stroke-width:0.239965"
+         x="105.80902 112.32498 118.13904 124.655 131.5739 135.38625 138.89964 141.50316 148.42206 155.63992 159.59525 166.11121 171.11938"
+         y="-363.2124"
+         sodipodi:role="line"
+         id="tspan352">event ingress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path356"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 80.16674,340.3874 h 8.06628 v 3.9488 l 7.89992,-7.8977 -7.89992,-7.8976 v 3.9488 h -8.06628 z" /><path
+       inkscape:connector-curvature="0"
+       id="path358"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 97.11817,259.5365 h -8.06628 v -3.9488 l -7.89991,7.8977 7.89991,7.8976 v -3.9488 h 8.06628 z" /><text
+       y="-229.03304"
+       x="109.69826"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text364"><tspan
+         style="stroke-width:0.239965"
+         x="109.69826 116.21422 122.02827 128.54424 135.46313 139.27548 142.78888 149.30484 156.52269 160.47801 166.99397 172.00215"
+         y="-229.03304"
+         sodipodi:role="line"
+         id="tspan362">event egress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path366"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 457.59,281.6705 c 0,8.5858 6.9622,15.546 15.5504,15.546 8.5883,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path368"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.4772,285.6194 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path370"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 492.2986,285.261 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-278.00009"
+       x="461.14282"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text376"><tspan
+         style="stroke-width:0.239965"
+         x="461.14282 464.25095"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan374">f(</tspan></text><text
+       y="-278.00009"
+       x="467.45828"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text382"><tspan
+         style="stroke-width:0.239965"
+         x="467.45828 472.9718 475.48273"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan380">a,b</tspan></text><text
+       y="-278.00009"
+       x="481.79352"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text388"><tspan
+         style="stroke-width:0.239965"
+         x="481.79352"
+         y="-278.00009"
+         id="tspan386">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path390"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 473.9461,304.8445 c 0,1.5737 5.3005,2.8494 11.8391,2.8494 6.5385,0 11.839,-1.2757 11.839,-2.8494 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.839,-2.8495 -6.5386,0 -11.8391,1.2758 -11.8391,2.8495 z" /><path
+       d="m 497.62417,304.84441 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path394"
+       inkscape:connector-curvature="0" /><path
+       d="m 473.9461,304.84441 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path398"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path400"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 447.2134,353.1989 20.2168,-44.5067 -1.0955,-0.4973 -20.2168,44.5067 z m 21.5283,-43.0306 -0.201,-5.3752 -4.1808,3.3859 z" /><path
+       inkscape:connector-curvature="0"
+       id="path402"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 273.786,258.1659 -63.9204,3.6864 0.0693,1.2008 63.9204,-3.6864 z m -63.2236,1.8391 -4.6659,2.6786 4.9431,2.1245 z" /><path
+       inkscape:connector-curvature="0"
+       id="path404"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 198.1848,259.5365 h -8.0663 v -3.9488 l -7.8999,7.8977 7.8999,7.8976 v -3.9488 h 8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path406"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 181.8899,340.3874 h 8.0662 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0662 z" /><path
+       inkscape:connector-curvature="0"
+       id="path408"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.2212,335.4764 19.0532,-12.2173 -0.6496,-1.0124 -19.0531,12.2173 z m 19.3524,-10.2657 2.7517,-4.6223 -5.35,0.5726 z" /><path
+       inkscape:connector-curvature="0"
+       id="path410"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.1421,337.4363 66.509,29.7415 -0.4912,1.098 -66.5091,-29.7415 z m 66.5138,27.7672 3.4105,4.1604 -5.3756,0.2314 z" /><path
+       inkscape:connector-curvature="0"
+       id="path412"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 304.4639,357.2394 -10.8883,-12.3806 0.9035,-0.7942 10.8884,12.3806 z m -11.7141,-10.5871 -1.3705,-5.2016 4.9848,2.0248 z" /><path
+       inkscape:connector-curvature="0"
+       id="path414"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 330.9776,354.0716 25.732,-29.2737 -0.9037,-0.794 -25.7321,29.2737 z m 26.5582,-27.4805 1.3692,-5.2019 -4.9842,2.0261 z" /><path
+       inkscape:connector-curvature="0"
+       id="path416"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 307.5518,312.8069 16.4842,-3.4811 -0.2487,-1.1768 -16.4841,3.4811 z m 16.0724,-1.5502 4.2113,-3.348 -5.2059,-1.3592 z" /><path
+       inkscape:connector-curvature="0"
+       id="path418"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 387.5981,332.7553 26.6624,22.4866 -0.7758,0.9194 -26.6624,-22.4867 z m 27.213,20.5906 2.1268,4.9409 -5.2299,-1.2636 z" /><path
+       inkscape:connector-curvature="0"
+       id="path420"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 430.8227,284.8296 -22.8242,9.0557 0.4438,1.118 22.8242,-9.0558 z m -22.7445,7.083 -3.5854,4.0107 5.3607,0.4611 z" /><path
+       inkscape:connector-curvature="0"
+       id="path422"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 356.5692,288.7697 -25.0874,-22.6078 0.8056,-0.8934 25.0874,22.6078 z m -25.6999,-20.7308 -1.9635,-5.008 5.1857,1.4344 z" /><path
+       inkscape:connector-curvature="0"
+       id="path424"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3381,342.4439 15.2029,16.6751 -0.8892,0.8102 -15.2029,-16.6751 z m 15.9964,14.8671 1.4634,5.1762 -5.0202,-1.9353 z" /><path
+       inkscape:connector-curvature="0"
+       id="path426"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 408.2335,306.1681 26.6967,-12.0672 -0.4957,-1.0959 -26.6966,12.0671 z m 26.7093,-10.0929 3.3938,-4.174 -5.3764,-0.2098 z" /><path
+       inkscape:connector-curvature="0"
+       id="path428"
+       style="fill:#9cb2b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 505.6615,359.1385 1.2087,0.7668 13.4225,-21.1452 -1.2087,-0.7668 z m 2.4174,1.5336 2.4174,1.5337 13.4225,-21.1453 -2.4174,-1.5336 z m 3.6261,2.3005 25.5101,16.1838 -5.5613,8.7611 31.6118,-7.0648 -7.0667,-31.6026 -5.5613,8.7611 -25.5101,-16.1839 z" /><text
+       y="-330.32767"
+       x="411.22839"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text434"><tspan
+         style="stroke-width:0.227203"
+         x="411.22839 416.24048 423.16327 429.47516 436.69693 441.70901 448.63181 455.85355"
+         y="-330.32767"
+         sodipodi:role="line"
+         id="tspan432">snapshot</tspan></text><text
+       y="-315.4455"
+       x="427.76627"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text440"><tspan
+         style="stroke-width:0.227203"
+         x="427.76627 432.77832 436.58157 442.89346 446.69672"
+         y="-315.4455"
+         sodipodi:role="line"
+         id="tspan438">state</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path442"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none"
+       d="M 64.75941,385.5783 H 205.6386 V 305.5535 H 64.75941 Z" /></g></svg>
diff --git a/docs/fig/concepts/statefun-app-state.svg b/docs/fig/concepts/statefun-app-state.svg
new file mode 100644
index 0000000..dedf587
--- /dev/null
+++ b/docs/fig/concepts/statefun-app-state.svg
@@ -0,0 +1,687 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="statefun-app-state.svg"
+   viewBox="0 0 854.56909 319.63663"
+   height="319.63663"
+   width="854.56909"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="212.90014"
+     inkscape:cx="441.65412"
+     inkscape:zoom="0.84436275"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-86.345878,620.90014)"
+     inkscape:label="seth-wiesman-leveraging-stateful-functions"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path30"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 780.92 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 781 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path96"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 252.8342,312.6906 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path98"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 232.7214,316.6395 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 287.5428,316.2811 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-309.20459"
+       x="256.41656"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="256.41656 259.52472"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">f(</tspan></text><text
+       y="-309.20459"
+       x="262.73206"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="262.73206 268.24557 270.7565"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan110">a,b</tspan></text><text
+       y="-309.20459"
+       x="277.06729"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text118"><tspan
+         style="stroke-width:0.239965"
+         x="277.06729"
+         y="-309.20459"
+         id="tspan116">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path120"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 269.1903,335.8646 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 292.86837,335.86461 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path124"
+       inkscape:connector-curvature="0" /><path
+       d="m 269.1903,335.86461 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path128"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path130"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 303.509,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path132"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3962,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path134"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 338.2176,375.8749 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-368.73318"
+       x="307.08405"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text140"><tspan
+         style="stroke-width:0.239965"
+         x="307.08405 310.1922"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan138">f(</tspan></text><text
+       y="-368.73318"
+       x="313.39954"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text146"><tspan
+         style="stroke-width:0.239965"
+         x="313.39954 318.91306 321.42398"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan144">a,b</tspan></text><text
+       y="-368.73318"
+       x="327.73477"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text152"><tspan
+         style="stroke-width:0.239965"
+         x="327.73477"
+         y="-368.73318"
+         id="tspan150">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path154"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 319.8651,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 343.54317,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path158"
+       inkscape:connector-curvature="0" /><path
+       d="m 319.8651,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path162"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path164"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 281.0293,245.7839 c 0,8.5858 6.9622,15.5459 15.5504,15.5459 8.5883,0 15.5504,-6.9601 15.5504,-15.5459 0,-8.5858 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path166"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 260.9165,249.7327 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path168"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 315.7379,249.3743 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-242.23494"
+       x="284.6076"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text174"><tspan
+         style="stroke-width:0.239965"
+         x="284.6076 287.71576"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan172">f(</tspan></text><text
+       y="-242.23494"
+       x="290.9231"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text180"><tspan
+         style="stroke-width:0.239965"
+         x="290.9231 296.43658 298.94754"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan178">a,b</tspan></text><text
+       y="-242.23494"
+       x="305.25833"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text186"><tspan
+         style="stroke-width:0.239965"
+         x="305.25833"
+         y="-242.23494"
+         id="tspan184">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path188"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 297.3854,268.9578 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 321.06347,268.95781 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path192"
+       inkscape:connector-curvature="0" /><path
+       d="m 297.3854,268.95781 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path196"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path198"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 354.7226,304.856 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path200"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 334.6098,308.8049 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path202"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 389.4312,308.4465 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-301.28345"
+       x="358.29025"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text208"><tspan
+         style="stroke-width:0.239965"
+         x="358.29025 361.39841"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan206">f(</tspan></text><text
+       y="-301.28345"
+       x="364.60574"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text214"><tspan
+         style="stroke-width:0.239965"
+         x="364.60574 370.11926 372.63019"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan212">a,b</tspan></text><text
+       y="-301.28345"
+       x="378.94089"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text220"><tspan
+         style="stroke-width:0.239965"
+         x="378.94089"
+         y="-301.28345"
+         id="tspan218">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path222"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 371.0787,328.03 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 394.75677,328.03001 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path226"
+       inkscape:connector-curvature="0" /><path
+       d="m 371.0787,328.03001 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path230"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path232"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 425.6149,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path234"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 405.5021,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path236"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 460.3235,375.8749 h 8.0662 v 3.9488 l 7.9,-7.8976 -7.9,-7.8977 v 3.9488 h -8.0662 z" /><text
+       y="-368.73318"
+       x="429.17233"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text242"><tspan
+         style="stroke-width:0.239965"
+         x="429.17233 432.28049"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan240">f(</tspan></text><text
+       y="-368.73318"
+       x="435.48782"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text248"><tspan
+         style="stroke-width:0.239965"
+         x="435.48782 441.00131 443.51227"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan246">a,b</tspan></text><text
+       y="-368.73318"
+       x="449.82294"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text254"><tspan
+         style="stroke-width:0.239965"
+         x="449.82294"
+         y="-368.73318"
+         id="tspan252">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path256"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 441.971,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 465.64907,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path260"
+       inkscape:connector-curvature="0" /><path
+       d="m 441.971,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path264"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path266"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 548.8411,464.5257 h 35.8583 V 434.6525 L 569.3685,419.326 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path268"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 569.3685,419.326 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 569.36852,419.32607 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 548.8411 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path272"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path274"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 590.4269,464.7729 h 35.8583 v -29.8732 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path276"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 610.9543,419.5732 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 610.95432,419.57327 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 590.4269 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path280"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path282"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 566.7702,451.3423 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path284"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 587.2976,406.1427 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 587.29762,406.14267 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 566.7702 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path288"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path290"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 608.3561,451.7642 h 35.8583 v -29.8731 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path292"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 628.8835,406.5646 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 628.88352,406.56457 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 608.3561 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path296"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path298"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 584.306,438.0865 h 35.8583 V 408.2134 L 604.8334,392.8869 H 584.306 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path300"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 604.8334,392.8869 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 604.83342,392.88687 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 584.306 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path304"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path306"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 625.8918,438.3337 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path308"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 646.4192,393.1341 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 646.41922,393.13407 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 625.8918 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path312"
+       inkscape:connector-curvature="0" /><text
+       y="-368.73318"
+       x="608.38934"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text318"><tspan
+         style="stroke-width:0.239965"
+         x="608.38934 618.91522 625.22974 630.24438 635.25903 638.76593 643.78064 647.58649 654.79785 659.00665 665.32111 672.53247"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan316">mass storage</tspan></text><text
+       y="-353.61102"
+       x="580.92999"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text324"><tspan
+         style="stroke-width:0.239965"
+         x="580.92999 584.53827 590.95416 597.565 600.36737 603.8717 612.49725 620.5119 625.06903 627.8714 631.37573 637.79156 645.80621 652.22211 655.02448 658.52881 667.24536 675.87091 681.62384 688.03973 690.8421 694.34644 702.86798"
+         y="-353.61102"
+         sodipodi:role="line"
+         id="tspan322">(S3, GCF, ECS, HDFS, …)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path326"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c -1.3667,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.465 1.1078,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3667,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path328"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c 1.3666,0 2.4745,-4.4303 2.4745,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4745,-9.8954 -1.3667,0 -2.4745,4.4304 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       d="m 171.04226,334.30449 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path332"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path334"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c -1.3666,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.4651 1.1079,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.465 1.1079,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path336"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 z" /><path
+       d="m 175.51856,323.45759 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path340"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path342"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c 1.3667,0 2.4746,4.4303 2.4746,9.8954 0,5.4651 -1.1079,9.8954 -2.4746,9.8954 l 67.4416,-10e-5 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path344"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       d="m 108.07694,273.38061 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 -1.36665,0 -2.47454,4.43032 -2.47454,9.8954 0,5.46507 1.10789,9.89539 2.47454,9.89539 z m 0,0 h 67.44161 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 l -67.44161,8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path348"
+       inkscape:connector-curvature="0" /><text
+       y="-363.2124"
+       x="105.80902"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text354"><tspan
+         style="stroke-width:0.239965"
+         x="105.80902 112.32498 118.13904 124.655 131.5739 135.38625 138.89964 141.50316 148.42206 155.63992 159.59525 166.11121 171.11938"
+         y="-363.2124"
+         sodipodi:role="line"
+         id="tspan352">event ingress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path356"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 80.16674,340.3874 h 8.06628 v 3.9488 l 7.89992,-7.8977 -7.89992,-7.8976 v 3.9488 h -8.06628 z" /><path
+       inkscape:connector-curvature="0"
+       id="path358"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 97.11817,259.5365 h -8.06628 v -3.9488 l -7.89991,7.8977 7.89991,7.8976 v -3.9488 h 8.06628 z" /><text
+       y="-229.03304"
+       x="109.69826"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text364"><tspan
+         style="stroke-width:0.239965"
+         x="109.69826 116.21422 122.02827 128.54424 135.46313 139.27548 142.78888 149.30484 156.52269 160.47801 166.99397 172.00215"
+         y="-229.03304"
+         sodipodi:role="line"
+         id="tspan362">event egress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path366"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 457.59,281.6705 c 0,8.5858 6.9622,15.546 15.5504,15.546 8.5883,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path368"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.4772,285.6194 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path370"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 492.2986,285.261 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-278.00009"
+       x="461.14282"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text376"><tspan
+         style="stroke-width:0.239965"
+         x="461.14282 464.25095"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan374">f(</tspan></text><text
+       y="-278.00009"
+       x="467.45828"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text382"><tspan
+         style="stroke-width:0.239965"
+         x="467.45828 472.9718 475.48273"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan380">a,b</tspan></text><text
+       y="-278.00009"
+       x="481.79352"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text388"><tspan
+         style="stroke-width:0.239965"
+         x="481.79352"
+         y="-278.00009"
+         id="tspan386">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path390"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 473.9461,304.8445 c 0,1.5737 5.3005,2.8494 11.8391,2.8494 6.5385,0 11.839,-1.2757 11.839,-2.8494 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.839,-2.8495 -6.5386,0 -11.8391,1.2758 -11.8391,2.8495 z" /><path
+       d="m 497.62417,304.84441 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path394"
+       inkscape:connector-curvature="0" /><path
+       d="m 473.9461,304.84441 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path398"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path400"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 447.2134,353.1989 20.2168,-44.5067 -1.0955,-0.4973 -20.2168,44.5067 z m 21.5283,-43.0306 -0.201,-5.3752 -4.1808,3.3859 z" /><path
+       inkscape:connector-curvature="0"
+       id="path402"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 273.786,258.1659 -63.9204,3.6864 0.0693,1.2008 63.9204,-3.6864 z m -63.2236,1.8391 -4.6659,2.6786 4.9431,2.1245 z" /><path
+       inkscape:connector-curvature="0"
+       id="path404"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 198.1848,259.5365 h -8.0663 v -3.9488 l -7.8999,7.8977 7.8999,7.8976 v -3.9488 h 8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path406"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 181.8899,340.3874 h 8.0662 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0662 z" /><path
+       inkscape:connector-curvature="0"
+       id="path408"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.2212,335.4764 19.0532,-12.2173 -0.6496,-1.0124 -19.0531,12.2173 z m 19.3524,-10.2657 2.7517,-4.6223 -5.35,0.5726 z" /><path
+       inkscape:connector-curvature="0"
+       id="path410"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.1421,337.4363 66.509,29.7415 -0.4912,1.098 -66.5091,-29.7415 z m 66.5138,27.7672 3.4105,4.1604 -5.3756,0.2314 z" /><path
+       inkscape:connector-curvature="0"
+       id="path412"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 304.4639,357.2394 -10.8883,-12.3806 0.9035,-0.7942 10.8884,12.3806 z m -11.7141,-10.5871 -1.3705,-5.2016 4.9848,2.0248 z" /><path
+       inkscape:connector-curvature="0"
+       id="path414"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 330.9776,354.0716 25.732,-29.2737 -0.9037,-0.794 -25.7321,29.2737 z m 26.5582,-27.4805 1.3692,-5.2019 -4.9842,2.0261 z" /><path
+       inkscape:connector-curvature="0"
+       id="path416"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 307.5518,312.8069 16.4842,-3.4811 -0.2487,-1.1768 -16.4841,3.4811 z m 16.0724,-1.5502 4.2113,-3.348 -5.2059,-1.3592 z" /><path
+       inkscape:connector-curvature="0"
+       id="path418"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 387.5981,332.7553 26.6624,22.4866 -0.7758,0.9194 -26.6624,-22.4867 z m 27.213,20.5906 2.1268,4.9409 -5.2299,-1.2636 z" /><path
+       inkscape:connector-curvature="0"
+       id="path420"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 430.8227,284.8296 -22.8242,9.0557 0.4438,1.118 22.8242,-9.0558 z m -22.7445,7.083 -3.5854,4.0107 5.3607,0.4611 z" /><path
+       inkscape:connector-curvature="0"
+       id="path422"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 356.5692,288.7697 -25.0874,-22.6078 0.8056,-0.8934 25.0874,22.6078 z m -25.6999,-20.7308 -1.9635,-5.008 5.1857,1.4344 z" /><path
+       inkscape:connector-curvature="0"
+       id="path424"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3381,342.4439 15.2029,16.6751 -0.8892,0.8102 -15.2029,-16.6751 z m 15.9964,14.8671 1.4634,5.1762 -5.0202,-1.9353 z" /><path
+       inkscape:connector-curvature="0"
+       id="path426"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 408.2335,306.1681 26.6967,-12.0672 -0.4957,-1.0959 -26.6966,12.0671 z m 26.7093,-10.0929 3.3938,-4.174 -5.3764,-0.2098 z" /><path
+       inkscape:connector-curvature="0"
+       id="path428"
+       style="fill:#9cb2b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 505.6615,359.1385 1.2087,0.7668 13.4225,-21.1452 -1.2087,-0.7668 z m 2.4174,1.5336 2.4174,1.5337 13.4225,-21.1453 -2.4174,-1.5336 z m 3.6261,2.3005 25.5101,16.1838 -5.5613,8.7611 31.6118,-7.0648 -7.0667,-31.6026 -5.5613,8.7611 -25.5101,-16.1839 z" /><text
+       y="-330.32767"
+       x="411.22839"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text434"><tspan
+         style="stroke-width:0.227203"
+         x="411.22839 416.24048 423.16327 429.47516 436.69693 441.70901 448.63181 455.85355"
+         y="-330.32767"
+         sodipodi:role="line"
+         id="tspan432">snapshot</tspan></text><text
+       y="-315.4455"
+       x="427.76627"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text440"><tspan
+         style="stroke-width:0.227203"
+         x="427.76627 432.77832 436.58157 442.89346 446.69672"
+         y="-315.4455"
+         sodipodi:role="line"
+         id="tspan438">state</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path442"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.533255"
+       d="m 284.12588,401.67612 h 66.52324 v -48.19119 h -66.52324 z" /><path
+       d="m 241.12334,341.43399 h 66.52324 V 293.2428 h -66.52324 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.533255"
+       id="path442-1"
+       inkscape:connector-curvature="0" /><path
+       d="M 273.98836,273.03921 H 340.5116 V 224.84802 H 273.98836 Z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.533255"
+       id="path442-5"
+       inkscape:connector-curvature="0" /><path
+       d="M 338.83016,333.43979 H 405.3534 V 285.2486 h -66.52324 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.533255"
+       id="path442-3"
+       inkscape:connector-curvature="0" /><path
+       d="m 438.31348,308.56897 h 66.52324 v -48.19119 h -66.52324 z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.533255"
+       id="path442-9"
+       inkscape:connector-curvature="0" /><path
+       d="m 411.708,405.21439 h 66.52324 V 357.0232 H 411.708 Z"
+       style="fill:#597978;fill-opacity:0.251;fill-rule:nonzero;stroke:none;stroke-width:0.533255"
+       id="path442-15"
+       inkscape:connector-curvature="0" /></g></svg>
diff --git a/docs/fig/concepts/statefun-app.svg b/docs/fig/concepts/statefun-app.svg
new file mode 100644
index 0000000..20826e5
--- /dev/null
+++ b/docs/fig/concepts/statefun-app.svg
@@ -0,0 +1,663 @@
+<?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.
+-->
+<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"
+   inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
+   sodipodi:docname="statefun-app.svg"
+   viewBox="0 0 854.56909 319.63663"
+   height="319.63663"
+   width="854.56909"
+   xml:space="preserve"
+   id="svg10"
+   version="1.1"><metadata
+     id="metadata16"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs14"><clipPath
+       id="clipPath28"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path26"
+         d="M 11,90 H 780.92 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath38"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path36"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><clipPath
+       id="clipPath48"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path46"
+         d="m 733.5299,123.5708 h 27.6719 V 95.90695 h -27.6719 z" /></clipPath><clipPath
+       id="clipPath54"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path52"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath><mask
+       id="mask58"
+       height="1"
+       width="1"
+       y="0"
+       x="0"
+       maskUnits="userSpaceOnUse"><image
+         id="image60"
+         xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABpCAAAAAAc6VLmAAAAAXNCSVQI5gpbmQAAA41JREFUaIHtms1qFEEQgKuTnVkW9ZIVEWJCDsYExYgHj7IgQfCWk6AEvHrKI/givoJnPSS+gIKggpB4C7lpQhQVNlm2vfTM9E9VdfXsZPxh6zLbVdX1dfV0z/R0L8BUpjKV/1y2tSvbZ0I50rgcSwMokddph7OOMkmMmbhLpjULgo7WeQOkeX0SjwJDvRxzifSeGgswRmb0BCS+blowrvcWE0Ggr9VrRionEo+21AIxAUlDTRAdkbhPqjYIqLmFk3oJgzuQ4RyqRnNNmUWYdLHJjpLqdx0TFdNNDELDIqoGQFjcUNMICAkcjL1LzYAgeDAF6IZSCiP75cZAQWjBO5eXXCmllBpESb4Q6xJCnttVf/hWHpzUe5HKq7uccwoqO [...]
+         preserveAspectRatio="none"
+         height="1"
+         width="1" /></mask><clipPath
+       id="clipPath70"
+       clipPathUnits="userSpaceOnUse"><path
+         inkscape:connector-curvature="0"
+         id="path68"
+         d="M 11,90 H 781 V 523 H 11 Z" /></clipPath></defs><sodipodi:namedview
+     inkscape:current-layer="g18"
+     inkscape:window-maximized="0"
+     inkscape:window-y="540"
+     inkscape:window-x="0"
+     inkscape:cy="212.90014"
+     inkscape:cx="441.65412"
+     inkscape:zoom="0.84436275"
+     showgrid="false"
+     id="namedview12"
+     inkscape:window-height="900"
+     inkscape:window-width="1440"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0"
+     guidetolerance="10"
+     gridtolerance="10"
+     objecttolerance="10"
+     borderopacity="1"
+     inkscape:document-rotation="0"
+     bordercolor="#666666"
+     pagecolor="#ffffff" /><g
+     transform="matrix(1.3333333,0,0,-1.3333333,-86.345878,620.90014)"
+     inkscape:label="seth-wiesman-leveraging-stateful-functions"
+     inkscape:groupmode="layer"
+     id="g18"><g
+       id="g20" /><path
+       inkscape:connector-curvature="0"
+       id="path30"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 780.92 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path40"
+       style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="M 11,523 H 781 V 90 H 11 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path96"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 252.8342,312.6906 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path98"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 232.7214,316.6395 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path100"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 287.5428,316.2811 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-309.20459"
+       x="256.41656"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text106"><tspan
+         style="stroke-width:0.239965"
+         x="256.41656 259.52472"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan104">f(</tspan></text><text
+       y="-309.20459"
+       x="262.73206"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text112"><tspan
+         style="stroke-width:0.239965"
+         x="262.73206 268.24557 270.7565"
+         y="-309.20459"
+         sodipodi:role="line"
+         id="tspan110">a,b</tspan></text><text
+       y="-309.20459"
+       x="277.06729"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text118"><tspan
+         style="stroke-width:0.239965"
+         x="277.06729"
+         y="-309.20459"
+         id="tspan116">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path120"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 269.1903,335.8646 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 292.86837,335.86461 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path124"
+       inkscape:connector-curvature="0" /><path
+       d="m 269.1903,335.86461 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path128"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path130"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 303.509,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path132"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3962,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path134"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 338.2176,375.8749 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-368.73318"
+       x="307.08405"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text140"><tspan
+         style="stroke-width:0.239965"
+         x="307.08405 310.1922"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan138">f(</tspan></text><text
+       y="-368.73318"
+       x="313.39954"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text146"><tspan
+         style="stroke-width:0.239965"
+         x="313.39954 318.91306 321.42398"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan144">a,b</tspan></text><text
+       y="-368.73318"
+       x="327.73477"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text152"><tspan
+         style="stroke-width:0.239965"
+         x="327.73477"
+         y="-368.73318"
+         id="tspan150">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path154"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 319.8651,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 343.54317,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path158"
+       inkscape:connector-curvature="0" /><path
+       d="m 319.8651,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path162"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path164"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 281.0293,245.7839 c 0,8.5858 6.9622,15.5459 15.5504,15.5459 8.5883,0 15.5504,-6.9601 15.5504,-15.5459 0,-8.5858 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path166"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 260.9165,249.7327 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path168"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 315.7379,249.3743 h 8.0663 v 3.9489 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-242.23494"
+       x="284.6076"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text174"><tspan
+         style="stroke-width:0.239965"
+         x="284.6076 287.71576"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan172">f(</tspan></text><text
+       y="-242.23494"
+       x="290.9231"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text180"><tspan
+         style="stroke-width:0.239965"
+         x="290.9231 296.43658 298.94754"
+         y="-242.23494"
+         sodipodi:role="line"
+         id="tspan178">a,b</tspan></text><text
+       y="-242.23494"
+       x="305.25833"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text186"><tspan
+         style="stroke-width:0.239965"
+         x="305.25833"
+         y="-242.23494"
+         id="tspan184">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path188"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 297.3854,268.9578 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5386,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 321.06347,268.95781 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path192"
+       inkscape:connector-curvature="0" /><path
+       d="m 297.3854,268.95781 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path196"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path198"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 354.7226,304.856 c 0,8.5858 6.9621,15.546 15.5504,15.546 8.5882,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path200"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 334.6098,308.8049 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path202"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 389.4312,308.4465 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9488 h -8.0663 z" /><text
+       y="-301.28345"
+       x="358.29025"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text208"><tspan
+         style="stroke-width:0.239965"
+         x="358.29025 361.39841"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan206">f(</tspan></text><text
+       y="-301.28345"
+       x="364.60574"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text214"><tspan
+         style="stroke-width:0.239965"
+         x="364.60574 370.11926 372.63019"
+         y="-301.28345"
+         sodipodi:role="line"
+         id="tspan212">a,b</tspan></text><text
+       y="-301.28345"
+       x="378.94089"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text220"><tspan
+         style="stroke-width:0.239965"
+         x="378.94089"
+         y="-301.28345"
+         id="tspan218">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path222"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 371.0787,328.03 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 394.75677,328.03001 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path226"
+       inkscape:connector-curvature="0" /><path
+       d="m 371.0787,328.03001 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path230"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path232"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 425.6149,372.2845 c 0,8.5857 6.9621,15.5459 15.5504,15.5459 8.5882,0 15.5504,-6.9602 15.5504,-15.5459 0,-8.5858 -6.9622,-15.5459 -15.5504,-15.5459 -8.5883,0 -15.5504,6.9601 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path234"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 405.5021,376.2334 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path236"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 460.3235,375.8749 h 8.0662 v 3.9488 l 7.9,-7.8976 -7.9,-7.8977 v 3.9488 h -8.0662 z" /><text
+       y="-368.73318"
+       x="429.17233"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text242"><tspan
+         style="stroke-width:0.239965"
+         x="429.17233 432.28049"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan240">f(</tspan></text><text
+       y="-368.73318"
+       x="435.48782"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text248"><tspan
+         style="stroke-width:0.239965"
+         x="435.48782 441.00131 443.51227"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan246">a,b</tspan></text><text
+       y="-368.73318"
+       x="449.82294"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text254"><tspan
+         style="stroke-width:0.239965"
+         x="449.82294"
+         y="-368.73318"
+         id="tspan252">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path256"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 441.971,395.4584 c 0,1.5737 5.3005,2.8495 11.839,2.8495 6.5385,0 11.8391,-1.2758 11.8391,-2.8495 v -11.398 c 0,-1.5737 -5.3006,-2.8495 -11.8391,-2.8495 -6.5385,0 -11.839,1.2758 -11.839,2.8495 z" /><path
+       d="m 465.64907,395.45841 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path260"
+       inkscape:connector-curvature="0" /><path
+       d="m 441.971,395.45841 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path264"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path266"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 548.8411,464.5257 h 35.8583 V 434.6525 L 569.3685,419.326 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path268"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 569.3685,419.326 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 569.36852,419.32607 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 548.8411 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path272"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path274"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 590.4269,464.7729 h 35.8583 v -29.8732 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path276"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 610.9543,419.5732 3.0662,12.2612 12.2647,3.0653 z" /><path
+       d="m 610.95432,419.57327 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 590.4269 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path280"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path282"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 566.7702,451.3423 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path284"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 587.2976,406.1427 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 587.29762,406.14267 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 566.7702 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path288"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path290"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 608.3561,451.7642 h 35.8583 v -29.8731 l -15.3309,-15.3265 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path292"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 628.8835,406.5646 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 628.88352,406.56457 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 608.3561 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path296"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path298"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 584.306,438.0865 h 35.8583 V 408.2134 L 604.8334,392.8869 H 584.306 Z" /><path
+       inkscape:connector-curvature="0"
+       id="path300"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 604.8334,392.8869 3.0662,12.2611 12.2647,3.0654 z" /><path
+       d="m 604.83342,392.88687 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 584.306 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path304"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path306"
+       style="fill:#aecbcc;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 625.8918,438.3337 h 35.8583 v -29.8732 l -15.3309,-15.3264 h -20.5274 z" /><path
+       inkscape:connector-curvature="0"
+       id="path308"
+       style="fill:#8ca3a4;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 646.4192,393.1341 3.0662,12.2611 12.2647,3.0653 z" /><path
+       d="m 646.41922,393.13407 3.0662,12.26114 12.26468,3.06531 -15.33088,-15.32645 H 625.8918 v 45.19963 h 35.8583 v -29.87318"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path312"
+       inkscape:connector-curvature="0" /><text
+       y="-368.73318"
+       x="608.38934"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text318"><tspan
+         style="stroke-width:0.239965"
+         x="608.38934 618.91522 625.22974 630.24438 635.25903 638.76593 643.78064 647.58649 654.79785 659.00665 665.32111 672.53247"
+         y="-368.73318"
+         sodipodi:role="line"
+         id="tspan316">mass storage</tspan></text><text
+       y="-353.61102"
+       x="580.92999"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text324"><tspan
+         style="stroke-width:0.239965"
+         x="580.92999 584.53827 590.95416 597.565 600.36737 603.8717 612.49725 620.5119 625.06903 627.8714 631.37573 637.79156 645.80621 652.22211 655.02448 658.52881 667.24536 675.87091 681.62384 688.03973 690.8421 694.34644 702.86798"
+         y="-353.61102"
+         sodipodi:role="line"
+         id="tspan322">(S3, GCF, ECS, HDFS, …)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path326"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c -1.3667,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.465 1.1078,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3667,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path328"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 171.0423,354.0952 c 1.3666,0 2.4745,-4.4303 2.4745,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4745,-9.8954 -1.3667,0 -2.4745,4.4304 -2.4745,9.8954 0,5.4651 1.1078,9.8954 2.4745,9.8954 z" /><path
+       d="m 171.04226,334.30449 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path332"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path334"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c -1.3666,0 -2.4745,-4.4303 -2.4745,-9.8954 0,-5.4651 1.1079,-9.8954 2.4745,-9.8954 l -67.4416,1e-4 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.465 1.1079,9.8954 2.4745,9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path336"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 175.5185,343.2483 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 z" /><path
+       d="m 175.51856,323.45759 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 1.36665,0 2.47454,-4.43032 2.47454,-9.8954 0,-5.46507 -1.10789,-9.89539 -2.47454,-9.89539 z m 0,0 h -67.44161 c -1.36664,0 -2.47453,4.43032 -2.47453,9.89539 0,5.46508 1.10789,9.8954 2.47453,9.8954 l 67.44161,-8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path340"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path342"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c 1.3667,0 2.4746,4.4303 2.4746,9.8954 0,5.4651 -1.1079,9.8954 -2.4746,9.8954 l 67.4416,-10e-5 c 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.465 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       inkscape:connector-curvature="0"
+       id="path344"
+       style="fill:#dfe8ec;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 108.0769,253.5899 c -1.3666,0 -2.4745,4.4303 -2.4745,9.8954 0,5.4651 1.1079,9.8954 2.4745,9.8954 1.3667,0 2.4746,-4.4303 2.4746,-9.8954 0,-5.4651 -1.1079,-9.8954 -2.4746,-9.8954 z" /><path
+       d="m 108.07694,273.38061 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 -1.36665,0 -2.47454,4.43032 -2.47454,9.8954 0,5.46507 1.10789,9.89539 2.47454,9.89539 z m 0,0 h 67.44161 c 1.36664,0 2.47453,-4.43032 2.47453,-9.89539 0,-5.46508 -1.10789,-9.8954 -2.47453,-9.8954 l -67.44161,8e-5"
+       style="fill:none;stroke:#ffffff;stroke-width:1.80443;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path348"
+       inkscape:connector-curvature="0" /><text
+       y="-363.2124"
+       x="105.80902"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text354"><tspan
+         style="stroke-width:0.239965"
+         x="105.80902 112.32498 118.13904 124.655 131.5739 135.38625 138.89964 141.50316 148.42206 155.63992 159.59525 166.11121 171.11938"
+         y="-363.2124"
+         sodipodi:role="line"
+         id="tspan352">event ingress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path356"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 80.16674,340.3874 h 8.06628 v 3.9488 l 7.89992,-7.8977 -7.89992,-7.8976 v 3.9488 h -8.06628 z" /><path
+       inkscape:connector-curvature="0"
+       id="path358"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 97.11817,259.5365 h -8.06628 v -3.9488 l -7.89991,7.8977 7.89991,7.8976 v -3.9488 h 8.06628 z" /><text
+       y="-229.03304"
+       x="109.69826"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text364"><tspan
+         style="stroke-width:0.239965"
+         x="109.69826 116.21422 122.02827 128.54424 135.46313 139.27548 142.78888 149.30484 156.52269 160.47801 166.99397 172.00215"
+         y="-229.03304"
+         sodipodi:role="line"
+         id="tspan362">event egress</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path366"
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 457.59,281.6705 c 0,8.5858 6.9622,15.546 15.5504,15.546 8.5883,0 15.5504,-6.9602 15.5504,-15.546 0,-8.5857 -6.9621,-15.5459 -15.5504,-15.5459 -8.5882,0 -15.5504,6.9602 -15.5504,15.5459 z" /><path
+       inkscape:connector-curvature="0"
+       id="path368"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 437.4772,285.6194 h 8.0663 v 3.9488 l 7.8999,-7.8976 -7.8999,-7.8977 v 3.9489 h -8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path370"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 492.2986,285.261 h 8.0663 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0663 z" /><text
+       y="-278.00009"
+       x="461.14282"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text376"><tspan
+         style="stroke-width:0.239965"
+         x="461.14282 464.25095"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan374">f(</tspan></text><text
+       y="-278.00009"
+       x="467.45828"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text382"><tspan
+         style="stroke-width:0.239965"
+         x="467.45828 472.9718 475.48273"
+         y="-278.00009"
+         sodipodi:role="line"
+         id="tspan380">a,b</tspan></text><text
+       y="-278.00009"
+       x="481.79352"
+       transform="scale(1.0001444,-0.99985561)"
+       style="font-variant:normal;font-weight:300;font-size:10.9984px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.239965"
+       id="text388"><tspan
+         style="stroke-width:0.239965"
+         x="481.79352"
+         y="-278.00009"
+         id="tspan386">)</tspan></text><path
+       inkscape:connector-curvature="0"
+       id="path390"
+       style="fill:#b1aeae;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 473.9461,304.8445 c 0,1.5737 5.3005,2.8494 11.8391,2.8494 6.5385,0 11.839,-1.2757 11.839,-2.8494 v -11.398 c 0,-1.5737 -5.3005,-2.8495 -11.839,-2.8495 -6.5386,0 -11.8391,1.2758 -11.8391,2.8495 z" /><path
+       d="m 497.62417,304.84441 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path394"
+       inkscape:connector-curvature="0" /><path
+       d="m 473.9461,304.84441 c 0,1.57373 5.30052,2.84949 11.83903,2.84949 6.53852,0 11.83904,-1.27576 11.83904,-2.84949 v -11.39795 c 0,-1.57373 -5.30052,-2.84949 -11.83904,-2.84949 -6.53851,0 -11.83903,1.27576 -11.83903,2.84949 z"
+       style="fill:none;stroke:#ffffff;stroke-width:1.20295;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       id="path398"
+       inkscape:connector-curvature="0" /><path
+       inkscape:connector-curvature="0"
+       id="path400"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 447.2134,353.1989 20.2168,-44.5067 -1.0955,-0.4973 -20.2168,44.5067 z m 21.5283,-43.0306 -0.201,-5.3752 -4.1808,3.3859 z" /><path
+       inkscape:connector-curvature="0"
+       id="path402"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 273.786,258.1659 -63.9204,3.6864 0.0693,1.2008 63.9204,-3.6864 z m -63.2236,1.8391 -4.6659,2.6786 4.9431,2.1245 z" /><path
+       inkscape:connector-curvature="0"
+       id="path404"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 198.1848,259.5365 h -8.0663 v -3.9488 l -7.8999,7.8977 7.8999,7.8976 v -3.9488 h 8.0663 z" /><path
+       inkscape:connector-curvature="0"
+       id="path406"
+       style="fill:#cad9df;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 181.8899,340.3874 h 8.0662 v 3.9488 l 7.8999,-7.8977 -7.8999,-7.8976 v 3.9488 h -8.0662 z" /><path
+       inkscape:connector-curvature="0"
+       id="path408"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.2212,335.4764 19.0532,-12.2173 -0.6496,-1.0124 -19.0531,12.2173 z m 19.3524,-10.2657 2.7517,-4.6223 -5.35,0.5726 z" /><path
+       inkscape:connector-curvature="0"
+       id="path410"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 206.1421,337.4363 66.509,29.7415 -0.4912,1.098 -66.5091,-29.7415 z m 66.5138,27.7672 3.4105,4.1604 -5.3756,0.2314 z" /><path
+       inkscape:connector-curvature="0"
+       id="path412"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 304.4639,357.2394 -10.8883,-12.3806 0.9035,-0.7942 10.8884,12.3806 z m -11.7141,-10.5871 -1.3705,-5.2016 4.9848,2.0248 z" /><path
+       inkscape:connector-curvature="0"
+       id="path414"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 330.9776,354.0716 25.732,-29.2737 -0.9037,-0.794 -25.7321,29.2737 z m 26.5582,-27.4805 1.3692,-5.2019 -4.9842,2.0261 z" /><path
+       inkscape:connector-curvature="0"
+       id="path416"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 307.5518,312.8069 16.4842,-3.4811 -0.2487,-1.1768 -16.4841,3.4811 z m 16.0724,-1.5502 4.2113,-3.348 -5.2059,-1.3592 z" /><path
+       inkscape:connector-curvature="0"
+       id="path418"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 387.5981,332.7553 26.6624,22.4866 -0.7758,0.9194 -26.6624,-22.4867 z m 27.213,20.5906 2.1268,4.9409 -5.2299,-1.2636 z" /><path
+       inkscape:connector-curvature="0"
+       id="path420"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 430.8227,284.8296 -22.8242,9.0557 0.4438,1.118 22.8242,-9.0558 z m -22.7445,7.083 -3.5854,4.0107 5.3607,0.4611 z" /><path
+       inkscape:connector-curvature="0"
+       id="path422"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 356.5692,288.7697 -25.0874,-22.6078 0.8056,-0.8934 25.0874,22.6078 z m -25.6999,-20.7308 -1.9635,-5.008 5.1857,1.4344 z" /><path
+       inkscape:connector-curvature="0"
+       id="path424"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 283.3381,342.4439 15.2029,16.6751 -0.8892,0.8102 -15.2029,-16.6751 z m 15.9964,14.8671 1.4634,5.1762 -5.0202,-1.9353 z" /><path
+       inkscape:connector-curvature="0"
+       id="path426"
+       style="fill:#7f7f7f;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 408.2335,306.1681 26.6967,-12.0672 -0.4957,-1.0959 -26.6966,12.0671 z m 26.7093,-10.0929 3.3938,-4.174 -5.3764,-0.2098 z" /><path
+       inkscape:connector-curvature="0"
+       id="path428"
+       style="fill:#9cb2b7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+       d="m 505.6615,359.1385 1.2087,0.7668 13.4225,-21.1452 -1.2087,-0.7668 z m 2.4174,1.5336 2.4174,1.5337 13.4225,-21.1453 -2.4174,-1.5336 z m 3.6261,2.3005 25.5101,16.1838 -5.5613,8.7611 31.6118,-7.0648 -7.0667,-31.6026 -5.5613,8.7611 -25.5101,-16.1839 z" /><text
+       y="-330.32767"
+       x="411.22839"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text434"><tspan
+         style="stroke-width:0.227203"
+         x="411.22839 416.24048 423.16327 429.47516 436.69693 441.70901 448.63181 455.85355"
+         y="-330.32767"
+         sodipodi:role="line"
+         id="tspan432">snapshot</tspan></text><text
+       y="-315.4455"
+       x="427.76627"
+       transform="matrix(1.0001444,0,-0.33989283,-0.9998556,0,0)"
+       style="font-variant:normal;font-weight:300;font-size:12.9981px;font-family:'Segoe UI';-inkscape-font-specification:SegoeUI-Light;writing-mode:lr-tb;fill:#3a3838;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.227203"
+       id="text440"><tspan
+         style="stroke-width:0.227203"
+         x="427.76627 432.77832 436.58157 442.89346 446.69672"
+         y="-315.4455"
+         sodipodi:role="line"
+         id="tspan438">state</tspan></text></g></svg>