Skip to content

Instantly share code, notes, and snippets.

@jmcastagnetto
Last active December 6, 2021 13:28
Show Gist options
  • Save jmcastagnetto/fce3cad5856517250ad1cdc468d49865 to your computer and use it in GitHub Desktop.
Save jmcastagnetto/fce3cad5856517250ad1cdc468d49865 to your computer and use it in GitHub Desktop.
Notebook benchmarking C, Python, Julia and R
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Julia is fast\n",
"\n",
"Very often, benchmarks are used to compare languages. These benchmarks can lead to long discussions, first as to exactly what is being benchmarked and secondly what explains the differences. These simple questions can sometimes get more complicated than you at first might imagine.\n",
"\n",
"The purpose of this notebook is for you to see a simple benchmark for yourself. ~~One can read the notebook and see what happened on the author's Macbook Pro with a 4-core Intel Core I7, or run the notebook yourself.~~\n",
"\n",
"_Note_: I (jmcastagnetto) run this notebook on an HP laptop witha a 4-core Ryzen 3 3200U with Radeon Vega Mobile Gfx, 16GB (14GB accessible, 2GB for graphics) RAM, and SSD Drive. Using Julia 1.7.0, Python 3.8.10 and R 4.1.2\n",
"\n",
"(This material began life as a wonderful lecture by Steven Johnson at MIT: https://github.com/stevengj/18S096/blob/master/lectures/lecture1/Boxes-and-registers.ipynb.)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Outline of this notebook\n",
"\n",
"- Define the sum function\n",
"- Implementations & benchmarking of sum in...\n",
" - C (hand-written)\n",
" - C (hand-written with -ffast-math)\n",
" - python (built-in)\n",
" - python (numpy)\n",
" - python (hand-written)\n",
" - Julia (built-in)\n",
" - Julia (hand-written)\n",
" - Julia (hand-written with SIMD)\n",
" - R base sum\n",
" - R hand-written sum\n",
"- Summary of benchmarks"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# `sum`: An easy enough function to understand"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Consider the **sum** function `sum(a)`, which computes\n",
"$$\n",
"\\mathrm{sum}(a) = \\sum_{i=1}^n a_i,\n",
"$$\n",
"where $n$ is the length of `a`."
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10000000-element Vector{Float64}:\n",
" 0.23554841155162087\n",
" 0.4144761515203421\n",
" 0.6209139843388389\n",
" 0.7587124999975389\n",
" 0.5132166436202502\n",
" 0.8978720084048397\n",
" 0.9556059573349612\n",
" 0.7871201114775244\n",
" 0.821826879968898\n",
" 0.3315031832122076\n",
" 0.8058013898958418\n",
" 0.2522187421336839\n",
" 0.3577025114637479\n",
" ⋮\n",
" 0.10902044017456214\n",
" 0.37427152416749687\n",
" 0.00721461542946189\n",
" 0.19167172337865035\n",
" 0.9578601054015895\n",
" 0.5075592977642448\n",
" 0.13686593615379727\n",
" 0.2378202144283894\n",
" 0.6567190147170613\n",
" 0.8031968001870893\n",
" 0.7493721234931605\n",
" 0.3323185237701626"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = rand(10^7) # 1D vector of random numbers, uniform on [0,1)"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.998784559011245e6"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum(a)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The expected result is 0.5 * 10^7, since the mean of each entry is 0.5"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Benchmarking a few ways in a few languages"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0.006959 seconds (1 allocation: 16 bytes)\n"
]
},
{
"data": {
"text/plain": [
"4.998784559011245e6"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@time sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0.007074 seconds (1 allocation: 16 bytes)\n"
]
},
{
"data": {
"text/plain": [
"4.998784559011245e6"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@time sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 0.008090 seconds (1 allocation: 16 bytes)\n"
]
},
{
"data": {
"text/plain": [
"4.998784559011245e6"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@time sum(a)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The `@time` macro can yield noisy results, so it's not our best choice for benchmarking!\n",
"\n",
"Luckily, Julia has a `BenchmarkTools.jl` package to make benchmarking easy and accurate:"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [],
"source": [
"#using Pkg\n",
"#Pkg.add(\"BenchmarkTools\")"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [],
"source": [
"using BenchmarkTools "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 1. The C language\n",
"\n",
"C is often considered the gold standard: difficult on the human, nice for the machine. Getting within a factor of 2 of C is often satisfying. Nonetheless, even within C, there are many kinds of optimizations possible that a naive C writer may or may not get the advantage of.\n",
"\n",
"The current author does not speak C, so he does not read the cell below, but is happy to know that you can put C code in a Julia session, compile it, and run it. Note that the `\"\"\"` wrap a multi-line string."
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING: redefinition of constant Clib. This may fail, cause incorrect answers, or produce other errors.\n"
]
},
{
"data": {
"text/plain": [
"c_sum (generic function with 1 method)"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using Libdl\n",
"C_code = \"\"\"\n",
"#include <stddef.h>\n",
"double c_sum(size_t n, double *X) {\n",
" double s = 0.0;\n",
" for (size_t i = 0; i < n; ++i) {\n",
" s += X[i];\n",
" }\n",
" return s;\n",
"}\n",
"\"\"\"\n",
"\n",
"const Clib = tempname() # make a temporary file\n",
"\n",
"\n",
"# compile to a shared library by piping C_code to gcc\n",
"# (works only if you have gcc installed):\n",
"\n",
"open(`gcc -fPIC -O3 -msse3 -xc -shared -o $(Clib * \".\" * Libdl.dlext) -`, \"w\") do f\n",
" print(f, C_code) \n",
"end\n",
"\n",
"# define a Julia function that calls the C function:\n",
"c_sum(X::Array{Float64}) = ccall((\"c_sum\", Clib), Float64, (Csize_t, Ptr{Float64}), length(X), X)"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.998784559011017e6"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c_sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"true"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c_sum(a) ≈ sum(a) # type \\approx and then <TAB> to get the ≈ symbolb"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-2.2817403078079224e-7"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c_sum(a) - sum(a) "
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"isapprox (generic function with 19 methods)"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"≈ # alias for the `isapprox` function"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"search: \u001b[0m\u001b[1mi\u001b[22m\u001b[0m\u001b[1ms\u001b[22m\u001b[0m\u001b[1ma\u001b[22m\u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mp\u001b[22m\u001b[0m\u001b[1mr\u001b[22m\u001b[0m\u001b[1mo\u001b[22m\u001b[0m\u001b[1mx\u001b[22m\n",
"\n"
]
},
{
"data": {
"text/latex": [
"\\begin{verbatim}\n",
"isapprox(x, y; atol::Real=0, rtol::Real=atol>0 ? 0 : √eps, nans::Bool=false[, norm::Function])\n",
"\\end{verbatim}\n",
"Inexact equality comparison. Two numbers compare equal if their relative distance \\emph{or} their absolute distance is within tolerance bounds: \\texttt{isapprox} returns \\texttt{true} if \\texttt{norm(x-y) <= max(atol, rtol*max(norm(x), norm(y)))}. The default \\texttt{atol} is zero and the default \\texttt{rtol} depends on the types of \\texttt{x} and \\texttt{y}. The keyword argument \\texttt{nans} determines whether or not NaN values are considered equal (defaults to false).\n",
"\n",
"For real or complex floating-point values, if an \\texttt{atol > 0} is not specified, \\texttt{rtol} defaults to the square root of \\href{@ref}{\\texttt{eps}} of the type of \\texttt{x} or \\texttt{y}, whichever is bigger (least precise). This corresponds to requiring equality of about half of the significand digits. Otherwise, e.g. for integer arguments or if an \\texttt{atol > 0} is supplied, \\texttt{rtol} defaults to zero.\n",
"\n",
"The \\texttt{norm} keyword defaults to \\texttt{abs} for numeric \\texttt{(x,y)} and to \\texttt{LinearAlgebra.norm} for arrays (where an alternative \\texttt{norm} choice is sometimes useful). When \\texttt{x} and \\texttt{y} are arrays, if \\texttt{norm(x-y)} is not finite (i.e. \\texttt{±Inf} or \\texttt{NaN}), the comparison falls back to checking whether all elements of \\texttt{x} and \\texttt{y} are approximately equal component-wise.\n",
"\n",
"The binary operator \\texttt{≈} is equivalent to \\texttt{isapprox} with the default arguments, and \\texttt{x ≉ y} is equivalent to \\texttt{!isapprox(x,y)}.\n",
"\n",
"Note that \\texttt{x ≈ 0} (i.e., comparing to zero with the default tolerances) is equivalent to \\texttt{x == 0} since the default \\texttt{atol} is \\texttt{0}. In such cases, you should either supply an appropriate \\texttt{atol} (or use \\texttt{norm(x) ≤ atol}) or rearrange your code (e.g. use \\texttt{x ≈ y} rather than \\texttt{x - y ≈ 0}). It is not possible to pick a nonzero \\texttt{atol} automatically because it depends on the overall scaling (the \"units\") of your problem: for example, in \\texttt{x - y ≈ 0}, \\texttt{atol=1e-9} is an absurdly small tolerance if \\texttt{x} is the \\href{https://en.wikipedia.org/wiki/Earth_radius}{radius of the Earth} in meters, but an absurdly large tolerance if \\texttt{x} is the \\href{https://en.wikipedia.org/wiki/Bohr_radius}{radius of a Hydrogen atom} in meters.\n",
"\n",
"\\begin{quote}\n",
"\\textbf{compat}\n",
"\n",
"Julia 1.6\n",
"\n",
"Passing the \\texttt{norm} keyword argument when comparing numeric (non-array) arguments requires Julia 1.6 or later.\n",
"\n",
"\\end{quote}\n",
"\\section{Examples}\n",
"\\begin{verbatim}\n",
"julia> isapprox(0.1, 0.15; atol=0.05)\n",
"true\n",
"\n",
"julia> isapprox(0.1, 0.15; rtol=0.34)\n",
"true\n",
"\n",
"julia> isapprox(0.1, 0.15; rtol=0.33)\n",
"false\n",
"\n",
"julia> 0.1 + 1e-10 ≈ 0.1\n",
"true\n",
"\n",
"julia> 1e-10 ≈ 0\n",
"false\n",
"\n",
"julia> isapprox(1e-10, 0, atol=1e-8)\n",
"true\n",
"\n",
"julia> isapprox([10.0^9, 1.0], [10.0^9, 2.0]) # using `norm`\n",
"true\n",
"\\end{verbatim}\n",
"\\rule{\\textwidth}{1pt}\n",
"\\begin{verbatim}\n",
"isapprox(x; kwargs...) / ≈(x; kwargs...)\n",
"\\end{verbatim}\n",
"Create a function that compares its argument to \\texttt{x} using \\texttt{≈}, i.e. a function equivalent to \\texttt{y -> y ≈ x}.\n",
"\n",
"The keyword arguments supported here are the same as those in the 2-argument \\texttt{isapprox}.\n",
"\n",
"\\begin{quote}\n",
"\\textbf{compat}\n",
"\n",
"Julia 1.5\n",
"\n",
"This method requires Julia 1.5 or later.\n",
"\n",
"\\end{quote}\n",
"\\rule{\\textwidth}{1pt}\n",
"\\begin{verbatim}\n",
"isapprox(x::FixedPoint, y::FixedPoint; rtol=0, atol=max(eps(x), eps(y)))\n",
"\\end{verbatim}\n",
"For FixedPoint numbers, the default criterion is that \\texttt{x} and \\texttt{y} differ by no more than \\texttt{eps}, the separation between adjacent fixed-point numbers.\n",
"\n",
"\\rule{\\textwidth}{1pt}\n",
"\\begin{verbatim}\n",
"isapprox(df1::AbstractDataFrame, df2::AbstractDataFrame;\n",
" rtol::Real=atol>0 ? 0 : √eps, atol::Real=0,\n",
" nans::Bool=false, norm::Function=norm)\n",
"\\end{verbatim}\n",
"Inexact equality comparison. \\texttt{df1} and \\texttt{df2} must have the same size and column names. Return \\texttt{true} if \\texttt{isapprox} with given keyword arguments applied to all pairs of columns stored in \\texttt{df1} and \\texttt{df2} returns \\texttt{true}.\n",
"\n"
],
"text/markdown": [
"```\n",
"isapprox(x, y; atol::Real=0, rtol::Real=atol>0 ? 0 : √eps, nans::Bool=false[, norm::Function])\n",
"```\n",
"\n",
"Inexact equality comparison. Two numbers compare equal if their relative distance *or* their absolute distance is within tolerance bounds: `isapprox` returns `true` if `norm(x-y) <= max(atol, rtol*max(norm(x), norm(y)))`. The default `atol` is zero and the default `rtol` depends on the types of `x` and `y`. The keyword argument `nans` determines whether or not NaN values are considered equal (defaults to false).\n",
"\n",
"For real or complex floating-point values, if an `atol > 0` is not specified, `rtol` defaults to the square root of [`eps`](@ref) of the type of `x` or `y`, whichever is bigger (least precise). This corresponds to requiring equality of about half of the significand digits. Otherwise, e.g. for integer arguments or if an `atol > 0` is supplied, `rtol` defaults to zero.\n",
"\n",
"The `norm` keyword defaults to `abs` for numeric `(x,y)` and to `LinearAlgebra.norm` for arrays (where an alternative `norm` choice is sometimes useful). When `x` and `y` are arrays, if `norm(x-y)` is not finite (i.e. `±Inf` or `NaN`), the comparison falls back to checking whether all elements of `x` and `y` are approximately equal component-wise.\n",
"\n",
"The binary operator `≈` is equivalent to `isapprox` with the default arguments, and `x ≉ y` is equivalent to `!isapprox(x,y)`.\n",
"\n",
"Note that `x ≈ 0` (i.e., comparing to zero with the default tolerances) is equivalent to `x == 0` since the default `atol` is `0`. In such cases, you should either supply an appropriate `atol` (or use `norm(x) ≤ atol`) or rearrange your code (e.g. use `x ≈ y` rather than `x - y ≈ 0`). It is not possible to pick a nonzero `atol` automatically because it depends on the overall scaling (the \"units\") of your problem: for example, in `x - y ≈ 0`, `atol=1e-9` is an absurdly small tolerance if `x` is the [radius of the Earth](https://en.wikipedia.org/wiki/Earth_radius) in meters, but an absurdly large tolerance if `x` is the [radius of a Hydrogen atom](https://en.wikipedia.org/wiki/Bohr_radius) in meters.\n",
"\n",
"!!! compat \"Julia 1.6\"\n",
" Passing the `norm` keyword argument when comparing numeric (non-array) arguments requires Julia 1.6 or later.\n",
"\n",
"\n",
"# Examples\n",
"\n",
"```jldoctest\n",
"julia> isapprox(0.1, 0.15; atol=0.05)\n",
"true\n",
"\n",
"julia> isapprox(0.1, 0.15; rtol=0.34)\n",
"true\n",
"\n",
"julia> isapprox(0.1, 0.15; rtol=0.33)\n",
"false\n",
"\n",
"julia> 0.1 + 1e-10 ≈ 0.1\n",
"true\n",
"\n",
"julia> 1e-10 ≈ 0\n",
"false\n",
"\n",
"julia> isapprox(1e-10, 0, atol=1e-8)\n",
"true\n",
"\n",
"julia> isapprox([10.0^9, 1.0], [10.0^9, 2.0]) # using `norm`\n",
"true\n",
"```\n",
"\n",
"---\n",
"\n",
"```\n",
"isapprox(x; kwargs...) / ≈(x; kwargs...)\n",
"```\n",
"\n",
"Create a function that compares its argument to `x` using `≈`, i.e. a function equivalent to `y -> y ≈ x`.\n",
"\n",
"The keyword arguments supported here are the same as those in the 2-argument `isapprox`.\n",
"\n",
"!!! compat \"Julia 1.5\"\n",
" This method requires Julia 1.5 or later.\n",
"\n",
"\n",
"---\n",
"\n",
"```\n",
"isapprox(x::FixedPoint, y::FixedPoint; rtol=0, atol=max(eps(x), eps(y)))\n",
"```\n",
"\n",
"For FixedPoint numbers, the default criterion is that `x` and `y` differ by no more than `eps`, the separation between adjacent fixed-point numbers.\n",
"\n",
"---\n",
"\n",
"```\n",
"isapprox(df1::AbstractDataFrame, df2::AbstractDataFrame;\n",
" rtol::Real=atol>0 ? 0 : √eps, atol::Real=0,\n",
" nans::Bool=false, norm::Function=norm)\n",
"```\n",
"\n",
"Inexact equality comparison. `df1` and `df2` must have the same size and column names. Return `true` if `isapprox` with given keyword arguments applied to all pairs of columns stored in `df1` and `df2` returns `true`.\n"
],
"text/plain": [
"\u001b[36m isapprox(x, y; atol::Real=0, rtol::Real=atol>0 ? 0 : √eps, nans::Bool=false[, norm::Function])\u001b[39m\n",
"\n",
" Inexact equality comparison. Two numbers compare equal if their relative\n",
" distance \u001b[4mor\u001b[24m their absolute distance is within tolerance bounds: \u001b[36misapprox\u001b[39m\n",
" returns \u001b[36mtrue\u001b[39m if \u001b[36mnorm(x-y) <= max(atol, rtol*max(norm(x), norm(y)))\u001b[39m. The\n",
" default \u001b[36matol\u001b[39m is zero and the default \u001b[36mrtol\u001b[39m depends on the types of \u001b[36mx\u001b[39m and \u001b[36my\u001b[39m.\n",
" The keyword argument \u001b[36mnans\u001b[39m determines whether or not NaN values are\n",
" considered equal (defaults to false).\n",
"\n",
" For real or complex floating-point values, if an \u001b[36matol > 0\u001b[39m is not specified,\n",
" \u001b[36mrtol\u001b[39m defaults to the square root of \u001b[36meps\u001b[39m of the type of \u001b[36mx\u001b[39m or \u001b[36my\u001b[39m, whichever is\n",
" bigger (least precise). This corresponds to requiring equality of about half\n",
" of the significand digits. Otherwise, e.g. for integer arguments or if an\n",
" \u001b[36matol > 0\u001b[39m is supplied, \u001b[36mrtol\u001b[39m defaults to zero.\n",
"\n",
" The \u001b[36mnorm\u001b[39m keyword defaults to \u001b[36mabs\u001b[39m for numeric \u001b[36m(x,y)\u001b[39m and to \u001b[36mLinearAlgebra.norm\u001b[39m\n",
" for arrays (where an alternative \u001b[36mnorm\u001b[39m choice is sometimes useful). When \u001b[36mx\u001b[39m\n",
" and \u001b[36my\u001b[39m are arrays, if \u001b[36mnorm(x-y)\u001b[39m is not finite (i.e. \u001b[36m±Inf\u001b[39m or \u001b[36mNaN\u001b[39m), the\n",
" comparison falls back to checking whether all elements of \u001b[36mx\u001b[39m and \u001b[36my\u001b[39m are\n",
" approximately equal component-wise.\n",
"\n",
" The binary operator \u001b[36m≈\u001b[39m is equivalent to \u001b[36misapprox\u001b[39m with the default arguments,\n",
" and \u001b[36mx ≉ y\u001b[39m is equivalent to \u001b[36m!isapprox(x,y)\u001b[39m.\n",
"\n",
" Note that \u001b[36mx ≈ 0\u001b[39m (i.e., comparing to zero with the default tolerances) is\n",
" equivalent to \u001b[36mx == 0\u001b[39m since the default \u001b[36matol\u001b[39m is \u001b[36m0\u001b[39m. In such cases, you should\n",
" either supply an appropriate \u001b[36matol\u001b[39m (or use \u001b[36mnorm(x) ≤ atol\u001b[39m) or rearrange your\n",
" code (e.g. use \u001b[36mx ≈ y\u001b[39m rather than \u001b[36mx - y ≈ 0\u001b[39m). It is not possible to pick a\n",
" nonzero \u001b[36matol\u001b[39m automatically because it depends on the overall scaling (the\n",
" \"units\") of your problem: for example, in \u001b[36mx - y ≈ 0\u001b[39m, \u001b[36matol=1e-9\u001b[39m is an\n",
" absurdly small tolerance if \u001b[36mx\u001b[39m is the radius of the Earth\n",
" (https://en.wikipedia.org/wiki/Earth_radius) in meters, but an absurdly\n",
" large tolerance if \u001b[36mx\u001b[39m is the radius of a Hydrogen atom\n",
" (https://en.wikipedia.org/wiki/Bohr_radius) in meters.\n",
"\n",
"\u001b[39m\u001b[1m │ \u001b[22m\u001b[39m\u001b[1mJulia 1.6\u001b[22m\n",
"\u001b[39m\u001b[1m │\u001b[22m\n",
"\u001b[39m\u001b[1m │\u001b[22m Passing the \u001b[36mnorm\u001b[39m keyword argument when comparing numeric\n",
"\u001b[39m\u001b[1m │\u001b[22m (non-array) arguments requires Julia 1.6 or later.\n",
"\n",
"\u001b[1m Examples\u001b[22m\n",
"\u001b[1m ≡≡≡≡≡≡≡≡≡≡\u001b[22m\n",
"\n",
"\u001b[36m julia> isapprox(0.1, 0.15; atol=0.05)\u001b[39m\n",
"\u001b[36m true\u001b[39m\n",
"\u001b[36m \u001b[39m\n",
"\u001b[36m julia> isapprox(0.1, 0.15; rtol=0.34)\u001b[39m\n",
"\u001b[36m true\u001b[39m\n",
"\u001b[36m \u001b[39m\n",
"\u001b[36m julia> isapprox(0.1, 0.15; rtol=0.33)\u001b[39m\n",
"\u001b[36m false\u001b[39m\n",
"\u001b[36m \u001b[39m\n",
"\u001b[36m julia> 0.1 + 1e-10 ≈ 0.1\u001b[39m\n",
"\u001b[36m true\u001b[39m\n",
"\u001b[36m \u001b[39m\n",
"\u001b[36m julia> 1e-10 ≈ 0\u001b[39m\n",
"\u001b[36m false\u001b[39m\n",
"\u001b[36m \u001b[39m\n",
"\u001b[36m julia> isapprox(1e-10, 0, atol=1e-8)\u001b[39m\n",
"\u001b[36m true\u001b[39m\n",
"\u001b[36m \u001b[39m\n",
"\u001b[36m julia> isapprox([10.0^9, 1.0], [10.0^9, 2.0]) # using `norm`\u001b[39m\n",
"\u001b[36m true\u001b[39m\n",
"\n",
" ────────────────────────────────────────────────────────────────────────────\n",
"\n",
"\u001b[36m isapprox(x; kwargs...) / ≈(x; kwargs...)\u001b[39m\n",
"\n",
" Create a function that compares its argument to \u001b[36mx\u001b[39m using \u001b[36m≈\u001b[39m, i.e. a function\n",
" equivalent to \u001b[36my -> y ≈ x\u001b[39m.\n",
"\n",
" The keyword arguments supported here are the same as those in the 2-argument\n",
" \u001b[36misapprox\u001b[39m.\n",
"\n",
"\u001b[39m\u001b[1m │ \u001b[22m\u001b[39m\u001b[1mJulia 1.5\u001b[22m\n",
"\u001b[39m\u001b[1m │\u001b[22m\n",
"\u001b[39m\u001b[1m │\u001b[22m This method requires Julia 1.5 or later.\n",
"\n",
" ────────────────────────────────────────────────────────────────────────────\n",
"\n",
"\u001b[36m isapprox(x::FixedPoint, y::FixedPoint; rtol=0, atol=max(eps(x), eps(y)))\u001b[39m\n",
"\n",
" For FixedPoint numbers, the default criterion is that \u001b[36mx\u001b[39m and \u001b[36my\u001b[39m differ by no\n",
" more than \u001b[36meps\u001b[39m, the separation between adjacent fixed-point numbers.\n",
"\n",
" ────────────────────────────────────────────────────────────────────────────\n",
"\n",
"\u001b[36m isapprox(df1::AbstractDataFrame, df2::AbstractDataFrame;\u001b[39m\n",
"\u001b[36m rtol::Real=atol>0 ? 0 : √eps, atol::Real=0,\u001b[39m\n",
"\u001b[36m nans::Bool=false, norm::Function=norm)\u001b[39m\n",
"\n",
" Inexact equality comparison. \u001b[36mdf1\u001b[39m and \u001b[36mdf2\u001b[39m must have the same size and column\n",
" names. Return \u001b[36mtrue\u001b[39m if \u001b[36misapprox\u001b[39m with given keyword arguments applied to all\n",
" pairs of columns stored in \u001b[36mdf1\u001b[39m and \u001b[36mdf2\u001b[39m returns \u001b[36mtrue\u001b[39m."
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"?isapprox"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can now benchmark the C code directly from Julia:"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 527 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m9.188 ms\u001b[22m\u001b[39m … \u001b[35m 13.331 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m9.367 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m9.472 ms\u001b[22m\u001b[39m ± \u001b[32m467.701 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m▃\u001b[39m▇\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m▇\u001b[39m▅\u001b[32m▄\u001b[39m\u001b[39m▂\u001b[39m▃\u001b[39m▂\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[32m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▆\u001b[39m▅\u001b[39m▇\u001b[39m▄\u001b[39m▁\u001b[39m▆\u001b[39m▅\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m \u001b[39m▇\n",
" 9.19 ms\u001b[90m \u001b[39m\u001b[90mHistogram: \u001b[39m\u001b[90m\u001b[1mlog(\u001b[22m\u001b[39m\u001b[90mfrequency\u001b[39m\u001b[90m\u001b[1m)\u001b[22m\u001b[39m\u001b[90m by time\u001b[39m 12.2 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m0 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m0\u001b[39m."
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c_bench = @benchmark c_sum($a)"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"C: Fastest time was 9.18846 msec\n"
]
}
],
"source": [
"println(\"C: Fastest time was $(minimum(c_bench.times) / 1e6) msec\")"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Dict{Any, Any} with 1 entry:\n",
" \"C\" => 9.18846"
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d = Dict() # a \"dictionary\", i.e. an associative array\n",
"d[\"C\"] = minimum(c_bench.times) / 1e6 # in milliseconds\n",
"d"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Plots.GRBackend()"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using Plots\n",
"gr()"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"600\" height=\"400\" viewBox=\"0 0 2400 1600\">\n",
"<defs>\n",
" <clipPath id=\"clip890\">\n",
" <rect x=\"0\" y=\"0\" width=\"2400\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip890)\" d=\"\n",
"M0 1600 L2400 1600 L2400 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip891\">\n",
" <rect x=\"480\" y=\"0\" width=\"1681\" height=\"1600\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip890)\" d=\"\n",
"M203.964 1423.18 L2352.76 1423.18 L2352.76 47.2441 L203.964 47.2441 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip892\">\n",
" <rect x=\"203\" y=\"47\" width=\"2150\" height=\"1377\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 300.855,1423.18 300.855,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 750.674,1423.18 750.674,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1200.49,1423.18 1200.49,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1650.31,1423.18 1650.31,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 2100.13,1423.18 2100.13,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,1423.18 2352.76,1423.18 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 300.855,1423.18 300.855,1404.28 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 750.674,1423.18 750.674,1404.28 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1200.49,1423.18 1200.49,1404.28 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1650.31,1423.18 1650.31,1404.28 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2100.13,1423.18 2100.13,1404.28 \n",
" \"/>\n",
"<path clip-path=\"url(#clip890)\" d=\"M269.246 1484.86 L269.246 1480.6 Q271.005 1481.44 272.811 1481.88 Q274.616 1482.32 276.353 1482.32 Q280.982 1482.32 283.413 1479.21 Q285.866 1476.09 286.214 1469.75 Q284.871 1471.74 282.811 1472.8 Q280.751 1473.87 278.251 1473.87 Q273.066 1473.87 270.033 1470.74 Q267.024 1467.59 267.024 1462.15 Q267.024 1456.83 270.172 1453.61 Q273.32 1450.39 278.552 1450.39 Q284.547 1450.39 287.695 1455 Q290.866 1459.58 290.866 1468.33 Q290.866 1476.51 286.977 1481.39 Q283.112 1486.25 276.561 1486.25 Q274.802 1486.25 272.996 1485.9 Q271.191 1485.56 269.246 1484.86 M278.552 1470.21 Q281.7 1470.21 283.528 1468.06 Q285.38 1465.9 285.38 1462.15 Q285.38 1458.43 283.528 1456.27 Q281.7 1454.1 278.552 1454.1 Q275.403 1454.1 273.552 1456.27 Q271.723 1458.43 271.723 1462.15 Q271.723 1465.9 273.552 1468.06 Q275.403 1470.21 278.552 1470.21 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M299.269 1479.7 L304.153 1479.7 L304.153 1485.58 L299.269 1485.58 L299.269 1479.7 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M318.366 1481.64 L334.686 1481.64 L334.686 1485.58 L312.741 1485.58 L312.741 1481.64 Q315.403 1478.89 319.987 1474.26 Q324.593 1469.61 325.774 1468.27 Q328.019 1465.74 328.899 1464.01 Q329.801 1462.25 329.801 1460.56 Q329.801 1457.8 327.857 1456.07 Q325.936 1454.33 322.834 1454.33 Q320.635 1454.33 318.181 1455.09 Q315.75 1455.86 312.973 1457.41 L312.973 1452.69 Q315.797 1451.55 318.25 1450.97 Q320.704 1450.39 322.741 1450.39 Q328.112 1450.39 331.306 1453.08 Q334.5 1455.77 334.5 1460.26 Q334.5 1462.39 333.69 1464.31 Q332.903 1466.2 330.797 1468.8 Q330.218 1469.47 327.116 1472.69 Q324.014 1475.88 318.366 1481.64 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M718.591 1484.86 L718.591 1480.6 Q720.35 1481.44 722.156 1481.88 Q723.962 1482.32 725.698 1482.32 Q730.327 1482.32 732.758 1479.21 Q735.211 1476.09 735.559 1469.75 Q734.216 1471.74 732.156 1472.8 Q730.096 1473.87 727.596 1473.87 Q722.411 1473.87 719.378 1470.74 Q716.369 1467.59 716.369 1462.15 Q716.369 1456.83 719.517 1453.61 Q722.665 1450.39 727.897 1450.39 Q733.892 1450.39 737.04 1455 Q740.211 1459.58 740.211 1468.33 Q740.211 1476.51 736.323 1481.39 Q732.457 1486.25 725.906 1486.25 Q724.147 1486.25 722.341 1485.9 Q720.536 1485.56 718.591 1484.86 M727.897 1470.21 Q731.045 1470.21 732.873 1468.06 Q734.725 1465.9 734.725 1462.15 Q734.725 1458.43 732.873 1456.27 Q731.045 1454.1 727.897 1454.1 Q724.749 1454.1 722.897 1456.27 Q721.068 1458.43 721.068 1462.15 Q721.068 1465.9 722.897 1468.06 Q724.749 1470.21 727.897 1470.21 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M748.614 1479.7 L753.498 1479.7 L753.498 1485.58 L748.614 1485.58 L748.614 1479.7 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M777.85 1466.95 Q781.207 1467.66 783.082 1469.93 Q784.98 1472.2 784.98 1475.53 Q784.98 1480.65 781.461 1483.45 Q777.943 1486.25 771.461 1486.25 Q769.285 1486.25 766.971 1485.81 Q764.679 1485.39 762.225 1484.54 L762.225 1480.02 Q764.17 1481.16 766.484 1481.74 Q768.799 1482.32 771.322 1482.32 Q775.72 1482.32 778.012 1480.58 Q780.327 1478.84 780.327 1475.53 Q780.327 1472.48 778.174 1470.77 Q776.045 1469.03 772.225 1469.03 L768.197 1469.03 L768.197 1465.19 L772.41 1465.19 Q775.859 1465.19 777.688 1463.82 Q779.517 1462.43 779.517 1459.84 Q779.517 1457.18 777.619 1455.77 Q775.744 1454.33 772.225 1454.33 Q770.304 1454.33 768.105 1454.75 Q765.906 1455.16 763.267 1456.04 L763.267 1451.88 Q765.929 1451.14 768.244 1450.77 Q770.582 1450.39 772.642 1450.39 Q777.966 1450.39 781.068 1452.83 Q784.17 1455.23 784.17 1459.35 Q784.17 1462.22 782.526 1464.21 Q780.882 1466.18 777.85 1466.95 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1167.84 1484.86 L1167.84 1480.6 Q1169.6 1481.44 1171.41 1481.88 Q1173.21 1482.32 1174.95 1482.32 Q1179.58 1482.32 1182.01 1479.21 Q1184.46 1476.09 1184.81 1469.75 Q1183.47 1471.74 1181.41 1472.8 Q1179.35 1473.87 1176.85 1473.87 Q1171.66 1473.87 1168.63 1470.74 Q1165.62 1467.59 1165.62 1462.15 Q1165.62 1456.83 1168.77 1453.61 Q1171.92 1450.39 1177.15 1450.39 Q1183.14 1450.39 1186.29 1455 Q1189.46 1459.58 1189.46 1468.33 Q1189.46 1476.51 1185.58 1481.39 Q1181.71 1486.25 1175.16 1486.25 Q1173.4 1486.25 1171.59 1485.9 Q1169.79 1485.56 1167.84 1484.86 M1177.15 1470.21 Q1180.3 1470.21 1182.13 1468.06 Q1183.98 1465.9 1183.98 1462.15 Q1183.98 1458.43 1182.13 1456.27 Q1180.3 1454.1 1177.15 1454.1 Q1174 1454.1 1172.15 1456.27 Q1170.32 1458.43 1170.32 1462.15 Q1170.32 1465.9 1172.15 1468.06 Q1174 1470.21 1177.15 1470.21 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1197.87 1479.7 L1202.75 1479.7 L1202.75 1485.58 L1197.87 1485.58 L1197.87 1479.7 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1225.78 1455.09 L1213.98 1473.54 L1225.78 1473.54 L1225.78 1455.09 M1224.56 1451.02 L1230.44 1451.02 L1230.44 1473.54 L1235.37 1473.54 L1235.37 1477.43 L1230.44 1477.43 L1230.44 1485.58 L1225.78 1485.58 L1225.78 1477.43 L1210.18 1477.43 L1210.18 1472.92 L1224.56 1451.02 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1618.4 1484.86 L1618.4 1480.6 Q1620.16 1481.44 1621.97 1481.88 Q1623.77 1482.32 1625.51 1482.32 Q1630.14 1482.32 1632.57 1479.21 Q1635.02 1476.09 1635.37 1469.75 Q1634.03 1471.74 1631.97 1472.8 Q1629.91 1473.87 1627.41 1473.87 Q1622.22 1473.87 1619.19 1470.74 Q1616.18 1467.59 1616.18 1462.15 Q1616.18 1456.83 1619.33 1453.61 Q1622.48 1450.39 1627.71 1450.39 Q1633.7 1450.39 1636.85 1455 Q1640.02 1459.58 1640.02 1468.33 Q1640.02 1476.51 1636.14 1481.39 Q1632.27 1486.25 1625.72 1486.25 Q1623.96 1486.25 1622.15 1485.9 Q1620.35 1485.56 1618.4 1484.86 M1627.71 1470.21 Q1630.86 1470.21 1632.69 1468.06 Q1634.54 1465.9 1634.54 1462.15 Q1634.54 1458.43 1632.69 1456.27 Q1630.86 1454.1 1627.71 1454.1 Q1624.56 1454.1 1622.71 1456.27 Q1620.88 1458.43 1620.88 1462.15 Q1620.88 1465.9 1622.71 1468.06 Q1624.56 1470.21 1627.71 1470.21 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1648.43 1479.7 L1653.31 1479.7 L1653.31 1485.58 L1648.43 1485.58 L1648.43 1479.7 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1663.54 1451.02 L1681.9 1451.02 L1681.9 1454.96 L1667.83 1454.96 L1667.83 1463.43 Q1668.84 1463.08 1669.86 1462.92 Q1670.88 1462.73 1671.9 1462.73 Q1677.69 1462.73 1681.07 1465.9 Q1684.45 1469.08 1684.45 1474.49 Q1684.45 1480.07 1680.97 1483.17 Q1677.5 1486.25 1671.18 1486.25 Q1669.01 1486.25 1666.74 1485.88 Q1664.49 1485.51 1662.08 1484.77 L1662.08 1480.07 Q1664.17 1481.2 1666.39 1481.76 Q1668.61 1482.32 1671.09 1482.32 Q1675.09 1482.32 1677.43 1480.21 Q1679.77 1478.1 1679.77 1474.49 Q1679.77 1470.88 1677.43 1468.77 Q1675.09 1466.67 1671.09 1466.67 Q1669.21 1466.67 1667.34 1467.08 Q1665.49 1467.5 1663.54 1468.38 L1663.54 1451.02 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M2067.64 1484.86 L2067.64 1480.6 Q2069.4 1481.44 2071.21 1481.88 Q2073.02 1482.32 2074.75 1482.32 Q2079.38 1482.32 2081.81 1479.21 Q2084.27 1476.09 2084.61 1469.75 Q2083.27 1471.74 2081.21 1472.8 Q2079.15 1473.87 2076.65 1473.87 Q2071.46 1473.87 2068.43 1470.74 Q2065.42 1467.59 2065.42 1462.15 Q2065.42 1456.83 2068.57 1453.61 Q2071.72 1450.39 2076.95 1450.39 Q2082.95 1450.39 2086.09 1455 Q2089.27 1459.58 2089.27 1468.33 Q2089.27 1476.51 2085.38 1481.39 Q2081.51 1486.25 2074.96 1486.25 Q2073.2 1486.25 2071.39 1485.9 Q2069.59 1485.56 2067.64 1484.86 M2076.95 1470.21 Q2080.1 1470.21 2081.93 1468.06 Q2083.78 1465.9 2083.78 1462.15 Q2083.78 1458.43 2081.93 1456.27 Q2080.1 1454.1 2076.95 1454.1 Q2073.8 1454.1 2071.95 1456.27 Q2070.12 1458.43 2070.12 1462.15 Q2070.12 1465.9 2071.95 1468.06 Q2073.8 1470.21 2076.95 1470.21 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M2097.67 1479.7 L2102.55 1479.7 L2102.55 1485.58 L2097.67 1485.58 L2097.67 1479.7 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M2123.32 1466.44 Q2120.17 1466.44 2118.32 1468.59 Q2116.49 1470.74 2116.49 1474.49 Q2116.49 1478.22 2118.32 1480.39 Q2120.17 1482.55 2123.32 1482.55 Q2126.46 1482.55 2128.29 1480.39 Q2130.14 1478.22 2130.14 1474.49 Q2130.14 1470.74 2128.29 1468.59 Q2126.46 1466.44 2123.32 1466.44 M2132.6 1451.78 L2132.6 1456.04 Q2130.84 1455.21 2129.03 1454.77 Q2127.25 1454.33 2125.49 1454.33 Q2120.86 1454.33 2118.41 1457.45 Q2115.98 1460.58 2115.63 1466.9 Q2117 1464.89 2119.06 1463.82 Q2121.12 1462.73 2123.59 1462.73 Q2128.8 1462.73 2131.81 1465.9 Q2134.84 1469.05 2134.84 1474.49 Q2134.84 1479.82 2131.7 1483.03 Q2128.55 1486.25 2123.32 1486.25 Q2117.32 1486.25 2114.15 1481.67 Q2110.98 1477.06 2110.98 1468.33 Q2110.98 1460.14 2114.87 1455.28 Q2118.76 1450.39 2125.31 1450.39 Q2127.07 1450.39 2128.85 1450.74 Q2130.65 1451.09 2132.6 1451.78 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1109.7 1539.24 Q1111.9 1535.29 1114.95 1533.41 Q1118.01 1531.54 1122.15 1531.54 Q1127.72 1531.54 1130.74 1535.45 Q1133.76 1539.33 1133.76 1546.53 L1133.76 1568.04 L1127.87 1568.04 L1127.87 1546.72 Q1127.87 1541.59 1126.06 1539.11 Q1124.25 1536.63 1120.52 1536.63 Q1115.97 1536.63 1113.33 1539.65 Q1110.69 1542.68 1110.69 1547.9 L1110.69 1568.04 L1104.8 1568.04 L1104.8 1546.72 Q1104.8 1541.56 1102.98 1539.11 Q1101.17 1536.63 1097.38 1536.63 Q1092.89 1536.63 1090.25 1539.68 Q1087.61 1542.71 1087.61 1547.9 L1087.61 1568.04 L1081.72 1568.04 L1081.72 1532.4 L1087.61 1532.4 L1087.61 1537.93 Q1089.62 1534.66 1092.42 1533.1 Q1095.22 1531.54 1099.07 1531.54 Q1102.95 1531.54 1105.66 1533.51 Q1108.4 1535.48 1109.7 1539.24 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1145.44 1532.4 L1151.3 1532.4 L1151.3 1568.04 L1145.44 1568.04 L1145.44 1532.4 M1145.44 1518.52 L1151.3 1518.52 L1151.3 1525.93 L1145.44 1525.93 L1145.44 1518.52 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1163.55 1518.52 L1169.41 1518.52 L1169.41 1568.04 L1163.55 1568.04 L1163.55 1518.52 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1181.66 1518.52 L1187.52 1518.52 L1187.52 1568.04 L1181.66 1568.04 L1181.66 1518.52 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1199.78 1532.4 L1205.63 1532.4 L1205.63 1568.04 L1199.78 1568.04 L1199.78 1532.4 M1199.78 1518.52 L1205.63 1518.52 L1205.63 1525.93 L1199.78 1525.93 L1199.78 1518.52 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1240.61 1533.45 L1240.61 1538.98 Q1238.13 1537.71 1235.45 1537.07 Q1232.78 1536.44 1229.92 1536.44 Q1225.56 1536.44 1223.36 1537.77 Q1221.2 1539.11 1221.2 1541.79 Q1221.2 1543.82 1222.76 1545 Q1224.31 1546.15 1229.03 1547.2 L1231.03 1547.64 Q1237.27 1548.98 1239.88 1551.43 Q1242.52 1553.85 1242.52 1558.21 Q1242.52 1563.17 1238.57 1566.07 Q1234.66 1568.97 1227.78 1568.97 Q1224.92 1568.97 1221.8 1568.39 Q1218.71 1567.85 1215.28 1566.74 L1215.28 1560.69 Q1218.52 1562.38 1221.67 1563.24 Q1224.82 1564.07 1227.91 1564.07 Q1232.05 1564.07 1234.28 1562.66 Q1236.51 1561.23 1236.51 1558.65 Q1236.51 1556.27 1234.88 1554.99 Q1233.29 1553.72 1227.85 1552.54 L1225.81 1552.07 Q1220.37 1550.92 1217.95 1548.56 Q1215.53 1546.18 1215.53 1542.04 Q1215.53 1537.01 1219.1 1534.27 Q1222.66 1531.54 1229.22 1531.54 Q1232.46 1531.54 1235.33 1532.01 Q1238.19 1532.49 1240.61 1533.45 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1282.34 1548.76 L1282.34 1551.62 L1255.41 1551.62 Q1255.79 1557.67 1259.04 1560.85 Q1262.32 1564 1268.14 1564 Q1271.52 1564 1274.67 1563.17 Q1277.85 1562.35 1280.97 1560.69 L1280.97 1566.23 Q1277.82 1567.57 1274.51 1568.27 Q1271.2 1568.97 1267.79 1568.97 Q1259.26 1568.97 1254.27 1564 Q1249.3 1559.04 1249.3 1550.57 Q1249.3 1541.82 1254.01 1536.69 Q1258.75 1531.54 1266.77 1531.54 Q1273.97 1531.54 1278.14 1536.18 Q1282.34 1540.8 1282.34 1548.76 M1276.48 1547.04 Q1276.42 1542.23 1273.78 1539.37 Q1271.17 1536.5 1266.84 1536.5 Q1261.94 1536.5 1258.98 1539.27 Q1256.05 1542.04 1255.6 1547.07 L1276.48 1547.04 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1317.6 1533.76 L1317.6 1539.24 Q1315.12 1537.87 1312.61 1537.2 Q1310.12 1536.5 1307.58 1536.5 Q1301.88 1536.5 1298.73 1540.13 Q1295.58 1543.73 1295.58 1550.25 Q1295.58 1556.78 1298.73 1560.4 Q1301.88 1564 1307.58 1564 Q1310.12 1564 1312.61 1563.33 Q1315.12 1562.63 1317.6 1561.26 L1317.6 1566.68 Q1315.15 1567.82 1312.51 1568.39 Q1309.9 1568.97 1306.94 1568.97 Q1298.89 1568.97 1294.15 1563.91 Q1289.4 1558.85 1289.4 1550.25 Q1289.4 1541.53 1294.18 1536.53 Q1298.98 1531.54 1307.32 1531.54 Q1310.03 1531.54 1312.61 1532.11 Q1315.19 1532.65 1317.6 1533.76 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1341.6 1536.5 Q1336.89 1536.5 1334.16 1540.19 Q1331.42 1543.85 1331.42 1550.25 Q1331.42 1556.65 1334.12 1560.34 Q1336.86 1564 1341.6 1564 Q1346.28 1564 1349.02 1560.31 Q1351.76 1556.62 1351.76 1550.25 Q1351.76 1543.92 1349.02 1540.23 Q1346.28 1536.5 1341.6 1536.5 M1341.6 1531.54 Q1349.24 1531.54 1353.6 1536.5 Q1357.96 1541.47 1357.96 1550.25 Q1357.96 1559 1353.6 1564 Q1349.24 1568.97 1341.6 1568.97 Q1333.93 1568.97 1329.57 1564 Q1325.24 1559 1325.24 1550.25 Q1325.24 1541.47 1329.57 1536.5 Q1333.93 1531.54 1341.6 1531.54 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1397.3 1546.53 L1397.3 1568.04 L1391.45 1568.04 L1391.45 1546.72 Q1391.45 1541.66 1389.47 1539.14 Q1387.5 1536.63 1383.55 1536.63 Q1378.81 1536.63 1376.07 1539.65 Q1373.34 1542.68 1373.34 1547.9 L1373.34 1568.04 L1367.45 1568.04 L1367.45 1532.4 L1373.34 1532.4 L1373.34 1537.93 Q1375.44 1534.72 1378.27 1533.13 Q1381.13 1531.54 1384.86 1531.54 Q1391 1531.54 1394.15 1535.36 Q1397.3 1539.14 1397.3 1546.53 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1432.44 1537.81 L1432.44 1518.52 L1438.3 1518.52 L1438.3 1568.04 L1432.44 1568.04 L1432.44 1562.7 Q1430.6 1565.88 1427.76 1567.44 Q1424.96 1568.97 1421.02 1568.97 Q1414.55 1568.97 1410.48 1563.81 Q1406.44 1558.65 1406.44 1550.25 Q1406.44 1541.85 1410.48 1536.69 Q1414.55 1531.54 1421.02 1531.54 Q1424.96 1531.54 1427.76 1533.1 Q1430.6 1534.62 1432.44 1537.81 M1412.49 1550.25 Q1412.49 1556.71 1415.13 1560.4 Q1417.8 1564.07 1422.45 1564.07 Q1427.09 1564.07 1429.77 1560.4 Q1432.44 1556.71 1432.44 1550.25 Q1432.44 1543.79 1429.77 1540.13 Q1427.09 1536.44 1422.45 1536.44 Q1417.8 1536.44 1415.13 1540.13 Q1412.49 1543.79 1412.49 1550.25 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M1473.09 1533.45 L1473.09 1538.98 Q1470.6 1537.71 1467.93 1537.07 Q1465.26 1536.44 1462.39 1536.44 Q1458.03 1536.44 1455.84 1537.77 Q1453.67 1539.11 1453.67 1541.79 Q1453.67 1543.82 1455.23 1545 Q1456.79 1546.15 1461.5 1547.2 L1463.51 1547.64 Q1469.74 1548.98 1472.35 1551.43 Q1475 1553.85 1475 1558.21 Q1475 1563.17 1471.05 1566.07 Q1467.13 1568.97 1460.26 1568.97 Q1457.4 1568.97 1454.28 1568.39 Q1451.19 1567.85 1447.75 1566.74 L1447.75 1560.69 Q1451 1562.38 1454.15 1563.24 Q1457.3 1564.07 1460.39 1564.07 Q1464.52 1564.07 1466.75 1562.66 Q1468.98 1561.23 1468.98 1558.65 Q1468.98 1556.27 1467.36 1554.99 Q1465.77 1553.72 1460.32 1552.54 L1458.29 1552.07 Q1452.84 1550.92 1450.42 1548.56 Q1448.01 1546.18 1448.01 1542.04 Q1448.01 1537.01 1451.57 1534.27 Q1455.14 1531.54 1461.69 1531.54 Q1464.94 1531.54 1467.8 1532.01 Q1470.67 1532.49 1473.09 1533.45 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 203.964,1384.24 2352.76,1384.24 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 203.964,1152.44 2352.76,1152.44 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 203.964,920.648 2352.76,920.648 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 203.964,688.853 2352.76,688.853 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 203.964,457.058 2352.76,457.058 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 203.964,225.263 2352.76,225.263 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,1423.18 203.964,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,1384.24 222.861,1384.24 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,1152.44 222.861,1152.44 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,920.648 222.861,920.648 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,688.853 222.861,688.853 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,457.058 222.861,457.058 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip890)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 203.964,225.263 222.861,225.263 \n",
" \"/>\n",
"<path clip-path=\"url(#clip890)\" d=\"M156.019 1370.04 Q152.408 1370.04 150.579 1373.6 Q148.774 1377.14 148.774 1384.27 Q148.774 1391.38 150.579 1394.94 Q152.408 1398.49 156.019 1398.49 Q159.653 1398.49 161.459 1394.94 Q163.288 1391.38 163.288 1384.27 Q163.288 1377.14 161.459 1373.6 Q159.653 1370.04 156.019 1370.04 M156.019 1366.33 Q161.829 1366.33 164.885 1370.94 Q167.964 1375.52 167.964 1384.27 Q167.964 1393 164.885 1397.61 Q161.829 1402.19 156.019 1402.19 Q150.209 1402.19 147.13 1397.61 Q144.075 1393 144.075 1384.27 Q144.075 1375.52 147.13 1370.94 Q150.209 1366.33 156.019 1366.33 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M147.061 1135.16 L165.417 1135.16 L165.417 1139.1 L151.343 1139.1 L151.343 1147.57 Q152.362 1147.22 153.38 1147.06 Q154.399 1146.88 155.417 1146.88 Q161.204 1146.88 164.584 1150.05 Q167.964 1153.22 167.964 1158.64 Q167.964 1164.21 164.491 1167.32 Q161.019 1170.39 154.7 1170.39 Q152.524 1170.39 150.255 1170.02 Q148.01 1169.65 145.603 1168.91 L145.603 1164.21 Q147.686 1165.35 149.908 1165.9 Q152.13 1166.46 154.607 1166.46 Q158.612 1166.46 160.95 1164.35 Q163.288 1162.25 163.288 1158.64 Q163.288 1155.02 160.95 1152.92 Q158.612 1150.81 154.607 1150.81 Q152.732 1150.81 150.857 1151.23 Q149.005 1151.64 147.061 1152.52 L147.061 1135.16 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M116.668 933.993 L124.306 933.993 L124.306 907.627 L115.996 909.294 L115.996 905.035 L124.26 903.368 L128.936 903.368 L128.936 933.993 L136.575 933.993 L136.575 937.928 L116.668 937.928 L116.668 933.993 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M156.019 906.447 Q152.408 906.447 150.579 910.012 Q148.774 913.553 148.774 920.683 Q148.774 927.789 150.579 931.354 Q152.408 934.896 156.019 934.896 Q159.653 934.896 161.459 931.354 Q163.288 927.789 163.288 920.683 Q163.288 913.553 161.459 910.012 Q159.653 906.447 156.019 906.447 M156.019 902.743 Q161.829 902.743 164.885 907.35 Q167.964 911.933 167.964 920.683 Q167.964 929.41 164.885 934.016 Q161.829 938.599 156.019 938.599 Q150.209 938.599 147.13 934.016 Q144.075 929.41 144.075 920.683 Q144.075 911.933 147.13 907.35 Q150.209 902.743 156.019 902.743 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M117.663 702.198 L125.302 702.198 L125.302 675.832 L116.992 677.499 L116.992 673.24 L125.255 671.573 L129.931 671.573 L129.931 702.198 L137.57 702.198 L137.57 706.133 L117.663 706.133 L117.663 702.198 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M147.061 671.573 L165.417 671.573 L165.417 675.508 L151.343 675.508 L151.343 683.98 Q152.362 683.633 153.38 683.471 Q154.399 683.286 155.417 683.286 Q161.204 683.286 164.584 686.457 Q167.964 689.628 167.964 695.045 Q167.964 700.624 164.491 703.726 Q161.019 706.804 154.7 706.804 Q152.524 706.804 150.255 706.434 Q148.01 706.064 145.603 705.323 L145.603 700.624 Q147.686 701.758 149.908 702.314 Q152.13 702.869 154.607 702.869 Q158.612 702.869 160.95 700.763 Q163.288 698.656 163.288 695.045 Q163.288 691.434 160.95 689.327 Q158.612 687.221 154.607 687.221 Q152.732 687.221 150.857 687.638 Q149.005 688.054 147.061 688.934 L147.061 671.573 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M119.885 470.403 L136.204 470.403 L136.204 474.338 L114.26 474.338 L114.26 470.403 Q116.922 467.648 121.505 463.018 Q126.112 458.366 127.292 457.023 Q129.538 454.5 130.417 452.764 Q131.32 451.005 131.32 449.315 Q131.32 446.56 129.376 444.824 Q127.455 443.088 124.353 443.088 Q122.154 443.088 119.7 443.852 Q117.269 444.616 114.492 446.167 L114.492 441.444 Q117.316 440.31 119.769 439.732 Q122.223 439.153 124.26 439.153 Q129.63 439.153 132.825 441.838 Q136.019 444.523 136.019 449.014 Q136.019 451.144 135.209 453.065 Q134.422 454.963 132.316 457.556 Q131.737 458.227 128.635 461.444 Q125.533 464.639 119.885 470.403 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M156.019 442.857 Q152.408 442.857 150.579 446.421 Q148.774 449.963 148.774 457.093 Q148.774 464.199 150.579 467.764 Q152.408 471.305 156.019 471.305 Q159.653 471.305 161.459 467.764 Q163.288 464.199 163.288 457.093 Q163.288 449.963 161.459 446.421 Q159.653 442.857 156.019 442.857 M156.019 439.153 Q161.829 439.153 164.885 443.759 Q167.964 448.343 167.964 457.093 Q167.964 465.819 164.885 470.426 Q161.829 475.009 156.019 475.009 Q150.209 475.009 147.13 470.426 Q144.075 465.819 144.075 457.093 Q144.075 448.343 147.13 443.759 Q150.209 439.153 156.019 439.153 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M120.88 238.608 L137.2 238.608 L137.2 242.543 L115.256 242.543 L115.256 238.608 Q117.918 235.853 122.501 231.223 Q127.107 226.571 128.288 225.228 Q130.533 222.705 131.413 220.969 Q132.316 219.21 132.316 217.52 Q132.316 214.765 130.371 213.029 Q128.45 211.293 125.348 211.293 Q123.149 211.293 120.695 212.057 Q118.265 212.821 115.487 214.372 L115.487 209.649 Q118.311 208.515 120.765 207.936 Q123.218 207.358 125.255 207.358 Q130.626 207.358 133.82 210.043 Q137.015 212.728 137.015 217.219 Q137.015 219.348 136.204 221.27 Q135.417 223.168 133.311 225.76 Q132.732 226.432 129.63 229.649 Q126.529 232.844 120.88 238.608 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M147.061 207.983 L165.417 207.983 L165.417 211.918 L151.343 211.918 L151.343 220.39 Q152.362 220.043 153.38 219.881 Q154.399 219.696 155.417 219.696 Q161.204 219.696 164.584 222.867 Q167.964 226.038 167.964 231.455 Q167.964 237.034 164.491 240.135 Q161.019 243.214 154.7 243.214 Q152.524 243.214 150.255 242.844 Q148.01 242.473 145.603 241.733 L145.603 237.034 Q147.686 238.168 149.908 238.723 Q152.13 239.279 154.607 239.279 Q158.612 239.279 160.95 237.172 Q163.288 235.066 163.288 231.455 Q163.288 227.844 160.95 225.737 Q158.612 223.631 154.607 223.631 Q152.732 223.631 150.857 224.047 Q149.005 224.464 147.061 225.344 L147.061 207.983 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M29.7248 796.386 L35.1993 796.386 Q33.8307 798.869 33.1623 801.383 Q32.4621 803.866 32.4621 806.412 Q32.4621 812.11 36.0905 815.261 Q39.6872 818.412 46.212 818.412 Q52.7369 818.412 56.3653 815.261 Q59.9619 812.11 59.9619 806.412 Q59.9619 803.866 59.2935 801.383 Q58.5933 798.869 57.2247 796.386 L62.6355 796.386 Q63.7814 798.837 64.3543 801.479 Q64.9272 804.089 64.9272 807.049 Q64.9272 815.102 59.8664 819.844 Q54.8057 824.586 46.212 824.586 Q37.491 824.586 32.4939 819.812 Q27.4968 815.006 27.4968 806.667 Q27.4968 803.962 28.0697 801.383 Q28.6108 798.805 29.7248 796.386 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M32.4621 772.388 Q32.4621 777.098 36.1542 779.836 Q39.8145 782.573 46.212 782.573 Q52.6095 782.573 56.3017 779.867 Q59.9619 777.13 59.9619 772.388 Q59.9619 767.709 56.2698 764.972 Q52.5777 762.234 46.212 762.234 Q39.8781 762.234 36.186 764.972 Q32.4621 767.709 32.4621 772.388 M27.4968 772.388 Q27.4968 764.749 32.4621 760.388 Q37.4273 756.028 46.212 756.028 Q54.9649 756.028 59.9619 760.388 Q64.9272 764.749 64.9272 772.388 Q64.9272 780.058 59.9619 784.419 Q54.9649 788.748 46.212 788.748 Q37.4273 788.748 32.4621 784.419 Q27.4968 780.058 27.4968 772.388 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M49.9359 746.925 L28.3562 746.925 L28.3562 741.068 L49.7131 741.068 Q54.7739 741.068 57.3202 739.095 Q59.8346 737.122 59.8346 733.175 Q59.8346 728.432 56.8109 725.695 Q53.7872 722.926 48.5673 722.926 L28.3562 722.926 L28.3562 717.07 L64.0042 717.07 L64.0042 722.926 L58.5296 722.926 Q61.7762 725.059 63.3676 727.891 Q64.9272 730.692 64.9272 734.416 Q64.9272 740.559 61.1078 743.742 Q57.2883 746.925 49.9359 746.925 M27.4968 732.188 L27.4968 732.188 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M42.4881 675.374 L64.0042 675.374 L64.0042 681.231 L42.679 681.231 Q37.6183 681.231 35.1038 683.204 Q32.5894 685.178 32.5894 689.124 Q32.5894 693.867 35.6131 696.604 Q38.6368 699.341 43.8567 699.341 L64.0042 699.341 L64.0042 705.229 L28.3562 705.229 L28.3562 699.341 L33.8944 699.341 Q30.6797 697.241 29.0883 694.408 Q27.4968 691.543 27.4968 687.819 Q27.4968 681.676 31.3163 678.525 Q35.1038 675.374 42.4881 675.374 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip890)\" d=\"M18.2347 657.9 L28.3562 657.9 L28.3562 645.837 L32.9077 645.837 L32.9077 657.9 L52.2594 657.9 Q56.6199 657.9 57.8613 656.723 Q59.1026 655.513 59.1026 651.853 L59.1026 645.837 L64.0042 645.837 L64.0042 651.853 Q64.0042 658.633 61.4897 661.211 Q58.9434 663.789 52.2594 663.789 L32.9077 663.789 L32.9077 668.086 L28.3562 668.086 L28.3562 663.789 L18.2347 663.789 L18.2347 657.9 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip892)\" d=\"\n",
"M210.891 1337.88 L210.891 1384.24 L255.873 1384.24 L255.873 1337.88 L210.891 1337.88 L210.891 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 210.891,1337.88 210.891,1384.24 255.873,1384.24 255.873,1337.88 210.891,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M255.873 1245.16 L255.873 1384.24 L300.855 1384.24 L300.855 1245.16 L255.873 1245.16 L255.873 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 255.873,1245.16 255.873,1384.24 300.855,1384.24 300.855,1245.16 255.873,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M300.855 1245.16 L300.855 1384.24 L345.837 1384.24 L345.837 1245.16 L300.855 1245.16 L300.855 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 300.855,1245.16 300.855,1384.24 345.837,1384.24 345.837,1245.16 300.855,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M345.837 1291.52 L345.837 1384.24 L390.819 1384.24 L390.819 1291.52 L345.837 1291.52 L345.837 1291.52 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 345.837,1291.52 345.837,1384.24 390.819,1384.24 390.819,1291.52 345.837,1291.52 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M390.819 1152.44 L390.819 1384.24 L435.801 1384.24 L435.801 1152.44 L390.819 1152.44 L390.819 1152.44 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 390.819,1152.44 390.819,1384.24 435.801,1384.24 435.801,1152.44 390.819,1152.44 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M435.801 1013.37 L435.801 1384.24 L480.783 1384.24 L480.783 1013.37 L435.801 1013.37 L435.801 1013.37 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 435.801,1013.37 435.801,1384.24 480.783,1384.24 480.783,1013.37 435.801,1013.37 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M480.783 1013.37 L480.783 1384.24 L525.765 1384.24 L525.765 1013.37 L480.783 1013.37 L480.783 1013.37 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 480.783,1013.37 480.783,1384.24 525.765,1384.24 525.765,1013.37 480.783,1013.37 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M525.765 967.007 L525.765 1384.24 L570.746 1384.24 L570.746 967.007 L525.765 967.007 L525.765 967.007 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 525.765,967.007 525.765,1384.24 570.746,1384.24 570.746,967.007 525.765,967.007 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M570.746 781.571 L570.746 1384.24 L615.728 1384.24 L615.728 781.571 L570.746 781.571 L570.746 781.571 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 570.746,781.571 570.746,1384.24 615.728,1384.24 615.728,781.571 570.746,781.571 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M615.728 457.058 L615.728 1384.24 L660.71 1384.24 L660.71 457.058 L615.728 457.058 L615.728 457.058 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 615.728,457.058 615.728,1384.24 660.71,1384.24 660.71,457.058 615.728,457.058 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M660.71 410.699 L660.71 1384.24 L705.692 1384.24 L705.692 410.699 L660.71 410.699 L660.71 410.699 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 660.71,410.699 660.71,1384.24 705.692,1384.24 705.692,410.699 660.71,410.699 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M705.692 364.34 L705.692 1384.24 L750.674 1384.24 L750.674 364.34 L705.692 364.34 L705.692 364.34 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 705.692,364.34 705.692,1384.24 750.674,1384.24 750.674,364.34 705.692,364.34 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M750.674 317.981 L750.674 1384.24 L795.656 1384.24 L795.656 317.981 L750.674 317.981 L750.674 317.981 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 750.674,317.981 750.674,1384.24 795.656,1384.24 795.656,317.981 750.674,317.981 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M795.656 642.494 L795.656 1384.24 L840.638 1384.24 L840.638 642.494 L795.656 642.494 L795.656 642.494 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 795.656,642.494 795.656,1384.24 840.638,1384.24 840.638,642.494 795.656,642.494 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M840.638 86.1857 L840.638 1384.24 L885.62 1384.24 L885.62 86.1857 L840.638 86.1857 L840.638 86.1857 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 840.638,86.1857 840.638,1384.24 885.62,1384.24 885.62,86.1857 840.638,86.1857 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M885.62 688.853 L885.62 1384.24 L930.602 1384.24 L930.602 688.853 L885.62 688.853 L885.62 688.853 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 885.62,688.853 885.62,1384.24 930.602,1384.24 930.602,688.853 885.62,688.853 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M930.602 132.545 L930.602 1384.24 L975.584 1384.24 L975.584 132.545 L930.602 132.545 L930.602 132.545 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 930.602,132.545 930.602,1384.24 975.584,1384.24 975.584,132.545 930.602,132.545 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M975.584 86.1857 L975.584 1384.24 L1020.57 1384.24 L1020.57 86.1857 L975.584 86.1857 L975.584 86.1857 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 975.584,86.1857 975.584,1384.24 1020.57,1384.24 1020.57,86.1857 975.584,86.1857 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1020.57 457.058 L1020.57 1384.24 L1065.55 1384.24 L1065.55 457.058 L1020.57 457.058 L1020.57 457.058 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1020.57,457.058 1020.57,1384.24 1065.55,1384.24 1065.55,457.058 1020.57,457.058 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1065.55 642.494 L1065.55 1384.24 L1110.53 1384.24 L1110.53 642.494 L1065.55 642.494 L1065.55 642.494 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1065.55,642.494 1065.55,1384.24 1110.53,1384.24 1110.53,642.494 1065.55,642.494 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1110.53 410.699 L1110.53 1384.24 L1155.51 1384.24 L1155.51 410.699 L1110.53 410.699 L1110.53 410.699 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1110.53,410.699 1110.53,1384.24 1155.51,1384.24 1155.51,410.699 1110.53,410.699 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1155.51 827.93 L1155.51 1384.24 L1200.49 1384.24 L1200.49 827.93 L1155.51 827.93 L1155.51 827.93 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1155.51,827.93 1155.51,1384.24 1200.49,1384.24 1200.49,827.93 1155.51,827.93 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1200.49 735.212 L1200.49 1384.24 L1245.48 1384.24 L1245.48 735.212 L1200.49 735.212 L1200.49 735.212 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1200.49,735.212 1200.49,1384.24 1245.48,1384.24 1245.48,735.212 1200.49,735.212 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1245.48 549.776 L1245.48 1384.24 L1290.46 1384.24 L1290.46 549.776 L1245.48 549.776 L1245.48 549.776 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1245.48,549.776 1245.48,1384.24 1290.46,1384.24 1290.46,549.776 1245.48,549.776 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1290.46 688.853 L1290.46 1384.24 L1335.44 1384.24 L1335.44 688.853 L1290.46 688.853 L1290.46 688.853 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1290.46,688.853 1290.46,1384.24 1335.44,1384.24 1335.44,688.853 1290.46,688.853 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1335.44 967.007 L1335.44 1384.24 L1380.42 1384.24 L1380.42 967.007 L1335.44 967.007 L1335.44 967.007 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1335.44,967.007 1335.44,1384.24 1380.42,1384.24 1380.42,967.007 1335.44,967.007 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1380.42 1059.73 L1380.42 1384.24 L1425.4 1384.24 L1425.4 1059.73 L1380.42 1059.73 L1380.42 1059.73 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1380.42,1059.73 1380.42,1384.24 1425.4,1384.24 1425.4,1059.73 1380.42,1059.73 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1425.4 1152.44 L1425.4 1384.24 L1470.39 1384.24 L1470.39 1152.44 L1425.4 1152.44 L1425.4 1152.44 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1425.4,1152.44 1425.4,1384.24 1470.39,1384.24 1470.39,1152.44 1425.4,1152.44 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1470.39 1013.37 L1470.39 1384.24 L1515.37 1384.24 L1515.37 1013.37 L1470.39 1013.37 L1470.39 1013.37 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1470.39,1013.37 1470.39,1384.24 1515.37,1384.24 1515.37,1013.37 1470.39,1013.37 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1515.37 827.93 L1515.37 1384.24 L1560.35 1384.24 L1560.35 827.93 L1515.37 827.93 L1515.37 827.93 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1515.37,827.93 1515.37,1384.24 1560.35,1384.24 1560.35,827.93 1515.37,827.93 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1560.35 1106.08 L1560.35 1384.24 L1605.33 1384.24 L1605.33 1106.08 L1560.35 1106.08 L1560.35 1106.08 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1560.35,1106.08 1560.35,1384.24 1605.33,1384.24 1605.33,1106.08 1560.35,1106.08 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1605.33 1059.73 L1605.33 1384.24 L1650.31 1384.24 L1650.31 1059.73 L1605.33 1059.73 L1605.33 1059.73 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1605.33,1059.73 1605.33,1384.24 1650.31,1384.24 1650.31,1059.73 1605.33,1059.73 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1650.31 1245.16 L1650.31 1384.24 L1695.3 1384.24 L1695.3 1245.16 L1650.31 1245.16 L1650.31 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1650.31,1245.16 1650.31,1384.24 1695.3,1384.24 1695.3,1245.16 1650.31,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1695.3 1106.08 L1695.3 1384.24 L1740.28 1384.24 L1740.28 1106.08 L1695.3 1106.08 L1695.3 1106.08 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1695.3,1106.08 1695.3,1384.24 1740.28,1384.24 1740.28,1106.08 1695.3,1106.08 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1740.28 1059.73 L1740.28 1384.24 L1785.26 1384.24 L1785.26 1059.73 L1740.28 1059.73 L1740.28 1059.73 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1740.28,1059.73 1740.28,1384.24 1785.26,1384.24 1785.26,1059.73 1740.28,1059.73 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1785.26 1245.16 L1785.26 1384.24 L1830.24 1384.24 L1830.24 1245.16 L1785.26 1245.16 L1785.26 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1785.26,1245.16 1785.26,1384.24 1830.24,1384.24 1830.24,1245.16 1785.26,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1830.24 1291.52 L1830.24 1384.24 L1875.22 1384.24 L1875.22 1291.52 L1830.24 1291.52 L1830.24 1291.52 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1830.24,1291.52 1830.24,1384.24 1875.22,1384.24 1875.22,1291.52 1830.24,1291.52 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1875.22 1198.8 L1875.22 1384.24 L1920.21 1384.24 L1920.21 1198.8 L1875.22 1198.8 L1875.22 1198.8 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1875.22,1198.8 1875.22,1384.24 1920.21,1384.24 1920.21,1198.8 1875.22,1198.8 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1920.21 1245.16 L1920.21 1384.24 L1965.19 1384.24 L1965.19 1245.16 L1920.21 1245.16 L1920.21 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1920.21,1245.16 1920.21,1384.24 1965.19,1384.24 1965.19,1245.16 1920.21,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M1965.19 1291.52 L1965.19 1384.24 L2010.17 1384.24 L2010.17 1291.52 L1965.19 1291.52 L1965.19 1291.52 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1965.19,1291.52 1965.19,1384.24 2010.17,1384.24 2010.17,1291.52 1965.19,1291.52 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2010.17 1245.16 L2010.17 1384.24 L2055.15 1384.24 L2055.15 1245.16 L2010.17 1245.16 L2010.17 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2010.17,1245.16 2010.17,1384.24 2055.15,1384.24 2055.15,1245.16 2010.17,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2055.15 1152.44 L2055.15 1384.24 L2100.13 1384.24 L2100.13 1152.44 L2055.15 1152.44 L2055.15 1152.44 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2055.15,1152.44 2055.15,1384.24 2100.13,1384.24 2100.13,1152.44 2055.15,1152.44 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2100.13 1291.52 L2100.13 1384.24 L2145.12 1384.24 L2145.12 1291.52 L2100.13 1291.52 L2100.13 1291.52 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2100.13,1291.52 2100.13,1384.24 2145.12,1384.24 2145.12,1291.52 2100.13,1291.52 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2145.12 1152.44 L2145.12 1384.24 L2190.1 1384.24 L2190.1 1152.44 L2145.12 1152.44 L2145.12 1152.44 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2145.12,1152.44 2145.12,1384.24 2190.1,1384.24 2190.1,1152.44 2145.12,1152.44 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2190.1 1198.8 L2190.1 1384.24 L2235.08 1384.24 L2235.08 1198.8 L2190.1 1198.8 L2190.1 1198.8 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2190.1,1198.8 2190.1,1384.24 2235.08,1384.24 2235.08,1198.8 2190.1,1198.8 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2235.08 1245.16 L2235.08 1384.24 L2280.06 1384.24 L2280.06 1245.16 L2235.08 1245.16 L2235.08 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2235.08,1245.16 2235.08,1384.24 2280.06,1384.24 2280.06,1245.16 2235.08,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2280.06 1106.08 L2280.06 1384.24 L2325.04 1384.24 L2325.04 1106.08 L2280.06 1106.08 L2280.06 1106.08 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2280.06,1106.08 2280.06,1384.24 2325.04,1384.24 2325.04,1106.08 2280.06,1106.08 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2325.04 1245.16 L2325.04 1384.24 L2370.02 1384.24 L2370.02 1245.16 L2325.04 1245.16 L2325.04 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2325.04,1245.16 2325.04,1384.24 2370.02,1384.24 2370.02,1245.16 2325.04,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2370.02 1245.16 L2370.02 1384.24 L2415.01 1384.24 L2415.01 1245.16 L2370.02 1245.16 L2370.02 1245.16 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2370.02,1245.16 2370.02,1384.24 2415.01,1384.24 2415.01,1245.16 2370.02,1245.16 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2415.01 1198.8 L2415.01 1384.24 L2459.99 1384.24 L2459.99 1198.8 L2415.01 1198.8 L2415.01 1198.8 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2415.01,1198.8 2415.01,1384.24 2459.99,1384.24 2459.99,1198.8 2415.01,1198.8 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2459.99 1291.52 L2459.99 1384.24 L2504.97 1384.24 L2504.97 1291.52 L2459.99 1291.52 L2459.99 1291.52 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2459.99,1291.52 2459.99,1384.24 2504.97,1384.24 2504.97,1291.52 2459.99,1291.52 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2504.97 1337.88 L2504.97 1384.24 L2549.95 1384.24 L2549.95 1337.88 L2504.97 1337.88 L2504.97 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2504.97,1337.88 2504.97,1384.24 2549.95,1384.24 2549.95,1337.88 2504.97,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2549.95 1337.88 L2549.95 1384.24 L2594.93 1384.24 L2594.93 1337.88 L2549.95 1337.88 L2549.95 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2549.95,1337.88 2549.95,1384.24 2594.93,1384.24 2594.93,1337.88 2549.95,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2594.93 1384.24 L2594.93 1384.24 L2639.92 1384.24 L2639.92 1384.24 L2594.93 1384.24 L2594.93 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2594.93,1384.24 2594.93,1384.24 2639.92,1384.24 2594.93,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2639.92 1291.52 L2639.92 1384.24 L2684.9 1384.24 L2684.9 1291.52 L2639.92 1291.52 L2639.92 1291.52 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2639.92,1291.52 2639.92,1384.24 2684.9,1384.24 2684.9,1291.52 2639.92,1291.52 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2684.9 1384.24 L2684.9 1384.24 L2729.88 1384.24 L2729.88 1384.24 L2684.9 1384.24 L2684.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2684.9,1384.24 2684.9,1384.24 2729.88,1384.24 2684.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2729.88 1337.88 L2729.88 1384.24 L2774.86 1384.24 L2774.86 1337.88 L2729.88 1337.88 L2729.88 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2729.88,1337.88 2729.88,1384.24 2774.86,1384.24 2774.86,1337.88 2729.88,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2774.86 1384.24 L2774.86 1384.24 L2819.84 1384.24 L2819.84 1384.24 L2774.86 1384.24 L2774.86 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2774.86,1384.24 2774.86,1384.24 2819.84,1384.24 2774.86,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2819.84 1337.88 L2819.84 1384.24 L2864.83 1384.24 L2864.83 1337.88 L2819.84 1337.88 L2819.84 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2819.84,1337.88 2819.84,1384.24 2864.83,1384.24 2864.83,1337.88 2819.84,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2864.83 1337.88 L2864.83 1384.24 L2909.81 1384.24 L2909.81 1337.88 L2864.83 1337.88 L2864.83 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2864.83,1337.88 2864.83,1384.24 2909.81,1384.24 2909.81,1337.88 2864.83,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2909.81 1337.88 L2909.81 1384.24 L2954.79 1384.24 L2954.79 1337.88 L2909.81 1337.88 L2909.81 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2909.81,1337.88 2909.81,1384.24 2954.79,1384.24 2954.79,1337.88 2909.81,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2954.79 1384.24 L2954.79 1384.24 L2999.77 1384.24 L2999.77 1384.24 L2954.79 1384.24 L2954.79 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2954.79,1384.24 2954.79,1384.24 2999.77,1384.24 2954.79,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M2999.77 1384.24 L2999.77 1384.24 L3044.75 1384.24 L3044.75 1384.24 L2999.77 1384.24 L2999.77 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 2999.77,1384.24 2999.77,1384.24 3044.75,1384.24 2999.77,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3044.75 1337.88 L3044.75 1384.24 L3089.74 1384.24 L3089.74 1337.88 L3044.75 1337.88 L3044.75 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3044.75,1337.88 3044.75,1384.24 3089.74,1384.24 3089.74,1337.88 3044.75,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3089.74 1384.24 L3089.74 1384.24 L3134.72 1384.24 L3134.72 1384.24 L3089.74 1384.24 L3089.74 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3089.74,1384.24 3089.74,1384.24 3134.72,1384.24 3089.74,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3134.72 1384.24 L3134.72 1384.24 L3179.7 1384.24 L3179.7 1384.24 L3134.72 1384.24 L3134.72 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3134.72,1384.24 3134.72,1384.24 3179.7,1384.24 3134.72,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3179.7 1337.88 L3179.7 1384.24 L3224.68 1384.24 L3224.68 1337.88 L3179.7 1337.88 L3179.7 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3179.7,1337.88 3179.7,1384.24 3224.68,1384.24 3224.68,1337.88 3179.7,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3224.68 1337.88 L3224.68 1384.24 L3269.66 1384.24 L3269.66 1337.88 L3224.68 1337.88 L3224.68 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3224.68,1337.88 3224.68,1384.24 3269.66,1384.24 3269.66,1337.88 3224.68,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3269.66 1337.88 L3269.66 1384.24 L3314.65 1384.24 L3314.65 1337.88 L3269.66 1337.88 L3269.66 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3269.66,1337.88 3269.66,1384.24 3314.65,1384.24 3314.65,1337.88 3269.66,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3314.65 1337.88 L3314.65 1384.24 L3359.63 1384.24 L3359.63 1337.88 L3314.65 1337.88 L3314.65 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3314.65,1337.88 3314.65,1384.24 3359.63,1384.24 3359.63,1337.88 3314.65,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3359.63 1384.24 L3359.63 1384.24 L3404.61 1384.24 L3404.61 1384.24 L3359.63 1384.24 L3359.63 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3359.63,1384.24 3359.63,1384.24 3404.61,1384.24 3359.63,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3404.61 1337.88 L3404.61 1384.24 L3449.59 1384.24 L3449.59 1337.88 L3404.61 1337.88 L3404.61 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3404.61,1337.88 3404.61,1384.24 3449.59,1384.24 3449.59,1337.88 3404.61,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3449.59 1384.24 L3449.59 1384.24 L3494.57 1384.24 L3494.57 1384.24 L3449.59 1384.24 L3449.59 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3449.59,1384.24 3449.59,1384.24 3494.57,1384.24 3449.59,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3494.57 1384.24 L3494.57 1384.24 L3539.56 1384.24 L3539.56 1384.24 L3494.57 1384.24 L3494.57 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3494.57,1384.24 3494.57,1384.24 3539.56,1384.24 3494.57,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3539.56 1384.24 L3539.56 1384.24 L3584.54 1384.24 L3584.54 1384.24 L3539.56 1384.24 L3539.56 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3539.56,1384.24 3539.56,1384.24 3584.54,1384.24 3539.56,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3584.54 1384.24 L3584.54 1384.24 L3629.52 1384.24 L3629.52 1384.24 L3584.54 1384.24 L3584.54 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3584.54,1384.24 3584.54,1384.24 3629.52,1384.24 3584.54,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3629.52 1337.88 L3629.52 1384.24 L3674.5 1384.24 L3674.5 1337.88 L3629.52 1337.88 L3629.52 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3629.52,1337.88 3629.52,1384.24 3674.5,1384.24 3674.5,1337.88 3629.52,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3674.5 1384.24 L3674.5 1384.24 L3719.48 1384.24 L3719.48 1384.24 L3674.5 1384.24 L3674.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3674.5,1384.24 3674.5,1384.24 3719.48,1384.24 3674.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3719.48 1384.24 L3719.48 1384.24 L3764.47 1384.24 L3764.47 1384.24 L3719.48 1384.24 L3719.48 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3719.48,1384.24 3719.48,1384.24 3764.47,1384.24 3719.48,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3764.47 1384.24 L3764.47 1384.24 L3809.45 1384.24 L3809.45 1384.24 L3764.47 1384.24 L3764.47 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3764.47,1384.24 3764.47,1384.24 3809.45,1384.24 3764.47,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3809.45 1384.24 L3809.45 1384.24 L3854.43 1384.24 L3854.43 1384.24 L3809.45 1384.24 L3809.45 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3809.45,1384.24 3809.45,1384.24 3854.43,1384.24 3809.45,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3854.43 1384.24 L3854.43 1384.24 L3899.41 1384.24 L3899.41 1384.24 L3854.43 1384.24 L3854.43 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3854.43,1384.24 3854.43,1384.24 3899.41,1384.24 3854.43,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3899.41 1337.88 L3899.41 1384.24 L3944.39 1384.24 L3944.39 1337.88 L3899.41 1337.88 L3899.41 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3899.41,1337.88 3899.41,1384.24 3944.39,1384.24 3944.39,1337.88 3899.41,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3944.39 1384.24 L3944.39 1384.24 L3989.38 1384.24 L3989.38 1384.24 L3944.39 1384.24 L3944.39 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3944.39,1384.24 3944.39,1384.24 3989.38,1384.24 3944.39,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M3989.38 1337.88 L3989.38 1384.24 L4034.36 1384.24 L4034.36 1337.88 L3989.38 1337.88 L3989.38 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 3989.38,1337.88 3989.38,1384.24 4034.36,1384.24 4034.36,1337.88 3989.38,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4034.36 1337.88 L4034.36 1384.24 L4079.34 1384.24 L4079.34 1337.88 L4034.36 1337.88 L4034.36 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4034.36,1337.88 4034.36,1384.24 4079.34,1384.24 4079.34,1337.88 4034.36,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4079.34 1384.24 L4079.34 1384.24 L4124.32 1384.24 L4124.32 1384.24 L4079.34 1384.24 L4079.34 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4079.34,1384.24 4079.34,1384.24 4124.32,1384.24 4079.34,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4124.32 1384.24 L4124.32 1384.24 L4169.3 1384.24 L4169.3 1384.24 L4124.32 1384.24 L4124.32 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4124.32,1384.24 4124.32,1384.24 4169.3,1384.24 4124.32,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4169.3 1384.24 L4169.3 1384.24 L4214.29 1384.24 L4214.29 1384.24 L4169.3 1384.24 L4169.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4169.3,1384.24 4169.3,1384.24 4214.29,1384.24 4169.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4214.29 1384.24 L4214.29 1384.24 L4259.27 1384.24 L4259.27 1384.24 L4214.29 1384.24 L4214.29 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4214.29,1384.24 4214.29,1384.24 4259.27,1384.24 4214.29,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4259.27 1337.88 L4259.27 1384.24 L4304.25 1384.24 L4304.25 1337.88 L4259.27 1337.88 L4259.27 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4259.27,1337.88 4259.27,1384.24 4304.25,1384.24 4304.25,1337.88 4259.27,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4304.25 1337.88 L4304.25 1384.24 L4349.23 1384.24 L4349.23 1337.88 L4304.25 1337.88 L4304.25 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4304.25,1337.88 4304.25,1384.24 4349.23,1384.24 4349.23,1337.88 4304.25,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4349.23 1384.24 L4349.23 1384.24 L4394.21 1384.24 L4394.21 1384.24 L4349.23 1384.24 L4349.23 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4349.23,1384.24 4349.23,1384.24 4394.21,1384.24 4349.23,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4394.21 1384.24 L4394.21 1384.24 L4439.2 1384.24 L4439.2 1384.24 L4394.21 1384.24 L4394.21 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4394.21,1384.24 4394.21,1384.24 4439.2,1384.24 4394.21,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4439.2 1384.24 L4439.2 1384.24 L4484.18 1384.24 L4484.18 1384.24 L4439.2 1384.24 L4439.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4439.2,1384.24 4439.2,1384.24 4484.18,1384.24 4439.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4484.18 1384.24 L4484.18 1384.24 L4529.16 1384.24 L4529.16 1384.24 L4484.18 1384.24 L4484.18 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4484.18,1384.24 4484.18,1384.24 4529.16,1384.24 4484.18,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4529.16 1384.24 L4529.16 1384.24 L4574.14 1384.24 L4574.14 1384.24 L4529.16 1384.24 L4529.16 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4529.16,1384.24 4529.16,1384.24 4574.14,1384.24 4529.16,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4574.14 1384.24 L4574.14 1384.24 L4619.12 1384.24 L4619.12 1384.24 L4574.14 1384.24 L4574.14 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4574.14,1384.24 4574.14,1384.24 4619.12,1384.24 4574.14,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4619.12 1384.24 L4619.12 1384.24 L4664.1 1384.24 L4664.1 1384.24 L4619.12 1384.24 L4619.12 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4619.12,1384.24 4619.12,1384.24 4664.1,1384.24 4619.12,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4664.1 1384.24 L4664.1 1384.24 L4709.09 1384.24 L4709.09 1384.24 L4664.1 1384.24 L4664.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4664.1,1384.24 4664.1,1384.24 4709.09,1384.24 4664.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4709.09 1384.24 L4709.09 1384.24 L4754.07 1384.24 L4754.07 1384.24 L4709.09 1384.24 L4709.09 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4709.09,1384.24 4709.09,1384.24 4754.07,1384.24 4709.09,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4754.07 1384.24 L4754.07 1384.24 L4799.05 1384.24 L4799.05 1384.24 L4754.07 1384.24 L4754.07 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4754.07,1384.24 4754.07,1384.24 4799.05,1384.24 4754.07,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4799.05 1384.24 L4799.05 1384.24 L4844.03 1384.24 L4844.03 1384.24 L4799.05 1384.24 L4799.05 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4799.05,1384.24 4799.05,1384.24 4844.03,1384.24 4799.05,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4844.03 1384.24 L4844.03 1384.24 L4889.01 1384.24 L4889.01 1384.24 L4844.03 1384.24 L4844.03 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4844.03,1384.24 4844.03,1384.24 4889.01,1384.24 4844.03,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4889.01 1384.24 L4889.01 1384.24 L4934 1384.24 L4934 1384.24 L4889.01 1384.24 L4889.01 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4889.01,1384.24 4889.01,1384.24 4934,1384.24 4889.01,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4934 1384.24 L4934 1384.24 L4978.98 1384.24 L4978.98 1384.24 L4934 1384.24 L4934 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4934,1384.24 4934,1384.24 4978.98,1384.24 4934,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M4978.98 1384.24 L4978.98 1384.24 L5023.96 1384.24 L5023.96 1384.24 L4978.98 1384.24 L4978.98 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 4978.98,1384.24 4978.98,1384.24 5023.96,1384.24 4978.98,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5023.96 1384.24 L5023.96 1384.24 L5068.94 1384.24 L5068.94 1384.24 L5023.96 1384.24 L5023.96 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5023.96,1384.24 5023.96,1384.24 5068.94,1384.24 5023.96,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5068.94 1384.24 L5068.94 1384.24 L5113.92 1384.24 L5113.92 1384.24 L5068.94 1384.24 L5068.94 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5068.94,1384.24 5068.94,1384.24 5113.92,1384.24 5068.94,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5113.92 1384.24 L5113.92 1384.24 L5158.91 1384.24 L5158.91 1384.24 L5113.92 1384.24 L5113.92 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5113.92,1384.24 5113.92,1384.24 5158.91,1384.24 5113.92,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5158.91 1384.24 L5158.91 1384.24 L5203.89 1384.24 L5203.89 1384.24 L5158.91 1384.24 L5158.91 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5158.91,1384.24 5158.91,1384.24 5203.89,1384.24 5158.91,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5203.89 1384.24 L5203.89 1384.24 L5248.87 1384.24 L5248.87 1384.24 L5203.89 1384.24 L5203.89 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5203.89,1384.24 5203.89,1384.24 5248.87,1384.24 5203.89,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5248.87 1384.24 L5248.87 1384.24 L5293.85 1384.24 L5293.85 1384.24 L5248.87 1384.24 L5248.87 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5248.87,1384.24 5248.87,1384.24 5293.85,1384.24 5248.87,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5293.85 1384.24 L5293.85 1384.24 L5338.83 1384.24 L5338.83 1384.24 L5293.85 1384.24 L5293.85 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5293.85,1384.24 5293.85,1384.24 5338.83,1384.24 5293.85,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5338.83 1384.24 L5338.83 1384.24 L5383.82 1384.24 L5383.82 1384.24 L5338.83 1384.24 L5338.83 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5338.83,1384.24 5338.83,1384.24 5383.82,1384.24 5338.83,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5383.82 1384.24 L5383.82 1384.24 L5428.8 1384.24 L5428.8 1384.24 L5383.82 1384.24 L5383.82 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5383.82,1384.24 5383.82,1384.24 5428.8,1384.24 5383.82,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5428.8 1337.88 L5428.8 1384.24 L5473.78 1384.24 L5473.78 1337.88 L5428.8 1337.88 L5428.8 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5428.8,1337.88 5428.8,1384.24 5473.78,1384.24 5473.78,1337.88 5428.8,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5473.78 1384.24 L5473.78 1384.24 L5518.76 1384.24 L5518.76 1384.24 L5473.78 1384.24 L5473.78 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5473.78,1384.24 5473.78,1384.24 5518.76,1384.24 5473.78,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5518.76 1384.24 L5518.76 1384.24 L5563.74 1384.24 L5563.74 1384.24 L5518.76 1384.24 L5518.76 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5518.76,1384.24 5518.76,1384.24 5563.74,1384.24 5518.76,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5563.74 1337.88 L5563.74 1384.24 L5608.73 1384.24 L5608.73 1337.88 L5563.74 1337.88 L5563.74 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5563.74,1337.88 5563.74,1384.24 5608.73,1384.24 5608.73,1337.88 5563.74,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5608.73 1384.24 L5608.73 1384.24 L5653.71 1384.24 L5653.71 1384.24 L5608.73 1384.24 L5608.73 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5608.73,1384.24 5608.73,1384.24 5653.71,1384.24 5608.73,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5653.71 1384.24 L5653.71 1384.24 L5698.69 1384.24 L5698.69 1384.24 L5653.71 1384.24 L5653.71 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5653.71,1384.24 5653.71,1384.24 5698.69,1384.24 5653.71,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5698.69 1384.24 L5698.69 1384.24 L5743.67 1384.24 L5743.67 1384.24 L5698.69 1384.24 L5698.69 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5698.69,1384.24 5698.69,1384.24 5743.67,1384.24 5698.69,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5743.67 1384.24 L5743.67 1384.24 L5788.65 1384.24 L5788.65 1384.24 L5743.67 1384.24 L5743.67 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5743.67,1384.24 5743.67,1384.24 5788.65,1384.24 5743.67,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5788.65 1384.24 L5788.65 1384.24 L5833.64 1384.24 L5833.64 1384.24 L5788.65 1384.24 L5788.65 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5788.65,1384.24 5788.65,1384.24 5833.64,1384.24 5788.65,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5833.64 1384.24 L5833.64 1384.24 L5878.62 1384.24 L5878.62 1384.24 L5833.64 1384.24 L5833.64 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5833.64,1384.24 5833.64,1384.24 5878.62,1384.24 5833.64,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5878.62 1384.24 L5878.62 1384.24 L5923.6 1384.24 L5923.6 1384.24 L5878.62 1384.24 L5878.62 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5878.62,1384.24 5878.62,1384.24 5923.6,1384.24 5878.62,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5923.6 1384.24 L5923.6 1384.24 L5968.58 1384.24 L5968.58 1384.24 L5923.6 1384.24 L5923.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5923.6,1384.24 5923.6,1384.24 5968.58,1384.24 5923.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M5968.58 1384.24 L5968.58 1384.24 L6013.56 1384.24 L6013.56 1384.24 L5968.58 1384.24 L5968.58 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 5968.58,1384.24 5968.58,1384.24 6013.56,1384.24 5968.58,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6013.56 1384.24 L6013.56 1384.24 L6058.55 1384.24 L6058.55 1384.24 L6013.56 1384.24 L6013.56 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6013.56,1384.24 6013.56,1384.24 6058.55,1384.24 6013.56,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6058.55 1384.24 L6058.55 1384.24 L6103.53 1384.24 L6103.53 1384.24 L6058.55 1384.24 L6058.55 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6058.55,1384.24 6058.55,1384.24 6103.53,1384.24 6058.55,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6103.53 1384.24 L6103.53 1384.24 L6148.51 1384.24 L6148.51 1384.24 L6103.53 1384.24 L6103.53 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6103.53,1384.24 6103.53,1384.24 6148.51,1384.24 6103.53,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6148.51 1384.24 L6148.51 1384.24 L6193.49 1384.24 L6193.49 1384.24 L6148.51 1384.24 L6148.51 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6148.51,1384.24 6148.51,1384.24 6193.49,1384.24 6148.51,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6193.49 1384.24 L6193.49 1384.24 L6238.47 1384.24 L6238.47 1384.24 L6193.49 1384.24 L6193.49 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6193.49,1384.24 6193.49,1384.24 6238.47,1384.24 6193.49,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6238.47 1384.24 L6238.47 1384.24 L6283.46 1384.24 L6283.46 1384.24 L6238.47 1384.24 L6238.47 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6238.47,1384.24 6238.47,1384.24 6283.46,1384.24 6238.47,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6283.46 1384.24 L6283.46 1384.24 L6328.44 1384.24 L6328.44 1384.24 L6283.46 1384.24 L6283.46 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6283.46,1384.24 6283.46,1384.24 6328.44,1384.24 6283.46,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6328.44 1384.24 L6328.44 1384.24 L6373.42 1384.24 L6373.42 1384.24 L6328.44 1384.24 L6328.44 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6328.44,1384.24 6328.44,1384.24 6373.42,1384.24 6328.44,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6373.42 1384.24 L6373.42 1384.24 L6418.4 1384.24 L6418.4 1384.24 L6373.42 1384.24 L6373.42 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6373.42,1384.24 6373.42,1384.24 6418.4,1384.24 6373.42,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6418.4 1384.24 L6418.4 1384.24 L6463.38 1384.24 L6463.38 1384.24 L6418.4 1384.24 L6418.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6418.4,1384.24 6418.4,1384.24 6463.38,1384.24 6418.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6463.38 1384.24 L6463.38 1384.24 L6508.37 1384.24 L6508.37 1384.24 L6463.38 1384.24 L6463.38 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6463.38,1384.24 6463.38,1384.24 6508.37,1384.24 6463.38,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6508.37 1384.24 L6508.37 1384.24 L6553.35 1384.24 L6553.35 1384.24 L6508.37 1384.24 L6508.37 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6508.37,1384.24 6508.37,1384.24 6553.35,1384.24 6508.37,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6553.35 1384.24 L6553.35 1384.24 L6598.33 1384.24 L6598.33 1384.24 L6553.35 1384.24 L6553.35 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6553.35,1384.24 6553.35,1384.24 6598.33,1384.24 6553.35,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6598.33 1384.24 L6598.33 1384.24 L6643.31 1384.24 L6643.31 1384.24 L6598.33 1384.24 L6598.33 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6598.33,1384.24 6598.33,1384.24 6643.31,1384.24 6598.33,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6643.31 1384.24 L6643.31 1384.24 L6688.29 1384.24 L6688.29 1384.24 L6643.31 1384.24 L6643.31 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6643.31,1384.24 6643.31,1384.24 6688.29,1384.24 6643.31,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6688.29 1384.24 L6688.29 1384.24 L6733.28 1384.24 L6733.28 1384.24 L6688.29 1384.24 L6688.29 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6688.29,1384.24 6688.29,1384.24 6733.28,1384.24 6688.29,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6733.28 1384.24 L6733.28 1384.24 L6778.26 1384.24 L6778.26 1384.24 L6733.28 1384.24 L6733.28 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6733.28,1384.24 6733.28,1384.24 6778.26,1384.24 6733.28,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6778.26 1384.24 L6778.26 1384.24 L6823.24 1384.24 L6823.24 1384.24 L6778.26 1384.24 L6778.26 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6778.26,1384.24 6778.26,1384.24 6823.24,1384.24 6778.26,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6823.24 1384.24 L6823.24 1384.24 L6868.22 1384.24 L6868.22 1384.24 L6823.24 1384.24 L6823.24 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6823.24,1384.24 6823.24,1384.24 6868.22,1384.24 6823.24,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6868.22 1384.24 L6868.22 1384.24 L6913.2 1384.24 L6913.2 1384.24 L6868.22 1384.24 L6868.22 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6868.22,1384.24 6868.22,1384.24 6913.2,1384.24 6868.22,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6913.2 1384.24 L6913.2 1384.24 L6958.18 1384.24 L6958.18 1384.24 L6913.2 1384.24 L6913.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6913.2,1384.24 6913.2,1384.24 6958.18,1384.24 6913.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M6958.18 1384.24 L6958.18 1384.24 L7003.17 1384.24 L7003.17 1384.24 L6958.18 1384.24 L6958.18 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 6958.18,1384.24 6958.18,1384.24 7003.17,1384.24 6958.18,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7003.17 1384.24 L7003.17 1384.24 L7048.15 1384.24 L7048.15 1384.24 L7003.17 1384.24 L7003.17 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7003.17,1384.24 7003.17,1384.24 7048.15,1384.24 7003.17,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7048.15 1384.24 L7048.15 1384.24 L7093.13 1384.24 L7093.13 1384.24 L7048.15 1384.24 L7048.15 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7048.15,1384.24 7048.15,1384.24 7093.13,1384.24 7048.15,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7093.13 1384.24 L7093.13 1384.24 L7138.11 1384.24 L7138.11 1384.24 L7093.13 1384.24 L7093.13 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7093.13,1384.24 7093.13,1384.24 7138.11,1384.24 7093.13,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7138.11 1384.24 L7138.11 1384.24 L7183.09 1384.24 L7183.09 1384.24 L7138.11 1384.24 L7138.11 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7138.11,1384.24 7138.11,1384.24 7183.09,1384.24 7138.11,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7183.09 1384.24 L7183.09 1384.24 L7228.08 1384.24 L7228.08 1384.24 L7183.09 1384.24 L7183.09 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7183.09,1384.24 7183.09,1384.24 7228.08,1384.24 7183.09,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7228.08 1384.24 L7228.08 1384.24 L7273.06 1384.24 L7273.06 1384.24 L7228.08 1384.24 L7228.08 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7228.08,1384.24 7228.08,1384.24 7273.06,1384.24 7228.08,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7273.06 1384.24 L7273.06 1384.24 L7318.04 1384.24 L7318.04 1384.24 L7273.06 1384.24 L7273.06 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7273.06,1384.24 7273.06,1384.24 7318.04,1384.24 7273.06,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7318.04 1384.24 L7318.04 1384.24 L7363.02 1384.24 L7363.02 1384.24 L7318.04 1384.24 L7318.04 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7318.04,1384.24 7318.04,1384.24 7363.02,1384.24 7318.04,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7363.02 1384.24 L7363.02 1384.24 L7408 1384.24 L7408 1384.24 L7363.02 1384.24 L7363.02 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7363.02,1384.24 7363.02,1384.24 7408,1384.24 7363.02,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7408 1384.24 L7408 1384.24 L7452.99 1384.24 L7452.99 1384.24 L7408 1384.24 L7408 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7408,1384.24 7408,1384.24 7452.99,1384.24 7408,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7452.99 1384.24 L7452.99 1384.24 L7497.97 1384.24 L7497.97 1384.24 L7452.99 1384.24 L7452.99 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7452.99,1384.24 7452.99,1384.24 7497.97,1384.24 7452.99,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7497.97 1384.24 L7497.97 1384.24 L7542.95 1384.24 L7542.95 1384.24 L7497.97 1384.24 L7497.97 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7497.97,1384.24 7497.97,1384.24 7542.95,1384.24 7497.97,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7542.95 1384.24 L7542.95 1384.24 L7587.93 1384.24 L7587.93 1384.24 L7542.95 1384.24 L7542.95 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7542.95,1384.24 7542.95,1384.24 7587.93,1384.24 7542.95,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7587.93 1384.24 L7587.93 1384.24 L7632.91 1384.24 L7632.91 1384.24 L7587.93 1384.24 L7587.93 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7587.93,1384.24 7587.93,1384.24 7632.91,1384.24 7587.93,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7632.91 1384.24 L7632.91 1384.24 L7677.9 1384.24 L7677.9 1384.24 L7632.91 1384.24 L7632.91 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7632.91,1384.24 7632.91,1384.24 7677.9,1384.24 7632.91,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7677.9 1384.24 L7677.9 1384.24 L7722.88 1384.24 L7722.88 1384.24 L7677.9 1384.24 L7677.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7677.9,1384.24 7677.9,1384.24 7722.88,1384.24 7677.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7722.88 1384.24 L7722.88 1384.24 L7767.86 1384.24 L7767.86 1384.24 L7722.88 1384.24 L7722.88 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7722.88,1384.24 7722.88,1384.24 7767.86,1384.24 7722.88,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7767.86 1384.24 L7767.86 1384.24 L7812.84 1384.24 L7812.84 1384.24 L7767.86 1384.24 L7767.86 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7767.86,1384.24 7767.86,1384.24 7812.84,1384.24 7767.86,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7812.84 1384.24 L7812.84 1384.24 L7857.82 1384.24 L7857.82 1384.24 L7812.84 1384.24 L7812.84 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7812.84,1384.24 7812.84,1384.24 7857.82,1384.24 7812.84,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7857.82 1384.24 L7857.82 1384.24 L7902.81 1384.24 L7902.81 1384.24 L7857.82 1384.24 L7857.82 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7857.82,1384.24 7857.82,1384.24 7902.81,1384.24 7857.82,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7902.81 1384.24 L7902.81 1384.24 L7947.79 1384.24 L7947.79 1384.24 L7902.81 1384.24 L7902.81 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7902.81,1384.24 7902.81,1384.24 7947.79,1384.24 7902.81,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7947.79 1384.24 L7947.79 1384.24 L7992.77 1384.24 L7992.77 1384.24 L7947.79 1384.24 L7947.79 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7947.79,1384.24 7947.79,1384.24 7992.77,1384.24 7947.79,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M7992.77 1384.24 L7992.77 1384.24 L8037.75 1384.24 L8037.75 1384.24 L7992.77 1384.24 L7992.77 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 7992.77,1384.24 7992.77,1384.24 8037.75,1384.24 7992.77,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8037.75 1384.24 L8037.75 1384.24 L8082.73 1384.24 L8082.73 1384.24 L8037.75 1384.24 L8037.75 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8037.75,1384.24 8037.75,1384.24 8082.73,1384.24 8037.75,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8082.73 1384.24 L8082.73 1384.24 L8127.72 1384.24 L8127.72 1384.24 L8082.73 1384.24 L8082.73 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8082.73,1384.24 8082.73,1384.24 8127.72,1384.24 8082.73,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8127.72 1384.24 L8127.72 1384.24 L8172.7 1384.24 L8172.7 1384.24 L8127.72 1384.24 L8127.72 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8127.72,1384.24 8127.72,1384.24 8172.7,1384.24 8127.72,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8172.7 1384.24 L8172.7 1384.24 L8217.68 1384.24 L8217.68 1384.24 L8172.7 1384.24 L8172.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8172.7,1384.24 8172.7,1384.24 8217.68,1384.24 8172.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8217.68 1384.24 L8217.68 1384.24 L8262.66 1384.24 L8262.66 1384.24 L8217.68 1384.24 L8217.68 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8217.68,1384.24 8217.68,1384.24 8262.66,1384.24 8217.68,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8262.66 1384.24 L8262.66 1384.24 L8307.64 1384.24 L8307.64 1384.24 L8262.66 1384.24 L8262.66 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8262.66,1384.24 8262.66,1384.24 8307.64,1384.24 8262.66,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8307.64 1384.24 L8307.64 1384.24 L8352.63 1384.24 L8352.63 1384.24 L8307.64 1384.24 L8307.64 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8307.64,1384.24 8307.64,1384.24 8352.63,1384.24 8307.64,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8352.63 1337.88 L8352.63 1384.24 L8397.61 1384.24 L8397.61 1337.88 L8352.63 1337.88 L8352.63 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8352.63,1337.88 8352.63,1384.24 8397.61,1384.24 8397.61,1337.88 8352.63,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8397.61 1384.24 L8397.61 1384.24 L8442.59 1384.24 L8442.59 1384.24 L8397.61 1384.24 L8397.61 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8397.61,1384.24 8397.61,1384.24 8442.59,1384.24 8397.61,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8442.59 1384.24 L8442.59 1384.24 L8487.57 1384.24 L8487.57 1384.24 L8442.59 1384.24 L8442.59 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8442.59,1384.24 8442.59,1384.24 8487.57,1384.24 8442.59,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8487.57 1384.24 L8487.57 1384.24 L8532.55 1384.24 L8532.55 1384.24 L8487.57 1384.24 L8487.57 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8487.57,1384.24 8487.57,1384.24 8532.55,1384.24 8487.57,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8532.55 1384.24 L8532.55 1384.24 L8577.54 1384.24 L8577.54 1384.24 L8532.55 1384.24 L8532.55 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8532.55,1384.24 8532.55,1384.24 8577.54,1384.24 8532.55,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8577.54 1384.24 L8577.54 1384.24 L8622.52 1384.24 L8622.52 1384.24 L8577.54 1384.24 L8577.54 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8577.54,1384.24 8577.54,1384.24 8622.52,1384.24 8577.54,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8622.52 1384.24 L8622.52 1384.24 L8667.5 1384.24 L8667.5 1384.24 L8622.52 1384.24 L8622.52 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8622.52,1384.24 8622.52,1384.24 8667.5,1384.24 8622.52,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8667.5 1384.24 L8667.5 1384.24 L8712.48 1384.24 L8712.48 1384.24 L8667.5 1384.24 L8667.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8667.5,1384.24 8667.5,1384.24 8712.48,1384.24 8667.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8712.48 1384.24 L8712.48 1384.24 L8757.46 1384.24 L8757.46 1384.24 L8712.48 1384.24 L8712.48 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8712.48,1384.24 8712.48,1384.24 8757.46,1384.24 8712.48,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8757.46 1384.24 L8757.46 1384.24 L8802.45 1384.24 L8802.45 1384.24 L8757.46 1384.24 L8757.46 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8757.46,1384.24 8757.46,1384.24 8802.45,1384.24 8757.46,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8802.45 1384.24 L8802.45 1384.24 L8847.43 1384.24 L8847.43 1384.24 L8802.45 1384.24 L8802.45 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8802.45,1384.24 8802.45,1384.24 8847.43,1384.24 8802.45,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8847.43 1384.24 L8847.43 1384.24 L8892.41 1384.24 L8892.41 1384.24 L8847.43 1384.24 L8847.43 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8847.43,1384.24 8847.43,1384.24 8892.41,1384.24 8847.43,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8892.41 1384.24 L8892.41 1384.24 L8937.39 1384.24 L8937.39 1384.24 L8892.41 1384.24 L8892.41 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8892.41,1384.24 8892.41,1384.24 8937.39,1384.24 8892.41,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8937.39 1384.24 L8937.39 1384.24 L8982.37 1384.24 L8982.37 1384.24 L8937.39 1384.24 L8937.39 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8937.39,1384.24 8937.39,1384.24 8982.37,1384.24 8937.39,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M8982.37 1337.88 L8982.37 1384.24 L9027.36 1384.24 L9027.36 1337.88 L8982.37 1337.88 L8982.37 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 8982.37,1337.88 8982.37,1384.24 9027.36,1384.24 9027.36,1337.88 8982.37,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9027.36 1384.24 L9027.36 1384.24 L9072.34 1384.24 L9072.34 1384.24 L9027.36 1384.24 L9027.36 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9027.36,1384.24 9027.36,1384.24 9072.34,1384.24 9027.36,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9072.34 1384.24 L9072.34 1384.24 L9117.32 1384.24 L9117.32 1384.24 L9072.34 1384.24 L9072.34 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9072.34,1384.24 9072.34,1384.24 9117.32,1384.24 9072.34,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9117.32 1384.24 L9117.32 1384.24 L9162.3 1384.24 L9162.3 1384.24 L9117.32 1384.24 L9117.32 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9117.32,1384.24 9117.32,1384.24 9162.3,1384.24 9117.32,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9162.3 1384.24 L9162.3 1384.24 L9207.28 1384.24 L9207.28 1384.24 L9162.3 1384.24 L9162.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9162.3,1384.24 9162.3,1384.24 9207.28,1384.24 9162.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9207.28 1384.24 L9207.28 1384.24 L9252.26 1384.24 L9252.26 1384.24 L9207.28 1384.24 L9207.28 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9207.28,1384.24 9207.28,1384.24 9252.26,1384.24 9207.28,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9252.26 1384.24 L9252.26 1384.24 L9297.25 1384.24 L9297.25 1384.24 L9252.26 1384.24 L9252.26 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9252.26,1384.24 9252.26,1384.24 9297.25,1384.24 9252.26,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9297.25 1384.24 L9297.25 1384.24 L9342.23 1384.24 L9342.23 1384.24 L9297.25 1384.24 L9297.25 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9297.25,1384.24 9297.25,1384.24 9342.23,1384.24 9297.25,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9342.23 1384.24 L9342.23 1384.24 L9387.21 1384.24 L9387.21 1384.24 L9342.23 1384.24 L9342.23 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9342.23,1384.24 9342.23,1384.24 9387.21,1384.24 9342.23,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9387.21 1384.24 L9387.21 1384.24 L9432.19 1384.24 L9432.19 1384.24 L9387.21 1384.24 L9387.21 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9387.21,1384.24 9387.21,1384.24 9432.19,1384.24 9387.21,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9432.19 1384.24 L9432.19 1384.24 L9477.17 1384.24 L9477.17 1384.24 L9432.19 1384.24 L9432.19 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9432.19,1384.24 9432.19,1384.24 9477.17,1384.24 9432.19,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9477.17 1384.24 L9477.17 1384.24 L9522.16 1384.24 L9522.16 1384.24 L9477.17 1384.24 L9477.17 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9477.17,1384.24 9477.17,1384.24 9522.16,1384.24 9477.17,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9522.16 1384.24 L9522.16 1384.24 L9567.14 1384.24 L9567.14 1384.24 L9522.16 1384.24 L9522.16 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9522.16,1384.24 9522.16,1384.24 9567.14,1384.24 9522.16,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9567.14 1384.24 L9567.14 1384.24 L9612.12 1384.24 L9612.12 1384.24 L9567.14 1384.24 L9567.14 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9567.14,1384.24 9567.14,1384.24 9612.12,1384.24 9567.14,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9612.12 1384.24 L9612.12 1384.24 L9657.1 1384.24 L9657.1 1384.24 L9612.12 1384.24 L9612.12 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9612.12,1384.24 9612.12,1384.24 9657.1,1384.24 9612.12,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9657.1 1384.24 L9657.1 1384.24 L9702.08 1384.24 L9702.08 1384.24 L9657.1 1384.24 L9657.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9657.1,1384.24 9657.1,1384.24 9702.08,1384.24 9657.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9702.08 1384.24 L9702.08 1384.24 L9747.07 1384.24 L9747.07 1384.24 L9702.08 1384.24 L9702.08 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9702.08,1384.24 9702.08,1384.24 9747.07,1384.24 9702.08,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9747.07 1384.24 L9747.07 1384.24 L9792.05 1384.24 L9792.05 1384.24 L9747.07 1384.24 L9747.07 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9747.07,1384.24 9747.07,1384.24 9792.05,1384.24 9747.07,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9792.05 1384.24 L9792.05 1384.24 L9837.03 1384.24 L9837.03 1384.24 L9792.05 1384.24 L9792.05 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9792.05,1384.24 9792.05,1384.24 9837.03,1384.24 9792.05,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9837.03 1384.24 L9837.03 1384.24 L9882.01 1384.24 L9882.01 1384.24 L9837.03 1384.24 L9837.03 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9837.03,1384.24 9837.03,1384.24 9882.01,1384.24 9837.03,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9882.01 1384.24 L9882.01 1384.24 L9926.99 1384.24 L9926.99 1384.24 L9882.01 1384.24 L9882.01 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9882.01,1384.24 9882.01,1384.24 9926.99,1384.24 9882.01,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9926.99 1384.24 L9926.99 1384.24 L9971.98 1384.24 L9971.98 1384.24 L9926.99 1384.24 L9926.99 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9926.99,1384.24 9926.99,1384.24 9971.98,1384.24 9926.99,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M9971.98 1384.24 L9971.98 1384.24 L10017 1384.24 L10017 1384.24 L9971.98 1384.24 L9971.98 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 9971.98,1384.24 9971.98,1384.24 10017,1384.24 9971.98,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10017 1384.24 L10017 1384.24 L10061.9 1384.24 L10061.9 1384.24 L10017 1384.24 L10017 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10017,1384.24 10017,1384.24 10061.9,1384.24 10017,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10061.9 1384.24 L10061.9 1384.24 L10106.9 1384.24 L10106.9 1384.24 L10061.9 1384.24 L10061.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10061.9,1384.24 10061.9,1384.24 10106.9,1384.24 10061.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10106.9 1384.24 L10106.9 1384.24 L10151.9 1384.24 L10151.9 1384.24 L10106.9 1384.24 L10106.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10106.9,1384.24 10106.9,1384.24 10151.9,1384.24 10106.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10151.9 1384.24 L10151.9 1384.24 L10196.9 1384.24 L10196.9 1384.24 L10151.9 1384.24 L10151.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10151.9,1384.24 10151.9,1384.24 10196.9,1384.24 10151.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10196.9 1384.24 L10196.9 1384.24 L10241.9 1384.24 L10241.9 1384.24 L10196.9 1384.24 L10196.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10196.9,1384.24 10196.9,1384.24 10241.9,1384.24 10196.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10241.9 1384.24 L10241.9 1384.24 L10286.8 1384.24 L10286.8 1384.24 L10241.9 1384.24 L10241.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10241.9,1384.24 10241.9,1384.24 10286.8,1384.24 10241.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10286.8 1384.24 L10286.8 1384.24 L10331.8 1384.24 L10331.8 1384.24 L10286.8 1384.24 L10286.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10286.8,1384.24 10286.8,1384.24 10331.8,1384.24 10286.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10331.8 1384.24 L10331.8 1384.24 L10376.8 1384.24 L10376.8 1384.24 L10331.8 1384.24 L10331.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10331.8,1384.24 10331.8,1384.24 10376.8,1384.24 10331.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10376.8 1384.24 L10376.8 1384.24 L10421.8 1384.24 L10421.8 1384.24 L10376.8 1384.24 L10376.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10376.8,1384.24 10376.8,1384.24 10421.8,1384.24 10376.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10421.8 1384.24 L10421.8 1384.24 L10466.8 1384.24 L10466.8 1384.24 L10421.8 1384.24 L10421.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10421.8,1384.24 10421.8,1384.24 10466.8,1384.24 10421.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10466.8 1384.24 L10466.8 1384.24 L10511.8 1384.24 L10511.8 1384.24 L10466.8 1384.24 L10466.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10466.8,1384.24 10466.8,1384.24 10511.8,1384.24 10466.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10511.8 1384.24 L10511.8 1384.24 L10556.7 1384.24 L10556.7 1384.24 L10511.8 1384.24 L10511.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10511.8,1384.24 10511.8,1384.24 10556.7,1384.24 10511.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10556.7 1384.24 L10556.7 1384.24 L10601.7 1384.24 L10601.7 1384.24 L10556.7 1384.24 L10556.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10556.7,1384.24 10556.7,1384.24 10601.7,1384.24 10556.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10601.7 1384.24 L10601.7 1384.24 L10646.7 1384.24 L10646.7 1384.24 L10601.7 1384.24 L10601.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10601.7,1384.24 10601.7,1384.24 10646.7,1384.24 10601.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10646.7 1337.88 L10646.7 1384.24 L10691.7 1384.24 L10691.7 1337.88 L10646.7 1337.88 L10646.7 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10646.7,1337.88 10646.7,1384.24 10691.7,1384.24 10691.7,1337.88 10646.7,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10691.7 1384.24 L10691.7 1384.24 L10736.7 1384.24 L10736.7 1384.24 L10691.7 1384.24 L10691.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10691.7,1384.24 10691.7,1384.24 10736.7,1384.24 10691.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10736.7 1384.24 L10736.7 1384.24 L10781.7 1384.24 L10781.7 1384.24 L10736.7 1384.24 L10736.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10736.7,1384.24 10736.7,1384.24 10781.7,1384.24 10736.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10781.7 1384.24 L10781.7 1384.24 L10826.6 1384.24 L10826.6 1384.24 L10781.7 1384.24 L10781.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10781.7,1384.24 10781.7,1384.24 10826.6,1384.24 10781.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10826.6 1337.88 L10826.6 1384.24 L10871.6 1384.24 L10871.6 1337.88 L10826.6 1337.88 L10826.6 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10826.6,1337.88 10826.6,1384.24 10871.6,1384.24 10871.6,1337.88 10826.6,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10871.6 1384.24 L10871.6 1384.24 L10916.6 1384.24 L10916.6 1384.24 L10871.6 1384.24 L10871.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10871.6,1384.24 10871.6,1384.24 10916.6,1384.24 10871.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10916.6 1384.24 L10916.6 1384.24 L10961.6 1384.24 L10961.6 1384.24 L10916.6 1384.24 L10916.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10916.6,1384.24 10916.6,1384.24 10961.6,1384.24 10916.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M10961.6 1384.24 L10961.6 1384.24 L11006.6 1384.24 L11006.6 1384.24 L10961.6 1384.24 L10961.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 10961.6,1384.24 10961.6,1384.24 11006.6,1384.24 10961.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11006.6 1384.24 L11006.6 1384.24 L11051.5 1384.24 L11051.5 1384.24 L11006.6 1384.24 L11006.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11006.6,1384.24 11006.6,1384.24 11051.5,1384.24 11006.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11051.5 1384.24 L11051.5 1384.24 L11096.5 1384.24 L11096.5 1384.24 L11051.5 1384.24 L11051.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11051.5,1384.24 11051.5,1384.24 11096.5,1384.24 11051.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11096.5 1384.24 L11096.5 1384.24 L11141.5 1384.24 L11141.5 1384.24 L11096.5 1384.24 L11096.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11096.5,1384.24 11096.5,1384.24 11141.5,1384.24 11096.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11141.5 1384.24 L11141.5 1384.24 L11186.5 1384.24 L11186.5 1384.24 L11141.5 1384.24 L11141.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11141.5,1384.24 11141.5,1384.24 11186.5,1384.24 11141.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11186.5 1384.24 L11186.5 1384.24 L11231.5 1384.24 L11231.5 1384.24 L11186.5 1384.24 L11186.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11186.5,1384.24 11186.5,1384.24 11231.5,1384.24 11186.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11231.5 1337.88 L11231.5 1384.24 L11276.5 1384.24 L11276.5 1337.88 L11231.5 1337.88 L11231.5 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11231.5,1337.88 11231.5,1384.24 11276.5,1384.24 11276.5,1337.88 11231.5,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11276.5 1384.24 L11276.5 1384.24 L11321.4 1384.24 L11321.4 1384.24 L11276.5 1384.24 L11276.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11276.5,1384.24 11276.5,1384.24 11321.4,1384.24 11276.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11321.4 1384.24 L11321.4 1384.24 L11366.4 1384.24 L11366.4 1384.24 L11321.4 1384.24 L11321.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11321.4,1384.24 11321.4,1384.24 11366.4,1384.24 11321.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11366.4 1384.24 L11366.4 1384.24 L11411.4 1384.24 L11411.4 1384.24 L11366.4 1384.24 L11366.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11366.4,1384.24 11366.4,1384.24 11411.4,1384.24 11366.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11411.4 1384.24 L11411.4 1384.24 L11456.4 1384.24 L11456.4 1384.24 L11411.4 1384.24 L11411.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11411.4,1384.24 11411.4,1384.24 11456.4,1384.24 11411.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11456.4 1384.24 L11456.4 1384.24 L11501.4 1384.24 L11501.4 1384.24 L11456.4 1384.24 L11456.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11456.4,1384.24 11456.4,1384.24 11501.4,1384.24 11456.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11501.4 1384.24 L11501.4 1384.24 L11546.3 1384.24 L11546.3 1384.24 L11501.4 1384.24 L11501.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11501.4,1384.24 11501.4,1384.24 11546.3,1384.24 11501.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11546.3 1384.24 L11546.3 1384.24 L11591.3 1384.24 L11591.3 1384.24 L11546.3 1384.24 L11546.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11546.3,1384.24 11546.3,1384.24 11591.3,1384.24 11546.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11591.3 1384.24 L11591.3 1384.24 L11636.3 1384.24 L11636.3 1384.24 L11591.3 1384.24 L11591.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11591.3,1384.24 11591.3,1384.24 11636.3,1384.24 11591.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11636.3 1384.24 L11636.3 1384.24 L11681.3 1384.24 L11681.3 1384.24 L11636.3 1384.24 L11636.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11636.3,1384.24 11636.3,1384.24 11681.3,1384.24 11636.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11681.3 1384.24 L11681.3 1384.24 L11726.3 1384.24 L11726.3 1384.24 L11681.3 1384.24 L11681.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11681.3,1384.24 11681.3,1384.24 11726.3,1384.24 11681.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11726.3 1384.24 L11726.3 1384.24 L11771.3 1384.24 L11771.3 1384.24 L11726.3 1384.24 L11726.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11726.3,1384.24 11726.3,1384.24 11771.3,1384.24 11726.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11771.3 1384.24 L11771.3 1384.24 L11816.2 1384.24 L11816.2 1384.24 L11771.3 1384.24 L11771.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11771.3,1384.24 11771.3,1384.24 11816.2,1384.24 11771.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11816.2 1384.24 L11816.2 1384.24 L11861.2 1384.24 L11861.2 1384.24 L11816.2 1384.24 L11816.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11816.2,1384.24 11816.2,1384.24 11861.2,1384.24 11816.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11861.2 1384.24 L11861.2 1384.24 L11906.2 1384.24 L11906.2 1384.24 L11861.2 1384.24 L11861.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11861.2,1384.24 11861.2,1384.24 11906.2,1384.24 11861.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11906.2 1384.24 L11906.2 1384.24 L11951.2 1384.24 L11951.2 1384.24 L11906.2 1384.24 L11906.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11906.2,1384.24 11906.2,1384.24 11951.2,1384.24 11906.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11951.2 1384.24 L11951.2 1384.24 L11996.2 1384.24 L11996.2 1384.24 L11951.2 1384.24 L11951.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11951.2,1384.24 11951.2,1384.24 11996.2,1384.24 11951.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M11996.2 1384.24 L11996.2 1384.24 L12041.1 1384.24 L12041.1 1384.24 L11996.2 1384.24 L11996.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 11996.2,1384.24 11996.2,1384.24 12041.1,1384.24 11996.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12041.1 1384.24 L12041.1 1384.24 L12086.1 1384.24 L12086.1 1384.24 L12041.1 1384.24 L12041.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12041.1,1384.24 12041.1,1384.24 12086.1,1384.24 12041.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12086.1 1384.24 L12086.1 1384.24 L12131.1 1384.24 L12131.1 1384.24 L12086.1 1384.24 L12086.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12086.1,1384.24 12086.1,1384.24 12131.1,1384.24 12086.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12131.1 1384.24 L12131.1 1384.24 L12176.1 1384.24 L12176.1 1384.24 L12131.1 1384.24 L12131.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12131.1,1384.24 12131.1,1384.24 12176.1,1384.24 12131.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12176.1 1384.24 L12176.1 1384.24 L12221.1 1384.24 L12221.1 1384.24 L12176.1 1384.24 L12176.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12176.1,1384.24 12176.1,1384.24 12221.1,1384.24 12176.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12221.1 1384.24 L12221.1 1384.24 L12266.1 1384.24 L12266.1 1384.24 L12221.1 1384.24 L12221.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12221.1,1384.24 12221.1,1384.24 12266.1,1384.24 12221.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12266.1 1384.24 L12266.1 1384.24 L12311 1384.24 L12311 1384.24 L12266.1 1384.24 L12266.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12266.1,1384.24 12266.1,1384.24 12311,1384.24 12266.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12311 1384.24 L12311 1384.24 L12356 1384.24 L12356 1384.24 L12311 1384.24 L12311 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12311,1384.24 12311,1384.24 12356,1384.24 12311,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12356 1384.24 L12356 1384.24 L12401 1384.24 L12401 1384.24 L12356 1384.24 L12356 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12356,1384.24 12356,1384.24 12401,1384.24 12356,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12401 1384.24 L12401 1384.24 L12446 1384.24 L12446 1384.24 L12401 1384.24 L12401 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12401,1384.24 12401,1384.24 12446,1384.24 12401,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12446 1384.24 L12446 1384.24 L12491 1384.24 L12491 1384.24 L12446 1384.24 L12446 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12446,1384.24 12446,1384.24 12491,1384.24 12446,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12491 1384.24 L12491 1384.24 L12535.9 1384.24 L12535.9 1384.24 L12491 1384.24 L12491 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12491,1384.24 12491,1384.24 12535.9,1384.24 12491,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12535.9 1337.88 L12535.9 1384.24 L12580.9 1384.24 L12580.9 1337.88 L12535.9 1337.88 L12535.9 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12535.9,1337.88 12535.9,1384.24 12580.9,1384.24 12580.9,1337.88 12535.9,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12580.9 1384.24 L12580.9 1384.24 L12625.9 1384.24 L12625.9 1384.24 L12580.9 1384.24 L12580.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12580.9,1384.24 12580.9,1384.24 12625.9,1384.24 12580.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12625.9 1384.24 L12625.9 1384.24 L12670.9 1384.24 L12670.9 1384.24 L12625.9 1384.24 L12625.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12625.9,1384.24 12625.9,1384.24 12670.9,1384.24 12625.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12670.9 1384.24 L12670.9 1384.24 L12715.9 1384.24 L12715.9 1384.24 L12670.9 1384.24 L12670.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12670.9,1384.24 12670.9,1384.24 12715.9,1384.24 12670.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12715.9 1384.24 L12715.9 1384.24 L12760.9 1384.24 L12760.9 1384.24 L12715.9 1384.24 L12715.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12715.9,1384.24 12715.9,1384.24 12760.9,1384.24 12715.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12760.9 1337.88 L12760.9 1384.24 L12805.8 1384.24 L12805.8 1337.88 L12760.9 1337.88 L12760.9 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12760.9,1337.88 12760.9,1384.24 12805.8,1384.24 12805.8,1337.88 12760.9,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12805.8 1384.24 L12805.8 1384.24 L12850.8 1384.24 L12850.8 1384.24 L12805.8 1384.24 L12805.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12805.8,1384.24 12805.8,1384.24 12850.8,1384.24 12805.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12850.8 1384.24 L12850.8 1384.24 L12895.8 1384.24 L12895.8 1384.24 L12850.8 1384.24 L12850.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12850.8,1384.24 12850.8,1384.24 12895.8,1384.24 12850.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12895.8 1384.24 L12895.8 1384.24 L12940.8 1384.24 L12940.8 1384.24 L12895.8 1384.24 L12895.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12895.8,1384.24 12895.8,1384.24 12940.8,1384.24 12895.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12940.8 1384.24 L12940.8 1384.24 L12985.8 1384.24 L12985.8 1384.24 L12940.8 1384.24 L12940.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12940.8,1384.24 12940.8,1384.24 12985.8,1384.24 12940.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M12985.8 1384.24 L12985.8 1384.24 L13030.7 1384.24 L13030.7 1384.24 L12985.8 1384.24 L12985.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 12985.8,1384.24 12985.8,1384.24 13030.7,1384.24 12985.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13030.7 1384.24 L13030.7 1384.24 L13075.7 1384.24 L13075.7 1384.24 L13030.7 1384.24 L13030.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13030.7,1384.24 13030.7,1384.24 13075.7,1384.24 13030.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13075.7 1384.24 L13075.7 1384.24 L13120.7 1384.24 L13120.7 1384.24 L13075.7 1384.24 L13075.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13075.7,1384.24 13075.7,1384.24 13120.7,1384.24 13075.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13120.7 1384.24 L13120.7 1384.24 L13165.7 1384.24 L13165.7 1384.24 L13120.7 1384.24 L13120.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13120.7,1384.24 13120.7,1384.24 13165.7,1384.24 13120.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13165.7 1384.24 L13165.7 1384.24 L13210.7 1384.24 L13210.7 1384.24 L13165.7 1384.24 L13165.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13165.7,1384.24 13165.7,1384.24 13210.7,1384.24 13165.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13210.7 1384.24 L13210.7 1384.24 L13255.7 1384.24 L13255.7 1384.24 L13210.7 1384.24 L13210.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13210.7,1384.24 13210.7,1384.24 13255.7,1384.24 13210.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13255.7 1384.24 L13255.7 1384.24 L13300.6 1384.24 L13300.6 1384.24 L13255.7 1384.24 L13255.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13255.7,1384.24 13255.7,1384.24 13300.6,1384.24 13255.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13300.6 1384.24 L13300.6 1384.24 L13345.6 1384.24 L13345.6 1384.24 L13300.6 1384.24 L13300.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13300.6,1384.24 13300.6,1384.24 13345.6,1384.24 13300.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13345.6 1384.24 L13345.6 1384.24 L13390.6 1384.24 L13390.6 1384.24 L13345.6 1384.24 L13345.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13345.6,1384.24 13345.6,1384.24 13390.6,1384.24 13345.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13390.6 1384.24 L13390.6 1384.24 L13435.6 1384.24 L13435.6 1384.24 L13390.6 1384.24 L13390.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13390.6,1384.24 13390.6,1384.24 13435.6,1384.24 13390.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13435.6 1384.24 L13435.6 1384.24 L13480.6 1384.24 L13480.6 1384.24 L13435.6 1384.24 L13435.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13435.6,1384.24 13435.6,1384.24 13480.6,1384.24 13435.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13480.6 1384.24 L13480.6 1384.24 L13525.6 1384.24 L13525.6 1384.24 L13480.6 1384.24 L13480.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13480.6,1384.24 13480.6,1384.24 13525.6,1384.24 13480.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13525.6 1384.24 L13525.6 1384.24 L13570.5 1384.24 L13570.5 1384.24 L13525.6 1384.24 L13525.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13525.6,1384.24 13525.6,1384.24 13570.5,1384.24 13525.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13570.5 1384.24 L13570.5 1384.24 L13615.5 1384.24 L13615.5 1384.24 L13570.5 1384.24 L13570.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13570.5,1384.24 13570.5,1384.24 13615.5,1384.24 13570.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13615.5 1384.24 L13615.5 1384.24 L13660.5 1384.24 L13660.5 1384.24 L13615.5 1384.24 L13615.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13615.5,1384.24 13615.5,1384.24 13660.5,1384.24 13615.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13660.5 1384.24 L13660.5 1384.24 L13705.5 1384.24 L13705.5 1384.24 L13660.5 1384.24 L13660.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13660.5,1384.24 13660.5,1384.24 13705.5,1384.24 13660.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13705.5 1337.88 L13705.5 1384.24 L13750.5 1384.24 L13750.5 1337.88 L13705.5 1337.88 L13705.5 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13705.5,1337.88 13705.5,1384.24 13750.5,1384.24 13750.5,1337.88 13705.5,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13750.5 1384.24 L13750.5 1384.24 L13795.4 1384.24 L13795.4 1384.24 L13750.5 1384.24 L13750.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13750.5,1384.24 13750.5,1384.24 13795.4,1384.24 13750.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13795.4 1384.24 L13795.4 1384.24 L13840.4 1384.24 L13840.4 1384.24 L13795.4 1384.24 L13795.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13795.4,1384.24 13795.4,1384.24 13840.4,1384.24 13795.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13840.4 1384.24 L13840.4 1384.24 L13885.4 1384.24 L13885.4 1384.24 L13840.4 1384.24 L13840.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13840.4,1384.24 13840.4,1384.24 13885.4,1384.24 13840.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13885.4 1384.24 L13885.4 1384.24 L13930.4 1384.24 L13930.4 1384.24 L13885.4 1384.24 L13885.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13885.4,1384.24 13885.4,1384.24 13930.4,1384.24 13885.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13930.4 1384.24 L13930.4 1384.24 L13975.4 1384.24 L13975.4 1384.24 L13930.4 1384.24 L13930.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13930.4,1384.24 13930.4,1384.24 13975.4,1384.24 13930.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M13975.4 1384.24 L13975.4 1384.24 L14020.4 1384.24 L14020.4 1384.24 L13975.4 1384.24 L13975.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 13975.4,1384.24 13975.4,1384.24 14020.4,1384.24 13975.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14020.4 1384.24 L14020.4 1384.24 L14065.3 1384.24 L14065.3 1384.24 L14020.4 1384.24 L14020.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14020.4,1384.24 14020.4,1384.24 14065.3,1384.24 14020.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14065.3 1384.24 L14065.3 1384.24 L14110.3 1384.24 L14110.3 1384.24 L14065.3 1384.24 L14065.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14065.3,1384.24 14065.3,1384.24 14110.3,1384.24 14065.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14110.3 1384.24 L14110.3 1384.24 L14155.3 1384.24 L14155.3 1384.24 L14110.3 1384.24 L14110.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14110.3,1384.24 14110.3,1384.24 14155.3,1384.24 14110.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14155.3 1384.24 L14155.3 1384.24 L14200.3 1384.24 L14200.3 1384.24 L14155.3 1384.24 L14155.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14155.3,1384.24 14155.3,1384.24 14200.3,1384.24 14155.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14200.3 1384.24 L14200.3 1384.24 L14245.3 1384.24 L14245.3 1384.24 L14200.3 1384.24 L14200.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14200.3,1384.24 14200.3,1384.24 14245.3,1384.24 14200.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14245.3 1384.24 L14245.3 1384.24 L14290.2 1384.24 L14290.2 1384.24 L14245.3 1384.24 L14245.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14245.3,1384.24 14245.3,1384.24 14290.2,1384.24 14245.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14290.2 1384.24 L14290.2 1384.24 L14335.2 1384.24 L14335.2 1384.24 L14290.2 1384.24 L14290.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14290.2,1384.24 14290.2,1384.24 14335.2,1384.24 14290.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14335.2 1384.24 L14335.2 1384.24 L14380.2 1384.24 L14380.2 1384.24 L14335.2 1384.24 L14335.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14335.2,1384.24 14335.2,1384.24 14380.2,1384.24 14335.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14380.2 1384.24 L14380.2 1384.24 L14425.2 1384.24 L14425.2 1384.24 L14380.2 1384.24 L14380.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14380.2,1384.24 14380.2,1384.24 14425.2,1384.24 14380.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14425.2 1384.24 L14425.2 1384.24 L14470.2 1384.24 L14470.2 1384.24 L14425.2 1384.24 L14425.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14425.2,1384.24 14425.2,1384.24 14470.2,1384.24 14425.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14470.2 1384.24 L14470.2 1384.24 L14515.2 1384.24 L14515.2 1384.24 L14470.2 1384.24 L14470.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14470.2,1384.24 14470.2,1384.24 14515.2,1384.24 14470.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14515.2 1384.24 L14515.2 1384.24 L14560.1 1384.24 L14560.1 1384.24 L14515.2 1384.24 L14515.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14515.2,1384.24 14515.2,1384.24 14560.1,1384.24 14515.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14560.1 1384.24 L14560.1 1384.24 L14605.1 1384.24 L14605.1 1384.24 L14560.1 1384.24 L14560.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14560.1,1384.24 14560.1,1384.24 14605.1,1384.24 14560.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14605.1 1384.24 L14605.1 1384.24 L14650.1 1384.24 L14650.1 1384.24 L14605.1 1384.24 L14605.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14605.1,1384.24 14605.1,1384.24 14650.1,1384.24 14605.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14650.1 1384.24 L14650.1 1384.24 L14695.1 1384.24 L14695.1 1384.24 L14650.1 1384.24 L14650.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14650.1,1384.24 14650.1,1384.24 14695.1,1384.24 14650.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14695.1 1384.24 L14695.1 1384.24 L14740.1 1384.24 L14740.1 1384.24 L14695.1 1384.24 L14695.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14695.1,1384.24 14695.1,1384.24 14740.1,1384.24 14695.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14740.1 1384.24 L14740.1 1384.24 L14785 1384.24 L14785 1384.24 L14740.1 1384.24 L14740.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14740.1,1384.24 14740.1,1384.24 14785,1384.24 14740.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14785 1337.88 L14785 1384.24 L14830 1384.24 L14830 1337.88 L14785 1337.88 L14785 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14785,1337.88 14785,1384.24 14830,1384.24 14830,1337.88 14785,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14830 1384.24 L14830 1384.24 L14875 1384.24 L14875 1384.24 L14830 1384.24 L14830 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14830,1384.24 14830,1384.24 14875,1384.24 14830,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14875 1384.24 L14875 1384.24 L14920 1384.24 L14920 1384.24 L14875 1384.24 L14875 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14875,1384.24 14875,1384.24 14920,1384.24 14875,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14920 1384.24 L14920 1384.24 L14965 1384.24 L14965 1384.24 L14920 1384.24 L14920 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14920,1384.24 14920,1384.24 14965,1384.24 14920,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M14965 1384.24 L14965 1384.24 L15010 1384.24 L15010 1384.24 L14965 1384.24 L14965 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 14965,1384.24 14965,1384.24 15010,1384.24 14965,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15010 1384.24 L15010 1384.24 L15054.9 1384.24 L15054.9 1384.24 L15010 1384.24 L15010 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15010,1384.24 15010,1384.24 15054.9,1384.24 15010,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15054.9 1384.24 L15054.9 1384.24 L15099.9 1384.24 L15099.9 1384.24 L15054.9 1384.24 L15054.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15054.9,1384.24 15054.9,1384.24 15099.9,1384.24 15054.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15099.9 1384.24 L15099.9 1384.24 L15144.9 1384.24 L15144.9 1384.24 L15099.9 1384.24 L15099.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15099.9,1384.24 15099.9,1384.24 15144.9,1384.24 15099.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15144.9 1384.24 L15144.9 1384.24 L15189.9 1384.24 L15189.9 1384.24 L15144.9 1384.24 L15144.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15144.9,1384.24 15144.9,1384.24 15189.9,1384.24 15144.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15189.9 1384.24 L15189.9 1384.24 L15234.9 1384.24 L15234.9 1384.24 L15189.9 1384.24 L15189.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15189.9,1384.24 15189.9,1384.24 15234.9,1384.24 15189.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15234.9 1384.24 L15234.9 1384.24 L15279.8 1384.24 L15279.8 1384.24 L15234.9 1384.24 L15234.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15234.9,1384.24 15234.9,1384.24 15279.8,1384.24 15234.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15279.8 1384.24 L15279.8 1384.24 L15324.8 1384.24 L15324.8 1384.24 L15279.8 1384.24 L15279.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15279.8,1384.24 15279.8,1384.24 15324.8,1384.24 15279.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15324.8 1384.24 L15324.8 1384.24 L15369.8 1384.24 L15369.8 1384.24 L15324.8 1384.24 L15324.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15324.8,1384.24 15324.8,1384.24 15369.8,1384.24 15324.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15369.8 1384.24 L15369.8 1384.24 L15414.8 1384.24 L15414.8 1384.24 L15369.8 1384.24 L15369.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15369.8,1384.24 15369.8,1384.24 15414.8,1384.24 15369.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15414.8 1384.24 L15414.8 1384.24 L15459.8 1384.24 L15459.8 1384.24 L15414.8 1384.24 L15414.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15414.8,1384.24 15414.8,1384.24 15459.8,1384.24 15414.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15459.8 1384.24 L15459.8 1384.24 L15504.8 1384.24 L15504.8 1384.24 L15459.8 1384.24 L15459.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15459.8,1384.24 15459.8,1384.24 15504.8,1384.24 15459.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15504.8 1384.24 L15504.8 1384.24 L15549.7 1384.24 L15549.7 1384.24 L15504.8 1384.24 L15504.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15504.8,1384.24 15504.8,1384.24 15549.7,1384.24 15504.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15549.7 1337.88 L15549.7 1384.24 L15594.7 1384.24 L15594.7 1337.88 L15549.7 1337.88 L15549.7 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15549.7,1337.88 15549.7,1384.24 15594.7,1384.24 15594.7,1337.88 15549.7,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15594.7 1384.24 L15594.7 1384.24 L15639.7 1384.24 L15639.7 1384.24 L15594.7 1384.24 L15594.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15594.7,1384.24 15594.7,1384.24 15639.7,1384.24 15594.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15639.7 1384.24 L15639.7 1384.24 L15684.7 1384.24 L15684.7 1384.24 L15639.7 1384.24 L15639.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15639.7,1384.24 15639.7,1384.24 15684.7,1384.24 15639.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15684.7 1384.24 L15684.7 1384.24 L15729.7 1384.24 L15729.7 1384.24 L15684.7 1384.24 L15684.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15684.7,1384.24 15684.7,1384.24 15729.7,1384.24 15684.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15729.7 1384.24 L15729.7 1384.24 L15774.6 1384.24 L15774.6 1384.24 L15729.7 1384.24 L15729.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15729.7,1384.24 15729.7,1384.24 15774.6,1384.24 15729.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15774.6 1384.24 L15774.6 1384.24 L15819.6 1384.24 L15819.6 1384.24 L15774.6 1384.24 L15774.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15774.6,1384.24 15774.6,1384.24 15819.6,1384.24 15774.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15819.6 1384.24 L15819.6 1384.24 L15864.6 1384.24 L15864.6 1384.24 L15819.6 1384.24 L15819.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15819.6,1384.24 15819.6,1384.24 15864.6,1384.24 15819.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15864.6 1384.24 L15864.6 1384.24 L15909.6 1384.24 L15909.6 1384.24 L15864.6 1384.24 L15864.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15864.6,1384.24 15864.6,1384.24 15909.6,1384.24 15864.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15909.6 1384.24 L15909.6 1384.24 L15954.6 1384.24 L15954.6 1384.24 L15909.6 1384.24 L15909.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15909.6,1384.24 15909.6,1384.24 15954.6,1384.24 15909.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15954.6 1384.24 L15954.6 1384.24 L15999.6 1384.24 L15999.6 1384.24 L15954.6 1384.24 L15954.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15954.6,1384.24 15954.6,1384.24 15999.6,1384.24 15954.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M15999.6 1384.24 L15999.6 1384.24 L16044.5 1384.24 L16044.5 1384.24 L15999.6 1384.24 L15999.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 15999.6,1384.24 15999.6,1384.24 16044.5,1384.24 15999.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16044.5 1384.24 L16044.5 1384.24 L16089.5 1384.24 L16089.5 1384.24 L16044.5 1384.24 L16044.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16044.5,1384.24 16044.5,1384.24 16089.5,1384.24 16044.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16089.5 1384.24 L16089.5 1384.24 L16134.5 1384.24 L16134.5 1384.24 L16089.5 1384.24 L16089.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16089.5,1384.24 16089.5,1384.24 16134.5,1384.24 16089.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16134.5 1384.24 L16134.5 1384.24 L16179.5 1384.24 L16179.5 1384.24 L16134.5 1384.24 L16134.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16134.5,1384.24 16134.5,1384.24 16179.5,1384.24 16134.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16179.5 1384.24 L16179.5 1384.24 L16224.5 1384.24 L16224.5 1384.24 L16179.5 1384.24 L16179.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16179.5,1384.24 16179.5,1384.24 16224.5,1384.24 16179.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16224.5 1384.24 L16224.5 1384.24 L16269.5 1384.24 L16269.5 1384.24 L16224.5 1384.24 L16224.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16224.5,1384.24 16224.5,1384.24 16269.5,1384.24 16224.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16269.5 1384.24 L16269.5 1384.24 L16314.4 1384.24 L16314.4 1384.24 L16269.5 1384.24 L16269.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16269.5,1384.24 16269.5,1384.24 16314.4,1384.24 16269.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16314.4 1384.24 L16314.4 1384.24 L16359.4 1384.24 L16359.4 1384.24 L16314.4 1384.24 L16314.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16314.4,1384.24 16314.4,1384.24 16359.4,1384.24 16314.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16359.4 1384.24 L16359.4 1384.24 L16404.4 1384.24 L16404.4 1384.24 L16359.4 1384.24 L16359.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16359.4,1384.24 16359.4,1384.24 16404.4,1384.24 16359.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16404.4 1384.24 L16404.4 1384.24 L16449.4 1384.24 L16449.4 1384.24 L16404.4 1384.24 L16404.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16404.4,1384.24 16404.4,1384.24 16449.4,1384.24 16404.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16449.4 1384.24 L16449.4 1384.24 L16494.4 1384.24 L16494.4 1384.24 L16449.4 1384.24 L16449.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16449.4,1384.24 16449.4,1384.24 16494.4,1384.24 16449.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16494.4 1384.24 L16494.4 1384.24 L16539.3 1384.24 L16539.3 1384.24 L16494.4 1384.24 L16494.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16494.4,1384.24 16494.4,1384.24 16539.3,1384.24 16494.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16539.3 1384.24 L16539.3 1384.24 L16584.3 1384.24 L16584.3 1384.24 L16539.3 1384.24 L16539.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16539.3,1384.24 16539.3,1384.24 16584.3,1384.24 16539.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16584.3 1384.24 L16584.3 1384.24 L16629.3 1384.24 L16629.3 1384.24 L16584.3 1384.24 L16584.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16584.3,1384.24 16584.3,1384.24 16629.3,1384.24 16584.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16629.3 1384.24 L16629.3 1384.24 L16674.3 1384.24 L16674.3 1384.24 L16629.3 1384.24 L16629.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16629.3,1384.24 16629.3,1384.24 16674.3,1384.24 16629.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16674.3 1384.24 L16674.3 1384.24 L16719.3 1384.24 L16719.3 1384.24 L16674.3 1384.24 L16674.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16674.3,1384.24 16674.3,1384.24 16719.3,1384.24 16674.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16719.3 1384.24 L16719.3 1384.24 L16764.3 1384.24 L16764.3 1384.24 L16719.3 1384.24 L16719.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16719.3,1384.24 16719.3,1384.24 16764.3,1384.24 16719.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16764.3 1384.24 L16764.3 1384.24 L16809.2 1384.24 L16809.2 1384.24 L16764.3 1384.24 L16764.3 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16764.3,1384.24 16764.3,1384.24 16809.2,1384.24 16764.3,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16809.2 1384.24 L16809.2 1384.24 L16854.2 1384.24 L16854.2 1384.24 L16809.2 1384.24 L16809.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16809.2,1384.24 16809.2,1384.24 16854.2,1384.24 16809.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16854.2 1384.24 L16854.2 1384.24 L16899.2 1384.24 L16899.2 1384.24 L16854.2 1384.24 L16854.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16854.2,1384.24 16854.2,1384.24 16899.2,1384.24 16854.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16899.2 1384.24 L16899.2 1384.24 L16944.2 1384.24 L16944.2 1384.24 L16899.2 1384.24 L16899.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16899.2,1384.24 16899.2,1384.24 16944.2,1384.24 16899.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16944.2 1384.24 L16944.2 1384.24 L16989.2 1384.24 L16989.2 1384.24 L16944.2 1384.24 L16944.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16944.2,1384.24 16944.2,1384.24 16989.2,1384.24 16944.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M16989.2 1384.24 L16989.2 1384.24 L17034.1 1384.24 L17034.1 1384.24 L16989.2 1384.24 L16989.2 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 16989.2,1384.24 16989.2,1384.24 17034.1,1384.24 16989.2,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17034.1 1384.24 L17034.1 1384.24 L17079.1 1384.24 L17079.1 1384.24 L17034.1 1384.24 L17034.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17034.1,1384.24 17034.1,1384.24 17079.1,1384.24 17034.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17079.1 1384.24 L17079.1 1384.24 L17124.1 1384.24 L17124.1 1384.24 L17079.1 1384.24 L17079.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17079.1,1384.24 17079.1,1384.24 17124.1,1384.24 17079.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17124.1 1384.24 L17124.1 1384.24 L17169.1 1384.24 L17169.1 1384.24 L17124.1 1384.24 L17124.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17124.1,1384.24 17124.1,1384.24 17169.1,1384.24 17124.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17169.1 1384.24 L17169.1 1384.24 L17214.1 1384.24 L17214.1 1384.24 L17169.1 1384.24 L17169.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17169.1,1384.24 17169.1,1384.24 17214.1,1384.24 17169.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17214.1 1384.24 L17214.1 1384.24 L17259.1 1384.24 L17259.1 1384.24 L17214.1 1384.24 L17214.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17214.1,1384.24 17214.1,1384.24 17259.1,1384.24 17214.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17259.1 1384.24 L17259.1 1384.24 L17304 1384.24 L17304 1384.24 L17259.1 1384.24 L17259.1 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17259.1,1384.24 17259.1,1384.24 17304,1384.24 17259.1,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17304 1384.24 L17304 1384.24 L17349 1384.24 L17349 1384.24 L17304 1384.24 L17304 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17304,1384.24 17304,1384.24 17349,1384.24 17304,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17349 1384.24 L17349 1384.24 L17394 1384.24 L17394 1384.24 L17349 1384.24 L17349 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17349,1384.24 17349,1384.24 17394,1384.24 17349,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17394 1384.24 L17394 1384.24 L17439 1384.24 L17439 1384.24 L17394 1384.24 L17394 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17394,1384.24 17394,1384.24 17439,1384.24 17394,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17439 1384.24 L17439 1384.24 L17484 1384.24 L17484 1384.24 L17439 1384.24 L17439 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17439,1384.24 17439,1384.24 17484,1384.24 17439,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17484 1384.24 L17484 1384.24 L17528.9 1384.24 L17528.9 1384.24 L17484 1384.24 L17484 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17484,1384.24 17484,1384.24 17528.9,1384.24 17484,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17528.9 1384.24 L17528.9 1384.24 L17573.9 1384.24 L17573.9 1384.24 L17528.9 1384.24 L17528.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17528.9,1384.24 17528.9,1384.24 17573.9,1384.24 17528.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17573.9 1384.24 L17573.9 1384.24 L17618.9 1384.24 L17618.9 1384.24 L17573.9 1384.24 L17573.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17573.9,1384.24 17573.9,1384.24 17618.9,1384.24 17573.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17618.9 1384.24 L17618.9 1384.24 L17663.9 1384.24 L17663.9 1384.24 L17618.9 1384.24 L17618.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17618.9,1384.24 17618.9,1384.24 17663.9,1384.24 17618.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17663.9 1384.24 L17663.9 1384.24 L17708.9 1384.24 L17708.9 1384.24 L17663.9 1384.24 L17663.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17663.9,1384.24 17663.9,1384.24 17708.9,1384.24 17663.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17708.9 1384.24 L17708.9 1384.24 L17753.9 1384.24 L17753.9 1384.24 L17708.9 1384.24 L17708.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17708.9,1384.24 17708.9,1384.24 17753.9,1384.24 17708.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17753.9 1384.24 L17753.9 1384.24 L17798.8 1384.24 L17798.8 1384.24 L17753.9 1384.24 L17753.9 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17753.9,1384.24 17753.9,1384.24 17798.8,1384.24 17753.9,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17798.8 1384.24 L17798.8 1384.24 L17843.8 1384.24 L17843.8 1384.24 L17798.8 1384.24 L17798.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17798.8,1384.24 17798.8,1384.24 17843.8,1384.24 17798.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17843.8 1384.24 L17843.8 1384.24 L17888.8 1384.24 L17888.8 1384.24 L17843.8 1384.24 L17843.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17843.8,1384.24 17843.8,1384.24 17888.8,1384.24 17843.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17888.8 1384.24 L17888.8 1384.24 L17933.8 1384.24 L17933.8 1384.24 L17888.8 1384.24 L17888.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17888.8,1384.24 17888.8,1384.24 17933.8,1384.24 17888.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17933.8 1384.24 L17933.8 1384.24 L17978.8 1384.24 L17978.8 1384.24 L17933.8 1384.24 L17933.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17933.8,1384.24 17933.8,1384.24 17978.8,1384.24 17933.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M17978.8 1384.24 L17978.8 1384.24 L18023.7 1384.24 L18023.7 1384.24 L17978.8 1384.24 L17978.8 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 17978.8,1384.24 17978.8,1384.24 18023.7,1384.24 17978.8,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18023.7 1384.24 L18023.7 1384.24 L18068.7 1384.24 L18068.7 1384.24 L18023.7 1384.24 L18023.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18023.7,1384.24 18023.7,1384.24 18068.7,1384.24 18023.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18068.7 1384.24 L18068.7 1384.24 L18113.7 1384.24 L18113.7 1384.24 L18068.7 1384.24 L18068.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18068.7,1384.24 18068.7,1384.24 18113.7,1384.24 18068.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18113.7 1384.24 L18113.7 1384.24 L18158.7 1384.24 L18158.7 1384.24 L18113.7 1384.24 L18113.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18113.7,1384.24 18113.7,1384.24 18158.7,1384.24 18113.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18158.7 1384.24 L18158.7 1384.24 L18203.7 1384.24 L18203.7 1384.24 L18158.7 1384.24 L18158.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18158.7,1384.24 18158.7,1384.24 18203.7,1384.24 18158.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18203.7 1384.24 L18203.7 1384.24 L18248.7 1384.24 L18248.7 1384.24 L18203.7 1384.24 L18203.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18203.7,1384.24 18203.7,1384.24 18248.7,1384.24 18203.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18248.7 1384.24 L18248.7 1384.24 L18293.6 1384.24 L18293.6 1384.24 L18248.7 1384.24 L18248.7 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18248.7,1384.24 18248.7,1384.24 18293.6,1384.24 18248.7,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18293.6 1384.24 L18293.6 1384.24 L18338.6 1384.24 L18338.6 1384.24 L18293.6 1384.24 L18293.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18293.6,1384.24 18293.6,1384.24 18338.6,1384.24 18293.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18338.6 1384.24 L18338.6 1384.24 L18383.6 1384.24 L18383.6 1384.24 L18338.6 1384.24 L18338.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18338.6,1384.24 18338.6,1384.24 18383.6,1384.24 18338.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18383.6 1384.24 L18383.6 1384.24 L18428.6 1384.24 L18428.6 1384.24 L18383.6 1384.24 L18383.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18383.6,1384.24 18383.6,1384.24 18428.6,1384.24 18383.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18428.6 1384.24 L18428.6 1384.24 L18473.6 1384.24 L18473.6 1384.24 L18428.6 1384.24 L18428.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18428.6,1384.24 18428.6,1384.24 18473.6,1384.24 18428.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18473.6 1384.24 L18473.6 1384.24 L18518.5 1384.24 L18518.5 1384.24 L18473.6 1384.24 L18473.6 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18473.6,1384.24 18473.6,1384.24 18518.5,1384.24 18473.6,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18518.5 1384.24 L18518.5 1384.24 L18563.5 1384.24 L18563.5 1384.24 L18518.5 1384.24 L18518.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18518.5,1384.24 18518.5,1384.24 18563.5,1384.24 18518.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18563.5 1384.24 L18563.5 1384.24 L18608.5 1384.24 L18608.5 1384.24 L18563.5 1384.24 L18563.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18563.5,1384.24 18563.5,1384.24 18608.5,1384.24 18563.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18608.5 1337.88 L18608.5 1384.24 L18653.5 1384.24 L18653.5 1337.88 L18608.5 1337.88 L18608.5 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18608.5,1337.88 18608.5,1384.24 18653.5,1384.24 18653.5,1337.88 18608.5,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18653.5 1384.24 L18653.5 1384.24 L18698.5 1384.24 L18698.5 1384.24 L18653.5 1384.24 L18653.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18653.5,1384.24 18653.5,1384.24 18698.5,1384.24 18653.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18698.5 1384.24 L18698.5 1384.24 L18743.5 1384.24 L18743.5 1384.24 L18698.5 1384.24 L18698.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18698.5,1384.24 18698.5,1384.24 18743.5,1384.24 18698.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18743.5 1384.24 L18743.5 1384.24 L18788.4 1384.24 L18788.4 1384.24 L18743.5 1384.24 L18743.5 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18743.5,1384.24 18743.5,1384.24 18788.4,1384.24 18743.5,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18788.4 1337.88 L18788.4 1384.24 L18833.4 1384.24 L18833.4 1337.88 L18788.4 1337.88 L18788.4 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18788.4,1337.88 18788.4,1384.24 18833.4,1384.24 18833.4,1337.88 18788.4,1337.88 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18833.4 1384.24 L18833.4 1384.24 L18878.4 1384.24 L18878.4 1384.24 L18833.4 1384.24 L18833.4 1384.24 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18833.4,1384.24 18833.4,1384.24 18878.4,1384.24 18833.4,1384.24 \n",
" \"/>\n",
"<path clip-path=\"url(#clip892)\" d=\"\n",
"M18878.4 1337.88 L18878.4 1384.24 L18923.4 1384.24 L18923.4 1337.88 L18878.4 1337.88 L18878.4 1337.88 Z\n",
" \" fill=\"#009af9\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip892)\" style=\"stroke:#000000; stroke-linecap:butt; stroke-linejoin:round; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 18878.4,1337.88 18878.4,1384.24 18923.4,1384.24 18923.4,1337.88 18878.4,1337.88 \n",
" \"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"233.382\" cy=\"1337.88\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"278.364\" cy=\"1245.16\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"323.346\" cy=\"1245.16\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"368.328\" cy=\"1291.52\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"413.31\" cy=\"1152.44\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"458.292\" cy=\"1013.37\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"503.274\" cy=\"1013.37\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"548.256\" cy=\"967.007\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"593.237\" cy=\"781.571\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"638.219\" cy=\"457.058\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"683.201\" cy=\"410.699\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"728.183\" cy=\"364.34\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"773.165\" cy=\"317.981\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"818.147\" cy=\"642.494\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"863.129\" cy=\"86.1857\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"908.111\" cy=\"688.853\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"953.093\" cy=\"132.545\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"998.075\" cy=\"86.1857\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1043.06\" cy=\"457.058\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1088.04\" cy=\"642.494\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1133.02\" cy=\"410.699\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1178\" cy=\"827.93\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1222.98\" cy=\"735.212\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1267.97\" cy=\"549.776\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1312.95\" cy=\"688.853\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1357.93\" cy=\"967.007\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1402.91\" cy=\"1059.73\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1447.89\" cy=\"1152.44\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1492.88\" cy=\"1013.37\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1537.86\" cy=\"827.93\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1582.84\" cy=\"1106.08\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1627.82\" cy=\"1059.73\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1672.8\" cy=\"1245.16\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1717.79\" cy=\"1106.08\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1762.77\" cy=\"1059.73\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1807.75\" cy=\"1245.16\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1852.73\" cy=\"1291.52\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1897.71\" cy=\"1198.8\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1942.7\" cy=\"1245.16\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"1987.68\" cy=\"1291.52\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2032.66\" cy=\"1245.16\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2077.64\" cy=\"1152.44\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2122.62\" cy=\"1291.52\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2167.61\" cy=\"1152.44\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2212.59\" cy=\"1198.8\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2257.57\" cy=\"1245.16\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2302.55\" cy=\"1106.08\" r=\"2\"/>\n",
"<circle clip-path=\"url(#clip892)\" style=\"fill:#009af9; stroke:none; fill-opacity:0\" cx=\"2347.53\" cy=\"1245.16\" r=\"2\"/>\n",
"</svg>\n"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using Statistics # bring in statistical support for standard deviations\n",
"t = c_bench.times / 1e6 # times in milliseconds\n",
"m, σ = minimum(t), std(t)\n",
"\n",
"histogram(t, bins=500,\n",
" xlim=(m - 0.01, m + σ),\n",
" xlabel=\"milliseconds\", ylabel=\"count\", label=\"\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 2. C with -ffast-math\n",
"\n",
"If we allow C to re-arrange the floating point operations, then it'll vectorize with SIMD (single instruction, multiple data) instructions."
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING: redefinition of constant Clib_fastmath. This may fail, cause incorrect answers, or produce other errors.\n"
]
},
{
"data": {
"text/plain": [
"c_sum_fastmath (generic function with 1 method)"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"const Clib_fastmath = tempname() # make a temporary file\n",
"\n",
"# The same as above but with a -ffast-math flag added\n",
"open(`gcc -fPIC -O3 -msse3 -xc -shared -ffast-math -o $(Clib_fastmath * \".\" * Libdl.dlext) -`, \"w\") do f\n",
" print(f, C_code) \n",
"end\n",
"\n",
"# define a Julia function that calls the C function:\n",
"c_sum_fastmath(X::Array{Float64}) = ccall((\"c_sum\", Clib_fastmath), Float64, (Csize_t, Ptr{Float64}), length(X), X)"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 812 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m5.542 ms\u001b[22m\u001b[39m … \u001b[35m 11.767 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m5.948 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m6.134 ms\u001b[22m\u001b[39m ± \u001b[32m564.309 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m \u001b[39m \u001b[39m \u001b[39m▂\u001b[39m \u001b[39m \u001b[39m \u001b[39m▄\u001b[39m█\u001b[34m▅\u001b[39m\u001b[39m▂\u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m▃\u001b[39m▂\u001b[39m▇\u001b[39m█\u001b[39m▇\u001b[39m▇\u001b[39m▇\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▅\u001b[32m▃\u001b[39m\u001b[39m▄\u001b[39m▃\u001b[39m▃\u001b[39m▄\u001b[39m▄\u001b[39m▃\u001b[39m▄\u001b[39m▃\u001b[39m▂\u001b[39m▃\u001b[39m▃\u001b[39m▄\u001b[39m▃\u001b[39m▂\u001b[39m▂\u001b[39m▃\u001b[39m▃\u001b[39m▃\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▃\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▃\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▁\u001b[39m▂\u001b[39m▁\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m▂\u001b[39m \u001b[39m▃\n",
" 5.54 ms\u001b[90m Histogram: frequency by time\u001b[39m 8.12 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m16 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m1\u001b[39m."
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c_fastmath_bench = @benchmark $c_sum_fastmath($a)"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5.542088"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"C -ffast-math\"] = minimum(c_fastmath_bench.times) / 1e6 # in milliseconds"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 3. Python's built in `sum` "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The `PyCall` package provides a Julia interface to Python:"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {
"scrolled": true
},
"outputs": [],
"source": [
"#using Pkg; Pkg.add(\"PyCall\")\n",
"using PyCall"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PyObject <built-in function sum>"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# get the Python built-in \"sum\" function:\n",
"pysum = pybuiltin(\"sum\")"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.998784559011017e6"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pysum(a)"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"true"
]
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pysum(a) ≈ sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 3 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m1.681 s\u001b[22m\u001b[39m … \u001b[35m 1.866 s\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m1.820 s \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m1.789 s\u001b[22m\u001b[39m ± \u001b[32m96.528 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[34m█\u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m \n",
" \u001b[34m█\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m \u001b[39m▁\n",
" 1.68 s\u001b[90m Histogram: frequency by time\u001b[39m 1.87 s \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m240 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m6\u001b[39m."
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"py_list_bench = @benchmark $pysum($a)"
]
},
{
"cell_type": "code",
"execution_count": 84,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Dict{Any, Any} with 3 entries:\n",
" \"C\" => 9.18846\n",
" \"Python built-in\" => 1680.52\n",
" \"C -ffast-math\" => 5.54209"
]
},
"execution_count": 84,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"Python built-in\"] = minimum(py_list_bench.times) / 1e6\n",
"d"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 4. Python: `numpy` \n",
"\n",
"## Takes advantage of hardware \"SIMD\", but only works when it works.\n",
"\n",
"`numpy` is an optimized C library, callable from Python.\n",
"It may be installed within Julia as follows:"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [],
"source": [
"#using Pkg; Pkg.add(\"Conda\")\n",
"using Conda"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [],
"source": [
"#Conda.add(\"numpy\")"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 963 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m4.393 ms\u001b[22m\u001b[39m … \u001b[35m 8.287 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m5.027 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m5.170 ms\u001b[22m\u001b[39m ± \u001b[32m459.198 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▅\u001b[39m▆\u001b[39m█\u001b[39m█\u001b[39m▆\u001b[34m▆\u001b[39m\u001b[39m▆\u001b[39m▆\u001b[32m▅\u001b[39m\u001b[39m▄\u001b[39m▄\u001b[39m▃\u001b[39m▂\u001b[39m▁\u001b[39m \u001b[39m▂\u001b[39m \u001b[39m▁\u001b[39m▁\u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▁\n",
" \u001b[39m▇\u001b[39m█\u001b[39m▇\u001b[39m▄\u001b[39m▁\u001b[39m▅\u001b[39m▆\u001b[39m▄\u001b[39m▅\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[32m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m▆\u001b[39m█\u001b[39m█\u001b[39m▄\u001b[39m█\u001b[39m▅\u001b[39m▆\u001b[39m▆\u001b[39m▅\u001b[39m▇\u001b[39m▅\u001b[39m▆\u001b[39m▆\u001b[39m▁\u001b[39m▆\u001b[39m▅\u001b[39m▅\u001b[39m▄\u001b[39m▄\u001b[39m▆\u001b[39m▄\u001b[39m▆\u001b[39m▄\u001b[39m▄\u001b[39m▄\u001b[39m▄\u001b[39m▅\u001b[39m \u001b[39m█\n",
" 4.39 ms\u001b[90m \u001b[39m\u001b[90mHistogram: \u001b[39m\u001b[90m\u001b[1mlog(\u001b[22m\u001b[39m\u001b[90mfrequency\u001b[39m\u001b[90m\u001b[1m)\u001b[22m\u001b[39m\u001b[90m by time\u001b[39m 7.01 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m240 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m6\u001b[39m."
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"numpy_sum = pyimport(\"numpy\")[\"sum\"]\n",
"\n",
"py_numpy_bench = @benchmark $numpy_sum($a)"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.998784559011253e6"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"numpy_sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"true"
]
},
"execution_count": 89,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"numpy_sum(a) ≈ sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Dict{Any, Any} with 4 entries:\n",
" \"C\" => 9.18846\n",
" \"Python numpy\" => 4.3934\n",
" \"Python built-in\" => 1680.52\n",
" \"C -ffast-math\" => 5.54209"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"Python numpy\"] = minimum(py_numpy_bench.times) / 1e6\n",
"d"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 5. Python, hand-written "
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PyObject <function py_sum at 0x7f243c581af0>"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"py\"\"\"\n",
"def py_sum(A):\n",
" s = 0.0\n",
" for a in A:\n",
" s += a\n",
" return s\n",
"\"\"\"\n",
"\n",
"sum_py = py\"py_sum\""
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 3 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m1.683 s\u001b[22m\u001b[39m … \u001b[35m 1.876 s\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m1.831 s \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m1.797 s\u001b[22m\u001b[39m ± \u001b[32m100.946 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[34m█\u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m \n",
" \u001b[34m█\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m \u001b[39m▁\n",
" 1.68 s\u001b[90m Histogram: frequency by time\u001b[39m 1.88 s \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m240 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m6\u001b[39m."
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"py_hand = @benchmark $sum_py($a)"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.998784559011017e6"
]
},
"execution_count": 93,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum_py(a)"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"true"
]
},
"execution_count": 94,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum_py(a) ≈ sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Dict{Any, Any} with 5 entries:\n",
" \"C\" => 9.18846\n",
" \"Python numpy\" => 4.3934\n",
" \"Python hand-written\" => 1683.29\n",
" \"Python built-in\" => 1680.52\n",
" \"C -ffast-math\" => 5.54209"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"Python hand-written\"] = minimum(py_hand.times) / 1e6\n",
"d"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 6. Julia (built-in) \n",
"\n",
"## Written directly in Julia, not in C!"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"sum(a::<b>AbstractArray</b>; <i>dims, kw...</i>) in Base at <a href=\"https://github.com/JuliaLang/julia/tree/3bf9d1773144bc4943232dc2ffaac307a700853d/base/reducedim.jl#L889\" target=\"_blank\">reducedim.jl:889</a>"
],
"text/plain": [
"sum(a::AbstractArray; dims, kw...) in Base at reducedim.jl:889"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@which sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 1060 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m4.132 ms\u001b[22m\u001b[39m … \u001b[35m 8.876 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m4.557 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m4.697 ms\u001b[22m\u001b[39m ± \u001b[32m413.209 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▃\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m▅\u001b[39m▃\u001b[39m▂\u001b[32m \u001b[39m\u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m▇\u001b[39m█\u001b[39m▇\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[32m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▇\u001b[39m▇\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m▆\u001b[39m▆\u001b[39m█\u001b[39m▅\u001b[39m█\u001b[39m▇\u001b[39m▄\u001b[39m▆\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m▆\u001b[39m▆\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▄\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m█\u001b[39m▄\u001b[39m▁\u001b[39m▅\u001b[39m▄\u001b[39m▄\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▆\u001b[39m \u001b[39m█\n",
" 4.13 ms\u001b[90m \u001b[39m\u001b[90mHistogram: \u001b[39m\u001b[90m\u001b[1mlog(\u001b[22m\u001b[39m\u001b[90mfrequency\u001b[39m\u001b[90m\u001b[1m)\u001b[22m\u001b[39m\u001b[90m by time\u001b[39m 6.32 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m0 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m0\u001b[39m."
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"j_bench = @benchmark sum($a)"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Dict{Any, Any} with 6 entries:\n",
" \"C\" => 9.18846\n",
" \"Python numpy\" => 4.3934\n",
" \"Python hand-written\" => 1683.29\n",
" \"Python built-in\" => 1680.52\n",
" \"Julia built-in\" => 4.13181\n",
" \"C -ffast-math\" => 5.54209"
]
},
"execution_count": 98,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"Julia built-in\"] = minimum(j_bench.times) / 1e6\n",
"d"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 7. Julia (hand-written) "
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"mysum (generic function with 1 method)"
]
},
"execution_count": 99,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function mysum(A) \n",
" s = 0.0 # s = zero(eltype(a))\n",
" for a in A\n",
" s += a\n",
" end\n",
" s\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 468 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m 9.278 ms\u001b[22m\u001b[39m … \u001b[35m19.230 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m10.088 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m10.657 ms\u001b[22m\u001b[39m ± \u001b[32m 1.394 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▆\u001b[39m█\u001b[34m▅\u001b[39m\u001b[39m▃\u001b[39m▂\u001b[39m▂\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▂\u001b[39m \u001b[39m▁\u001b[39m \u001b[39m▁\u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m▅\u001b[39m▁\u001b[39m▅\u001b[39m▇\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[32m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▄\u001b[39m█\u001b[39m▅\u001b[39m▇\u001b[39m▅\u001b[39m▇\u001b[39m▄\u001b[39m▄\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▄\u001b[39m▁\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▅\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▄\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▅\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m \u001b[39m▇\n",
" 9.28 ms\u001b[90m \u001b[39m\u001b[90mHistogram: \u001b[39m\u001b[90m\u001b[1mlog(\u001b[22m\u001b[39m\u001b[90mfrequency\u001b[39m\u001b[90m\u001b[1m)\u001b[22m\u001b[39m\u001b[90m by time\u001b[39m 17.3 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m0 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m0\u001b[39m."
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"j_bench_hand = @benchmark mysum($a)"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Dict{Any, Any} with 7 entries:\n",
" \"C\" => 9.18846\n",
" \"Python numpy\" => 4.3934\n",
" \"Julia hand-written\" => 9.27795\n",
" \"Python hand-written\" => 1683.29\n",
" \"Python built-in\" => 1680.52\n",
" \"Julia built-in\" => 4.13181\n",
" \"C -ffast-math\" => 5.54209"
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"Julia hand-written\"] = minimum(j_bench_hand.times) / 1e6\n",
"d"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 8. Julia (hand-written w. simd) "
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"mysum_simd (generic function with 1 method)"
]
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function mysum_simd(A) \n",
" s = 0.0 # s = zero(eltype(A))\n",
" @simd for a in A\n",
" s += a\n",
" end\n",
" s\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 1140 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m3.950 ms\u001b[22m\u001b[39m … \u001b[35m 21.844 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m4.092 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m4.365 ms\u001b[22m\u001b[39m ± \u001b[32m904.188 μs\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m \u001b[39m▃\u001b[39m█\u001b[39m█\u001b[34m▅\u001b[39m\u001b[39m▃\u001b[39m▂\u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m▁\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▂\u001b[39m▁\u001b[39m▁\u001b[39m \u001b[39m▂\u001b[39m \u001b[39m▂\u001b[39m▁\u001b[39m▂\u001b[39m▂\u001b[39m \u001b[39m▁\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m▇\u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m█\u001b[39m█\u001b[32m█\u001b[39m\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m█\u001b[39m▆\u001b[39m█\u001b[39m█\u001b[39m▇\u001b[39m▆\u001b[39m▆\u001b[39m█\u001b[39m▅\u001b[39m▄\u001b[39m▅\u001b[39m▆\u001b[39m▅\u001b[39m▆\u001b[39m▄\u001b[39m▆\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m▅\u001b[39m▁\u001b[39m▁\u001b[39m▆\u001b[39m▁\u001b[39m▅\u001b[39m▅\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m \u001b[39m█\n",
" 3.95 ms\u001b[90m \u001b[39m\u001b[90mHistogram: \u001b[39m\u001b[90m\u001b[1mlog(\u001b[22m\u001b[39m\u001b[90mfrequency\u001b[39m\u001b[90m\u001b[1m)\u001b[22m\u001b[39m\u001b[90m by time\u001b[39m 6.03 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m0 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m0\u001b[39m."
]
},
"execution_count": 103,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"j_bench_hand_simd = @benchmark mysum_simd($a)"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"4.998784559011221e6"
]
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mysum_simd(a)"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"Dict{Any, Any} with 8 entries:\n",
" \"Julia hand-written simd\" => 3.95038\n",
" \"C\" => 9.18846\n",
" \"Python numpy\" => 4.3934\n",
" \"Julia hand-written\" => 9.27795\n",
" \"Python hand-written\" => 1683.29\n",
" \"Python built-in\" => 1680.52\n",
" \"Julia built-in\" => 4.13181\n",
" \"C -ffast-math\" => 5.54209"
]
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"Julia hand-written simd\"] = minimum(j_bench_hand_simd.times) / 1e6\n",
"d"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 9. Using R"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"outputs": [],
"source": [
"#Pkg.add(\"RCall\")\n",
"using RCall"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 51 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m54.146 ms\u001b[22m\u001b[39m … \u001b[35m167.534 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m95.011 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m99.729 ms\u001b[22m\u001b[39m ± \u001b[32m 19.300 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m▄\u001b[39m \u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[34m▃\u001b[39m\u001b[39m▁\u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \n",
" \u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▇\u001b[39m█\u001b[39m▄\u001b[39m█\u001b[39m█\u001b[39m█\u001b[34m█\u001b[39m\u001b[39m█\u001b[39m▆\u001b[32m▄\u001b[39m\u001b[39m▆\u001b[39m▆\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▄\u001b[39m \u001b[39m▁\n",
" 54.1 ms\u001b[90m Histogram: frequency by time\u001b[39m 157 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m160 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m8\u001b[39m."
]
},
"execution_count": 107,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"@rimport base as rbase\n",
"rbench = @benchmark rbase.sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"RObject{RealSxp}\n",
"[1] 4998785\n"
]
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rbase.sum(a)"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"54.14556"
]
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"R base sum\"] = minimum(rbench.times) / 1e6"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 10. R, hand-written"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"RObject{ClosSxp}\n",
"function (x) \n",
"{\n",
" sum1 <- 0\n",
" for (n in x) {\n",
" sum1 <- sum1 + n\n",
" }\n",
" return(sum1)\n",
"}\n"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"R\"\"\"\n",
"r_sum <- function(x) {\n",
" sum1 <- 0\n",
" for (n in x) {\n",
" sum1 <- sum1 + n\n",
" }\n",
" return(sum1)\n",
"}\n",
"\"\"\"\n",
"sum_r = R\"r_sum\""
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"RObject{RealSxp}\n",
"[1] 4998785\n"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum_r(a)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"BenchmarkTools.Trial: 12 samples with 1 evaluation.\n",
" Range \u001b[90m(\u001b[39m\u001b[36m\u001b[1mmin\u001b[22m\u001b[39m … \u001b[35mmax\u001b[39m\u001b[90m): \u001b[39m\u001b[36m\u001b[1m339.174 ms\u001b[22m\u001b[39m … \u001b[35m519.857 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmin … max\u001b[90m): \u001b[39m0.00% … 0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[34m\u001b[1mmedian\u001b[22m\u001b[39m\u001b[90m): \u001b[39m\u001b[34m\u001b[1m452.910 ms \u001b[22m\u001b[39m\u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmedian\u001b[90m): \u001b[39m0.00%\n",
" Time \u001b[90m(\u001b[39m\u001b[32m\u001b[1mmean\u001b[22m\u001b[39m ± \u001b[32mσ\u001b[39m\u001b[90m): \u001b[39m\u001b[32m\u001b[1m433.554 ms\u001b[22m\u001b[39m ± \u001b[32m 67.763 ms\u001b[39m \u001b[90m┊\u001b[39m GC \u001b[90m(\u001b[39mmean ± σ\u001b[90m): \u001b[39m0.00% ± 0.00%\n",
"\n",
" \u001b[39m█\u001b[39m \u001b[39m█\u001b[39m \u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[32m \u001b[39m\u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[34m \u001b[39m\u001b[39m \u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m█\u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m \u001b[39m█\u001b[39m \u001b[39m█\u001b[39m \u001b[39m█\u001b[39m \u001b[39m \n",
" \u001b[39m█\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[32m▁\u001b[39m\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[34m▁\u001b[39m\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m█\u001b[39m▁\u001b[39m█\u001b[39m \u001b[39m▁\n",
" 339 ms\u001b[90m Histogram: frequency by time\u001b[39m 520 ms \u001b[0m\u001b[1m<\u001b[22m\n",
"\n",
" Memory estimate\u001b[90m: \u001b[39m\u001b[33m160 bytes\u001b[39m, allocs estimate\u001b[90m: \u001b[39m\u001b[33m8\u001b[39m."
]
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rbench2 = @benchmark sum_r(a)"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"339.173887"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"d[\"R, hand written\"] = minimum(rbench2.times) / 1e6"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Summary"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Julia hand-written simd.....4.0\n",
"Julia built-in..............4.1\n",
"Python numpy................4.4\n",
"C -ffast-math...............5.5\n",
"C...........................9.2\n",
"Julia hand-written..........9.3\n",
"R base sum.................54.1\n",
"R, hand written...........339.2\n",
"Python built-in..........1680.5\n",
"Python hand-written......1683.3\n"
]
}
],
"source": [
"for (key, value) in sort(collect(d), by=last)\n",
" println(rpad(key, 25, \".\"), lpad(round(value; digits=1), 6, \".\"))\n",
"end"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Julia 1.7.0",
"language": "julia",
"name": "julia-1.7"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.7.0"
},
"toc": {
"colors": {
"hover_highlight": "#DAA520",
"running_highlight": "#FF0000",
"selected_highlight": "#FFD700"
},
"moveMenuLeft": true,
"nav_menu": {
"height": "212px",
"width": "252px"
},
"navigate_menu": true,
"number_sections": true,
"sideBar": true,
"threshold": "2",
"toc_cell": false,
"toc_section_display": "block",
"toc_window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment