Commit 014e4fbd authored by Leona C's avatar Leona C Committed by Scott Cyphers

Fix ops, cleanup ToC, add latest illustrations (#3700)

* Fix ops, cleanup ToC, add latest illustrations

* PR feedback
parent f0bc6c12
......@@ -139,9 +139,9 @@
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
{% block menu %}
{% set toctree = toctree(maxdepth=2, collapse=theme_collapse_navigation, includehidden=True) %}
{% set toctree = toctree(maxdepth=2, collapse=theme_collapse_navigation, includehidden=False) %}
{% if toctree %}
{{ toctree }}
<span class="toctree-expand">{{ toctree }}</span>
{% else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
......
......@@ -1622,6 +1622,7 @@ a.wy-text-neutral:hover {
h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend {
margin-top: 0.33em;
padding-top: 0.31em;
font-weight: 700;
font-family: Nunito, 'Nunito Sans', "IntelClear-Regular", Lato, Helvetica, "Helvetica Neue", sans;
}
......@@ -1630,8 +1631,8 @@ p {
line-height: 23px;
padding-bottom: 0.11em;
padding-top: 0.11em;
font-size: 1.19em;
margin-bottom: 0.27em;
font-size: 1.07em;
margin-bottom: 0.31em;
margin-top: 0.27em;
font-family: Nunito, 'Nunito Sans', Helvetica, 'Helvetica Neue', sans;
}
......@@ -1696,7 +1697,6 @@ code.code-large, .rst-content tt.code-large {
.wy-plain-list-disc, .rst-content .section ul, .rst-content .toctree-wrapper ul, article ul {
list-style: disc;
line-height: 24px;
margin-bottom: 24px;
}
.wy-plain-list-disc li, .rst-content .section ul li, .rst-content .toctree-wrapper ul li, article ul li {
......@@ -1721,7 +1721,6 @@ code.code-large, .rst-content tt.code-large {
.wy-plain-list-decimal, .rst-content .section ol, .rst-content ol.arabic, article ol {
list-style: decimal;
line-height: 24px;
margin-bottom: 0.5em;
}
.wy-plain-list-decimal li, .rst-content .section ol li, .rst-content ol.arabic li, article ol li {
......@@ -2428,8 +2427,9 @@ div[class^='highlight'] pre {
line-height: 1.0em;
}
.rst-content tt.literal, .rst-content tt.literal, .rst-content code.literal {
font-size: 101% !important;
color: #2e2b27;
font-size: 91% !important;
color: #152a58;
text-decoration: underline 2px dotted #cdcac5;
background-color: #fff;
line-height: 0.8955em;
}
......@@ -2654,9 +2654,9 @@ span[id*='MathJax-Span'] {
/* border-right: 5px solid #999;*/
}
.wy-menu-vertical header, .wy-menu-vertical p.caption {
height: 33.1px;
height: 29.1px;
display: inline-block;
line-height: 35.3px;
line-height: 31.3px;
padding: 0.1 0.1 0.1 0.1;
margin-left: 0.43em;
padding-left: 0.23em;
......@@ -2666,7 +2666,7 @@ span[id*='MathJax-Span'] {
font-weight: bolder;
border-top: 5px dotted #FFA400;
border-bottom: 29px solid #d3d3d3;
font-size: 139%;
font-size: 131%;
color: #393F4D;
width: auto;
white-space: nowrap;
......@@ -2720,15 +2720,16 @@ span[id*='MathJax-Span'] {
font-size: 0.8em;
line-height: 1.6em;
color: #393f4d;
max-height: 0;
overflow: hidden;
}
.wy-menu-vertical li.on a, .wy-menu-vertical li.current > a {
font-family: Nunito, 'Nunito Sans', Helvetica, 'Helvetica Neue', sans;
position: relative;
padding-left: 1.1em;
padding-left: 0.55em;
background-color: #fafbfd;
color: #5c5955;
border-right: 4px solid #FFA400;
margin-left: 23px;
}
.wy-menu-vertical li.on a:hover, .wy-menu-vertical li.current > a:hover {
......@@ -2806,10 +2807,9 @@ span[id*='MathJax-Span'] {
}
.wy-menu-vertical a {
display: inline-block;
line-height: 1.21em;
line-height: 0.93em;
padding: 0.4045em 1.31em;
display: block;
position: relative;
font-size: 96%;
font-family: Nunito, 'Nunito Sans', Helvetica, 'Helvetica Neue', sans;
}
......@@ -2830,6 +2830,8 @@ span[id*='MathJax-Span'] {
color: #555;
}
.wy-side-nav-search {
display: block;
width: 300px;
......
......@@ -9,7 +9,6 @@ Working with Backends
* :ref:`ngraph_bridge`
* :ref:`opencl`
.. _what_is_backend:
What is a backend?
......
.. features.rst
.. _features:
Features
========
What follows here are a few notable features of the nGraph Compiler stack.
.. as well as a brief illustration or demonstration of that feature.
* **Fusion** -- Fuse multiple ops to to decrease memory usage.
* **Data layout abstraction** -- Make abstraction easier and faster with nGraph
translating element order to work best for a given or available device.
* **Data reuse** -- Save results and reuse for subgraphs with the same input.
* **Graph scheduling** -- Run similar subgraphs in parallel via multi-threading.
* **Graph partitioning** -- Partition subgraphs to run on different devices to
speed up computation; make better use of spare CPU cycles with nGraph.
* **Memory management** -- Prevent peak memory usage by intercepting a graph
with or by a "saved checkpoint," and to enable data auditing.
.. frameworks/generic-configs.rst:
.. frameworks/generic_configs.rst:
.. _generic_configs:
Integrating new frameworks
==========================
......@@ -20,7 +22,7 @@ something like:
Find or display version
=======================
-----------------------
If you're working with the :doc:`../python_api/index`, the following command
may be useful:
......@@ -35,7 +37,7 @@ documentation.
Activate logtrace-related environment variables
===============================================
-----------------------------------------------
Another configuration option is to activate ``NGRAPH_CPU_DEBUG_TRACER``,
a runtime environment variable that supports extra logging and debug detail.
......
.. frameworks/index.rst
Using Frameworks
================
Working with Frameworks
=======================
.. include:: overview.rst
.. toctree::
:maxdepth: 1
......@@ -10,3 +13,4 @@ Using Frameworks
onnx_integ.rst
paddle_integ.rst
tensorflow_connect.rst
generic_configs.rst
.. frameworks/overview.rst
.. _fw_overview:
Overview
========
A framework is "supported" with a framework :term:`bridge` that can be written or
cloned and used to connect to nGraph device backends while maintaining the
framework's programmatic or user interface. A `bridge currently exists`_ for the
TensorFlow framework. We also have a bridge to do :doc:`paddle_integ`. Intel
previously contributed work to an MXNet bridge; however, support for this
bridge is no longer active.
`ONNX`_ on its own is not a framework; however, it can be used with nGraph's
:doc:`../python_api/index` to import and execute ONNX models.
.. figure:: ../graphics/overview-framework-bridges.svg
:width: 960px
:alt: JiT compiling of a computation
:abbr:`Just-in-Time (JiT)` Compiling for computation. nGraph `Core`
components are colored in blue.
Once connected via the bridge, the framework can then run and train a deep
learning model with various workloads on various backends using nGraph Compiler
as an optimizing compiler available through the framework.
While a :abbr:`Deep Learning (DL)` :term:`framework` is ultimately meant for
end use by data scientists, or for deployment in cloud container environments,
nGraph Core ops and the nGraph C++ Library are designed for framework builders
themselves. We invite anyone working on new and novel frameworks or neural
network designs to explore our highly-modularized stack of components that
can be implemented or integrated in countless ways.
Please read this section if you are considering incorporating components from
the nGraph Compiler stack in your framework or neural network design. Contents
here are also useful if you are working on something built-from-scratch, or on
an existing framework that is less widely-supported than the popular frameworks
like TensorFlow and PyTorch.
.. figure:: ../graphics/overview-translation-flow.svg
:width: 725px
:alt: Translation flow to nGraph function graph
.. _bridge currently exists: https://github.com/tensorflow/ngraph-bridge/README.md
.. _ONNX: http://onnx.ai/
.. _tune the workload to extract best performance: https://ai.intel.com/accelerating-deep-learning-training-inference-system-level-optimizations
.. _a few small: https://software.intel.com/en-us/articles/boosting-deep-learning-training-inference-performance-on-xeon-and-xeon-phi
\ No newline at end of file
.. frameworks/validated/list.rst:
#################################
Validated workloads by framework
#################################
.. _validated:
We validated performance [#f1]_ for the following TensorFlow\* and MXNet\*
workloads:
* :ref:`tensorflow_valid`
* :ref:`mxnet_valid`
* :ref:`onnx_valid`
* :ref:`testing_latency`
Validated workloads
###################
.. _tensorflow_valid:
We have validated performance [#f1]_ for the following workloads:
TensorFlow
==========
.. contents::
:local:
.. _cpu_tensorflow:
CPU Tensorflow
==============
.. csv-table::
:header: "TensorFlow Workload", "Genre of Deep Learning"
:header: "TensorFlow Workload", "Genre of Deep learning"
:widths: 27, 53
:escape: ~
......@@ -28,12 +27,11 @@ TensorFlow
Inception V4, Image recognition
Inception-ResNetv2, Image recognition
MobileNet v1, Image recognition
MobileNet v2, Image recognition
Faster RCNN, Object detection
VGG16, Image recognition
SSD-VGG16, Object detection
SSD-MobileNetv1, Object detection
R-FCN, Object detection
Faster RCNN, Object detection
Yolo v2, Object detection
Transformer-LT, Language translation
Wide & Deep, Recommender system
......@@ -44,40 +42,10 @@ TensorFlow
A3C, Reinforcement learning
.. _mxnet_valid:
MXNet
=====
.. _cpu_onnx:
.. csv-table::
:header: "MXNet Workload", "Genre of Deep Learning"
:widths: 27, 53
:escape: ~
Resnet50 v1, Image recognition
Resnet50 v2, Image recognition
DenseNet-121, Image recognition
InceptionV3, Image recognition
InceptionV4, Image recognition
Inception-ResNetv2, Image recognition
MobileNet v1, Image recognition
SqueezeNet v1 and v1.1, Image recognition
VGG16, Image recognition
Faster RCNN, Object detection
SSD-VGG16, Object detection
GNMT, Language translation
Transformer-LT, Language translation
Wide & Deep, Recommender system
WaveNet, Speech generation
DeepSpeech2, Speech recognition
DCGAN, Generative adversarial network
A3C, Reinforcement learning
.. _onnx_valid:
ONNX
====
CPU ONNX
========
Additionally, we validated the following workloads are functional through
`nGraph ONNX importer`_. ONNX models can be downloaded from the `ONNX Model Zoo`_.
......@@ -87,15 +55,14 @@ Additionally, we validated the following workloads are functional through
:widths: 27, 53
:escape: ~
ResNet-50, Image recognition
ResNet-50-v2, Image recognition
DenseNet-121, Image recognition
Inception-v1, Image recognition
Inception-v2, Image recognition
ResNet-50, Image recognition
Mobilenet, Image recognition
Shufflenet, Image recognition
SqueezeNet, Image recognition
VGG-19, Image recognition
VGG-16, Image recognition
ZFNet-512, Image recognition
MNIST, Image recognition
Emotion-FERPlus, Image recognition
......@@ -106,6 +73,40 @@ Additionally, we validated the following workloads are functional through
ArcFace, Face Detection and Recognition
.. _gpu_tensorflow:
GPU TensorFlow
==============
.. csv-table::
:header: "TensorFlow Workload", "Genre of Deep Learning"
:escape: ~
Resnet50 v2, Image recognition
Inception V3, Image recognition
Inception V4, Image recognition
Inception-ResNetv2, Image recognition
VGG-16, Image recognition
.. _gpu_onnx:
GPU ONNX
========
.. csv-table::
:header: "ONNX Workload", "Genre of Deep Learning"
:escape: ~
Inception V1, Image recognition
Inception V2, Image recognition
ResNet-50, Image recognition
SqueezeNet, Image recognition
.. important:: Please see Intel's `Optimization Notice`_ for details on disclaimers.
.. rubric:: Footnotes
......@@ -133,4 +134,3 @@ Additionally, we validated the following workloads are functional through
to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the
applicable product User and Reference Guides for more information regarding the specific
instruction sets covered by this notice.
<svg version="1.1" viewBox="0.0 0.0 960.0 720.0" fill="none" stroke="none" stroke-linecap="square" stroke-miterlimit="10" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"><clipPath id="p.0"><path d="m0 0l960.0 0l0 720.0l-960.0 0l0 -720.0z" clip-rule="nonzero"/></clipPath><g clip-path="url(#p.0)"><path fill="#000000" fill-opacity="0.0" d="m0 0l960.0 0l0 720.0l-960.0 0z" fill-rule="evenodd"/><path fill="#dc700d" d="m94.55118 200.03073l0 0c0 -15.038101 12.190796 -27.228897 27.228897 -27.228897l716.4398 0c7.2215576 0 14.147339 2.8687592 19.253723 7.9751587c5.1064453 5.106415 7.9751587 12.032181 7.9751587 19.253738l0 108.91229c0 15.038116 -12.190735 27.228882 -27.228882 27.228882l-716.4398 0c-15.038101 0 -27.228897 -12.190765 -27.228897 -27.228882z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m94.55118 126.80708l184.78741 0l0 41.417328l-184.78741 0z" fill-rule="evenodd"/><path fill="#dc700d" d="m110.55118 140.842q2.015625 0 3.53125 1.15625q1.53125 1.140625 1.828125 3.140625l-1.265625 0q-0.375 -1.53125 -1.5 -2.375q-1.109375 -0.84375 -2.609375 -0.84375q-2.3125 0 -3.65625 1.640625q-1.34375 1.640625 -1.34375 4.21875q0 2.515625 1.328125 4.1875q1.328125 1.671875 3.671875 1.671875q1.734375 0 2.890625 -1.171875q1.171875 -1.171875 1.390625 -3.09375l1.265625 0q-0.28125 2.5 -1.765625 3.921875q-1.484375 1.421875 -3.765625 1.421875q-2.890625 0 -4.59375 -1.953125q-1.703125 -1.96875 -1.703125 -4.984375q0 -3.046875 1.71875 -4.984375q1.71875 -1.953125 4.578125 -1.953125zm11.323395 3.6875q2.046875 0 3.296875 1.4375q1.25 1.421875 1.25 3.65625q0 1.34375 -0.515625 2.515625q-0.515625 1.171875 -1.5625 1.875q-1.046875 0.703125 -2.46875 0.703125q-2.046875 0 -3.296875 -1.4375q-1.25 -1.4375 -1.25 -3.65625q0 -2.234375 1.25 -3.65625q1.25 -1.4375 3.296875 -1.4375zm-3.375 5.09375q0 1.703125 0.921875 2.90625q0.921875 1.203125 2.453125 1.203125q1.53125 0 2.453125 -1.203125q0.921875 -1.203125 0.921875 -2.90625q0 -1.6875 -0.921875 -2.890625q-0.921875 -1.21875 -2.46875 -1.21875q-1.5 0 -2.4375 1.203125q-0.921875 1.1875 -0.921875 2.90625zm14.141342 -4.9375l0.296875 0l0 1.171875l-0.140625 0q-1.546875 0 -2.5 1.0q-0.9375 0.984375 -0.9375 2.484375l0 5.09375l-1.171875 0l0 -9.625l1.078125 0l0 2.25l0.03125 0q0.4375 -1.125 1.328125 -1.75q0.890625 -0.625 2.015625 -0.625zm5.054016 -0.15625q1.953125 0 3.09375 1.421875q1.140625 1.421875 1.140625 3.796875l0 0.1875l-7.40625 0q0.03125 1.671875 0.890625 2.734375q0.875 1.0625 2.28125 1.0625q1.171875 0 1.921875 -0.609375q0.765625 -0.609375 1.09375 -1.859375l1.1875 0q-0.421875 1.734375 -1.453125 2.59375q-1.015625 0.859375 -2.75 0.859375q-2.046875 0 -3.203125 -1.359375q-1.140625 -1.375 -1.140625 -3.734375q0 -2.234375 1.15625 -3.65625q1.15625 -1.4375 3.1875 -1.4375zm3.0625 4.421875q-0.046875 -1.4375 -0.90625 -2.4375q-0.84375 -1.0 -2.171875 -1.0q-1.25 0 -2.109375 0.9375q-0.84375 0.921875 -1.046875 2.5l6.234375 0zm16.6167 -7.828125l0 1.078125l-7.1875 0l0 4.8125l6.375 0l0 1.078125l-6.375 0l0 6.34375l-1.265625 0l0 -13.3125l8.453125 0zm5.145447 3.5625l0.296875 0l0 1.171875l-0.140625 0q-1.546875 0 -2.5 1.0q-0.9375 0.984375 -0.9375 2.484375l0 5.09375l-1.171875 0l0 -9.625l1.078125 0l0 2.25l0.03125 0q0.4375 -1.125 1.328125 -1.75q0.890625 -0.625 2.015625 -0.625zm5.257141 -0.15625q2.046875 0 3.296875 1.4375q1.25 1.421875 1.25 3.65625q0 1.34375 -0.515625 2.515625q-0.515625 1.171875 -1.5625 1.875q-1.046875 0.703125 -2.46875 0.703125q-2.046875 0 -3.296875 -1.4375q-1.25 -1.4375 -1.25 -3.65625q0 -2.234375 1.25 -3.65625q1.25 -1.4375 3.296875 -1.4375zm-3.375 5.09375q0 1.703125 0.921875 2.90625q0.921875 1.203125 2.453125 1.203125q1.53125 0 2.453125 -1.203125q0.921875 -1.203125 0.921875 -2.90625q0 -1.6875 -0.921875 -2.890625q-0.921875 -1.21875 -2.46875 -1.21875q-1.5 0 -2.4375 1.203125q-0.921875 1.1875 -0.921875 2.90625zm13.969467 -5.09375q1.84375 0 2.671875 0.90625q0.84375 0.90625 0.84375 2.71875l0 6.28125l-1.171875 0l0 -6.078125q0 -1.40625 -0.609375 -2.125q-0.609375 -0.71875 -1.84375 -0.71875q-0.953125 0 -1.65625 0.46875q-0.703125 0.46875 -1.03125 1.265625q-0.328125 0.78125 -0.328125 1.5625l0 5.625l-1.171875 0l0 -9.625l1.171875 0l0 1.65625l0.03125 0q0.34375 -0.859375 1.1875 -1.390625q0.84375 -0.546875 1.90625 -0.546875zm7.598572 -2.609375l0 2.890625l1.96875 0l0 0.984375l-1.96875 0l0 6.578125q0 0.734375 0.28125 0.96875q0.28125 0.21875 0.71875 0.21875q0.171875 0 0.421875 -0.015625q0.265625 -0.015625 0.546875 -0.03125l0 1.0q-0.265625 0.015625 -0.53125 0.015625q-0.25 0.015625 -0.515625 0.015625q-1.171875 0 -1.640625 -0.4375q-0.453125 -0.453125 -0.453125 -1.609375l0 -6.703125l-1.6875 0l0 -0.984375l1.6875 0l0 -2.890625l1.171875 0zm7.256027 2.609375q1.953125 0 3.09375 1.421875q1.140625 1.421875 1.140625 3.796875l0 0.1875l-7.40625 0q0.03125 1.671875 0.890625 2.734375q0.875 1.0625 2.28125 1.0625q1.171875 0 1.921875 -0.609375q0.765625 -0.609375 1.09375 -1.859375l1.1875 0q-0.421875 1.734375 -1.453125 2.59375q-1.015625 0.859375 -2.75 0.859375q-2.046875 0 -3.203125 -1.359375q-1.140625 -1.375 -1.140625 -3.734375q0 -2.234375 1.15625 -3.65625q1.15625 -1.4375 3.1875 -1.4375zm3.0625 4.421875q-0.046875 -1.4375 -0.90625 -2.4375q-0.84375 -1.0 -2.171875 -1.0q-1.25 0 -2.109375 0.9375q-0.84375 0.921875 -1.046875 2.5l6.234375 0zm7.0427704 -4.421875q1.84375 0 2.671875 0.90625q0.84375 0.90625 0.84375 2.71875l0 6.28125l-1.171875 0l0 -6.078125q0 -1.40625 -0.609375 -2.125q-0.609375 -0.71875 -1.84375 -0.71875q-0.953125 0 -1.65625 0.46875q-0.703125 0.46875 -1.03125 1.265625q-0.328125 0.78125 -0.328125 1.5625l0 5.625l-1.171875 0l0 -9.625l1.171875 0l0 1.65625l0.03125 0q0.34375 -0.859375 1.1875 -1.390625q0.84375 -0.546875 1.90625 -0.546875zm14.207947 -3.40625l0 13.3125l-1.078125 0l0 -1.828125l-0.046875 0q-0.40625 0.96875 -1.40625 1.546875q-0.984375 0.5625 -2.03125 0.5625q-1.96875 0 -3.15625 -1.375q-1.171875 -1.390625 -1.171875 -3.71875q0 -2.296875 1.171875 -3.6875q1.171875 -1.40625 3.15625 -1.40625q1.125 0 2.046875 0.546875q0.921875 0.546875 1.296875 1.5625l0.046875 0l0 -5.515625l1.171875 0zm-7.703125 8.5q0 1.78125 0.84375 2.953125q0.84375 1.15625 2.296875 1.15625q1.625 0 2.5 -1.140625q0.890625 -1.15625 0.890625 -2.96875q0 -1.8125 -0.890625 -2.953125q-0.875 -1.15625 -2.5 -1.15625q-1.4375 0 -2.296875 1.140625q-0.84375 1.125 -0.84375 2.96875zm20.661697 -8.5l5.234375 13.3125l-1.375 0l-1.609375 -4.140625l-6.078125 0l-1.59375 4.140625l-1.359375 0l5.359375 -13.3125l1.421875 0zm-3.4375 8.09375l5.25 0l-2.578125 -6.828125l-2.671875 6.828125zm15.860626 -8.09375q1.734375 0 2.8125 1.0q1.078125 1.0 1.078125 2.796875q0 1.796875 -1.078125 2.796875q-1.078125 1.0 -2.8125 1.0l-4.71875 0l0 5.71875l-1.265625 0l0 -13.3125l5.984375 0zm-0.28125 6.53125q1.3125 0 2.109375 -0.703125q0.796875 -0.71875 0.796875 -2.03125q0 -1.28125 -0.78125 -2.0q-0.765625 -0.71875 -2.296875 -0.71875l-4.265625 0l0 5.453125l4.4375 0zm7.407501 -6.53125l0 13.3125l-1.265625 0l0 -13.3125l1.265625 0z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m94.55118 508.85434l184.78741 0l0 41.417328l-184.78741 0z" fill-rule="evenodd"/><path fill="#d4d4d4" d="m110.55118 522.8892q2.015625 0 3.53125 1.15625q1.53125 1.140625 1.828125 3.140625l-1.265625 0q-0.375 -1.53125 -1.5 -2.375q-1.109375 -0.84375 -2.609375 -0.84375q-2.3125 0 -3.65625 1.640625q-1.34375 1.640625 -1.34375 4.21875q0 2.515625 1.328125 4.1875q1.328125 1.671875 3.671875 1.671875q1.734375 0 2.890625 -1.171875q1.171875 -1.171875 1.390625 -3.09375l1.265625 0q-0.28125 2.5 -1.765625 3.921875q-1.484375 1.421875 -3.765625 1.421875q-2.890625 0 -4.59375 -1.953125q-1.703125 -1.96875 -1.703125 -4.984375q0 -3.046875 1.71875 -4.984375q1.71875 -1.953125 4.578125 -1.953125zm11.323395 3.6875q2.046875 0 3.296875 1.4375q1.25 1.421875 1.25 3.65625q0 1.34375 -0.515625 2.515625q-0.515625 1.171875 -1.5625 1.875q-1.046875 0.703125 -2.46875 0.703125q-2.046875 0 -3.296875 -1.4375q-1.25 -1.4375 -1.25 -3.65625q0 -2.234375 1.25 -3.65625q1.25 -1.4375 3.296875 -1.4375zm-3.375 5.09375q0 1.703125 0.921875 2.90625q0.921875 1.203125 2.453125 1.203125q1.53125 0 2.453125 -1.203125q0.921875 -1.203125 0.921875 -2.90625q0 -1.6875 -0.921875 -2.890625q-0.921875 -1.21875 -2.46875 -1.21875q-1.5 0 -2.4375 1.203125q-0.921875 1.1875 -0.921875 2.90625zm14.141342 -4.9375l0.296875 0l0 1.171875l-0.140625 0q-1.546875 0 -2.5 1.0q-0.9375 0.984375 -0.9375 2.484375l0 5.09375l-1.171875 0l0 -9.625l1.078125 0l0 2.25l0.03125 0q0.4375 -1.125 1.328125 -1.75q0.890625 -0.625 2.015625 -0.625zm5.054016 -0.15625q1.953125 0 3.09375 1.421875q1.140625 1.421875 1.140625 3.796875l0 0.1875l-7.40625 0q0.03125 1.671875 0.890625 2.734375q0.875 1.0625 2.28125 1.0625q1.171875 0 1.921875 -0.609375q0.765625 -0.609375 1.09375 -1.859375l1.1875 0q-0.421875 1.734375 -1.453125 2.59375q-1.015625 0.859375 -2.75 0.859375q-2.046875 0 -3.203125 -1.359375q-1.140625 -1.375 -1.140625 -3.734375q0 -2.234375 1.15625 -3.65625q1.15625 -1.4375 3.1875 -1.4375zm3.0625 4.421875q-0.046875 -1.4375 -0.90625 -2.4375q-0.84375 -1.0 -2.171875 -1.0q-1.25 0 -2.109375 0.9375q-0.84375 0.921875 -1.046875 2.5l6.234375 0zm13.882324 -7.828125q1.921875 0 3.046875 0.828125q1.140625 0.8125 1.140625 2.421875q0 1.046875 -0.640625 1.90625q-0.625 0.84375 -1.671875 1.09375l0 0.03125q1.28125 0.15625 2.046875 1.046875q0.765625 0.890625 0.765625 2.1875q0 1.875 -1.21875 2.84375q-1.21875 0.953125 -3.453125 0.953125l-5.734375 0l0 -13.3125l5.71875 0zm-0.015625 5.828125q1.28125 0 2.109375 -0.609375q0.828125 -0.609375 0.828125 -1.65625q0 -1.25 -0.78125 -1.859375q-0.765625 -0.625 -2.25 -0.625l-4.34375 0l0 4.75l4.4375 0zm0.015625 6.40625q1.671875 0 2.546875 -0.671875q0.875 -0.6875 0.875 -2.078125q0 -1.265625 -0.921875 -1.90625q-0.90625 -0.65625 -2.59375 -0.65625l-4.359375 0l0 5.3125l4.453125 0zm10.302948 -8.828125q1.8125 0 2.671875 0.796875q0.859375 0.78125 0.859375 2.21875l0 5.234375q0 0.296875 0.15625 0.484375q0.171875 0.171875 0.53125 0.171875q0.109375 0 0.1875 0q0.09375 -0.015625 0.1875 -0.0625l0 0.984375q-0.21875 0.046875 -0.390625 0.0625q-0.171875 0.015625 -0.359375 0.015625q-0.765625 0 -1.078125 -0.359375q-0.3125 -0.375 -0.3125 -1.21875l0 -0.09375l-0.046875 0q-0.71875 1.09375 -1.515625 1.53125q-0.78125 0.421875 -1.984375 0.421875q-1.453125 0 -2.34375 -0.734375q-0.890625 -0.734375 -0.890625 -2.09375q0 -1.390625 0.96875 -2.09375q0.984375 -0.703125 4.34375 -1.0q0.765625 -0.078125 1.0625 -0.359375q0.3125 -0.28125 0.3125 -0.9375q0 -0.984375 -0.59375 -1.484375q-0.59375 -0.5 -1.921875 -0.5q-1.21875 0 -1.890625 0.578125q-0.65625 0.578125 -0.6875 1.671875l-1.171875 0q0.078125 -1.59375 1.078125 -2.40625q1.015625 -0.828125 2.828125 -0.828125zm2.3125 4.640625q-0.171875 0.328125 -1.109375 0.453125q-0.9375 0.125 -2.0625 0.328125q-1.125 0.1875 -1.703125 0.640625q-0.578125 0.453125 -0.578125 1.234375q0 0.84375 0.625 1.375q0.640625 0.53125 1.515625 0.53125q1.4375 0 2.390625 -0.859375q0.96875 -0.859375 0.96875 -2.125l0 -1.578125l-0.046875 0zm7.6365204 -4.640625q1.6875 0 2.6875 0.875q1.015625 0.875 1.203125 2.421875l-1.171875 0q-0.25 -1.140625 -0.9375 -1.71875q-0.6875 -0.59375 -1.78125 -0.59375q-1.515625 0 -2.453125 1.1875q-0.921875 1.1875 -0.921875 2.921875q0 1.71875 0.921875 2.921875q0.9375 1.1875 2.453125 1.1875q1.046875 0 1.84375 -0.75q0.8125 -0.75 0.953125 -2.0l1.1875 0q-0.28125 1.796875 -1.328125 2.765625q-1.046875 0.96875 -2.65625 0.96875q-2.046875 0 -3.296875 -1.4375q-1.25 -1.4375 -1.25 -3.65625q0 -2.234375 1.25 -3.65625q1.25 -1.4375 3.296875 -1.4375zm6.7927704 -3.40625l0 8.34375l5.34375 -4.65625l1.5625 0l-4.109375 3.5625l4.375 6.0625l-1.46875 0l-3.796875 -5.234375l-1.90625 1.578125l0 3.65625l-1.171875 0l0 -13.3125l1.171875 0zm11.90625 3.40625q1.953125 0 3.09375 1.421875q1.140625 1.421875 1.140625 3.796875l0 0.1875l-7.40625 0q0.03125 1.671875 0.890625 2.734375q0.875 1.0625 2.28125 1.0625q1.171875 0 1.921875 -0.609375q0.765625 -0.609375 1.09375 -1.859375l1.1875 0q-0.421875 1.734375 -1.453125 2.59375q-1.015625 0.859375 -2.75 0.859375q-2.046875 0 -3.203125 -1.359375q-1.140625 -1.375 -1.140625 -3.734375q0 -2.234375 1.15625 -3.65625q1.15625 -1.4375 3.1875 -1.4375zm3.0625 4.421875q-0.046875 -1.4375 -0.90625 -2.4375q-0.84375 -1.0 -2.171875 -1.0q-1.25 0 -2.109375 0.9375q-0.84375 0.921875 -1.046875 2.5l6.234375 0zm7.0427704 -4.421875q1.84375 0 2.671875 0.90625q0.84375 0.90625 0.84375 2.71875l0 6.28125l-1.171875 0l0 -6.078125q0 -1.40625 -0.609375 -2.125q-0.609375 -0.71875 -1.84375 -0.71875q-0.953125 0 -1.65625 0.46875q-0.703125 0.46875 -1.03125 1.265625q-0.328125 0.78125 -0.328125 1.5625l0 5.625l-1.171875 0l0 -9.625l1.171875 0l0 1.65625l0.03125 0q0.34375 -0.859375 1.1875 -1.390625q0.84375 -0.546875 1.90625 -0.546875zm14.207947 -3.40625l0 13.3125l-1.078125 0l0 -1.828125l-0.046875 0q-0.40625 0.96875 -1.40625 1.546875q-0.984375 0.5625 -2.03125 0.5625q-1.96875 0 -3.15625 -1.375q-1.171875 -1.390625 -1.171875 -3.71875q0 -2.296875 1.171875 -3.6875q1.171875 -1.40625 3.15625 -1.40625q1.125 0 2.046875 0.546875q0.921875 0.546875 1.296875 1.5625l0.046875 0l0 -5.515625l1.171875 0zm-7.703125 8.5q0 1.78125 0.84375 2.953125q0.84375 1.15625 2.296875 1.15625q1.625 0 2.5 -1.140625q0.890625 -1.15625 0.890625 -2.96875q0 -1.8125 -0.890625 -2.953125q-0.875 -1.15625 -2.5 -1.15625q-1.4375 0 -2.296875 1.140625q-0.84375 1.125 -0.84375 2.96875zm20.661697 -8.5l5.234375 13.3125l-1.375 0l-1.609375 -4.140625l-6.078125 0l-1.59375 4.140625l-1.359375 0l5.359375 -13.3125l1.421875 0zm-3.4375 8.09375l5.25 0l-2.578125 -6.828125l-2.671875 6.828125zm15.860626 -8.09375q1.734375 0 2.8125 1.0q1.078125 1.0 1.078125 2.796875q0 1.796875 -1.078125 2.796875q-1.078125 1.0 -2.8125 1.0l-4.71875 0l0 5.71875l-1.265625 0l0 -13.3125l5.984375 0zm-0.28125 6.53125q1.3125 0 2.109375 -0.703125q0.796875 -0.71875 0.796875 -2.03125q0 -1.28125 -0.78125 -2.0q-0.765625 -0.71875 -2.296875 -0.71875l-4.265625 0l0 5.453125l4.4375 0zm7.407501 -6.53125l0 13.3125l-1.265625 0l0 -13.3125l1.265625 0z" fill-rule="nonzero"/><path fill="#d4d4d4" d="m94.55118 367.97824l0 0c0 -15.038116 12.190796 -27.228912 27.228897 -27.228912l716.4398 0c7.2215576 0 14.147339 2.8687744 19.253723 7.9751587c5.1064453 5.106415 7.9751587 12.032196 7.9751587 19.253754l0 108.91229c0 15.038086 -12.190735 27.228882 -27.228882 27.228882l-716.4398 0c-15.038101 0 -27.228897 -12.190796 -27.228897 -27.228882z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m479.88977 559.7394l0.22045898 -55.68506" fill-rule="evenodd"/><path stroke="#d9d9d9" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m479.88977 559.7394l0.17294312 -43.68512" fill-rule="evenodd"/><path fill="#d9d9d9" stroke="#d9d9d9" stroke-width="2.0" stroke-linecap="butt" d="m483.36615 516.0673l-3.2674866 -9.089203l-3.339386 9.063019z" fill-rule="evenodd"/><path fill="#ffffff" d="m605.2441 227.19373l0 0c0 -22.558594 18.287354 -40.845963 40.845947 -40.845963l163.37897 0l0 0c10.833008 0 21.222351 4.303406 28.882446 11.963516c7.660095 7.660095 11.963501 18.049423 11.963501 28.882446l0 223.34744c0 22.558624 -18.287354 40.845978 -40.845947 40.845978l-163.37897 0c-22.558594 0 -40.845947 -18.287354 -40.845947 -40.845978z" fill-rule="evenodd"/><path fill="#393f4d" d="m694.8895 321.47498l0 2.453125l-7.03125 0l0 2.859375l6.453125 0l0 2.265625l-6.453125 0l0 3.28125l7.171875 0l0 2.453125l-10.109375 0l0 -13.3125l9.96875 0zm4.166382 3.671875l1.6875 2.515625l1.6875 -2.515625l2.921875 0l-3.171875 4.515625l3.5625 5.125l-3.015625 0l-2.015625 -3.046875l-2.015625 3.046875l-2.96875 0l3.46875 -5.078125l-3.171875 -4.5625l3.03125 0zm12.015259 -0.265625q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm13.150269 -4.046875q1.875 0 3.15625 0.96875q1.28125 0.96875 1.390625 2.6875l-2.609375 0q-0.109375 -0.828125 -0.609375 -1.234375q-0.484375 -0.421875 -1.34375 -0.421875q-1.0625 0 -1.65625 0.875q-0.59375 0.875 -0.59375 2.265625q0 1.375 0.578125 2.203125q0.59375 0.828125 1.625 0.828125q0.875 0 1.421875 -0.5q0.546875 -0.5 0.6875 -1.46875l2.546875 0q-0.265625 1.921875 -1.5 2.953125q-1.21875 1.015625 -3.140625 1.015625q-2.15625 0 -3.515625 -1.375q-1.359375 -1.390625 -1.359375 -3.578125q0 -2.328125 1.328125 -3.765625q1.34375 -1.453125 3.59375 -1.453125zm8.744019 0.265625l0 5.515625q0 1.09375 0.375 1.703125q0.390625 0.59375 1.328125 0.59375q1.09375 0 1.5625 -0.65625q0.484375 -0.671875 0.484375 -2.015625l0 -5.140625l2.65625 0l0 9.640625l-2.53125 0l0 -1.34375l-0.046875 0q-0.5 0.8125 -1.296875 1.21875q-0.796875 0.390625 -1.671875 0.390625q-1.796875 0 -2.65625 -0.90625q-0.84375 -0.921875 -0.84375 -2.96875l0 -6.03125l2.640625 0zm11.762085 -2.890625l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm5.942932 -0.78125l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm6.7629395 -0.265625q2.28125 0 3.640625 1.40625q1.359375 1.390625 1.359375 3.6875q0 2.3125 -1.375 3.703125q-1.375 1.375 -3.625 1.375q-2.234375 0 -3.609375 -1.390625q-1.375 -1.390625 -1.375 -3.6875q0 -2.28125 1.34375 -3.6875q1.359375 -1.40625 3.640625 -1.40625zm-2.328125 5.09375q0 1.53125 0.625 2.3125q0.625 0.765625 1.703125 0.765625q1.140625 0 1.75 -0.796875q0.609375 -0.8125 0.609375 -2.28125q0 -1.4375 -0.59375 -2.265625q-0.59375 -0.828125 -1.78125 -0.828125q-1.0625 0 -1.6875 0.765625q-0.625 0.765625 -0.625 2.328125zm14.583496 -5.09375q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -9.640625l2.515625 0l0 1.34375l0.046875 0q0.484375 -0.78125 1.25 -1.1875q0.78125 -0.421875 1.71875 -0.421875z" fill-rule="nonzero"/><path fill="#393f4d" d="m692.2353 343.47498l0 13.3125l-2.9375 0l0 -13.3125l2.9375 0zm7.830261 3.40625q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -9.640625l2.515625 0l0 1.34375l0.046875 0q0.484375 -0.78125 1.25 -1.1875q0.78125 -0.421875 1.71875 -0.421875zm8.87146 -2.625l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm7.5861816 2.625q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm14.150269 -4.046875q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm5.6118164 -3.40625q0.265625 0 0.71875 0.03125q0.46875 0.015625 0.6875 0.03125l0 1.984375q-0.265625 -0.03125 -0.515625 -0.046875q-0.234375 -0.015625 -0.453125 -0.015625q-0.546875 0 -0.78125 0.25q-0.234375 0.234375 -0.234375 0.984375l0 0.453125l1.828125 0l0 1.765625l-1.828125 0l0 7.875l-2.65625 0l0 -7.875l-1.578125 0l0 -1.765625l1.578125 0l0 -0.671875q0 -1.5 0.875 -2.25q0.875 -0.75 2.359375 -0.75zm6.8376465 3.40625q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm13.087769 -7.171875q1.875 0 3.15625 0.96875q1.28125 0.96875 1.390625 2.6875l-2.609375 0q-0.109375 -0.828125 -0.609375 -1.234375q-0.484375 -0.421875 -1.34375 -0.421875q-1.0625 0 -1.65625 0.875q-0.59375 0.875 -0.59375 2.265625q0 1.375 0.578125 2.203125q0.59375 0.828125 1.625 0.828125q0.875 0 1.421875 -0.5q0.546875 -0.5 0.6875 -1.46875l2.546875 0q-0.265625 1.921875 -1.5 2.953125q-1.21875 1.015625 -3.140625 1.015625q-2.15625 0 -3.515625 -1.375q-1.359375 -1.390625 -1.359375 -3.578125q0 -2.328125 1.328125 -3.765625q1.34375 -1.453125 3.59375 -1.453125zm10.556519 0q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5z" fill-rule="nonzero"/><path fill="#ffffff" d="m108.14698 208.95189l0 0c0 -12.483902 10.120216 -22.604126 22.604134 -22.604126l436.42957 0c5.994995 0 11.744446 2.3815002 15.9835205 6.6206055c4.2390747 4.23909 6.6206055 9.988541 6.6206055 15.9835205l0 90.4138c0 12.483917 -10.120239 22.604126 -22.604126 22.604126l-436.42957 0c-12.483917 0 -22.604134 -10.120209 -22.604134 -22.604126z" fill-rule="evenodd"/><path fill="#393f4d" d="m250.65056 247.43817q2.171875 0 3.765625 1.265625q1.6093903 1.25 1.8593903 3.4375l-2.7968903 0q-0.28125 -1.125 -1.03125 -1.671875q-0.734375 -0.5625 -1.78125 -0.5625q-1.75 0 -2.6875 1.265625q-0.9375 1.25 -0.9375 3.296875q0 1.9375 0.921875 3.203125q0.9375 1.25 2.703125 1.25q1.390625 0 2.203125 -0.703125q0.828125 -0.71875 0.96875 -2.15625l-2.953125 0l0 -2.1875l5.5937653 0l0 7.203125l-1.8593903 0l-0.3125 -1.5q-0.71875 0.90625 -1.625 1.359375q-0.90625 0.453125 -2.03125 0.453125q-1.90625 0 -3.40625 -0.875q-1.5 -0.875 -2.328125 -2.46875q-0.8125 -1.609375 -0.8125 -3.578125q0 -3.078125 1.796875 -5.046875q1.796875 -1.984375 4.75 -1.984375zm13.531174 3.734375q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm5.790222 0q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm13.900269 -7.171875q2.046875 0 3.21875 1.4375q1.171875 1.4375 1.171875 3.75q0 2.140625 -1.15625 3.5625q-1.140625 1.421875 -3.078125 1.421875q-0.890625 0 -1.65625 -0.375q-0.765625 -0.375 -1.234375 -1.078125l-0.046875 0l0 4.578125l-2.640625 0l0 -13.03125l2.515625 0l0 1.21875l0.03125 0q0.46875 -0.75 1.203125 -1.109375q0.734375 -0.375 1.671875 -0.375zm-2.875 5.109375q0 1.390625 0.59375 2.234375q0.59375 0.828125 1.71875 0.828125q1.109375 0 1.703125 -0.796875q0.59375 -0.796875 0.59375 -2.265625q0 -1.375 -0.59375 -2.234375q-0.59375 -0.875 -1.734375 -0.875q-1.09375 0 -1.6875 0.828125q-0.59375 0.8125 -0.59375 2.28125zm11.489716 -8.515625l0 5.015625l0.0625 0q0.421875 -0.71875 1.1875 -1.15625q0.765625 -0.453125 1.640625 -0.453125q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -13.3125l2.640625 0zm19.851624 -0.328125q2.265625 0 3.859375 1.28125q1.59375 1.28125 1.875 3.515625l-2.828125 0q-0.203125 -1.046875 -1.046875 -1.6875q-0.84375 -0.640625 -1.875 -0.640625q-1.71875 0 -2.671875 1.25q-0.9375 1.25 -0.9375 3.3125q0 1.984375 0.9375 3.21875q0.9375 1.234375 2.6875 1.234375q1.265625 0 2.046875 -0.765625q0.78125 -0.78125 0.96875 -2.203125l2.84375 0q-0.265625 2.53125 -1.859375 3.984375q-1.578125 1.453125 -4.0 1.453125q-1.921875 0 -3.421875 -0.875q-1.5 -0.875 -2.328125 -2.46875q-0.8125 -1.609375 -0.8125 -3.578125q0 -3.0625 1.796875 -5.046875q1.796875 -1.984375 4.765625 -1.984375zm12.250092 3.734375q2.28125 0 3.640625 1.40625q1.359375 1.390625 1.359375 3.6875q0 2.3125 -1.375 3.703125q-1.375 1.375 -3.625 1.375q-2.234375 0 -3.609375 -1.390625q-1.375 -1.390625 -1.375 -3.6875q0 -2.28125 1.34375 -3.6875q1.359375 -1.40625 3.640625 -1.40625zm-2.328125 5.09375q0 1.53125 0.625 2.3125q0.625 0.765625 1.703125 0.765625q1.140625 0 1.75 -0.796875q0.609375 -0.8125 0.609375 -2.28125q0 -1.4375 -0.59375 -2.265625q-0.59375 -0.828125 -1.78125 -0.828125q-1.0625 0 -1.6875 0.765625q-0.625 0.765625 -0.625 2.328125zm14.583466 -5.09375q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -9.640625l2.515625 0l0 1.34375l0.046875 0q0.484375 -0.78125 1.25 -1.1875q0.78125 -0.421875 1.71875 -0.421875zm9.480804 0q1.96875 0 3.03125 0.78125q1.078125 0.78125 1.21875 2.296875l-2.515625 0q-0.0625 -0.6875 -0.515625 -1.0q-0.453125 -0.3125 -1.3125 -0.3125q-0.75 0 -1.109375 0.234375q-0.34375 0.234375 -0.34375 0.671875q0 0.4375 0.453125 0.734375q0.46875 0.28125 1.859375 0.546875q2.21875 0.421875 2.96875 1.09375q0.765625 0.671875 0.765625 1.765625q0 1.640625 -1.203125 2.5q-1.1875 0.859375 -3.1875 0.859375q-2.015625 0 -3.234375 -0.84375q-1.21875 -0.859375 -1.3125 -2.5625l2.53125 0q0 0.765625 0.578125 1.203125q0.578125 0.421875 1.453125 0.421875q0.765625 0 1.25 -0.328125q0.484375 -0.328125 0.484375 -0.890625q0 -0.515625 -0.625 -0.828125q-0.625 -0.3125 -2.296875 -0.671875q-1.671875 -0.328125 -2.40625 -0.9375q-0.734375 -0.609375 -0.734375 -1.640625q0 -1.53125 1.078125 -2.3125q1.09375 -0.78125 3.125 -0.78125zm9.411072 -2.625l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm8.833588 2.625q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm4.291504 0.265625l0 5.515625q0 1.09375 0.375 1.703125q0.390625 0.59375 1.328125 0.59375q1.09375 0 1.5625 -0.65625q0.484375 -0.671875 0.484375 -2.015625l0 -5.140625l2.65625 0l0 9.640625l-2.53125 0l0 -1.34375l-0.046875 0q-0.5 0.8125 -1.296875 1.21875q-0.796875 0.390625 -1.671875 0.390625q-1.796875 0 -2.65625 -0.90625q-0.84375 -0.921875 -0.84375 -2.96875l0 -6.03125l2.640625 0zm13.02771 -0.265625q1.875 0 3.15625 0.96875q1.28125 0.96875 1.390625 2.6875l-2.609375 0q-0.109375 -0.828125 -0.609375 -1.234375q-0.484375 -0.421875 -1.34375 -0.421875q-1.0625 0 -1.65625 0.875q-0.59375 0.875 -0.59375 2.265625q0 1.375 0.578125 2.203125q0.59375 0.828125 1.625 0.828125q0.875 0 1.421875 -0.5q0.546875 -0.5 0.6875 -1.46875l2.546875 0q-0.265625 1.921875 -1.5 2.953125q-1.21875 1.015625 -3.140625 1.015625q-2.15625 0 -3.515625 -1.375q-1.359375 -1.390625 -1.359375 -3.578125q0 -2.328125 1.328125 -3.765625q1.34375 -1.453125 3.59375 -1.453125zm9.447144 -2.625l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm5.942932 -0.78125l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm6.7629395 -0.265625q2.28125 0 3.640625 1.40625q1.359375 1.390625 1.359375 3.6875q0 2.3125 -1.375 3.703125q-1.375 1.375 -3.625 1.375q-2.234375 0 -3.609375 -1.390625q-1.375 -1.390625 -1.375 -3.6875q0 -2.28125 1.34375 -3.6875q1.359375 -1.40625 3.640625 -1.40625zm-2.328125 5.09375q0 1.53125 0.625 2.3125q0.625 0.765625 1.703125 0.765625q1.140625 0 1.75 -0.796875q0.609375 -0.8125 0.609375 -2.28125q0 -1.4375 -0.59375 -2.265625q-0.59375 -0.828125 -1.78125 -0.828125q-1.0625 0 -1.6875 0.765625q-0.625 0.765625 -0.625 2.328125zm14.583496 -5.09375q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -9.640625l2.515625 0l0 1.34375l0.046875 0q0.484375 -0.78125 1.25 -1.1875q0.78125 -0.421875 1.71875 -0.421875zm17.617218 -3.40625l4.984375 13.296875l-3.046875 0l-1.0 -2.953125l-4.984375 0l-1.046875 2.96875l-2.953125 0l5.046875 -13.3125l3.0 0zm-1.546875 3.28125l-1.734375 4.890625l3.453125 0l-1.671875 -4.890625l-0.046875 0zm13.796234 -3.28125q2.078125 0 3.296875 1.171875q1.21875 1.15625 1.21875 3.09375q0 1.921875 -1.21875 3.109375q-1.21875 1.171875 -3.296875 1.171875l-3.171875 0l0 4.765625l-2.9375 0l0 -13.3125l6.109375 0zm-0.8125 6.265625q1.25 0 1.859375 -0.46875q0.625 -0.484375 0.625 -1.53125q0 -1.015625 -0.59375 -1.5q-0.59375 -0.5 -1.875 -0.5l-2.375 0l0 4.0l2.359375 0zm10.0842285 -6.265625l0 13.3125l-2.9375 0l0 -13.3125l2.9375 0z" fill-rule="nonzero"/><path fill="#ffffff" d="m108.14698 375.20917l0 0c0 -12.834717 10.404594 -23.239319 23.239311 -23.239319l209.20642 0c6.163452 0 12.074463 2.4484253 16.432678 6.8066406c4.3582153 4.3582153 6.8066406 10.269226 6.8066406 16.432678l0 92.95444c0 12.834717 -10.404602 23.239319 -23.239319 23.239319l-209.20642 0c-12.834717 0 -23.239311 -10.404602 -23.239311 -23.239319z" fill-rule="evenodd"/><path fill="#d4d4d4" d="m170.86006 403.96576q2.171875 0 3.765625 1.265625q1.609375 1.25 1.859375 3.4375l-2.796875 0q-0.28125 -1.125 -1.03125 -1.671875q-0.734375 -0.5625 -1.78125 -0.5625q-1.75 0 -2.6875 1.265625q-0.9375 1.25 -0.9375 3.296875q0 1.9375 0.921875 3.203125q0.9375 1.25 2.703125 1.25q1.390625 0 2.203125 -0.703125q0.828125 -0.71875 0.96875 -2.15625l-2.953125 0l0 -2.1875l5.59375 0l0 7.203125l-1.859375 0l-0.3125 -1.5q-0.71875 0.90625 -1.625 1.359375q-0.90625 0.453125 -2.03125 0.453125q-1.90625 0 -3.40625 -0.875q-1.5 -0.875 -2.328125 -2.46875q-0.8125 -1.609375 -0.8125 -3.578125q0 -3.078125 1.796875 -5.046875q1.796875 -1.984375 4.75 -1.984375zm13.531158 3.734375q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm5.790222 0q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm13.900269 -7.171875q2.046875 0 3.21875 1.4375q1.171875 1.4375 1.171875 3.75q0 2.140625 -1.15625 3.5625q-1.140625 1.421875 -3.078125 1.421875q-0.890625 0 -1.65625 -0.375q-0.765625 -0.375 -1.234375 -1.078125l-0.046875 0l0 4.578125l-2.640625 0l0 -13.03125l2.515625 0l0 1.21875l0.03125 0q0.46875 -0.75 1.203125 -1.109375q0.734375 -0.375 1.671875 -0.375zm-2.875 5.109375q0 1.390625 0.59375 2.234375q0.59375 0.828125 1.71875 0.828125q1.109375 0 1.703125 -0.796875q0.59375 -0.796875 0.59375 -2.265625q0 -1.375 -0.59375 -2.234375q-0.59375 -0.875 -1.734375 -0.875q-1.09375 0 -1.6875 0.828125q-0.59375 0.8125 -0.59375 2.28125zm11.489731 -8.515625l0 5.015625l0.0625 0q0.421875 -0.71875 1.1875 -1.15625q0.765625 -0.453125 1.640625 -0.453125q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -13.3125l2.640625 0zm21.132858 0q1.609375 0 2.71875 1.046875q1.109375 1.03125 1.109375 2.625q0 1.265625 -0.53125 2.09375q-0.515625 0.8125 -1.59375 1.25l0 0.03125q0.953125 0.25 1.453125 1.125q0.5 0.875 0.546875 2.671875q0.03125 1.796875 0.515625 2.46875l-2.9375 0q-0.25 -0.640625 -0.34375 -2.09375q-0.140625 -1.96875 -0.671875 -2.53125q-0.515625 -0.578125 -1.59375 -0.578125l-3.0 0l0 5.203125l-2.9375 0l0 -13.3125l7.265625 0zm-1.0625 6.015625q0.921875 0 1.4375 -0.4375q0.515625 -0.453125 0.515625 -1.46875q0 -0.9375 -0.5 -1.390625q-0.5 -0.453125 -1.453125 -0.453125l-3.265625 0l0 3.75l3.265625 0zm11.457321 -2.609375q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm10.431519 -3.78125l1.78125 6.546875l0.03125 0l1.609375 -6.546875l2.578125 0l1.640625 6.53125l0.03125 0l1.78125 -6.53125l2.71875 0l-3.046875 9.640625l-2.71875 0l-1.71875 -6.484375l-0.046875 0l-1.640625 6.484375l-2.734375 0l-3.0625 -9.640625l2.796875 0zm18.904297 -0.265625q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm4.369629 -3.40625l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm5.4348145 -2.890625l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm5.9429626 -0.78125l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm7.6223145 -0.265625q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -9.640625l2.515625 0l0 1.34375l0.046875 0q0.484375 -0.78125 1.25 -1.1875q0.78125 -0.421875 1.71875 -0.421875zm9.355804 0q1.0625 0 1.75 0.390625q0.6875 0.390625 1.125 1.15625l0.046875 0l0 -1.28125l2.515625 0l0 9.109375q0 1.9375 -1.234375 3.0625q-1.234375 1.125 -3.75 1.125q-1.703125 0 -2.9375 -0.828125q-1.21875 -0.8125 -1.328125 -2.265625l2.625 0q0.171875 0.6875 0.6875 1.0q0.515625 0.328125 1.28125 0.328125q1.03125 0 1.578125 -0.625q0.5625 -0.609375 0.5625 -1.703125l0 -1.34375l-0.046875 0q-0.390625 0.71875 -1.15625 1.109375q-0.75 0.390625 -1.734375 0.390625q-1.953125 0 -3.046875 -1.296875q-1.078125 -1.296875 -1.078125 -3.546875q0 -2.046875 1.140625 -3.40625q1.140625 -1.375 3.0 -1.375zm-1.484375 4.734375q0 1.359375 0.5625 2.125q0.5625 0.765625 1.578125 0.765625q1.046875 0 1.65625 -0.765625q0.609375 -0.765625 0.609375 -1.90625q0 -1.421875 -0.578125 -2.1875q-0.578125 -0.765625 -1.6875 -0.765625q-0.984375 0 -1.5625 0.75q-0.578125 0.75 -0.578125 1.984375z" fill-rule="nonzero"/><path fill="#d4d4d4" d="m228.5482 426.29388l4.984375 13.296875l-3.046875 0l-1.0 -2.953125l-4.984375 0l-1.046875 2.96875l-2.953125 0l5.046875 -13.3125l3.0 0zm-1.546875 3.28125l-1.734375 4.890625l3.453125 0l-1.671875 -4.890625l-0.046875 0zm13.796249 -3.28125q2.078125 0 3.296875 1.171875q1.21875 1.15625 1.21875 3.09375q0 1.921875 -1.21875 3.109375q-1.21875 1.171875 -3.296875 1.171875l-3.171875 0l0 4.765625l-2.9375 0l0 -13.3125l6.109375 0zm-0.8125 6.265625q1.25 0 1.859375 -0.46875q0.625 -0.484375 0.625 -1.53125q0 -1.015625 -0.59375 -1.5q-0.59375 -0.5 -1.875 -0.5l-2.375 0l0 4.0l2.359375 0zm10.084198 -6.265625l0 13.3125l-2.9375 0l0 -13.3125l2.9375 0z" fill-rule="nonzero"/><path fill="#ffffff" d="m375.77167 375.57394l0 0c0 -12.834717 10.404572 -23.239288 23.239288 -23.239288l167.53714 0c6.163452 0 12.074463 2.4484253 16.432678 6.8066406c4.3582153 4.3582153 6.8066406 10.269226 6.8066406 16.432648l0 92.95447c0 12.834717 -10.404602 23.239319 -23.239319 23.239319l-167.53714 0c-12.834717 0 -23.239288 -10.404602 -23.239288 -23.239319z" fill-rule="evenodd"/><path fill="#d4d4d4" d="m425.57535 404.33057q2.171875 0 3.765625 1.265625q1.609375 1.25 1.859375 3.4375l-2.796875 0q-0.28125 -1.125 -1.03125 -1.671875q-0.734375 -0.5625 -1.78125 -0.5625q-1.75 0 -2.6875 1.265625q-0.9375 1.25 -0.9375 3.296875q0 1.9375 0.921875 3.203125q0.9375 1.25 2.703125 1.25q1.390625 0 2.203125 -0.703125q0.828125 -0.71875 0.96875 -2.15625l-2.953125 0l0 -2.1875l5.59375 0l0 7.203125l-1.859375 0l-0.3125 -1.5q-0.71875 0.90625 -1.625 1.359375q-0.90625 0.453125 -2.03125 0.453125q-1.90625 0 -3.40625 -0.875q-1.5 -0.875 -2.328125 -2.46875q-0.8125 -1.609375 -0.8125 -3.578125q0 -3.078125 1.796875 -5.046875q1.796875 -1.984375 4.75 -1.984375zm12.374908 3.734375q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm14.072144 -4.046875q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -9.640625l2.515625 0l0 1.34375l0.046875 0q0.484375 -0.78125 1.25 -1.1875q0.78125 -0.421875 1.71875 -0.421875zm9.980804 0q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm14.150269 -4.046875q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm4.3696594 -3.40625l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm6.7004395 -0.265625q1.875 0 3.15625 0.96875q1.28125 0.96875 1.390625 2.6875l-2.609375 0q-0.109375 -0.828125 -0.609375 -1.234375q-0.484375 -0.421875 -1.34375 -0.421875q-1.0625 0 -1.65625 0.875q-0.59375 0.875 -0.59375 2.265625q0 1.375 0.578125 2.203125q0.59375 0.828125 1.625 0.828125q0.875 0 1.421875 -0.5q0.546875 -0.5 0.6875 -1.46875l2.546875 0q-0.265625 1.921875 -1.5 2.953125q-1.21875 1.015625 -3.140625 1.015625q-2.15625 0 -3.515625 -1.375q-1.359375 -1.390625 -1.359375 -3.578125q0 -2.328125 1.328125 -3.765625q1.34375 -1.453125 3.59375 -1.453125zm17.521057 -3.734375q2.171875 0 3.765625 1.265625q1.609375 1.25 1.859375 3.4375l-2.796875 0q-0.28125 -1.125 -1.03125 -1.671875q-0.734375 -0.5625 -1.78125 -0.5625q-1.75 0 -2.6875 1.265625q-0.9375 1.25 -0.9375 3.296875q0 1.9375 0.921875 3.203125q0.9375 1.25 2.703125 1.25q1.390625 0 2.203125 -0.703125q0.828125 -0.71875 0.96875 -2.15625l-2.953125 0l0 -2.1875l5.59375 0l0 7.203125l-1.859375 0l-0.3125 -1.5q-0.71875 0.90625 -1.625 1.359375q-0.90625 0.453125 -2.03125 0.453125q-1.90625 0 -3.40625 -0.875q-1.5 -0.875 -2.328125 -2.46875q-0.8125 -1.609375 -0.8125 -3.578125q0 -3.078125 1.796875 -5.046875q1.796875 -1.984375 4.75 -1.984375zm13.531128 3.734375q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.9843445 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.8280945 -0.5625 1.8124695 -0.5625zm5.790222 0q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm13.900269 -7.171875q2.046875 0 3.21875 1.4375q1.171875 1.4375 1.171875 3.75q0 2.140625 -1.15625 3.5625q-1.140625 1.421875 -3.078125 1.421875q-0.890625 0 -1.65625 -0.375q-0.765625 -0.375 -1.234375 -1.078125l-0.046875 0l0 4.578125l-2.640625 0l0 -13.03125l2.515625 0l0 1.21875l0.03125 0q0.46875 -0.75 1.203125 -1.109375q0.734375 -0.375 1.671875 -0.375zm-2.875 5.109375q0 1.390625 0.59375 2.234375q0.59375 0.828125 1.71875 0.828125q1.109375 0 1.703125 -0.796875q0.59375 -0.796875 0.59375 -2.265625q0 -1.375 -0.59375 -2.234375q-0.59375 -0.875 -1.734375 -0.875q-1.09375 0 -1.6875 0.828125q-0.59375 0.8125 -0.59375 2.28125zm11.489746 -8.515625l0 5.015625l0.0625 0q0.421875 -0.71875 1.1875 -1.15625q0.765625 -0.453125 1.640625 -0.453125q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -13.3125l2.640625 0z" fill-rule="nonzero"/><path fill="#d4d4d4" d="m441.85144 426.33057q2.96875 0 4.75 2.0q1.796875 1.984375 1.796875 5.03125q0 2.984375 -1.796875 4.953125q-1.796875 1.96875 -4.75 1.96875q-1.921875 0 -3.421875 -0.875q-1.5 -0.890625 -2.328125 -2.484375q-0.8125 -1.59375 -0.8125 -3.5625q0 -3.078125 1.796875 -5.046875q1.8125 -1.984375 4.765625 -1.984375zm-3.625 7.03125q0 1.96875 0.9375 3.21875q0.9375 1.234375 2.6875 1.234375q1.71875 0 2.65625 -1.21875q0.953125 -1.21875 0.953125 -3.234375q0 -2.09375 -0.96875 -3.328125q-0.953125 -1.234375 -2.671875 -1.234375q-1.703125 0 -2.65625 1.25q-0.9375 1.234375 -0.9375 3.3125zm17.308289 -3.296875q2.046875 0 3.21875 1.4375q1.171875 1.4375 1.171875 3.75q0 2.140625 -1.15625 3.5625q-1.140625 1.421875 -3.078125 1.421875q-0.890625 0 -1.65625 -0.375q-0.765625 -0.375 -1.234375 -1.078125l-0.046875 0l0 4.578125l-2.640625 0l0 -13.03125l2.515625 0l0 1.21875l0.03125 0q0.46875 -0.75 1.203125 -1.109375q0.734375 -0.375 1.671875 -0.375zm-2.875 5.109375q0 1.390625 0.59375 2.234375q0.59375 0.828125 1.71875 0.828125q1.109375 0 1.703125 -0.796875q0.59375 -0.796875 0.59375 -2.265625q0 -1.375 -0.59375 -2.234375q-0.59375 -0.875 -1.734375 -0.875q-1.09375 0 -1.6875 0.828125q-0.59375 0.8125 -0.59375 2.28125zm12.192871 -7.734375l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm5.942932 -0.78125l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm7.6379395 -0.265625q1.078125 0 1.78125 0.421875q0.703125 0.40625 1.03125 1.1875q0.546875 -0.78125 1.296875 -1.1875q0.75 -0.421875 1.640625 -0.421875q1.75 0 2.625 0.90625q0.890625 0.890625 0.890625 2.453125l0 6.546875l-2.65625 0l0 -5.578125q0 -1.3125 -0.390625 -1.765625q-0.390625 -0.46875 -1.234375 -0.46875q-0.890625 0 -1.328125 0.609375q-0.4375 0.59375 -0.4375 1.75l0 5.453125l-2.65625 0l0 -5.9375q0 -0.953125 -0.375 -1.40625q-0.359375 -0.46875 -1.21875 -0.46875q-0.765625 0 -1.28125 0.578125q-0.515625 0.578125 -0.515625 1.578125l0 5.65625l-2.65625 0l0 -9.640625l2.5 0l0 1.3125l0.03125 0q0.578125 -0.796875 1.3125 -1.1875q0.75 -0.390625 1.640625 -0.390625zm14.070007 -3.40625l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm9.997314 0l0 1.984375l-5.015625 5.65625l5.375 0l0 2.0l-8.875 0l0 -2.0l5.015625 -5.65625l-4.640625 0l0 -1.984375l8.140625 0zm5.9477234 -0.265625q2.140625 0 3.421875 1.484375q1.2812195 1.46875 1.2812195 3.75l-0.03125 0.484375l-6.9530945 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.3280945 0q-0.53125 1.640625 -1.6562195 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm14.150238 -4.046875q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm5.604004 0q1.96875 0 3.03125 0.78125q1.078125 0.78125 1.21875 2.296875l-2.515625 0q-0.0625 -0.6875 -0.515625 -1.0q-0.453125 -0.3125 -1.3125 -0.3125q-0.75 0 -1.109375 0.234375q-0.34375 0.234375 -0.34375 0.671875q0 0.4375 0.453125 0.734375q0.46875 0.28125 1.859375 0.546875q2.21875 0.421875 2.96875 1.09375q0.765625 0.671875 0.765625 1.765625q0 1.640625 -1.203125 2.5q-1.1875 0.859375 -3.1875 0.859375q-2.015625 0 -3.234375 -0.84375q-1.21875 -0.859375 -1.3125 -2.5625l2.53125 0q0 0.765625 0.578125 1.203125q0.578125 0.421875 1.453125 0.421875q0.765625 0 1.25 -0.328125q0.484375 -0.328125 0.484375 -0.890625q0 -0.515625 -0.625 -0.828125q-0.625 -0.3125 -2.296875 -0.671875q-1.671875 -0.328125 -2.40625 -0.9375q-0.734375 -0.609375 -0.734375 -1.640625q0 -1.53125 1.078125 -2.3125q1.09375 -0.78125 3.125 -0.78125z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m408.3622 51.29287l0 0c0 -6.007122 4.8697205 -10.876858 10.876862 -10.876858l136.57697 0c2.8847656 0 5.651306 1.1459503 7.691101 3.1857567c2.039795 2.0398064 3.185791 4.8063774 3.185791 7.691101l0 43.506126c0 6.007118 -4.869751 10.876854 -10.876892 10.876854l-136.57697 0c-6.007141 0 -10.876862 -4.8697357 -10.876862 -10.876854z" fill-rule="evenodd"/><path stroke="#393f4d" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m408.3622 51.29287l0 0c0 -6.007122 4.8697205 -10.876858 10.876862 -10.876858l136.57697 0c2.8847656 0 5.651306 1.1459503 7.691101 3.1857567c2.039795 2.0398064 3.185791 4.8063774 3.185791 7.691101l0 43.506126c0 6.007118 -4.869751 10.876854 -10.876892 10.876854l-136.57697 0c-6.007141 0 -10.876862 -4.8697357 -10.876862 -10.876854z" fill-rule="evenodd"/><path fill="#cccccc" d="m393.3071 63.73119l0 0c0 -6.007122 4.8697205 -10.876858 10.876831 -10.876858l136.577 0c2.8847046 0 5.651306 1.1459503 7.691101 3.1857567c2.039795 2.0398064 3.185791 4.8063774 3.185791 7.691101l0 43.506123c0 6.007126 -4.869751 10.876862 -10.876892 10.876862l-136.577 0c-6.0071106 0 -10.876831 -4.8697357 -10.876831 -10.876862z" fill-rule="evenodd"/><path fill="#393f4d" d="m433.03586 68.09175l0 2.453125l-6.4375 0l0 3.078125l5.578125 0l0 2.28125l-5.578125 0l0 5.5l-2.9375 0l0 -13.3125l9.375 0zm6.2984924 3.40625q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm5.790222 0q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm14.025269 -7.171875q1.078125 0 1.78125 0.421875q0.703125 0.40625 1.03125 1.1875q0.546875 -0.78125 1.296875 -1.1875q0.75 -0.421875 1.640625 -0.421875q1.75 0 2.625 0.90625q0.890625 0.890625 0.890625 2.453125l0 6.546875l-2.65625 0l0 -5.578125q0 -1.3125 -0.390625 -1.765625q-0.390625 -0.46875 -1.234375 -0.46875q-0.890625 0 -1.328125 0.609375q-0.4375 0.59375 -0.4375 1.75l0 5.453125l-2.65625 0l0 -5.9375q0 -0.953125 -0.375 -1.40625q-0.359375 -0.46875 -1.21875 -0.46875q-0.765625 0 -1.28125 0.578125q-0.515625 0.578125 -0.515625 1.578125l0 5.65625l-2.65625 0l0 -9.640625l2.5 0l0 1.3125l0.03125 0q0.578125 -0.796875 1.3125 -1.1875q0.75 -0.390625 1.640625 -0.390625zm15.804382 0q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm10.431519 -3.78125l1.78125 6.546875l0.03125 0l1.609375 -6.546875l2.578125 0l1.640625 6.53125l0.03125 0l1.78125 -6.53125l2.71875 0l-3.046875 9.640625l-2.71875 0l-1.71875 -6.484375l-0.046875 0l-1.640625 6.484375l-2.734375 0l-3.0625 -9.640625l2.796875 0zm17.966766 -0.265625q2.28125 0 3.640625 1.40625q1.359375 1.390625 1.359375 3.6875q0 2.3125 -1.375 3.703125q-1.375 1.375 -3.625 1.375q-2.234375 0 -3.609375 -1.390625q-1.375 -1.390625 -1.375 -3.6875q0 -2.28125 1.34375 -3.6875q1.359375 -1.40625 3.640625 -1.40625zm-2.328125 5.09375q0 1.53125 0.625 2.3125q0.625 0.765625 1.703125 0.765625q1.140625 0 1.75 -0.796875q0.609375 -0.8125 0.609375 -2.28125q0 -1.4375 -0.59375 -2.265625q-0.59375 -0.828125 -1.78125 -0.828125q-1.0625 0 -1.6875 0.765625q-0.625 0.765625 -0.625 2.328125zm14.661621 -5.09375q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm4.5415344 -3.40625l0 7.140625l3.328125 -3.46875l3.140625 0l-3.640625 3.53125l4.046875 6.109375l-3.21875 0l-2.640625 -4.3125l-1.015625 0.984375l0 3.328125l-2.65625 0l0 -13.3125l2.65625 0z" fill-rule="nonzero"/><path fill="#393f4d" d="m445.76312 90.09175q2.03125 0 3.09375 0.8125q1.0625 0.796875 1.0625 2.46875q0 1.03125 -0.484375 1.703125q-0.46875 0.671875 -1.328125 1.09375q1.21875 0.359375 1.828125 1.234375q0.609375 0.859375 0.609375 2.140625q0 1.84375 -1.328125 2.859375q-1.328125 1.0 -3.28125 1.0l-6.546875 0l0 -13.3125l6.375 0zm-0.421875 5.390625q0.78125 0 1.25 -0.40625q0.484375 -0.40625 0.484375 -1.1875q0 -0.78125 -0.5 -1.15625q-0.484375 -0.375 -1.4375 -0.375l-2.8125 0l0 3.125l3.015625 0zm0.1875 5.640625q0.984375 0 1.53125 -0.421875q0.5625 -0.4375 0.5625 -1.328125q0 -0.9375 -0.53125 -1.421875q-0.515625 -0.484375 -1.515625 -0.484375l-3.25 0l0 3.65625l3.203125 0zm12.33902 -7.625q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm4.369629 -3.40625l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm11.481689 -3.671875l0 13.3125l-2.515625 0l0 -1.234375l-0.03125 0q-0.4375 0.75 -1.1875 1.125q-0.75 0.375 -1.75 0.375q-1.96875 0 -3.15625 -1.453125q-1.171875 -1.453125 -1.171875 -3.71875q0 -2.15625 1.15625 -3.578125q1.171875 -1.421875 3.125 -1.421875q0.90625 0 1.640625 0.375q0.75 0.359375 1.203125 1.0625l0.046875 0l0 -4.84375l2.640625 0zm-7.15625 8.46875q0 1.359375 0.625 2.234375q0.625 0.875 1.703125 0.875q1.09375 0 1.6875 -0.8125q0.59375 -0.8125 0.59375 -2.296875q0 -1.421875 -0.578125 -2.234375q-0.578125 -0.828125 -1.71875 -0.828125q-1.09375 0 -1.703125 0.828125q-0.609375 0.8125 -0.609375 2.234375zm12.989746 -5.0625q1.0625 0 1.75 0.390625q0.6875 0.390625 1.125 1.15625l0.046875 0l0 -1.28125l2.515625 0l0 9.109375q0 1.9375 -1.234375 3.0625q-1.234375 1.125 -3.75 1.125q-1.703125 0 -2.9375 -0.828125q-1.21875 -0.8125 -1.328125 -2.265625l2.625 0q0.171875 0.6875 0.6875 1.0q0.515625 0.328125 1.28125 0.328125q1.03125 0 1.578125 -0.625q0.5625 -0.609375 0.5625 -1.703125l0 -1.34375l-0.046875 0q-0.390625 0.71875 -1.15625 1.109375q-0.75 0.390625 -1.734375 0.390625q-1.953125 0 -3.046875 -1.296875q-1.078125 -1.296875 -1.078125 -3.546875q0 -2.046875 1.140625 -3.40625q1.140625 -1.375 3.0 -1.375zm-1.484375 4.734375q0 1.359375 0.5625 2.125q0.5625 0.765625 1.578125 0.765625q1.046875 0 1.65625 -0.765625q0.609375 -0.765625 0.609375 -1.90625q0 -1.421875 -0.578125 -2.1875q-0.578125 -0.765625 -1.6875 -0.765625q-0.984375 0 -1.5625 0.75q-0.578125 0.75 -0.578125 1.984375zm13.505341 -4.734375q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm12.494019 -4.046875q1.96875 0 3.03125 0.78125q1.078125 0.78125 1.21875 2.296875l-2.515625 0q-0.0625 -0.6875 -0.515625 -1.0q-0.453125 -0.3125 -1.3125 -0.3125q-0.75 0 -1.109375 0.234375q-0.34375 0.234375 -0.34375 0.671875q0 0.4375 0.453125 0.734375q0.46875 0.28125 1.859375 0.546875q2.21875 0.421875 2.96875 1.09375q0.765625 0.671875 0.765625 1.765625q0 1.640625 -1.203125 2.5q-1.1875 0.859375 -3.1875 0.859375q-2.015625 0 -3.234375 -0.84375q-1.21875 -0.859375 -1.3125 -2.5625l2.53125 0q0 0.765625 0.578125 1.203125q0.578125 0.421875 1.453125 0.421875q0.765625 0 1.25 -0.328125q0.484375 -0.328125 0.484375 -0.890625q0 -0.515625 -0.625 -0.828125q-0.625 -0.3125 -2.296875 -0.671875q-1.671875 -0.328125 -2.40625 -0.9375q-0.734375 -0.609375 -0.734375 -1.640625q0 -1.53125 1.078125 -2.3125q1.09375 -0.78125 3.125 -0.78125z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m275.02362 577.03314l0 0c0 -9.36731 7.593689 -16.960938 16.960968 -16.960938l392.0308 0c4.498352 0 8.812439 1.7869263 11.993225 4.9677124c3.1808472 3.1807861 4.9677734 7.494873 4.9677734 11.993225l0 67.84186c0 9.367249 -7.593689 16.960938 -16.960999 16.960938l-392.0308 0c-9.367279 0 -16.960968 -7.593689 -16.960968 -16.960938z" fill-rule="evenodd"/><path stroke="#d9d9d9" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m275.02362 577.03314l0 0c0 -9.36731 7.593689 -16.960938 16.960968 -16.960938l392.0308 0c4.498352 0 8.812439 1.7869263 11.993225 4.9677124c3.1808472 3.1807861 4.9677734 7.494873 4.9677734 11.993225l0 67.84186c0 9.367249 -7.593689 16.960938 -16.960999 16.960938l-392.0308 0c-9.367279 0 -16.960968 -7.593689 -16.960968 -16.960938z" fill-rule="evenodd"/><path fill="#d4d4d4" d="m259.02362 594.4925l0 0c0 -9.399231 7.6195374 -17.018738 17.018707 -17.018738l391.9153 0c4.513672 0 8.842468 1.7930298 12.034058 4.98468c3.1916504 3.1915894 4.98468 7.5203857 4.98468 12.034058l0 68.072754c0 9.399231 -7.619568 17.018738 -17.018738 17.018738l-391.9153 0l0 0c-9.39917 0 -17.018707 -7.619507 -17.018707 -17.018738z" fill-rule="evenodd"/><path stroke="#d4d4d4" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m259.02362 594.4925l0 0c0 -9.399231 7.6195374 -17.018738 17.018707 -17.018738l391.9153 0c4.513672 0 8.842468 1.7930298 12.034058 4.98468c3.1916504 3.1915894 4.98468 7.5203857 4.98468 12.034058l0 68.072754c0 9.399231 -7.619568 17.018738 -17.018738 17.018738l-391.9153 0l0 0c-9.39917 0 -17.018707 -7.619507 -17.018707 -17.018738z" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m268.74014 625.7257l406.51968 0" fill-rule="evenodd"/><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m268.74014 625.7257l406.51968 0" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m349.46457 583.563l245.07089 0l0 41.417297l-245.07089 0z" fill-rule="evenodd"/><path fill="#ffffff" d="m386.13965 597.87915l0 5.109375l5.390625 0l0 -5.109375l2.921875 0l0 13.3125l-2.921875 0l0 -5.75l-5.390625 0l0 5.75l-2.9375 0l0 -13.3125l2.9375 0zm15.046967 3.40625q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm14.087769 -7.171875q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm10.895691 -3.40625l0 13.3125l-2.515625 0l0 -1.234375l-0.03125 0q-0.4375 0.75 -1.1875 1.125q-0.75 0.375 -1.75 0.375q-1.96875 0 -3.15625 -1.453125q-1.171875 -1.453125 -1.171875 -3.71875q0 -2.15625 1.15625 -3.578125q1.171875 -1.421875 3.125 -1.421875q0.90625 0 1.640625 0.375q0.75 0.359375 1.203125 1.0625l0.046875 0l0 -4.84375l2.640625 0zm-7.15625 8.46875q0 1.359375 0.625 2.234375q0.625 0.875 1.703125 0.875q1.09375 0 1.6875 -0.8125q0.59375 -0.8125 0.59375 -2.296875q0 -1.421875 -0.578125 -2.234375q-0.578125 -0.828125 -1.71875 -0.828125q-1.09375 0 -1.703125 0.828125q-0.609375 0.8125 -0.609375 2.234375zm11.052216 -4.796875l1.78125 6.546875l0.03125 0l1.609375 -6.546875l2.578125 0l1.640625 6.53125l0.03125 0l1.78125 -6.53125l2.71875 0l-3.046875 9.640625l-2.71875 0l-1.71875 -6.484375l-0.046875 0l-1.640625 6.484375l-2.734375 0l-3.0625 -9.640625l2.796875 0zm17.716797 -0.265625q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm14.087769 -7.171875q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625zm5.958191 0q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm20.364807 -7.453125q2.03125 0 3.09375 0.8125q1.0625 0.796875 1.0625 2.46875q0 1.03125 -0.484375 1.703125q-0.46875 0.671875 -1.328125 1.09375q1.21875 0.359375 1.828125 1.234375q0.609375 0.859375 0.609375 2.140625q0 1.84375 -1.328125 2.859375q-1.328125 1.0 -3.28125 1.0l-6.546875 0l0 -13.3125l6.375 0zm-0.421875 5.390625q0.78125 0 1.25 -0.40625q0.484375 -0.40625 0.484375 -1.1875q0 -0.78125 -0.5 -1.15625q-0.484375 -0.375 -1.4375 -0.375l-2.8125 0l0 3.125l3.015625 0zm0.1875 5.640625q0.984375 0 1.53125 -0.421875q0.5625 -0.4375 0.5625 -1.328125q0 -0.9375 -0.53125 -1.421875q-0.515625 -0.484375 -1.515625 -0.484375l-3.25 0l0 3.65625l3.203125 0zm11.15152 -7.625q2.140625 0 3.1875 0.703125q1.046875 0.703125 1.046875 1.984375l0 5.171875q0 0.578125 0.0625 1.171875q0.078125 0.578125 0.265625 0.875l-2.6875 0q-0.078125 -0.21875 -0.125 -0.453125q-0.046875 -0.234375 -0.0625 -0.46875q-0.5625 0.578125 -1.390625 0.890625q-0.8125 0.296875 -1.859375 0.296875q-1.484375 0 -2.390625 -0.75q-0.890625 -0.75 -0.890625 -2.140625q0 -1.359375 0.84375 -2.0625q0.84375 -0.71875 3.046875 -0.96875q1.546875 -0.140625 2.03125 -0.375q0.5 -0.234375 0.5 -0.8125q0 -0.640625 -0.375 -0.96875q-0.375 -0.328125 -1.328125 -0.328125q-0.828125 0 -1.265625 0.359375q-0.4375 0.34375 -0.5 1.109375l-2.65625 0q0.109375 -1.59375 1.296875 -2.40625q1.203125 -0.828125 3.25 -0.828125zm-2.1875 7.171875q0 0.5625 0.390625 0.890625q0.390625 0.328125 1.234375 0.328125q1.0625 0 1.59375 -0.546875q0.546875 -0.5625 0.546875 -1.625l0 -1.03125q-0.234375 0.1875 -0.625 0.28125q-0.390625 0.09375 -1.40625 0.25q-0.890625 0.109375 -1.3125 0.46875q-0.421875 0.34375 -0.421875 0.984375zm13.087769 -7.171875q1.875 0 3.15625 0.96875q1.28125 0.96875 1.390625 2.6875l-2.609375 0q-0.109375 -0.828125 -0.609375 -1.234375q-0.484375 -0.421875 -1.34375 -0.421875q-1.0625 0 -1.65625 0.875q-0.59375 0.875 -0.59375 2.265625q0 1.375 0.578125 2.203125q0.59375 0.828125 1.625 0.828125q0.875 0 1.421875 -0.5q0.546875 -0.5 0.6875 -1.46875l2.546875 0q-0.265625 1.921875 -1.5 2.953125q-1.21875 1.015625 -3.140625 1.015625q-2.15625 0 -3.515625 -1.375q-1.359375 -1.390625 -1.359375 -3.578125q0 -2.328125 1.328125 -3.765625q1.34375 -1.453125 3.59375 -1.453125zm8.993988 -3.40625l0 7.140625l3.328125 -3.46875l3.140625 0l-3.640625 3.53125l4.046875 6.109375l-3.21875 0l-2.640625 -4.3125l-1.015625 0.984375l0 3.328125l-2.6562195 0l0 -13.3125l2.6562195 0zm12.010986 3.40625q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm14.072144 -4.046875q1.84375 0 2.671875 0.9375q0.84375 0.9375 0.84375 2.9375l0 6.03125l-2.65625 0l0 -5.53125q0 -1.125 -0.390625 -1.703125q-0.390625 -0.578125 -1.296875 -0.578125q-1.109375 0 -1.59375 0.65625q-0.46875 0.65625 -0.46875 2.015625l0 5.140625l-2.640625 0l0 -9.640625l2.515625 0l0 1.34375l0.046875 0q0.484375 -0.78125 1.25 -1.1875q0.78125 -0.421875 1.71875 -0.421875zm14.918274 -3.40625l0 13.3125l-2.515625 0l0 -1.234375l-0.03125 0q-0.4375 0.75 -1.1875 1.125q-0.75 0.375 -1.75 0.375q-1.96875 0 -3.15625 -1.453125q-1.171875 -1.453125 -1.171875 -3.71875q0 -2.15625 1.15625 -3.578125q1.171875 -1.421875 3.125 -1.421875q0.90625 0 1.640625 0.375q0.75 0.359375 1.203125 1.0625l0.046875 0l0 -4.84375l2.640625 0zm-7.15625 8.46875q0 1.359375 0.625 2.234375q0.625 0.875 1.703125 0.875q1.09375 0 1.6875 -0.8125q0.59375 -0.8125 0.59375 -2.296875q0 -1.421875 -0.578125 -2.234375q-0.578125 -0.828125 -1.71875 -0.828125q-1.09375 0 -1.703125 0.828125q-0.609375 0.8125 -0.609375 2.234375zm13.114746 -5.0625q1.96875 0 3.03125 0.78125q1.078125 0.78125 1.21875 2.296875l-2.515625 0q-0.0625 -0.6875 -0.515625 -1.0q-0.453125 -0.3125 -1.3125 -0.3125q-0.75 0 -1.109375 0.234375q-0.34375 0.234375 -0.34375 0.671875q0 0.4375 0.453125 0.734375q0.46875 0.28125 1.859375 0.546875q2.21875 0.421875 2.96875 1.09375q0.765625 0.671875 0.765625 1.765625q0 1.640625 -1.203125 2.5q-1.1875 0.859375 -3.1875 0.859375q-2.015625 0 -3.234375 -0.84375q-1.21875 -0.859375 -1.3125 -2.5625l2.53125 0q0 0.765625 0.578125 1.203125q0.578125 0.421875 1.453125 0.421875q0.765625 0 1.25 -0.328125q0.484375 -0.328125 0.484375 -0.890625q0 -0.515625 -0.625 -0.828125q-0.625 -0.3125 -2.296875 -0.671875q-1.671875 -0.328125 -2.40625 -0.9375q-0.734375 -0.609375 -0.734375 -1.640625q0 -1.53125 1.078125 -2.3125q1.09375 -0.78125 3.125 -0.78125z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m511.7638 625.7257l0 45.102356" fill-rule="evenodd"/><path stroke="#ffffff" stroke-width="1.0" stroke-linejoin="round" stroke-linecap="butt" d="m511.7638 625.7257l0 45.102356" fill-rule="evenodd"/><path fill="#000000" fill-opacity="0.0" d="m288.8504 629.32416l202.80313 0l0 41.417297l-202.80313 0z" fill-rule="evenodd"/><path fill="#ffffff" d="m306.71445 643.6403l0 5.109375l5.390625 0l0 -5.109375l2.921875 0l0 13.3125l-2.921875 0l0 -5.75l-5.390625 0l0 5.75l-2.9375 0l0 -13.3125l2.9375 0zm12.593842 0l2.109375 9.0625l0.03125 0l2.3125 -9.0625l2.75 0l2.28125 9.171875l0.03125 0l2.1875 -9.171875l2.859375 0l-3.578125 13.3125l-2.90625 0l-2.25 -9.0625l-0.046875 0l-2.21875 9.0625l-2.96875 0l-3.53125 -13.3125l2.9375 0zm21.233673 7.078125l0 2.28125l-5.609375 0l0 -2.28125l5.609375 0zm6.8629456 -7.40625q2.421875 0 3.875 1.125q1.453125 1.125 1.453125 3.171875l-2.828125 0q-0.0625 -1.0 -0.6875 -1.5q-0.625 -0.515625 -1.9375 -0.515625q-0.890625 0 -1.46875 0.390625q-0.5625 0.390625 -0.5625 1.125q0 0.5 0.234375 0.75q0.25 0.234375 0.984375 0.515625q0.734375 0.265625 3.203125 0.84375q1.65625 0.40625 2.578125 1.359375q0.9375 0.953125 0.9375 2.421875q0 1.9375 -1.453125 3.109375q-1.453125 1.15625 -4.078125 1.15625q-2.515625 0 -4.109375 -1.234375q-1.578125 -1.234375 -1.578125 -3.421875l0 -0.078125l2.828125 0q0.015625 1.25 0.828125 1.859375q0.8125 0.609375 2.125 0.609375q1.1875 0 1.890625 -0.4375q0.703125 -0.4375 0.703125 -1.21875q0 -0.65625 -0.546875 -1.0625q-0.53125 -0.421875 -1.71875 -0.71875q-1.53125 -0.34375 -2.78125 -0.734375q-1.25 -0.390625 -2.0625 -1.25q-0.8125 -0.875 -0.8125 -2.234375q0 -1.796875 1.421875 -2.90625q1.4375 -1.125 3.5625 -1.125zm12.669006 3.734375q2.046875 0 3.21875 1.4375q1.171875 1.4375 1.171875 3.75q0 2.140625 -1.15625 3.5625q-1.140625 1.421875 -3.078125 1.421875q-0.890625 0 -1.65625 -0.375q-0.765625 -0.375 -1.234375 -1.078125l-0.046875 0l0 4.578125l-2.640625 0l0 -13.03125l2.515625 0l0 1.21875l0.03125 0q0.46875 -0.75 1.203125 -1.109375q0.734375 -0.375 1.671875 -0.375zm-2.875 5.109375q0 1.390625 0.59375 2.234375q0.59375 0.828125 1.71875 0.828125q1.109375 0 1.703125 -0.796875q0.59375 -0.796875 0.59375 -2.265625q0 -1.375 -0.59375 -2.234375q-0.59375 -0.875 -1.734375 -0.875q-1.09375 0 -1.6875 0.828125q-0.59375 0.8125 -0.59375 2.28125zm13.302246 -5.109375q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm13.150269 -4.046875q1.875 0 3.15625 0.96875q1.28125 0.96875 1.390625 2.6875l-2.609375 0q-0.109375 -0.828125 -0.609375 -1.234375q-0.484375 -0.421875 -1.34375 -0.421875q-1.0625 0 -1.65625 0.875q-0.59375 0.875 -0.59375 2.265625q0 1.375 0.578125 2.203125q0.59375 0.828125 1.625 0.828125q0.875 0 1.421875 -0.5q0.546875 -0.5 0.6875 -1.46875l2.546875 0q-0.265625 1.921875 -1.5 2.953125q-1.21875 1.015625 -3.140625 1.015625q-2.15625 0 -3.515625 -1.375q-1.359375 -1.390625 -1.359375 -3.578125q0 -2.328125 1.328125 -3.765625q1.34375 -1.453125 3.59375 -1.453125zm17.536682 -3.734375q2.96875 0 4.75 2.0q1.796875 1.984375 1.796875 5.03125q0 2.984375 -1.796875 4.953125q-1.796875 1.96875 -4.75 1.96875q-1.921875 0 -3.421875 -0.875q-1.5 -0.890625 -2.328125 -2.484375q-0.8125 -1.59375 -0.8125 -3.5625q0 -3.078125 1.796875 -5.046875q1.8125 -1.984375 4.765625 -1.984375zm-3.625 7.03125q0 1.96875 0.9375 3.21875q0.9375 1.234375 2.6875 1.234375q1.71875 0 2.65625 -1.21875q0.953125 -1.21875 0.953125 -3.234375q0 -2.09375 -0.96875 -3.328125q-0.953125 -1.234375 -2.671875 -1.234375q-1.703125 0 -2.65625 1.25q-0.9375 1.234375 -0.9375 3.3125zm17.30832 -3.296875q2.046875 0 3.21875 1.4375q1.171875 1.4375 1.171875 3.75q0 2.140625 -1.15625 3.5625q-1.140625 1.421875 -3.078125 1.421875q-0.890625 0 -1.65625 -0.375q-0.765625 -0.375 -1.234375 -1.078125l-0.046875 0l0 4.578125l-2.640625 0l0 -13.03125l2.515625 0l0 1.21875l0.03125 0q0.46875 -0.75 1.203125 -1.109375q0.734375 -0.375 1.671875 -0.375zm-2.875 5.109375q0 1.390625 0.59375 2.234375q0.59375 0.828125 1.71875 0.828125q1.109375 0 1.703125 -0.796875q0.59375 -0.796875 0.59375 -2.265625q0 -1.375 -0.59375 -2.234375q-0.59375 -0.875 -1.734375 -0.875q-1.09375 0 -1.6875 0.828125q-0.59375 0.8125 -0.59375 2.28125zm12.192841 -7.734375l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm5.9429626 -0.78125l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm7.6379395 -0.265625q1.078125 0 1.78125 0.421875q0.703125 0.40625 1.03125 1.1875q0.546875 -0.78125 1.296875 -1.1875q0.75 -0.421875 1.640625 -0.421875q1.75 0 2.625 0.90625q0.890625 0.890625 0.890625 2.453125l0 6.546875l-2.65625 0l0 -5.578125q0 -1.3125 -0.390625 -1.765625q-0.390625 -0.46875 -1.234375 -0.46875q-0.890625 0 -1.328125 0.609375q-0.4375 0.59375 -0.4375 1.75l0 5.453125l-2.65625 0l0 -5.9375q0 -0.953125 -0.375 -1.40625q-0.359375 -0.46875 -1.21875 -0.46875q-0.765625 0 -1.28125 0.578125q-0.515625 0.578125 -0.515625 1.578125l0 5.65625l-2.65625 0l0 -9.640625l2.5 0l0 1.3125l0.03125 0q0.578125 -0.796875 1.3125 -1.1875q0.75 -0.390625 1.640625 -0.390625zm14.069977 -3.40625l0 2.171875l-2.65625 0l0 -2.171875l2.65625 0zm0 3.671875l0 9.640625l-2.65625 0l0 -9.640625l2.65625 0zm9.997314 0l0 1.984375l-5.015625 5.65625l5.375 0l0 2.0l-8.875 0l0 -2.0l5.015625 -5.65625l-4.640625 0l0 -1.984375l8.140625 0zm5.9477234 -0.265625q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm14.150269 -4.046875q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m531.874 629.32416l123.27557 0l0 41.417297l-123.27557 0z" fill-rule="evenodd"/><path fill="#ffffff" d="m564.97156 643.6403l0 2.453125l-7.03125 0l0 2.859375l6.453125 0l0 2.265625l-6.453125 0l0 3.28125l7.171875 0l0 2.453125l-10.109375 0l0 -13.3125l9.96875 0zm4.166443 3.671875l1.6875 2.515625l1.6875 -2.515625l2.921875 0l-3.171875 4.515625l3.5625 5.125l-3.015625 0l-2.015625 -3.046875l-2.015625 3.046875l-2.96875 0l3.46875 -5.078125l-3.171875 -4.5625l3.03125 0zm12.015259 -0.265625q2.140625 0 3.421875 1.484375q1.28125 1.46875 1.28125 3.75l-0.03125 0.484375l-6.953125 0q0.0625 1.25 0.65625 1.859375q0.59375 0.59375 1.703125 0.59375q0.71875 0 1.328125 -0.359375q0.609375 -0.375 0.78125 -0.890625l2.328125 0q-0.53125 1.640625 -1.65625 2.453125q-1.125 0.796875 -2.859375 0.796875q-2.234375 0 -3.59375 -1.40625q-1.34375 -1.421875 -1.34375 -3.671875q0 -2.15625 1.375 -3.625q1.390625 -1.46875 3.5625 -1.46875zm-2.28125 4.046875l4.3125 0q-0.1875 -1.0625 -0.6875 -1.546875q-0.5 -0.5 -1.4375 -0.5q-0.96875 0 -1.53125 0.546875q-0.5625 0.546875 -0.65625 1.5zm13.150269 -4.046875q1.875 0 3.15625 0.96875q1.28125 0.96875 1.390625 2.6875l-2.609375 0q-0.109375 -0.828125 -0.609375 -1.234375q-0.484375 -0.421875 -1.34375 -0.421875q-1.0625 0 -1.65625 0.875q-0.59375 0.875 -0.59375 2.265625q0 1.375 0.578125 2.203125q0.59375 0.828125 1.625 0.828125q0.875 0 1.421875 -0.5q0.546875 -0.5 0.6875 -1.46875l2.546875 0q-0.265625 1.921875 -1.5 2.953125q-1.21875 1.015625 -3.140625 1.015625q-2.15625 0 -3.515625 -1.375q-1.359375 -1.390625 -1.359375 -3.578125q0 -2.328125 1.328125 -3.765625q1.34375 -1.453125 3.59375 -1.453125zm8.744019 0.265625l0 5.515625q0 1.09375 0.375 1.703125q0.390625 0.59375 1.328125 0.59375q1.09375 0 1.5625 -0.65625q0.484375 -0.671875 0.484375 -2.015625l0 -5.140625l2.65625 0l0 9.640625l-2.53125 0l0 -1.34375l-0.046875 0q-0.5 0.8125 -1.296875 1.21875q-0.796875 0.390625 -1.671875 0.390625q-1.796875 0 -2.65625 -0.90625q-0.84375 -0.921875 -0.84375 -2.96875l0 -6.03125l2.640625 0zm11.762024 -2.890625l0 2.890625l1.9375 0l0 1.765625l-1.9375 0l0 4.84375q0 0.59375 0.21875 0.828125q0.234375 0.21875 0.90625 0.21875q0.234375 0 0.4375 -0.015625q0.203125 -0.015625 0.375 -0.046875l0 2.0625q-0.328125 0.0625 -0.734375 0.078125q-0.390625 0.015625 -0.796875 0.015625q-1.71875 0 -2.390625 -0.578125q-0.65625 -0.59375 -0.65625 -1.65625l0 -5.75l-1.609375 0l0 -1.765625l1.609375 0l0 -2.890625l2.640625 0zm7.8049316 2.625q2.28125 0 3.640625 1.40625q1.359375 1.390625 1.359375 3.6875q0 2.3125 -1.375 3.703125q-1.375 1.375 -3.625 1.375q-2.234375 0 -3.609375 -1.390625q-1.375 -1.390625 -1.375 -3.6875q0 -2.28125 1.34375 -3.6875q1.359375 -1.40625 3.640625 -1.40625zm-2.328125 5.09375q0 1.53125 0.625 2.3125q0.625 0.765625 1.703125 0.765625q1.140625 0 1.75 -0.796875q0.609375 -0.8125 0.609375 -2.28125q0 -1.4375 -0.59375 -2.265625q-0.59375 -0.828125 -1.78125 -0.828125q-1.0625 0 -1.6875 0.765625q-0.625 0.765625 -0.625 2.328125zm14.661621 -5.09375q0.1875 0 0.328125 0.03125q0.140625 0.015625 0.265625 0.0625l0 2.46875q-0.21875 -0.046875 -0.4375 -0.0625q-0.21875 -0.03125 -0.5 -0.03125q-1.34375 0 -1.984375 0.828125q-0.640625 0.8125 -0.640625 2.1875l0 4.421875l-2.640625 0l0 -9.640625l2.515625 0l0 1.78125l0.03125 0q0.421875 -0.9375 1.25 -1.484375q0.828125 -0.5625 1.8125 -0.5625z" fill-rule="nonzero"/><path fill="#000000" fill-opacity="0.0" d="m479.81104 118.114174l0.3779297 55.685036" fill-rule="evenodd"/><path stroke="#393f4d" stroke-width="2.0" stroke-linejoin="round" stroke-linecap="butt" d="m479.81104 118.114174l0.2965088 43.68531" fill-rule="evenodd"/><path fill="#393f4d" stroke="#393f4d" stroke-width="2.0" stroke-linecap="butt" d="m476.80414 161.82191l3.3649902 9.053558l3.2417908 -9.098404z" fill-rule="evenodd"/></g></svg>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -47,11 +47,16 @@ packages, scripts, and other files that use licensing.
.. toctree::
:maxdepth: 1
:caption: Getting Started
:titlesonly:
introduction.rst
features.rst
.. toctree::
:maxdepth: 1
:caption: Framework Support
frameworks/index.rst
frameworks/validated/list.rst
frameworks/generic-configs.rst
.. toctree::
......@@ -68,15 +73,9 @@ packages, scripts, and other files that use licensing.
.. toctree::
:maxdepth: 1
:caption: nGraph Python API
:caption: APIs
python_api/index.rst
.. toctree::
:maxdepth: 1
:caption: Backend Developers
backends/index.rst
backends/cpp-api.rst
......@@ -93,9 +92,7 @@ packages, scripts, and other files that use licensing.
:caption: Project Metadata
project/release-notes.rst
project/introduction.rst
project/contribution-guide.rst
project/doc-contributor-README.rst
project/index.rst
project/extras/index.rst
glossary.rst
......
.. project/introduction.rst:
.. introduction.rst:
.. _introduction:
Introduction
############
......@@ -47,7 +48,7 @@ However, kernel libraries have three main problems:
nGraph Compiler addresses the first two problems, and nGraph Compiler combined
with PlaidML addresses the third problem. nGraph applies graph-level
optimizations by taking the computational graph from a deep learning framework
such as TensorFlow\* and reconstructing it with nGraph's
such as TensorFlow and reconstructing it with nGraph's
:abbr: `IR (Intermediate Representation)`. nGraph IR centralizes computational
graphs from various frameworks and provides a unified way to connect backends
for targeted hardware. To address the third problem, nGraph is integrated with
......@@ -68,10 +69,13 @@ graph, but the choice of operations in the graph may not be optimal.
.. _figure-A:
.. figure:: ../graphics/kernel-problem-1.png
.. figure:: graphics/kernel-problem-1.png
:width: 100%
:alt:
**Figure A**: The mathematical operations in a Deep Learning stack can be
simplified significantly with a graph compiler
The computation is constructed to execute ``(A+B)*C``. With nGraph, we can
further optimize the graph to be represented as ``A*C``. From the first graph
......@@ -94,10 +98,12 @@ diagram.
.. _figure-B:
.. figure:: ../graphics/kernel-problem-2.png
.. figure:: graphics/kernel-problem-2.png
:width: 100%
:alt:
**Figure B**: A many-to-many problem
Each framework must be manually integrated with each hardware-specific kernel
library. Additionally, each integration is unique to the framework and its set
of deep learning operators, view on memory layout, feature set, etc. Each
......@@ -129,10 +135,12 @@ work for what will ultimately be a fragile setup that is costly to maintain.
.. _figure-C:
.. figure:: ../graphics/kernel-problem-3.png
.. figure:: graphics/kernel-problem-3.png
:width: 100%
:alt:
**Figure C**: Inevitable scaling problem
Integrating PlaidML with nGraph provides flexbility to support the latest deep
learning models in the absence of hand-optimized kernels for new operations.
......
......@@ -195,7 +195,7 @@ Backprop
C++ Interface
=============
.. doxygenclass:: ngraph::op::AvgPool
.. doxygenclass:: ngraph::op::v0::AvgPool
:project: ngraph
:members:
......@@ -17,7 +17,7 @@ Description
C++ Interface
=============
.. doxygenclass:: ngraph::op::AvgPoolBackprop
.. doxygenclass:: ngraph::op::v0::AvgPoolBackprop
:project: ngraph
:members:
......
......@@ -138,7 +138,7 @@ Batched, Padded, Dilated, Strided Convolution
C++ Interface
=============
.. doxygenclass:: ngraph::op::Convolution
.. doxygenclass:: ngraph::op::v0::Convolution
:project: ngraph
:members:
......@@ -78,6 +78,6 @@ Given an input data batch tensor :math:`T_{in}`, the output tensor is defined by
C++ Interface
=============
.. doxygenclass:: ngraph::op::MaxPool
.. doxygenclass:: ngraph::op::v0::MaxPool
:project: ngraph
:members:
.. about:
Architecture, Features, FAQs
############################
* :ref:`architecture`
* :ref:`features`
* :ref:`faq`
* :ref:`whats_next`
.. _architecture:
nGraph Compiler stack architecture
==================================
The diagram below represents our current Beta release stack. In the
diagram, nGraph components are colored in gray. Please note that the
stack diagram is simplified to show how nGraph executes deep learning
workloads with two hardware backends; however, many other deep learning
frameworks and backends currently are functioning.
.. figure:: ../graphics/stackngrknl-notice.png
:alt:
Bridge
------
Starting from the top of the stack, nGraph receives a computational
graph from a deep learning framework such as TensorFlow\* or MXNet\*.
The computational graph is converted to an nGraph internal
representation by a bridge created for the corresponding framework.
An nGraph bridge examines the whole graph to pattern match subgraphs
which nGraph knows how to execute, and these subgraphs are encapsulated.
Parts of the graph that are not encapsulated will default to framework
implementation when executed.
nGraph Core
-----------
nGraph uses a strongly-typed and platform-neutral
``Intermediate Representation (IR)`` to construct a "stateless"
computational graph. Each node, or op, in the graph corresponds to one
``step`` in a computation, where each step produces zero or more tensor
outputs from zero or more tensor inputs.
This allows nGraph to apply its state of the art optimizations instead
of having to follow how a particular framework implements op execution,
memory management, data layouts, etc.
In addition, using nGraph IR allows faster optimization delivery for
many of the supported frameworks. For example, if nGraph optimizes
ResNet\* for TensorFlow\ *, the same optimization can be readily applied
to MXNet* or ONNX\* implementations of ResNet\*.
Hybrid Transformer
------------------
Hybrid transformer takes the nGraph IR, and partitions it into
subgraphs, which can then be assigned to the best-performing backend.
There are two hardware backends shown in the stack diagram to
demonstrate this graph partitioning. The Hybrid transformer assigns
complex operations (subgraphs) to Intel® Nervana™ Neural Network
Processor (NNP) to expedite the computation, and the remaining
operations default to CPU. In the future, we will further expand the
capabilities of Hybrid transformer by enabling more features, such as
localized cost modeling and memory sharing.
Once the subgraphs are assigned, the corresponding backend will execute
the IR.
Backends
--------
Focusing our attention on the CPU backend, when the IR is passed to the
Intel® Architecture (IA) transformer, it can be executed in two modes:
Direct EXecution (DEX) and code generation (``codegen``).
In ``codegen`` mode, nGraph generates and compiles code which can either
call into highly optimized kernels like MKL-DNN or JITers like Halide.
Although our team wrote kernels for nGraph for some operations, nGraph
leverages existing kernel libraries such as MKL-DNN, Eigen, and MLSL.
MLSL library is called when nGraph executes distributed training. At the
time of the nGraph Beta release, nGraph achieved state of the art
results for ResNet50 with 16 nodes and 32 nodes for TensorFlow\* and
MXNet\*. We are excited to continue our work in enabling distributed
training, and we plan to expand to 256 nodes in Q4 ‘18. Additionally, we
are testing model parallelism in addition to data parallelism.
The other mode of execution is Direct EXecution (DEX). In DEX mode,
nGraph can execute the operations by directly calling associated kernels
as it walks though the IR instead of compiling via ``codegen``. This
mode reduces the compilation time, and it will be useful for training,
deploying, and retraining a deep learning workload in production. In our
tests, DEX mode reduced ResNet50 compilation time by 30X.
nGraph further tries to speed up the computation by leveraging
multi-threading and graph scheduling libraries such as OpenMP and TBB
Flow Graph.
.. _features:
Features
########
nGraph performs a combination of device-specific and non-device-specific
optimizations:
- **Fusion** -- Fuse multiple ops to to decrease memory usage.
- **Data layout abstraction** -- Make abstraction easier and faster
with nGraph translating element order to work best for a given or
available device.
- **Data reuse** -- Save results and reuse for subgraphs with the same
input.
- **Graph scheduling** -- Run similar subgraphs in parallel via
multi-threading.
- **Graph partitioning** -- Partition subgraphs to run on different
devices to speed up computation; make better use of spare CPU cycles
with nGraph.
- **Memory management** -- Prevent peak memory usage by intercepting a
graph with or by a "saved checkpoint," and to enable data auditing.
- **Data layout abstraction** -- Make abstraction easier and faster
with nGraph translating element order to work best for whatever given
or available device.
.. _faq:
FAQs
####
Why nGraph?
===========
The value we're offering to the developer community is empowerment: we are
confident that Intel® Architecture already provides the best computational
resources available for the breadth of ML/DL tasks.
How does it work?
=================
The :doc:`nGraph Core <../ops/index>` uses a **strongly-typed** and
**platform-neutral** :abbr:`Intermediate Representation (IR)` to construct a
"stateless" graph. Each node, or *op*, in the graph corresponds to one
:term:`step` in a computation, where each step produces zero or more tensor
outputs from zero or more tensor inputs.
How do I connect a framework?
=============================
The nGraph Library manages framework bridges for some of the more widely-known
frameworks. A bridge acts as an intermediary between the nGraph core and the
framework, and the result is a function that can be compiled from a framework.
A fully-compiled function that makes use of bridge code thus becomes a "function
graph", or what we sometimes call an **nGraph graph**.
.. important:: See :doc:`../ops/index` to learn about Core Ops.
Our design philosophy is that the graph is not a script for running kernels;
rather, our compilation will match ``ops`` to appropriate available kernels
(or when available, such as with CPU cycles). Thus, we expect that adding of
new Core ops should be infrequent and that most functionality instead gets
added with new functions that build sub-graphs from existing core ops.
For a more detailed dive into how custom bridge code can be implemented, see our
documentation on how to :doc:`../core/constructing-graphs/execute`. To learn how TensorFlow and
MXNet currently make use of custom bridge code, see the section on
:doc:`../frameworks/index`.
.. figure:: ../graphics/bridge-to-graph-compiler.png
:width: 733px
:alt: Compiling a computation
JiT Compiling for computation
How do I run an inference model?
================================
Framework bridge code is *not* the only way to connect a model (function graph)
to nGraph's :doc:`../ops/index`. We've also built an importer for models that
have been exported from a framework and saved as serialized file, such as ONNX.
To learn how to convert such serialized files to an nGraph model, please see
the :doc:`../core/constructing-graphs/import` documentation.
.. _whats_next:
What's next?
############
We developed nGraph to simplify the realization of optimized deep learning
performance across frameworks and hardware platforms. You can read more about
design decisions and what is tentatively in the pipeline for development in
our `arXiv paper`_ from the 2018 SysML conference.
.. _arXiv paper: https://arxiv.org/pdf/1801.08058.pdf
.. _ONNX: http://onnx.ai
.. _NNVM: https://github.com/dmlc/nnvm
.. _nGraph ONNX companion tool: https://github.com/NervanaSystems/ngraph-onnx
.. _Intel® MKL-DNN: https://github.com/intel/mkl-dnn
.. _Movidius: https://developer.movidius.com/
.. project/contribution-guide.rst:
.. contribution_guide:
.. _contribution_guide:
##################
Contribution guide
##################
.. contents::
License
=======
......
......@@ -15,6 +15,8 @@
.. limitations under the License.
.. ---------------------------------------------------------------------------
:orphan:
Contributing to documentation
=============================
......
......@@ -10,7 +10,5 @@ This section contains documentation about the project and how to contribute.
.. toctree::
:maxdepth: 2
about.rst
contribution-guide.rst
governance.rst
doc-contributor-README.rst
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment