EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Samples\Tests\Tests.csproj", "{5B7CA5BD-AEE8-40EE-85B0-0CAADD19B43A}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrowIDE", "Samples\CrowIDE\CrowIDE.csproj", "{232046EE-C7B3-42CD-9EED-8E3A35097C42}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
{5B7CA5BD-AEE8-40EE-85B0-0CAADD19B43A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B7CA5BD-AEE8-40EE-85B0-0CAADD19B43A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B7CA5BD-AEE8-40EE-85B0-0CAADD19B43A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {232046EE-C7B3-42CD-9EED-8E3A35097C42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {232046EE-C7B3-42CD-9EED-8E3A35097C42}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
{F535A8AB-CD93-49AB-B1B0-FFF9AE51ED6A} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6}
{56329D48-D382-4850-93DE-59C453894E8A} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6}
{5B7CA5BD-AEE8-40EE-85B0-0CAADD19B43A} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6}
+ {232046EE-C7B3-42CD-9EED-8E3A35097C42} = {B2C7855A-2878-47FD-AD32-9A83DB4AB8C6}
EndGlobalSection
EndGlobal
<OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
<DefineConstants>DESIGN_MODE</DefineConstants>
+ <ReleaseVersion>0.8.0</ReleaseVersion>
</PropertyGroup>
+++ /dev/null
-<Project Sdk="Microsoft.NET.Sdk">
-
- <PropertyGroup>
- <TargetFramework>netcoreapp2.0</TargetFramework>
-
- <OutputType>Exe</OutputType>
- <RootNamespace>Crow.Coding</RootNamespace>
- <AssemblyName>CrowIDE</AssemblyName>
- <StartupObject>Crow.Coding.CrowIDE</StartupObject>
-
- <OutputPath>$(SolutionDir)build/$(Configuration)</OutputPath>
- <IntermediateOutputPath>$(SolutionDir)build/obj/$(Configuration)</IntermediateOutputPath>
-
- <EnableDefaultItems>false</EnableDefaultItems>
- <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugType>full</DebugType>
- <DefineConstants>TRACE;NETSTANDARD2_0;DEBUG;NETCOREAPP2_0</DefineConstants>
- </PropertyGroup>
-
- <ItemGroup>
- <EmbeddedResource Remove="icons\blank-file2.svg" />
- </ItemGroup>
- <ItemGroup>
-
- <PackageReference Include="System.CodeDom" Version="4.5.0" />
-<!--<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="2.10.0" />-->
-
- <Compile Include="src\**\*.cs" Exclude="src\ProjectTree\CSProjectFile.cs" />
-
- <ProjectReference Include="..\Crow\Crow.NetStd.csproj" />
-
- <EmbeddedResource Include="icons\*.*">
- <LogicalName>icons.%(Filename)%(Extension)</LogicalName>
- </EmbeddedResource>
-
- <EmbeddedResource Include="ui\**\*.crow" />
- <EmbeddedResource Include="ui\**\*.itemp" />
-
- <EmbeddedResource Include="ui\**\*.template">
- <LogicalName>Crow.Coding.%(Filename).template</LogicalName>
- </EmbeddedResource>
-
- <EmbeddedResource Include="DefaultTemplateOverrides\*.*">
- <LogicalName>Crow.%(Filename).template</LogicalName>
- </EmbeddedResource>
-
- <EmbeddedResource Include="IDE.style" />
- </ItemGroup>
-
- <ItemGroup>
- <Folder Include="src\msbuild\" />
- </ItemGroup>
-</Project>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
- <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>8.0.30703</ProductVersion>
- <SchemaVersion>2.0</SchemaVersion>
- <ProjectGuid>{B6D911CD-1D09-42FC-B300-9187190F2AE1}</ProjectGuid>
- <OutputType>Exe</OutputType>
- <RootNamespace>CrowIDE</RootNamespace>
- <AssemblyName>CrowIDE</AssemblyName>
- <OutputPath>$(SolutionDir)build/$(Configuration)</OutputPath>
- <IntermediateOutputPath>$(SolutionDir)build/obj/$(Configuration)</IntermediateOutputPath>
- <ReleaseVersion>0.8.0</ReleaseVersion>
- <StartupObject>Crow.Coding.CrowIDE</StartupObject>
- <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <DebugSymbols>true</DebugSymbols>
- <DebugType>full</DebugType>
- <Optimize>false</Optimize>
- <DefineConstants>DEBUG;</DefineConstants>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>4</WarningLevel>
- <ConsolePause>false</ConsolePause>
- <IntermediateOutputPath>$(SolutionDir)build\obj\$(Configuration)</IntermediateOutputPath>
- <OutputPath>$(SolutionDir)build\$(Configuration)</OutputPath>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
- <DebugType>none</DebugType>
- <Optimize>true</Optimize>
- <ErrorReport>prompt</ErrorReport>
- <WarningLevel>0</WarningLevel>
- <ConsolePause>false</ConsolePause>
- <IntermediateOutputPath>$(SolutionDir)build\obj\$(Configuration)</IntermediateOutputPath>
- <OutputPath>$(SolutionDir)build\$(Configuration)</OutputPath>
- </PropertyGroup>
-
- <ItemGroup>
- <Reference Include="System" />
- <Reference Include="System.Data" />
- <Reference Include="System.Xml" />
- <Reference Include="System.Drawing" />
- </ItemGroup>
- <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
- <ItemGroup>
- <ProjectReference Include="..\Crow\Crow.csproj">
- <Project>{C2980F9B-4798-4C05-99E2-E174810F7C7B}</Project>
- <Name>Crow</Name>
- </ProjectReference>
- </ItemGroup>
- <ItemGroup>
- <Compile Include="src\**\*.cs" Exclude="src\ProjectTree\CSProjectFile.cs" />
- </ItemGroup>
- <ItemGroup>
- <Folder Include="ui\" />
- <Folder Include="src\" />
- <Folder Include="images\" />
- <Folder Include="ui\ItemTemplates\" />
- <Folder Include="src\MemberView\" />
- <Folder Include="ui\DockWindows\" />
- <Folder Include="ui\editors\" />
- <Folder Include="src\Editors\" />
- <Folder Include="src\Editors\Parsers\" />
- <Folder Include="src\Editors\CodeBuffer\" />
- <Folder Include="src\ProjectTree\" />
- <Folder Include="src\Editors\Parsers2\" />
- <Folder Include="src\ProjectTree\msbuild\" />
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Include="IDE.style" />
- <EmbeddedResource Include="icons\**\*.svg" />
-
- <EmbeddedResource Include="images\save.svg" />
- <EmbeddedResource Include="ui\MembersView.template">
- <LogicalName>Crow.Coding.MembersView.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\LQIsExplorer.crow" />
- <EmbeddedResource Include="ui\MemberView.crow" />
- <EmbeddedResource Include="ui\ProjectProperties.crow" />
- <EmbeddedResource Include="ui\TreeExpandable.template">
- <LogicalName>Crow.Coding.TreeExpandable.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\ProjectTree.template">
- <LogicalName>Crow.Coding.ProjectTree.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\CrowIDE.crow" />
- <EmbeddedResource Include="DefaultTemplateOverrides\TabItem.template">
- <LogicalName>Crow.TabItem.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="DefaultTemplateOverrides\MenuItem.template">
- <LogicalName>Crow.MenuItem.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="DefaultTemplateOverrides\ContextMenu.template">
- <LogicalName>Crow.ContextMenu.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\Options.crow" />
- <EmbeddedResource Include="ui\IcoBut.template" />
- <EmbeddedResource Include="ui\MembersItem.template">
- <LogicalName>Crow.Coding.MembersItem.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\ItemTemplates\Enum.template">
- <LogicalName>Crow.Coding.Enum.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\ItemTemplates\Fill.template">
- <LogicalName>Crow.Coding.Fill.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\DockWindows\winEditor.crow" />
- <EmbeddedResource Include="ui\DockWindows\winErrors.crow" />
- <EmbeddedResource Include="ui\DockWindows\winSolution.crow" />
- <EmbeddedResource Include="ui\DockWindows\winProperties.crow" />
- <EmbeddedResource Include="ui\DockWindows\winToolbox.crow" />
- <EmbeddedResource Include="ui\DockWindows\toolboxBut.template" />
- <EmbeddedResource Include="ui\editors\EditPane.template">
- <LogicalName>Crow.Coding.EditPane.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\editors\EditPaneItems.template">
- <LogicalName>Crow.Coding.EditPaneItems.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\editors\IMLEdit.itemp" />
- <EmbeddedResource Include="ui\editors\SourceEditor.crow" />
- <EmbeddedResource Include="ui\editors\SrcEdit.itemp" />
- <EmbeddedResource Include="ui\editors\SvgEdit.itemp" />
- <EmbeddedResource Include="ui\DockWindows\winGTExplorer.crow" />
- <EmbeddedResource Include="ui\DockWindows\GTreeExpITemp.crow" />
- <EmbeddedResource Include="ui\NewFile.crow" />
- <EmbeddedResource Include="ui\DockWindows\winSchema.crow" />
- <EmbeddedResource Include="ui\DockWindows\WinSchemaItem.template" />
- <EmbeddedResource Include="ui\editors\TextEditor.crow">
- <LogicalName>Crow.Coding.ui.TextEditor.crow</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\DockWindows\winStyleView.crow" />
- <EmbeddedResource Include="ui\CategoryExp.template">
- <LogicalName>Crow.Coding.CategoryExp.template</LogicalName>
- </EmbeddedResource>
- <EmbeddedResource Include="ui\DockWindows\winDesign.crow" />
- <EmbeddedResource Include="ui\editors\EditTabItem.template">
- <LogicalName>Crow.Coding.EditTabItem.template</LogicalName>
- </EmbeddedResource>
- </ItemGroup>
- <ItemGroup>
- <None Include="ui\test.crow">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
- </ItemGroup>
-</Project>
+++ /dev/null
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrowIDE", "CrowIDE.csproj", "{B6D911CD-1D09-42FC-B300-9187190F2AE1}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B6D911CD-1D09-42FC-B300-9187190F2AE1}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal
+++ /dev/null
-<Properties StartupConfiguration="{B6D911CD-1D09-42FC-B300-9187190F2AE1}|Default">
- <MonoDevelop.Ide.Workbench />
- <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
- <MonoDevelop.Ide.DebuggingService.Breakpoints>
- <BreakpointStore />
- </MonoDevelop.Ide.DebuggingService.Breakpoints>
- <MonoDevelop.Ide.DebuggingService.PinnedWatches>
- <Watch file="../src/GraphicObjects/Shape.cs" line="42" offsetX="508" offsetY="265" expression="c" liveUpdate="False" />
- <Watch file="../src/GraphicObjects/Shape.cs" line="48" offsetX="524" offsetY="319" expression="tmp" liveUpdate="False" />
- <Watch file="../src/GraphicObjects/Slider.cs" line="88" offsetX="534" offsetY="788" expression="value" liveUpdate="False" />
- <Watch file="src/SourceEditor/SourceEditor.cs" line="632" offsetX="703" offsetY="8806" expression="cl.Tokens [t]" liveUpdate="False" />
- <Watch file="src/SourceEditor/CSharpParser.cs" line="202" offsetX="590" offsetY="1493" expression="currentTok" liveUpdate="False" />
- <Watch file="src/SourceEditor/Parser.cs" line="258" offsetX="328" offsetY="3348" expression="tmp" liveUpdate="False" />
- <Watch file="src/SourceEditor/SourceEditor.cs" line="629" offsetX="835" offsetY="9513" expression="lineIndex" liveUpdate="False" />
- <Watch file="src/SourceEditor/BufferParser.cs" line="90" offsetX="544" offsetY="972" expression="SyntacticTreeMaxDepth" liveUpdate="False" />
- </MonoDevelop.Ide.DebuggingService.PinnedWatches>
- <MultiItemStartupConfigurations />
- <MonoDevelop.Ide.ItemProperties.CrowIDE PreferredExecutionTarget="MonoDevelop.Default" />
-</Properties>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<MenuItem MinimumSize="20,20" Height="Fit" Width="160" Caption="Context Menu" Data="{ContextCommands}" Orientation="Vertical"
- IsOpened ="true" Visible="{/IsOpened}" SelectionBackground="Transparent">
- <Template>
- <Border Background="DimGrey" Foreground="Black" CornerRadius="2">
- <GenericStack Orientation="{./Orientation}" Name="ItemsContainer" Margin="2"/>
- </Border>
- </Template>
- <ItemTemplate>
- <MenuItem Command="{}" Width="150" PopWidth="120" SelectionBackground="Transparent" IsEnabled="{CanExecute}">
- <Template>
- <Popper Font="{./Font}" Caption="{./Caption}" Background="{./Background}" PopDirection="{./PopDirection}"
- Foreground = "{./Foreground}" CanPop="{./HasChildren}" MouseDown="./onMI_Click"
- IsPopped="{²./IsOpened}" PopWidth="{./PopWidth}" PopHeight="{./PopHeight}">
- <Template>
- <Border Name="border1"
- CornerRadius="0"
- MouseEnter="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
- MouseLeave="{Foreground=Transparent}"
- MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
- MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
- MinimumSize = "60,0"
- Foreground="Transparent"
- Background="{./Background}">
- <HorizontalStack Spacing="5">
- <Image Height="14" Width="14" Picture="{Icon}" />
- <Label Text="{./Caption}"
- Foreground="{./Foreground}"
- Margin="1" HorizontalAlignment="Left"
- Font="{./Font}" />
- </HorizontalStack>
- </Border>
- </Template>
- <Border Foreground="DimGrey" Width="{../PopWidth}" Height="{../PopHeight}" Background="DimGrey">
- <VerticalStack Name="ItemsContainer"/>
- </Border>
- </Popper>
- </Template>
- </MenuItem>
- </ItemTemplate>
-</MenuItem>
-
+++ /dev/null
-<?xml version="1.0"?>
-<Popper Font="{./Font}" Caption="{./Caption}" Background="{./Background}" PopDirection="{./PopDirection}"
- Foreground = "{./Foreground}" CanPop="{./HasChildren}"
- IsPopped="{²./IsOpened}" PopWidth="{./PopWidth}" PopHeight="{./PopHeight}" IsEnabled="{./IsEnabled}">
- <Template>
- <CheckBox IsChecked="{²./IsPopped}" Caption="{./Caption}" Background="{./Background}" Foreground="{./Foreground}">
- <Template>
- <Border Name="border1" ForwardMouseEvents="true"
- MouseEnter="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
- MouseLeave="{Foreground=Transparent}"
- MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
- MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
- MinimumSize = "40,0"
- Foreground="Transparent"
- Background="{./Background}">
- <HorizontalStack HorizontalAlignment="Left" Margin="1">
- <Image Width="10" Height="10" Picture="{../../../../../Icon}"/>
- <Label Text="{./Caption}"
- Foreground="{./Foreground}"
- Font="{./Font}" />
- </HorizontalStack>
- </Border>
- </Template>
- </CheckBox>
- </Template>
- <Border Foreground="DimGrey" Width="{../PopWidth}" Height="{../PopHeight}" Background="Jet">
- <VerticalStack Name="ItemsContainer"/>
- </Border>
-</Popper>
+++ /dev/null
-<?xml version="1.0"?>
-<GenericStack Orientation="Vertical" Spacing="0"
- MouseEnter="{caption.Foreground=White}"
- MouseLeave="{caption.Foreground=Grey}">
- <HorizontalStack Margin="2" Left="{./TabOffset}"
- Name="TabTitle"
- HorizontalAlignment="Left"
- Height="{./TabHeight}"
- Width="{./TabWidth}">
- <Label Name="caption" Text="{./Caption}" Foreground="Grey" Width="Stretched"/>
- <Border CornerRadius="5" BorderWidth="1" Foreground="Transparent" Height="12" Width="12"
- MouseEnter="{Foreground=White}" MouseLeave="{Foreground=Transparent}">
- <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched" Path="#Crow.Icons.exit2.svg"
- MouseClick="./butCloseTabClick"/>
- </Border>
- </HorizontalStack>
- <Container Name="Content"/>
-</GenericStack>
-
+++ /dev/null
-Label {
- Foreground="Black";
-}
-icon {
- Width="14";
- Height="14";
-}
-MemberViewLabel {
- Margin="1";
- Height="Fit";
- Width="50%";
- Background="White";
-}
-MemberViewHStack {
- Focusable="true";
- Height="Fit";
- Spacing="1";
- MouseEnter="{Background=SteelBlue}";
- MouseLeave="{Background=Transparent}";
-}
-
-IcoBut {
- Template = "#Crow.Coding.IcoBut.template";
- MinimumSize = "10,10";
- Width = "8";
- Height = "14";
- Background = "Black";
-}
-
-WinSchema {
- Template="#Crow.Coding.ui.DockWindows.WinSchemaItem.template";
- Focusable = "true";
- MinimumSize="150,50";
- Width = "Fit";
- Height = "Fit";
-}
-TabItem {
- AllowDrag="false";
- Background="Grey";
- SelectedBackground="0.9,0.9,0.91,1.0";
- Foreground="Black";
-}
-TreeItemBorder {
- CornerRadius="2";
- Margin="0";
- //Focusable="true";
- Height="Fit";
- Width="Stretched";
- Foreground="Transparent";
- MouseEnter="{Foreground=DimGrey}";
- MouseLeave="{Foreground=Transparent}";
-}
-TreeIcon {
- Margin="0";
- Width="14";
- Height="14";
-}
-Splitter {
- Thickness="1";
- Background="RoyalBlue";
-}
-DockWindow {
- Background="0.98,0.98,0.99,0.9";
-}
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
- width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
-<g>
- <polygon fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="63,63 1,63 1,1 51,1 63,13 "/>
-</g>
-<rect x="7" y="31" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="50" height="32"/>
-<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="39" x2="50" y2="39"/>
-<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="47" x2="50" y2="47"/>
-<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="55" x2="50" y2="55"/>
-<rect x="15" y="1" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="34" height="19"/>
-<rect x="38" y="5" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="5" height="11"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14.9 1.1c-1.4-1.4-3.7-1.4-5.1 0l-4.4 4.3c-1.4 1.5-1.4 3.7 0 5.2 0.1 0.1 0.3 0.2 0.4 0.3l1.5-1.5c-0.1-0.1-0.3-0.2-0.4-0.3-0.6-0.6-0.6-1.6 0-2.2l4.4-4.4c0.6-0.6 1.6-0.6 2.2 0s0.6 1.6 0 2.2l-1.3 1.3c0.4 0.8 0.5 1.7 0.4 2.5l2.3-2.3c1.5-1.4 1.5-3.7 0-5.1z"></path>
-<path fill="#dddddd" d="M10.2 5.1l-1.5 1.5c0 0 0.3 0.2 0.4 0.3 0.6 0.6 0.6 1.6 0 2.2l-4.4 4.4c-0.6 0.6-1.6 0.6-2.2 0s-0.6-1.6 0-2.2l1.3-1.3c-0.4-0.8-0.1-1.3-0.4-2.5l-2.3 2.3c-1.4 1.4-1.4 3.7 0 5.1s3.7 1.4 5.1 0l4.4-4.4c1.4-1.4 1.4-3.7 0-5.1-0.2-0.1-0.4-0.3-0.4-0.3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#ffffff" d="M 10,0 H 2 V 16 H 14 V 4 Z"/>
-<path fill="#444444" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"/>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M5 0h6v3h-6v-3z"></path>
-<path fill="#FFFFFF" d="M1 4h14v3h-14v-3z"></path>
-<path fill="#FFFFFF" d="M3 8h10v3h-10v-3z"></path>
-<path fill="#FFFFFF" d="M0 12h16v3h-16v-3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M15.2 6l-1.1-0.2c-0.1-0.2-0.1-0.4-0.2-0.6l0.6-0.9 0.5-0.7-2.6-2.6-0.7 0.5-0.9 0.6c-0.2-0.1-0.4-0.1-0.6-0.2l-0.2-1.1-0.2-0.8h-3.6l-0.2 0.8-0.2 1.1c-0.2 0.1-0.4 0.1-0.6 0.2l-0.9-0.6-0.7-0.4-2.5 2.5 0.5 0.7 0.6 0.9c-0.2 0.2-0.2 0.4-0.3 0.6l-1.1 0.2-0.8 0.2v3.6l0.8 0.2 1.1 0.2c0.1 0.2 0.1 0.4 0.2 0.6l-0.6 0.9-0.5 0.7 2.6 2.6 0.7-0.5 0.9-0.6c0.2 0.1 0.4 0.1 0.6 0.2l0.2 1.1 0.2 0.8h3.6l0.2-0.8 0.2-1.1c0.2-0.1 0.4-0.1 0.6-0.2l0.9 0.6 0.7 0.5 2.6-2.6-0.5-0.7-0.6-0.9c0.1-0.2 0.2-0.4 0.2-0.6l1.1-0.2 0.8-0.2v-3.6l-0.8-0.2zM15 9l-1.7 0.3c-0.1 0.5-0.3 1-0.6 1.5l0.9 1.4-1.4 1.4-1.4-0.9c-0.5 0.3-1 0.5-1.5 0.6l-0.3 1.7h-2l-0.3-1.7c-0.5-0.1-1-0.3-1.5-0.6l-1.4 0.9-1.4-1.4 0.9-1.4c-0.3-0.5-0.5-1-0.6-1.5l-1.7-0.3v-2l1.7-0.3c0.1-0.5 0.3-1 0.6-1.5l-1-1.4 1.4-1.4 1.4 0.9c0.5-0.3 1-0.5 1.5-0.6l0.4-1.7h2l0.3 1.7c0.5 0.1 1 0.3 1.5 0.6l1.4-0.9 1.4 1.4-0.9 1.4c0.3 0.5 0.5 1 0.6 1.5l1.7 0.3v2z"></path>
-<path fill="#FFFFFF" d="M8 4.5c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5c0-1.9-1.6-3.5-3.5-3.5zM8 10.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M12 7v-2l-1.2-0.4c-0.1-0.3-0.2-0.7-0.4-1l0.6-1.2-1.5-1.3-1.1 0.5c-0.3-0.2-0.6-0.3-1-0.4l-0.4-1.2h-2l-0.4 1.2c-0.3 0.1-0.7 0.2-1 0.4l-1.1-0.5-1.4 1.4 0.6 1.2c-0.2 0.3-0.3 0.6-0.4 1l-1.3 0.3v2l1.2 0.4c0.1 0.3 0.2 0.7 0.4 1l-0.5 1.1 1.4 1.4 1.2-0.6c0.3 0.2 0.6 0.3 1 0.4l0.3 1.3h2l0.4-1.2c0.3-0.1 0.7-0.2 1-0.4l1.2 0.6 1.4-1.4-0.6-1.2c0.2-0.3 0.3-0.6 0.4-1l1.2-0.4zM3 6c0-1.7 1.3-3 3-3s3 1.3 3 3c0 1.7-1.3 3-3 3s-3-1.3-3-3z"></path>
-<path fill="#FFFFFF" d="M7.5 6c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
-<path fill="#FFFFFF" d="M16 3v-1h-0.6c0-0.2-0.1-0.4-0.2-0.5l0.4-0.4-0.7-0.7-0.4 0.4c-0.2-0.1-0.3-0.2-0.5-0.2v-0.6h-1v0.6c-0.2 0-0.4 0.1-0.5 0.2l-0.4-0.4-0.7 0.7 0.4 0.4c-0.1 0.2-0.2 0.3-0.2 0.5h-0.6v1h0.6c0 0.2 0.1 0.4 0.2 0.5l-0.4 0.4 0.7 0.7 0.4-0.4c0.2 0.1 0.3 0.2 0.5 0.2v0.6h1v-0.6c0.2 0 0.4-0.1 0.5-0.2l0.4 0.4 0.7-0.7-0.4-0.4c0.1-0.2 0.2-0.3 0.2-0.5h0.6zM13.5 3.5c-0.6 0-1-0.4-1-1s0.4-1 1-1 1 0.4 1 1c0 0.6-0.4 1-1 1z"></path>
-<path fill="#FFFFFF" d="M15.4 11.8c-0.1-0.3-0.2-0.6-0.4-0.9l0.3-0.6-0.7-0.7-0.5 0.4c-0.3-0.2-0.6-0.3-0.9-0.4l-0.2-0.6h-1l-0.2 0.6c-0.3 0.1-0.6 0.2-0.9 0.4l-0.6-0.3-0.7 0.7 0.3 0.6c-0.2 0.3-0.3 0.6-0.4 0.9l-0.5 0.1v1l0.6 0.2c0.1 0.3 0.2 0.6 0.4 0.9l-0.3 0.6 0.7 0.7 0.6-0.3c0.3 0.2 0.6 0.3 0.9 0.4l0.1 0.5h1l0.2-0.6c0.3-0.1 0.6-0.2 0.9-0.4l0.6 0.3 0.7-0.7-0.4-0.5c0.2-0.3 0.3-0.6 0.4-0.9l0.6-0.2v-1l-0.6-0.2zM12.5 14c-0.8 0-1.5-0.7-1.5-1.5s0.7-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M13 3h-3l-3-3h-7v13h6v3h10v-10l-3-3zM7 1l2 2h-2v-2zM1 12v-11h5v3h3v8h-8zM15 15h-8v-2h3v-9h2v3h3v8zM13 6v-2l2 2h-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0"?>
-<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
-
- <g class="layer">
- <title>Layer 1</title>
- <path d="m10,0l-8,0l0,16l12,0l0,-12l-4,-4z" fill="#ffffff" id="svg_1"/>
- <path d="m10,0l-8,0l0,16l12,0l0,-12l-4,-4zm-1,5l4,0l0,10l-10,0l0,-14l6,0l0,4zm1,-1l0,-3l3,3l-3,0z" fill="#444444" id="svg_2"/>
- <text fill="#007f00" font-family="Monospace" font-size="16" font-style="normal" font-weight="bold" id="svg_4" stroke="#000000" stroke-width="0" text-anchor="middle" transform="matrix(0.69828, 0, 0, 0.877654, 0.704781, 2.22646)" x="7.714503" xml:space="preserve" y="12.444685">c</text>
- <text fill="#007f00" font-family="Monospace" font-size="7" font-style="normal" font-weight="bold" id="svg_5" stroke="#000000" stroke-width="0" text-anchor="middle" transform="matrix(0.999951, 0, 0, 0.975655, -2.14552, 0.0604767)" x="12.987902" xml:space="preserve" y="11.031572">#</text>
- </g>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M2.1 3.1c0.2 1.3 0.4 1.6 0.4 2.9 0 0.8-1.5 1.5-1.5 1.5v1c0 0 1.5 0.7 1.5 1.5 0 1.3-0.2 1.6-0.4 2.9-0.3 2.1 0.8 3.1 1.8 3.1s2.1 0 2.1 0v-2c0 0-1.8 0.2-1.8-1 0-0.9 0.2-0.9 0.4-2.9 0.1-0.9-0.5-1.6-1.1-2.1 0.6-0.5 1.2-1.1 1.1-2-0.3-2-0.4-2-0.4-2.9 0-1.2 1.8-1.1 1.8-1.1v-2c0 0-1 0-2.1 0s-2.1 1-1.8 3.1z"></path>
-<path fill="#dddddd" d="M13.9 3.1c-0.2 1.3-0.4 1.6-0.4 2.9 0 0.8 1.5 1.5 1.5 1.5v1c0 0-1.5 0.7-1.5 1.5 0 1.3 0.2 1.6 0.4 2.9 0.3 2.1-0.8 3.1-1.8 3.1s-2.1 0-2.1 0v-2c0 0 1.8 0.2 1.8-1 0-0.9-0.2-0.9-0.4-2.9-0.1-0.9 0.5-1.6 1.1-2.1-0.6-0.5-1.2-1.1-1.1-2 0.2-2 0.4-2 0.4-2.9 0-1.2-1.8-1.1-1.8-1.1v-2c0 0 1 0 2.1 0s2.1 1 1.8 3.1z"></path>
-</svg>
+++ /dev/null
-<svg xmlns="http://www.w3.org/2000/svg" width="1120px" height="670px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1120 670" preserveAspectRatio="xMidYMid meet" ><rect id="svgEditorBackground" x="0" y="0" width="1120" height="670" style="fill: none; stroke: none;"/><line id="e1_line" x1="432" y1="118" x2="291" y2="273" style="stroke:black;fill:none;stroke-width:1px;"/><line id="e2_line" x1="291" y1="270" x2="397" y2="402" style="stroke:black;fill:none;stroke-width:1px;"/><polyline style="stroke:black;fill:none;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round;" id="e3_polyline" points="685,138 683,138 596,275 694,413"/></svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M16 4c0 0 0-1-1-2s-1.9-1-1.9-1l-1.1 1.1v-2.1h-12v16h12v-8l4-4zM6.3 11.4l-0.6-0.6 0.3-1.1 1.5 1.5-1.2 0.2zM7.2 9.5l-0.6-0.6 5.2-5.2c0.2 0.1 0.4 0.3 0.6 0.5zM14.1 2.5l-0.9 1c-0.2-0.2-0.4-0.3-0.6-0.5l0.9-0.9c0.1 0.1 0.3 0.2 0.6 0.4zM11 15h-10v-14h10v2.1l-5.9 5.9-1.1 4.1 4.1-1.1 2.9-3v6z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8.1 14l6.4-7.2c0.6-0.7 0.6-1.8-0.1-2.5l-2.7-2.7c-0.3-0.4-0.8-0.6-1.3-0.6h-1.8c-0.5 0-1 0.2-1.4 0.6l-6.7 7.6c-0.6 0.7-0.6 1.9 0.1 2.5l2.7 2.7c0.3 0.4 0.8 0.6 1.3 0.6h11.4v-1h-7.9zM6.8 13.9c0 0 0-0.1 0 0l-2.7-2.7c-0.4-0.4-0.4-0.9 0-1.3l3.4-3.9h-1l-3 3.3c-0.6 0.7-0.6 1.7 0.1 2.4l2.3 2.3h-1.3c-0.2 0-0.4-0.1-0.6-0.2l-2.8-2.8c-0.3-0.3-0.3-0.8 0-1.1l3.5-3.9h1.8l3.5-4h1l-3.5 4 3.1 3.7-3.5 4c-0.1 0.1-0.2 0.1-0.3 0.2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M5.3 6.7l1.4-1.4-3-3 1.3-1.3h-4v4l1.3-1.3z"></path>
-<path fill="#dddddd" d="M6.7 10.7l-1.4-1.4-3 3-1.3-1.3v4h4l-1.3-1.3z"></path>
-<path fill="#dddddd" d="M10.7 9.3l-1.4 1.4 3 3-1.3 1.3h4v-4l-1.3 1.3z"></path>
-<path fill="#dddddd" d="M11 1l1.3 1.3-3 3 1.4 1.4 3-3 1.3 1.3v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
-<path fill="#FFFFFF" d="M6.2 13h-0.7l-2-2.5 2-2.5h0.7l-2 2.5z"></path>
-<path fill="#FFFFFF" d="M9.8 13h0.7l2-2.5-2-2.5h-0.7l2 2.5z"></path>
-<path fill="#FFFFFF" d="M6.7 14h0.6l2.1-7h-0.8z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M9 5h5v11h-12v-16h7v5zM10 4v-4l4 4h-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
-<path fill="#FFFFFF" d="M5 7v2h2v5h2v-5h2v-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M11.7 1.9c-1-1.2-2.6-1.9-4.2-1.9s-3.2 0.7-4.2 1.9c-1 1.1-1.4 2.6-1.2 4 0.2 1.5 0.8 2.6 2.1 3.7 0.5 0.4 0.7 0.8 0.9 1.2 0 0.1 0.1 0.2 0.1 0.3-0.1 0.1-0.2 0.2-0.2 0.4 0 0.3 0.2 0.5 0.5 0.5-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5c-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5c-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5h0.5c0 0.5 0.7 1 1.5 1s1.5-0.5 1.5-1h0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5 0-0.2-0.1-0.3-0.2-0.4 0-0.1 0.1-0.1 0.1-0.2 0.2-0.4 0.4-0.8 0.9-1.2 1.3-1.1 1.9-2.2 2.1-3.8 0.2-1.4-0.2-2.8-1.2-4zM12 5.8c-0.2 1.3-0.7 2.2-1.8 3.2-0.6 0.5-0.9 1-1.2 1.4-0.2 0.5-0.3 0.6-0.5 0.6h-2c-0.2 0-0.3-0.1-0.5-0.6-0.2-0.4-0.5-1-1.1-1.6-1.3-1.1-1.6-2-1.8-3-0.2-1.1 0.2-2.3 0.9-3.2 0.9-1 2.2-1.6 3.5-1.6s2.6 0.6 3.5 1.6c0.7 0.9 1.1 2.1 1 3.2z"></path>
-<path fill="#FFFFFF" d="M11 5h-1c0-0.7-0.8-2-2-2v-1c1.8 0 3 1.8 3 3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 5h3v1h-3v-1z"></path>
-<path fill="#dddddd" d="M5 0h1v3h-1v-3z"></path>
-<path fill="#dddddd" d="M6 11h-1v-2.5l1 1z"></path>
-<path fill="#dddddd" d="M11 6h-1.5l-1-1h2.5z"></path>
-<path fill="#dddddd" d="M3.131 7.161l0.707 0.707-2.97 2.97-0.707-0.707 2.97-2.97z"></path>
-<path fill="#dddddd" d="M10.131 0.161l0.707 0.707-2.97 2.97-0.707-0.707 2.97-2.97z"></path>
-<path fill="#dddddd" d="M0.836 0.199l3.465 3.465-0.707 0.707-3.465-3.465 0.707-0.707z"></path>
-<path fill="#dddddd" d="M6.1 4.1l-2.1 2 9.8 9.9 2.2-2.1-9.9-9.8zM6.1 5.5l2.4 2.5-0.6 0.6-2.5-2.5 0.7-0.6z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M11 0h5v4h-5v-4z"></path>
-<path fill="#dddddd" d="M11 5v3c0 1.6-1.4 3-3 3s-3-1.4-3-3v-3h-5v3c0 4.4 3.6 8 8 8s8-3.6 8-8v-3h-5z"></path>
-<path fill="#dddddd" d="M0 0h5v4h-5v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 8l-3-3v2h-4v-4h2l-3-3-3 3h2v4h-4v-2l-3 3 3 3v-2h4v4h-2l3 3 3-3h-2v-4h4v2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14 6v-2h-7l-1-2h-4l-1 2h-1v11h14l2-9h-2zM14.9 7l-1.6 7-11.9-0.1 2.3-6.9h11.2zM1 5h0.6l1-2h2.6l1.2 2h6.6v1h-10l-2 5.9v-6.9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M6 5v6h4v-6h2l-4-5-4 5z"></path>
-<path fill="#FFFFFF" d="M13 2h-2l0.9 1h0.4l2.6 8h-3.9v2h-6v-2h-3.9l2.6-8h0.4l0.9-1h-2l-3 9v5h16v-5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M5.6 11.6l-1.2-1.2c-0.8-0.2-2-0.1-2.7 1-0.8 1.1-0.3 2.8-1.7 4.6 0 0 3.5 0 4.8-1.3 1.2-1.2 1.2-2.2 1-3l-0.2-0.1z"></path>
-<path fill="#dddddd" d="M5.8 8.1c-0.2 0.3-0.5 0.7-0.7 1 0 0.2-0.1 0.3-0.2 0.4l1.5 1.5c0.1-0.1 0.3-0.2 0.4-0.3 0.3-0.2 0.7-0.4 1-0.7 0.4 0 0.6-0.2 0.8-0.4l-2.2-2.2c-0.2 0.2-0.4 0.4-0.6 0.7z"></path>
-<path fill="#dddddd" d="M15.8 0.2c-0.3-0.3-0.7-0.3-1-0.1 0 0-3 2.5-5.9 5.1-0.4 0.4-0.7 0.7-1.1 1-0.2 0.2-0.4 0.4-0.6 0.5l2.1 2.1c0.2-0.2 0.4-0.4 0.5-0.7 0.3-0.4 0.6-0.7 0.9-1.1 2.5-3 5.1-5.9 5.1-5.9 0.3-0.2 0.3-0.6 0-0.9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 7.1c0-2.7-1.3-7.1-7.3-7.1s-8.5 7.4-7.5 9.9c0.8 1.9 2.5 0.1 3.1 1 1.8 2.5-2 3.8 0.1 4.7 2.5 1.1 11.6 0.4 11.6-8.5zM4.5 9c-0.9 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5zM6 3.5c0-0.8 0.6-1.5 1.5-1.5s1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5-1.5-0.7-1.5-1.5zM8.5 14c-0.9 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5zM11 4.5c0-0.8 0.6-1.5 1.5-1.5s1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5-1.5-0.7-1.5-1.5zM12.5 11c-0.8 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M5.5 0c-2.5 0-4.5 2-4.5 4.5s2 4.5 4.5 4.5h2.5v7h2v-14h1v14h2v-14h2v-2h-9.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M13 4h-3v-4h-10v14h6v2h10v-9l-3-3zM3 1h4v1h-4v-1zM15 15h-8v-10h5v3h3v7zM13 7v-2l2 2h-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M11 6.5v-5.5h1v-1h-8v1h1v5.5c0 0-2 1.5-2 3.5 0 0.5 1.9 0.7 4 0.7v2.2c0 0.7 0.2 1.4 0.5 2.1l0.5 1 0.5-1c0.3-0.6 0.5-1.3 0.5-2.1v-2.2c2.1 0 4-0.3 4-0.7 0-2-2-3.5-2-3.5zM7 6.6c0 0-0.5 0.3-1.6 1.4-1 1-1.5 1.9-1.5 1.9s0.1-1 0.8-1.9c0.9-1.1 1.3-1.4 1.3-1.4v-5.6h1v5.6z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M0 7.9l6-4.9v3c0 0 1.1 0 2 0 8 0 8 8 8 8s-1-4-7.8-4c-1.1 0-1.8 0-2.2 0v2.9l-6-5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M9 11h-3c0-3 1.6-4 2.7-4.6 0.4-0.2 0.7-0.4 0.9-0.6 0.5-0.5 0.3-1.2 0.2-1.4-0.3-0.7-1-1.4-2.3-1.4-2.1 0-2.5 1.9-2.5 2.3l-3-0.4c0.2-1.7 1.7-4.9 5.5-4.9 2.3 0 4.3 1.3 5.1 3.2 0.7 1.7 0.4 3.5-0.8 4.7-0.5 0.5-1.1 0.8-1.6 1.1-0.9 0.5-1.2 1-1.2 2z"></path>
-<path fill="#FFFFFF" d="M9.5 14c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 7.9l-6-4.9v3c-0.5 0-1.1 0-2 0-8 0-8 8-8 8s1-4 7.8-4c1.1 0 1.8 0 2.2 0v2.9l6-5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M16 8c0-5-4.9-5-4.9-5h-5.1v-3l-6 6 6 6v-3h5.2c3.5 0 1.8 7 1.8 7s3-4.1 3-8z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M10 6v-6h-4v6h-2l4 5 4-5z"></path>
-<path fill="#FFFFFF" d="M13 1h-2v1h1.3l2.6 8h-3.9v2h-6v-2h-3.9l2.6-8h1.3v-1h-2l-3 9v5h16v-5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M16 3.1c0 0-2.1-1.1-3.5-1-0.3 0-0.5 0.1-0.7 0.2l-4.3 3.4-1.8-1.5c0.1-0.3 0.2-0.6 0.3-1 0.1-1.8-1.4-3.4-3.3-3.2-1.2 0.1-2.3 1-2.6 2.2-0.3 1.3 0.2 2.5 1.2 3.2l3.3 2.6-3.3 2.6c-1 0.7-1.5 1.9-1.2 3.2 0.3 1.2 1.4 2 2.6 2.2 1.9 0.2 3.4-1.4 3.2-3.2 0-0.3-0.1-0.7-0.3-1l1.8-1.5 4.3 3.4c0.2 0.1 0.4 0.2 0.7 0.2 1.4 0.1 3.5-1 3.5-1l-5.7-4.9 5.8-4.9zM2.8 4.6c-0.9-0.1-1.6-0.9-1.5-1.8s0.9-1.6 1.8-1.5c0.9 0.1 1.6 0.9 1.5 1.8 0 0.9-0.9 1.6-1.8 1.5zM3.1 14.7c-0.9 0.1-1.7-0.6-1.8-1.5s0.6-1.7 1.5-1.8c0.9-0.1 1.7 0.6 1.8 1.5s-0.6 1.7-1.5 1.8zM12.4 3.2c0 0 0.1 0 0.2 0 0.4 0 0.9 0.1 1.4 0.2l-6.8 5.7-0.9-1.1 6.1-4.8zM14 12.6c-0.5 0.2-1 0.3-1.4 0.2-0.1 0-0.2 0-0.2 0l-4-3.2 1-0.9 4.6 3.9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M10 3h-5.1c0 0-4.9 0-4.9 5 0 3.9 3 8 3 8s-1.7-7 1.8-7h5.2v3l6-6-6-6v3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M9 4v-3h-9v14h9v-3h-1v2h-7v-12h7v2z"></path>
-<path fill="#FFFFFF" d="M16 8l-5-4v2h-5v4h5v2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
-<path fill="#FFFFFF" d="M4 7h8v1h-8v-1z"></path>
-<path fill="#FFFFFF" d="M4 9h8v1h-8v-1z"></path>
-<path fill="#FFFFFF" d="M4 11h8v1h-8v-1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M12.5 4.9c-1.4 0-2.5 0.8-2.6 0.9l1.2 1.6c0 0 0.7-0.5 1.4-0.5 1.4 0 1.5 1.2 1.5 1.6-0.4-0.1-1.1-0.3-2-0.1-1.4 0.3-2.8 2-2.1 3.9 0.7 1.8 3.1 2.1 4.1 0.6v1h2v-5.3c0-2.7-1.9-3.7-3.5-3.7zM11.5 11.4c-0.1-1.9 1.5-1.9 2.5-1.8v1c0 1.2-2.3 2.3-2.5 0.8z"></path>
-<path fill="#FFFFFF" d="M6.9 14h2.1l-3.2-12h-2.7l-3.1 12h2.1l1-4h2.7l1.1 4zM3.6 8l0.8-3.2 0.9 3.2h-1.7z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14 2v-2h-14v14h2v2h14v-14h-2zM13 13h-12v-12h12v12z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15.7 5.3l-1-1c-0.2-0.2-0.4-0.3-0.7-0.3h-13c-0.6 0-1 0.4-1 1v5c0 0.3 0.1 0.6 0.3 0.7l1 1c0.2 0.2 0.4 0.3 0.7 0.3h13c0.6 0 1-0.4 1-1v-5c0-0.3-0.1-0.5-0.3-0.7zM14 10h-13v-5h13v5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M13 0.9l-1 1.1h-12v14h14v-10.5l1.7-2-2.7-2.6zM6.5 11.7l-4.2-4.2 1.4-1.4 2.7 2.7 6.6-6.6 1.4 1.4-7.9 8.1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15 1c-1.8-1.8-3.7-0.7-4.6 0.1-0.4 0.4-0.7 0.9-0.7 1.5v0c0 1.1-1.1 1.8-2.1 1.5l-0.1-0.1-0.7 0.8 0.7 0.7-6 6-0.8 2.3-0.7 0.7 1.5 1.5 0.8-0.8 2.3-0.8 6-6 0.7 0.7 0.7-0.6-0.1-0.2c-0.3-1 0.4-2.1 1.5-2.1v0c0.6 0 1.1-0.2 1.4-0.6 0.9-0.9 2-2.8 0.2-4.6zM3.9 13.6l-2 0.7-0.2 0.1 0.1-0.2 0.7-2 5.8-5.8 1.5 1.5-5.9 5.7z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15 4h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6c0-0.6-0.4-1-1-1zM10 11h-9v-6h9v6zM13 8.4l-2-1.4h4l-2 1.4z"></path>
-<path fill="#dddddd" d="M2 6h1v4h-1v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15 1h-14v14h14v-14zM14 14h-12v-12h12v12z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14 6v-2h-7l-1-2h-4l-1 2h-1v11h14l2-9h-2zM14.9 7l-1.6 7-11.9-0.1 2.3-6.9h11.2zM1 5h0.6l1-2h2.6l1.2 2h6.6v1h-10l-2 5.9v-6.9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 2v13h15v-13h-15zM13 3h1v1h-1v-1zM7 14h-6v-9h6v9zM14 14h-6v-9h6v9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15 4h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6c0-0.6-0.4-1-1-1zM12 9l-2-2h4l-2 2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M11 2h-6v4h6v-4zM9 4h-2v-1h2v1z"></path>
-<path fill="#dddddd" d="M3 0v16h2v-1h6v1h2v-16h-10zM12 14h-8v-6h8v6zM12 7h-8v-6h8v6z"></path>
-<path fill="#dddddd" d="M11 9h-6v4h6v-4zM9 11h-2v-1h2v1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 0v16h16v-16h-16zM5 15h-4v-4h4v4zM5 10h-4v-4h4v4zM5 5h-4v-4h4v4zM10 15h-4v-4h4v4zM10 10h-4v-4h4v4zM10 5h-4v-4h4v4zM15 15h-4v-4h4v4zM15 10h-4v-4h4v4zM15 5h-4v-4h4v4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 7h7v-7h-7v7zM1 1h5v5h-5v-5z"></path>
-<path fill="#dddddd" d="M9 0v7h7v-7h-7zM15 6h-5v-5h5v5z"></path>
-<path fill="#dddddd" d="M0 16h7v-7h-7v7zM1 10h5v5h-5v-5z"></path>
-<path fill="#dddddd" d="M9 16h7v-7h-7v7zM10 10h5v5h-5v-5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M1 4h-1v-4h4v1h-3z"></path>
-<path fill="#dddddd" d="M12 1v-1h4v4h-1v-3z"></path>
-<path fill="#dddddd" d="M15 12h1v4h-4v-1h3z"></path>
-<path fill="#dddddd" d="M4 15v1h-4v-4h1v3z"></path>
-<path fill="#dddddd" d="M13 3v10h-10v-10h10zM14 2h-12v12h12v-12z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 0v16h16v-16h-16zM5 15h-4v-14h4v14zM10 15h-4v-14h4v14zM15 15h-4v-14h4v14z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M5.2 14l4.5-12h1.1l-4.5 12z"></path>
-<path fill="#dddddd" d="M11.1 13h1.2l3.7-5-3.7-5h-1.3l3.8 5z"></path>
-<path fill="#dddddd" d="M4.9 13h-1.2l-3.7-5 3.7-5h1.3l-3.8 5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 14h-16v-12h16v12zM1 13h14v-10h-14v10z"></path>
-<path fill="#dddddd" d="M2 10v2h12v-1c0 0 0.2-1.7-2-2-1.9-0.3-2.2 0.6-3.8 0.6-1.1 0-0.9-1.6-3.2-1.6-1.7 0-3 2-3 2z"></path>
-<path fill="#dddddd" d="M13 6c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M12.5 4.9c-1.4 0-2.5 0.8-2.6 0.9l1.2 1.6c0 0 0.7-0.5 1.4-0.5 1.4 0 1.5 1.2 1.5 1.6-0.4-0.1-1.1-0.3-2-0.1-1.4 0.3-2.8 2-2.1 3.9 0.7 1.8 3.1 2.1 4.1 0.6v1h2v-5.3c0-2.7-1.9-3.7-3.5-3.7zM11.5 11.4c-0.1-1.9 1.5-1.9 2.5-1.8v1c0 1.2-2.3 2.3-2.5 0.8z"></path>
-<path fill="#dddddd" d="M6.9 14h2.1l-3.2-12h-2.7l-3.1 12h2.1l1-4h2.7l1.1 4zM3.6 8l0.8-3.2 0.9 3.2h-1.7z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 1h3v3h-3v-3z"></path>
-<path fill="#dddddd" d="M0 6h3v3h-3v-3z"></path>
-<path fill="#dddddd" d="M0 11h3v3h-3v-3z"></path>
-<path fill="#dddddd" d="M5 1h11v3h-11v-3z"></path>
-<path fill="#dddddd" d="M5 6h11v3h-11v-3z"></path>
-<path fill="#dddddd" d="M5 11h11v3h-11v-3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15 2v2h-9v-2h9zM16 1h-11v4h11v-4z"></path>
-<path fill="#dddddd" d="M0 1h4v4h-4v-4z"></path>
-<path fill="#dddddd" d="M15 7v2h-9v-2h9zM16 6h-11v4h11v-4z"></path>
-<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
-<path fill="#dddddd" d="M15 12v2h-9v-2h9zM16 11h-11v4h11v-4z"></path>
-<path fill="#dddddd" d="M0 11h4v4h-4v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15 7v2h-9v-2h9zM16 6h-11v4h11v-4z"></path>
-<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
-<path fill="#dddddd" d="M7 6h2v7h-2v-7z"></path>
-<path fill="#dddddd" d="M7 3h2v2h-2v-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 5v6h16v-6h-16zM15 10h-14v-4h14v4z"></path>
-<path fill="#dddddd" d="M2 7h7v2h-7v-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 4c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"></path>
-<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M2 2h1v4h-1v-4z"></path>
-<path fill="#dddddd" d="M1 0c-0.6 0-1 0.4-1 1v14c0 0.6 0.4 1 1 1h15v-16h-15zM13 15h-12v-14h12v14zM15 15v0h-1v-1h1v1zM15 13h-1v-10h1v10zM15 2h-1v-1h1v1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 0v16h16v-16h-16zM15 15h-14v-6h3v1l3-2-3-2v1h-3v-6h6v3h-1l2 3 2-3h-1v-3h6v14z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 0l-8 8 8 8 8-8-8-8zM2 8l6-6 6 6-6 6-6-6z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 6h-3.6c-0.7-1.2-2-2-3.4-2s-2.8 0.8-3.4 2h-5.6v4h5.6c0.7 1.2 2 2 3.4 2s2.8-0.8 3.4-2h3.6v-4zM1 9v-2h4.1c0 0.3-0.1 0.7-0.1 1s0.1 0.7 0.1 1h-4.1zM9 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c0 1.7-1.3 3-3 3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M11 7h-6l3-4z"></path>
-<path fill="#dddddd" d="M5 9h6l-3 4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M7 0h2v16h-2v-16z"></path>
-<path fill="#dddddd" d="M3 5l-3 3 3 3v-2h3v-2h-3z"></path>
-<path fill="#dddddd" d="M16 8l-3-3v2h-3v2h3v2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M7 4l-1-2h-4l-1 2h-1v11h16v-11h-9zM15 14h-14v-9h0.6l1-2h2.6l1.2 2h8.6v9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14 4v-2h-14v13h16v-11h-2zM10 3h3v1h-3v-1zM6 3h3v1h-3v-1zM15 14h-14v-11h4v2h10v9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 0l-8 2v10l8 4 8-4v-10l-8-2zM14.4 2.6l-5.9 2.2-6.6-2.2 6.1-1.6 6.4 1.6zM1 11.4v-8.1l7 2.4v9.2l-7-3.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M11 6.6v0-3.8l-4-1.8-4 1.8v4.2l-3 1.3v4.4l4 1.8 3.5-1.5 3.5 1.6 4-1.8v-4.5l-4-1.7zM7 2.1l2.8 1.2-2.7 1.1-2.6-1.2 2.5-1.1zM7 5v2.9l-3-1.3v-3l3 1.4zM4 13.5l-3-1.3v-3l3 1.4v2.9zM4 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1zM11 13.5l-3-1.3v-3l3 1.4v2.9zM11 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 5c0-0.6-0.4-1-1-1h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6zM15 11h-14v-6h14v6z"></path>
-<path fill="#dddddd" d="M2 6h1v4h-1v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 10v-4h-11v1h-2v-3h9v-4h-12v4h2v10h3v2h11v-4h-11v1h-2v-5h2v2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M16 0h-16v16h16v-16zM1 5v-4h14v4h-14zM1 10v-4h14v4h-14zM1 15v-4h14v4h-14z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 4v11h16v-14h-16v3zM14 2h1v1h-1v-1zM1 4h14v10h-14v-10z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
-<path fill="#dddddd" d="M6 6h4v4h-4v-4z"></path>
-<path fill="#dddddd" d="M12 6h4v4h-4v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 15h15v1h-15v-1z"></path>
-<path fill="#dddddd" d="M0 11h3v3h-3v-3z"></path>
-<path fill="#dddddd" d="M4 9h3v5h-3v-5z"></path>
-<path fill="#dddddd" d="M8 5h3v9h-3v-9z"></path>
-<path fill="#dddddd" d="M12 0h3v14h-3v-14z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 1h16v3h-16v-3z"></path>
-<path fill="#dddddd" d="M0 6h16v3h-16v-3z"></path>
-<path fill="#dddddd" d="M0 11h16v3h-16v-3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 2.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
-<path fill="#dddddd" d="M0 7.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
-<path fill="#dddddd" d="M0 12.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
-<path fill="#dddddd" d="M5 1h11v3h-11v-3z"></path>
-<path fill="#dddddd" d="M5 6h11v3h-11v-3z"></path>
-<path fill="#dddddd" d="M5 11h11v3h-11v-3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14 1v3h-3v-3h-6v3h-3v-3h-2v15h16v-15h-2zM3 15h-2v-2h2v2zM3 12h-2v-2h2v2zM3 9h-2v-2h2v2zM6 15h-2v-2h2v2zM6 12h-2v-2h2v2zM6 9h-2v-2h2v2zM9 15h-2v-2h2v2zM9 12h-2v-2h2v2zM9 9h-2v-2h2v2zM12 15h-2v-2h2v2zM12 12h-2v-2h2v2zM12 9h-2v-2h2v2zM15 15h-2v-2h2v2zM15 12h-2v-2h2v2zM15 9h-2v-2h2v2z"></path>
-<path fill="#dddddd" d="M3 0h1v3h-1v-3z"></path>
-<path fill="#dddddd" d="M12 0h1v3h-1v-3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14 6.2v7.8h-12v-12h10.5l1-1h-12.5v14h14v-9.8z"></path>
-<path fill="#dddddd" d="M7.9 10.9l-4.2-4.2 1.5-1.4 2.7 2.8 6.7-6.7 1.4 1.4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14 2.5c0 0.828-2.686 1.5-6 1.5s-6-0.672-6-1.5c0-0.828 2.686-1.5 6-1.5s6 0.672 6 1.5z"></path>
-<path fill="#dddddd" d="M8 5c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
-<path fill="#dddddd" d="M8 9c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
-<path fill="#dddddd" d="M8 13c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M6 0h4v4h-4v-4z"></path>
-<path fill="#dddddd" d="M6 6h4v4h-4v-4z"></path>
-<path fill="#dddddd" d="M6 12h4v4h-4v-4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
-<path fill="#dddddd" d="M7 3h2v7h-2v-7z"></path>
-<path fill="#dddddd" d="M7 11h2v2h-2v-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM9 13h-2v-2h2v2zM9 10h-2v-7h2v7z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
-<path fill="#dddddd" d="M6.2 13h-0.7l-2-2.5 2-2.5h0.7l-2 2.5z"></path>
-<path fill="#dddddd" d="M9.8 13h0.7l2-2.5-2-2.5h-0.7l2 2.5z"></path>
-<path fill="#dddddd" d="M6.7 14h0.6l2.1-7h-0.8z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M12.6 4c-0.2 0-0.4 0-0.6 0 0-0.2-0.2-0.6-0.4-0.8s-0.5-0.4-1.1-0.4c-0.2 0-0.4 0-0.6 0.1-0.1-0.2-0.2-0.3-0.3-0.5-0.2-0.2-0.5-0.4-1.1-0.4-0.8 0-1.2 0.5-1.4 1-0.1 0-0.3-0.1-0.5-0.1-0.5 0-0.8 0.2-1.1 0.4-0.5 0.6-0.5 1.4-0.5 1.5v0.4c-0.6 0-1.1 0.2-1.4 0.5-0.6 0.7-0.6 1.6-0.6 2.8 0 0.2 0 0.5 0 0.7 0 1.4 0.7 2.1 1.4 2.8l0.3 0.4c1.3 1.2 2.5 1.6 5.1 1.6 2.9 0 4.2-1.6 4.2-5.1v-2.5c0-0.7-0.2-2.1-1.4-2.4zM10.5 3.8c0.4 0 0.5 0.4 0.5 0.6v0.8c0 0.3 0.2 0.5 0.4 0.5 0.3 0 0.5-0.1 0.5-0.4 0 0 0-0.4 0.4-0.3 0.6 0.2 0.7 1.1 0.7 1.3 0 0 0 0 0 0v2.6c0 3.4-1.3 4.1-3.2 4.1-2.4 0-3.3-0.3-4.3-1.3-0.1-0.1-0.2-0.2-0.4-0.4-0.7-0.7-1.1-1.1-1.1-2.1 0-0.2 0-0.3 0-0.6 0-1 0-1.8 0.3-2.1 0.1-0.2 0.4-0.3 0.7-0.3v0.8l-0.3 1.2c0 0.1 0 0.1 0.1 0.1 0.1 0.1 0.2 0 0.2 0l1-1.2c0 0 0-0.1 0-0.1v-2c0-0.1 0-0.6 0.2-0.8 0.1-0.1 0.2-0.2 0.4-0.2 0.3 0 0.4 0.2 0.4 0.4v0.4c0 0.2 0.2 0.5 0.5 0.5s0.5-0.3 0.5-0.5v-1.3c0-0.1 0-0.5 0.5-0.5 0.3 0 0.5 0.2 0.5 0.5v1.2c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-0.5c0-0.3 0.2-0.5 0.5-0.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M13 1h-10l-2.7 8h15.4z"></path>
-<path fill="#dddddd" d="M0 10v5h16v-5h-16zM3 13h-1v-1h1v1zM7 13h-3v-1h3v1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M15 6v-2h-2.6l0.6-2.8-2-0.4-0.7 3.2h-3l0.7-2.8-2-0.4-0.7 3.2h-3.3v2h2.9l-0.9 4h-3v2h2.6l-0.6 2.8 2 0.4 0.7-3.2h3l-0.7 2.8 2 0.4 0.7-3.2h3.3v-2h-2.9l0.9-4h3zM9 10h-3l1-4h3l-1 4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M7 5h3v11h-3v-11z"></path>
-<path fill="#dddddd" d="M10.5 2c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 0v16h16v-16h-16zM1 3h4v12h-4v-12zM15 15h-9v-12h9v12z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 1h3v2h-3v-2z"></path>
-<path fill="#dddddd" d="M0 5h3v2h-3v-2z"></path>
-<path fill="#dddddd" d="M0 9h3v2h-3v-2z"></path>
-<path fill="#dddddd" d="M0 13h3v2h-3v-2z"></path>
-<path fill="#dddddd" d="M4 1h12v2h-12v-2z"></path>
-<path fill="#dddddd" d="M4 5h12v2h-12v-2z"></path>
-<path fill="#dddddd" d="M4 9h12v2h-12v-2z"></path>
-<path fill="#dddddd" d="M4 13h12v2h-12v-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M4 0h12v4h-12v-4z"></path>
-<path fill="#dddddd" d="M4 6h12v4h-12v-4z"></path>
-<path fill="#dddddd" d="M4 12h12v4h-12v-4z"></path>
-<path fill="#dddddd" d="M1 0l-0.9 0.5 0.2 0.7 0.7-0.3v3.1h1v-4z"></path>
-<path fill="#dddddd" d="M2.2 13.9c0.3-0.2 0.5-0.5 0.5-0.8 0-0.5-0.4-1-1.3-1-0.5 0-1 0.1-1.2 0.3h-0.1l0.2 0.8 0.1-0.1c0.1-0.1 0.4-0.2 0.7-0.2s0.4 0.1 0.4 0.3c0 0.4-0.5 0.4-0.6 0.4h-0.4v0.7h0.4c0.3 0 0.6 0.1 0.6 0.4 0 0.2-0.2 0.4-0.6 0.4s-0.7-0.2-0.8-0.2l-0.1-0.1v0.9h0.1c0.2 0.2 0.6 0.3 1.1 0.3 1 0 1.6-0.5 1.6-1.2 0-0.4-0.2-0.8-0.6-0.9z"></path>
-<path fill="#dddddd" d="M0.1 6.4l0.3 1c0 0 0.7-0.6 1.2-0.3 1.1 0.8-1.6 2.4-1.6 2.4v0.5h3v-1h-1.2c0.6-0.5 1.2-1.2 1-1.9-0.5-1.9-2.7-0.7-2.7-0.7z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 4v11h16v-14h-16v3zM14 2h1v1h-1v-1zM1 4h14v10h-14v-10z"></path>
-<path fill="#dddddd" d="M3 6h2v1h-2v-1z"></path>
-<path fill="#dddddd" d="M6 6h7v1h-7v-1z"></path>
-<path fill="#dddddd" d="M3 8h2v1h-2v-1z"></path>
-<path fill="#dddddd" d="M6 8h7v1h-7v-1z"></path>
-<path fill="#dddddd" d="M3 10h2v1h-2v-1z"></path>
-<path fill="#dddddd" d="M6 10h7v1h-7v-1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M5 3.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
-<path fill="#dddddd" d="M3.5 0c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5-1.6-3.5-3.5-3.5zM3.5 6c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
-<path fill="#dddddd" d="M3.5 8c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5c0-1.9-1.6-3.5-3.5-3.5zM3.5 14c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
-<path fill="#dddddd" d="M8 2h8v3h-8v-3z"></path>
-<path fill="#dddddd" d="M8 10h8v3h-8v-3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 0l-8 2v10l8 4 8-4v-10l-8-2zM8 1l2.1 0.5-5.9 1.9-2.3-0.8 6.1-1.6zM8 14.9l-7-3.5v-8.1l3 1v3.4l1 0.3v-3.3l3 1v9.2zM8.5 4.8l-2.7-0.9 6.2-1.9 2.4 0.6-5.9 2.2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 0v16h16v-16h-16zM15 3h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v1z"></path>
-<path fill="#dddddd" d="M3 2h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M4 3h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M6 3h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M5 2h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M7 2h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M9 2h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M8 3h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M10 3h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M12 3h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M11 2h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M13 2h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M12 5h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M13 4h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M12 7h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M13 6h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M12 9h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M13 8h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M12 11h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M13 10h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M12 13h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M13 12h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M2 3h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M3 4h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M2 5h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M3 6h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M2 7h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M3 8h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M2 9h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M3 10h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M2 11h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M2 13h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M3 12h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M4 11h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M4 13h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M5 12h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M6 13h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M7 12h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M9 12h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M8 13h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M11 12h1v1h-1v-1z"></path>
-<path fill="#dddddd" d="M10 13h1v1h-1v-1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
-<path fill="#dddddd" d="M4 11.5v2.5h8v-1.7c0 0 0.1-1.3-1.3-1.5-1.3-0.2-1.5 0.4-2.5 0.5-0.8 0-0.6-1.3-2.2-1.3-1.2 0-2 1.5-2 1.5z"></path>
-<path fill="#dddddd" d="M12 8.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M11.6 5c-0.2 0-0.5 0-0.6 0 0-0.2-0.2-0.6-0.4-0.8s-0.6-0.4-1.1-0.4c-0.2 0-0.4 0-0.6 0.1-0.1-0.2-0.2-0.3-0.3-0.5-0.2-0.2-0.5-0.4-1.1-0.4-0.2 0-0.4 0-0.5 0.1v-1.7c0-0.6-0.4-1.4-1.4-1.4-0.4 0-0.8 0.2-1.1 0.4-0.5 0.6-0.5 1.4-0.5 1.4v4.3c-0.6 0.1-1.1 0.3-1.4 0.6-0.6 0.7-0.6 1.6-0.6 2.8 0 0.2 0 0.5 0 0.7 0 1.4 0.7 2.1 1.4 2.8l0.3 0.4c1.3 1.2 2.4 1.6 5.1 1.6 2.9 0 4.2-1.6 4.2-5.1v-2.5c0-0.7-0.2-2.1-1.4-2.4zM12 7.4v2.6c0 3.4-1.3 4.1-3.2 4.1-2.4 0-3.3-0.3-4.3-1.3-0.1-0.1-0.2-0.2-0.4-0.4-0.7-0.8-1.1-1.2-1.1-2.2 0-0.2 0-0.5 0-0.7 0-1 0-1.7 0.3-2.1 0.1-0.1 0.4-0.2 0.7-0.2v0.5l-0.3 1.5c0 0.1 0 0.1 0.1 0.2s0.2 0 0.2 0l1-1.2c0-0.1 0-0.2 0-0.2v-6.2c0-0.1 0-0.5 0.2-0.7 0.1 0 0.2-0.1 0.4-0.1 0.3 0 0.4 0.3 0.4 0.4v3.1c0 0 0 0 0 0v1.2c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-1.3c0 0 0 0 0 0 0-0.1 0.1-0.5 0.5-0.5 0.3 0 0.5 0.1 0.5 0.4v1.3c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-0.7c0-0.1 0.1-0.3 0.5-0.3 0.2 0 0.3 0.1 0.3 0.1 0.2 0.1 0.2 0.4 0.2 0.4v0.8c0 0.3 0.2 0.5 0.4 0.5 0.3 0 0.5-0.1 0.5-0.4 0-0.1 0.1-0.2 0.2-0.3 0 0 0.1 0 0.2 0 0.6 0.2 0.7 1.2 0.7 1.5 0-0.1 0-0.1 0 0z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M14.9 0.9c-1.1-1-2.5-1.3-3.1-0.4-0.7 1.1 0.5 1.7-0.3 2.5-0.5 0.6-2-0.8-2-0.8l-0.8-0.8-1.4 1.4c-0.6 0.7-2.1 1.5-2.6 1.1-0.7-0.6 0.1-1.8-0.5-2.6-0.7-1-2.1-0.8-3 0.3-1 1.1-1.4 2.4-0.5 3 1.1 0.7 1.9-0.3 2.7 0.5 0.4 0.4-0.2 1.7-0.5 2.1l-2.3 2.3 6.5 6.5 1.7-1.7c0.7-0.7 1.5-2 1.1-2.4-0.6-0.7-1.7 0.1-2.5-0.4-1-0.7-0.8-2 0.3-3s2.5-1.3 3.1-0.4c0.7 1.1-0.4 1.8 0.4 2.6 0.4 0.4 1.6-0.2 2-0.6l2.1-2.1-1.1-1.1c-0.6-0.6-1.9-2-1.4-2.5 0.6-0.7 1.7 0.2 2.5-0.4 0.9-0.8 0.6-2.1-0.4-3.1z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM13 15h-10v-14h6v4h4v10zM10 4v-3l3 3h-3z"></path>
-<path fill="#dddddd" d="M4.7 7.7l-0.7-0.7v3h3l-1.2-1.2c0.4-0.8 1.3-1.3 2.2-1.3 1.4 0 2.5 1.1 2.5 2.5h1.5c0-2.2-1.8-4-4-4-1.3 0-2.5 0.7-3.3 1.7z"></path>
-<path fill="#dddddd" d="M9.8 11.8c-0.5 0.5-1.1 0.8-1.8 0.7-1 0-1.9-0.6-2.3-1.5h-1.6c0.4 1.7 2 3 3.8 3 1.1 0 2.1-0.5 2.8-1.2l1.3 1.2v-3h-3l0.8 0.8z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M7 0h2v3h-2v-3z"></path>
-<path fill="#dddddd" d="M6 4v3h1v9h2v-9h1v-3z"></path>
-<path fill="#dddddd" d="M2 0h2v8h-2v-8z"></path>
-<path fill="#dddddd" d="M1 9v3h1v4h2v-4h1v-3z"></path>
-<path fill="#dddddd" d="M12 0h2v10h-2v-10z"></path>
-<path fill="#dddddd" d="M11 11v3h1v2h2v-2h1v-3z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 15h15v-13h-15v13zM13 3h1v1h-1v-1zM14 14h-13v-4h13v4zM14 9h-13v-4h13v4z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 1v15h16v-15h-16zM5 15h-4v-2h4v2zM5 12h-4v-2h4v2zM5 9h-4v-2h4v2zM5 6h-4v-2h4v2zM10 15h-4v-2h4v2zM10 12h-4v-2h4v2zM10 9h-4v-2h4v2zM10 6h-4v-2h4v2zM15 15h-4v-2h4v2zM15 12h-4v-2h4v2zM15 9h-4v-2h4v2zM15 6h-4v-2h4v2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M6 0h10v4h-10v-4z"></path>
-<path fill="#dddddd" d="M6 6h10v4h-10v-4z"></path>
-<path fill="#dddddd" d="M6 12h10v4h-10v-4z"></path>
-<path fill="#dddddd" d="M3 1v2h-2v-2h2zM4 0h-4v4h4v-4z"></path>
-<path fill="#dddddd" d="M3 13v2h-2v-2h2zM4 12h-4v4h4v-4z"></path>
-<path fill="#dddddd" d="M5.3 5.9l-0.6-0.8-0.9 0.9h-3.8v4h4v-2.8l1.3-1.3zM2.7 7l-0.7 0.7-0.8-0.7h1.5zM1 8.2l0.9 0.8h-0.9v-0.8zM3 9h-0.9l0.9-0.9v0.9z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M8 1l-8 14h16l-8-14zM8 13c-0.6 0-1-0.4-1-1s0.4-1 1-1 1 0.4 1 1c0 0.6-0.4 1-1 1zM7 10v-4h2v4h-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M10.3 8.2l-0.9 0.9 0.9 0.9-1.2 1.2 4.3 4.3c0.6 0.6 1.5 0.6 2.1 0s0.6-1.5 0-2.1l-5.2-5.2zM14.2 15c-0.4 0-0.8-0.3-0.8-0.8 0-0.4 0.3-0.8 0.8-0.8s0.8 0.3 0.8 0.8c0 0.5-0.3 0.8-0.8 0.8z"></path>
-<path fill="#FFFFFF" d="M3.6 8l0.9-0.6 1.5-1.7 0.9 0.9 0.9-0.9-0.1-0.1c0.2-0.5 0.3-1 0.3-1.6 0-2.2-1.8-4-4-4-0.6 0-1.1 0.1-1.6 0.3l2.9 2.9-2.1 2.1-2.9-2.9c-0.2 0.5-0.3 1-0.3 1.6 0 2.1 1.6 3.7 3.6 4z"></path>
-<path fill="#FFFFFF" d="M8 10.8l0.9-0.8-0.9-0.9 5.7-5.7 1.2-0.4 1.1-2.2-0.7-0.7-2.3 1-0.5 1.2-5.6 5.7-0.9-0.9-0.8 0.9c0 0 0.8 0.6-0.1 1.5-0.5 0.5-1.3-0.1-2.8 1.4-0.5 0.5-2.1 2.1-2.1 2.1s-0.6 1 0.6 2.2 2.2 0.6 2.2 0.6 1.6-1.6 2.1-2.1c1.4-1.4 0.9-2.3 1.3-2.7 0.9-0.9 1.6-0.2 1.6-0.2zM4.9 10.4l0.7 0.7-3.8 3.8-0.7-0.7z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M2 5v1h1v9c0 0 1.1 1 4.5 1s4.5-1 4.5-1v-9h1v-1h-11zM6 14h-1v-7h1v7zM8 14h-1v-7h1v7zM10 14h-1v-7h1v7z"></path>
-<path fill="#dddddd" d="M12 3c0 0 0-0.5-2-0.8v-0.7c0-0.8-0.7-1.5-1.5-1.5h-2c-0.8 0-1.5 0.7-1.5 1.5v0.7c-1.6 0.3-2 0.8-2 0.8h-1v1h11v-1h-1zM6 1.5c0-0.3 0.2-0.5 0.5-0.5h2c0.2 0 0.5 0.2 0.5 0.5v0.6c0-0.1-0.9-0.1-1.5-0.1s-1.1 0-1.5 0.1v-0.6z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#dddddd" d="M0 7.9l6-4.9v3c0 0 1.1 0 2 0 8 0 8 8 8 8s-1-4-7.8-4c-1.1 0-1.8 0-2.2 0v2.9l-6-5z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#ffffff" d="M 10,0 H 2 V 16 H 14 V 4 Z"/>
-<path fill="#444444" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"/>
-<text x="3" y="12" fill="darkorange" font-stretch="condensed" font-family="mono" font-size="6px" font-weight="bold"></></text>
-</svg>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
-<path fill="#FFFFFF" d="M7 3h-2v2h-2v2h2v2h2v-2h2v-2h-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generated by IcoMoon.io -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
-<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
-<path fill="#FFFFFF" d="M3 5h6v2h-6v-2z"></path>
-</svg>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.0" width="128" height="128" id="svg2">
- <defs id="defs5">
- <linearGradient id="linearGradient28132">
- <stop id="stop28134" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop28136" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient28077">
- <stop id="stop28079" style="stop-color:#7a7a7a;stop-opacity:1" offset="0"/>
- <stop id="stop28081" style="stop-color:#000000;stop-opacity:0.4909091" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient28069">
- <stop id="stop28071" style="stop-color:#868385;stop-opacity:1" offset="0"/>
- <stop id="stop28073" style="stop-color:#4a4949;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient28059">
- <stop id="stop28061" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop28063" style="stop-color:#000000;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient28049">
- <stop id="stop28051" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop28053" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient27983">
- <stop id="stop27985" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop27987" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient27973">
- <stop id="stop27975" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop27977" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient27933">
- <stop id="stop27935" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop27937" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient17395">
- <stop id="stop17397" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop17399" style="stop-color:#ffffff;stop-opacity:0.80000001" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient17383">
- <stop id="stop17385" style="stop-color:#202020;stop-opacity:1" offset="0"/>
- <stop id="stop17387" style="stop-color:#202020;stop-opacity:0.76363635" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3275">
- <stop id="stop3277" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop3279" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3215">
- <stop id="stop3217" style="stop-color:#8a8a8a;stop-opacity:1" offset="0"/>
- <stop id="stop3219" style="stop-color:#c6c6c6;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3136">
- <stop id="stop3138" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3140" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3088">
- <stop id="stop3090" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3092" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3033">
- <stop id="stop3035" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3037" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3706">
- <stop id="stop3708" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop3710" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3577">
- <stop id="stop3579" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop3581" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3468">
- <stop id="stop3470" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3472" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3446">
- <stop id="stop3448" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3451" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3111">
- <stop id="stop3113" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3603" style="stop-color:#ffffff;stop-opacity:0.69818181" offset="0.5"/>
- <stop id="stop3115" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3077">
- <stop id="stop3079" style="stop-color:#d0ced9;stop-opacity:1" offset="0"/>
- <stop id="stop3087" style="stop-color:#ecf1f9;stop-opacity:1" offset="0.25"/>
- <stop id="stop3085" style="stop-color:#ffffff;stop-opacity:1" offset="0.5"/>
- <stop id="stop3081" style="stop-color:#c6d5e3;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3317">
- <stop id="stop3319" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop3321" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3174">
- <stop id="stop3176" style="stop-color:#2e2a2b;stop-opacity:1" offset="0"/>
- <stop id="stop3182" style="stop-color:#4c494a;stop-opacity:1" offset="0.33497536"/>
- <stop id="stop3214" style="stop-color:#5b595a;stop-opacity:1" offset="0.66748768"/>
- <stop id="stop3178" style="stop-color:#6b696a;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient x1="-97.742668" y1="1937.9885" x2="-97.742668" y2="1895.421" id="linearGradient3250" xlink:href="#linearGradient3174" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,317.24891,-4887.3657)"/>
- <filter id="filter3444" height="2.5930088" y="-0.79650438" width="1.1419513" x="-0.070975639">
- <feGaussianBlur id="feGaussianBlur3446" stdDeviation="2.9868914" inkscape:collect="always"/>
- </filter>
- <clipPath id="clipPath3008">
- <rect width="78.12355" height="55.395592" rx="1.133948" ry="1.133948" x="24.680513" y="-68.245476" id="rect3010" style="opacity:0.265625;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.39999992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- </clipPath>
- <radialGradient cx="100.30548" cy="42.449028" r="38" fx="100.30548" fy="42.449028" id="radialGradient3083" xlink:href="#linearGradient3077" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.5705286,7.2649243e-7,-2.9846211e-7,1.8569392,-416.60853,-84.720552)"/>
- <filter id="filter3105">
- <feGaussianBlur id="feGaussianBlur3107" stdDeviation="0.66759571" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="64.801826" cy="63.781319" r="34.041004" fx="64.801826" fy="63.781319" id="radialGradient3117" xlink:href="#linearGradient3111" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1398365,0,0,1.0706638e-2,-9.061664,63.098436)"/>
- <clipPath id="clipPath3215">
- <path d="M 11.375,-167.68125 C 8.4215521,-167.68125 8,-167.31718 8,-164.3375 L 8,-163.55625 C 8,-166.53593 8.4215521,-166.86875 11.375,-166.86875 L 116.625,-166.86875 C 119.57845,-166.86875 120,-166.53593 120,-163.55625 L 120,-164.3375 C 120,-167.31718 119.57845,-167.68125 116.625,-167.68125 L 11.375,-167.68125 z" id="path3217" style="opacity:1;fill:url(#linearGradient3219);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
- </clipPath>
- <linearGradient x1="-98.926186" y1="1892.9656" x2="-98.926186" y2="1897.0332" id="linearGradient3219" xlink:href="#linearGradient3317" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,317.24891,-5063.043)"/>
- <filter height="1.4537807" y="-0.22689034" width="1.0142819" x="-0.0071409685" id="filter3371">
- <feGaussianBlur id="feGaussianBlur3373" stdDeviation="0.33324519" inkscape:collect="always"/>
- </filter>
- <filter id="filter3417">
- <feGaussianBlur id="feGaussianBlur3419" stdDeviation="0.11145486" inkscape:collect="always"/>
- </filter>
- <linearGradient x1="69.913269" y1="-96.5" x2="70.020454" y2="-67.843079" id="linearGradient3453" xlink:href="#linearGradient3446" gradientUnits="userSpaceOnUse" gradientTransform="translate(5.89968e-2,131.40729)"/>
- <linearGradient x1="107.06239" y1="-26.262714" x2="107.06239" y2="134.55173" id="linearGradient3474" xlink:href="#linearGradient3468" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.4,0.6)"/>
- <filter height="1.3748291" y="-0.1874145" width="1.0467155" x="-0.023357728" id="filter3565">
- <feGaussianBlur id="feGaussianBlur3567" stdDeviation="1.0149838" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="28.481363" cy="164.13387" r="52.144646" fx="28.481363" fy="164.13387" id="radialGradient3583" xlink:href="#linearGradient3577" gradientUnits="userSpaceOnUse" gradientTransform="matrix(5.4915792,-0.1150427,2.6103208e-3,0.1246041,-128.35474,104.82482)"/>
- <filter height="1.2405112" y="-0.12025558" width="1.1380129" x="-0.069006473" id="filter3659">
- <feGaussianBlur id="feGaussianBlur3661" stdDeviation="1.9228365" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="64.801826" cy="63.781319" r="34.041004" fx="64.801826" fy="63.781319" id="radialGradient3692" xlink:href="#linearGradient3111" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0552043,0,0,2.2032141e-2,0.5328457,76.944704)"/>
- <radialGradient cx="84" cy="91.983192" r="32" fx="84" fy="91.983192" id="radialGradient3704" xlink:href="#linearGradient3468" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6210279,0,37.87587)"/>
- <linearGradient x1="47.608696" y1="104.35009" x2="47.608696" y2="176.35008" id="linearGradient3712" xlink:href="#linearGradient3706" gradientUnits="userSpaceOnUse"/>
- <filter height="2.2481999" y="-0.62409997" width="1.0121166" x="-0.0060582431" id="filter3726">
- <feGaussianBlur id="feGaussianBlur3728" stdDeviation="0.18955201" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="118.16644" cy="9.119606" r="1.284445" fx="118.16644" fy="9.119606" id="radialGradient3039" xlink:href="#linearGradient3033" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.2088257,0.9583181,-1.4021168,1.7686352,-11.9962,-120.41039)"/>
- <filter id="filter3077">
- <feGaussianBlur id="feGaussianBlur3079" stdDeviation="0.10453397" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="118.16644" cy="9.119606" r="1.284445" fx="118.16644" fy="9.119606" id="radialGradient3084" xlink:href="#linearGradient3033" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.2088257,0.9583181,-1.4021168,1.7686352,-11.0962,-120.71039)"/>
- <radialGradient cx="104.09375" cy="9" r="0.46875" fx="104.09375" fy="9" id="radialGradient3094" xlink:href="#linearGradient3088" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.8,-0.4640388,1.9104855)"/>
- <filter id="filter3120">
- <feGaussianBlur id="feGaussianBlur3122" stdDeviation="0.025961538" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="104.09375" cy="9" r="0.46875" fx="104.09375" fy="9" id="radialGradient3126" xlink:href="#linearGradient3088" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.8,-80.464039,1.9104855)"/>
- <linearGradient x1="-37.195274" y1="42.336197" x2="-12.625" y2="106.7981" id="linearGradient3142" xlink:href="#linearGradient3136" gradientUnits="userSpaceOnUse" gradientTransform="translate(126.8,0)"/>
- <filter id="filter3192">
- <feGaussianBlur id="feGaussianBlur3194" stdDeviation="0.0231875" inkscape:collect="always"/>
- </filter>
- <clipPath id="clipPath3199">
- <path d="M 18.189713,132.42089 C 16.770505,132.42089 15.627213,133.56419 15.627213,134.98339 L 15.627213,172.16667 L 87.627215,172.16667 L 87.627215,134.98339 C 87.627215,133.56419 86.483925,132.42089 85.064715,132.42089 L 18.189713,132.42089 z" id="path3201" style="fill:#000000;fill-opacity:0.12831858;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- </clipPath>
- <linearGradient x1="64" y1="120.0697" x2="56" y2="96.315643" id="linearGradient3221" xlink:href="#linearGradient3215" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0103538,0,-1.3128784)"/>
- <filter height="1.1857692" y="-0.092884615" width="1.2476923" x="-0.12384615" id="filter3271">
- <feGaussianBlur id="feGaussianBlur3273" stdDeviation="1.2384615" inkscape:collect="always"/>
- </filter>
- <linearGradient x1="68" y1="120" x2="36" y2="84" id="linearGradient3281" xlink:href="#linearGradient3275" gradientUnits="userSpaceOnUse"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17389" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.04831,98.650809)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17391" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.86565,81.869097)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17393" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.65627,76.131701)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17401" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.35341,75.348463)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17403" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.98917,83.339266)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17405" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.98299,64.593236)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17927" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.06714,86.432831)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17929" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.83916,54.919294)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17931" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.88342,62.800233)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17933" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.71623,79.165529)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17935" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.84517,54.21146)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17937" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.53241,97.806917)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17939" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.24534,81.048567)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17941" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70361,55.279303)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17943" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.6284,97.067631)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17945" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.34854,61.711899)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17947" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.66265,52.483914)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17949" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.59014,59.510188)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17951" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.46624,60.173404)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17953" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.87629,58.336657)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17955" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.58009,67.154481)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17957" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.73496,62.400106)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17959" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.35161,73.551175)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17961" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.89594,66.58864)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17963" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.13384,84.814934)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17965" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.91271,77.941165)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17967" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.20449,51.17675)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17969" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.06524,69.064619)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17971" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.52359,92.856996)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17973" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.43503,94.662593)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17975" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.85757,64.997276)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17977" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.75931,67.251671)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17979" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.65593,78.369252)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17981" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.62706,51.493137)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17983" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.93824,68.322369)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17985" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.53268,55.235233)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17987" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.21066,71.47352)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17989" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.5919,56.467526)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17991" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.71564,74.930868)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17993" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.4736,53.559868)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17995" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.55832,61.067038)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17997" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.31207,66.681291)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17999" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.10403,67.750684)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18001" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.33468,72.447586)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18003" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26012,87.91266)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18005" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.40056,82.048109)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18007" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.0213,62.520599)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18009" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.36835,56.244802)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18011" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.08718,57.926553)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18013" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.79114,57.080862)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18015" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.03918,48.584498)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18017" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.6183,63.700535)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18019" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.93757,95.476082)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18021" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.02547,77.574321)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18023" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.21364,48.418007)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18025" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.70823,82.23261)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18027" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.15255,92.772183)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18029" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.65169,79.498937)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18031" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.49456,78.16038)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18033" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.67608,84.861682)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18035" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.26899,52.027937)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18037" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.45628,86.592803)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18039" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.00836,90.316584)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18041" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.89546,82.204785)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18043" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.56485,49.076767)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18045" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.43699,83.788635)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18047" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.40557,82.936981)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18049" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.93802,93.778176)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18051" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19068,89.201266)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18053" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.13798,52.027419)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18055" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.45937,84.129612)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18057" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.56245,48.654412)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18059" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.63529,65.193646)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18061" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.98125,77.181558)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18063" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.69936,101.45983)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18065" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.28009,95.000749)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18067" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.7688,89.934128)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18069" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.73667,49.776232)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18071" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.71492,87.099601)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18073" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.40761,55.73509)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18075" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.59256,76.129457)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18077" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.50428,70.646216)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18079" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.1711,87.719524)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18081" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.57429,74.288249)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18083" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.27965,65.898402)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18085" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.29621,93.400413)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18087" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.27056,70.316108)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18089" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.20777,48.563152)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18091" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.39529,83.572253)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18093" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81164,57.257035)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18095" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.89446,53.860035)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18097" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.88926,94.901194)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18099" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.34424,94.619712)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18101" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.08388,70.672254)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18103" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.9536,55.272771)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18105" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.64822,51.584368)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18107" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.34619,56.086318)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18109" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.27079,87.813541)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18111" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.02855,64.950753)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18113" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.72777,47.537589)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18115" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.50256,86.101458)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18117" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.31555,49.887473)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18119" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.22916,94.031526)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18121" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.47311,67.000704)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18123" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.55203,62.073911)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18125" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.18659,61.00993)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18127" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.54179,61.764079)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18129" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.42695,88.75579)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18131" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.73423,88.006441)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18133" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.64361,58.908237)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18135" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.96634,55.970755)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18137" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.50462,92.061954)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18139" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.43236,57.658044)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18141" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.54487,89.80346)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18143" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.63109,94.239208)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18145" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.39712,73.965174)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18147" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.64656,71.246105)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18149" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26639,58.537091)"/>
- <clipPath id="clipPath25065">
- <path d="M -283.36245,66.003757 C -284.5397,66.003757 -285.48745,66.951507 -285.48745,68.128757 L -285.48745,105.94751 L -230.0812,105.94751 L -230.0812,68.128757 C -230.0812,66.951507 -231.02895,66.003757 -232.2062,66.003757 L -283.36245,66.003757 z M -277.1437,69.347507 L -263.0187,69.347507 C -262.49915,69.347507 -262.0812,69.765457 -262.0812,70.285007 L -262.0812,96.410007 C -262.0812,96.929557 -262.49915,97.347507 -263.0187,97.347507 L -277.1437,97.347507 C -277.66325,97.347507 -278.0812,96.929557 -278.0812,96.410007 L -278.0812,70.285007 C -278.0812,69.76546 -277.66325,69.347507 -277.1437,69.347507 z" id="path25067" style="opacity:1;fill:url(#linearGradient25069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- </clipPath>
- <linearGradient x1="52" y1="112" x2="52" y2="80" id="linearGradient25069" xlink:href="#linearGradient3215" gradientUnits="userSpaceOnUse" gradientTransform="translate(-318.0812,-14.652496)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25071" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.38211,96.058611)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25073" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.17339,68.78127)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25075" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.16644,100.32021)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25077" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.0724,74.753533)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25079" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.8528,53.860792)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25081" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.06483,97.785398)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25083" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.80022,50.494008)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25085" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.04164,84.576711)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25087" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.52819,76.538651)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25089" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.65959,57.539347)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25091" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.86203,66.719957)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25093" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.8179,50.386062)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25095" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.05855,74.425415)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25097" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.12915,42.23811)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25099" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.66068,93.444381)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25101" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.70143,51.859788)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25103" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.98631,53.268073)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25105" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.37167,89.887836)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25107" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.74685,64.326802)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25109" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.8959,81.54662)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25111" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.29278,47.198913)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25113" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.711,91.667267)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25115" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.69501,98.782896)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25117" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.34776,95.10665)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25119" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.74429,53.915931)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25121" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.55698,53.16276)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25123" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.95662,47.486179)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25125" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.35779,58.642553)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25127" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.23431,45.441149)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25129" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.86474,74.954131)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25131" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.10867,97.34097)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25133" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.25958,46.78729)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25135" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.81379,94.9744)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25137" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.94383,78.792993)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25139" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.57868,84.007476)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25141" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.90486,92.071216)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25143" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.00999,71.757639)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25145" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.61023,87.451829)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25147" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.28284,81.593319)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25149" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.0861,90.515961)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25151" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.78528,75.738299)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25153" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.05801,67.184614)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25155" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.88883,54.629747)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25157" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.78443,79.523126)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25159" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.08719,80.115126)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25161" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.49501,50.253965)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25163" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.25412,62.696544)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25165" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.45523,79.406263)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25167" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.41942,54.610361)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25169" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.5503,80.159362)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25171" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.74779,82.303681)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25173" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.25995,94.08089)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25175" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.0894,95.830634)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25177" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.55239,43.484478)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25179" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.02703,76.389395)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25181" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.01949,89.014582)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25183" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.5417,72.608952)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25185" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.02746,79.641932)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25187" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.10405,89.937584)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25189" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.01422,68.861646)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25191" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.34232,64.508541)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25193" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.1797,58.959427)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25195" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.06036,98.049416)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25197" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.04789,60.240488)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25199" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.66368,52.21739)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25201" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.81342,73.677919)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25203" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.27374,88.937138)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25205" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.28503,78.626899)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25207" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.77725,94.296605)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25209" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.03812,59.050813)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25211" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.04593,71.103629)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25213" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.33961,87.338103)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25215" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.90676,91.613815)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25217" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.58716,82.306123)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25219" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.97587,82.888964)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25221" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.63853,48.592378)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25223" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.17805,82.032511)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25225" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.34891,75.185611)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25227" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.37818,58.417957)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25229" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.67765,55.742352)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25231" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.4097,62.833675)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25233" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.35607,79.408455)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25235" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.7447,68.787837)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25237" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.94661,55.287673)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25239" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.17737,55.539508)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25241" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.80814,74.829959)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25243" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.23561,52.533322)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25245" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.80864,97.942226)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25247" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.04119,65.636136)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25249" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.16068,85.874483)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25251" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.2966,78.103089)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25253" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.2253,63.940556)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25255" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.24862,54.096019)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25257" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.54865,65.626587)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25259" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.0947,48.525423)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25261" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.75331,51.284339)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25263" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.13564,72.571239)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25265" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.09768,73.231703)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25267" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.70515,102.75344)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25269" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.38314,101.07037)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25271" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.05661,63.96836)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25273" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.94209,72.979553)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25275" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.86084,73.351613)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25277" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.08696,78.669612)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25279" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.46218,61.658045)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25281" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.01556,70.609094)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25283" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.60137,85.269477)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25285" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.85815,87.158859)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25287" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.93834,73.09266)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25289" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.51219,76.968198)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25291" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.62389,53.714891)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25293" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.81095,65.65574)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25295" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.1174,79.920498)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25297" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.31182,94.22334)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25299" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.82608,79.603251)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25301" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.74465,86.802406)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25303" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.19678,55.049012)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25305" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.27319,62.663747)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25307" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.00246,99.797565)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25309" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.49681,62.469135)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25311" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.01015,67.065542)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25313" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.2218,88.255847)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25315" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.62659,100.49906)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25317" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.88673,89.25093)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25319" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.76579,78.929875)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25321" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.1367,69.744078)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25323" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.16539,96.80496)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25325" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.50604,95.25611)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25327" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.0547,101.92665)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25329" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.95849,84.566088)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25331" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.91109,56.112126)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25333" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.89562,74.202974)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25335" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.53845,92.086584)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25337" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.9649,56.388537)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25339" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.0286,75.756506)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25341" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.89374,87.521709)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25343" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.8761,68.273979)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25345" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.26228,47.180868)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25347" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.91805,83.030339)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25349" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.90486,89.074686)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25351" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.74266,61.23647)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25353" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.07618,77.989104)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25355" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.99922,82.379721)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25357" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.25102,78.974994)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25359" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.92593,66.582197)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25361" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.87488,90.973141)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25363" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.14427,53.878791)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25365" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.63365,51.02227)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25367" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.63774,97.263187)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25369" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.66009,78.261234)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25371" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.12648,63.541393)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25373" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.44656,90.883629)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25375" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.10606,66.63253)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25377" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.24541,89.879804)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25379" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.75451,73.741383)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25381" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.04198,85.944877)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25383" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.59922,93.062511)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25385" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.33442,48.916147)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25387" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.42778,87.747819)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25389" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.87795,46.102846)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25391" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.76042,57.778219)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25393" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.28711,55.089283)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25395" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.00493,80.55014)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25397" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.76301,84.467965)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25399" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.09758,65.661454)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25401" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.60272,91.234744)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25403" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.19726,69.665254)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25405" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.48891,52.819633)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25407" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.66919,94.582064)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25409" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.80325,85.619929)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25411" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.57968,57.069825)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25413" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.58682,65.503385)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25415" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.14174,48.577251)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25417" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.67014,82.861539)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25419" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.77739,87.621414)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25421" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.58356,90.808782)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25423" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.22748,49.22511)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25425" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.88045,89.331479)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25427" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.08206,73.679835)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25429" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.92333,98.779166)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25431" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.80519,81.754991)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25433" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.48779,69.946426)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25435" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.6343,67.002042)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25437" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.36223,86.555487)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25439" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.98491,53.461282)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25441" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.63347,60.740732)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25443" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.49112,93.886238)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25445" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.0295,46.463347)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25447" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.39578,80.802235)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25449" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.25661,74.119006)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25451" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.82125,56.065217)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25453" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.21644,57.806455)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25455" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.1716,43.752105)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25457" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.03293,67.790618)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25459" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.11879,70.91176)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25461" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.04165,79.077835)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25463" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.39124,76.195736)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25465" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.90693,79.587908)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25467" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.22061,47.99961)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25469" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.39882,62.582495)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25471" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.67782,102.12202)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25473" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.47238,73.923449)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25475" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.9026,64.745496)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25477" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.81868,77.281724)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25479" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.12565,63.352013)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25481" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.33163,97.086604)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25483" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.76353,85.066104)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25485" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.89508,54.203911)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25487" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.54305,67.199939)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25489" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.27681,72.403163)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25491" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.02385,88.069533)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25493" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.76838,88.78592)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25495" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.32961,56.208973)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25497" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.37873,88.863579)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25499" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.97817,91.731797)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25501" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.47633,50.134554)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25503" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.90923,69.227596)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25505" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.88412,67.106252)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25507" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.40947,74.939971)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25509" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.4478,57.634612)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25511" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.51182,92.809539)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25513" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.80362,50.410836)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25515" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.02572,65.891626)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25517" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.66411,84.453632)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25519" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.32685,59.734527)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25521" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.87078,59.219945)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25523" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.10721,59.642293)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25525" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.87107,95.50353)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25527" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.33115,96.648737)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25529" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.96561,51.859787)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25531" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.44773,78.310106)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25533" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.55415,72.470695)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25535" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.81771,87.843085)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25537" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.59479,45.717249)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25539" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.54047,71.618169)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25541" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.89265,55.938324)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25543" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.50631,73.919704)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25545" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.76911,49.792033)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25547" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.2194,64.311435)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25549" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.45637,61.709902)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25551" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.49561,43.100523)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25553" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.64006,66.916448)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25555" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.83152,80.672031)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25557" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.79432,71.297676)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25559" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.925,100.26332)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25561" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.38018,63.48345)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25563" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.42613,90.671813)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25565" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.09766,43.021663)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25567" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.71879,94.060061)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25569" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.43313,100.4486)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25571" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.93287,84.710556)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25573" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.02746,65.316537)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25575" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81323,83.133066)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25577" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.82007,62.36345)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25579" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.39029,94.105045)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25581" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.13426,58.170705)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25583" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.18474,75.349434)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25585" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.20203,48.845529)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25587" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.03562,55.758101)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25589" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.29811,52.259728)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25591" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.6151,77.618141)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25593" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.05919,91.908055)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25595" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.60563,78.470723)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25597" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.903,89.769672)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25599" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.24145,45.861223)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25601" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.53475,43.795964)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25603" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.77556,48.95078)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25605" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.2318,87.681518)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25607" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.58276,55.747252)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25609" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.78469,79.944157)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25611" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.86844,50.278288)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25613" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.91709,47.248874)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25615" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.95266,76.765426)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25617" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.94025,78.21498)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25619" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.68773,56.303855)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25621" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.42025,72.239281)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25623" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.77142,70.608768)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25625" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.62663,85.751899)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25627" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.42123,91.671771)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25629" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.10816,83.461099)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25631" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.671,50.936341)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25633" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.8437,76.600442)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25635" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.54453,86.838596)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25637" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.60334,44.432277)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25639" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19863,77.925457)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25641" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.81916,94.114099)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25643" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.90901,62.531869)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25645" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70763,73.774118)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25647" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.46635,77.168898)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25649" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.52156,69.213722)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25651" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.16458,66.538678)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25653" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.12069,62.394789)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25655" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.52721,90.396189)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25657" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.04492,54.904169)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25659" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.45617,81.829262)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25661" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.64673,71.55417)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25663" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.44925,62.441034)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25665" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.12965,56.246736)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25667" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.92528,53.299937)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25669" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.2057,95.742977)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25671" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.29121,86.984918)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25673" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.07831,65.831275)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25675" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.34249,98.138056)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25677" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.4937,75.046925)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25679" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.1355,90.678068)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25681" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.25941,94.504639)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25683" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.67862,58.096074)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25685" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.17987,88.526706)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25687" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.87076,85.072027)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25689" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.44615,99.129507)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25691" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.03251,52.847877)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25693" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.31058,78.926478)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25695" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.38729,76.478332)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25697" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.77608,48.930248)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25699" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.78137,65.224321)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25701" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.75188,76.831363)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25703" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.11667,99.752269)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25705" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.04074,83.076253)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25707" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.40607,61.643761)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25709" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.68623,81.637039)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25711" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.6966,82.312204)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25713" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.87099,85.200996)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25715" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.14815,80.964882)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25717" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.25356,56.87887)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25719" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.98002,90.303091)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25721" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.64409,62.66442)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25723" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.07904,58.945199)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25725" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.74295,74.927436)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25727" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.72421,60.663158)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25729" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.21981,74.741939)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25731" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.31423,69.448412)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25733" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.84608,68.815406)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25735" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.18009,72.228015)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25737" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.34991,69.38326)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25739" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.3173,94.625498)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25741" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.62702,57.437192)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25743" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.44646,93.781072)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25745" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.76175,81.46759)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25747" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.78404,49.42172)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25749" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.81022,99.158159)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25751" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.52567,99.957901)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25753" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.57132,57.231352)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25755" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.75051,83.271844)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25757" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.11784,89.955784)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25759" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.2487,58.800202)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25761" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.694,60.709343)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25763" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.11199,96.768099)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25765" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.40943,62.401395)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25767" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.45206,78.631553)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25769" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.26711,66.539263)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25771" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.70911,70.352217)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25773" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.40295,95.35491)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25775" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.94716,50.093518)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25777" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.64272,72.150133)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25779" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.62647,81.143023)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25781" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.14228,54.86069)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25783" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.29509,58.719807)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25785" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.30549,66.017408)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25787" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.31534,83.536696)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25789" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.74634,54.54358)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25791" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.81598,71.036429)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25793" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.37822,50.882072)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25795" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.54397,95.704671)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25797" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.10988,80.137108)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25799" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.12294,94.958668)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25801" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.14566,48.90426)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25803" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.47119,69.295949)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25805" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.10648,68.840038)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25807" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.91314,91.117042)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25809" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.0356,46.698952)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25811" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.94624,73.379187)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25813" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.57653,93.149875)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25815" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.55881,53.111903)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25817" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.09461,51.13869)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25819" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.26013,97.389846)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25821" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.54159,74.940044)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25823" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.07562,92.952027)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25825" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.89693,60.272946)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25827" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.98046,78.793425)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25829" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.86916,51.559013)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25831" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.32905,85.452556)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25833" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.54228,90.635746)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25835" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.44461,57.766641)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25837" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.24108,68.261244)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25839" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.16236,61.104509)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25841" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.34105,58.960917)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25843" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.2905,83.175482)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25845" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.15465,75.135647)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25847" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.9938,55.97573)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25849" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.90553,96.057791)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25851" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.96328,66.21203)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25853" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.76821,93.599068)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25855" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.95708,55.921228)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25857" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.1816,60.903275)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25859" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.30553,80.478416)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25861" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.10752,50.516123)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25863" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.50403,78.72218)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25865" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.70184,79.141059)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25867" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.8086,77.286836)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25869" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.89896,54.508566)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25871" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.13152,96.866027)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25873" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.73149,77.585866)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25875" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.52509,44.701208)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25877" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.61234,70.479666)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25879" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.8115,63.378045)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25881" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.42213,58.729505)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25883" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.04973,100.68876)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25885" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.26572,51.814988)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25887" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.19359,93.559083)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25889" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.29907,41.550704)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25891" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.34885,49.193737)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25893" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.37881,67.984252)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25895" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.28267,59.49831)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25897" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.05311,53.805192)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25899" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.5602,81.313378)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25901" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.9489,83.375827)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25903" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.45863,89.337988)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25905" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.30777,89.488645)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25907" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.26991,68.026294)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25909" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.197,44.08644)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25911" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.57626,59.327194)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25913" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.05568,56.498296)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25915" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.83245,75.470348)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25917" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.85895,100.97328)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25919" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.25345,68.350558)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25921" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.79683,55.060749)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25923" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.63195,50.962423)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25925" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.29248,92.765928)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25927" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.70545,69.466989)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25929" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.15384,88.371961)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25931" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.74113,95.148243)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25933" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.89802,91.894132)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25935" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.17488,61.734911)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25937" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.98542,55.171014)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25939" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.40944,81.128571)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25941" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.77183,67.275714)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25943" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.54992,51.391434)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25945" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.84487,57.530592)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25947" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.32101,72.460262)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25949" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.13057,89.796131)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25951" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.63146,66.984367)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25953" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.47995,98.363352)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25955" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.85622,95.006691)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25957" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.62809,70.570403)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25959" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.29674,82.688109)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25961" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.9558,59.196439)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25963" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.90801,84.960554)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25965" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.0659,80.248099)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25967" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.02201,56.40529)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25969" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.47597,59.319721)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25971" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.91338,81.832351)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25973" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.67642,97.511173)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25975" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.77997,66.826761)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25977" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.21696,55.204814)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25979" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.28156,99.194668)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25981" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.16497,91.936968)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25983" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.96732,57.902306)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25985" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.66966,94.451773)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25987" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.86723,80.633635)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25989" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.87851,84.513313)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25991" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.09357,60.622522)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25993" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.42322,60.924173)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25995" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.51572,47.316547)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25997" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.41057,59.199964)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25999" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.64963,47.837809)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26001" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.77568,100.63515)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26003" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.58237,45.460225)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26005" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.36492,92.067389)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26007" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.75397,54.890055)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26009" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.15973,82.806109)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26011" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.91485,69.195625)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26013" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.89556,98.504519)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26015" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.19639,89.863388)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26017" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.32418,81.88167)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26019" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.20665,97.838212)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26021" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.94344,90.752694)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26023" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.16996,82.180245)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26025" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.31052,57.231976)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26027" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.94962,51.183241)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26029" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.42874,66.896446)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26031" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.65024,96.875921)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26033" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.308,55.386706)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26035" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.67373,60.753257)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26037" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.50822,51.075751)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26039" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.52894,58.762284)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26041" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.94959,91.684887)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26043" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.26789,84.877056)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26045" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.05805,94.476969)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26047" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.56355,86.41264)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26049" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.13517,77.175513)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26051" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.02597,58.035693)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26053" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.14971,93.175794)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26055" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.25824,88.410331)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26057" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.79815,59.03502)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26059" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.94424,100.56856)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26061" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.38437,47.090204)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26063" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.70144,67.344287)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26065" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.50104,73.092261)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26067" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.91998,71.783425)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26069" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65277,74.03124)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26071" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.11602,99.243278)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26073" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81905,83.115296)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26075" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.53041,58.04325)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26077" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.71379,53.569638)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26079" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.73995,56.014834)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26081" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.52662,45.024141)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26083" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.19677,82.692683)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26085" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.8594,73.102465)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26087" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.59595,65.436866)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26089" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.99607,60.382145)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26091" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.61424,94.167518)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26093" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.99055,58.222766)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26095" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.75284,57.913561)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26097" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.88775,81.060687)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26099" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.3816,64.33263)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26101" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.89851,53.909031)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26103" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.17448,62.102049)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26105" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.73853,57.030866)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26107" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.17331,73.768629)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26109" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.11883,81.414662)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26111" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.68982,64.458518)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26113" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.10479,96.180089)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26115" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.91423,82.147877)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26117" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.78875,74.985805)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26119" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.62906,96.421111)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26121" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.61017,90.04855)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26123" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.21485,44.978928)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26125" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.57813,77.832142)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26127" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.49023,74.683485)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26129" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.73713,47.320861)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26131" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.16616,84.789256)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26133" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.12103,100.13712)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26135" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.46258,85.337301)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26137" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.95687,96.57967)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26139" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.89762,43.598589)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26141" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.00975,52.562994)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26143" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.29583,89.579706)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26145" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.03831,46.741795)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26147" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.03618,89.022991)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26149" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.58455,96.869575)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26151" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.40275,53.81825)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26153" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.89983,65.779625)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26155" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.54855,79.720058)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26157" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.66431,70.024915)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26159" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.40935,72.453765)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26161" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.64538,74.917475)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26163" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.72972,48.706565)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26165" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.94438,74.846626)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26167" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.21313,101.54873)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26169" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.98842,76.692321)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26171" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.2709,100.69639)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26173" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.9594,72.450047)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26175" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.20383,59.035082)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26177" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.12744,53.794548)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26179" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.98869,53.142207)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26181" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.13628,98.100518)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26183" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.56781,94.919393)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26185" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.12461,95.97926)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26187" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.35399,55.220506)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26189" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.62563,82.907266)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26191" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.49627,98.714929)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26193" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.96478,58.525976)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26195" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.45519,97.424779)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26197" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.98701,92.818729)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26199" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.83196,91.179346)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26201" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.12249,56.157795)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26203" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.78724,61.715517)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26205" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.17592,66.548739)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26207" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.60827,71.560403)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26209" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.63961,99.402208)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26211" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.02711,87.232951)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26213" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.98141,75.110907)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26215" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.72915,90.927929)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26217" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.92879,97.252538)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26219" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.72492,56.317052)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26221" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.6908,88.473853)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26223" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.04456,69.276317)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26225" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.42003,78.754986)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26227" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.48178,71.059478)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26229" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.4398,89.404901)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26231" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.08727,100.23941)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26233" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.81385,88.623736)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26235" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.35265,81.097498)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26237" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.49542,80.736363)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26239" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.82391,102.62995)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26241" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.68584,69.035616)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26243" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.8909,91.25955)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26245" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.51204,43.292758)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26247" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.58826,92.533231)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26249" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.91765,93.825399)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26251" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.18391,67.189922)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26253" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.23566,61.001922)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26255" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.59135,67.428878)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26257" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.32576,85.901619)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26259" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.88665,79.910358)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26261" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.29826,52.507608)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26263" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91739,98.245721)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26265" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.86528,73.586258)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26267" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.69827,64.588411)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26269" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.77836,48.821272)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26271" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.31001,52.850576)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26273" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.32314,53.194791)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26275" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.31448,58.892835)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26277" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.85686,93.462001)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26279" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.9758,86.814968)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26281" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.48695,94.50283)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26283" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.77448,73.905739)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26285" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.11146,91.445987)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26287" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.43543,88.270935)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26289" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26511,63.034765)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26291" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.87736,49.880397)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26293" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.32143,91.272568)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26295" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.90065,86.616652)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26297" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.60436,53.461688)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26299" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.43582,70.048052)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26301" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.39886,49.361679)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26303" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.75499,81.637997)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26305" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.69395,77.737543)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26307" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.90078,68.517067)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26309" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.238,65.742941)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26311" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.82817,74.89994)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26313" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.96281,90.303768)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26315" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.94621,83.816846)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26317" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.09277,92.359799)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26319" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.04693,42.296234)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26321" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.81511,95.382853)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26323" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.35982,68.031212)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26325" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.57305,65.633167)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26327" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.72023,78.376137)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26329" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.71531,95.386817)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26331" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.76606,70.613992)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26333" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.92549,77.294246)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26335" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.3949,93.826772)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26337" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.56505,76.919073)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26339" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.36489,89.107953)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26341" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.96918,73.353203)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26343" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.50662,49.932981)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26345" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.85232,43.463212)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26347" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.80296,61.002647)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26349" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.45749,54.539732)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26351" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.19833,61.363868)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26353" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.89152,67.193431)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26355" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.23817,56.717644)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26357" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.69815,65.891141)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26359" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.42673,47.889739)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26361" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.37493,80.774838)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26363" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.5567,71.713477)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26365" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.46176,58.968814)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26367" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.09506,75.675963)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26369" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.77836,88.047292)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26371" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.58104,72.677987)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26373" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.40127,56.120337)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26375" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.88109,99.349973)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26377" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.90521,76.321763)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26379" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.77391,73.143969)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26381" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.45078,68.894473)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26383" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.34401,73.508028)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26385" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.01549,98.843449)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26387" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.45871,54.292015)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26389" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.02899,63.064932)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26391" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.96409,49.99785)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26393" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.13609,59.196361)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26395" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.09141,102.17008)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26397" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.26954,70.133057)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26399" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.73524,96.505891)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26401" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.41006,68.527705)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26403" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.60542,60.727199)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26405" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.43104,53.430483)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26407" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.32042,92.259938)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26409" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.6568,68.338744)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26411" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.66507,53.368637)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26413" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.15419,84.625236)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26415" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.35996,85.892578)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26417" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.95352,73.071673)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26419" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.59911,52.768718)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26421" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.04709,68.472085)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26423" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.73392,95.242565)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26425" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.91053,53.860252)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26427" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.961,94.592686)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26429" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.02644,95.825107)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26431" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.84879,59.021262)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26433" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.29974,64.380676)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26435" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.59404,97.507151)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26437" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.12866,71.287185)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26439" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.69166,91.939584)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26441" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.92339,44.953255)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26443" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.56343,52.22804)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26445" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.63368,48.017753)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26447" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.02668,62.411475)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26449" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.42675,58.566706)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26451" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.33318,46.059348)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26453" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.13567,58.757321)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26455" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.57474,100.96913)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26457" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.97263,46.082625)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26459" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.32669,67.279158)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26461" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.76226,59.46013)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26463" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.45756,71.652658)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26465" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.58738,67.526028)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26467" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.47772,96.355565)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26469" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.16172,62.355435)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26471" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.98759,49.311847)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26473" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.58199,67.883424)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26475" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.25718,51.466042)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26477" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.80047,42.984038)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26479" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.26636,52.927194)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26481" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.5903,87.902473)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26483" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.57186,74.960311)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26485" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.46051,84.348265)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26487" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.88495,91.390387)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26489" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.04437,49.478819)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26491" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.50689,56.699134)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26493" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.49716,54.758095)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26495" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.2186,63.383976)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26497" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.99597,64.615185)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26499" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.72593,54.306593)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26501" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.6354,82.192618)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26503" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.72677,55.965991)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26505" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.74684,93.348705)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26507" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.11095,98.355157)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26509" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.41642,58.129447)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26511" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.81562,60.402738)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26513" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.48888,67.582417)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26515" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.11081,52.39427)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26517" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.87595,73.453053)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26519" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.74565,94.623539)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26521" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.46457,73.105186)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26523" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.20061,75.219563)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26525" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.39882,83.93047)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26527" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.23296,85.458922)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26529" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.18903,54.684773)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26531" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.29115,65.385264)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26533" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.01924,57.108653)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26535" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.23811,93.415943)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26537" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.82636,92.995696)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26539" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.68705,51.525738)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26541" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.45861,61.014299)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26543" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.82901,51.479338)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26545" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.42642,61.330648)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26547" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.6842,73.453246)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26549" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.58525,66.465893)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26551" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.65937,68.581665)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26553" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65553,87.989401)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26555" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63622,51.559167)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26557" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.38301,92.658321)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26559" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.06131,89.702831)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26561" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.07053,52.322113)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26563" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.23187,71.007622)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26565" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.67469,80.249936)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26567" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.02737,96.164018)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26569" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.42304,93.151821)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26571" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.55154,48.490688)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26573" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.11645,54.391145)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26575" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.3394,80.019154)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26577" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.89769,96.314695)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26579" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.88531,49.529028)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26581" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.85806,86.512638)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26583" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.36352,70.500382)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26585" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.76024,70.321758)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26587" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.00964,53.501083)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26589" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.02392,69.637928)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26591" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.42011,62.360143)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26593" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.54394,65.259638)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26595" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.69392,86.017179)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26597" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.56186,64.985879)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26599" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.64496,56.82673)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26601" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.66833,86.746129)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26603" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.78226,85.95013)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26605" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.24824,72.365237)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26607" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.15693,63.896508)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26609" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.30288,80.624838)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26611" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.02397,72.263928)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26613" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.03842,70.252906)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26615" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.67534,93.586753)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26617" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.23822,59.113575)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26619" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.84416,89.554328)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26621" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.00951,84.592508)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26623" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.61788,91.38449)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26625" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.41408,97.937064)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26627" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.74698,97.735057)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26629" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.89324,94.469438)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26631" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.50418,58.701932)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26633" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.8596,44.794286)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26635" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.66711,51.755713)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26637" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39911,73.751137)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26639" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.57062,50.664985)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26641" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.99916,69.832004)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26643" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.80681,94.021697)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26645" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.11165,94.957536)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26647" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.13101,67.590716)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26649" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.16655,58.136705)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26651" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.66747,82.325226)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26653" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.04692,48.675928)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26655" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.0267,46.756689)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26657" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.44269,56.526845)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26659" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.75759,93.703667)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26661" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.15057,64.973857)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26663" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.12993,47.849245)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26665" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.40412,74.531046)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26667" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.29494,77.499106)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26669" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.01155,79.499492)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26671" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.8569,48.353139)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26673" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.29418,60.754963)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26675" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.91676,52.290803)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26677" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.59185,67.100203)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26679" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.50241,48.87804)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26681" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.60132,60.533927)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26683" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.53892,94.433567)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26685" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.09794,48.828103)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26687" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.57013,82.682983)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26689" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.76597,83.949033)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26691" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.41993,88.546402)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26693" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.13572,41.787681)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26695" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.2046,93.907054)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26697" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.39272,97.495864)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26699" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.13122,82.505099)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26701" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.19993,78.552961)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26703" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.72661,92.537514)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26705" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.13729,85.11606)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26707" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.9277,84.964934)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26709" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.50066,62.492006)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26711" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.73891,99.746001)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26713" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.2192,85.015978)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26715" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.28973,54.49741)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26717" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.89829,91.53533)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26719" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.52714,88.219852)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26721" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.127,72.901326)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26723" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.7262,77.373646)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26725" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.36687,57.304014)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26727" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.3269,89.768624)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26729" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.96267,95.156223)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26731" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.8186,59.507254)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26733" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.42245,76.670179)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26735" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.3597,74.818794)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26737" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.16566,83.292056)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26739" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.41349,62.868961)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26741" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.53911,76.582523)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26743" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.07409,78.455391)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26745" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.44513,72.724965)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26747" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.32481,80.052048)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26749" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.17019,93.569393)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26751" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.13774,79.803506)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26753" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.25357,58.474889)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26755" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.63833,61.961568)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26757" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-260.13253,96.203313)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26759" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.19565,54.751181)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26761" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.63476,52.889621)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26763" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.37497,62.196116)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26765" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.98695,42.068143)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26767" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.13319,58.588144)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26769" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.82398,98.448223)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26771" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.34805,45.208615)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26773" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.40748,48.825207)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26775" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.32017,48.215713)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26777" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.64056,47.270949)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26779" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.57535,55.331806)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26781" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.82305,83.233524)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26783" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.73142,91.108762)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26785" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.90855,74.865231)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26787" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.05043,84.496449)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26789" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.58459,61.751464)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26791" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.14596,54.424693)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26793" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.72812,74.904465)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26795" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.33155,100.14082)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26797" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.97193,89.39845)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26799" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.54809,98.186606)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26801" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.13964,82.361444)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26803" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.26848,72.117728)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26805" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.62859,99.526146)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26807" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.59623,53.871792)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26809" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.80598,69.166711)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26811" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.62474,48.787047)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26813" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.75345,54.240746)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26815" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.98752,67.876902)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26817" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.87876,99.123473)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26819" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.61416,49.531959)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26821" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.16456,75.169359)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26823" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.23696,94.313255)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26825" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.84062,82.983714)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26827" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.01685,52.493784)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26829" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.27146,65.60472)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26831" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.88539,78.432125)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26833" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.0056,55.437687)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26835" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.09645,96.57678)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26837" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.28814,83.132852)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26839" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.92543,100.63432)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26841" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.75459,93.615295)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26843" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.81267,76.598283)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26845" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.97243,65.554836)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26847" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.11098,78.060595)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26849" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.16023,50.367691)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26851" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.09602,47.509494)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26853" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.83567,48.407023)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26855" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.9713,90.760856)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26857" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.79418,74.074289)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26859" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.43577,43.332912)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26861" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.81327,79.099323)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26863" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.00449,94.083539)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26865" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.72126,53.408845)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26867" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.91972,50.59402)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26869" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.55979,61.669974)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26871" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.4726,78.824903)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26873" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.59763,53.619283)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26875" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.49684,51.026235)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26877" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.85444,49.641287)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26879" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.88381,46.625689)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26881" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.59828,48.962924)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26883" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.23879,89.017315)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26885" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.23683,73.082304)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26887" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.78688,97.803018)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26889" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.30024,72.56641)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26891" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.45358,67.925848)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26893" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.11391,49.244629)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26895" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.59331,54.91602)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26897" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.98258,93.006514)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26899" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.0406,73.285834)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26901" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.68471,55.729024)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26903" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.25009,62.909781)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26905" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.96538,51.964452)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26907" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.40219,48.541983)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26909" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.79974,49.135089)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26911" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.42489,55.403287)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26913" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.85561,98.609587)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26915" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.64675,95.536323)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26917" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.88588,66.792578)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26919" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.20914,43.457729)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26921" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.7775,59.436448)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26923" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.42544,67.928941)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26925" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39275,56.094044)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26927" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.32934,47.507026)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26929" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.96646,52.423282)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26931" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.21976,74.8022)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26933" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.88266,41.815936)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26935" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.24918,78.518997)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26937" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.39568,89.980882)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26939" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.42916,94.635184)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26941" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.71388,88.271429)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26943" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.32837,88.617969)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26945" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.36292,61.565947)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26947" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.03473,80.857534)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26949" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.02853,59.90518)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26951" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.85935,46.662372)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26953" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.90877,86.371204)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26955" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.34812,58.661015)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26957" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.15893,64.234779)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26959" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.59054,92.636764)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26961" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.40673,81.751939)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26963" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.53017,98.088555)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26965" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.48704,62.034599)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26967" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.83137,51.828938)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26969" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.006,73.061615)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26971" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.07541,75.576698)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26973" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.65465,58.645614)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26975" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.86415,95.785422)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26977" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.88074,52.043047)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26979" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.30588,68.913181)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26981" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.2829,73.774293)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26983" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.80454,68.145279)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26985" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.17494,67.113967)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26987" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.66985,54.392166)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26989" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.88847,93.637588)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26991" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.03066,73.675414)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26993" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.06557,55.925664)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26995" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.5447,83.559618)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26997" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.71731,50.554901)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26999" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.07803,65.559852)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27001" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.45447,90.161169)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27003" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.7531,48.033577)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27005" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.16031,47.967923)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27007" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.53537,53.997638)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27009" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.47562,89.229685)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27011" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.26156,83.952679)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27013" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.68998,56.521744)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27015" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.86286,69.171286)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27017" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.54466,89.382028)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27019" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.08195,46.87524)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27021" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.0621,87.935662)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27023" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.3626,52.442573)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27025" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.42473,76.507755)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27027" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.53228,72.686821)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27029" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.29684,96.025376)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27031" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.88852,72.260417)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27033" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.49294,81.663317)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27035" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70952,82.014123)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27037" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.67126,94.803721)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27039" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63545,67.542586)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27041" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.92638,95.414083)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27043" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.70623,91.7262)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27045" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.37697,79.695679)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27047" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.20392,93.233867)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27049" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.71903,60.287723)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27051" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.02161,76.867306)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27053" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.42568,55.353147)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27055" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.92188,63.576552)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27057" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.9187,92.942361)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27059" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.39752,51.243918)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27061" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.69192,59.804687)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27063" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.51508,65.169586)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27065" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.25668,71.859799)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27067" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.18018,47.753546)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27069" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.48528,86.274435)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27071" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.60975,90.283974)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27073" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.0405,47.926017)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27075" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.33325,65.496812)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27077" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.81389,56.478834)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27079" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.49509,92.598888)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27081" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.13202,75.764768)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27083" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65004,53.119399)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27085" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.30515,71.365268)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27087" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.84295,96.176021)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27089" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.09341,43.681222)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27091" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.76605,102.45759)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27093" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.26758,59.881431)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27095" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.13229,99.369038)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27097" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.98228,83.05717)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27099" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.51677,73.080526)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27101" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.83872,53.045346)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27103" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.76763,93.592923)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27105" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.85753,47.641127)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27107" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.58626,50.668684)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27109" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.4069,81.262723)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27111" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.24921,79.5565)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27113" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.24494,71.067549)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27115" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.75189,50.231633)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27117" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.24434,67.14382)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27119" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.39405,69.786388)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27121" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.87732,88.400952)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27123" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.01247,45.337134)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27125" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.39061,93.604926)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27127" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.48454,50.217383)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27129" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.39395,51.765841)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27131" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.25533,56.205039)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27133" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.47816,62.048213)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27135" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.50064,52.310424)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27137" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.06861,81.446812)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27139" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.44734,90.179264)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27141" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19114,56.493832)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27143" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63145,73.571373)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27145" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.76286,73.427755)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27147" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.35129,69.495692)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27149" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.69785,71.126726)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27151" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.1162,78.513566)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27153" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.80517,67.452178)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27155" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.05264,98.221228)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27157" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33798,52.073688)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27159" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.4885,49.09578)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27161" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.91622,66.613438)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27163" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.55953,62.212819)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27165" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.40228,58.703143)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27167" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.44557,61.922664)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27169" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.75543,55.062425)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27171" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.79794,56.817966)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27173" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.80249,46.383038)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27175" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.45649,79.39155)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27177" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.65817,98.525973)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27179" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.49252,86.65376)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27181" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.03005,63.616941)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27183" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.60675,86.836585)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27185" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.46391,61.275552)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27187" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.40339,103.07046)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27189" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.53363,47.761835)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27191" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.0782,91.999649)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27193" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.75617,57.089151)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27195" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.69444,79.661631)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27197" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.30338,49.239175)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27199" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.8518,65.758393)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27201" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.25918,65.382044)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27203" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.32333,56.70231)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27205" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91028,75.726513)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27207" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.59383,70.351584)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27209" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.1034,54.435877)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27211" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.51601,95.192673)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27213" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.43965,80.028121)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27215" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.59322,76.343647)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27217" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.18344,47.610142)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27219" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39095,43.639795)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27221" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.92671,68.771652)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27223" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.21166,92.648675)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27225" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.17735,71.794053)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27227" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.63236,47.52766)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27229" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.16081,44.41662)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27231" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.00261,90.128253)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27233" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.92227,43.55991)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27235" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.32533,49.972242)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27237" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.10997,89.14704)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27239" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.30227,60.285538)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27241" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.76842,77.390421)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27243" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.6665,62.558809)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27245" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.38184,82.872731)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27247" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.61765,96.52765)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27249" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.72541,51.47113)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27251" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.54138,53.545465)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27253" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.86173,52.774178)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27255" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.71077,43.880661)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27257" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.09393,89.496547)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27259" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.06203,66.59722)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27261" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.48757,91.970496)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27263" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.06744,64.277019)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27265" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.99988,52.392496)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27267" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.04893,50.604921)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27269" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.65616,73.939693)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27271" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.01359,69.767063)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27273" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.78541,97.601017)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27275" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.97623,59.497332)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27277" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.62014,72.269821)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27279" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.66247,76.179903)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27281" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.49072,44.982129)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27283" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.04212,91.48411)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27285" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.30554,82.579974)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27287" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.03744,54.986725)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27289" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.36851,70.543028)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27291" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.97446,50.204559)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27293" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.93491,65.972144)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27295" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.37111,77.804346)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27297" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.81671,69.086974)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27299" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.38225,78.498775)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27301" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91362,60.616454)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27303" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.66797,46.953719)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27305" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.55395,70.518223)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27307" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.07622,83.963307)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27309" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.87336,58.408898)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27311" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.1624,69.371136)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27313" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.19766,61.537071)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27315" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.24193,92.054032)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27317" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.57792,85.804146)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27319" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.91185,72.680429)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27321" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.21114,54.390718)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27323" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.425,58.312746)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27325" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.75555,54.81788)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27327" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.02179,89.657359)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27329" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.34862,76.778873)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27331" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.69843,96.395674)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27333" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.41247,98.459073)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27335" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.64167,99.407929)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27337" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.55057,71.155806)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27339" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.99484,42.637907)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27341" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.28505,55.87091)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27343" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.59065,90.220947)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27345" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.80267,84.26335)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27347" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.0481,69.504368)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27349" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.70248,70.584924)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27351" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.60597,71.929613)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27353" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.26451,61.650553)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27355" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.07096,61.27863)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27357" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.51102,59.166309)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27359" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.7622,71.153328)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27361" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.03042,69.238498)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27363" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.0127,72.966632)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27365" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.16327,93.601756)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27367" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.65317,86.450568)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27369" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.63188,88.665087)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27371" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.79384,53.28071)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27373" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-172.74532,63.571401)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27375" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.36995,98.386192)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27377" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.87674,71.675146)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27379" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.63154,56.464275)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27381" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.30959,100.32155)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27383" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.89624,76.824878)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27385" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.89333,59.036414)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27387" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.15441,79.028562)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27389" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.17175,82.356747)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27391" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.40338,71.852443)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27393" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.32571,78.574712)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27395" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.27469,82.10326)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27397" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.74472,92.858382)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27399" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.39287,43.722363)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27401" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.91341,58.102918)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27403" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.0014,102.05417)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27405" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.70591,86.082562)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27407" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.67988,73.064213)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27409" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.69945,93.694066)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27411" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.81662,92.427571)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27413" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.6518,97.097598)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27415" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.17079,99.725263)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27417" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.32322,57.339996)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27419" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.08888,90.37825)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27421" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.81039,97.796346)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27423" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.75166,49.166841)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27425" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.59494,76.576066)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27427" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.15051,97.084599)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27429" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.48403,101.42318)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27431" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.43478,67.779459)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27433" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.22419,53.68767)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27435" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.39505,77.294326)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27437" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.41919,63.575869)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27439" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.78438,100.27467)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27441" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.61177,77.533893)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27443" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.64022,70.853269)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27445" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.55297,95.290354)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27447" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.07855,79.238468)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27449" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.65079,77.687797)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27451" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.02062,95.590901)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27453" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.96278,49.586168)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27455" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.76927,45.050973)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27457" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.51603,60.583904)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27459" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.6906,62.896975)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27461" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.38112,93.672405)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27463" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.79225,91.745447)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27465" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.44269,51.903418)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27467" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.81928,67.525668)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27469" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.72833,73.448474)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27471" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.40508,60.974073)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27473" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.05455,87.628991)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27475" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.93588,99.420661)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27477" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.88648,81.120501)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27479" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.86504,86.770173)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27481" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.13681,93.182029)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27483" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.73521,43.869682)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27485" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.0881,84.61171)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27487" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.46233,54.843602)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27489" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.6321,73.541725)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27491" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.32357,55.670436)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27493" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.91557,46.204655)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27495" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.9719,91.231164)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27497" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.69165,59.134301)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27499" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.46456,65.903504)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27501" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.46929,90.501004)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27503" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.24033,81.588013)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27505" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.82874,79.876219)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27507" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.42978,93.090415)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27509" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.61435,90.058372)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27511" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.98492,100.36541)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27513" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.9321,48.867215)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27515" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.90345,55.127806)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27517" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.50047,56.752685)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27519" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.57486,42.693569)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27521" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.24764,56.266412)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27523" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.66904,75.110959)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27525" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.52155,62.944166)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27527" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.6552,81.070833)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27529" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.68383,61.281742)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27531" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.22425,49.58798)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27533" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.5244,86.671087)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27535" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.15446,47.974507)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27537" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.76731,79.287042)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27539" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.15219,46.775348)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27541" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.08445,95.691504)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27543" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.70082,55.18296)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27545" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.3063,79.701222)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27547" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.49142,61.200645)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27549" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.76269,63.163291)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27551" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.04973,55.765566)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27553" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.38488,76.892807)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27555" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.26932,93.768386)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27557" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.22819,47.398248)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27559" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.57728,63.124516)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27561" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.63133,50.924622)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27563" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.13129,45.932102)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27565" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.04168,82.928417)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27567" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.8057,74.82315)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27569" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.39228,70.354617)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27571" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.13287,61.835684)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27573" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.60438,69.14573)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27575" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.81305,49.90574)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27577" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.21594,91.217105)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27579" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.19728,84.062432)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27581" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.9291,92.821144)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27583" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.03933,58.077371)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27585" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.60605,49.964956)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27587" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.38271,65.26114)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27589" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.78933,53.963431)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27591" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.30792,89.913488)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27593" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.44719,64.11581)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27595" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.51248,92.923726)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27597" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.3718,63.91343)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27599" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.42852,92.383231)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27601" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.76597,73.805175)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27603" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.96429,98.739247)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27605" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.5644,67.666933)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27607" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.17004,83.93924)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27609" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.16036,64.890456)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27611" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.18946,50.145956)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27613" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.60101,93.847542)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27615" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.13068,83.539022)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27617" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.16829,96.832506)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27619" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.0358,102.55861)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27621" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.50379,92.037363)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27623" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.71694,50.290692)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27625" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.47726,61.12236)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27627" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.67564,85.75803)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27629" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.99966,93.434097)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27631" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.09472,77.736566)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27633" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.51741,86.140447)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27635" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.83897,90.975822)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27637" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.21035,74.418667)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27639" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.86655,42.609709)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27641" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.6819,88.413202)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27643" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.87855,53.0696)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27645" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.77414,100.67582)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27647" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.3602,81.96574)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27649" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.09159,47.566903)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27651" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.68274,79.474551)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27653" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.48495,94.626364)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27655" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.37711,46.555566)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27657" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.8809,69.086841)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27659" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.6635,60.352803)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27661" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.95466,72.099926)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27663" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.21111,88.011876)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27665" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.83231,53.316376)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27667" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.84369,65.005735)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27669" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.9989,84.981571)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27671" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.58639,90.28221)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27673" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.47176,73.80615)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27675" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.75774,91.16306)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27677" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.16251,77.140677)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27679" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.52545,61.924834)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27681" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.0902,47.953693)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27683" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.93112,65.923658)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27685" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.70327,50.510667)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27687" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.52473,96.774009)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27689" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.08273,85.522736)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27691" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.53941,71.551229)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27693" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.45404,70.624355)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27695" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.9827,86.295303)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27697" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.54892,92.148972)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27699" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.9395,55.93824)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27701" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.46854,45.740705)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27703" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.59022,53.978766)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27705" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.99056,75.23682)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27707" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.6356,50.811083)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27709" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.03312,97.129739)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27711" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.53792,97.993185)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27713" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.83949,92.077517)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27715" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.1949,48.230903)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27717" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.80275,63.060718)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27719" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.97292,71.188488)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27721" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.14657,68.359108)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27723" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.42977,50.332265)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27725" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.24824,73.086246)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27727" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.76036,51.632528)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27729" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.27915,51.806225)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27731" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.78673,89.143551)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27733" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.85919,71.873986)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27735" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.70566,42.473075)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27737" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.34795,53.497344)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27739" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.79936,49.45235)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27741" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.00608,48.228358)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27743" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.05346,52.476784)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27745" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.12808,54.081591)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27747" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.12163,60.597171)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27749" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.42381,59.130803)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27751" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.10873,63.050103)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27753" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.32857,55.884135)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27755" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.70162,54.331071)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27757" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.56882,84.0983)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27759" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.36178,46.74517)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27761" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.78346,50.453108)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27763" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.92705,87.02696)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27765" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.25513,53.96114)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27767" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.08563,91.112785)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27769" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.58453,74.274969)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27771" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.62858,65.665589)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27773" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.65329,79.940039)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27775" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.76626,77.12677)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27777" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.29766,67.797527)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27779" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.80633,45.766603)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27781" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.01509,96.010002)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27783" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.83557,56.520808)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27785" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.34907,95.535144)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27787" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.79617,96.412337)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27789" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.46954,66.478543)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27791" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.44943,89.33075)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27793" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.67063,68.294369)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27795" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.01207,61.20943)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27797" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.73846,87.445554)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27799" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.91904,70.247864)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27801" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.48082,99.563156)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27803" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.4407,45.611464)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27805" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.85378,66.384985)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27807" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.52721,46.698474)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27809" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.80022,47.896807)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27811" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.80727,102.88663)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27813" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.76038,73.863831)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27815" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.93098,47.204356)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27817" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.6804,65.256119)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27819" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.22945,55.767241)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27821" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.54617,48.169583)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27823" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.51632,77.705709)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27825" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.52519,80.579242)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27827" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.0888,93.519977)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27829" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.76835,93.562585)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27831" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.36747,60.812258)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27833" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.29986,51.075908)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27835" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.85083,56.279579)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27837" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33677,64.543745)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27839" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.11549,62.724424)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27841" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.11813,68.243802)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27843" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.9637,81.829271)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27845" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.71646,80.73381)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27847" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.97031,59.434907)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27849" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.03427,47.761811)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27851" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.2947,83.727191)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27853" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.08309,98.542115)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27855" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.91882,68.097545)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27857" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.72297,62.6757)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27859" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.77392,49.448992)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27861" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.44367,88.139277)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27863" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.07915,68.960728)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27865" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.11148,71.847331)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27867" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.72353,74.3722)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27869" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.20403,73.58001)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27871" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.05235,102.50404)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27873" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.43746,85.588314)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27875" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.6801,69.436624)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27877" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.46415,55.915574)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27879" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.24972,91.450947)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27881" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.67721,79.344433)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27883" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.30184,50.246818)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27885" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.80369,91.46636)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27887" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.87594,52.952389)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27889" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.79273,64.86767)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27891" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33654,86.19453)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27893" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.07836,54.07525)"/>
- <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27895" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.99045,71.632159)"/>
- <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27897" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.6111,98.159425)"/>
- <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27899" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.45905,77.759546)"/>
- <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27901" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.7514,72.150342)"/>
- <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27903" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.73003,67.384443)"/>
- <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27905" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.42247,74.315027)"/>
- <filter id="filter27927">
- <feGaussianBlur id="feGaussianBlur27929" stdDeviation="0.071512502" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="59.983643" cy="120.82638" r="29.457615" fx="59.983643" fy="120.82638" id="radialGradient27939" xlink:href="#linearGradient27933" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.8793038,-5.0037745e-7,5.9254638e-8,0.2083586,-52.74385,95.651194)"/>
- <filter height="2.1329556" y="-0.56647772" width="1.1115345" x="-0.055767238" id="filter27965">
- <feGaussianBlur id="feGaussianBlur27967" stdDeviation="1.3689748" inkscape:collect="always"/>
- </filter>
- <linearGradient x1="-80.095642" y1="78.43882" x2="-89.987785" y2="115.78114" id="linearGradient27979" xlink:href="#linearGradient27973" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0103538,0,-1.3128784)"/>
- <linearGradient x1="86.693916" y1="100.83184" x2="90.051781" y2="100.83184" id="linearGradient27989" xlink:href="#linearGradient27983" gradientUnits="userSpaceOnUse" gradientTransform="translate(1,0)"/>
- <filter height="1.0452234" y="-0.022611663" width="1.5097902" x="-0.25489509" id="filter28003">
- <feGaussianBlur id="feGaussianBlur28005" stdDeviation="0.35662617" inkscape:collect="always"/>
- </filter>
- <filter height="1.203077" y="-0.10153846" width="1.2933333" x="-0.14666668" id="filter28031">
- <feGaussianBlur id="feGaussianBlur28033" stdDeviation="0.55" inkscape:collect="always"/>
- </filter>
- <clipPath id="clipPath28041">
- <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" id="rect28043" style="opacity:0.18359375;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- </clipPath>
- <clipPath id="clipPath28045">
- <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" id="rect28047" style="opacity:0.18359375;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- </clipPath>
- <filter id="filter28101">
- <feGaussianBlur id="feGaussianBlur28103" stdDeviation="0.04177847" inkscape:collect="always"/>
- </filter>
- <radialGradient cx="16" cy="18" r="4" fx="16" fy="18" id="radialGradient28110" xlink:href="#linearGradient28077" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.5,0,-9)"/>
- <linearGradient x1="16" y1="1.5952783" x2="16" y2="18.75548" id="linearGradient28112" xlink:href="#linearGradient28049" gradientUnits="userSpaceOnUse"/>
- <radialGradient cx="14" cy="19.699831" r="2.1500001" fx="14" fy="18.836424" id="radialGradient28114" xlink:href="#linearGradient28069" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1062878,0,0,1.1062878,0.547091,-2.2994329)"/>
- <linearGradient x1="11.917725" y1="17.560907" x2="11.917725" y2="20.038458" id="linearGradient28116" xlink:href="#linearGradient28059" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1062878,0,0,1.1062878,0.547091,-2.2994329)"/>
- <linearGradient x1="60.25" y1="122.00736" x2="60.25" y2="118.5" id="linearGradient28138" xlink:href="#linearGradient28132" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0103538,0,-1.3128784)"/>
- <linearGradient id="linearGradient3207">
- <stop id="stop3209" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3211" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient5433">
- <stop id="stop5435" style="stop-color:#ea3838;stop-opacity:1" offset="0"/>
- <stop id="stop5437" style="stop-color:#c40000;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient2922">
- <stop id="stop2924" style="stop-color:#000000;stop-opacity:1" offset="0"/>
- <stop id="stop2926" style="stop-color:#515151;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3325">
- <stop id="stop3327" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3329" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3623">
- <stop id="stop3625" style="stop-color:#ffffff;stop-opacity:0.68345326" offset="0"/>
- <stop id="stop3627" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient5826">
- <stop id="stop5828" style="stop-color:#980000;stop-opacity:1" offset="0"/>
- <stop id="stop5830" style="stop-color:#db5c5c;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3058">
- <stop id="stop3060" style="stop-color:#9a7600;stop-opacity:1" offset="0"/>
- <stop id="stop3066" style="stop-color:#e3ad00;stop-opacity:1" offset="0.09292036"/>
- <stop id="stop3070" style="stop-color:#ffcd2c;stop-opacity:1" offset="0.5043171"/>
- <stop id="stop3068" style="stop-color:#e3ad00;stop-opacity:1" offset="0.91571385"/>
- <stop id="stop3062" style="stop-color:#b98d00;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient7364">
- <stop id="stop7366" style="stop-color:#d4a100;stop-opacity:0.97647059" offset="0"/>
- <stop id="stop7368" style="stop-color:#ffc712;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient2598">
- <stop id="stop2600" style="stop-color:#252525;stop-opacity:1" offset="0"/>
- <stop id="stop2606" style="stop-color:#252525;stop-opacity:1" offset="0.29354507"/>
- <stop id="stop2608" style="stop-color:#252525;stop-opacity:1" offset="0.45366704"/>
- <stop id="stop2602" style="stop-color:#000000;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient2257">
- <stop id="stop2259" style="stop-color:#b4942a;stop-opacity:1" offset="0"/>
- <stop id="stop2261" style="stop-color:#e4dcc9;stop-opacity:1" offset="1"/>
- </linearGradient>
- <radialGradient cx="305.02731" cy="-349" r="34.178398" id="path2489_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1658,0,0,-1,-353.77589,-376.98677)">
- <stop id="stop44" style="stop-color:#4b73ad;stop-opacity:1" offset="0"/>
- <stop id="stop46" style="stop-color:#80b3ff;stop-opacity:1" offset="1"/>
- </radialGradient>
- <radialGradient cx="354.85159" cy="-426" r="34.1791" id="path4248_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,-1,-359.20739,-378.98677)">
- <stop id="stop38" style="stop-color:#538bcf;stop-opacity:1" offset="0"/>
- <stop id="stop40" style="stop-color:#80b3ff;stop-opacity:1" offset="1"/>
- </radialGradient>
- <radialGradient cx="354.85159" cy="-426" r="34.1791" id="path2471_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,-1,-359.20739,-376.98677)">
- <stop id="stop32" style="stop-color:#538bcf;stop-opacity:1" offset="0"/>
- <stop id="stop34" style="stop-color:#80b3ff;stop-opacity:1" offset="1"/>
- </radialGradient>
- <linearGradient x1="354.68549" y1="-601.27588" x2="354.68549" y2="-503.146" id="front_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,-0.6522,-359.42609,-340.63827)">
- <stop id="stop20" style="stop-color:#b3d9ff;stop-opacity:1" offset="0"/>
- <stop id="stop22" style="stop-color:#71a8f5;stop-opacity:1" offset="0.48629999"/>
- <stop id="stop24" style="stop-color:#2c72c7;stop-opacity:1" offset="0.79879999"/>
- <stop id="stop26" style="stop-color:#2c72c7;stop-opacity:1" offset="0.98000002"/>
- <stop id="stop28" style="stop-color:#deebff;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient x1="63.4995" y1="-79.239304" x2="63.4995" y2="9.3268995" id="XMLID_1_" gradientUnits="userSpaceOnUse" gradientTransform="translate(-68.240592,44.013228)">
- <stop id="stop6" style="stop-color:#73a3e7;stop-opacity:1" offset="0"/>
- <stop id="stop8" style="stop-color:#83b1f5;stop-opacity:1" offset="0.13940001"/>
- <stop id="stop10" style="stop-color:#bcd6fc;stop-opacity:1" offset="0.3689"/>
- <stop id="stop12" style="stop-color:#659fee;stop-opacity:1" offset="0.5007"/>
- <stop id="stop14" style="stop-color:#0066ff;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient x1="305.35327" y1="-33.695843" x2="273.56915" y2="122.91273" id="linearGradient3377" xlink:href="#linearGradient3303" gradientUnits="userSpaceOnUse"/>
- <clipPath id="clipPath3367">
- <path d="M 240.04888,9 C 237.09544,9 234.6888,11.347166 234.6888,14.32684 L 234.6888,111.25905 L 245.32884,121.91273 L 341.32804,121.91273 C 344.28149,121.91273 346.68786,119.56556 346.68786,116.58615 L 346.68786,14.32684 C 346.68786,11.347166 344.28149,9 341.32804,9 L 240.04888,9 z" id="path3369" style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
- </clipPath>
- <linearGradient x1="-97.742668" y1="1937.9885" x2="-97.742668" y2="1895.421" id="linearGradient3359" xlink:href="#linearGradient3174" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,158.24797,-4821.2784)"/>
- <linearGradient x1="-44.117901" y1="127.91319" x2="-43.770939" y2="119.03187" id="linearGradient3323" xlink:href="#linearGradient3317" gradientUnits="userSpaceOnUse"/>
- <linearGradient x1="-44.802357" y1="71.894066" x2="-44.802357" y2="130.6806" id="linearGradient3309" xlink:href="#linearGradient3303" gradientUnits="userSpaceOnUse"/>
- <linearGradient x1="92.574883" y1="122.13094" x2="53.747078" y2="76.315697" id="linearGradient3293" xlink:href="#linearGradient3270" gradientUnits="userSpaceOnUse" gradientTransform="translate(-106.875,0)"/>
- <clipPath id="clipPath3289">
- <path d="M -69.78125,80 C -70.381154,80 -70.875,80.470333 -70.875,81.0625 L -70.875,122.9375 C -70.875,123.52967 -70.381154,124 -69.78125,124 L -9.09375,124 C -8.493846,124 -8.000004,123.52967 -8,122.9375 L -8,81.0625 C -8,80.470333 -8.493846,80 -9.09375,80 L -69.78125,80 z" id="path3291" style="opacity:1;fill:url(#linearGradient3293);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
- </clipPath>
- <linearGradient x1="92.574883" y1="122.13094" x2="53.747078" y2="76.315697" id="linearGradient3285" xlink:href="#linearGradient3270" gradientUnits="userSpaceOnUse" gradientTransform="translate(-106.875,0)"/>
- <linearGradient x1="92.574883" y1="122.13094" x2="53.747078" y2="76.315697" id="linearGradient3276" xlink:href="#linearGradient3270" gradientUnits="userSpaceOnUse"/>
- <linearGradient x1="-97.742668" y1="1937.9885" x2="-97.742668" y2="1895.421" id="linearGradient5823" xlink:href="#linearGradient3174" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,325.24891,-4887.3657)"/>
- <linearGradient id="linearGradient3163">
- <stop id="stop3165" style="stop-color:#6b696a;stop-opacity:1" offset="0"/>
- <stop id="stop3167" style="stop-color:#6b696a;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient5810">
- <stop id="stop5812" style="stop-color:#2e2a2b;stop-opacity:1" offset="0"/>
- <stop id="stop5814" style="stop-color:#4c494a;stop-opacity:1" offset="0.33497536"/>
- <stop id="stop5816" style="stop-color:#5b595a;stop-opacity:1" offset="0.66748768"/>
- <stop id="stop5818" style="stop-color:#6b696a;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3206">
- <stop id="stop3208" style="stop-color:#e3e2e6;stop-opacity:1" offset="0"/>
- <stop id="stop3216" style="stop-color:#000000;stop-opacity:0.5411765" offset="0.5"/>
- <stop id="stop3210" style="stop-color:#000000;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3270">
- <stop id="stop3272" style="stop-color:#a0a1a5;stop-opacity:1" offset="0"/>
- <stop id="stop3274" style="stop-color:#ffffff;stop-opacity:1" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3303">
- <stop id="stop3305" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
- <stop id="stop3307" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
- </linearGradient>
- <linearGradient id="linearGradient3448">
- <stop id="stop3450" style="stop-color:#cac7dc;stop-opacity:1" offset="0"/>
- <stop id="stop3452" style="stop-color:#cac7dc;stop-opacity:0" offset="1"/>
- </linearGradient>
- </defs>
- <rect width="58.91523" height="5.7999449" rx="0.72191608" ry="0.28855881" x="30.526026" y="117.92641" transform="matrix(1,0,0,1.0103538,0,-1.3128784)" id="rect27931" style="opacity:1;fill:url(#radialGradient27939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter27965)"/>
- <path d="M 16,121 L 30,121 L 30,120 L 88.2,120 L 88.2,121 L 116,121 L 116,117 L 12.710706,110.00228 L 16,121 z" id="path3507" style="fill:url(#radialGradient3583);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3565)"/>
- <path d="M 16,121 L 30,121 L 30,120 L 90,120 L 90,121 L 119,121 L 119,117 L 12.710706,116.00228 L 16,121 z" id="path3390" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3444)"/>
- <path d="M 11.361024,8 C 9.552302,8 8,9.625443 8.00094,11.32684 L 8.00094,110.25905 L 18.640979,120.91273 L 116.64018,120.91273 C 119.59363,120.91273 120,120.56556 120,117.58615 L 120,11.32684 C 120,9.513864 118.44194,8 116.64018,8 L 11.361024,8 z" id="rect2169" style="opacity:1;fill:url(#linearGradient3250);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
- <path d="M 24.693828,-69.480939 L 24.693828,-12.824689 L 102.79383,-12.824689 L 102.79383,-69.480939 L 24.693828,-69.480939 z" transform="translate(0.3,76.483371)" clip-path="url(#clipPath3008)" id="rect2379" style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3105)"/>
- <rect width="76" height="54" rx="1.2345035" ry="1.2345035" x="26" y="8" id="rect3325" style="opacity:1;fill:url(#radialGradient3083);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
- <rect width="3.8491483" height="53.921757" rx="0.92457408" ry="0.92457408" x="26.150852" y="8" id="rect3490" style="opacity:0.61328125;fill:#cfdce7;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="3.7944784" height="53.467316" rx="0.89723921" ry="0.92457408" x="98" y="8.5" id="rect3488" style="opacity:0.546875;fill:#cfdce7;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="75.091873" height="0.7289294" x="26.018856" y="63.416855" id="rect3109" style="opacity:1;fill:url(#radialGradient3117);fill-opacity:1;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3726)"/>
- <path d="M 12.375,-168.28125 C 9.4215521,-168.28125 8,-167.91718 8,-164.9375 L 8,-164.15625 C 8,-167.13593 9.4215521,-167.46875 12.375,-167.46875 L 115.625,-167.46875 C 118.57845,-167.46875 120,-167.13593 120,-164.15625 L 120,-164.9375 C 120,-167.91718 118.57845,-168.28125 115.625,-168.28125 L 12.375,-168.28125 z" transform="translate(0,176.85148)" clip-path="url(#clipPath3215)" id="path3209" style="opacity:1;fill:#000000;fill-opacity:0.35840705;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3371)"/>
- <path d="M 11.375,8.600468 C 9.318588,8.707659 8,9.305748 8,11.912968 L 8,12.506718 C 8,9.527038 9.421552,9.194218 12.375,9.194218 L 115.625,9.194218 C 118.57845,9.194218 120,9.527038 120,12.506718 L 120,11.912968 C 120,8.933288 118.57845,8.600468 115.625,8.600468 L 12.375,8.600468 C 12.005819,8.600468 11.668773,8.585159 11.375,8.600468 z" id="path3381" style="opacity:1;fill:#ffffff;fill-opacity:0.46902651;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3417)"/>
- <path d="M 104.309,8.626039 C 104.20787,8.626039 104.12054,8.662959 104.02775,8.688539 C 103.92346,8.717289 103.83617,8.757269 103.7465,8.813539 C 103.66099,8.867209 103.59613,8.926839 103.52775,9.001039 C 103.49917,9.032049 103.45912,9.060729 103.434,9.094789 C 103.4003,9.135389 103.36852,9.175429 103.34025,9.219789 C 103.24682,9.388799 103.184,9.576909 103.184,9.782289 L 103.184,61.157289 L 103.59025,61.157289 L 103.59025,9.782289 C 103.59025,9.570869 103.67915,9.392209 103.77775,9.219789 L 115.68399,9.219789 C 118.63744,9.219789 120.05899,9.552609 120.05899,12.532289 L 120.05899,11.938539 C 120.05899,9.331319 118.74326,8.761729 116.68399,8.657289 L 104.559,8.657289 C 104.61259,8.649219 104.65932,8.626039 104.71525,8.626039 L 104.309,8.626039 z M 11.090247,8.657289 C 9.465055,8.810999 8.128281,9.431649 8.090247,11.532289 C 8.211314,9.472429 9.849731,9.219789 12.433997,9.219789 L 24.433997,9.219789 C 24.540585,9.397089 24.590247,9.593059 24.590247,9.813539 L 24.590247,61.188539 L 24.996497,61.188539 L 24.996497,9.813539 C 24.996497,9.593059 24.946836,9.397089 24.840247,9.219789 C 24.794983,9.144499 24.744424,9.063799 24.683997,9.001039 C 24.59027,8.895459 24.46525,8.810179 24.340247,8.751039 C 24.223908,8.695989 24.105809,8.657289 23.965247,8.657289 L 23.465247,8.657289 L 11.090247,8.657289 z M 8.090247,11.532289 C 8.087808,11.667029 8.058997,11.791209 8.058997,11.938539 L 8.058997,12.532289 C 8.058997,12.159829 8.072952,11.826559 8.090247,11.532289 z" id="path3423" style="opacity:0.26953125;fill:url(#linearGradient3453);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3417)"/>
- <path d="M 115.43114,8.6 C 118.38459,8.6 119.20614,8.932826 119.20614,11.9125 L 119.20614,115.19375 C 119.20614,118.17316 116.38459,120.50625 113.43114,120.50625 L 114.14989,120.50625 C 117.10334,120.50625 119.49364,118.17316 119.49364,115.19375 L 119.49364,11.9125 C 119.49364,8.932826 119.10334,8.6 116.14989,8.6 L 115.43114,8.6 z" id="path3455" style="opacity:1;fill:url(#linearGradient3474);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
- <path d="M 32,16.122507 L 32,20.076133 L 96,20.076133 L 96,16.122507 L 32,16.122507 z" id="path3476" style="opacity:0.56521738;fill:#b2c6d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
- <path d="M 32.031703,32.228578 L 32.031703,36.118982 L 96.0317,36.118982 L 96.0317,32.228578 L 32.031703,32.228578 z" id="path3478" style="opacity:0.56521738;fill:#b2c6d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
- <path d="M 32,48.202135 L 32,52.202135 L 96,52.202135 L 96,48.202135 L 32,48.202135 z" id="path3480" style="opacity:0.56521738;fill:#b2c6d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
- <path d="M 101.42263,8 L 101.42263,61.80625 C 101.60563,61.704641 101.71697,61.555253 101.82888,61.40625 L 101.82888,8 L 101.42263,8 z" id="rect3492" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <path d="M 26.108963,8 L 26.12263,61.300619 C 26.225712,61.500509 26.375099,61.638659 26.52888,61.770949 L 26.515213,8 L 26.108963,8 z" id="path3497" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <path d="M 16.78125,130.4375 C 15.2983,130.4375 14.125,131.64205 14.125,133.125 L 14.125,175.15625 C 14.125,176.6392 15.298301,177.8125 16.78125,177.8125 L 16.9375,177.8125 C 16.529729,177.36613 16.25,176.78074 16.25,176.125 L 16.25,136.15625 C 16.25,134.76494 17.362011,133.625 18.75,133.625 L 84.34375,133.625 C 85.731742,133.625 86.84375,134.76494 86.84375,136.15625 L 86.84375,176.125 C 86.843752,176.78074 86.595271,177.36613 86.1875,177.8125 L 86.3125,177.8125 C 87.79545,177.8125 89.000002,176.6392 89,175.15625 L 89,133.125 C 89,131.64205 87.795451,130.4375 86.3125,130.4375 L 16.78125,130.4375 z" transform="translate(16.391305,-52.350088)" clip-path="url(#clipPath3199)" id="rect3626" style="fill:url(#linearGradient3712);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3659)"/>
- <path d="M 34.53781,80.00784 C 33.118602,80.00784 31.97531,81.15113 31.97531,82.57034 L 32,119.71658 L 104,119.71658 L 103.97531,82.57034 C 103.97531,81.15113 102.83202,80.00784 101.41281,80.00784 L 34.53781,80.00784 z" id="path3680" style="opacity:1;fill:#000000;fill-opacity:0.12831858;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <path d="M 34.581018,80.0708 C 33.16181,80.0708 32.018518,81.2141 32.018518,82.6333 L 32.018518,119.81658 L 104,119.7 L 104,82.51672 C 104,81.09752 102.85671,79.95422 101.4375,79.95422 L 34.581018,80.0708 z" id="path3694" style="opacity:0.07421875;fill:url(#radialGradient3704);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <path d="M 52.9375,84 C 52.41795,84 52,84.417953 52,84.9375 L 52,108 L 40.9375,108 C 40.41795,108 40,108.41795 40,108.9375 L 40,115.0625 C 40,115.58205 40.417949,116 40.9375,116 L 52.9375,116 L 63.0625,116 C 63.58205,116 64,115.58205 64,115.0625 L 64,108.9375 L 64,84.9375 C 64,84.41795 63.582051,84 63.0625,84 L 52.9375,84 z" transform="matrix(1,0,0,1.0103538,0,-1.3128784)" id="rect3226" style="opacity:1;fill:url(#linearGradient3281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3271)"/>
- <rect width="69.516342" height="1.4999924" x="33.008656" y="77.600006" id="rect3669" style="opacity:0.37771738;fill:url(#radialGradient3692);fill-opacity:1;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <path d="M 103.91096,8.735486 L 103.16096,9.422986 L 104.09846,9.485486 L 103.91096,8.735486 z" id="path3086" style="fill:url(#radialGradient3094);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3120)"/>
- <path d="M 23.91096,8.7354857 L 23.16096,9.4229857 L 24.09846,9.4854857 L 23.91096,8.7354857 z" transform="matrix(-1,0,0,1,48.05942,0)" id="path3124" style="fill:url(#radialGradient3126);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3120)"/>
- <path d="M 112.08125,97.375 L 112.08125,104.09375 L 110.8625,104.09375 L 109.83125,104.09375 L 114.175,111.625 L 118.51875,104.09375 L 117.4875,104.09375 L 116.26875,104.09375 L 116.26875,97.375 L 114.175,97.375 L 112.08125,97.375 z" transform="matrix(0.9875769,0,0,1,0.716891,0.2)" id="path3128" style="opacity:0.453125;fill:url(#linearGradient3142);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3192)"/>
- <rect width="3.3578629" height="37.852272" x="87.693916" y="81.905701" transform="matrix(1,0,0,1.0103538,0,-1.3128784)" id="rect27981" style="opacity:0.296875;fill:url(#linearGradient27989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28003)"/>
- <path d="M 34.541973,80.321631 C 33.364723,80.321631 32.416973,81.279193 32.416973,82.468632 L 32.59375,120.53579 L 88,120.53579 L 88,82.325479 C 88,81.136039 87.17725,80.321631 86,80.321631 L 34.541973,80.321631 z M 40.9375,88.353886 L 55.0625,88.353886 C 55.582051,88.353886 56,88.776164 56,89.301092 L 56,110.89955 C 56,111.42448 55.58205,111.84676 55.0625,111.84676 L 40.9375,111.84676 C 40.417949,111.84676 40,111.42448 40,110.89955 L 40,89.301092 C 40,88.776166 40.41795,88.353886 40.9375,88.353886 z" id="rect3196" style="opacity:1;fill:url(#linearGradient3221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <g transform="matrix(1,0,0,1.0103538,313.92339,17.714654)" clip-path="url(#clipPath25065)" id="g23527" style="opacity:0.18359375;filter:url(#filter27927)">
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.79343" y="84.707176" id="rect17371" style="opacity:0.1875;fill:url(#linearGradient17393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.9552" y="91.262184" id="rect17373" style="opacity:0.1875;fill:url(#linearGradient17391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.91937" y="109.06592" id="rect17375" style="opacity:0.1875;fill:url(#linearGradient17389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.12012" y="76.49028" id="rect17377" style="opacity:0.46875;fill:url(#linearGradient17405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.07872" y="96.053925" id="rect17379" style="opacity:0.46875;fill:url(#linearGradient17403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-269.22446" y="89.085144" id="rect17381" style="opacity:0.46875;fill:url(#linearGradient17401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.40353" y="67.112572" id="rect17407" style="opacity:0.1875;fill:url(#linearGradient18149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.73615" y="80.639206" id="rect17409" style="opacity:0.1875;fill:url(#linearGradient18147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.26816" y="84.380295" id="rect17411" style="opacity:0.1875;fill:url(#linearGradient18145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.76822" y="106.13625" id="rect17413" style="opacity:0.46875;fill:url(#linearGradient18143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.63443" y="102.51813" id="rect17415" style="opacity:0.46875;fill:url(#linearGradient18141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.30339" y="71.39473" id="rect17417" style="opacity:0.46875;fill:url(#linearGradient18139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.64175" y="100.63744" id="rect17419" style="opacity:0.1875;fill:url(#linearGradient18137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.05591" y="65.363846" id="rect17421" style="opacity:0.1875;fill:url(#linearGradient18135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.51465" y="69.323357" id="rect17423" style="opacity:0.1875;fill:url(#linearGradient18133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.87137" y="99.903488" id="rect17425" style="opacity:0.46875;fill:url(#linearGradient18131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.51654" y="101.47046" id="rect17427" style="opacity:0.46875;fill:url(#linearGradient18129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.41283" y="75.500755" id="rect17429" style="opacity:0.46875;fill:url(#linearGradient18127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.32373" y="69.585419" id="rect17431" style="opacity:0.1875;fill:url(#linearGradient18125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.6416" y="71.46701" id="rect17433" style="opacity:0.1875;fill:url(#linearGradient18123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-231.34415" y="77.415817" id="rect17435" style="opacity:0.1875;fill:url(#linearGradient18121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-307.36627" y="105.92856" id="rect17437" style="opacity:0.46875;fill:url(#linearGradient18119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.40512" y="62.602127" id="rect17439" style="opacity:0.46875;fill:url(#linearGradient18117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.37361" y="99.838142" id="rect17441" style="opacity:0.46875;fill:url(#linearGradient18115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.8649" y="56.113068" id="rect17443" style="opacity:0.1875;fill:url(#linearGradient18113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.1181" y="74.343849" id="rect17445" style="opacity:0.1875;fill:url(#linearGradient18111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.14183" y="98.228653" id="rect17447" style="opacity:0.1875;fill:url(#linearGradient18109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.48334" y="67.98336" id="rect17449" style="opacity:0.46875;fill:url(#linearGradient18107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.73779" y="64.299034" id="rect17451" style="opacity:0.46875;fill:url(#linearGradient18105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.82462" y="69.00946" id="rect17453" style="opacity:0.46875;fill:url(#linearGradient18103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.22101" y="79.247726" id="rect17455" style="opacity:0.1875;fill:url(#linearGradient18101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.43381" y="104.01281" id="rect17457" style="opacity:0.1875;fill:url(#linearGradient18099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.76028" y="105.31631" id="rect17459" style="opacity:0.1875;fill:url(#linearGradient18097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.03159" y="65.75708" id="rect17461" style="opacity:0.46875;fill:url(#linearGradient18095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.90118" y="69.971687" id="rect17463" style="opacity:0.46875;fill:url(#linearGradient18093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.26633" y="97.308929" id="rect17465" style="opacity:0.46875;fill:url(#linearGradient18091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.34489" y="57.138626" id="rect17467" style="opacity:0.1875;fill:url(#linearGradient18089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.36011" y="79.709198" id="rect17469" style="opacity:0.1875;fill:url(#linearGradient18087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-278.16724" y="103.81553" id="rect17471" style="opacity:0.1875;fill:url(#linearGradient18085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-254.41679" y="77.795441" id="rect17473" style="opacity:0.46875;fill:url(#linearGradient18083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.66385" y="87.002907" id="rect17475" style="opacity:0.46875;fill:url(#linearGradient18081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.04214" y="101.45621" id="rect17477" style="opacity:0.46875;fill:url(#linearGradient18079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.64142" y="79.221695" id="rect17479" style="opacity:0.1875;fill:url(#linearGradient18077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.68213" y="85.522552" id="rect17481" style="opacity:0.1875;fill:url(#linearGradient18075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.27867" y="66.150208" id="rect17483" style="opacity:0.1875;fill:url(#linearGradient18073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.85204" y="98.996635" id="rect17485" style="opacity:0.46875;fill:url(#linearGradient18071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.82623" y="62.490906" id="rect17487" style="opacity:0.46875;fill:url(#linearGradient18069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.63985" y="103.67081" id="rect17489" style="opacity:0.46875;fill:url(#linearGradient18067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.41724" y="103.57622" id="rect17491" style="opacity:0.1875;fill:url(#linearGradient18065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.78891" y="110.85292" id="rect17493" style="opacity:0.1875;fill:url(#linearGradient18063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.85229" y="87.596672" id="rect17495" style="opacity:0.1875;fill:url(#linearGradient18061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.77243" y="77.090691" id="rect17497" style="opacity:0.46875;fill:url(#linearGradient18059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.65201" y="61.369072" id="rect17499" style="opacity:0.46875;fill:url(#linearGradient18057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.33041" y="97.866295" id="rect17501" style="opacity:0.46875;fill:url(#linearGradient18055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.27512" y="60.602905" id="rect17503" style="opacity:0.1875;fill:url(#linearGradient18053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.28024" y="98.59436" id="rect17505" style="opacity:0.1875;fill:url(#linearGradient18051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.80908" y="104.19329" id="rect17507" style="opacity:0.1875;fill:url(#linearGradient18049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.54272" y="94.834015" id="rect17509" style="opacity:0.46875;fill:url(#linearGradient18047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.52655" y="96.503296" id="rect17511" style="opacity:0.46875;fill:url(#linearGradient18045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.43588" y="62.813446" id="rect17513" style="opacity:0.46875;fill:url(#linearGradient18043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.03261" y="90.780258" id="rect17515" style="opacity:0.1875;fill:url(#linearGradient18041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.0979" y="99.709679" id="rect17517" style="opacity:0.1875;fill:url(#linearGradient18039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.3273" y="97.007927" id="rect17519" style="opacity:0.1875;fill:url(#linearGradient18037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.40613" y="63.924969" id="rect17521" style="opacity:0.46875;fill:url(#linearGradient18035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.76562" y="97.57634" id="rect17523" style="opacity:0.46875;fill:url(#linearGradient18033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.3656" y="91.897057" id="rect17525" style="opacity:0.46875;fill:url(#linearGradient18031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.78883" y="88.074402" id="rect17527" style="opacity:0.1875;fill:url(#linearGradient18029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.24213" y="102.16527" id="rect17529" style="opacity:0.1875;fill:url(#linearGradient18027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.57928" y="92.647728" id="rect17531" style="opacity:0.1875;fill:url(#linearGradient18025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-254.35078" y="60.315037" id="rect17533" style="opacity:0.46875;fill:url(#linearGradient18023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.11502" y="90.288979" id="rect17535" style="opacity:0.46875;fill:url(#linearGradient18021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.80861" y="109.21276" id="rect17537" style="opacity:0.46875;fill:url(#linearGradient18019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.75543" y="72.276009" id="rect17539" style="opacity:0.1875;fill:url(#linearGradient18017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.12875" y="57.977592" id="rect17541" style="opacity:0.1875;fill:url(#linearGradient18015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.66217" y="67.495979" id="rect17543" style="opacity:0.1875;fill:url(#linearGradient18013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.2243" y="69.823593" id="rect17545" style="opacity:0.46875;fill:url(#linearGradient18011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.45792" y="68.959457" id="rect17547" style="opacity:0.46875;fill:url(#linearGradient18009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.89233" y="76.257271" id="rect17549" style="opacity:0.46875;fill:url(#linearGradient18007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.53769" y="90.623589" id="rect17551" style="opacity:0.1875;fill:url(#linearGradient18005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.34969" y="97.305748" id="rect17553" style="opacity:0.1875;fill:url(#linearGradient18003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.20572" y="82.862694" id="rect17555" style="opacity:0.1875;fill:url(#linearGradient18001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.24118" y="79.64772" id="rect17557" style="opacity:0.46875;fill:url(#linearGradient17999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.40161" y="79.395935" id="rect17559" style="opacity:0.46875;fill:url(#linearGradient17997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.42935" y="74.803711" id="rect17561" style="opacity:0.46875;fill:url(#linearGradient17995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.61072" y="62.135342" id="rect17563" style="opacity:0.1875;fill:url(#linearGradient17993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.80521" y="84.323967" id="rect17565" style="opacity:0.1875;fill:url(#linearGradient17991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.46295" y="66.882637" id="rect17567" style="opacity:0.1875;fill:url(#linearGradient17989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.34781" y="83.370567" id="rect17569" style="opacity:0.46875;fill:url(#linearGradient17987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.62222" y="67.94989" id="rect17571" style="opacity:0.46875;fill:url(#linearGradient17985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.8093" y="82.059044" id="rect17573" style="opacity:0.46875;fill:url(#linearGradient17983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.76419" y="60.068611" id="rect17575" style="opacity:0.1875;fill:url(#linearGradient17981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.74551" y="87.762344" id="rect17577" style="opacity:0.1875;fill:url(#linearGradient17979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.63034" y="77.666779" id="rect17579" style="opacity:0.1875;fill:url(#linearGradient17977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.99472" y="76.894325" id="rect17581" style="opacity:0.46875;fill:url(#linearGradient17975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-272.5246" y="107.37724" id="rect17583" style="opacity:0.46875;fill:url(#linearGradient17973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.39462" y="106.59368" id="rect17585" style="opacity:0.46875;fill:url(#linearGradient17971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.20239" y="77.640099" id="rect17587" style="opacity:0.1875;fill:url(#linearGradient17969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.29407" y="60.569847" id="rect17589" style="opacity:0.1875;fill:url(#linearGradient17967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.78375" y="88.356277" id="rect17591" style="opacity:0.1875;fill:url(#linearGradient17965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.27098" y="96.711983" id="rect17593" style="opacity:0.46875;fill:url(#linearGradient17963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.9855" y="79.303299" id="rect17595" style="opacity:0.46875;fill:url(#linearGradient17961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.22263" y="87.287857" id="rect17597" style="opacity:0.46875;fill:url(#linearGradient17959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.8721" y="70.975586" id="rect17599" style="opacity:0.1875;fill:url(#linearGradient17957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.66968" y="76.547577" id="rect17601" style="opacity:0.1875;fill:url(#linearGradient17955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.74731" y="68.751762" id="rect17603" style="opacity:0.1875;fill:url(#linearGradient17953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.60339" y="72.070457" id="rect17605" style="opacity:0.46875;fill:url(#linearGradient17951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.67972" y="72.224846" id="rect17607" style="opacity:0.46875;fill:url(#linearGradient17949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.53369" y="66.220589" id="rect17609" style="opacity:0.46875;fill:url(#linearGradient17947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.48569" y="70.287376" id="rect17611" style="opacity:0.1875;fill:url(#linearGradient17945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.71796" y="106.46072" id="rect17613" style="opacity:0.1875;fill:url(#linearGradient17943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.57463" y="65.69442" id="rect17615" style="opacity:0.1875;fill:url(#linearGradient17941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.38248" y="92.94561" id="rect17617" style="opacity:0.46875;fill:url(#linearGradient17939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.62196" y="110.52157" id="rect17619" style="opacity:0.46875;fill:url(#linearGradient17937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.71622" y="67.948135" id="rect17621" style="opacity:0.46875;fill:url(#linearGradient17935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-304.85336" y="87.741013" id="rect17623" style="opacity:0.1875;fill:url(#linearGradient17933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.97302" y="72.193329" id="rect17625" style="opacity:0.1875;fill:url(#linearGradient17931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.71017" y="65.334404" id="rect17627" style="opacity:0.1875;fill:url(#linearGradient17929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.20427" y="98.32988" id="rect17629" style="opacity:0.46875;fill:url(#linearGradient17927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.47168" y="108.77326" id="rect17631" style="opacity:0.46875;fill:url(#linearGradient25071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.04443" y="82.517944" id="rect17633" style="opacity:0.46875;fill:url(#linearGradient25073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.30357" y="108.89568" id="rect17635" style="opacity:0.1875;fill:url(#linearGradient25075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.16194" y="84.146629" id="rect17637" style="opacity:0.1875;fill:url(#linearGradient25077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.72382" y="64.275902" id="rect17639" style="opacity:0.1875;fill:url(#linearGradient25079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.20195" y="109.68244" id="rect17641" style="opacity:0.46875;fill:url(#linearGradient25081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.8898" y="63.208668" id="rect17643" style="opacity:0.46875;fill:url(#linearGradient25083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.91269" y="98.313393" id="rect17645" style="opacity:0.46875;fill:url(#linearGradient25085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.66534" y="85.114136" id="rect17647" style="opacity:0.1875;fill:url(#linearGradient25087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.74916" y="66.932426" id="rect17649" style="opacity:0.1875;fill:url(#linearGradient25089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.73309" y="77.135086" id="rect17651" style="opacity:0.1875;fill:url(#linearGradient25091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.95505" y="62.283104" id="rect17653" style="opacity:0.46875;fill:url(#linearGradient25093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.14812" y="87.140076" id="rect17655" style="opacity:0.46875;fill:url(#linearGradient25095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.00018" y="55.974785" id="rect17657" style="opacity:0.46875;fill:url(#linearGradient25097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.79782" y="102.01984" id="rect17659" style="opacity:0.1875;fill:url(#linearGradient25099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-248.791" y="61.252872" id="rect17661" style="opacity:0.1875;fill:url(#linearGradient25101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.85733" y="63.683193" id="rect17663" style="opacity:0.1875;fill:url(#linearGradient25103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.50882" y="101.78488" id="rect17665" style="opacity:0.46875;fill:url(#linearGradient25105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.83641" y="77.041458" id="rect17667" style="opacity:0.46875;fill:url(#linearGradient25107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.76694" y="95.283287" id="rect17669" style="opacity:0.46875;fill:url(#linearGradient25109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.42992" y="55.774399" id="rect17671" style="opacity:0.1875;fill:url(#linearGradient25111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.80057" y="101.06035" id="rect17673" style="opacity:0.1875;fill:url(#linearGradient25113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-298.56604" y="109.198" id="rect17675" style="opacity:0.1875;fill:url(#linearGradient25115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.48489" y="107.00368" id="rect17677" style="opacity:0.46875;fill:url(#linearGradient25117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.83386" y="66.630585" id="rect17679" style="opacity:0.46875;fill:url(#linearGradient25119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.42801" y="66.899437" id="rect17681" style="opacity:0.46875;fill:url(#linearGradient25121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.09375" y="56.061657" id="rect17683" style="opacity:0.1875;fill:url(#linearGradient25123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.44736" y="68.035645" id="rect17685" style="opacity:0.1875;fill:url(#linearGradient25125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.10535" y="55.856274" id="rect17687" style="opacity:0.1875;fill:url(#linearGradient25127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-278.00189" y="86.851196" id="rect17689" style="opacity:0.46875;fill:url(#linearGradient25129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.19824" y="110.05563" id="rect17691" style="opacity:0.46875;fill:url(#linearGradient25131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.13065" y="60.523964" id="rect17693" style="opacity:0.46875;fill:url(#linearGradient25133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-253.95091" y="103.54987" id="rect17695" style="opacity:0.1875;fill:url(#linearGradient25135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.0334" y="88.186096" id="rect17697" style="opacity:0.1875;fill:url(#linearGradient25137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-265.44974" y="94.422592" id="rect17699" style="opacity:0.1875;fill:url(#linearGradient25139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.04202" y="103.96825" id="rect17701" style="opacity:0.46875;fill:url(#linearGradient25141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.09955" y="84.472305" id="rect17703" style="opacity:0.46875;fill:url(#linearGradient25143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.48126" y="101.18851" id="rect17705" style="opacity:0.46875;fill:url(#linearGradient25145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.41995" y="90.168793" id="rect17707" style="opacity:0.1875;fill:url(#linearGradient25147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.17566" y="99.90905" id="rect17709" style="opacity:0.1875;fill:url(#linearGradient25149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.65631" y="86.153412" id="rect17711" style="opacity:0.1875;fill:url(#linearGradient25151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.19516" y="79.081665" id="rect17713" style="opacity:0.46875;fill:url(#linearGradient25153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.97839" y="67.344398" id="rect17715" style="opacity:0.46875;fill:url(#linearGradient25155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.65546" y="93.259796" id="rect17717" style="opacity:0.46875;fill:url(#linearGradient25157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-291.2243" y="88.690613" id="rect17719" style="opacity:0.1875;fill:url(#linearGradient25159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.58456" y="59.647064" id="rect17721" style="opacity:0.1875;fill:url(#linearGradient25161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.12515" y="73.111664" id="rect17723" style="opacity:0.1875;fill:url(#linearGradient25163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.59235" y="91.303307" id="rect17725" style="opacity:0.46875;fill:url(#linearGradient25165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.509" y="67.325012" id="rect17727" style="opacity:0.46875;fill:url(#linearGradient25167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.42133" y="93.896034" id="rect17729" style="opacity:0.46875;fill:url(#linearGradient25169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.88492" y="90.879166" id="rect17731" style="opacity:0.1875;fill:url(#linearGradient25171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.34952" y="103.47399" id="rect17733" style="opacity:0.1875;fill:url(#linearGradient25173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.96045" y="106.24575" id="rect17735" style="opacity:0.1875;fill:url(#linearGradient25175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.68954" y="55.381527" id="rect17737" style="opacity:0.46875;fill:url(#linearGradient25177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.11661" y="89.104057" id="rect17739" style="opacity:0.46875;fill:url(#linearGradient25179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.8905" y="102.75126" id="rect17741" style="opacity:0.46875;fill:url(#linearGradient25181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.67885" y="81.184441" id="rect17743" style="opacity:0.1875;fill:url(#linearGradient25183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.11703" y="89.035004" id="rect17745" style="opacity:0.1875;fill:url(#linearGradient25185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.9751" y="100.35271" id="rect17747" style="opacity:0.1875;fill:url(#linearGradient25187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.15137" y="80.75869" id="rect17749" style="opacity:0.46875;fill:url(#linearGradient25189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.43188" y="77.223198" id="rect17751" style="opacity:0.46875;fill:url(#linearGradient25191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.05075" y="72.696106" id="rect17753" style="opacity:0.46875;fill:url(#linearGradient25193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.19749" y="106.62489" id="rect17755" style="opacity:0.1875;fill:url(#linearGradient25195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.13745" y="69.633575" id="rect17757" style="opacity:0.1875;fill:url(#linearGradient25197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.53471" y="62.632496" id="rect17759" style="opacity:0.1875;fill:url(#linearGradient25199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.95056" y="85.574959" id="rect17761" style="opacity:0.46875;fill:url(#linearGradient25201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.36328" y="101.6518" id="rect17763" style="opacity:0.46875;fill:url(#linearGradient25203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.15607" y="92.363571" id="rect17765" style="opacity:0.46875;fill:url(#linearGradient25205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.91437" y="102.87209" id="rect17767" style="opacity:0.1875;fill:url(#linearGradient25207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.12769" y="68.443901" id="rect17769" style="opacity:0.1875;fill:url(#linearGradient25209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.91699" y="81.518745" id="rect17771" style="opacity:0.1875;fill:url(#linearGradient25211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.47676" y="99.235146" id="rect17773" style="opacity:0.46875;fill:url(#linearGradient25213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.99631" y="104.32848" id="rect17775" style="opacity:0.46875;fill:url(#linearGradient25215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.45819" y="96.042809" id="rect17777" style="opacity:0.46875;fill:url(#linearGradient25217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.11304" y="91.464439" id="rect18151" style="opacity:0.1875;fill:url(#linearGradient25219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.72809" y="57.985466" id="rect18153" style="opacity:0.1875;fill:url(#linearGradient25221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.04907" y="92.447624" id="rect18155" style="opacity:0.1875;fill:url(#linearGradient25223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.48605" y="87.082649" id="rect18157" style="opacity:0.46875;fill:url(#linearGradient25225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.46774" y="71.132614" id="rect18159" style="opacity:0.46875;fill:url(#linearGradient25227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.54868" y="69.479034" id="rect18161" style="opacity:0.46875;fill:url(#linearGradient25229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.54684" y="71.409157" id="rect18163" style="opacity:0.1875;fill:url(#linearGradient25231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.44562" y="88.801552" id="rect18165" style="opacity:0.1875;fill:url(#linearGradient25233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.61575" y="79.20295" id="rect18167" style="opacity:0.1875;fill:url(#linearGradient25235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.08376" y="67.184708" id="rect18169" style="opacity:0.46875;fill:url(#linearGradient25237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.26695" y="68.254173" id="rect18171" style="opacity:0.46875;fill:url(#linearGradient25239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.67917" y="88.566643" id="rect18173" style="opacity:0.46875;fill:url(#linearGradient25241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.37273" y="61.108807" id="rect18175" style="opacity:0.1875;fill:url(#linearGradient25243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-272.89822" y="107.33531" id="rect18177" style="opacity:0.1875;fill:url(#linearGradient25245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.91226" y="76.051247" id="rect18179" style="opacity:0.1875;fill:url(#linearGradient25247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-262.29782" y="97.771523" id="rect18181" style="opacity:0.46875;fill:url(#linearGradient25249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.38615" y="90.817757" id="rect18183" style="opacity:0.46875;fill:url(#linearGradient25251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.09634" y="77.677231" id="rect18185" style="opacity:0.46875;fill:url(#linearGradient25253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.38574" y="62.671509" id="rect18187" style="opacity:0.1875;fill:url(#linearGradient25255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.63821" y="75.019676" id="rect18189" style="opacity:0.1875;fill:url(#linearGradient25257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.96573" y="58.94054" id="rect18191" style="opacity:0.1875;fill:url(#linearGradient25259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.89044" y="63.18137" id="rect18193" style="opacity:0.46875;fill:url(#linearGradient25261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.22519" y="85.285896" id="rect18195" style="opacity:0.46875;fill:url(#linearGradient25263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.96872" y="86.968376" id="rect18197" style="opacity:0.46875;fill:url(#linearGradient25265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.8423" y="111.32892" id="rect18199" style="opacity:0.1875;fill:url(#linearGradient25267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.47272" y="110.46347" id="rect18201" style="opacity:0.1875;fill:url(#linearGradient25269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.92764" y="74.383469" id="rect18203" style="opacity:0.1875;fill:url(#linearGradient25271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.07919" y="84.876595" id="rect18205" style="opacity:0.46875;fill:url(#linearGradient25273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.95041" y="86.066269" id="rect18207" style="opacity:0.46875;fill:url(#linearGradient25275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.95801" y="92.406303" id="rect18209" style="opacity:0.46875;fill:url(#linearGradient25277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.59933" y="70.233521" id="rect18211" style="opacity:0.1875;fill:url(#linearGradient25279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.10513" y="80.002182" id="rect18213" style="opacity:0.1875;fill:url(#linearGradient25281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.47241" y="95.684586" id="rect18215" style="opacity:0.1875;fill:url(#linearGradient25283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.99527" y="99.055901" id="rect18217" style="opacity:0.46875;fill:url(#linearGradient25285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.02789" y="85.807312" id="rect18219" style="opacity:0.46875;fill:url(#linearGradient25287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-298.38324" y="90.704887" id="rect18221" style="opacity:0.46875;fill:url(#linearGradient25289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.76099" y="62.290359" id="rect18223" style="opacity:0.1875;fill:url(#linearGradient25291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.90051" y="75.048828" id="rect18225" style="opacity:0.1875;fill:url(#linearGradient25293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.98842" y="90.335617" id="rect18227" style="opacity:0.1875;fill:url(#linearGradient25295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.44897" y="106.12038" id="rect18229" style="opacity:0.46875;fill:url(#linearGradient25297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.91562" y="92.317909" id="rect18231" style="opacity:0.46875;fill:url(#linearGradient25299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.61569" y="100.5391" id="rect18233" style="opacity:0.46875;fill:url(#linearGradient25301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.33392" y="63.624489" id="rect18235" style="opacity:0.1875;fill:url(#linearGradient25303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.36273" y="72.056847" id="rect18237" style="opacity:0.1875;fill:url(#linearGradient25305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.8735" y="110.21268" id="rect18239" style="opacity:0.1875;fill:url(#linearGradient25307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.63394" y="74.366173" id="rect18241" style="opacity:0.46875;fill:url(#linearGradient25309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.0997" y="79.780212" id="rect18243" style="opacity:0.46875;fill:url(#linearGradient25311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.09283" y="101.99254" id="rect18245" style="opacity:0.46875;fill:url(#linearGradient25313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.76373" y="109.07452" id="rect18247" style="opacity:0.1875;fill:url(#linearGradient25315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.97629" y="98.64402" id="rect18249" style="opacity:0.1875;fill:url(#linearGradient25317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.63684" y="89.344994" id="rect18251" style="opacity:0.1875;fill:url(#linearGradient25319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.27385" y="81.641121" id="rect18253" style="opacity:0.46875;fill:url(#linearGradient25321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.25494" y="109.51963" id="rect18255" style="opacity:0.46875;fill:url(#linearGradient25323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.37708" y="108.9928" id="rect18257" style="opacity:0.46875;fill:url(#linearGradient25325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.19186" y="110.50214" id="rect18259" style="opacity:0.1875;fill:url(#linearGradient25327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.0481" y="93.95919" id="rect18261" style="opacity:0.1875;fill:url(#linearGradient25329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.78215" y="66.527237" id="rect18263" style="opacity:0.1875;fill:url(#linearGradient25331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.03275" y="86.100006" id="rect18265" style="opacity:0.46875;fill:url(#linearGradient25333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.62799" y="104.80125" id="rect18267" style="opacity:0.46875;fill:url(#linearGradient25335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.83594" y="70.125221" id="rect18269" style="opacity:0.46875;fill:url(#linearGradient25337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.16574" y="84.331985" id="rect18271" style="opacity:0.1875;fill:url(#linearGradient25339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.98331" y="96.91481" id="rect18273" style="opacity:0.1875;fill:url(#linearGradient25341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-231.74715" y="78.689095" id="rect18275" style="opacity:0.1875;fill:url(#linearGradient25343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.39941" y="59.077904" id="rect18277" style="opacity:0.46875;fill:url(#linearGradient25345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.0076" y="95.745003" id="rect18279" style="opacity:0.46875;fill:url(#linearGradient25347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.77591" y="102.81136" id="rect18281" style="opacity:0.46875;fill:url(#linearGradient25349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.87979" y="69.811943" id="rect18283" style="opacity:0.1875;fill:url(#linearGradient25351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.16574" y="87.382187" id="rect18285" style="opacity:0.1875;fill:url(#linearGradient25353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.87027" y="92.79483" id="rect18287" style="opacity:0.1875;fill:url(#linearGradient25355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.38815" y="90.872025" id="rect18289" style="opacity:0.46875;fill:url(#linearGradient25357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.0155" y="79.296844" id="rect18291" style="opacity:0.46875;fill:url(#linearGradient25359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.74591" y="104.70981" id="rect18293" style="opacity:0.46875;fill:url(#linearGradient25361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.28142" y="62.454266" id="rect18295" style="opacity:0.1875;fill:url(#linearGradient25363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.72321" y="60.415363" id="rect18297" style="opacity:0.1875;fill:url(#linearGradient25365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.50877" y="107.67831" id="rect18299" style="opacity:0.1875;fill:url(#linearGradient25367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.79721" y="90.158287" id="rect18301" style="opacity:0.46875;fill:url(#linearGradient25369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.21603" y="76.256042" id="rect18303" style="opacity:0.46875;fill:url(#linearGradient25371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.3176" y="104.62031" id="rect18305" style="opacity:0.46875;fill:url(#linearGradient25373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.24321" y="75.208" id="rect18307" style="opacity:0.1875;fill:url(#linearGradient25375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-254.33498" y="99.272896" id="rect18309" style="opacity:0.1875;fill:url(#linearGradient25377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.62555" y="84.156494" id="rect18311" style="opacity:0.1875;fill:url(#linearGradient25379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.17912" y="97.841927" id="rect18313" style="opacity:0.46875;fill:url(#linearGradient25381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.68881" y="105.77716" id="rect18315" style="opacity:0.46875;fill:url(#linearGradient25383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.20544" y="62.652821" id="rect18317" style="opacity:0.46875;fill:url(#linearGradient25385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.56491" y="96.323288" id="rect18319" style="opacity:0.1875;fill:url(#linearGradient25387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.96753" y="55.495941" id="rect18321" style="opacity:0.1875;fill:url(#linearGradient25389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.63147" y="68.193329" id="rect18323" style="opacity:0.1875;fill:url(#linearGradient25391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.42424" y="66.986328" id="rect18325" style="opacity:0.46875;fill:url(#linearGradient25393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.0945" y="93.264801" id="rect18327" style="opacity:0.46875;fill:url(#linearGradient25395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.63403" y="98.204636" id="rect18329" style="opacity:0.46875;fill:url(#linearGradient25397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.23471" y="74.236923" id="rect18331" style="opacity:0.1875;fill:url(#linearGradient25399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.69228" y="100.62784" id="rect18333" style="opacity:0.1875;fill:url(#linearGradient25401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.0683" y="80.08036" id="rect18335" style="opacity:0.1875;fill:url(#linearGradient25403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-291.62607" y="64.716675" id="rect18337" style="opacity:0.46875;fill:url(#linearGradient25405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.75874" y="107.29673" id="rect18339" style="opacity:0.46875;fill:url(#linearGradient25407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.67427" y="99.356606" id="rect18341" style="opacity:0.46875;fill:url(#linearGradient25409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.71683" y="65.645309" id="rect18343" style="opacity:0.1875;fill:url(#linearGradient25411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-272.67639" y="74.896492" id="rect18345" style="opacity:0.1875;fill:url(#linearGradient25413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.01279" y="58.992363" id="rect18347" style="opacity:0.1875;fill:url(#linearGradient25415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.80728" y="94.758575" id="rect18349" style="opacity:0.46875;fill:url(#linearGradient25417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.86696" y="100.33606" id="rect18351" style="opacity:0.46875;fill:url(#linearGradient25419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.45459" y="104.54546" id="rect18353" style="opacity:0.46875;fill:url(#linearGradient25421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.36459" y="57.800591" id="rect18355" style="opacity:0.1875;fill:url(#linearGradient25423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.97002" y="98.724579" id="rect18357" style="opacity:0.1875;fill:url(#linearGradient25425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.95309" y="84.094955" id="rect18359" style="opacity:0.1875;fill:url(#linearGradient25427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.06047" y="110.67622" id="rect18361" style="opacity:0.46875;fill:url(#linearGradient25429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.89478" y="94.46965" id="rect18363" style="opacity:0.46875;fill:url(#linearGradient25431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.35883" y="83.683098" id="rect18365" style="opacity:0.46875;fill:url(#linearGradient25433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.77145" y="75.577515" id="rect18367" style="opacity:0.1875;fill:url(#linearGradient25435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.45178" y="95.948578" id="rect18369" style="opacity:0.1875;fill:url(#linearGradient25437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.85594" y="63.876396" id="rect18371" style="opacity:0.1875;fill:url(#linearGradient25439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.77063" y="72.637779" id="rect18373" style="opacity:0.46875;fill:url(#linearGradient25441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.58069" y="106.60091" id="rect18375" style="opacity:0.46875;fill:url(#linearGradient25443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.90054" y="60.200027" id="rect18377" style="opacity:0.46875;fill:url(#linearGradient25445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.53291" y="89.377716" id="rect18379" style="opacity:0.1875;fill:url(#linearGradient25447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.34618" y="83.512108" id="rect18381" style="opacity:0.1875;fill:url(#linearGradient25449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.69232" y="66.480316" id="rect18383" style="opacity:0.1875;fill:url(#linearGradient25451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.35358" y="69.703491" id="rect18385" style="opacity:0.46875;fill:url(#linearGradient25453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.26117" y="56.466759" id="rect18387" style="opacity:0.46875;fill:url(#linearGradient25455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.90395" y="81.527306" id="rect18389" style="opacity:0.46875;fill:url(#linearGradient25457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.25595" y="79.487236" id="rect18391" style="opacity:0.1875;fill:url(#linearGradient25459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.13121" y="88.470932" id="rect18393" style="opacity:0.1875;fill:url(#linearGradient25461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.26227" y="86.610855" id="rect18395" style="opacity:0.1875;fill:url(#linearGradient25463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.04407" y="91.484947" id="rect18397" style="opacity:0.46875;fill:url(#linearGradient25465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.31018" y="60.714272" id="rect18399" style="opacity:0.46875;fill:url(#linearGradient25467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.26987" y="76.319176" id="rect18401" style="opacity:0.46875;fill:url(#linearGradient25469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.81497" y="110.69751" id="rect18403" style="opacity:0.1875;fill:url(#linearGradient25471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.56194" y="83.316528" id="rect18405" style="opacity:0.1875;fill:url(#linearGradient25473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.77362" y="75.160622" id="rect18407" style="opacity:0.1875;fill:url(#linearGradient25475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.95584" y="89.178764" id="rect18409" style="opacity:0.46875;fill:url(#linearGradient25477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.21521" y="76.066673" id="rect18411" style="opacity:0.46875;fill:url(#linearGradient25479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.20267" y="110.82329" id="rect18413" style="opacity:0.46875;fill:url(#linearGradient25481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.90068" y="93.641579" id="rect18415" style="opacity:0.1875;fill:url(#linearGradient25483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.98462" y="63.597" id="rect18417" style="opacity:0.1875;fill:url(#linearGradient25485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.41406" y="77.615059" id="rect18419" style="opacity:0.1875;fill:url(#linearGradient25487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.41394" y="84.300209" id="rect18421" style="opacity:0.46875;fill:url(#linearGradient25489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-248.11342" y="100.78419" id="rect18423" style="opacity:0.46875;fill:url(#linearGradient25491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.6394" y="102.52259" id="rect18425" style="opacity:0.46875;fill:url(#linearGradient25493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.46675" y="64.784454" id="rect18427" style="opacity:0.1875;fill:url(#linearGradient25495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.46829" y="98.256683" id="rect18429" style="opacity:0.1875;fill:url(#linearGradient25497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-249.84923" y="102.14691" id="rect18431" style="opacity:0.1875;fill:url(#linearGradient25499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.61346" y="62.031593" id="rect18433" style="opacity:0.46875;fill:url(#linearGradient25501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.99881" y="81.942253" id="rect18435" style="opacity:0.46875;fill:url(#linearGradient25503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.75516" y="80.842926" id="rect18437" style="opacity:0.46875;fill:url(#linearGradient25505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.5466" y="83.51545" id="rect18439" style="opacity:0.1875;fill:url(#linearGradient25507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.53737" y="67.027702" id="rect18441" style="opacity:0.1875;fill:url(#linearGradient25509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.38284" y="103.22467" id="rect18443" style="opacity:0.1875;fill:url(#linearGradient25511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.94073" y="62.307873" id="rect18445" style="opacity:0.46875;fill:url(#linearGradient25513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.1153" y="78.606285" id="rect18447" style="opacity:0.46875;fill:url(#linearGradient25515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.53516" y="98.190308" id="rect18449" style="opacity:0.46875;fill:url(#linearGradient25517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.46397" y="68.309998" id="rect18451" style="opacity:0.1875;fill:url(#linearGradient25519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.96036" y="68.613037" id="rect18453" style="opacity:0.1875;fill:url(#linearGradient25521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.97824" y="70.057411" id="rect18455" style="opacity:0.1875;fill:url(#linearGradient25523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.00824" y="107.40057" id="rect18457" style="opacity:0.46875;fill:url(#linearGradient25525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.42072" y="109.3634" id="rect18459" style="opacity:0.46875;fill:url(#linearGradient25527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.83664" y="65.596466" id="rect18461" style="opacity:0.46875;fill:url(#linearGradient25529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.58488" y="86.885582" id="rect18463" style="opacity:0.1875;fill:url(#linearGradient25531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.64371" y="81.863777" id="rect18465" style="opacity:0.1875;fill:url(#linearGradient25533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.68872" y="98.258194" id="rect18467" style="opacity:0.1875;fill:url(#linearGradient25535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.73193" y="57.614296" id="rect18469" style="opacity:0.46875;fill:url(#linearGradient25537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.63004" y="84.332832" id="rect18471" style="opacity:0.46875;fill:url(#linearGradient25539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.7637" y="69.674995" id="rect18473" style="opacity:0.46875;fill:url(#linearGradient25541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.64343" y="82.495186" id="rect18475" style="opacity:0.1875;fill:url(#linearGradient25543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.85864" y="59.185127" id="rect18477" style="opacity:0.1875;fill:url(#linearGradient25545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.09042" y="74.726555" id="rect18479" style="opacity:0.1875;fill:url(#linearGradient25547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.59351" y="73.606941" id="rect18481" style="opacity:0.46875;fill:url(#linearGradient25549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.58517" y="55.815166" id="rect18483" style="opacity:0.46875;fill:url(#linearGradient25551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.51108" y="80.653122" id="rect18485" style="opacity:0.46875;fill:url(#linearGradient25553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-263.96866" y="89.247513" id="rect18487" style="opacity:0.1875;fill:url(#linearGradient25555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-266.88388" y="80.690773" id="rect18489" style="opacity:0.1875;fill:url(#linearGradient25557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.79605" y="110.67844" id="rect18491" style="opacity:0.1875;fill:url(#linearGradient25559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.51732" y="75.380501" id="rect18493" style="opacity:0.46875;fill:url(#linearGradient25561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.51567" y="103.38647" id="rect18495" style="opacity:0.46875;fill:url(#linearGradient25563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.96869" y="56.758343" id="rect18497" style="opacity:0.46875;fill:url(#linearGradient25565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.85594" y="102.63554" id="rect18499" style="opacity:0.1875;fill:url(#linearGradient25567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.52267" y="109.84169" id="rect18501" style="opacity:0.1875;fill:url(#linearGradient25569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.80392" y="95.125671" id="rect18503" style="opacity:0.1875;fill:url(#linearGradient25571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.16461" y="77.213577" id="rect18505" style="opacity:0.46875;fill:url(#linearGradient25573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.90277" y="95.847725" id="rect18507" style="opacity:0.46875;fill:url(#linearGradient25575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.6911" y="76.100128" id="rect18509" style="opacity:0.46875;fill:url(#linearGradient25577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.52742" y="102.68053" id="rect18511" style="opacity:0.1875;fill:url(#linearGradient25579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.22385" y="67.563797" id="rect18513" style="opacity:0.1875;fill:url(#linearGradient25581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.05579" y="85.764542" id="rect18515" style="opacity:0.1875;fill:url(#linearGradient25583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.3392" y="60.742577" id="rect18517" style="opacity:0.46875;fill:url(#linearGradient25585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.12518" y="68.472763" id="rect18519" style="opacity:0.46875;fill:url(#linearGradient25587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.16914" y="65.996407" id="rect18521" style="opacity:0.46875;fill:url(#linearGradient25589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.75221" y="86.193619" id="rect18523" style="opacity:0.1875;fill:url(#linearGradient25591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.14877" y="101.30114" id="rect18525" style="opacity:0.1875;fill:url(#linearGradient25593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.47665" y="88.885841" id="rect18527" style="opacity:0.1875;fill:url(#linearGradient25595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-241.04015" y="101.66671" id="rect18529" style="opacity:0.46875;fill:url(#linearGradient25597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.33102" y="58.575886" id="rect18531" style="opacity:0.46875;fill:url(#linearGradient25599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.40578" y="57.532642" id="rect18533" style="opacity:0.46875;fill:url(#linearGradient25601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.9127" y="57.526257" id="rect18919" style="opacity:0.1875;fill:url(#linearGradient25603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.32135" y="97.074615" id="rect18921" style="opacity:0.1875;fill:url(#linearGradient25605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.4538" y="66.162369" id="rect18923" style="opacity:0.1875;fill:url(#linearGradient25607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.92183" y="91.841202" id="rect18925" style="opacity:0.46875;fill:url(#linearGradient25609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.95801" y="62.992939" id="rect18927" style="opacity:0.46875;fill:url(#linearGradient25611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.78813" y="60.985554" id="rect18929" style="opacity:0.46875;fill:url(#linearGradient25613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.08983" y="85.340904" id="rect18931" style="opacity:0.1875;fill:url(#linearGradient25615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.02982" y="87.608078" id="rect18933" style="opacity:0.1875;fill:url(#linearGradient25617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-254.55878" y="66.718971" id="rect18935" style="opacity:0.1875;fill:url(#linearGradient25619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.55739" y="84.136307" id="rect18937" style="opacity:0.46875;fill:url(#linearGradient25621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.86101" y="83.323425" id="rect18939" style="opacity:0.46875;fill:url(#linearGradient25623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-278.49765" y="99.488594" id="rect18941" style="opacity:0.46875;fill:url(#linearGradient25625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.55836" y="100.24726" id="rect18943" style="opacity:0.1875;fill:url(#linearGradient25627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.19774" y="92.854179" id="rect18945" style="opacity:0.1875;fill:url(#linearGradient25629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.54205" y="61.351452" id="rect18947" style="opacity:0.1875;fill:url(#linearGradient25631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.98083" y="88.497482" id="rect18949" style="opacity:0.46875;fill:url(#linearGradient25633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.63409" y="99.553261" id="rect18951" style="opacity:0.46875;fill:url(#linearGradient25635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.47437" y="58.168949" id="rect18953" style="opacity:0.46875;fill:url(#linearGradient25637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.33575" y="86.500946" id="rect18955" style="opacity:0.1875;fill:url(#linearGradient25639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.90872" y="103.5072" id="rect18957" style="opacity:0.1875;fill:url(#linearGradient25641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.78004" y="72.946983" id="rect18959" style="opacity:0.1875;fill:url(#linearGradient25643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.84477" y="85.671165" id="rect18961" style="opacity:0.46875;fill:url(#linearGradient25645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.55591" y="89.883553" id="rect18963" style="opacity:0.46875;fill:url(#linearGradient25647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.39258" y="82.950401" id="rect18965" style="opacity:0.46875;fill:url(#linearGradient25649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.30173" y="75.114151" id="rect18967" style="opacity:0.1875;fill:url(#linearGradient25651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.21027" y="71.787895" id="rect18969" style="opacity:0.1875;fill:url(#linearGradient25653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.39825" y="100.81129" id="rect18971" style="opacity:0.1875;fill:url(#linearGradient25655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.18207" y="66.801216" id="rect18973" style="opacity:0.46875;fill:url(#linearGradient25657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.54575" y="94.54393" id="rect18975" style="opacity:0.46875;fill:url(#linearGradient25659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.51776" y="85.290855" id="rect18977" style="opacity:0.46875;fill:url(#linearGradient25661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.5864" y="71.016502" id="rect18979" style="opacity:0.1875;fill:url(#linearGradient25663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.21921" y="65.639832" id="rect18981" style="opacity:0.1875;fill:url(#linearGradient25665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.79636" y="63.71505" id="rect18983" style="opacity:0.1875;fill:url(#linearGradient25667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.34283" y="107.64001" id="rect18985" style="opacity:0.46875;fill:url(#linearGradient25669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.38077" y="99.69957" id="rect18987" style="opacity:0.46875;fill:url(#linearGradient25671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.94934" y="79.567955" id="rect18989" style="opacity:0.46875;fill:url(#linearGradient25673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.47961" y="106.71353" id="rect18991" style="opacity:0.1875;fill:url(#linearGradient25675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.58325" y="84.44001" id="rect18993" style="opacity:0.1875;fill:url(#linearGradient25677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.00653" y="101.09319" id="rect18995" style="opacity:0.1875;fill:url(#linearGradient25679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.39656" y="106.40167" id="rect18997" style="opacity:0.46875;fill:url(#linearGradient25681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.76819" y="70.810738" id="rect18999" style="opacity:0.46875;fill:url(#linearGradient25683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.0509" y="102.26338" id="rect19001" style="opacity:0.46875;fill:url(#linearGradient25685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.00787" y="93.647499" id="rect19003" style="opacity:0.1875;fill:url(#linearGradient25687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.53571" y="108.52261" id="rect19005" style="opacity:0.1875;fill:url(#linearGradient25689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.90356" y="63.263" id="rect19007" style="opacity:0.1875;fill:url(#linearGradient25691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-238.44772" y="90.823517" id="rect19009" style="opacity:0.46875;fill:url(#linearGradient25693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.47687" y="89.193001" id="rect19011" style="opacity:0.46875;fill:url(#linearGradient25695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.64713" y="62.666931" id="rect19013" style="opacity:0.46875;fill:url(#linearGradient25697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.9185" y="73.799789" id="rect19015" style="opacity:0.1875;fill:url(#linearGradient25699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.84146" y="86.224449" id="rect19017" style="opacity:0.1875;fill:url(#linearGradient25701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.98773" y="110.16738" id="rect19019" style="opacity:0.1875;fill:url(#linearGradient25703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.17789" y="94.973297" id="rect19021" style="opacity:0.46875;fill:url(#linearGradient25705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.49565" y="74.358421" id="rect19023" style="opacity:0.46875;fill:url(#linearGradient25707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.55728" y="95.373718" id="rect19025" style="opacity:0.46875;fill:url(#linearGradient25709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.83374" y="90.887688" id="rect19027" style="opacity:0.1875;fill:url(#linearGradient25711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.96057" y="94.594093" id="rect19029" style="opacity:0.1875;fill:url(#linearGradient25713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.0192" y="91.37999" id="rect19031" style="opacity:0.1875;fill:url(#linearGradient25715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.39069" y="68.775909" id="rect19033" style="opacity:0.46875;fill:url(#linearGradient25717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.06958" y="103.01775" id="rect19035" style="opacity:0.46875;fill:url(#linearGradient25719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.51514" y="76.4011" id="rect19037" style="opacity:0.46875;fill:url(#linearGradient25721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.21619" y="67.520676" id="rect19039" style="opacity:0.1875;fill:url(#linearGradient25723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-279.83255" y="84.320534" id="rect19041" style="opacity:0.1875;fill:url(#linearGradient25725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.59525" y="71.078278" id="rect19043" style="opacity:0.1875;fill:url(#linearGradient25727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.35696" y="86.638985" id="rect19045" style="opacity:0.46875;fill:url(#linearGradient25729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.40378" y="82.163078" id="rect19047" style="opacity:0.46875;fill:url(#linearGradient25731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.71713" y="82.552078" id="rect19049" style="opacity:0.46875;fill:url(#linearGradient25733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.31723" y="80.803482" id="rect19051" style="opacity:0.1875;fill:url(#linearGradient25735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.43948" y="78.776352" id="rect19053" style="opacity:0.1875;fill:url(#linearGradient25737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.18832" y="105.04062" id="rect19055" style="opacity:0.1875;fill:url(#linearGradient25739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.76416" y="69.334221" id="rect19057" style="opacity:0.46875;fill:url(#linearGradient25741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.53604" y="106.49574" id="rect19059" style="opacity:0.46875;fill:url(#linearGradient25743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.6328" y="95.204269" id="rect19061" style="opacity:0.46875;fill:url(#linearGradient25745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.92119" y="57.997192" id="rect19063" style="opacity:0.1875;fill:url(#linearGradient25747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.89978" y="108.55125" id="rect19065" style="opacity:0.1875;fill:url(#linearGradient25749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-269.3967" y="110.37301" id="rect19067" style="opacity:0.1875;fill:url(#linearGradient25751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.70844" y="69.12841" id="rect19069" style="opacity:0.46875;fill:url(#linearGradient25753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.84006" y="95.986496" id="rect19071" style="opacity:0.46875;fill:url(#linearGradient25755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.98888" y="103.69247" id="rect19073" style="opacity:0.46875;fill:url(#linearGradient25757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.38586" y="67.375679" id="rect19075" style="opacity:0.1875;fill:url(#linearGradient25759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.78357" y="70.102432" id="rect19077" style="opacity:0.1875;fill:url(#linearGradient25761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.98303" y="107.18321" id="rect19079" style="opacity:0.1875;fill:url(#linearGradient25763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.54657" y="74.298431" id="rect19081" style="opacity:0.46875;fill:url(#linearGradient25765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.54166" y="91.346199" id="rect19083" style="opacity:0.46875;fill:url(#linearGradient25767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.13815" y="80.275932" id="rect19085" style="opacity:0.46875;fill:url(#linearGradient25769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.84622" y="78.927689" id="rect19087" style="opacity:0.1875;fill:url(#linearGradient25771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.49251" y="104.74801" id="rect19089" style="opacity:0.1875;fill:url(#linearGradient25773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.81819" y="60.508629" id="rect19091" style="opacity:0.1875;fill:url(#linearGradient25775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.77986" y="84.047173" id="rect19093" style="opacity:0.46875;fill:url(#linearGradient25777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.71603" y="93.857674" id="rect19095" style="opacity:0.46875;fill:url(#linearGradient25779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.01331" y="68.597374" id="rect19097" style="opacity:0.46875;fill:url(#linearGradient25781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.43222" y="67.29528" id="rect19099" style="opacity:0.1875;fill:url(#linearGradient25783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.39505" y="75.4105" id="rect19101" style="opacity:0.1875;fill:url(#linearGradient25785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.18639" y="93.951813" id="rect19103" style="opacity:0.1875;fill:url(#linearGradient25787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.88348" y="66.440628" id="rect19105" style="opacity:0.46875;fill:url(#linearGradient25789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.90556" y="83.751076" id="rect19107" style="opacity:0.46875;fill:url(#linearGradient25791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.24927" y="64.618744" id="rect19109" style="opacity:0.46875;fill:url(#linearGradient25793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.68109" y="104.28016" id="rect19111" style="opacity:0.1875;fill:url(#linearGradient25795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.19943" y="89.530205" id="rect19113" style="opacity:0.1875;fill:url(#linearGradient25797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.99399" y="105.37378" id="rect19115" style="opacity:0.1875;fill:url(#linearGradient25799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.28281" y="60.801304" id="rect19117" style="opacity:0.46875;fill:url(#linearGradient25801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.56076" y="82.010605" id="rect19119" style="opacity:0.46875;fill:url(#linearGradient25803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.97751" y="82.576714" id="rect19121" style="opacity:0.46875;fill:url(#linearGradient25805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.05029" y="99.69252" id="rect19123" style="opacity:0.1875;fill:url(#linearGradient25807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.12518" y="56.092049" id="rect19125" style="opacity:0.1875;fill:url(#linearGradient25809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.81729" y="83.794304" id="rect19127" style="opacity:0.1875;fill:url(#linearGradient25811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.71368" y="105.04692" id="rect19129" style="opacity:0.46875;fill:url(#linearGradient25813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.64838" y="65.826553" id="rect19131" style="opacity:0.46875;fill:url(#linearGradient25815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.96567" y="64.875366" id="rect19133" style="opacity:0.46875;fill:url(#linearGradient25817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.39728" y="105.96532" id="rect19135" style="opacity:0.1875;fill:url(#linearGradient25819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.63116" y="84.33313" id="rect19137" style="opacity:0.1875;fill:url(#linearGradient25821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.94666" y="103.36714" id="rect19139" style="opacity:0.1875;fill:url(#linearGradient25823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.03406" y="72.169991" id="rect19141" style="opacity:0.46875;fill:url(#linearGradient25825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.07004" y="91.508087" id="rect19143" style="opacity:0.46875;fill:url(#linearGradient25827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.74023" y="65.295685" id="rect19145" style="opacity:0.46875;fill:url(#linearGradient25829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.46622" y="94.028046" id="rect19147" style="opacity:0.1875;fill:url(#linearGradient25831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.63184" y="100.02885" id="rect19149" style="opacity:0.1875;fill:url(#linearGradient25833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.31564" y="68.181747" id="rect19151" style="opacity:0.1875;fill:url(#linearGradient25835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.37823" y="80.158287" id="rect19153" style="opacity:0.46875;fill:url(#linearGradient25837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.25195" y="73.81916" id="rect19155" style="opacity:0.46875;fill:url(#linearGradient25839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.21211" y="72.697601" id="rect19157" style="opacity:0.46875;fill:url(#linearGradient25841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.42764" y="91.750961" id="rect19159" style="opacity:0.1875;fill:url(#linearGradient25843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.2442" y="84.52874" id="rect19161" style="opacity:0.1875;fill:url(#linearGradient25845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.86484" y="66.390846" id="rect19163" style="opacity:0.1875;fill:url(#linearGradient25847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.04269" y="107.95484" id="rect19165" style="opacity:0.46875;fill:url(#linearGradient25849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.05286" y="78.926689" id="rect19167" style="opacity:0.46875;fill:url(#linearGradient25851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.63925" y="107.33574" id="rect19169" style="opacity:0.46875;fill:url(#linearGradient25853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.09424" y="64.496719" id="rect19171" style="opacity:0.1875;fill:url(#linearGradient25855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.27118" y="70.296356" id="rect19173" style="opacity:0.1875;fill:url(#linearGradient25857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.17659" y="90.893532" id="rect19175" style="opacity:0.1875;fill:url(#linearGradient25859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.24466" y="62.413158" id="rect19177" style="opacity:0.46875;fill:url(#linearGradient25861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.59363" y="91.436836" id="rect19179" style="opacity:0.46875;fill:url(#linearGradient25863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.57291" y="92.877731" id="rect19181" style="opacity:0.46875;fill:url(#linearGradient25865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.94574" y="85.862312" id="rect19183" style="opacity:0.1875;fill:url(#linearGradient25867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.98853" y="63.901665" id="rect19185" style="opacity:0.1875;fill:url(#linearGradient25869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.00256" y="107.28114" id="rect19187" style="opacity:0.1875;fill:url(#linearGradient25871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.86865" y="89.48291" id="rect19189" style="opacity:0.46875;fill:url(#linearGradient25873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.61465" y="57.415867" id="rect19191" style="opacity:0.46875;fill:url(#linearGradient25875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-254.48337" y="84.216339" id="rect19193" style="opacity:0.46875;fill:url(#linearGradient25877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.94864" y="71.953529" id="rect19195" style="opacity:0.1875;fill:url(#linearGradient25879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.51169" y="68.122597" id="rect19197" style="opacity:0.1875;fill:url(#linearGradient25881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.92078" y="111.10387" id="rect19199" style="opacity:0.1875;fill:url(#linearGradient25883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.40286" y="63.712029" id="rect19201" style="opacity:0.46875;fill:url(#linearGradient25885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.28314" y="106.27374" id="rect19203" style="opacity:0.46875;fill:url(#linearGradient25887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.1701" y="55.287373" id="rect19205" style="opacity:0.46875;fill:url(#linearGradient25889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.48601" y="57.769218" id="rect19207" style="opacity:0.1875;fill:url(#linearGradient25891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.46838" y="77.377342" id="rect19209" style="opacity:0.1875;fill:url(#linearGradient25893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.15372" y="69.913437" id="rect19211" style="opacity:0.1875;fill:url(#linearGradient25895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.19022" y="65.70224" id="rect19213" style="opacity:0.46875;fill:url(#linearGradient25897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.64978" y="94.028038" id="rect19215" style="opacity:0.46875;fill:url(#linearGradient25899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.81993" y="97.112503" id="rect19217" style="opacity:0.46875;fill:url(#linearGradient25901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.59576" y="97.91346" id="rect19219" style="opacity:0.1875;fill:url(#linearGradient25903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.39734" y="98.881744" id="rect19221" style="opacity:0.1875;fill:url(#linearGradient25905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.14093" y="78.441406" id="rect19223" style="opacity:0.1875;fill:url(#linearGradient25907);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-304.33417" y="55.983482" id="rect19225" style="opacity:0.46875;fill:url(#linearGradient25909);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.66583" y="72.041855" id="rect19227" style="opacity:0.46875;fill:url(#linearGradient25911);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.92673" y="70.234978" id="rect19229" style="opacity:0.46875;fill:url(#linearGradient25913);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.9696" y="84.045815" id="rect19231" style="opacity:0.1875;fill:url(#linearGradient25915);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.9485" y="110.36636" id="rect19233" style="opacity:0.1875;fill:url(#linearGradient25917);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.12448" y="78.765671" id="rect19235" style="opacity:0.1875;fill:url(#linearGradient25919);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-268.93396" y="66.957794" id="rect19237" style="opacity:0.46875;fill:url(#linearGradient25921);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.72153" y="63.677078" id="rect19239" style="opacity:0.46875;fill:url(#linearGradient25923);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.16353" y="106.5026" id="rect19241" style="opacity:0.46875;fill:url(#linearGradient25925);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-229.84259" y="78.04248" id="rect19243" style="opacity:0.1875;fill:url(#linearGradient25927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.24341" y="97.765053" id="rect19245" style="opacity:0.1875;fill:url(#linearGradient25929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.61215" y="105.56336" id="rect19247" style="opacity:0.1875;fill:url(#linearGradient25931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.03516" y="103.79118" id="rect19249" style="opacity:0.46875;fill:url(#linearGradient25933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.26445" y="74.449562" id="rect19251" style="opacity:0.46875;fill:url(#linearGradient25935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.85646" y="68.907692" id="rect19253" style="opacity:0.46875;fill:url(#linearGradient25937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.54657" y="89.704041" id="rect19255" style="opacity:0.1875;fill:url(#linearGradient25939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.86136" y="76.668816" id="rect19257" style="opacity:0.1875;fill:url(#linearGradient25941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.42096" y="61.806561" id="rect19259" style="opacity:0.1875;fill:url(#linearGradient25943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.98203" y="69.427635" id="rect19261" style="opacity:0.46875;fill:url(#linearGradient25945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.41055" y="85.174919" id="rect19263" style="opacity:0.46875;fill:url(#linearGradient25947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.0016" y="103.53281" id="rect19265" style="opacity:0.46875;fill:url(#linearGradient25949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.7686" y="75.559853" id="rect19267" style="opacity:0.1875;fill:url(#linearGradient25951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.5695" y="107.75644" id="rect19269" style="opacity:0.1875;fill:url(#linearGradient25953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.72728" y="105.42181" id="rect19271" style="opacity:0.1875;fill:url(#linearGradient25955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.7652" y="82.467445" id="rect19273" style="opacity:0.46875;fill:url(#linearGradient25957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.38632" y="95.402771" id="rect19275" style="opacity:0.46875;fill:url(#linearGradient25959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.82684" y="72.933113" id="rect19277" style="opacity:0.46875;fill:url(#linearGradient25961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.04517" y="93.536026" id="rect19279" style="opacity:0.1875;fill:url(#linearGradient25963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-270.15546" y="89.64119" id="rect19281" style="opacity:0.1875;fill:url(#linearGradient25965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.89304" y="66.820396" id="rect19283" style="opacity:0.1875;fill:url(#linearGradient25967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.6131" y="71.216759" id="rect19285" style="opacity:0.46875;fill:url(#linearGradient25969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.00293" y="94.547012" id="rect19287" style="opacity:0.46875;fill:url(#linearGradient25971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.54749" y="111.24785" id="rect19289" style="opacity:0.46875;fill:url(#linearGradient25973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.9171" y="75.402245" id="rect19291" style="opacity:0.1875;fill:url(#linearGradient25975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.30652" y="64.5979" id="rect19293" style="opacity:0.1875;fill:url(#linearGradient25977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.15259" y="109.60979" id="rect19295" style="opacity:0.1875;fill:url(#linearGradient25979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.30212" y="103.83401" id="rect19297" style="opacity:0.46875;fill:url(#linearGradient25981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.05688" y="70.616966" id="rect19299" style="opacity:0.46875;fill:url(#linearGradient25983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.5407" y="108.18846" id="rect19301" style="opacity:0.46875;fill:url(#linearGradient25985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.00439" y="89.209114" id="rect19687" style="opacity:0.1875;fill:url(#linearGradient25987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.96806" y="93.906403" id="rect19689" style="opacity:0.1875;fill:url(#linearGradient25989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.9646" y="71.037643" id="rect19691" style="opacity:0.1875;fill:url(#linearGradient25991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.56036" y="72.821198" id="rect19693" style="opacity:0.46875;fill:url(#linearGradient25993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.60529" y="60.0312" id="rect19695" style="opacity:0.46875;fill:url(#linearGradient25995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.2816" y="72.936653" id="rect19697" style="opacity:0.46875;fill:url(#linearGradient25997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-285.78677" y="56.41328" id="rect19699" style="opacity:0.1875;fill:url(#linearGradient25999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-279.86523" y="110.02824" id="rect19701" style="opacity:0.1875;fill:url(#linearGradient26001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.45341" y="55.875343" id="rect19703" style="opacity:0.1875;fill:url(#linearGradient26003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.50208" y="103.96443" id="rect19705" style="opacity:0.46875;fill:url(#linearGradient26005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.84354" y="67.604721" id="rect19707" style="opacity:0.46875;fill:url(#linearGradient26007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.03075" y="96.542793" id="rect19709" style="opacity:0.46875;fill:url(#linearGradient26009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.05197" y="77.771103" id="rect19711" style="opacity:0.1875;fill:url(#linearGradient26011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.98514" y="107.89761" id="rect19713" style="opacity:0.1875;fill:url(#linearGradient26013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.06744" y="100.2785" id="rect19715" style="opacity:0.1875;fill:url(#linearGradient26015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.4613" y="93.778717" id="rect19717" style="opacity:0.46875;fill:url(#linearGradient26017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-274.2962" y="110.55288" id="rect19719" style="opacity:0.46875;fill:url(#linearGradient26019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.81448" y="104.48936" id="rect19721" style="opacity:0.46875;fill:url(#linearGradient26021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.3071" y="90.755722" id="rect19723" style="opacity:0.1875;fill:url(#linearGradient26023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.40009" y="66.625076" id="rect19725" style="opacity:0.1875;fill:url(#linearGradient26025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.82065" y="61.598354" id="rect19727" style="opacity:0.1875;fill:url(#linearGradient26027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-241.56587" y="78.79348" id="rect19729" style="opacity:0.46875;fill:url(#linearGradient26029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.73978" y="109.59057" id="rect19731" style="opacity:0.46875;fill:url(#linearGradient26031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.17905" y="69.12339" id="rect19733" style="opacity:0.46875;fill:url(#linearGradient26033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-216.81087" y="69.328728" id="rect19735" style="opacity:0.1875;fill:url(#linearGradient26035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-245.59779" y="60.468842" id="rect19737" style="opacity:0.1875;fill:url(#linearGradient26037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.39996" y="69.177399" id="rect19739" style="opacity:0.1875;fill:url(#linearGradient26039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.0867" y="103.58194" id="rect19741" style="opacity:0.46875;fill:url(#linearGradient26041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.35747" y="97.591721" id="rect19743" style="opacity:0.46875;fill:url(#linearGradient26043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.92908" y="108.21365" id="rect19745" style="opacity:0.46875;fill:url(#linearGradient26045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.70068" y="94.988106" id="rect19747" style="opacity:0.1875;fill:url(#linearGradient26047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.22475" y="86.568611" id="rect19749" style="opacity:0.1875;fill:url(#linearGradient26049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.897" y="68.450813" id="rect19751" style="opacity:0.1875;fill:url(#linearGradient26051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.28683" y="105.07285" id="rect19753" style="opacity:0.46875;fill:url(#linearGradient26053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.34781" y="101.12499" id="rect19755" style="opacity:0.46875;fill:url(#linearGradient26055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.66919" y="72.771706" id="rect19757" style="opacity:0.46875;fill:url(#linearGradient26057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.08136" y="109.14403" id="rect19759" style="opacity:0.1875;fill:url(#linearGradient26059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-266.47391" y="56.483292" id="rect19761" style="opacity:0.1875;fill:url(#linearGradient26061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.57245" y="77.759392" id="rect19763" style="opacity:0.1875;fill:url(#linearGradient26063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.63818" y="84.989304" id="rect19765" style="opacity:0.46875;fill:url(#linearGradient26065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.00952" y="84.498077" id="rect19767" style="opacity:0.46875;fill:url(#linearGradient26067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.5238" y="87.767929" id="rect19769" style="opacity:0.46875;fill:url(#linearGradient26069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.25314" y="107.81876" id="rect19771" style="opacity:0.1875;fill:url(#linearGradient26071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.9086" y="92.5084" id="rect19773" style="opacity:0.1875;fill:url(#linearGradient26073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.40143" y="68.458366" id="rect19775" style="opacity:0.1875;fill:url(#linearGradient26075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.85092" y="65.466675" id="rect19777" style="opacity:0.46875;fill:url(#linearGradient26077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.8295" y="68.729492" id="rect19779" style="opacity:0.46875;fill:url(#linearGradient26079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.39764" y="58.76083" id="rect19781" style="opacity:0.46875;fill:url(#linearGradient26081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.33389" y="91.26815" id="rect19783" style="opacity:0.1875;fill:url(#linearGradient26083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.94896" y="82.49556" id="rect19785" style="opacity:0.1875;fill:url(#linearGradient26085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.46701" y="75.851974" id="rect19787" style="opacity:0.1875;fill:url(#linearGradient26087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-302.13321" y="72.279182" id="rect19789" style="opacity:0.46875;fill:url(#linearGradient26089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.7038" y="106.88218" id="rect19791" style="opacity:0.46875;fill:url(#linearGradient26091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.86159" y="71.95945" id="rect19793" style="opacity:0.46875;fill:url(#linearGradient26093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.88998" y="66.489037" id="rect19795" style="opacity:0.1875;fill:url(#linearGradient26095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.97731" y="90.453789" id="rect19797" style="opacity:0.1875;fill:url(#linearGradient26097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.25266" y="74.747742" id="rect19799" style="opacity:0.1875;fill:url(#linearGradient26099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.03563" y="65.806068" id="rect19801" style="opacity:0.46875;fill:url(#linearGradient26101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.26402" y="74.816711" id="rect19803" style="opacity:0.46875;fill:url(#linearGradient26103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.60954" y="70.76754" id="rect19805" style="opacity:0.46875;fill:url(#linearGradient26105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.31042" y="82.344101" id="rect19807" style="opacity:0.1875;fill:url(#linearGradient26107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-245.2084" y="90.807762" id="rect19809" style="opacity:0.1875;fill:url(#linearGradient26109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-239.56085" y="74.873642" id="rect19811" style="opacity:0.1875;fill:url(#linearGradient26111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.24194" y="108.07713" id="rect19813" style="opacity:0.46875;fill:url(#linearGradient26113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-254.00378" y="94.862534" id="rect19815" style="opacity:0.46875;fill:url(#linearGradient26115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.65979" y="88.722481" id="rect19817" style="opacity:0.46875;fill:url(#linearGradient26117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.76619" y="104.99657" id="rect19819" style="opacity:0.1875;fill:url(#linearGradient26119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.69971" y="99.441635" id="rect19821" style="opacity:0.1875;fill:url(#linearGradient26121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.08588" y="55.394043" id="rect19823" style="opacity:0.1875;fill:url(#linearGradient26123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.71527" y="89.729172" id="rect19825" style="opacity:0.46875;fill:url(#linearGradient26125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.57977" y="87.39814" id="rect19827" style="opacity:0.46875;fill:url(#linearGradient26127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.60815" y="61.057537" id="rect19829" style="opacity:0.46875;fill:url(#linearGradient26129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.3033" y="93.364738" id="rect19831" style="opacity:0.1875;fill:url(#linearGradient26131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.2106" y="109.53021" id="rect19833" style="opacity:0.1875;fill:url(#linearGradient26133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.3336" y="95.752419" id="rect19835" style="opacity:0.1875;fill:url(#linearGradient26135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.09399" y="108.47672" id="rect19837" style="opacity:0.46875;fill:url(#linearGradient26137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.98718" y="56.313244" id="rect19839" style="opacity:0.46875;fill:url(#linearGradient26139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.88078" y="66.299667" id="rect19841" style="opacity:0.46875;fill:url(#linearGradient26141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.43297" y="98.155182" id="rect19843" style="opacity:0.1875;fill:url(#linearGradient26143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-264.12787" y="56.134888" id="rect19845" style="opacity:0.1875;fill:url(#linearGradient26145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.90723" y="99.438095" id="rect19847" style="opacity:0.1875;fill:url(#linearGradient26147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.72171" y="108.76661" id="rect19849" style="opacity:0.46875;fill:url(#linearGradient26149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.49231" y="66.532898" id="rect19851" style="opacity:0.46875;fill:url(#linearGradient26151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.77087" y="79.516312" id="rect19853" style="opacity:0.46875;fill:url(#linearGradient26153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.68567" y="88.295525" id="rect19855" style="opacity:0.1875;fill:url(#linearGradient26155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-264.75388" y="79.418007" id="rect19857" style="opacity:0.1875;fill:url(#linearGradient26157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.2804" y="82.868881" id="rect19859" style="opacity:0.1875;fill:url(#linearGradient26159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.78253" y="86.814514" id="rect19861" style="opacity:0.46875;fill:url(#linearGradient26161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.81927" y="61.421219" id="rect19863" style="opacity:0.46875;fill:url(#linearGradient26163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.81541" y="88.583298" id="rect19865" style="opacity:0.46875;fill:url(#linearGradient26165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.35025" y="110.12419" id="rect19867" style="opacity:0.1875;fill:url(#linearGradient26167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.07797" y="86.085411" id="rect19869" style="opacity:0.1875;fill:url(#linearGradient26169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.14191" y="111.1115" id="rect19871" style="opacity:0.1875;fill:url(#linearGradient26171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.09656" y="84.347092" id="rect19873" style="opacity:0.46875;fill:url(#linearGradient26173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.2934" y="71.749733" id="rect19875" style="opacity:0.46875;fill:url(#linearGradient26175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.99847" y="67.531227" id="rect19877" style="opacity:0.46875;fill:url(#linearGradient26177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.12584" y="61.71769" id="rect19879" style="opacity:0.1875;fill:url(#linearGradient26179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.22586" y="107.49362" id="rect19881" style="opacity:0.1875;fill:url(#linearGradient26181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.43884" y="105.33451" id="rect19883" style="opacity:0.1875;fill:url(#linearGradient26183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.26175" y="107.8763" id="rect19885" style="opacity:0.46875;fill:url(#linearGradient26185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-264.44354" y="67.935165" id="rect19887" style="opacity:0.46875;fill:url(#linearGradient26187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.49667" y="96.643944" id="rect19889" style="opacity:0.46875;fill:url(#linearGradient26189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.63341" y="107.29041" id="rect19891" style="opacity:0.1875;fill:url(#linearGradient26191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-228.05434" y="67.919067" id="rect19893" style="opacity:0.1875;fill:url(#linearGradient26193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.32623" y="107.8399" id="rect19895" style="opacity:0.1875;fill:url(#linearGradient26195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-289.12415" y="104.71578" id="rect19897" style="opacity:0.46875;fill:url(#linearGradient26197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.92154" y="103.894" id="rect19899" style="opacity:0.46875;fill:url(#linearGradient26199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.99353" y="69.89447" id="rect19901" style="opacity:0.46875;fill:url(#linearGradient26201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.92441" y="70.290993" id="rect19903" style="opacity:0.1875;fill:url(#linearGradient26203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.26547" y="75.941833" id="rect19905" style="opacity:0.1875;fill:url(#linearGradient26205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.47929" y="81.975525" id="rect19907" style="opacity:0.1875;fill:url(#linearGradient26207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.77673" y="111.29926" id="rect19909" style="opacity:0.46875;fill:url(#linearGradient26209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.11667" y="99.947609" id="rect19911" style="opacity:0.46875;fill:url(#linearGradient26211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.85245" y="88.847588" id="rect19913" style="opacity:0.46875;fill:url(#linearGradient26213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.8663" y="99.503418" id="rect19915" style="opacity:0.1875;fill:url(#linearGradient26215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.01836" y="106.64564" id="rect19917" style="opacity:0.1875;fill:url(#linearGradient26217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.59598" y="66.732162" id="rect19919" style="opacity:0.1875;fill:url(#linearGradient26219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.82793" y="100.37089" id="rect19921" style="opacity:0.46875;fill:url(#linearGradient26221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.13416" y="81.990974" id="rect19923" style="opacity:0.46875;fill:url(#linearGradient26223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.29108" y="92.491669" id="rect19925" style="opacity:0.46875;fill:url(#linearGradient26225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-291.61893" y="79.634949" id="rect19927" style="opacity:0.1875;fill:url(#linearGradient26227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.52936" y="98.797989" id="rect19929" style="opacity:0.1875;fill:url(#linearGradient26229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.95828" y="110.65452" id="rect19931" style="opacity:0.1875;fill:url(#linearGradient26231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.95099" y="100.52077" id="rect19933" style="opacity:0.46875;fill:url(#linearGradient26233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.4422" y="93.812157" id="rect19935" style="opacity:0.46875;fill:url(#linearGradient26235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.36646" y="94.473045" id="rect19937" style="opacity:0.46875;fill:url(#linearGradient26237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.96104" y="111.20544" id="rect19939" style="opacity:0.1875;fill:url(#linearGradient26239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.77539" y="78.428696" id="rect19941" style="opacity:0.1875;fill:url(#linearGradient26241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.76193" y="101.67466" id="rect19943" style="opacity:0.1875;fill:url(#linearGradient26243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.64917" y="55.1898" id="rect19945" style="opacity:0.46875;fill:url(#linearGradient26245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.67783" y="105.24789" id="rect19947" style="opacity:0.46875;fill:url(#linearGradient26247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.7887" y="107.56207" id="rect19949" style="opacity:0.46875;fill:url(#linearGradient26249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.32104" y="75.765396" id="rect19951" style="opacity:0.1875;fill:url(#linearGradient26251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.3252" y="70.395012" id="rect19953" style="opacity:0.1875;fill:url(#linearGradient26253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.4624" y="77.843994" id="rect19955" style="opacity:0.1875;fill:url(#linearGradient26255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.46291" y="97.798653" id="rect19957" style="opacity:0.46875;fill:url(#linearGradient26257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.97621" y="92.625015" id="rect19959" style="opacity:0.46875;fill:url(#linearGradient26259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.16928" y="66.244278" id="rect19961" style="opacity:0.46875;fill:url(#linearGradient26261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.05453" y="106.82121" id="rect19963" style="opacity:0.1875;fill:url(#linearGradient26263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.95485" y="82.979355" id="rect19965" style="opacity:0.1875;fill:url(#linearGradient26265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.56934" y="75.003525" id="rect19967" style="opacity:0.1875;fill:url(#linearGradient26267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.9155" y="60.718307" id="rect19969" style="opacity:0.46875;fill:url(#linearGradient26269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.39957" y="65.565224" id="rect19971" style="opacity:0.46875;fill:url(#linearGradient26271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.19415" y="66.931465" id="rect19973" style="opacity:0.46875;fill:url(#linearGradient26273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.45161" y="67.468315" id="rect19975" style="opacity:0.1875;fill:url(#linearGradient26275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.94643" y="102.85509" id="rect19977" style="opacity:0.1875;fill:url(#linearGradient26277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.84683" y="97.23008" id="rect19979" style="opacity:0.1875;fill:url(#linearGradient26279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.62408" y="106.39987" id="rect19981" style="opacity:0.46875;fill:url(#linearGradient26281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.86404" y="86.620399" id="rect19983" style="opacity:0.46875;fill:url(#linearGradient26283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.98251" y="105.18267" id="rect19985" style="opacity:0.46875;fill:url(#linearGradient26285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.57259" y="96.846413" id="rect19987" style="opacity:0.1875;fill:url(#linearGradient26287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.35466" y="72.427864" id="rect19989" style="opacity:0.1875;fill:url(#linearGradient26289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.7484" y="60.295509" id="rect19991" style="opacity:0.1875;fill:url(#linearGradient26291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.45859" y="103.16962" id="rect19993" style="opacity:0.46875;fill:url(#linearGradient26293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.9902" y="99.331314" id="rect19995" style="opacity:0.46875;fill:url(#linearGradient26295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.4754" y="67.198364" id="rect19997" style="opacity:0.46875;fill:url(#linearGradient26297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.57295" y="78.623528" id="rect19999" style="opacity:0.1875;fill:url(#linearGradient26299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.48843" y="58.754765" id="rect20001" style="opacity:0.1875;fill:url(#linearGradient26301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.62601" y="92.053108" id="rect20003" style="opacity:0.1875;fill:url(#linearGradient26303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-268.83109" y="89.63459" id="rect20005" style="opacity:0.46875;fill:url(#linearGradient26305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.99036" y="81.23172" id="rect20007" style="opacity:0.46875;fill:url(#linearGradient26307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.10904" y="79.479607" id="rect20009" style="opacity:0.46875;fill:url(#linearGradient26309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.9653" y="83.475426" id="rect20011" style="opacity:0.1875;fill:url(#linearGradient26311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.05237" y="99.696861" id="rect20013" style="opacity:0.1875;fill:url(#linearGradient26313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.81726" y="94.231972" id="rect20015" style="opacity:0.1875;fill:url(#linearGradient26315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.22989" y="104.25684" id="rect20017" style="opacity:0.46875;fill:url(#linearGradient26317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.13651" y="55.010883" id="rect20019" style="opacity:0.46875;fill:url(#linearGradient26319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-239.68616" y="109.11954" id="rect20021" style="opacity:0.46875;fill:url(#linearGradient26321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.49696" y="76.606689" id="rect20023" style="opacity:0.1875;fill:url(#linearGradient26323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.6626" y="75.026268" id="rect20025" style="opacity:0.1875;fill:url(#linearGradient26325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.59128" y="88.79126" id="rect20027" style="opacity:0.1875;fill:url(#linearGradient26327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.85246" y="107.28387" id="rect20029" style="opacity:0.46875;fill:url(#linearGradient26329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.85561" y="83.328651" id="rect20031" style="opacity:0.46875;fill:url(#linearGradient26331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.79652" y="91.03093" id="rect20033" style="opacity:0.46875;fill:url(#linearGradient26333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.53204" y="102.40226" id="rect20035" style="opacity:0.1875;fill:url(#linearGradient26335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.65462" y="86.312164" id="rect20037" style="opacity:0.1875;fill:url(#linearGradient26337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.23593" y="99.523064" id="rect20039" style="opacity:0.1875;fill:url(#linearGradient26339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.10629" y="85.250237" id="rect20041" style="opacity:0.46875;fill:url(#linearGradient26341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.59616" y="62.64764" id="rect20043" style="opacity:0.46875;fill:url(#linearGradient26343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.72336" y="57.199894" id="rect20045" style="opacity:0.46875;fill:url(#linearGradient26345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.94009" y="69.578125" id="rect20047" style="opacity:0.1875;fill:url(#linearGradient26347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.54706" y="63.932827" id="rect20049" style="opacity:0.1875;fill:url(#linearGradient26349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.06938" y="71.778969" id="rect20051" style="opacity:0.1875;fill:url(#linearGradient26351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.02867" y="79.090485" id="rect20053" style="opacity:0.46875;fill:url(#linearGradient26353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.32771" y="69.432304" id="rect20055" style="opacity:0.46875;fill:url(#linearGradient26355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.56918" y="79.627808" id="rect20057" style="opacity:0.46875;fill:url(#linearGradient26357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.56387" y="56.465225" id="rect20059" style="opacity:0.1875;fill:url(#linearGradient26359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.46451" y="90.167923" id="rect20061" style="opacity:0.1875;fill:url(#linearGradient26361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.4277" y="82.128593" id="rect20063" style="opacity:0.1875;fill:url(#linearGradient26363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.59889" y="70.86586" id="rect20065" style="opacity:0.46875;fill:url(#linearGradient26365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-304.18463" y="88.390617" id="rect20067" style="opacity:0.46875;fill:url(#linearGradient26367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.64938" y="101.78397" id="rect20069" style="opacity:0.46875;fill:url(#linearGradient26369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.71817" y="81.253448" id="rect20455" style="opacity:0.1875;fill:url(#linearGradient26371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.49081" y="65.51342" id="rect20457" style="opacity:0.1875;fill:url(#linearGradient26373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.75214" y="109.76508" id="rect20459" style="opacity:0.1875;fill:url(#linearGradient26375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.04233" y="88.218803" id="rect20461" style="opacity:0.46875;fill:url(#linearGradient26377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.86346" y="85.858627" id="rect20463" style="opacity:0.46875;fill:url(#linearGradient26379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.32182" y="82.631157" id="rect20465" style="opacity:0.46875;fill:url(#linearGradient26381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.48117" y="82.083504" id="rect20467" style="opacity:0.1875;fill:url(#linearGradient26383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.10507" y="108.23654" id="rect20469" style="opacity:0.1875;fill:url(#linearGradient26385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.32974" y="64.70713" id="rect20471" style="opacity:0.1875;fill:url(#linearGradient26387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.16614" y="74.961967" id="rect20473" style="opacity:0.46875;fill:url(#linearGradient26389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.05365" y="62.712513" id="rect20475" style="opacity:0.46875;fill:url(#linearGradient26391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.00711" y="72.933044" id="rect20477" style="opacity:0.46875;fill:url(#linearGradient26393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.22855" y="110.74557" id="rect20479" style="opacity:0.1875;fill:url(#linearGradient26395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.3591" y="79.526146" id="rect20481" style="opacity:0.1875;fill:url(#linearGradient26397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.60628" y="106.92101" id="rect20483" style="opacity:0.1875;fill:url(#linearGradient26399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.54721" y="80.424744" id="rect20485" style="opacity:0.46875;fill:url(#linearGradient26401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.69498" y="73.441864" id="rect20487" style="opacity:0.46875;fill:url(#linearGradient26403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.30206" y="67.167152" id="rect20489" style="opacity:0.46875;fill:url(#linearGradient26405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.45755" y="100.83543" id="rect20491" style="opacity:0.1875;fill:url(#linearGradient26407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.74637" y="77.731842" id="rect20493" style="opacity:0.1875;fill:url(#linearGradient26409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.5361" y="63.783749" id="rect20495" style="opacity:0.1875;fill:url(#linearGradient26411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.29132" y="96.522278" id="rect20497" style="opacity:0.46875;fill:url(#linearGradient26413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.44952" y="98.607231" id="rect20499" style="opacity:0.46875;fill:url(#linearGradient26415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.82455" y="86.80835" id="rect20501" style="opacity:0.46875;fill:url(#linearGradient26417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.73625" y="61.344193" id="rect20503" style="opacity:0.1875;fill:url(#linearGradient26419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.13663" y="77.865173" id="rect20505" style="opacity:0.1875;fill:url(#linearGradient26421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.60495" y="105.65768" id="rect20507" style="opacity:0.1875;fill:url(#linearGradient26423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.04767" y="65.757294" id="rect20509" style="opacity:0.46875;fill:url(#linearGradient26425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.05054" y="107.30734" id="rect20511" style="opacity:0.46875;fill:url(#linearGradient26427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-302.89746" y="109.56179" id="rect20513" style="opacity:0.46875;fill:url(#linearGradient26429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.98593" y="67.596725" id="rect20515" style="opacity:0.1875;fill:url(#linearGradient26431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.38931" y="73.773773" id="rect20517" style="opacity:0.1875;fill:url(#linearGradient26433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.46507" y="107.92227" id="rect20519" style="opacity:0.1875;fill:url(#linearGradient26435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.26581" y="83.184235" id="rect20521" style="opacity:0.46875;fill:url(#linearGradient26437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.78122" y="104.65424" id="rect20523" style="opacity:0.46875;fill:url(#linearGradient26439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.79443" y="58.689938" id="rect20525" style="opacity:0.46875;fill:url(#linearGradient26441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.70056" y="60.803516" id="rect20527" style="opacity:0.1875;fill:url(#linearGradient26443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.72324" y="57.410843" id="rect20529" style="opacity:0.1875;fill:url(#linearGradient26445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.89771" y="72.826591" id="rect20531" style="opacity:0.1875;fill:url(#linearGradient26447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.5639" y="70.463745" id="rect20533" style="opacity:0.46875;fill:url(#linearGradient26449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.42273" y="58.774006" id="rect20535" style="opacity:0.46875;fill:url(#linearGradient26451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.00671" y="72.494003" id="rect20537" style="opacity:0.46875;fill:url(#linearGradient26453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-278.71185" y="109.54459" id="rect20539" style="opacity:0.1875;fill:url(#linearGradient26455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-266.06219" y="55.475723" id="rect20541" style="opacity:0.1875;fill:url(#linearGradient26457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.19772" y="77.694275" id="rect20543" style="opacity:0.1875;fill:url(#linearGradient26459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.89938" y="71.35717" id="rect20545" style="opacity:0.46875;fill:url(#linearGradient26461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.54712" y="84.367325" id="rect20547" style="opacity:0.46875;fill:url(#linearGradient26463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.45844" y="81.262711" id="rect20549" style="opacity:0.46875;fill:url(#linearGradient26465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.61487" y="104.93104" id="rect20551" style="opacity:0.1875;fill:url(#linearGradient26467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.25128" y="71.748528" id="rect20553" style="opacity:0.1875;fill:url(#linearGradient26469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.85863" y="59.726963" id="rect20555" style="opacity:0.1875;fill:url(#linearGradient26471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.71912" y="79.780472" id="rect20557" style="opacity:0.46875;fill:url(#linearGradient26473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.34674" y="64.180695" id="rect20559" style="opacity:0.46875;fill:url(#linearGradient26475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.67152" y="56.720722" id="rect20561" style="opacity:0.46875;fill:url(#linearGradient26477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-261.4035" y="61.502678" id="rect20563" style="opacity:0.1875;fill:url(#linearGradient26479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.67986" y="97.29557" id="rect20565" style="opacity:0.1875;fill:url(#linearGradient26481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.44293" y="85.375412" id="rect20567" style="opacity:0.1875;fill:url(#linearGradient26483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.59766" y="96.2453" id="rect20569" style="opacity:0.46875;fill:url(#linearGradient26485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-249.9745" y="104.10505" id="rect20571" style="opacity:0.46875;fill:url(#linearGradient26487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.91541" y="63.215496" id="rect20573" style="opacity:0.46875;fill:url(#linearGradient26489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.64404" y="65.274605" id="rect20575" style="opacity:0.1875;fill:url(#linearGradient26491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.5867" y="64.151192" id="rect20577" style="opacity:0.1875;fill:url(#linearGradient26493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.08963" y="73.799103" id="rect20579" style="opacity:0.1875;fill:url(#linearGradient26495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.13312" y="76.512222" id="rect20581" style="opacity:0.46875;fill:url(#linearGradient26497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.81549" y="67.021263" id="rect20583" style="opacity:0.46875;fill:url(#linearGradient26499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.50644" y="95.929291" id="rect20585" style="opacity:0.46875;fill:url(#linearGradient26501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.86389" y="64.541458" id="rect20587" style="opacity:0.1875;fill:url(#linearGradient26503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.83641" y="102.7418" id="rect20589" style="opacity:0.1875;fill:url(#linearGradient26505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.98199" y="108.77027" id="rect20591" style="opacity:0.1875;fill:url(#linearGradient26507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.55357" y="70.026482" id="rect20593" style="opacity:0.46875;fill:url(#linearGradient26509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.90517" y="73.117393" id="rect20595" style="opacity:0.46875;fill:url(#linearGradient26511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.35992" y="81.319099" id="rect20597" style="opacity:0.46875;fill:url(#linearGradient26513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.24792" y="60.969742" id="rect20599" style="opacity:0.1875;fill:url(#linearGradient26515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.96555" y="82.846146" id="rect20601" style="opacity:0.1875;fill:url(#linearGradient26517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.6167" y="105.03866" id="rect20603" style="opacity:0.1875;fill:url(#linearGradient26519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.6017" y="85.002228" id="rect20605" style="opacity:0.46875;fill:url(#linearGradient26521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.29018" y="87.934219" id="rect20607" style="opacity:0.46875;fill:url(#linearGradient26523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.26987" y="97.667152" id="rect20609" style="opacity:0.46875;fill:url(#linearGradient26525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.37012" y="94.034401" id="rect20611" style="opacity:0.1875;fill:url(#linearGradient26527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.27859" y="64.077866" id="rect20613" style="opacity:0.1875;fill:url(#linearGradient26529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.16219" y="75.800377" id="rect20615" style="opacity:0.1875;fill:url(#linearGradient26531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.15637" y="69.005692" id="rect20617" style="opacity:0.46875;fill:url(#linearGradient26533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.32767" y="106.1306" id="rect20619" style="opacity:0.46875;fill:url(#linearGradient26535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.69739" y="106.73238" id="rect20621" style="opacity:0.46875;fill:url(#linearGradient26537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.82419" y="60.101208" id="rect20623" style="opacity:0.1875;fill:url(#linearGradient26539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.54817" y="70.407402" id="rect20625" style="opacity:0.1875;fill:url(#linearGradient26541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.70004" y="61.894451" id="rect20627" style="opacity:0.1875;fill:url(#linearGradient26543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.56357" y="73.227684" id="rect20629" style="opacity:0.46875;fill:url(#linearGradient26545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-248.77377" y="86.167908" id="rect20631" style="opacity:0.46875;fill:url(#linearGradient26547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.4563" y="80.202568" id="rect20633" style="opacity:0.46875;fill:url(#linearGradient26549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.79651" y="77.157135" id="rect20635" style="opacity:0.1875;fill:url(#linearGradient26551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.74509" y="97.382492" id="rect20637" style="opacity:0.1875;fill:url(#linearGradient26553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.50726" y="61.974281" id="rect20639" style="opacity:0.1875;fill:url(#linearGradient26555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.52014" y="104.55537" id="rect20641" style="opacity:0.46875;fill:url(#linearGradient26557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.15088" y="102.41749" id="rect20643" style="opacity:0.46875;fill:url(#linearGradient26559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.94156" y="66.058792" id="rect20645" style="opacity:0.46875;fill:url(#linearGradient26561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.36902" y="79.583107" id="rect20647" style="opacity:0.1875;fill:url(#linearGradient26563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.76428" y="89.643036" id="rect20649" style="opacity:0.1875;fill:url(#linearGradient26565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.89841" y="106.57912" id="rect20651" style="opacity:0.1875;fill:url(#linearGradient26567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.56018" y="105.04887" id="rect20653" style="opacity:0.46875;fill:url(#linearGradient26569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.64111" y="61.205338" id="rect20655" style="opacity:0.46875;fill:url(#linearGradient26571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.98749" y="68.127831" id="rect20657" style="opacity:0.46875;fill:url(#linearGradient26573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.47653" y="88.594643" id="rect20659" style="opacity:0.1875;fill:url(#linearGradient26575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.98727" y="105.70779" id="rect20661" style="opacity:0.1875;fill:url(#linearGradient26577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.75633" y="59.944138" id="rect20663" style="opacity:0.1875;fill:url(#linearGradient26579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.99521" y="98.409698" id="rect20665" style="opacity:0.46875;fill:url(#linearGradient26581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.45309" y="83.215034" id="rect20667" style="opacity:0.46875;fill:url(#linearGradient26583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.63129" y="84.058441" id="rect20669" style="opacity:0.46875;fill:url(#linearGradient26585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.14677" y="62.076561" id="rect20671" style="opacity:0.1875;fill:url(#linearGradient26587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.11346" y="79.031021" id="rect20673" style="opacity:0.1875;fill:url(#linearGradient26589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.29114" y="72.775261" id="rect20675" style="opacity:0.1875;fill:url(#linearGradient26591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.68109" y="77.156677" id="rect20677" style="opacity:0.46875;fill:url(#linearGradient26593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.78348" y="98.731834" id="rect20679" style="opacity:0.46875;fill:url(#linearGradient26595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.43291" y="78.722549" id="rect20681" style="opacity:0.46875;fill:url(#linearGradient26597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.78207" y="65.402222" id="rect20683" style="opacity:0.1875;fill:url(#linearGradient26599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.7579" y="96.139221" id="rect20685" style="opacity:0.1875;fill:url(#linearGradient26601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.65329" y="96.36525" id="rect20687" style="opacity:0.1875;fill:url(#linearGradient26603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.38538" y="84.262276" id="rect20689" style="opacity:0.46875;fill:url(#linearGradient26605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.24651" y="76.61116" id="rect20691" style="opacity:0.46875;fill:url(#linearGradient26607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-298.17392" y="94.361511" id="rect20693" style="opacity:0.46875;fill:url(#linearGradient26609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-254.1611" y="80.839401" id="rect20695" style="opacity:0.1875;fill:url(#linearGradient26611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.12796" y="79.646004" id="rect20697" style="opacity:0.1875;fill:url(#linearGradient26613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.54639" y="104.00186" id="rect20699" style="opacity:0.1875;fill:url(#linearGradient26615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.37537" y="71.01062" id="rect20701" style="opacity:0.46875;fill:url(#linearGradient26617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.93375" y="102.269" id="rect20703" style="opacity:0.46875;fill:url(#linearGradient26619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.88052" y="98.329185" id="rect20705" style="opacity:0.46875;fill:url(#linearGradient26621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.75504" y="99.959984" id="rect20707" style="opacity:0.1875;fill:url(#linearGradient26623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.50363" y="107.33015" id="rect20709" style="opacity:0.1875;fill:url(#linearGradient26625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.61804" y="108.15018" id="rect20711" style="opacity:0.1875;fill:url(#linearGradient26627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.03036" y="106.36648" id="rect20713" style="opacity:0.46875;fill:url(#linearGradient26629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.59375" y="71.416595" id="rect20715" style="opacity:0.46875;fill:url(#linearGradient26631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.73062" y="58.53096" id="rect20717" style="opacity:0.46875;fill:url(#linearGradient26633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.80426" y="60.331181" id="rect20719" style="opacity:0.1875;fill:url(#linearGradient26635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.48868" y="83.144234" id="rect20721" style="opacity:0.1875;fill:url(#linearGradient26637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.44165" y="61.080101" id="rect20723" style="opacity:0.1875;fill:url(#linearGradient26639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.13631" y="81.72905" id="rect20725" style="opacity:0.46875;fill:url(#linearGradient26641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.89638" y="106.73634" id="rect20727" style="opacity:0.46875;fill:url(#linearGradient26643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.9827" y="108.69421" id="rect20729" style="opacity:0.46875;fill:url(#linearGradient26645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.26816" y="76.166199" id="rect20731" style="opacity:0.1875;fill:url(#linearGradient26647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.2561" y="67.529793" id="rect20733" style="opacity:0.1875;fill:url(#linearGradient26649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.53851" y="92.740334" id="rect20735" style="opacity:0.1875;fill:url(#linearGradient26651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.18407" y="60.572968" id="rect20737" style="opacity:0.46875;fill:url(#linearGradient26653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.11626" y="59.471355" id="rect20739" style="opacity:0.46875;fill:url(#linearGradient26655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.31374" y="70.263519" id="rect20741" style="opacity:0.46875;fill:url(#linearGradient26657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.89474" y="102.27914" id="rect20743" style="opacity:0.1875;fill:url(#linearGradient26659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.24013" y="74.366951" id="rect20745" style="opacity:0.1875;fill:url(#linearGradient26661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.00098" y="58.264374" id="rect20747" style="opacity:0.1875;fill:url(#linearGradient26663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.54126" y="86.428101" id="rect20749" style="opacity:0.46875;fill:url(#linearGradient26665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-304.38449" y="90.213768" id="rect20751" style="opacity:0.46875;fill:url(#linearGradient26667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.8826" y="93.236168" id="rect20753" style="opacity:0.46875;fill:url(#linearGradient26669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.99405" y="56.928612" id="rect20755" style="opacity:0.1875;fill:url(#linearGradient26671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.38376" y="70.148064" id="rect20757" style="opacity:0.1875;fill:url(#linearGradient26673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.78781" y="62.705917" id="rect20759" style="opacity:0.1875;fill:url(#linearGradient26675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.72897" y="78.997246" id="rect20761" style="opacity:0.46875;fill:url(#linearGradient26677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.59196" y="61.592701" id="rect20763" style="opacity:0.46875;fill:url(#linearGradient26679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-257.47235" y="74.270607" id="rect20765" style="opacity:0.46875;fill:url(#linearGradient26681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.67603" y="103.00905" id="rect20767" style="opacity:0.1875;fill:url(#linearGradient26683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.1875" y="58.221188" id="rect20769" style="opacity:0.1875;fill:url(#linearGradient26685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.44116" y="93.098091" id="rect20771" style="opacity:0.1875;fill:url(#linearGradient26687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.90311" y="95.846085" id="rect20773" style="opacity:0.46875;fill:url(#linearGradient26689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.50949" y="101.26105" id="rect20775" style="opacity:0.46875;fill:url(#linearGradient26691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.00677" y="55.524345" id="rect20777" style="opacity:0.46875;fill:url(#linearGradient26693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.34172" y="102.48254" id="rect20779" style="opacity:0.1875;fill:url(#linearGradient26695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.48227" y="106.88896" id="rect20781" style="opacity:0.1875;fill:url(#linearGradient26697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.00226" y="92.920219" id="rect20783" style="opacity:0.1875;fill:url(#linearGradient26699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.33708" y="90.449989" id="rect20785" style="opacity:0.46875;fill:url(#linearGradient26701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.81618" y="105.25217" id="rect20787" style="opacity:0.46875;fill:url(#linearGradient26703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.00833" y="98.852737" id="rect20789" style="opacity:0.46875;fill:url(#linearGradient26705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.06483" y="93.540413" id="rect20791" style="opacity:0.1875;fill:url(#linearGradient26707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.59024" y="71.885101" id="rect20793" style="opacity:0.1875;fill:url(#linearGradient26709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.60995" y="110.16111" id="rect20795" style="opacity:0.1875;fill:url(#linearGradient26711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.35635" y="96.913025" id="rect20797" style="opacity:0.46875;fill:url(#linearGradient26713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.3793" y="67.212074" id="rect20799" style="opacity:0.46875;fill:url(#linearGradient26715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.76932" y="105.27201" id="rect20801" style="opacity:0.46875;fill:url(#linearGradient26717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.66428" y="96.795341" id="rect20803" style="opacity:0.1875;fill:url(#linearGradient26719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.21658" y="82.294411" id="rect20805" style="opacity:0.1875;fill:url(#linearGradient26721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.59726" y="87.788773" id="rect20807" style="opacity:0.1875;fill:url(#linearGradient26723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.504" y="69.20105" id="rect20809" style="opacity:0.46875;fill:url(#linearGradient26725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.41647" y="102.48328" id="rect20811" style="opacity:0.46875;fill:url(#linearGradient26727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.83372" y="108.8929" id="rect20813" style="opacity:0.46875;fill:url(#linearGradient26729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.95575" y="68.082726" id="rect20815" style="opacity:0.1875;fill:url(#linearGradient26731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.51202" y="86.063263" id="rect20817" style="opacity:0.1875;fill:url(#linearGradient26733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.23071" y="85.233902" id="rect20819" style="opacity:0.1875;fill:url(#linearGradient26735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.3028" y="95.189102" id="rect20821" style="opacity:0.46875;fill:url(#linearGradient26737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.50308" y="75.583626" id="rect20823" style="opacity:0.46875;fill:url(#linearGradient26739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.41016" y="90.319199" id="rect20825" style="opacity:0.46875;fill:url(#linearGradient26741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.21121" y="87.030853" id="rect20827" style="opacity:0.1875;fill:url(#linearGradient26743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.5347" y="82.118057" id="rect20829" style="opacity:0.1875;fill:url(#linearGradient26745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.19586" y="90.467171" id="rect20831" style="opacity:0.1875;fill:url(#linearGradient26747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.30733" y="105.46643" id="rect20833" style="opacity:0.46875;fill:url(#linearGradient26749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.22729" y="92.518166" id="rect20835" style="opacity:0.46875;fill:url(#linearGradient26751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.12463" y="72.211571" id="rect20837" style="opacity:0.46875;fill:url(#linearGradient26753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.77547" y="70.537048" id="rect20839" style="opacity:0.1875;fill:url(#linearGradient26755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-307.22208" y="105.5964" id="rect20841" style="opacity:0.1875;fill:url(#linearGradient26757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.0667" y="65.166298" id="rect20843" style="opacity:0.1875;fill:url(#linearGradient26759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.77191" y="64.786659" id="rect20845" style="opacity:0.46875;fill:url(#linearGradient26761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.46454" y="74.910774" id="rect20847" style="opacity:0.46875;fill:url(#linearGradient26763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.85799" y="55.804825" id="rect20849" style="opacity:0.46875;fill:url(#linearGradient26765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.27036" y="67.163628" id="rect20851" style="opacity:0.1875;fill:url(#linearGradient26767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.91354" y="107.84132" id="rect20853" style="opacity:0.1875;fill:url(#linearGradient26769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.21909" y="55.62373" id="rect20855" style="opacity:0.1875;fill:url(#linearGradient26771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-241.54463" y="60.722244" id="rect20857" style="opacity:0.46875;fill:url(#linearGradient26773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.40973" y="60.930378" id="rect20859" style="opacity:0.46875;fill:url(#linearGradient26775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.5116" y="61.007633" id="rect20861" style="opacity:0.46875;fill:url(#linearGradient26777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.71246" y="63.907291" id="rect20863" style="opacity:0.1875;fill:url(#linearGradient26779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.91263" y="92.62661" id="rect20865" style="opacity:0.1875;fill:url(#linearGradient26781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.60248" y="101.52387" id="rect20867" style="opacity:0.1875;fill:url(#linearGradient26783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.04568" y="86.762276" id="rect20869" style="opacity:0.46875;fill:url(#linearGradient26785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.13998" y="97.211113" id="rect20871" style="opacity:0.46875;fill:url(#linearGradient26787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.45563" y="75.488144" id="rect20873" style="opacity:0.46875;fill:url(#linearGradient26789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.2831" y="63.000179" id="rect20875" style="opacity:0.1875;fill:url(#linearGradient26791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.81769" y="84.297562" id="rect20877" style="opacity:0.1875;fill:url(#linearGradient26793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.20258" y="110.55594" id="rect20879" style="opacity:0.1875;fill:url(#linearGradient26795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.10905" y="101.29549" id="rect20881" style="opacity:0.46875;fill:url(#linearGradient26797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.63766" y="110.90127" id="rect20883" style="opacity:0.46875;fill:url(#linearGradient26799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.0107" y="96.098122" id="rect20885" style="opacity:0.46875;fill:url(#linearGradient26801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.40564" y="80.693207" id="rect20887" style="opacity:0.1875;fill:url(#linearGradient26803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.71815" y="108.91924" id="rect20889" style="opacity:0.1875;fill:url(#linearGradient26805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.46727" y="64.286911" id="rect20891" style="opacity:0.1875;fill:url(#linearGradient26807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.94312" y="81.063759" id="rect20893" style="opacity:0.46875;fill:url(#linearGradient26809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.71429" y="61.501709" id="rect20895" style="opacity:0.46875;fill:url(#linearGradient26811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.6245" y="67.977432" id="rect20897" style="opacity:0.46875;fill:url(#linearGradient26813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.12466" y="76.452377" id="rect20899" style="opacity:0.1875;fill:url(#linearGradient26815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.96835" y="108.51657" id="rect20901" style="opacity:0.1875;fill:url(#linearGradient26817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.4852" y="59.947071" id="rect20903" style="opacity:0.1875;fill:url(#linearGradient26819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.3017" y="87.066414" id="rect20905" style="opacity:0.46875;fill:url(#linearGradient26821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.32651" y="107.02791" id="rect20907" style="opacity:0.46875;fill:url(#linearGradient26823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.71164" y="96.72039" id="rect20909" style="opacity:0.46875;fill:url(#linearGradient26825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.15398" y="61.069256" id="rect20911" style="opacity:0.1875;fill:url(#linearGradient26827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.36102" y="74.99781" id="rect20913" style="opacity:0.1875;fill:url(#linearGradient26829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.75641" y="88.847244" id="rect20915" style="opacity:0.1875;fill:url(#linearGradient26831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.14275" y="67.334724" id="rect20917" style="opacity:0.46875;fill:url(#linearGradient26833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.18599" y="109.29144" id="rect20919" style="opacity:0.46875;fill:url(#linearGradient26835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.15916" y="96.86953" id="rect20921" style="opacity:0.46875;fill:url(#linearGradient26837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.06256" y="109.20979" id="rect20923" style="opacity:0.1875;fill:url(#linearGradient26839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.84415" y="103.0084" id="rect20925" style="opacity:0.1875;fill:url(#linearGradient26841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.68372" y="87.013405" id="rect20927" style="opacity:0.1875;fill:url(#linearGradient26843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.10957" y="77.451866" id="rect20929" style="opacity:0.46875;fill:url(#linearGradient26845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.20053" y="90.775269" id="rect20931" style="opacity:0.46875;fill:url(#linearGradient26847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.03128" y="64.104378" id="rect20933" style="opacity:0.46875;fill:url(#linearGradient26849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.23318" y="56.084965" id="rect20935" style="opacity:0.1875;fill:url(#linearGradient26851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.92523" y="57.800106" id="rect20937" style="opacity:0.1875;fill:url(#linearGradient26853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.84235" y="101.17597" id="rect20939" style="opacity:0.1875;fill:url(#linearGradient26855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.93134" y="85.971329" id="rect20941" style="opacity:0.46875;fill:url(#linearGradient26857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.52533" y="56.047573" id="rect20943" style="opacity:0.46875;fill:url(#linearGradient26859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.68431" y="92.835999" id="rect20945" style="opacity:0.46875;fill:url(#linearGradient26861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.14163" y="102.65902" id="rect20947" style="opacity:0.1875;fill:url(#linearGradient26863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.81085" y="62.801945" id="rect20949" style="opacity:0.1875;fill:url(#linearGradient26865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.79077" y="61.009129" id="rect20951" style="opacity:0.1875;fill:url(#linearGradient26867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.69693" y="73.567009" id="rect20953" style="opacity:0.46875;fill:url(#linearGradient26869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.56216" y="91.539566" id="rect20955" style="opacity:0.46875;fill:url(#linearGradient26871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.46866" y="67.355965" id="rect20957" style="opacity:0.46875;fill:url(#linearGradient26873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.63399" y="59.601711" id="rect20959" style="opacity:0.1875;fill:url(#linearGradient26875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.94403" y="59.034389" id="rect20961" style="opacity:0.1875;fill:url(#linearGradient26877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.75485" y="57.040806" id="rect20963" style="opacity:0.1875;fill:url(#linearGradient26879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.73541" y="60.859955" id="rect20965" style="opacity:0.46875;fill:url(#linearGradient26881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.32837" y="101.73196" id="rect20967" style="opacity:0.46875;fill:url(#linearGradient26883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.10788" y="86.818977" id="rect20969" style="opacity:0.46875;fill:url(#linearGradient26885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.92403" y="106.37849" id="rect20971" style="opacity:0.1875;fill:url(#linearGradient26887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.3898" y="81.959496" id="rect20973" style="opacity:0.1875;fill:url(#linearGradient26889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.32462" y="78.340958" id="rect20975" style="opacity:0.1875;fill:url(#linearGradient26891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.25104" y="61.141666" id="rect20977" style="opacity:0.46875;fill:url(#linearGradient26893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.68286" y="67.630676" id="rect20979" style="opacity:0.46875;fill:url(#linearGradient26895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.85361" y="106.74319" id="rect20981" style="opacity:0.46875;fill:url(#linearGradient26897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.17776" y="81.861305" id="rect20983" style="opacity:0.1875;fill:url(#linearGradient26899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.77428" y="65.122116" id="rect20985" style="opacity:0.1875;fill:url(#linearGradient26901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.12112" y="73.324898" id="rect20987" style="opacity:0.1875;fill:url(#linearGradient26903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.10251" y="63.861496" id="rect20989" style="opacity:0.46875;fill:url(#linearGradient26905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.49176" y="61.256626" id="rect20991" style="opacity:0.46875;fill:url(#linearGradient26907);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.67081" y="62.871773" id="rect20993" style="opacity:0.46875;fill:url(#linearGradient26909);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.56204" y="63.978767" id="rect20995" style="opacity:0.1875;fill:url(#linearGradient26911);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.94516" y="108.00268" id="rect20997" style="opacity:0.1875;fill:url(#linearGradient26913);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.51779" y="105.95143" id="rect20999" style="opacity:0.1875;fill:url(#linearGradient26915);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.02303" y="78.689621" id="rect21001" style="opacity:0.46875;fill:url(#linearGradient26917);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.29872" y="56.172379" id="rect21003" style="opacity:0.46875;fill:url(#linearGradient26919);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.64853" y="73.173126" id="rect21005" style="opacity:0.46875;fill:url(#linearGradient26921);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.56259" y="76.504417" id="rect21007" style="opacity:0.1875;fill:url(#linearGradient26923);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.48233" y="65.487144" id="rect21009" style="opacity:0.1875;fill:url(#linearGradient26925);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.20041" y="57.922138" id="rect21011" style="opacity:0.1875;fill:url(#linearGradient26927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.10361" y="64.32032" id="rect21013" style="opacity:0.46875;fill:url(#linearGradient26929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.30933" y="87.516853" id="rect21015" style="opacity:0.46875;fill:url(#linearGradient26931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.75369" y="55.552612" id="rect21017" style="opacity:0.46875;fill:url(#linearGradient26933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.38631" y="87.094467" id="rect21019" style="opacity:0.1875;fill:url(#linearGradient26935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.48524" y="99.373978" id="rect21021" style="opacity:0.1875;fill:url(#linearGradient26937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.3002" y="105.05029" id="rect21023" style="opacity:0.1875;fill:url(#linearGradient26939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.85101" y="100.16848" id="rect21025" style="opacity:0.46875;fill:url(#linearGradient26941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.41794" y="101.33263" id="rect21027" style="opacity:0.46875;fill:url(#linearGradient26943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.23395" y="75.302628" id="rect21029" style="opacity:0.46875;fill:url(#linearGradient26945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.17188" y="89.433014" id="rect21031" style="opacity:0.1875;fill:url(#linearGradient26947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.1181" y="69.298286" id="rect21033" style="opacity:0.1875;fill:url(#linearGradient26949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.73039" y="57.077488" id="rect21035" style="opacity:0.1875;fill:url(#linearGradient26951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.0459" y="98.268242" id="rect21037" style="opacity:0.46875;fill:url(#linearGradient26953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.43768" y="71.375671" id="rect21039" style="opacity:0.46875;fill:url(#linearGradient26955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.02997" y="77.971458" id="rect21041" style="opacity:0.46875;fill:url(#linearGradient26957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.72766" y="101.21225" id="rect21043" style="opacity:0.1875;fill:url(#linearGradient26959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.49631" y="91.145035" id="rect21045" style="opacity:0.1875;fill:url(#linearGradient26961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.40121" y="108.50367" id="rect21047" style="opacity:0.1875;fill:url(#linearGradient26963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-268.62418" y="73.931641" id="rect21049" style="opacity:0.46875;fill:url(#linearGradient26965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.92096" y="64.543587" id="rect21051" style="opacity:0.46875;fill:url(#linearGradient26967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.87704" y="86.798286" id="rect21053" style="opacity:0.46875;fill:url(#linearGradient26969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.21255" y="84.152184" id="rect21055" style="opacity:0.1875;fill:url(#linearGradient26971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.7442" y="68.038704" id="rect21057" style="opacity:0.1875;fill:url(#linearGradient26973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.7352" y="106.20054" id="rect21059" style="opacity:0.1875;fill:url(#linearGradient26975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.01788" y="63.94009" id="rect21061" style="opacity:0.46875;fill:url(#linearGradient26977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.39545" y="81.627846" id="rect21063" style="opacity:0.46875;fill:url(#linearGradient26979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.15396" y="87.510963" id="rect21065" style="opacity:0.46875;fill:url(#linearGradient26981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.94168" y="76.720764" id="rect21067" style="opacity:0.1875;fill:url(#linearGradient26983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.2645" y="76.507072" id="rect21069" style="opacity:0.1875;fill:url(#linearGradient26985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.54091" y="64.807266" id="rect21071" style="opacity:0.1875;fill:url(#linearGradient26987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.0256" y="105.53462" id="rect21073" style="opacity:0.46875;fill:url(#linearGradient26989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.12021" y="86.390068" id="rect21075" style="opacity:0.46875;fill:url(#linearGradient26991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-257.93661" y="69.662346" id="rect21077" style="opacity:0.46875;fill:url(#linearGradient26993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.68182" y="92.135094" id="rect21079" style="opacity:0.1875;fill:url(#linearGradient26995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.80685" y="59.947994" id="rect21081" style="opacity:0.1875;fill:url(#linearGradient26997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.94907" y="75.974976" id="rect21083" style="opacity:0.1875;fill:url(#linearGradient26999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.59161" y="102.0582" id="rect21085" style="opacity:0.46875;fill:url(#linearGradient27001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.84268" y="60.748241" id="rect21087" style="opacity:0.46875;fill:url(#linearGradient27003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.03136" y="61.704609" id="rect21089" style="opacity:0.46875;fill:url(#linearGradient27005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.67252" y="62.573116" id="rect21091" style="opacity:0.1875;fill:url(#linearGradient27007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.56517" y="98.622765" id="rect21093" style="opacity:0.1875;fill:url(#linearGradient27009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.1326" y="94.367805" id="rect21095" style="opacity:0.1875;fill:url(#linearGradient27011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.82713" y="68.418785" id="rect21097" style="opacity:0.46875;fill:url(#linearGradient27013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.95242" y="81.885948" id="rect21099" style="opacity:0.46875;fill:url(#linearGradient27015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.41571" y="103.11871" id="rect21101" style="opacity:0.46875;fill:url(#linearGradient27017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.21912" y="55.450714" id="rect21103" style="opacity:0.1875;fill:url(#linearGradient27019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.15164" y="97.328751" id="rect21105" style="opacity:0.1875;fill:url(#linearGradient27021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.23364" y="62.857697" id="rect21107" style="opacity:0.1875;fill:url(#linearGradient27023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-262.56189" y="88.4048" id="rect21109" style="opacity:0.46875;fill:url(#linearGradient27025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.62183" y="85.401474" id="rect21111" style="opacity:0.46875;fill:url(#linearGradient27027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.16788" y="109.76205" id="rect21113" style="opacity:0.46875;fill:url(#linearGradient27029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.02565" y="80.835899" id="rect21115" style="opacity:0.1875;fill:url(#linearGradient27031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.5825" y="91.056412" id="rect21117" style="opacity:0.1875;fill:url(#linearGradient27033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.58057" y="92.429237" id="rect21119" style="opacity:0.1875;fill:url(#linearGradient27035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.8084" y="106.70076" id="rect21121" style="opacity:0.46875;fill:url(#linearGradient27037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.72501" y="80.25724" id="rect21123" style="opacity:0.46875;fill:url(#linearGradient27039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.79741" y="109.15076" id="rect21125" style="opacity:0.46875;fill:url(#linearGradient27041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-262.84338" y="100.30168" id="rect21127" style="opacity:0.1875;fill:url(#linearGradient27043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.46655" y="89.088768" id="rect21129" style="opacity:0.1875;fill:url(#linearGradient27045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.07495" y="103.64899" id="rect21131" style="opacity:0.1875;fill:url(#linearGradient27047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.85617" y="72.184769" id="rect21133" style="opacity:0.46875;fill:url(#linearGradient27049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.11118" y="89.581963" id="rect21135" style="opacity:0.46875;fill:url(#linearGradient27051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.29672" y="69.089821" id="rect21137" style="opacity:0.46875;fill:url(#linearGradient27053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.05901" y="72.152023" id="rect21139" style="opacity:0.1875;fill:url(#linearGradient27055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.00827" y="102.33545" id="rect21141" style="opacity:0.1875;fill:url(#linearGradient27057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.26855" y="61.659031" id="rect21143" style="opacity:0.1875;fill:url(#linearGradient27059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.82904" y="71.701729" id="rect21145" style="opacity:0.46875;fill:url(#linearGradient27061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.60464" y="77.884239" id="rect21147" style="opacity:0.46875;fill:url(#linearGradient27063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.12772" y="85.596474" id="rect21149" style="opacity:0.46875;fill:url(#linearGradient27065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.31731" y="56.329018" id="rect21151" style="opacity:0.1875;fill:url(#linearGradient27067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.57483" y="95.667526" id="rect21153" style="opacity:0.1875;fill:url(#linearGradient27069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-265.48077" y="100.69909" id="rect21155" style="opacity:0.1875;fill:url(#linearGradient27071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.17764" y="59.823067" id="rect21157" style="opacity:0.46875;fill:url(#linearGradient27073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.42281" y="78.211479" id="rect21159" style="opacity:0.46875;fill:url(#linearGradient27075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.68494" y="70.215508" id="rect21161" style="opacity:0.46875;fill:url(#linearGradient27077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.6322" y="101.17437" id="rect21163" style="opacity:0.1875;fill:url(#linearGradient27079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.22156" y="85.157867" id="rect21165" style="opacity:0.1875;fill:url(#linearGradient27081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.52106" y="63.534519" id="rect21167" style="opacity:0.1875;fill:url(#linearGradient27083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-216.44229" y="83.262306" id="rect21169" style="opacity:0.46875;fill:url(#linearGradient27085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.93253" y="108.89066" id="rect21171" style="opacity:0.46875;fill:url(#linearGradient27087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.96442" y="57.4179" id="rect21173" style="opacity:0.46875;fill:url(#linearGradient27089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.90317" y="111.03307" id="rect21175" style="opacity:0.1875;fill:url(#linearGradient27091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.35715" y="69.274529" id="rect21177" style="opacity:0.1875;fill:url(#linearGradient27093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.00333" y="109.78416" id="rect21179" style="opacity:0.1875;fill:url(#linearGradient27095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.11942" y="94.954216" id="rect21181" style="opacity:0.46875;fill:url(#linearGradient27097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.60632" y="85.795189" id="rect21183" style="opacity:0.46875;fill:url(#linearGradient27099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.70975" y="66.782021" id="rect21185" style="opacity:0.46875;fill:url(#linearGradient27101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.90479" y="102.16841" id="rect21187" style="opacity:0.1875;fill:url(#linearGradient27103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-228.94711" y="57.03421" id="rect21189" style="opacity:0.1875;fill:url(#linearGradient27105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.45731" y="61.083805" id="rect21191" style="opacity:0.1875;fill:url(#linearGradient27107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.54405" y="93.159767" id="rect21193" style="opacity:0.46875;fill:url(#linearGradient27109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.33878" y="92.271156" id="rect21195" style="opacity:0.46875;fill:url(#linearGradient27111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.116" y="84.80423" id="rect21197" style="opacity:0.46875;fill:url(#linearGradient27113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.88902" y="58.80711" id="rect21199" style="opacity:0.1875;fill:url(#linearGradient27115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.33392" y="76.536911" id="rect21201" style="opacity:0.1875;fill:url(#linearGradient27117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.26511" y="80.201492" id="rect21203" style="opacity:0.1875;fill:url(#linearGradient27119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.01447" y="100.298" id="rect21205" style="opacity:0.46875;fill:url(#linearGradient27121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.10202" y="58.051792" id="rect21207" style="opacity:0.46875;fill:url(#linearGradient27123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.26166" y="107.3416" id="rect21209" style="opacity:0.46875;fill:url(#linearGradient27125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.62167" y="58.792862" id="rect21211" style="opacity:0.1875;fill:url(#linearGradient27127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.48352" y="61.158932" id="rect21213" style="opacity:0.1875;fill:url(#linearGradient27129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.12637" y="66.620155" id="rect21215" style="opacity:0.1875;fill:url(#linearGradient27131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.6153" y="73.945251" id="rect21217" style="opacity:0.46875;fill:url(#linearGradient27133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.59021" y="65.025085" id="rect21219" style="opacity:0.46875;fill:url(#linearGradient27135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.93964" y="95.183495" id="rect21221" style="opacity:0.46875;fill:url(#linearGradient27137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.58449" y="98.754738" id="rect21223" style="opacity:0.1875;fill:url(#linearGradient27139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.2807" y="65.886925" id="rect21225" style="opacity:0.1875;fill:url(#linearGradient27141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.5025" y="83.986488" id="rect21227" style="opacity:0.1875;fill:url(#linearGradient27143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.90002" y="85.324791" id="rect21229" style="opacity:0.46875;fill:url(#linearGradient27145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.44086" y="82.210342" id="rect21231" style="opacity:0.46875;fill:url(#linearGradient27147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.56891" y="84.863411" id="rect21233" style="opacity:0.46875;fill:url(#linearGradient27149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.25336" y="87.089043" id="rect21235" style="opacity:0.1875;fill:url(#linearGradient27151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.89474" y="76.845276" id="rect21237" style="opacity:0.1875;fill:url(#linearGradient27153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.92368" y="108.63635" id="rect21239" style="opacity:0.1875;fill:url(#linearGradient27155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.47511" y="63.970722" id="rect21241" style="opacity:0.46875;fill:url(#linearGradient27157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.57806" y="61.810444" id="rect21243" style="opacity:0.46875;fill:url(#linearGradient27159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.78726" y="80.350128" id="rect21245" style="opacity:0.46875;fill:url(#linearGradient27161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.69666" y="70.788307" id="rect21247" style="opacity:0.1875;fill:url(#linearGradient27163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.49185" y="68.09623" id="rect21249" style="opacity:0.1875;fill:url(#linearGradient27165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.31662" y="72.337776" id="rect21251" style="opacity:0.1875;fill:url(#linearGradient27167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.89255" y="66.959465" id="rect21253" style="opacity:0.46875;fill:url(#linearGradient27169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.88751" y="69.532631" id="rect21255" style="opacity:0.46875;fill:url(#linearGradient27171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.67349" y="60.119705" id="rect21257" style="opacity:0.46875;fill:url(#linearGradient27173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.59361" y="87.967026" id="rect21259" style="opacity:0.1875;fill:url(#linearGradient27175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.74771" y="107.91908" id="rect21261" style="opacity:0.1875;fill:url(#linearGradient27177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-231.36357" y="97.068886" id="rect21263" style="opacity:0.1875;fill:url(#linearGradient27179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-238.16719" y="75.513985" id="rect21265" style="opacity:0.46875;fill:url(#linearGradient27181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.69632" y="99.551247" id="rect21267" style="opacity:0.46875;fill:url(#linearGradient27183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.33495" y="75.012238" id="rect21269" style="opacity:0.46875;fill:url(#linearGradient27185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.54056" y="111.64594" id="rect21271" style="opacity:0.1875;fill:url(#linearGradient27187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.6232" y="57.15493" id="rect21273" style="opacity:0.1875;fill:url(#linearGradient27189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.94926" y="102.41476" id="rect21275" style="opacity:0.1875;fill:url(#linearGradient27191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.89328" y="68.986198" id="rect21277" style="opacity:0.46875;fill:url(#linearGradient27193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.78401" y="92.376289" id="rect21279" style="opacity:0.46875;fill:url(#linearGradient27195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.17442" y="62.975868" id="rect21281" style="opacity:0.46875;fill:url(#linearGradient27197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.98894" y="74.333855" id="rect21283" style="opacity:0.1875;fill:url(#linearGradient27199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.34875" y="74.775146" id="rect21285" style="opacity:0.1875;fill:url(#linearGradient27201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.19437" y="67.117424" id="rect21287" style="opacity:0.1875;fill:url(#linearGradient27203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.04742" y="87.623558" id="rect21289" style="opacity:0.46875;fill:url(#linearGradient27205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.68338" y="83.066238" id="rect21291" style="opacity:0.46875;fill:url(#linearGradient27207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.97443" y="68.172554" id="rect21293" style="opacity:0.46875;fill:url(#linearGradient27209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.65314" y="103.76814" id="rect21295" style="opacity:0.1875;fill:url(#linearGradient27211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.52921" y="89.421211" id="rect21297" style="opacity:0.1875;fill:url(#linearGradient27213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.46428" y="86.758759" id="rect21299" style="opacity:0.1875;fill:url(#linearGradient27215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-307.32059" y="59.507183" id="rect21301" style="opacity:0.46875;fill:url(#linearGradient27217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.4805" y="56.354454" id="rect21303" style="opacity:0.46875;fill:url(#linearGradient27219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.79776" y="82.508331" id="rect21305" style="opacity:0.46875;fill:url(#linearGradient27221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.34879" y="101.22415" id="rect21307" style="opacity:0.1875;fill:url(#linearGradient27223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.26691" y="81.187157" id="rect21309" style="opacity:0.1875;fill:url(#linearGradient27225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.5034" y="57.942776" id="rect21311" style="opacity:0.1875;fill:url(#linearGradient27227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.29797" y="56.313656" id="rect21313" style="opacity:0.46875;fill:url(#linearGradient27229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.09218" y="102.84291" id="rect21315" style="opacity:0.46875;fill:url(#linearGradient27231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.79333" y="57.296597" id="rect21317" style="opacity:0.46875;fill:url(#linearGradient27233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.46246" y="58.547722" id="rect21319" style="opacity:0.1875;fill:url(#linearGradient27235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.19955" y="98.540131" id="rect21321" style="opacity:0.1875;fill:url(#linearGradient27237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.17332" y="70.700653" id="rect21323" style="opacity:0.1875;fill:url(#linearGradient27239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.90558" y="89.287468" id="rect21325" style="opacity:0.46875;fill:url(#linearGradient27241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.75607" y="75.273468" id="rect21327" style="opacity:0.46875;fill:url(#linearGradient27243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.25287" y="96.609406" id="rect21329" style="opacity:0.46875;fill:url(#linearGradient27245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.75479" y="105.10313" id="rect21331" style="opacity:0.1875;fill:url(#linearGradient27247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.81497" y="60.864231" id="rect21333" style="opacity:0.1875;fill:url(#linearGradient27249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.41241" y="63.960575" id="rect21335" style="opacity:0.1875;fill:url(#linearGradient27251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.99886" y="64.671219" id="rect21337" style="opacity:0.46875;fill:url(#linearGradient27253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.80031" y="56.595322" id="rect21339" style="opacity:0.46875;fill:url(#linearGradient27255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.96497" y="103.23323" id="rect21341" style="opacity:0.46875;fill:url(#linearGradient27257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.19916" y="75.172691" id="rect21343" style="opacity:0.1875;fill:url(#linearGradient27259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.57715" y="101.3636" id="rect21345" style="opacity:0.1875;fill:url(#linearGradient27261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.93849" y="74.692139" id="rect21347" style="opacity:0.1875;fill:url(#linearGradient27263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.13702" y="64.289536" id="rect21349" style="opacity:0.46875;fill:url(#linearGradient27265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.13849" y="63.319588" id="rect21351" style="opacity:0.46875;fill:url(#linearGradient27267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.52722" y="87.676361" id="rect21353" style="opacity:0.46875;fill:url(#linearGradient27269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.15074" y="78.342529" id="rect21355" style="opacity:0.1875;fill:url(#linearGradient27271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-304.875" y="106.99411" id="rect21357" style="opacity:0.1875;fill:url(#linearGradient27273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.84726" y="69.912445" id="rect21359" style="opacity:0.1875;fill:url(#linearGradient27275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.75728" y="84.166862" id="rect21361" style="opacity:0.46875;fill:url(#linearGradient27277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.75204" y="88.894562" id="rect21363" style="opacity:0.46875;fill:url(#linearGradient27279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.36176" y="58.718811" id="rect21365" style="opacity:0.46875;fill:url(#linearGradient27281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.17926" y="100.05959" id="rect21367" style="opacity:0.1875;fill:url(#linearGradient27283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.39511" y="91.973068" id="rect21369" style="opacity:0.1875;fill:url(#linearGradient27285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.90848" y="65.40184" id="rect21371" style="opacity:0.1875;fill:url(#linearGradient27287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.50565" y="82.440086" id="rect21373" style="opacity:0.46875;fill:url(#linearGradient27289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.06406" y="62.919212" id="rect21375" style="opacity:0.46875;fill:url(#linearGradient27291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.80597" y="79.708824" id="rect21377" style="opacity:0.46875;fill:url(#linearGradient27293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.50827" y="86.379814" id="rect21379" style="opacity:0.1875;fill:url(#linearGradient27295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.90628" y="78.480072" id="rect21381" style="opacity:0.1875;fill:url(#linearGradient27297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-239.25328" y="88.913887" id="rect21383" style="opacity:0.1875;fill:url(#linearGradient27299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.05078" y="72.513489" id="rect21385" style="opacity:0.46875;fill:url(#linearGradient27301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.75754" y="59.668365" id="rect21387" style="opacity:0.46875;fill:url(#linearGradient27303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.42499" y="84.254898" id="rect21389" style="opacity:0.46875;fill:url(#linearGradient27305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.21336" y="92.538765" id="rect21391" style="opacity:0.1875;fill:url(#linearGradient27307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-274.96292" y="67.801994" id="rect21393" style="opacity:0.1875;fill:url(#linearGradient27309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.03345" y="79.786247" id="rect21395" style="opacity:0.1875;fill:url(#linearGradient27311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.33481" y="73.434113" id="rect21397" style="opacity:0.46875;fill:url(#linearGradient27313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.33148" y="104.76869" id="rect21399" style="opacity:0.46875;fill:url(#linearGradient27315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.44894" y="99.540825" id="rect21401" style="opacity:0.46875;fill:url(#linearGradient27317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.04898" y="81.255905" id="rect21403" style="opacity:0.1875;fill:url(#linearGradient27319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.30069" y="63.783806" id="rect21405" style="opacity:0.1875;fill:url(#linearGradient27321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.29605" y="68.727859" id="rect21407" style="opacity:0.1875;fill:url(#linearGradient27323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.89272" y="66.714928" id="rect21409" style="opacity:0.46875;fill:url(#linearGradient27325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.11136" y="102.37201" id="rect21411" style="opacity:0.46875;fill:url(#linearGradient27327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.21965" y="90.515549" id="rect21413" style="opacity:0.46875;fill:url(#linearGradient27329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.83557" y="104.97116" id="rect21415" style="opacity:0.1875;fill:url(#linearGradient27331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.50201" y="107.85217" id="rect21417" style="opacity:0.1875;fill:url(#linearGradient27333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.51273" y="109.82304" id="rect21419" style="opacity:0.1875;fill:url(#linearGradient27335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.68771" y="83.052849" id="rect21421" style="opacity:0.46875;fill:url(#linearGradient27337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.08441" y="55.352558" id="rect21423" style="opacity:0.46875;fill:url(#linearGradient27339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.1561" y="69.60759" id="rect21425" style="opacity:0.46875;fill:url(#linearGradient27341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.7278" y="98.796432" id="rect21427" style="opacity:0.1875;fill:url(#linearGradient27343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.89224" y="93.656448" id="rect21429" style="opacity:0.1875;fill:url(#linearGradient27345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.91916" y="79.919479" id="rect21431" style="opacity:0.1875;fill:url(#linearGradient27347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.83963" y="82.481972" id="rect21433" style="opacity:0.46875;fill:url(#linearGradient27349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.69556" y="84.644272" id="rect21435" style="opacity:0.46875;fill:url(#linearGradient27351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.13559" y="75.38723" id="rect21437" style="opacity:0.46875;fill:url(#linearGradient27353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.20813" y="69.854103" id="rect21439" style="opacity:0.1875;fill:url(#linearGradient27355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.60059" y="68.559395" id="rect21441" style="opacity:0.1875;fill:url(#linearGradient27357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.63321" y="81.568436" id="rect21443" style="opacity:0.1875;fill:url(#linearGradient27359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.16757" y="81.135536" id="rect21445" style="opacity:0.46875;fill:url(#linearGradient27361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.10229" y="85.68129" id="rect21447" style="opacity:0.46875;fill:url(#linearGradient27363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.03432" y="107.33843" id="rect21449" style="opacity:0.46875;fill:url(#linearGradient27365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.79033" y="95.026062" id="rect21451" style="opacity:0.1875;fill:url(#linearGradient27367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-247.72145" y="98.058182" id="rect21453" style="opacity:0.1875;fill:url(#linearGradient27369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.6649" y="63.695808" id="rect21455" style="opacity:0.1875;fill:url(#linearGradient27371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.88246" y="75.468437" id="rect21457" style="opacity:0.46875;fill:url(#linearGradient27373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.45953" y="111.10085" id="rect21459" style="opacity:0.46875;fill:url(#linearGradient27375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.74779" y="85.411835" id="rect21461" style="opacity:0.46875;fill:url(#linearGradient27377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.76868" y="65.039749" id="rect21463" style="opacity:0.1875;fill:url(#linearGradient27379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.39914" y="109.71464" id="rect21465" style="opacity:0.1875;fill:url(#linearGradient27381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.76727" y="87.23999" id="rect21467" style="opacity:0.1875;fill:url(#linearGradient27383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.03047" y="70.933456" id="rect21469" style="opacity:0.46875;fill:url(#linearGradient27385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.24399" y="91.743217" id="rect21471" style="opacity:0.46875;fill:url(#linearGradient27387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.04282" y="96.093422" id="rect21473" style="opacity:0.46875;fill:url(#linearGradient27389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.54053" y="80.427925" id="rect21475" style="opacity:0.1875;fill:url(#linearGradient27391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.41525" y="87.967781" id="rect21477" style="opacity:0.1875;fill:url(#linearGradient27393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.14575" y="92.518379" id="rect21479" style="opacity:0.1875;fill:url(#linearGradient27395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.88187" y="104.75542" id="rect21481" style="opacity:0.46875;fill:url(#linearGradient27397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.48245" y="56.437023" id="rect21483" style="opacity:0.46875;fill:url(#linearGradient27399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.78445" y="71.8396" id="rect21485" style="opacity:0.46875;fill:url(#linearGradient27401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.13855" y="110.62964" id="rect21487" style="opacity:0.1875;fill:url(#linearGradient27403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.79547" y="95.475662" id="rect21489" style="opacity:0.1875;fill:url(#linearGradient27405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.55093" y="83.479332" id="rect21491" style="opacity:0.1875;fill:url(#linearGradient27407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.83661" y="105.59111" id="rect21493" style="opacity:0.46875;fill:url(#linearGradient27409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.90616" y="105.14223" id="rect21495" style="opacity:0.46875;fill:url(#linearGradient27411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.52286" y="110.83428" id="rect21497" style="opacity:0.46875;fill:url(#linearGradient27413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.30792" y="108.30075" id="rect21499" style="opacity:0.1875;fill:url(#linearGradient27415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.4128" y="66.733093" id="rect21501" style="opacity:0.1875;fill:url(#linearGradient27417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.95995" y="100.79337" id="rect21503" style="opacity:0.1875;fill:url(#linearGradient27419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.94753" y="109.69339" id="rect21505" style="opacity:0.46875;fill:url(#linearGradient27421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.84122" y="61.881496" id="rect21507" style="opacity:0.46875;fill:url(#linearGradient27423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.46597" y="90.312744" id="rect21509" style="opacity:0.46875;fill:url(#linearGradient27425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.28766" y="105.66008" id="rect21511" style="opacity:0.1875;fill:url(#linearGradient27427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.57361" y="110.81626" id="rect21513" style="opacity:0.1875;fill:url(#linearGradient27429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.30582" y="78.19458" id="rect21515" style="opacity:0.1875;fill:url(#linearGradient27431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.36133" y="65.584717" id="rect21517" style="opacity:0.46875;fill:url(#linearGradient27433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-247.48462" y="90.008995" id="rect21519" style="opacity:0.46875;fill:url(#linearGradient27435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.29022" y="77.312546" id="rect21521" style="opacity:0.46875;fill:url(#linearGradient27437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.92154" y="108.85014" id="rect21523" style="opacity:0.1875;fill:url(#linearGradient27439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.70132" y="86.926987" id="rect21525" style="opacity:0.1875;fill:url(#linearGradient27441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.51126" y="81.268387" id="rect21527" style="opacity:0.1875;fill:url(#linearGradient27443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.69012" y="107.18739" id="rect21529" style="opacity:0.46875;fill:url(#linearGradient27445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.16809" y="91.953133" id="rect21531" style="opacity:0.46875;fill:url(#linearGradient27447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.52182" y="91.424484" id="rect21533" style="opacity:0.46875;fill:url(#linearGradient27449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.15775" y="104.16637" id="rect21535" style="opacity:0.1875;fill:url(#linearGradient27451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.05234" y="58.979252" id="rect21537" style="opacity:0.1875;fill:url(#linearGradient27453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.64029" y="55.466087" id="rect21539" style="opacity:0.1875;fill:url(#linearGradient27455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.65317" y="72.480949" id="rect21541" style="opacity:0.46875;fill:url(#linearGradient27457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.7802" y="75.611626" id="rect21543" style="opacity:0.46875;fill:url(#linearGradient27459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.25217" y="107.40909" id="rect21545" style="opacity:0.46875;fill:url(#linearGradient27461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.92938" y="100.32093" id="rect21547" style="opacity:0.1875;fill:url(#linearGradient27463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.53226" y="61.29652" id="rect21549" style="opacity:0.1875;fill:url(#linearGradient27465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.69031" y="77.940781" id="rect21551" style="opacity:0.1875;fill:url(#linearGradient27467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.86548" y="85.345512" id="rect21553" style="opacity:0.46875;fill:url(#linearGradient27469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.49466" y="73.688721" id="rect21555" style="opacity:0.46875;fill:url(#linearGradient27471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.92558" y="101.36566" id="rect21557" style="opacity:0.46875;fill:url(#linearGradient27473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-263.073" y="107.99613" id="rect21559" style="opacity:0.1875;fill:url(#linearGradient27475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.97604" y="90.513596" id="rect21561" style="opacity:0.1875;fill:url(#linearGradient27477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.73608" y="97.185303" id="rect21563" style="opacity:0.1875;fill:url(#linearGradient27479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.27396" y="105.07907" id="rect21565" style="opacity:0.46875;fill:url(#linearGradient27481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.82477" y="56.584343" id="rect21567" style="opacity:0.46875;fill:url(#linearGradient27483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.95914" y="98.348389" id="rect21569" style="opacity:0.46875;fill:url(#linearGradient27485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.59947" y="63.419086" id="rect21571" style="opacity:0.1875;fill:url(#linearGradient27487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.72168" y="82.934814" id="rect21573" style="opacity:0.1875;fill:url(#linearGradient27489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.19464" y="66.085556" id="rect21575" style="opacity:0.1875;fill:url(#linearGradient27491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.0527" y="58.101696" id="rect21577" style="opacity:0.46875;fill:url(#linearGradient27493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.06149" y="103.94582" id="rect21579" style="opacity:0.46875;fill:url(#linearGradient27495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.56268" y="72.870979" id="rect21581" style="opacity:0.46875;fill:url(#linearGradient27497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.6017" y="74.478989" id="rect21583" style="opacity:0.1875;fill:url(#linearGradient27499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.55887" y="99.894096" id="rect21585" style="opacity:0.1875;fill:url(#linearGradient27501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.11136" y="92.003113" id="rect21587" style="opacity:0.1875;fill:url(#linearGradient27503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.96588" y="91.77327" id="rect21589" style="opacity:0.46875;fill:url(#linearGradient27505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.51933" y="105.80508" id="rect21591" style="opacity:0.46875;fill:url(#linearGradient27507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.48543" y="103.79506" id="rect21593" style="opacity:0.46875;fill:url(#linearGradient27509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.12206" y="108.9409" id="rect21595" style="opacity:0.1875;fill:url(#linearGradient27511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.02167" y="58.260303" id="rect21597" style="opacity:0.1875;fill:url(#linearGradient27513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.77448" y="65.542923" id="rect21599" style="opacity:0.1875;fill:url(#linearGradient27515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.63763" y="68.649734" id="rect21601" style="opacity:0.46875;fill:url(#linearGradient27517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.66443" y="55.40823" id="rect21603" style="opacity:0.46875;fill:url(#linearGradient27519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.11868" y="70.003098" id="rect21605" style="opacity:0.46875;fill:url(#linearGradient27521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.80618" y="83.68644" id="rect21607" style="opacity:0.1875;fill:url(#linearGradient27523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.61108" y="72.337257" id="rect21609" style="opacity:0.1875;fill:url(#linearGradient27525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.52625" y="91.485954" id="rect21611" style="opacity:0.1875;fill:url(#linearGradient27527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-302.82098" y="73.17878" id="rect21613" style="opacity:0.46875;fill:url(#linearGradient27529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.31381" y="62.302635" id="rect21615" style="opacity:0.46875;fill:url(#linearGradient27531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.39542" y="100.40778" id="rect21617" style="opacity:0.46875;fill:url(#linearGradient27533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.2916" y="56.54998" id="rect21619" style="opacity:0.1875;fill:url(#linearGradient27535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.85687" y="88.680138" id="rect21621" style="opacity:0.1875;fill:url(#linearGradient27537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.02325" y="57.190468" id="rect21623" style="opacity:0.1875;fill:url(#linearGradient27539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.22159" y="107.58854" id="rect21625" style="opacity:0.46875;fill:url(#linearGradient27541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.79041" y="67.897629" id="rect21627" style="opacity:0.46875;fill:url(#linearGradient27543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.17734" y="93.437904" id="rect21629" style="opacity:0.46875;fill:url(#linearGradient27545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.62856" y="69.776123" id="rect21631" style="opacity:0.1875;fill:url(#linearGradient27547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.85226" y="72.556374" id="rect21633" style="opacity:0.1875;fill:url(#linearGradient27549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.26521" y="65.97863" id="rect21829" style="opacity:0.46875;fill:url(#linearGradient27745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.92079" y="66.180679" id="rect21635" style="opacity:0.1875;fill:url(#linearGradient27551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.52203" y="88.789848" id="rect21637" style="opacity:0.46875;fill:url(#linearGradient27553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.35887" y="106.48306" id="rect21639" style="opacity:0.46875;fill:url(#linearGradient27555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-257.09924" y="61.134922" id="rect21641" style="opacity:0.46875;fill:url(#linearGradient27557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.71439" y="71.699997" id="rect21643" style="opacity:0.1875;fill:url(#linearGradient27559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.7209" y="60.317715" id="rect21645" style="opacity:0.1875;fill:url(#linearGradient27561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.00232" y="56.347214" id="rect21647" style="opacity:0.1875;fill:url(#linearGradient27563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.17883" y="94.825455" id="rect21649" style="opacity:0.46875;fill:url(#linearGradient27565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.89526" y="87.537811" id="rect21651" style="opacity:0.46875;fill:url(#linearGradient27567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.26334" y="84.091301" id="rect21653" style="opacity:0.46875;fill:url(#linearGradient27569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.27002" y="70.411156" id="rect21655" style="opacity:0.1875;fill:url(#linearGradient27571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.69394" y="78.538818" id="rect21657" style="opacity:0.1875;fill:url(#linearGradient27573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.68408" y="60.320854" id="rect21659" style="opacity:0.1875;fill:url(#linearGradient27575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.35306" y="103.11416" id="rect21661" style="opacity:0.46875;fill:url(#linearGradient27577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.28685" y="96.777092" id="rect21663" style="opacity:0.46875;fill:url(#linearGradient27579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.80014" y="106.55783" id="rect21665" style="opacity:0.46875;fill:url(#linearGradient27581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.17648" y="66.65284" id="rect21667" style="opacity:0.1875;fill:url(#linearGradient27583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.69562" y="59.358051" id="rect21669" style="opacity:0.1875;fill:url(#linearGradient27585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.25375" y="75.676254" id="rect21671" style="opacity:0.1875;fill:url(#linearGradient27587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-263.92645" y="65.860481" id="rect21673" style="opacity:0.46875;fill:url(#linearGradient27589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.39749" y="102.62814" id="rect21675" style="opacity:0.46875;fill:url(#linearGradient27591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.31821" y="77.852493" id="rect21677" style="opacity:0.46875;fill:url(#linearGradient27593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.6496" y="101.4992" id="rect21679" style="opacity:0.1875;fill:url(#linearGradient27595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.46136" y="73.306519" id="rect21681" style="opacity:0.1875;fill:url(#linearGradient27597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.29956" y="102.79834" id="rect21683" style="opacity:0.1875;fill:url(#linearGradient27599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.90312" y="85.702217" id="rect21685" style="opacity:0.46875;fill:url(#linearGradient27601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.05383" y="111.4539" id="rect21687" style="opacity:0.46875;fill:url(#linearGradient27603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.43542" y="81.403618" id="rect21689" style="opacity:0.46875;fill:url(#linearGradient27605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.30719" y="92.514725" id="rect21691" style="opacity:0.1875;fill:url(#linearGradient27607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.24991" y="74.283562" id="rect21693" style="opacity:0.1875;fill:url(#linearGradient27609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.06049" y="60.561077" id="rect21695" style="opacity:0.1875;fill:url(#linearGradient27611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.73814" y="105.74458" id="rect21697" style="opacity:0.46875;fill:url(#linearGradient27613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.22021" y="96.253685" id="rect21699" style="opacity:0.46875;fill:url(#linearGradient27615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.03934" y="110.5692" id="rect21701" style="opacity:0.46875;fill:url(#linearGradient27617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.17294" y="111.13409" id="rect21703" style="opacity:0.1875;fill:url(#linearGradient27619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.59334" y="101.43046" id="rect21705" style="opacity:0.1875;fill:url(#linearGradient27621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.58798" y="60.705799" id="rect21707" style="opacity:0.1875;fill:url(#linearGradient27623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.61441" y="73.019402" id="rect21709" style="opacity:0.46875;fill:url(#linearGradient27625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.7652" y="98.472694" id="rect21711" style="opacity:0.46875;fill:url(#linearGradient27627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.8707" y="107.17078" id="rect21713" style="opacity:0.46875;fill:url(#linearGradient27629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-238.23187" y="86.312042" id="rect21715" style="opacity:0.1875;fill:url(#linearGradient27631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.60698" y="95.533546" id="rect21717" style="opacity:0.1875;fill:url(#linearGradient27633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.71002" y="101.39093" id="rect21719" style="opacity:0.1875;fill:url(#linearGradient27635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.34747" y="86.315704" id="rect21721" style="opacity:0.46875;fill:url(#linearGradient27637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.95612" y="55.324371" id="rect21723" style="opacity:0.46875;fill:url(#linearGradient27639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.55295" y="102.14988" id="rect21725" style="opacity:0.46875;fill:url(#linearGradient27641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.01569" y="61.645065" id="rect21727" style="opacity:0.1875;fill:url(#linearGradient27643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.86374" y="110.06892" id="rect21729" style="opacity:0.1875;fill:url(#linearGradient27645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.23123" y="92.380867" id="rect21731" style="opacity:0.1875;fill:url(#linearGradient27647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.22873" y="59.463947" id="rect21733" style="opacity:0.46875;fill:url(#linearGradient27649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.77228" y="92.189217" id="rect21735" style="opacity:0.46875;fill:url(#linearGradient27651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.35599" y="108.36303" id="rect21737" style="opacity:0.46875;fill:url(#linearGradient27653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-278.51425" y="55.131035" id="rect21739" style="opacity:0.1875;fill:url(#linearGradient27655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-254.97046" y="78.479927" id="rect21741" style="opacity:0.1875;fill:url(#linearGradient27657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.53455" y="70.767914" id="rect21743" style="opacity:0.1875;fill:url(#linearGradient27659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.0918" y="83.996956" id="rect21745" style="opacity:0.46875;fill:url(#linearGradient27661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.30066" y="100.72653" id="rect21747" style="opacity:0.46875;fill:url(#linearGradient27663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.70331" y="67.053055" id="rect21749" style="opacity:0.46875;fill:url(#linearGradient27665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.98083" y="73.581207" id="rect21751" style="opacity:0.1875;fill:url(#linearGradient27667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.08847" y="94.374672" id="rect21753" style="opacity:0.1875;fill:url(#linearGradient27669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-254.45741" y="100.69733" id="rect21755" style="opacity:0.1875;fill:url(#linearGradient27671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.60889" y="85.703201" id="rect21757" style="opacity:0.46875;fill:url(#linearGradient27673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-274.84732" y="103.87772" id="rect21759" style="opacity:0.46875;fill:url(#linearGradient27675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.03357" y="90.877365" id="rect21761" style="opacity:0.46875;fill:url(#linearGradient27677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.6626" y="70.500305" id="rect21763" style="opacity:0.1875;fill:url(#linearGradient27679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.17976" y="57.346786" id="rect21765" style="opacity:0.1875;fill:url(#linearGradient27681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.80215" y="76.338768" id="rect21767" style="opacity:0.1875;fill:url(#linearGradient27683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.84044" y="62.407707" id="rect21769" style="opacity:0.46875;fill:url(#linearGradient27685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.61429" y="109.48866" id="rect21771" style="opacity:0.46875;fill:url(#linearGradient27687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.95377" y="99.259407" id="rect21773" style="opacity:0.46875;fill:url(#linearGradient27689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-302.67654" y="80.126701" id="rect21775" style="opacity:0.1875;fill:url(#linearGradient27691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.54361" y="80.017448" id="rect21777" style="opacity:0.1875;fill:url(#linearGradient27693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.85376" y="96.710403" id="rect21779" style="opacity:0.1875;fill:url(#linearGradient27695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.68607" y="104.046" id="rect21781" style="opacity:0.46875;fill:url(#linearGradient27697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.02905" y="68.652893" id="rect21783" style="opacity:0.46875;fill:url(#linearGradient27699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.33957" y="59.477379" id="rect21785" style="opacity:0.46875;fill:url(#linearGradient27701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.72734" y="62.554237" id="rect21787" style="opacity:0.1875;fill:url(#linearGradient27703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.08012" y="84.629906" id="rect21789" style="opacity:0.1875;fill:url(#linearGradient27705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.50664" y="61.226196" id="rect21791" style="opacity:0.1875;fill:url(#linearGradient27707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.17026" y="109.02679" id="rect21793" style="opacity:0.46875;fill:url(#linearGradient27709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.62747" y="110.70783" id="rect21795" style="opacity:0.46875;fill:url(#linearGradient27711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.71053" y="105.81419" id="rect21797" style="opacity:0.46875;fill:url(#linearGradient27713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.33205" y="56.806377" id="rect21799" style="opacity:0.1875;fill:url(#linearGradient27715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.8923" y="72.453812" id="rect21801" style="opacity:0.1875;fill:url(#linearGradient27717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.84396" y="81.6036" id="rect21803" style="opacity:0.1875;fill:url(#linearGradient27719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.28372" y="80.256149" id="rect21805" style="opacity:0.46875;fill:url(#linearGradient27721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.51932" y="63.046921" id="rect21807" style="opacity:0.46875;fill:url(#linearGradient27723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.11929" y="86.822929" id="rect21809" style="opacity:0.46875;fill:url(#linearGradient27725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.89749" y="60.208015" id="rect21811" style="opacity:0.1875;fill:url(#linearGradient27727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.36871" y="61.199322" id="rect21813" style="opacity:0.1875;fill:url(#linearGradient27729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.65778" y="99.558662" id="rect21815" style="opacity:0.1875;fill:url(#linearGradient27731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.99631" y="83.771034" id="rect21817" style="opacity:0.46875;fill:url(#linearGradient27733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.79523" y="55.187725" id="rect21819" style="opacity:0.46875;fill:url(#linearGradient27735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.21899" y="67.234024" id="rect21821" style="opacity:0.46875;fill:url(#linearGradient27737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.93652" y="58.027828" id="rect21823" style="opacity:0.1875;fill:url(#linearGradient27739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.09564" y="57.621449" id="rect21825" style="opacity:0.1875;fill:url(#linearGradient27741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.92448" y="62.891903" id="rect21827" style="opacity:0.1875;fill:url(#linearGradient27743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-245.2112" y="73.311836" id="rect21831" style="opacity:0.46875;fill:url(#linearGradient27747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.29486" y="72.867485" id="rect21833" style="opacity:0.46875;fill:url(#linearGradient27749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.24588" y="71.625595" id="rect21835" style="opacity:0.1875;fill:url(#linearGradient27751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.41812" y="65.277237" id="rect21837" style="opacity:0.1875;fill:url(#linearGradient27753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-278.57266" y="64.746178" id="rect21839" style="opacity:0.1875;fill:url(#linearGradient27755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.70593" y="95.995338" id="rect21841" style="opacity:0.46875;fill:url(#linearGradient27757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.45135" y="59.459827" id="rect21843" style="opacity:0.46875;fill:url(#linearGradient27759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.65451" y="64.189789" id="rect21845" style="opacity:0.46875;fill:url(#linearGradient27761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.06418" y="95.602432" id="rect21847" style="opacity:0.1875;fill:url(#linearGradient27763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.3447" y="63.354229" id="rect21849" style="opacity:0.1875;fill:url(#linearGradient27765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.95663" y="101.5279" id="rect21851" style="opacity:0.1875;fill:url(#linearGradient27767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.72165" y="86.172012" id="rect21853" style="opacity:0.46875;fill:url(#linearGradient27769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.71814" y="78.380249" id="rect21855" style="opacity:0.46875;fill:url(#linearGradient27771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.52434" y="93.67672" id="rect21857" style="opacity:0.46875;fill:url(#linearGradient27773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.90338" y="85.702248" id="rect21859" style="opacity:0.1875;fill:url(#linearGradient27775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.38721" y="77.190605" id="rect21861" style="opacity:0.1875;fill:url(#linearGradient27777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.67737" y="56.181717" id="rect21863" style="opacity:0.1875;fill:url(#linearGradient27779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.15222" y="107.90704" id="rect21865" style="opacity:0.46875;fill:url(#linearGradient27781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.92514" y="69.235466" id="rect21867" style="opacity:0.46875;fill:url(#linearGradient27783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.22012" y="109.27183" id="rect21869" style="opacity:0.46875;fill:url(#linearGradient27785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.93329" y="104.98781" id="rect21871" style="opacity:0.1875;fill:url(#linearGradient27787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.55911" y="75.871635" id="rect21873" style="opacity:0.1875;fill:url(#linearGradient27789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.32047" y="99.745865" id="rect21875" style="opacity:0.1875;fill:url(#linearGradient27791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.80777" y="80.191414" id="rect21877" style="opacity:0.46875;fill:url(#linearGradient27793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.10162" y="73.924088" id="rect21879" style="opacity:0.46875;fill:url(#linearGradient27795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.60951" y="101.18223" id="rect21881" style="opacity:0.46875;fill:url(#linearGradient27797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.05617" y="78.823349" id="rect21883" style="opacity:0.1875;fill:url(#linearGradient27799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.5704" y="108.95625" id="rect21885" style="opacity:0.1875;fill:url(#linearGradient27801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.31177" y="56.026588" id="rect21887" style="opacity:0.1875;fill:url(#linearGradient27803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.99092" y="78.282021" id="rect21889" style="opacity:0.46875;fill:url(#linearGradient27805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.61678" y="59.413132" id="rect21891" style="opacity:0.46875;fill:url(#linearGradient27807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.67126" y="61.633476" id="rect21893" style="opacity:0.46875;fill:url(#linearGradient27809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.9444" y="111.4621" id="rect21895" style="opacity:0.1875;fill:url(#linearGradient27811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.84995" y="83.256912" id="rect21897" style="opacity:0.1875;fill:url(#linearGradient27813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.802" y="57.619476" id="rect21899" style="opacity:0.1875;fill:url(#linearGradient27815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.81755" y="77.153168" id="rect21901" style="opacity:0.46875;fill:url(#linearGradient27817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-247.31902" y="68.481903" id="rect21903" style="opacity:0.46875;fill:url(#linearGradient27819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.41722" y="61.906265" id="rect21905" style="opacity:0.46875;fill:url(#linearGradient27821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.65349" y="86.281181" id="rect21907" style="opacity:0.1875;fill:url(#linearGradient27823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.61473" y="89.972336" id="rect21909" style="opacity:0.1875;fill:url(#linearGradient27825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.95982" y="103.9351" id="rect21911" style="opacity:0.1875;fill:url(#linearGradient27827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.90552" y="105.45963" id="rect21913" style="opacity:0.46875;fill:url(#linearGradient27829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.45705" y="73.526924" id="rect21915" style="opacity:0.46875;fill:url(#linearGradient27831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.1709" y="64.812592" id="rect21917" style="opacity:0.46875;fill:url(#linearGradient27833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.98798" y="64.855049" id="rect21919" style="opacity:0.1875;fill:url(#linearGradient27835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.42635" y="73.936829" id="rect21921" style="opacity:0.1875;fill:url(#linearGradient27837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.98654" y="73.139526" id="rect21923" style="opacity:0.1875;fill:url(#linearGradient27839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.25526" y="80.140846" id="rect21925" style="opacity:0.46875;fill:url(#linearGradient27841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.05325" y="94.54393" id="rect21927" style="opacity:0.46875;fill:url(#linearGradient27843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.58752" y="94.470482" id="rect21929" style="opacity:0.46875;fill:url(#linearGradient27845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.10745" y="68.010391" id="rect21931" style="opacity:0.1875;fill:url(#linearGradient27847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.12384" y="57.154907" id="rect21933" style="opacity:0.1875;fill:url(#linearGradient27849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.16574" y="94.142303" id="rect21935" style="opacity:0.1875;fill:url(#linearGradient27851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.22025" y="110.43915" id="rect21937" style="opacity:0.46875;fill:url(#linearGradient27853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.00839" y="80.812195" id="rect21939" style="opacity:0.46875;fill:url(#linearGradient27855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.59402" y="76.412384" id="rect21941" style="opacity:0.46875;fill:url(#linearGradient27857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.91107" y="58.024467" id="rect21943" style="opacity:0.1875;fill:url(#linearGradient27859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-249.53322" y="97.532372" id="rect21945" style="opacity:0.1875;fill:url(#linearGradient27861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.9502" y="79.375854" id="rect21947" style="opacity:0.1875;fill:url(#linearGradient27863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.24863" y="83.744377" id="rect21949" style="opacity:0.46875;fill:url(#linearGradient27865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.81308" y="87.086861" id="rect21951" style="opacity:0.46875;fill:url(#linearGradient27867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.07507" y="87.316689" id="rect21953" style="opacity:0.46875;fill:url(#linearGradient27869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-289.18948" y="111.07953" id="rect21955" style="opacity:0.1875;fill:url(#linearGradient27871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.52704" y="94.9814" id="rect21957" style="opacity:0.1875;fill:url(#linearGradient27873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.55115" y="79.851738" id="rect21959" style="opacity:0.1875;fill:url(#linearGradient27875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.60129" y="67.812614" id="rect21961" style="opacity:0.46875;fill:url(#linearGradient27877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.33926" y="104.16561" id="rect21963" style="opacity:0.46875;fill:url(#linearGradient27879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.54825" y="93.081116" id="rect21965" style="opacity:0.46875;fill:url(#linearGradient27881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.43896" y="58.822296" id="rect21967" style="opacity:0.1875;fill:url(#linearGradient27883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.89325" y="100.85945" id="rect21969" style="opacity:0.1875;fill:url(#linearGradient27885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.74698" y="63.367489" id="rect21971" style="opacity:0.1875;fill:url(#linearGradient27887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.92989" y="76.764717" id="rect21973" style="opacity:0.46875;fill:url(#linearGradient27889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.42609" y="98.909195" id="rect21975" style="opacity:0.46875;fill:url(#linearGradient27891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.9494" y="67.81192" id="rect21977" style="opacity:0.46875;fill:url(#linearGradient27893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.12759" y="80.207634" id="rect21979" style="opacity:0.1875;fill:url(#linearGradient27895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.70068" y="107.55251" id="rect21981" style="opacity:0.1875;fill:url(#linearGradient27897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.33008" y="88.17466" id="rect21983" style="opacity:0.1875;fill:url(#linearGradient27899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.88853" y="84.047386" id="rect21985" style="opacity:0.46875;fill:url(#linearGradient27901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.8196" y="80.099098" id="rect21987" style="opacity:0.46875;fill:url(#linearGradient27903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.29352" y="88.051704" id="rect21989" style="opacity:0.46875;fill:url(#linearGradient27905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- </g>
- <path d="M 34.6875,80.38144 C 33.51024,80.38144 32.5625,81.339002 32.5625,82.528441 L 32.5625,82.717882 C 32.5625,81.528444 33.51024,80.570884 34.6875,80.57088 L 85.84375,80.57088 C 86.87384,80.57088 87.74,81.327313 87.9375,82.307427 C 87.82856,81.22269 86.94705,80.38144 85.84375,80.38144 L 34.6875,80.38144 z M 39.96875,111.10251 L 39.96875,111.29197 C 39.96875,111.81689 40.38669,112.23916 40.90625,112.23916 L 55.03125,112.23916 C 55.5508,112.23916 55.96874,111.81689 55.96875,111.29197 L 55.96875,111.10251 C 55.96874,111.62744 55.5508,112.04971 55.03125,112.04971 L 40.90625,112.04971 C 40.38669,112.04971 39.96875,111.62744 39.96875,111.10251 z" id="path3292" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <path d="M 34.6875,80.279513 C 33.51024,80.279513 32.5625,81.643 32.5625,82.832439 L 32.5625,83.021881 C 32.5625,81.832441 33.51024,81.474879 34.6875,81.474879 L 85.84375,81.474879 C 86.87384,81.474879 87.54,81.631311 87.7375,82.611424 C 87.62856,81.526688 86.94705,80.380993 85.84375,80.380993 L 34.6875,80.279513 z M 39.96875,111.40651 L 39.96875,111.59595 C 39.96875,112.12088 40.38669,112.54316 40.90625,112.54316 L 55.03125,112.54316 C 55.5508,112.54316 55.96874,112.12088 55.96875,111.59595 L 55.96875,111.40651 C 55.96874,111.93144 55.5508,112.35371 55.03125,112.35371 L 40.90625,112.35371 C 40.38669,112.35371 39.96875,111.93144 39.96875,111.40651 z" id="path3301" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <rect width="0.25288588" height="38.263451" rx="0" ry="0" x="-87.866302" y="81.923531" transform="scale(-1,1)" id="rect27971" style="opacity:1;fill:url(#linearGradient27979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <g transform="matrix(1.0884558,0,0,1.1036437,-2.1696646,-3.433884)" id="g28105" style="opacity:0.78515625">
- <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" transform="matrix(0.6942102,0,0,0.6942102,4.8926363,5.5042159)" clip-path="url(#clipPath28045)" id="rect28009" style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28031)"/>
- <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" transform="matrix(0.6942102,0,0,0.6942102,4.8926363,5.5042159)" clip-path="url(#clipPath28041)" id="rect28039" style="opacity:1;fill:url(#radialGradient28110);fill-opacity:1;stroke:url(#linearGradient28112);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28031)"/>
- <rect width="4.3502288" height="3.6759202" rx="0.45226815" ry="0.45226815" x="13.897468" y="18.030909" id="rect28057" style="opacity:1;fill:url(#radialGradient28114);fill-opacity:1;stroke:url(#linearGradient28116);stroke-width:0.33188635;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28101)"/>
- </g>
- <rect width="55.5" height="2.5258846" x="32.5" y="118.41405" id="rect28122" style="opacity:0.546875;fill:url(#linearGradient28138);fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
- <path d="M 11.375,8.000469 C 9.318588,8.107658 8,9.705749 8,12.312968 L 8,12.906718 C 8,9.927039 9.421552,8.594219 12.375,8.594219 C 48.895822,8.020377 88.665734,8.321938 116.625,8.594219 C 118.52101,8.594219 120,9.722534 120,11.906718 L 120,11.312968 C 120,9.769599 118.4515,8.000469 116.625,8.000469 L 12.375,8.000469 C 12.005819,8.000469 11.668773,7.9851585 11.375,8.000469 z" id="path3391" style="opacity:1;fill:#343434;fill-opacity:0.82840235;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
- <path d="M 118.02054,8.3884687 L 118.13103,9.4933229 L 119.58944,9.493323 C 119.49063,9.021128 119.39101,8.3122317 118.02054,8.3884687 z" transform="matrix(-1.3891392,0,0,1.3891392,175.666,-2.239338)" id="path3081" style="fill:url(#radialGradient3084);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3077)"/>
- <path d="M 117.12054,8.6884687 L 117.23103,9.793323 L 118.68944,9.793323 C 118.59063,9.321128 118.49101,8.6122317 117.12054,8.6884687 z" transform="matrix(1.2828374,0,0,1.2828374,-33.432312,-2.365499)" id="path3031" style="opacity:0.86141304;fill:url(#radialGradient3039);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3077)"/>
-</svg>
\ No newline at end of file
+++ /dev/null
-//
-// HelloCube.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2016 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-using System;
-using Crow;
-using System.Reflection;
-using System.Collections.Generic;
-using System.Collections;
-using System.Xml.Serialization;
-using System.IO;
-using Crow.IML;
-using System.Xml;
-using System.Linq;
-using Crow.Coding;
-using System.Threading;
-
-namespace Crow.Coding
-{
- class CrowIDE : Interface
- {
- public Command CMDNew, CMDOpen, CMDSave, CMDSaveAs, cmdCloseSolution, CMDQuit,
- CMDUndo, CMDRedo, CMDCut, CMDCopy, CMDPaste, CMDHelp,
- CMDAbout, CMDOptions,
- CMDViewGTExp, CMDViewProps, CMDViewProj, CMDViewProjProps, CMDViewErrors, CMDViewSolution, CMDViewEditor, CMDViewProperties,
- CMDViewToolbox, CMDViewSchema, CMDViewStyling,CMDViewDesign,
- CMDCompile;
-
- void initCommands () {
- CMDNew = new Command(new Action(() => newFile())) { Caption = "New", Icon = new SvgPicture("#CrowIDE.icons.blank-file.svg"), CanExecute = true};
- CMDOpen = new Command(new Action(() => openFileDialog())) { Caption = "Open...", Icon = new SvgPicture("#CrowIDE.icons.open.svg") };
- CMDSave = new Command(new Action(() => saveFileDialog())) { Caption = "Save", Icon = new SvgPicture("#CrowIDE.icons.save.svg"), CanExecute = false};
- CMDSaveAs = new Command(new Action(() => saveFileDialog())) { Caption = "Save As...", Icon = new SvgPicture("#CrowIDE.icons.save.svg"), CanExecute = false};
- CMDQuit = new Command(new Action(() => app.running = false)) { Caption = "Quit", Icon = new SvgPicture("#CrowIDE.icons.sign-out.svg") };
- CMDUndo = new Command(new Action(() => undo())) { Caption = "Undo", Icon = new SvgPicture("#CrowIDE.icons.undo.svg"), CanExecute = false};
- CMDRedo = new Command(new Action(() => redo())) { Caption = "Redo", Icon = new SvgPicture("#CrowIDE.icons.redo.svg"), CanExecute = false};
- //CMDCut = new Command(new Action(() => Quit (null, null))) { Caption = "Cut", Icon = new SvgPicture("#CrowIDE.icons.scissors.svg"), CanExecute = false};
- //CMDCopy = new Command(new Action(() => Quit (null, null))) { Caption = "Copy", Icon = new SvgPicture("#CrowIDE.icons.copy-file.svg"), CanExecute = false};
- //CMDPaste = new Command(new Action(() => Quit (null, null))) { Caption = "Paste", Icon = new SvgPicture("#CrowIDE.icons.paste-on-document.svg"), CanExecute = false};
- CMDHelp = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("help"))) { Caption = "Help", Icon = new SvgPicture("#CrowIDE.icons.question.svg") };
- CMDOptions = new Command(new Action(() => loadWindow("#CrowIDE.ui.Options.crow"))) { Caption = "Editor Options", Icon = new SvgPicture("#CrowIDE.icons.tools.svg") };
-
- cmdCloseSolution = new Command(new Action(() => closeSolution()))
- { Caption = "Close Solution", Icon = new SvgPicture("#CrowIDE.icons.paste-on-document.svg"), CanExecute = false};
-
- CMDViewErrors = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winErrors.crow",this)))
- { Caption = "Errors pane"};
- CMDViewSolution = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winSolution.crow",this)))
- { Caption = "Solution Tree", CanExecute = false};
- CMDViewEditor = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winEditor.crow",this)))
- { Caption = "Editor Pane"};
- CMDViewProperties = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winProperties.crow",this)))
- { Caption = "Properties"};
- CMDViewDesign = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winDesign.crow",this)))
- { Caption = "Quick Design", CanExecute = true};
- CMDViewToolbox = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winToolbox.crow",this)))
- { Caption = "Toolbox", CanExecute = false};
- CMDViewSchema = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winSchema.crow",this)))
- { Caption = "IML Shematic View", CanExecute = true};
- CMDViewStyling = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winStyleView.crow",this)))
- { Caption = "Styling Explorer", CanExecute = true};
-
- CMDViewGTExp = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winGTExplorer.crow",this)))
- { Caption = "Graphic Tree Explorer", CanExecute = true};
- CMDCompile = new Command(new Action(() => compileSolution()))
- { Caption = "Compile", CanExecute = false};
- CMDViewProjProps = new Command(new Action(loadProjProps))
- { Caption = "Project Properties", CanExecute = false};
- }
-
- void openFileDialog () {
- AddWidget (instFileDlg.CreateInstance()).DataSource = this;
- }
- void openOptionsDialog(){}
- void newFile() {
- currentSolution.OpenedItems.AddElement(new ProjectFile());
- }
- void saveFileDialog() {}
- void undo() {}
- void redo() {}
- void closeSolution (){
- if (currentSolution != null)
- currentSolution.CloseSolution ();
- CurrentSolution = null;
- }
-
- public void saveWinConfigs() {
- Configuration.Global.Set ("WinConfigs", mainDock.ExportConfig ());
- Configuration.Global.Save ();
- }
- public void reloadWinConfigs() {
- string conf = Configuration.Global.Get<string>("WinConfigs");
- if (string.IsNullOrEmpty (conf))
- return;
- mainDock.ImportConfig (conf, this);
- }
-
- static CrowIDE app;
- [STAThread]
- static void Main ()
- {
- using (app = new CrowIDE ()) {
- MainIFace = app;
-
- //app.Keyboard.KeyDown += App_KeyboardKeyDown;
- app.initIde ();
-
- app.reloadWinConfigs ();
-
- app.Run ();
-
- app.saveWinConfigs ();
- }
- }
-
- static void App_KeyboardKeyDown (object sender, KeyEventArgs e)
- {
- Console.WriteLine((byte)e.Key);
- //#if DEBUG_LOG
- /*switch (e.Key) {
- case Key.F2:
- DebugLog.save (app);
- break;
- }*/
- //#endif
- }
-
- public CrowIDE ()
- : base(1024, 800)
- {
- }
-
- Instantiator instFileDlg;
- Solution currentSolution;
- Project currentProject;
- DockStack mainDock;
-
- public static Interface MainIFace;
- public static CrowIDE MainWin;
-
- void initIde() {
-
- initCommands ();
-
- Widget go = Load (@"#CrowIDE.ui.CrowIDE.crow");
- go.DataSource = this;
-
- mainDock = go.FindByName ("mainDock") as DockStack;
-
- if (ReopenLastSolution && !string.IsNullOrEmpty (LastOpenSolution)) {
- CurrentSolution = Solution.LoadSolution (LastOpenSolution);
- //lock(MainIFace.UpdateMutex)
- CurrentSolution.ReopenItemsSavedInUserConfig ();
- }
-
- instFileDlg = Instantiator.CreateFromImlFragment
- (MainIFace, "<FileDialog Caption='Open File' CurrentDirectory='{²CurrentDirectory}' SearchPattern='*.sln' OkClicked='onFileOpen'/>");
-
- /*DockWindow dw = loadWindow ("#CrowIDE.ui.DockWindows.winEditor.crow", this) as DockWindow;
- dw.DockingPosition = Alignment.Center;
- dw.Dock (mainDock);
- dw = loadWindow ("#CrowIDE.ui.DockWindows.winSolution.crow", this) as DockWindow;
- dw.DockingPosition = Alignment.Right;
- dw.Dock (mainDock);
- dw = loadWindow ("#CrowIDE.ui.DockWindows.winToolbox.crow", this) as DockWindow;
- dw.DockingPosition = Alignment.Left;
- dw.Dock (mainDock);*/
-
- //Console.WriteLine ();
- }
-
- void loadProjProps () {
- loadWindow ("#CrowIDE.ui.ProjectProperties.crow");
- }
- void compileSolution () {
- //ProjectItem pi = CurrentSolution.SelectedItem;
- Project p = CurrentSolution?.Projects[1];
- if (p == null)
- return;
- p.Compile ();
- }
-
- public string CurrentDirectory {
- get { return Crow.Configuration.Global.Get<string>("CurrentDirectory");}
- set {
- Crow.Configuration.Global.Set ("CurrentDirectory", value);
- }
- }
- public Solution CurrentSolution {
- get { return currentSolution; }
- set {
- if (currentSolution == value)
- return;
-
- currentSolution = value;
-
- CMDCompile.CanExecute = (currentSolution != null);
- cmdCloseSolution.CanExecute = (currentSolution != null);
- CMDViewSolution.CanExecute = (currentSolution != null);
-
- lock (MainIFace) {
- NotifyValueChanged ("CurrentSolution", currentSolution);
- }
- }
- }
- public Project CurrentProject {
- get { return currentProject; }
- set {
- if (currentProject == value)
- return;
- currentProject = value;
-
- CMDViewProjProps.CanExecute = (currentProject != null);
-
- lock (MainIFace) {
- NotifyValueChanged ("CurrentProject", currentProject);
- }
- }
- }
-
- public string LastOpenSolution {
- get { return Crow.Configuration.Global.Get<string>("LastOpenSolution");}
- set {
- if (LastOpenSolution == value)
- return;
- Crow.Configuration.Global.Set ("LastOpenSolution", value);
- NotifyValueChanged ("LastOpenSolution", value);
- }
- }
- public bool ReopenLastSolution {
- get { return Crow.Configuration.Global.Get<bool>("ReopenLastSolution");}
- set {
- if (ReopenLastSolution == value)
- return;
- Crow.Configuration.Global.Set ("ReopenLastSolution", value);
- NotifyValueChanged ("ReopenLastSolution", value);
- }
- }
-
- public void onFileOpen (object sender, EventArgs e)
- {
- FileDialog fd = sender as FileDialog;
-
- string filePath = fd.SelectedFileFullPath;
-
- try {
- string ext = Path.GetExtension (filePath);
- if (string.Equals (ext, ".sln", StringComparison.InvariantCultureIgnoreCase)) {
- CurrentSolution = Solution.LoadSolution (filePath);
- LastOpenSolution = filePath;
-// }else if (string.Equals (ext, ".csproj", StringComparison.InvariantCultureIgnoreCase)) {
-// currentProject = new Project (filePath);
- }
- } catch (Exception ex) {
- LoadIMLFragment ("<MessageBox Message='"+ ex.Message + "\n" + "' MsgType='Error'/>");
- }
- }
-
- Window loadWindow(string path, object dataSource = null){
- try {
- Widget g = MainIFace.FindByName (path);
- if (g != null)
- return g as Window;
- g = MainIFace.Load (path);
- g.Name = path;
- g.DataSource = dataSource;
- return g as Window;
- } catch (Exception ex) {
- Console.WriteLine (ex.ToString ());
- }
- return null;
- }
- void closeWindow (string path){
- Widget g = MainIFace.FindByName (path);
- if (g != null)
- MainIFace.DeleteWidget (g);
- }
-
- protected void onCommandSave(object sender, MouseButtonEventArgs e){
- System.Diagnostics.Debug.WriteLine("save");
- }
-
- void actionOpenFile(){
- System.Diagnostics.Debug.WriteLine ("OpenFile action");
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-//
-// DesignInterface.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using Crow;
-using System.Globalization;
-using System.Threading;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.IO;
-using Crow.Cairo;
-
-namespace Crow.Coding
-{
- public class DesignInterface : Interface, IValueChange
- {
- #region IValueChange implementation
- /// <summary>
- /// Raise to notify that the value of a property has changed, the binding system
- /// rely mainly on this event. the member name may not be present in the class, this is
- /// used in **propertyless** bindings, this allow to raise custom named events without needing
- /// to create an new one in the class or a new property.
- /// </summary>
- public event EventHandler<ValueChangeEventArgs> ValueChanged;
- /// <summary>
- /// Helper function to raise the value changed event
- /// </summary>
- public virtual void NotifyValueChanged(string MemberName, object _value)
- {
- //Debug.WriteLine ("Value changed: {0}->{1} = {2}", this, MemberName, _value);
- ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
- }
- #endregion
-
- public DesignInterface () : base()
- {
- }
-
- public ProjectFile ProjFile;
-
-
-
- public override Widget CreateInstance (string path)
- {
- ProjectFile pi;
-
- if (ProjFile.Project.solution.GetProjectFileFromPath (path, out pi))
- return CreateITorFromIMLFragment (pi.Source).CreateInstance();
-
- return null;
- }
- public override Stream GetStreamFromPath (string path)
- {
- ProjectFile pi;
- if (ProjFile.Project.solution.GetProjectFileFromPath (path, out pi)) {
- return new FileStream (pi.AbsolutePath, FileMode.Open);
- }
- throw new Exception ($"In Design File not found: {path}");
- }
-
- protected override void InitBackend ()
- {
- surf = new ImageSurface (Format.Argb32, 100, 100);
- }
- public override void ProcessResize (Rectangle bounds)
- {
- if (bounds == clientRectangle)
- return;
- lock (UpdateMutex) {
- clientRectangle = bounds;
- surf.Dispose ();
- surf = new ImageSurface (Format.Argb32, clientRectangle.Width, clientRectangle.Height);
-
- foreach (Widget g in GraphicTree)
- g.RegisterForLayouting (LayoutingType.All);
-
- RegisterClip (clientRectangle);
- }
-
- }
- public override bool ProcessMouseMove (int x, int y)
- {
- int deltaX = x - Mouse.X;
- int deltaY = y - Mouse.Y;
- Mouse.X = x;
- Mouse.Y = y;
- MouseMoveEventArgs e = new MouseMoveEventArgs (x, y, deltaX, deltaY);
- e.Mouse = Mouse;
-
- if (ActiveWidget != null) {
- //TODO, ensure object is still in the graphic tree
- //send move evt even if mouse move outside bounds
- ActiveWidget.onMouseMove (this, e);
- if (!ActiveWidget.IsDragged)//if active is dragged, process mouse move as it was not visible.
- return true;
- }
-
- if (HoverWidget != null) {
-
- //check topmost graphicobject first
- Widget tmp = HoverWidget;
- Widget topc = null;
- while (tmp is Widget) {
- topc = tmp;
- tmp = tmp.LogicalParent as Widget;
- }
- int idxhw = GraphicTree.IndexOf (topc);
- if (idxhw != 0) {
- int i = 0;
- while (i < idxhw) {
- if (GraphicTree [i].localLogicalParentIsNull) {
- if (GraphicTree [i].MouseIsIn (e.Position)) {
- while (HoverWidget != null) {
- HoverWidget.onMouseLeave (HoverWidget, e);
- HoverWidget = HoverWidget.LogicalParent as Widget;
- }
-
- GraphicTree [i].checkHoverWidget (e);
- return true;
- }
- }
- i++;
- }
- }
-
- if (HoverWidget.MouseIsIn (e.Position)) {
- if (!(HoverWidget is TemplatedControl))
- HoverWidget.checkHoverWidget (e);
- return true;
- } else {
- HoverWidget.onMouseLeave (HoverWidget, e);
- //seek upward from last focused graph obj's
- while (HoverWidget.LogicalParent as Widget != null) {
- HoverWidget = HoverWidget.LogicalParent as Widget;
- if (HoverWidget.MouseIsIn (e.Position)) {
- HoverWidget.checkHoverWidget (e);
- return true;
- } else
- HoverWidget.onMouseLeave (HoverWidget, e);
- }
- }
- }
-
- //top level graphic obj's parsing
- lock (GraphicTree) {
- for (int i = 0; i < GraphicTree.Count; i++) {
- Widget g = GraphicTree [i];
- if (g.MouseIsIn (e.Position)) {
- if (!(HoverWidget is TemplatedControl))
- g.checkHoverWidget (e);
- if (g is Window)
- PutOnTop (g);
- return true;
- }
- }
- }
- HoverWidget = null;
- return false;
- }
-
- protected override void processLayouting ()
- {
- #if MEASURE_TIME
- layoutingMeasure.StartCycle();
- #endif
-
- if (Monitor.TryEnter (LayoutMutex)) {
- DiscardQueue = new Queue<LayoutingQueueItem> ();
- LayoutingQueueItem lqi;
- while (LayoutingQueue.Count > 0) {
- lqi = LayoutingQueue.Dequeue ();
- //Console.WriteLine (lqi.ToString ());
- #if DEBUG_LAYOUTING
- currentLQI = lqi;
- curLQIsTries.Add(currentLQI);
- #endif
- lqi.ProcessLayouting ();
- }
- LayoutingQueue = DiscardQueue;
- Monitor.Exit (LayoutMutex);
- DiscardQueue = null;
- }
-
- #if MEASURE_TIME
- layoutingMeasure.StopCycle();
- #endif
- }
- }
-}
-
+++ /dev/null
-//
-// CodeTextBuffer.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2017 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text.RegularExpressions;
-using System.Diagnostics;
-using System.Threading;
-
-namespace Crow.Coding
-{
- /// <summary>
- /// Code buffer, lines are arranged in a List<string>, new line chars are removed during string.split on '\n...',
- /// </summary>
- public class CodeBuffer
- {
- public ReaderWriterLockSlim editMutex = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
-
- //those events are handled in SourceEditor to help keeping sync between textbuffer,parser and editor.
- //modified lines are marked for reparse
- #region Events
- public event EventHandler<CodeBufferEventArgs> LineUpadateEvent;
- public event EventHandler<CodeBufferEventArgs> LineRemoveEvent;
- public event EventHandler<CodeBufferEventArgs> LineAdditionEvent;
- public event EventHandler<CodeBufferEventArgs> FoldingEvent;
- public event EventHandler BufferCleared;
- public event EventHandler SelectionChanged;
- public event EventHandler PositionChanged;
- #endregion
-
- string lineBreak = Interface.LineBreak;
- List<CodeLine> lines = new List<CodeLine>();
- public int longestLineIdx = 0;
- public int longestLineCharCount = 0;
- /// <summary>
- /// real position in char arrays, tab = 1 char
- /// </summary>
- int _currentLine = 0;
- int _currentCol = 0;
-
- public int LineCount { get { return lines.Count;}}
- public int IndexOf (CodeLine cl) {
- return lines.IndexOf (cl);
- }
-
- public CodeLine this[int i]
- {
- get { return i < LineCount ? lines[i] : null; }
- set {
- if (lines [i] == value)
- return;
- editMutex.EnterWriteLock ();
- lines [i] = value;
- editMutex.ExitWriteLock ();
- LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
- }
- }
-
- public void RemoveAt(int i){
- editMutex.EnterWriteLock ();
- lines.RemoveAt (i);
- editMutex.ExitWriteLock ();
- LineRemoveEvent.Raise (this, new CodeBufferEventArgs (i));
- }
- public void Insert(int i, string item){
- editMutex.EnterWriteLock ();
- lines.Insert (i, item);
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, new CodeBufferEventArgs (i));
- }
- public void Add(CodeLine item){
- editMutex.EnterWriteLock ();
- lines.Add (item);
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, new CodeBufferEventArgs (lines.Count - 1));
- }
- public void AddRange (string[] items){
- int start = lines.Count;
- editMutex.EnterWriteLock ();
- for (int i = 0; i < items.Length; i++)
- lines.Add (items [i]);
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, new CodeBufferEventArgs (start, items.Length));
- }
- public void AddRange (CodeLine[] items){
- int start = lines.Count;
- editMutex.EnterWriteLock ();
- lines.AddRange (items);
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, new CodeBufferEventArgs (start, items.Length));
- }
- public void Clear () {
- editMutex.EnterWriteLock ();
- longestLineCharCount = 0;
- lines.Clear ();
- editMutex.ExitWriteLock ();
- BufferCleared.Raise (this, null);
- }
- public void UpdateLine(int i, string newContent){
- editMutex.EnterWriteLock ();
- this [i].Content = newContent;
- editMutex.ExitWriteLock ();
- LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
- }
- public void AppenedLine(int i, string newContent){
- editMutex.EnterWriteLock ();
- this [i].Content += newContent;
- editMutex.ExitWriteLock ();
- LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
- }
- public void RemoveLeadingTab (int l) {
- if (this [l] [0] == '\t') {
- UpdateLine (l, this [l].Content.Substring (1));
- return;
- }
- int i = 0;
- while (i < Interface.TabSize) {
- if (this [l] [i] != ' ')
- break;
- i++;
- }
- if (i > 0)
- UpdateLine (l, this [l].Content.Substring (i));
- }
- public void ToogleFolding (int line) {
- if (!this [line].IsFoldable)
- return;
- editMutex.EnterWriteLock ();
- this [line].IsFolded = !this [line].IsFolded;
- editMutex.ExitWriteLock ();
- FoldingEvent.Raise (this, new CodeBufferEventArgs (line));
- }
- public void Load(string rawSource, string lineBrkRegex = @"\r\n|\r|\n|\\\n") {
- this.Clear();
-
- if (string.IsNullOrEmpty (rawSource))
- return;
-
- AddRange (Regex.Split (rawSource, lineBrkRegex));
-
- lineBreak = detectLineBreakKind (rawSource);
- }
-
- /// <summary>
- /// Finds the longest visual line as printed on screen with tabulation replaced with n spaces
- /// </summary>
- public void FindLongestVisualLine(){
- longestLineCharCount = 0;
- editMutex.EnterReadLock ();
- for (int i = 0; i < this.LineCount; i++) {
- if (lines[i].PrintableLength > longestLineCharCount) {
- longestLineCharCount = lines[i].PrintableLength;
- longestLineIdx = i;
- }
- }
- editMutex.ExitReadLock ();
- //Debug.WriteLine ("Longest line: {0}->{1}", longestLineIdx, longestLineCharCount);
- }
- /// <summary> line break could be '\r' or '\n' or '\r\n' </summary>
- static string detectLineBreakKind(string buffer){
- string strLB = "";
-
- if (string.IsNullOrEmpty(buffer))
- return Interface.LineBreak;
- int i = 0;
- while ( i < buffer.Length) {
- if (buffer [i] == '\r') {
- strLB += '\r';
- i++;
- }
- if (i < buffer.Length) {
- if (buffer [i] == '\r')
- return "\r";
- if (buffer[i] == '\n')
- strLB += '\n';
- }
- if (!string.IsNullOrEmpty (strLB))
- return strLB;
- i++;
- }
- return Interface.LineBreak;
- }
- /// <summary>
- /// return all lines with linebreaks
- /// </summary>
- public string FullText{
- get {
- if (lines.Count == 0)
- return "";
- string tmp = "";
- editMutex.EnterReadLock ();
- for (int i = 0; i < lines.Count -1; i++)
- tmp += lines [i].Content + this.lineBreak;
- tmp += lines [lines.Count - 1].Content;
- editMutex.ExitReadLock ();
- return tmp;
- }
- }
-
- /// <summary>
- /// unfolded and not in folds line count
- /// </summary>
- public int UnfoldedLines {
- get {
- int i = 0, vl = 0;
- editMutex.EnterReadLock ();
- while (i < LineCount) {
- if (this [i].IsFolded) {
- i = GetEndNodeIndex (i);
- if (i < 0) {
- Console.WriteLine ("error folding");
- break;
- }
- }
- i++;
- vl++;
- }
- editMutex.ExitReadLock ();
- //Debug.WriteLine ("unfolded lines: " + vl);
- return vl;
- }
- }
-
- /// <summary>
- /// convert visual position to buffer position
- /// </summary>
- Point getBuffPos (Point visualPos) {
- int i = 0;
- int buffCol = 0;
- while (i < visualPos.X) {
- if (this [visualPos.Y] [buffCol] == '\t')
- i += Interface.TabSize;
- else
- i++;
- buffCol++;
- }
- return new Point (buffCol, visualPos.Y);
- }
-
- public int GetEndNodeIndex (int line) {
- return IndexOf (this [line].SyntacticNode.EndLine);
- }
-
- int ConverteTabulatedPosOfCurLine (int column) {
- int tmp = 0;
- int i = 0;
- while (i < lines [_currentLine].Content.Length){
- if (lines [_currentLine].Content [i] == '\t')
- tmp += 4;
- else
- tmp++;
- if (tmp > column)
- break;
- i++;
- }
- return i;
- }
-
- public int CurrentTabulatedColumn {
- get {
- return lines [_currentLine].Content.Substring (0, _currentCol).
- Replace ("\t", new String (' ', Interface.TabSize)).Length;
- }
- }
- /// <summary>
- /// Gets visual position computed from actual buffer position
- /// </summary>
-// public Point TabulatedPosition {
-// get { return new Point (TabulatedColumn, _currentLine); }
-// }
- /// <summary>
- /// set buffer current position from visual position
- /// </summary>
-// public void SetBufferPos(Point tabulatedPosition) {
-// CurrentPosition = getBuffPos(tabulatedPosition);
-// }
-
- #region Editing and moving cursor
- Point selStartPos = -1; //selection start (row,column)
- Point selEndPos = -1; //selection end (row,column)
-
- public bool SelectionInProgress { get { return selStartPos >= 0; }}
- public void SetSelStartPos () {
- selStartPos = selEndPos = CurrentPosition;
- SelectionChanged.Raise (this, null);
- }
- public void SetSelEndPos () {
- selEndPos = CurrentPosition;
- SelectionChanged.Raise (this, null);
- }
- public void SetSelectionOnFullLines () {
- if (!SelectionInProgress)
- return;
- Point s = new Point (0, SelectionStart.Y);
- Point e = new Point (this [SelectionEnd.Y].Length, SelectionEnd.Y);
- selStartPos = s;
- selEndPos = e;
- SelectionChanged.Raise (this, null);
- }
- /// <summary>
- /// Set selection in buffer to -1, empty selection
- /// </summary>
- public void ResetSelection () {
- selStartPos = selEndPos = -1;
- SelectionChanged.Raise (this, null);
- }
-
- public string SelectedText {
- get {
- if (SelectionIsEmpty)
- return "";
- Point selStart = SelectionStart;
- Point selEnd = SelectionEnd;
- if (selStart.Y == selEnd.Y)
- return this [selStart.Y].Content.Substring (selStart.X, selEnd.X - selStart.X);
- string tmp = "";
- tmp = this [selStart.Y].Content.Substring (selStart.X);
- for (int l = selStart.Y + 1; l < selEnd.Y; l++) {
- tmp += Interface.LineBreak + this [l].Content;
- }
- tmp += Interface.LineBreak + this [selEnd.Y].Content.Substring (0, selEnd.X);
- return tmp;
- }
- }
- /// <summary>
- /// ordered selection start and end positions in char units
- /// </summary>
- public Point SelectionStart {
- get { return selEndPos < 0 || selStartPos.Y < selEndPos.Y ? selStartPos :
- selStartPos.Y > selEndPos.Y ? selEndPos :
- selStartPos.X < selEndPos.X ? selStartPos : selEndPos; }
- }
- public Point SelectionEnd {
- get { return selEndPos < 0 || selStartPos.Y > selEndPos.Y ? selStartPos :
- selStartPos.Y < selEndPos.Y ? selEndPos :
- selStartPos.X > selEndPos.X ? selStartPos : selEndPos; }
- }
- public bool SelectionIsEmpty
- { get { return selEndPos == selStartPos; } }
- int requestedColumn = -1;
- /// <summary>
- /// Current column in buffer coordinate, tabulation = 1 char
- /// </summary>
- public int CurrentColumn{
- get { return _currentCol; }
- set {
- if (value == _currentCol)
- return;
-
- editMutex.EnterReadLock ();
-
- if (value < 0)
- _currentCol = 0;
- else if (value > lines [_currentLine].Length)
- _currentCol = lines [_currentLine].Length;
- else
- _currentCol = value;
-
- requestedColumn = CurrentTabulatedColumn;
-
- editMutex.ExitReadLock ();
-
- PositionChanged.Raise (this, null);
- }
- }
- /// <summary>
- /// Current row in buffer coordinate, tabulation = 1 char
- /// </summary>
- public int CurrentLine{
- get { return _currentLine; }
- set {
- if (value == _currentLine)
- return;
-
- editMutex.EnterReadLock ();
-
- if (LineCount == 0)
- _currentLine = 0;
- else if (value >= lines.Count)
- _currentLine = lines.Count-1;
- else if (value < 0)
- _currentLine = 0;
- else
- _currentLine = value;
-// if (_currentCol < 0)
-// requestedColumn = tabu _currentCol;
- int tabulatedRequestedCol = ConverteTabulatedPosOfCurLine(requestedColumn);
- if (requestedColumn > lines [_currentLine].PrintableLength)
- _currentCol = lines [_currentLine].Length;
- else
- //_currentCol = requestedColumn;
- _currentCol = tabulatedRequestedCol;
- //Debug.WriteLine ("buff cur line: " + _currentLine);
-
- editMutex.ExitReadLock();
-
- PositionChanged.Raise (this, null);
- }
- }
- public CodeLine CurrentCodeLine {
- get { return this [_currentLine]; }
- }
- /// <summary>
- /// Current position in buffer coordinate, tabulation = 1 char
- /// </summary>
- public Point CurrentPosition {
- get { return new Point(CurrentColumn, CurrentLine); }
-// set {
-// _currentCol = value.X;
-// _currentLine = value.Y;
-// }
- }
- /// <summary>
- /// get char at current position in buffer
- /// </summary>
- protected Char CurrentChar { get { return lines [CurrentLine] [CurrentColumn]; } }
-
- public void GotoWordStart(){
- if (this[CurrentLine].Length == 0)
- return;
- CurrentColumn--;
- //skip white spaces
- while (!char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn > 0)
- CurrentColumn--;
- while (char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn > 0)
- CurrentColumn--;
- if (!char.IsLetterOrDigit (this.CurrentChar))
- CurrentColumn++;
- }
- public void GotoWordEnd(){
- //skip white spaces
- if (CurrentColumn >= this [CurrentLine].Length - 1)
- return;
- while (!char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn < this [CurrentLine].Length-1)
- CurrentColumn++;
- while (char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn < this [CurrentLine].Length-1)
- CurrentColumn++;
- if (char.IsLetterOrDigit (this.CurrentChar))
- CurrentColumn++;
- }
- public void DeleteChar()
- {
- editMutex.EnterWriteLock ();
- if (SelectionIsEmpty) {
- if (CurrentColumn == 0) {
- if (CurrentLine == 0) {
- editMutex.ExitWriteLock ();
- return;
- }
- CurrentLine--;
- CurrentColumn = this [CurrentLine].Length;
- AppenedLine (CurrentLine, this [CurrentLine + 1].Content);
- RemoveAt (CurrentLine + 1);
- editMutex.ExitWriteLock ();
- return;
- }
- CurrentColumn--;
- UpdateLine (CurrentLine, this [CurrentLine].Content.Remove (CurrentColumn, 1));
- } else {
- int linesToRemove = SelectionEnd.Y - SelectionStart.Y + 1;
- int l = SelectionStart.Y;
-
- if (linesToRemove > 0) {
- UpdateLine (l, this [l].Content.Remove (SelectionStart.X, this [l].Length - SelectionStart.X) +
- this [SelectionEnd.Y].Content.Substring (SelectionEnd.X, this [SelectionEnd.Y].Length - SelectionEnd.X));
- l++;
- for (int c = 0; c < linesToRemove - 1; c++)
- RemoveAt (l);
- CurrentLine = SelectionStart.Y;
- CurrentColumn = SelectionStart.X;
- } else
- UpdateLine (l, this [l].Content.Remove (SelectionStart.X, SelectionEnd.X - SelectionStart.X));
- CurrentColumn = SelectionStart.X;
- ResetSelection ();
- }
- editMutex.ExitWriteLock ();
- }
- /// <summary>
- /// Insert new string at caret position, should be sure no line break is inside.
- /// </summary>
- /// <param name="str">String.</param>
- public void Insert(string str)
- {
- if (!SelectionIsEmpty)
- this.DeleteChar ();
- string[] strLines = Regex.Split (str, "\r\n|\r|\n|" + @"\\n").ToArray();
- UpdateLine (CurrentLine, this [CurrentLine].Content.Insert (CurrentColumn, strLines[0]));
- CurrentColumn += strLines[0].Length;
- for (int i = 1; i < strLines.Length; i++) {
- InsertLineBreak ();
- UpdateLine (CurrentLine, this [CurrentLine].Content.Insert (CurrentColumn, strLines[i]));
- CurrentColumn += strLines[i].Length;
- }
- }
- /// <summary>
- /// Insert a line break.
- /// </summary>
- public void InsertLineBreak()
- {
- if (CurrentColumn > 0) {
- Insert (CurrentLine + 1, this [CurrentLine].Content.Substring (CurrentColumn));
- UpdateLine (CurrentLine, this [CurrentLine].Content.Substring (0, CurrentColumn));
- } else
- Insert(CurrentLine, "");
-
- CurrentColumn = 0;
- CurrentLine++;
- }
- #endregion
- }
-}
-
+++ /dev/null
-using System;
-
-namespace Crow.Coding
-{
- public class CodeBufferEventArgs : EventArgs {
- public int LineStart;
- public int LineCount;
-
- public CodeBufferEventArgs(int lineNumber) {
- LineStart = lineNumber;
- LineCount = 1;
- }
- public CodeBufferEventArgs(int lineStart, int lineCount) {
- LineStart = lineStart;
- LineCount = lineCount;
- }
- }
-
-}
-
+++ /dev/null
-using System;
-using System.Text;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace Crow.Coding
-{
- public class CodeLine
- {
- public string Content;
- public List<Token> Tokens;
- public int EndingState = 0;
- public Node SyntacticNode;
- public ParserException exception;
-
- public CodeLine (string _content){
- Content = _content;
- Tokens = null;
- exception = null;
- }
-
- public char this[int i]
- {
- get { return Content[i]; }
- set {
- if (Content [i] == value)
- return;
- StringBuilder sb = new StringBuilder(Content);
- sb[i] = value;
- Content = sb.ToString();
- Tokens = null;
- //LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
- }
- }
- public bool IsFoldable { get { return SyntacticNode == null ? false :
- SyntacticNode.EndLine != SyntacticNode.StartLine && SyntacticNode.EndLine != null; } }
- public int FoldingLevel { get { return IsFoldable ? SyntacticNode.Level : 0; } }
- public bool IsFolded = false;
- public bool IsParsed {
- get { return Tokens != null; }
- }
- public string PrintableContent {
- get {
- return string.IsNullOrEmpty (Content) ? "" : Content.Replace ("\t", new String (' ', Interface.TabSize));
- }
- }
- public int PrintableLength {
- get {
- return PrintableContent.Length;
- }
- }
- public int Length {
- get {
- return string.IsNullOrEmpty (Content) ? 0 : Content.Length;
- }
- }
- public int FirstNonBlankTokIndex {
- get { return Tokens == null ? -1 : Tokens.FindIndex (tk=>tk.Type != BufferParser.TokenType.WhiteSpace); }
- }
-
- public void SetLineInError (ParserException ex) {
- Tokens = null;
- exception = ex;
- }
-
-// public static implicit operator string(CodeLine sl) {
-// return sl == null ? "" : sl.Content;
-// }
- public static implicit operator CodeLine(string s) {
- return new CodeLine(s);
- }
- public static bool operator ==(string s1, CodeLine s2)
- {
- return string.Equals (s1, s2.Content);
- }
- public static bool operator !=(string s1, CodeLine s2)
- {
- return !string.Equals (s1, s2.Content);
- }
- }
-}
-
+++ /dev/null
-using System;
-using System.Collections.Generic;
-
-namespace Crow.Coding
-{
- public class Node
- {
- public Node Parent;
- public string Name;
- public string Type;
- public CodeLine StartLine;
- public CodeLine EndLine;
- public Dictionary<string,string> Attributes = new Dictionary<string, string> ();
-
- public List<Node> Children = new List<Node>();
-
- public Node ()
- {
- }
-
- public void AddChild (Node child) {
- child.Parent = this;
- Children.Add (child);
- }
-
- public int Level {
- get { return Parent == null ? 1 : Parent.Level + 1; }
- }
-
- public override string ToString ()
- {
- return string.Format ("Name:{0}, Type:{1}\n\tparent:{2}", Name, Type, Parent);
- }
- }
-}
-
+++ /dev/null
-//
-// CodeTextBuffer.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2017 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text.RegularExpressions;
-using System.Diagnostics;
-using System.Threading;
-using System.Text;
-
-namespace Crow.Text
-{
- /// <summary>
- /// Code buffer, lines are arranged in a List<string>, new line chars are removed during string.split on '\n...',
- /// </summary>
- public class TextBuffer
- {
- public ReaderWriterLockSlim editMutex = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
- static Regex slb = new Regex ("\\n");//single char line break used internaly
- Regex reghexLineBrk = new Regex(@"\r\n|\r|\n|\\\n");//original text line break regex
-
- #region Events
- public event EventHandler<TextBufferEventArgs> LineUpadateEvent;
- public event EventHandler<TextBufferEventArgs> LineRemoveEvent;
- public event EventHandler<TextBufferEventArgs> LineAdditionEvent;
- public event EventHandler BufferCleared;
- public event EventHandler SelectionChanged;
- public event EventHandler PositionChanged;
- #endregion
-
- StringBuilder buffer = new StringBuilder();
- string lineBreak = Interface.LineBreak;//detected linebreak kind in original source
- List<int> lineLength = new List<int>();//line length table
- /// <summary>
- /// real position in char arrays, tab = 1 char
- /// </summary>
- int _currentLine = 0;
- int _currentCol = 0;
-
- /// <summary>
- /// Gets the total line count.
- /// </summary>
- public int LineCount { get { return lineLength.Count;}}
-
- /// <summary>
- /// get a substring in the buffer
- /// </summary>
- /// <returns>a new string</returns>
- /// <param name="idx">absolute index in the buffer</param>
- /// <param name="length">length of the substring</param>
- public string GetSubString (int idx, int length){
- return buffer.ToString (idx, length);
- }
- /// <summary>
- /// Gets length of a line.
- /// </summary>
- /// <returns>length of line</returns>
- /// <param name="lineIdx">line nuber</param>
- public int GetLineLength (int lineIdx) {
- return lineLength [lineIdx];
- }
- /// <summary>
- /// get a single charactere in the buffer
- /// </summary>
- /// <returns>a single char</returns>
- /// <param name="idx">absolute index in the buffer</param>
- public char GetCharAt (int idx){
- return buffer [idx];
- }
- /// <summary>
- /// return full text with original line breaks
- /// </summary>
- /// <value>a string containing the full text</value>
- public string FullText {
- get { return buffer.Replace("\n", lineBreak).ToString (); }
- set {
- Load (value);
- }
- }
- /// <summary>
- /// Gets the buffer pointer of a line
- /// </summary>
- /// <returns>absolute index of the line in the buffer</returns>
- /// <param name="i">line number</param>
- public int GetBufferIndexOfLine (int i) {
- int ptr = 0;
- editMutex.EnterReadLock ();
- for (int j = 0; j < i; j++) {
- ptr += lineLength [j];
- }
- editMutex.ExitReadLock ();
- return ptr;
- }
- /// <summary>
- /// Gets the buffer pointer for the current position
- /// </summary>
- /// <value>absolute index in the buffer of current position</value>
- public int BufferIndexOfCurrentPosition {
- get {return GetBufferIndexOfLine (_currentLine) + _currentCol;}
- }
- public int this[int i]
- {
- get {
- int ptr = 0;
- editMutex.EnterReadLock ();
- for (int j = 0; j < i; j++) {
- ptr += lineLength [j];
- }
- editMutex.ExitReadLock ();
- return ptr;
- }
- }
- /// <summary>
- /// remove line number i
- /// </summary>
- /// <param name="i">index of the line</param>
- public void RemoveLine(int i){
- editMutex.EnterWriteLock ();
- buffer.Remove (GetBufferIndexOfLine (i), lineLength [i]);
- lineLength.RemoveAt (i);
- editMutex.ExitWriteLock ();
- LineRemoveEvent.Raise (this, new TextBufferEventArgs (i));
- }
- /// <summary>
- /// insert string without linebreaks at position i in buff
- /// </summary>
- /// <param name="i">absolute index in the buffer</param>
- /// <param name="str">linebreak free string</param>
- public void InsertAt(int i, string str){
- editMutex.EnterWriteLock ();
- buffer.Insert (this [i], str);
- lineLength.Insert (i, str.Length);
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, new TextBufferEventArgs (i));
- }
- public void AddLine(string str){
- editMutex.EnterWriteLock ();
- if (lineLength.LastOrDefault() == 0) {
- buffer.Append (str);
- lineLength [lineLength.Count - 1] = str.Length;
- lineLength.Add (0);
- }
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, new TextBufferEventArgs (lineLength.Count - 1));
- }
- public void AddRange (string[] items){
- int start = lineLength.Count;
- editMutex.EnterWriteLock ();
- for (int i = 0; i < items.Length; i++)
- AddLine (items [i]);
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, new TextBufferEventArgs (start, items.Length));
- }
- public void Clear () {
- editMutex.EnterWriteLock ();
- lineLength.Clear ();
- buffer.Clear ();
- editMutex.ExitWriteLock ();
- BufferCleared.Raise (this, null);
- }
- public void UpdateLine(int i, string newContent){
- editMutex.EnterWriteLock ();
- int ptrL = this [i];
- buffer.Remove (ptrL, lineLength [i]);
- buffer.Insert (ptrL, newContent);
- lineLength [i] = newContent.Length;
- editMutex.ExitWriteLock ();
- LineUpadateEvent.Raise (this, new TextBufferEventArgs (i));
- }
- public void AppenedLine(int i, string newContent){
- editMutex.EnterWriteLock ();
- int ptr = this [i] + lineLength [i];
- if (i < LineCount - 1)
- ptr--;
- buffer.Insert(ptr, newContent);
- lineLength [i] += newContent.Length;
- editMutex.ExitWriteLock ();
- LineUpadateEvent.Raise (this, new TextBufferEventArgs (i));
- }
- /// <summary>
- /// Insert new string at caret position, should be sure no line break is inside.
- /// </summary>
- /// <param name="str">String.</param>
- public void InsertAt(string str)
- {
- if (!SelectionIsEmpty)
- this.Delete ();
-
- editMutex.EnterWriteLock ();
-
- string tmp = reghexLineBrk.Replace (str, "\n");//use single char line break in buffer
- int buffPtr = this [CurrentLine] + CurrentColumn;
- buffer.Insert (buffPtr, tmp);
-
- int lPtr = CurrentLine, strPtr = 0;
- int remainingLength = lineLength [lPtr] - CurrentColumn;
- lineLength [lPtr] = CurrentColumn;
- foreach (Match match in slb.Matches(tmp))
- {
- lineLength [lPtr] += match.Index + 1 - strPtr;
- lPtr++;
- lineLength.Insert (lPtr, 0);
- strPtr = match.Index + 1;
- //CurrentLine++;
- }
- remainingLength += tmp.Length - strPtr;
- lineLength [lPtr] += remainingLength;
-
- CurrentLine = lPtr;
- if (strPtr == 0)
- CurrentColumn += tmp.Length;
- else
- CurrentColumn = tmp.Length - strPtr;
-
- editMutex.ExitWriteLock ();
- if (strPtr>0)
- LineAdditionEvent.Raise (this, null);
- else
- LineUpadateEvent.Raise (this, null);
- }
- /// <summary>
- /// Insert a line break.
- /// </summary>
- public void InsertLineBreak()
- {
- editMutex.EnterWriteLock ();
- buffer.Insert (this [CurrentLine] + CurrentColumn, '\n');
- int lgdiff = lineLength [CurrentLine] - CurrentColumn;
- lineLength.Insert (CurrentLine + 1, lineLength [CurrentLine] - CurrentColumn);
- lineLength [CurrentLine] = CurrentColumn + 1;
- editMutex.ExitWriteLock ();
- LineAdditionEvent.Raise (this, null);
- CurrentColumn = 0;
- CurrentLine++;
- }
- public void Delete()
- {
- editMutex.EnterWriteLock ();
- if (SelectionIsEmpty) {
- if (CurrentColumn == 0) {
- if (CurrentLine == 0) {
- editMutex.ExitWriteLock ();
- return;
- }
-
- buffer.Remove (this [CurrentLine] - 1, 1);
-
- int col = lineLength [CurrentLine - 1] - 1;
- lineLength [CurrentLine - 1] += lineLength [CurrentLine] - 1;
- lineLength.RemoveAt (CurrentLine);
-
- CurrentLine--;
- CurrentColumn = col;
-
- editMutex.ExitWriteLock ();
- LineRemoveEvent.Raise (this, null);
- return;
- }
- CurrentColumn--;
- buffer.Remove (this [CurrentLine] + CurrentColumn, 1);
- lineLength [CurrentLine]--;
- } else {
- int linesToRemove = SelectionEnd.Y - SelectionStart.Y;
- int ptr = this [SelectionStart.Y] + SelectionStart.X;
- int length = lineLength [SelectionStart.Y] - SelectionStart.X;
- int l = 1;
- while (l <= linesToRemove ) {
- length += lineLength [SelectionStart.Y + l];
- l++;
- }
- length -= lineLength [SelectionEnd.Y] - SelectionEnd.X;
- buffer.Remove (ptr, length);
- lineLength [SelectionStart.Y] = SelectionStart.X + lineLength [SelectionEnd.Y] - SelectionEnd.X;
- lineLength.RemoveRange (SelectionStart.Y + 1, linesToRemove);
-
- CurrentLine = SelectionStart.Y;
- CurrentColumn = SelectionStart.X;
- ResetSelection ();
-
- if (linesToRemove > 0)
- LineRemoveEvent.Raise (this, null);
- else
- LineUpadateEvent.Raise (this, null);
- }
- editMutex.ExitWriteLock ();
- }
- public void Load(string rawSource) {
- this.Clear();
-
- if (string.IsNullOrEmpty (rawSource))
- return;
-
- lineBreak = reghexLineBrk.Match (rawSource).Value;//store original line break
- string tmp = reghexLineBrk.Replace (rawSource, "\n");//use single char line break in buffer
- int ptr = 0;
- foreach (Match match in slb.Matches(tmp))
- {
- int l = match.Index + 1;
- int lg = l - ptr;
- lineLength.Add (lg);
- ptr = l;
- }
- lineLength.Add (0);
-
- buffer = new StringBuilder (tmp);
- }
-
-// public int CurrentTabulatedColumn {
-// get {
-//// return lines [_currentLine].Content.Substring (0, _currentCol).
-//// Replace ("\t", new String (' ', Interface.TabSize)).Length;
-// }
-// }
-
- #region moving cursor an selection
- Point selStartPos = -1; //selection start (row,column)
- Point selEndPos = -1; //selection end (row,column)
-
- public bool SelectionInProgress { get { return selStartPos >= 0; }}
- public void SetSelStartPos () {
- selStartPos = selEndPos = CurrentPosition;
- SelectionChanged.Raise (this, null);
- }
- public void SetSelEndPos () {
- selEndPos = CurrentPosition;
- SelectionChanged.Raise (this, null);
- }
- /// <summary>
- /// Set selection in buffer to -1, empty selection
- /// </summary>
- public void ResetSelection () {
- selStartPos = selEndPos = -1;
- SelectionChanged.Raise (this, null);
- }
- /// <summary>
- /// ordered selection start and end positions in char units
- /// </summary>
- public Point SelectionStart {
- get { return selEndPos < 0 || selStartPos.Y < selEndPos.Y ? selStartPos :
- selStartPos.Y > selEndPos.Y ? selEndPos :
- selStartPos.X < selEndPos.X ? selStartPos : selEndPos; }
- }
- public Point SelectionEnd {
- get { return selEndPos < 0 || selStartPos.Y > selEndPos.Y ? selStartPos :
- selStartPos.Y < selEndPos.Y ? selEndPos :
- selStartPos.X > selEndPos.X ? selStartPos : selEndPos; }
- }
- public bool SelectionIsEmpty
- { get { return selEndPos == selStartPos; } }
- /// <summary>
- /// Current column in buffer coordinate, tabulation = 1 char
- /// </summary>
- public int CurrentColumn{
- get { return _currentCol; }
- set {
- if (value == _currentCol)
- return;
-
- editMutex.EnterWriteLock ();
-
- if (value < 0)
- _currentCol = 0;
- else if (value >= lineLength [_currentLine]) {
- if (_currentLine < LineCount -1 && value > lineLength [_currentLine] - 1)
- _currentCol = lineLength [_currentLine] - 1;
- else
- _currentCol = lineLength [_currentLine];
- }else
- _currentCol = value;
-
- editMutex.ExitWriteLock ();
-
- PositionChanged.Raise (this, null);
- }
- }
- /// <summary>
- /// Current row in buffer coordinate, tabulation = 1 char
- /// </summary>
- public int CurrentLine{
- get { return _currentLine; }
- set {
- if (value == _currentLine)
- return;
-
- editMutex.EnterWriteLock ();
-
- if (value >= lineLength.Count)
- _currentLine = lineLength.Count-1;
- else if (value < 0)
- _currentLine = 0;
- else
- _currentLine = value;
-
- int c = _currentCol;
- _currentCol = 0;
- CurrentColumn = c;
-
- editMutex.ExitWriteLock();
-
- PositionChanged.Raise (this, null);
- }
- }
- /// <summary>
- /// Current position in buffer coordinate, tabulation = 1 char
- /// </summary>
- public Point CurrentPosition {
- get { return new Point(CurrentColumn, CurrentLine); }
- }
- /// <summary>
- /// get char at current position in buffer
- /// </summary>
- protected Char CurrentChar { get { return buffer[this [CurrentLine]]; } }
- public string SelectedText {
- get {
- if (SelectionIsEmpty)
- return "";
- Point selStart = SelectionStart;
- Point selEnd = SelectionEnd;
-
- int ptr = this [selStart.Y] + selStart.X;
- int length = lineLength[selStart.Y] - selStart.X;
- for (int i = selStart.Y+1; i <= selEnd.Y; i++)
- length += lineLength [i];
- length -= lineLength[selEnd.Y] - selEnd.X;
-
- return buffer.ToString (ptr, length);
- }
- }
-
- public void GotoWordStart(){
- if (_currentCol == 0)
- MoveLeft ();
- if (_currentCol == 0)
- return;
- int ptrStart = BufferIndexOfCurrentPosition;
- int ptr = ptrStart;
- char c;
- //skip white spaces
- do {
- ptr--;
- c = this.GetCharAt (ptr);
- } while (!char.IsLetterOrDigit (c) && c != '\n' && ptr > 1);
-
- do {
- ptr--;
- c = this.GetCharAt (ptr);
- } while (char.IsLetterOrDigit (c) && c != '\n' && ptr > 1);
-
- if (ptr == 0)
- CurrentColumn = 0;
- else
- CurrentColumn -= ptrStart - ptr - 1;
- }
- public void GotoWordEnd(){
- int limx = GetLineLength (_currentLine);
- if (_currentLine < lineLength.Count - 1)
- limx--;
-
- if (_currentCol == limx) {
- MoveRight ();
- limx = GetLineLength (_currentLine);
- if (_currentLine < lineLength.Count - 1)
- limx--;
- }
-
- int ptrLine = GetBufferIndexOfLine(_currentLine);
- int ptrCol = _currentCol;
-
- char c;
- //skip white spaces
- do {
- c = GetCharAt (ptrLine+ptrCol);
- ptrCol++;
- } while (!char.IsLetterOrDigit (c) && ptrCol < limx);
-
- do {
- c = GetCharAt (ptrLine + ptrCol);
- ptrCol++;
- } while (char.IsLetterOrDigit (c) && ptrCol < limx);
- CurrentColumn = ptrCol - 1;
- }
- /// <summary>
- /// Moves cursor one char to the left, move up if cursor reaches start of line
- /// </summary>
- public void MoveLeft(){
- if (CurrentColumn == 0) {
- CurrentLine--;
- CurrentColumn = int.MaxValue;
- } else
- CurrentColumn--;
- }
- /// <summary>
- /// Moves cursor one char to the right, move down if cursor reaches end of line
- /// </summary>
- public void MoveRight(){
- if (_currentLine < LineCount -1){
- if (CurrentColumn >= lineLength [CurrentLine] - 1) {
- CurrentColumn = 0;
- CurrentLine++;
- return;
- }
- }
- CurrentColumn++;
- }
-
- #endregion
- }
-}
-
+++ /dev/null
-using System;
-
-namespace Crow.Text
-{
- public class TextBufferEventArgs : EventArgs {
- public int LineStart;
- public int LineCount;
-
- public TextBufferEventArgs(int lineNumber) {
- LineStart = lineNumber;
- LineCount = 1;
- }
- public TextBufferEventArgs(int lineStart, int lineCount) {
- LineStart = lineStart;
- LineCount = lineCount;
- }
- }
-
-}
-
+++ /dev/null
-//
-// ScrollingTextBox.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Xml.Serialization;
-using System.ComponentModel;
-using System.Collections;
-using Crow.Cairo;
-using System.Text;
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-using System.Linq;
-using System.Diagnostics;
-using System.IO;
-using System.Threading;
-
-namespace Crow.Text
-{
- /// <summary>
- /// Scrolling text box optimized for monospace fonts, for coding
- /// </summary>
- public class TextEditor : Crow.Coding.Editor
- {
- #region CTOR
- public TextEditor (): base()
- {
- buffer = new TextBuffer ();
- buffer.LineUpadateEvent += Buffer_LineUpadateEvent;
- buffer.LineAdditionEvent += Buffer_LineAdditionEvent;;
- buffer.LineRemoveEvent += Buffer_LineRemoveEvent;
- buffer.BufferCleared += Buffer_BufferCleared;
- buffer.SelectionChanged += Buffer_SelectionChanged;
- buffer.PositionChanged += Buffer_PositionChanged;
- //buffer.Add ("");
- }
- #endregion
-
- string oldSource = "";
- volatile bool isDirty = false;
-
- #region private and protected fields
- int visibleLines = 1;
- int visibleColumns = 1;
-
- TextBuffer buffer;
-
- Color selBackground;
- Color selForeground;
- int selStartCol;
- int selEndCol;
-
- protected Rectangle rText;
- protected FontExtents fe;
- protected TextExtents te;
-
- Point mouseLocalPos;
- bool doubleClicked = false;
- #endregion
-
- /// <summary>
- /// Updates visible line in widget, adapt max scroll y and updatePrintedLines
- /// </summary>
- void updateVisibleLines(){
- visibleLines = (int)Math.Floor ((double)ClientRectangle.Height / (fe.Ascent+fe.Descent));
- NotifyValueChanged ("VisibleLines", visibleLines);
- updateMaxScrollY ();
- RegisterForGraphicUpdate ();
-// System.Diagnostics.Debug.WriteLine ("update visible lines: " + visibleLines);
-// System.Diagnostics.Debug.WriteLine ("update MaxScrollY: " + MaxScrollY);
- }
- void updateVisibleColumns(){
- visibleColumns = (int)Math.Floor ((double)(ClientRectangle.Width)/ fe.MaxXAdvance);
- NotifyValueChanged ("VisibleColumns", visibleColumns);
- RegisterForGraphicUpdate ();
-// System.Diagnostics.Debug.WriteLine ("update visible columns: {0} leftMargin:{1}",visibleColumns, leftMargin);
-// System.Diagnostics.Debug.WriteLine ("update MaxScrollX: " + MaxScrollX);
- }
- void updateMaxScrollX (int longestTabulatedLineLength) {
- MaxScrollX = Math.Max (0, longestTabulatedLineLength - visibleColumns);
- if (longestTabulatedLineLength > 0)
- NotifyValueChanged ("ChildWidthRatio", Slot.Width * visibleColumns / longestTabulatedLineLength);
- }
- void updateMaxScrollY () {
- int lc = buffer.LineCount;
- MaxScrollY = Math.Max (0, lc - visibleLines);
- if (lc > 0)
- NotifyValueChanged ("ChildHeightRatio", Slot.Height * visibleLines / lc);
-
- }
-
-
-
- #region Editor overrides
- protected override void updateEditorFromProjFile ()
- {
- buffer.editMutex.EnterWriteLock ();
- loadSource ();
- buffer.editMutex.ExitWriteLock ();
-
- isDirty = false;
- oldSource = projFile.Source;
- projFile.RegisteredEditors [this] = true;
- }
- protected override void updateProjFileFromEditor ()
- {
- buffer.editMutex.EnterWriteLock ();
- string newsrc = buffer.FullText;
- buffer.editMutex.ExitWriteLock ();
- projFile.UpdateSource (this, newsrc);
- }
- protected override bool EditorIsDirty {
- get { return isDirty; }
- set { isDirty = value; }
- }
- protected override bool IsReady {
- get { return projFile != null && buffer != null; }
- }
- #endregion
-
- #region Buffer events handlers
- void Buffer_BufferCleared (object sender, EventArgs e)
- {
- editorMutex.EnterWriteLock ();
-
- MaxScrollX = MaxScrollY = 0;
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- isDirty = true;
-
- editorMutex.ExitWriteLock ();
- }
- void Buffer_LineAdditionEvent (object sender, TextBufferEventArgs e)
- {
- updateMaxScrollY ();
- RegisterForGraphicUpdate ();
- isDirty = true;
- }
- void Buffer_LineRemoveEvent (object sender, TextBufferEventArgs e)
- {
- updateMaxScrollY ();
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- isDirty = true;
- }
- void Buffer_LineUpadateEvent (object sender, TextBufferEventArgs e)
- {
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- isDirty = true;
- }
- void Buffer_PositionChanged (object sender, EventArgs e)
- {
- int cc = getTabulatedColumn (buffer.CurrentPosition);
-
- if (cc > visibleColumns + ScrollX) {
- ScrollX = cc - visibleColumns;
- } else if (cc < ScrollX)
- ScrollX = cc;
-
- if (buffer.CurrentLine >= visibleLines + ScrollY - 1)
- ScrollY = buffer.CurrentLine - visibleLines + 1;
- else if (buffer.CurrentLine < ScrollY)
- ScrollY = buffer.CurrentLine;
-
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- }
-
- void Buffer_SelectionChanged (object sender, EventArgs e)
- {
- RegisterForGraphicUpdate ();
- }
- #endregion
-
- void notifyPositionChanged (){
- try {
- NotifyValueChanged ("CurrentLine", buffer.CurrentLine+1);
- NotifyValueChanged ("CurrentColumn", buffer.CurrentColumn+1);
- } catch (Exception ex) {
- Console.WriteLine (ex.ToString ());
- }
- }
-
- #region Public Crow Properties
- public int CurrentLine{
- get { return buffer == null ? 0 : buffer.CurrentLine+1; }
- set {
- try {
- int l = value - 1;
- if (l == buffer.CurrentLine)
- return;
- buffer.CurrentLine = l;
- } catch (Exception ex) {
- Console.WriteLine ("Error cur column: " + ex.ToString ());
- }
- }
- }
- public int CurrentColumn{
- get { return buffer == null ? 0 : buffer.CurrentColumn+1; }
- set {
- try {
- if (value - 1 == buffer.CurrentColumn)
- return;
- buffer.CurrentColumn = value - 1;
- } catch (Exception ex) {
- Console.WriteLine ("Error cur column: " + ex.ToString ());
- }
- }
- }
- [DefaultValue("Blue")]
- public virtual Color SelectionBackground {
- get { return selBackground; }
- set {
- if (value == selBackground)
- return;
- selBackground = value;
- NotifyValueChanged ("SelectionBackground", selBackground);
- RegisterForRedraw ();
- }
- }
- [DefaultValue("White")]
- public virtual Color SelectionForeground {
- get { return selForeground; }
- set {
- if (value == selForeground)
- return;
- selForeground = value;
- NotifyValueChanged ("SelectionForeground", selForeground);
- RegisterForRedraw ();
- }
- }
- public override int ScrollY {
- get {
- return base.ScrollY;
- }
- set {
- if (value == base.ScrollY)
- return;
- editorMutex.EnterWriteLock ();
- base.ScrollY = value;
- editorMutex.ExitWriteLock ();
- RegisterForGraphicUpdate ();
- }
- }
- #endregion
-
-
- void loadSource () {
- buffer.Load (projFile.Source);
- projFile.RegisteredEditors [this] = true;
- updateMaxScrollY ();
- RegisterForGraphicUpdate ();
- }
-
- int getTabulatedColumn (int col, int line) {
- return buffer.GetSubString (buffer [line],
- buffer.GetLineLength (line)).Substring(0,col).Replace ("\t", new String (' ', Interface.TabSize)).Length;
- }
- int getTabulatedColumn (Point pos) {
- return getTabulatedColumn (pos.X,pos.Y);
- }
-
- #region Drawing
- void drawLines(Context gr, Rectangle cb) {
- int longestTabulatedLine = 0;
- for (int i = 0; i < visibleLines; i++) {
- int lineIndex = i + ScrollY;
- if (lineIndex >= buffer.LineCount)//TODO:need optimize
- break;
-
- double y = cb.Y + (fe.Ascent+fe.Descent) * i, x = cb.X;
-
- int lineLength = buffer.GetLineLength (lineIndex);
- if (lineIndex < buffer.LineCount - 1)//dont print line break
- lineLength--;
- string lstr = buffer.GetSubString (buffer [lineIndex],
- lineLength).Replace ("\t", new String (' ', Interface.TabSize));
-
- int lstrLength = lstr.Length;
- if (lstrLength > longestTabulatedLine)
- longestTabulatedLine = lstrLength;
-
- if (ScrollX < lstrLength)
- lstr = lstr.Substring (ScrollX);
- else
- lstr = "";
-
- gr.MoveTo (x, y + fe.Ascent);
- gr.ShowText (lstr);
- gr.Fill ();
-
- if (!buffer.SelectionIsEmpty && lineIndex >= buffer.SelectionStart.Y && lineIndex <= buffer.SelectionEnd.Y) {
- double rLineX = x,
- rLineY = y,
- rLineW = lstr.Length * fe.MaxXAdvance;
-
- if (lineIndex == buffer.SelectionStart.Y) {
- rLineX += (selStartCol - ScrollX) * fe.MaxXAdvance;
- rLineW -= (selStartCol - ScrollX) * fe.MaxXAdvance;
- }
- if (lineIndex == buffer.SelectionEnd.Y)
- rLineW -= (lstr.Length - selEndCol + ScrollX) * fe.MaxXAdvance;
-
- gr.Save ();
- gr.Operator = Operator.Source;
- gr.Rectangle (rLineX, rLineY, rLineW, (fe.Ascent+fe.Descent));
- gr.SetSourceColor (SelectionBackground);
- gr.FillPreserve ();
- gr.Clip ();
- gr.Operator = Operator.Over;
- gr.SetSourceColor (SelectionForeground);
- gr.MoveTo (x, y + fe.Ascent);
- gr.ShowText (lstr);
- gr.Fill ();
- gr.Restore ();
- }
-
-
- }
-
- updateMaxScrollX(longestTabulatedLine);
- }
- #endregion
-
- #region GraphicObject overrides
- public override Font Font {
- get { return base.Font; }
- set {
- base.Font = value;
-
- using (ImageSurface img = new ImageSurface (Format.Argb32, 1, 1)) {
- using (Context gr = new Context (img)) {
- gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
- gr.SetFontSize (Font.Size);
-
- fe = gr.FontExtents;
- }
- }
- MaxScrollY = 0;
- RegisterForGraphicUpdate ();
- }
- }
- protected override int measureRawSize(LayoutingType lt)
- {
- if (lt == LayoutingType.Height)
- return (int)Math.Ceiling((fe.Ascent+fe.Descent) * buffer.LineCount) + Margin * 2;
-
- return 0;// (int)(fe.MaxXAdvance * buffer.GetLineLength(buffer.longestLineIdx)) + Margin * 2;
- }
- public override void OnLayoutChanges (LayoutingType layoutType)
- {
- base.OnLayoutChanges (layoutType);
-
- if (layoutType == LayoutingType.Height)
- updateVisibleLines ();
- else if (layoutType == LayoutingType.Width)
- updateVisibleColumns ();
- }
-
- protected override void onDraw (Context gr)
- {
- base.onDraw (gr);
-
- gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
- gr.SetFontSize (Font.Size);
- gr.FontOptions = Interface.FontRenderingOptions;
- gr.Antialias = Interface.Antialias;
-
- Rectangle cb = ClientRectangle;
-
- Foreground.SetAsSource (gr);
-
- buffer.editMutex.EnterReadLock ();
- editorMutex.EnterReadLock ();
-
- #region draw text cursor
- if (buffer.SelectionInProgress){
- selStartCol = getTabulatedColumn (buffer.SelectionStart);
- selEndCol = getTabulatedColumn (buffer.SelectionEnd);
- }else if (HasFocus && CurrentLine >= 0){
- gr.LineWidth = 1.0;
- double cursorX = cb.X + (getTabulatedColumn(buffer.CurrentPosition) - ScrollX) * fe.MaxXAdvance ;
- double cursorY = cb.Y + (buffer.CurrentLine - ScrollY) * (fe.Ascent+fe.Descent);
- gr.MoveTo (0.5 + cursorX, cursorY);
- gr.LineTo (0.5 + cursorX, cursorY + fe.Ascent+fe.Descent);
- gr.Stroke();
- }
- #endregion
-
- drawLines (gr, cb);
-
- editorMutex.ExitReadLock ();
-
- buffer.editMutex.ExitReadLock ();
-
- }
- #endregion
-
- int getBufferColFromVisualCol (int line, int column) {
- int i = 0;
- int buffCol = 0;
- int buffPtr = buffer [line];
- while (i < column && buffCol < buffer.GetLineLength(line)) {
- if (buffer.GetCharAt(buffPtr + buffCol) == '\t')
- i += Interface.TabSize;
- else
- i++;
- buffCol++;
- }
- return buffCol;
- }
-
-
- #region Mouse handling
-
- int hoverLine = -1;
- public int HoverLine {
- get { return hoverLine; }
- set {
- if (hoverLine == value)
- return;
- hoverLine = value;
- NotifyValueChanged ("HoverLine", hoverLine);
- }
- }
- void updateHoverLine () {
-// int hvl = (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)));
-// hvl = Math.Min (PrintedLines.Count, hvl);
-// HoverLine = buffer.IndexOf (PrintedLines[hvl]);
- }
- void updateCurrentPosFromMouseLocalPos(){
-
- buffer.CurrentLine = ScrollY + (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)));
- int curVisualCol = ScrollX + (int)Math.Round ((mouseLocalPos.X) / fe.MaxXAdvance);
- buffer.CurrentColumn = getBufferColFromVisualCol (buffer.CurrentLine, curVisualCol);
- }
-
- public override void onMouseEnter (object sender, MouseMoveEventArgs e)
- {
- base.onMouseEnter (sender, e);
- IFace.MouseCursor = MouseCursors.Text;
- }
- public override void onMouseLeave (object sender, MouseMoveEventArgs e)
- {
- base.onMouseLeave (sender, e);
- IFace.MouseCursor = MouseCursors.Default;
- }
- public override void onMouseMove (object sender, MouseMoveEventArgs e)
- {
- base.onMouseMove (sender, e);
-
- mouseLocalPos = e.Position - ScreenCoordinates(Slot).TopLeft - ClientRectangle.TopLeft;
-
- updateHoverLine ();
-
- if (e.Mouse.LeftButton == ButtonState.Released || !buffer.SelectionInProgress)
- return;
-
- //mouse is down
- updateCurrentPosFromMouseLocalPos();
- buffer.SetSelEndPos ();
- }
- public override void onMouseDown (object sender, MouseButtonEventArgs e)
- {
- if (!Focusable)
- return;
-
- base.onMouseDown (sender, e);
-
- if (doubleClicked) {
- doubleClicked = false;
- return;
- }
-
- updateCurrentPosFromMouseLocalPos ();
- buffer.SetSelStartPos ();
- }
- public override void onMouseUp (object sender, MouseButtonEventArgs e)
- {
- base.onMouseUp (sender, e);
-
- if (buffer.SelectionIsEmpty)
- buffer.ResetSelection ();
- }
-
- public override void onMouseDoubleClick (object sender, MouseButtonEventArgs e)
- {
- //doubleClicked = true;
- base.onMouseDoubleClick (sender, e);
-
- buffer.GotoWordStart ();
- buffer.SetSelStartPos ();
- buffer.GotoWordEnd ();
- buffer.SetSelEndPos ();
- }
-
- public override void onMouseWheel (object sender, MouseWheelEventArgs e)
- {
- base.onMouseWheel (sender, e);
- }
- #endregion
-
- #region Keyboard handling
- public override void onKeyDown (object sender, KeyEventArgs e)
- {
- //base.onKeyDown (sender, e);
-
- Key key = e.Key;
-
- if (IFace.Ctrl) {
- switch (key) {
- case Key.S:
- projFile.Save ();
- break;
- case Key.W:
- editorMutex.EnterWriteLock ();
- if (IFace.Shift)
- projFile.Redo (null);
- else
- projFile.Undo (null);
- editorMutex.ExitWriteLock ();
- break;
- default:
- Console.WriteLine ("");
- break;
- }
- }
-
- switch (key)
- {
- case Key.BackSpace:
- buffer.Delete ();
- break;
- case Key.Clear:
- break;
- case Key.Delete:
- if (buffer.SelectionIsEmpty)
- buffer.MoveRight ();
-// else if (e.Shift)
-// IFace.Clipboard = buffer.SelectedText;
- buffer.Delete ();
- break;
- case Key.ISO_Enter:
- case Key.KP_Enter:
- if (!buffer.SelectionIsEmpty)
- buffer.Delete ();
- buffer.InsertLineBreak ();
- break;
- case Key.Escape:
- buffer.ResetSelection ();
- break;
- case Key.Home:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.CurrentLine = 0;
- buffer.CurrentColumn = 0;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.CurrentLine = 0;
- buffer.CurrentColumn = 0;
- break;
- case Key.End:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.CurrentLine = int.MaxValue;
- buffer.CurrentColumn = int.MaxValue;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.CurrentLine = int.MaxValue;
- buffer.CurrentColumn = int.MaxValue;
- break;
- case Key.Insert:
- if (IFace.Shift)
- buffer.InsertAt (IFace.Clipboard);
- else if (IFace.Ctrl && !buffer.SelectionIsEmpty)
- IFace.Clipboard = buffer.SelectedText;
- break;
- case Key.Left:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.GotoWordStart ();
- else
- buffer.MoveLeft ();
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.GotoWordStart ();
- else
- buffer.MoveLeft();
- break;
- case Key.Right:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.GotoWordEnd ();
- else
- buffer.MoveRight ();
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.GotoWordEnd ();
- else
- buffer.MoveRight ();
- break;
- case Key.Up:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- CurrentLine--;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- CurrentLine--;
- break;
- case Key.Down:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- CurrentLine++;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- CurrentLine++;
- break;
- case Key.Menu:
- break;
- case Key.Num_Lock:
- break;
- case Key.Page_Down:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- CurrentLine += visibleLines;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- CurrentLine += visibleLines;
- break;
- case Key.Page_Up:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- CurrentLine -= visibleLines;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- CurrentLine -= visibleLines;
- break;
- case Key.Tab:
- buffer.InsertAt ("\t");
- break;
- default:
- break;
- }
- RegisterForGraphicUpdate();
- }
- public override void onKeyPress (object sender, KeyPressEventArgs e)
- {
- base.onKeyPress (sender, e);
-
- buffer.InsertAt (e.KeyChar.ToString());
- buffer.ResetSelection ();
- }
- #endregion
- }
-}
\ No newline at end of file
+++ /dev/null
-using System;
-
-namespace Crow.Coding
-{
- public struct TextFormatting {
- public Color Foreground;
- public Color Background;
- public bool Bold;
- public bool Italic;
-
- public TextFormatting(Color fg, Color bg, bool bold = false, bool italic = false){
- Foreground = fg;
- Background = bg;
- Bold = bold;
- Italic = italic;
- }
- }
-}
-
+++ /dev/null
-//
-// Token.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2017 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-
-namespace Crow.Coding
-{
- public struct Token
- {
- public BufferParser.TokenType Type;
- public string Content;
- public Point Start;
- public Point End;
-
- public string PrintableContent {
- get { return string.IsNullOrEmpty(Content) ? "" : Content.Replace("\t", new String(' ', Interface.TabSize)); }
- }
-
-// public Token (TokenType tokType, string content = ""){
-// Type = tokType;
-// Content = content;
-// }
-
- public bool IsNull { get { return IsEmpty && Type == BufferParser.TokenType.Unknown; }}
- public bool IsEmpty { get { return string.IsNullOrEmpty(Content); }}
-
- public static bool operator == (Token t, System.Enum tt){
- return Convert.ToInt32(t.Type) == Convert.ToInt32(tt);
- }
- public static bool operator != (Token t, System.Enum tt){
- return Convert.ToInt32(t.Type) != Convert.ToInt32(tt);
- }
- public static bool operator == (System.Enum tt, Token t){
- return Convert.ToInt32(t.Type) == Convert.ToInt32(tt);
- }
- public static bool operator != (System.Enum tt, Token t){
- return Convert.ToInt32(t.Type) != Convert.ToInt32(tt);
- }
-
- public static Token operator +(Token t, char c){
- t.Content += c;
- return t;
- }
- public static Token operator +(Token t, string s){
- t.Content += s;
- return t;
- }
- public override string ToString ()
- {
- return string.Format ("[Tok{2}->{3}:{0}: {1}]", Type,Content,Start,End);
- }
- }
-}
-
+++ /dev/null
-//
-// EditPane.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using Crow;
-using System.Linq;
-
-namespace Crow.Coding
-{
- public class EditPane : TemplatedGroup
- {
- public EditPane () {}
-
- object selectedItemElement = null;
-
- public override int SelectedIndex {
- get {
- return base.SelectedIndex;
- }
- set {
- base.SelectedIndex = value;
- }
- }
- public object SelectedItemElement {
- get { return selectedItemElement; }
- set {
- if (selectedItemElement == value)
- return;
- selectedItemElement = value;
- NotifyValueChanged ("SelectedItemElement", selectedItemElement);
- }
- }
- }
-}
-
+++ /dev/null
-//
-// Editor.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Threading;
-using System.Xml.Serialization;
-
-namespace Crow.Coding
-{
- public abstract class Editor : ScrollingObject
- {
- #region CTOR
- protected Editor ():base(){
- Thread t = new Thread (backgroundThreadFunc);
- t.IsBackground = true;
- t.Start ();
- }
- #endregion
-
- protected ReaderWriterLockSlim editorMutex = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
- protected ProjectFile projFile = null;
- Exception error = null;
-
- public virtual ProjectFile ProjectNode
- {
- get { return projFile; }
- set
- {
- if (projFile == value)
- return;
-
- if (projFile != null)
- projFile.UnregisterEditor (this);
-
- projFile = value;
-
- if (projFile != null)
- projFile.RegisterEditor (this);
-
- NotifyValueChanged ("ProjectNode", projFile);
- }
- }
- [XmlIgnore]public Exception Error {
- get { return error; }
- set {
- if (error == value)
- return;
- error = value;
- NotifyValueChanged ("Error", error);
- NotifyValueChanged ("HasError", HasError);
- }
- }
- [XmlIgnore]public bool HasError {
- get { return error != null; }
- }
-
- protected abstract void updateEditorFromProjFile ();
- protected abstract void updateProjFileFromEditor ();
- protected abstract bool EditorIsDirty { get; set; }
- protected virtual bool IsReady { get { return true; }}
- protected virtual void updateCheckPostProcess () {}
-
- protected void backgroundThreadFunc () {
- while (true) {
- if (IsReady) {
- if (Monitor.TryEnter (IFace.UpdateMutex)) {
- if (!projFile.RegisteredEditors [this]) {
- projFile.RegisteredEditors [this] = true;
- updateEditorFromProjFile ();
- } else if (EditorIsDirty) {
- EditorIsDirty = false;
- updateProjFileFromEditor ();
- }
- updateCheckPostProcess ();
- Monitor.Exit (IFace.UpdateMutex);
- }
- }
- Thread.Sleep (100);
- }
- }
- }
-}
-
+++ /dev/null
-//
-// ImlVisualEditor.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2016 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using Crow;
-using System.Threading;
-using System.Xml.Serialization;
-using System.ComponentModel;
-using System.IO;
-using System.Collections.Generic;
-using Crow.IML;
-using System.Text;
-using System.Xml;
-
-namespace Crow.Coding
-{
- public class ImlSchematicEditor : TemplatedGroup
- {
- #region CTOR
- public ImlSchematicEditor ()
- {
- }
- #endregion
-
- ProjectFile projNode;
- Widget selectedItem;
- ImlProjectItem imlProjFile;
- Exception imlError = null;
-
- bool drawGrid, snapToGrid;
- int gridSpacing;
-
- [DefaultValue(true)]
- public bool DrawGrid {
- get { return drawGrid; }
- set {
- if (drawGrid == value)
- return;
- drawGrid = value;
- NotifyValueChanged ("DrawGrid", drawGrid);
- RegisterForRedraw ();
- }
- }
- [DefaultValue(true)]
- public bool SnapToGrid {
- get { return snapToGrid; }
- set {
- if (snapToGrid == value)
- return;
- snapToGrid = value;
- NotifyValueChanged ("SnapToGrid", snapToGrid);
- }
- }
- [DefaultValue(10)]
- public int GridSpacing {
- get { return gridSpacing; }
- set {
- if (gridSpacing == value)
- return;
- gridSpacing = value;
- NotifyValueChanged ("GridSpacing", gridSpacing);
- RegisterForRedraw ();
- }
- }
- public Widget SelectedItem {
- get { return selectedItem; }
- set {
- if (selectedItem == value)
- return;
- selectedItem = value;
- NotifyValueChanged ("SelectedItem", selectedItem);
- RegisterForRedraw ();
- }
- }
-// public override ProjectFile ProjectNode {
-// get {
-// return projNode;
-// }
-// set {
-// if (projNode == value)
-// return;
-// projNode = value;
-// NotifyValueChanged ("ProjectNode", projNode);
-//
-// if (projNode is ImlProjectItem)
-// imlProjFile = projNode as ImlProjectItem;
-// else
-// imlProjFile = null;
-// }
-// }
-
-
-// protected override bool EditorIsDirty {
-// get {
-// throw new NotImplementedException ();
-// }
-// set {
-// throw new NotImplementedException ();
-// }
-// }
-// protected override void updateProjFileFromEditor ()
-// {
-//
-// }
-// protected override void updateEditorFromProjFile () {
-//
-// }
-// protected override void updateCheckPostProcess ()
-// {
-//
-// }
-
-
- }
-}
+++ /dev/null
-//
-// ImlVisualEditor.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2016 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using Crow;
-using System.Threading;
-using System.Xml.Serialization;
-using System.ComponentModel;
-using System.IO;
-using System.Collections.Generic;
-using Crow.IML;
-using System.Text;
-using System.Xml;
-using System.Diagnostics;
-using Crow.Cairo;
-
-namespace Crow.Coding
-{
- public class ImlVisualEditor : Editor
- {
- #region CTOR
- public ImlVisualEditor () : base()
- {
- imlVE = new DesignInterface ();
- initCommands ();
- }
- #endregion
-
- protected override void onInitialized (object sender, EventArgs e)
- {
- initIcons ();
- base.onInitialized (sender, e);
- }
- DesignInterface imlVE;
- Widget selectedItem;
- ImlProjectItem imlProjFile;
-
- bool editorIsDirty = false;//needed when tree is empty
- bool drawGrid, snapToGrid;
- int gridSpacing, zoom = 100;
- Measure designWidth, designHeight;
- bool updateEnabled;
-
- Picture icoMove, icoStyle;
- Rectangle rIcons = default(Rectangle);
- Size iconSize = new Size(11,11);
-
- public List<Crow.Command> Commands;
- Crow.Command cmdDelete;
-
- void initCommands () {
- cmdDelete = new Crow.Command (new Action (() => deleteObject (SelectedItem)))
- { Caption = "Delete", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = true };
- Commands = new List<Crow.Command> (new Crow.Command[] { cmdDelete });
- }
-
- void initIcons () {
- icoMove = new SvgPicture ("#CrowIDE.icons.move-arrows.svg");
-
- // icoStyle = new SvgPicture ();
- // icoStyle.Load (IFace, "#CrowIDE.icons.palette.svg");
- }
-
- [DefaultValue(true)]
- public bool DrawGrid {
- get { return drawGrid; }
- set {
- if (drawGrid == value)
- return;
- drawGrid = value;
- NotifyValueChanged ("DrawGrid", drawGrid);
- RegisterForRedraw ();
- }
- }
- [DefaultValue(true)]
- public bool SnapToGrid {
- get { return snapToGrid; }
- set {
- if (snapToGrid == value)
- return;
- snapToGrid = value;
- NotifyValueChanged ("SnapToGrid", snapToGrid);
- }
- }
- [DefaultValue(10)]
- public int GridSpacing {
- get { return gridSpacing; }
- set {
- if (gridSpacing == value)
- return;
- gridSpacing = value;
- NotifyValueChanged ("GridSpacing", gridSpacing);
- RegisterForRedraw ();
- }
- }
- [DefaultValue(100)]
- public int Zoom {
- get { return zoom; }
- set {
- if (zoom == value)
- return;
-
- zoom = value;
- NotifyValueChanged ("Zoom", zoom);
- Width = (int)(designWidth * zoom / 100.0);
- Height = (int)(designHeight * zoom / 100.0);
- }
- }
- [DefaultValue("512")]
- public Measure DesignWidth {
- get { return designWidth; }
- set {
- if (designWidth == value)
- return;
- designWidth = value;
- NotifyValueChanged ("DesignWidth", designWidth);
- Width = (int)(designWidth * zoom / 100.0);
- }
- }
- [DefaultValue("400")]
- public Measure DesignHeight {
- get { return designHeight; }
- set {
- if (designHeight == value)
- return;
- designHeight = value;
- NotifyValueChanged ("DesignHeight", designHeight);
- Height = (int)(designHeight * zoom / 100.0);
- }
- }
-
- public Widget SelectedItem {
- get { return selectedItem; }
- set {
- if (selectedItem == value)
- return;
- selectedItem = value;
-
- if (selectedItem == null)
- cmdDelete.CanExecute = false;
- else
- cmdDelete.CanExecute = true;
-
- NotifyValueChanged ("SelectedItem", selectedItem);
- RegisterForGraphicUpdate ();
- }
- }
- /// <summary>PoinprojFilever the widget</summary>
- public virtual Widget HoverWidget
- {
- get { return imlVE.HoverWidget; }
- set {
- if (HoverWidget == value)
- return;
-
- imlVE.HoverWidget = value;
-
- NotifyValueChanged ("HoverWidget", HoverWidget);
- }
- }
- /// <summary>
- /// use to disable update if tab is not the visible one
- /// </summary>
- public bool UpdateEnabled {
- get { return updateEnabled; }
- set {
- if (value == updateEnabled)
- return;
- updateEnabled = value;
- NotifyValueChanged ("UpdateEnabled", updateEnabled);
- }
- }
-
- public List<Widget> GraphicTree {
- get { return imlVE.GraphicTree; }
- }
-
- [XmlIgnore]public List<LQIList> LQIs {
- get { return imlVE.LQIs; }
- }
-
- #region editor overrides
- public override ProjectFile ProjectNode {
- get {
- return base.ProjectNode;
- }
- set {
- base.ProjectNode = value;
- imlProjFile = projFile as ImlProjectItem;
- imlVE.ProjFile = imlProjFile;
- }
- }
-
- protected override bool EditorIsDirty {
- get { return imlProjFile == null ? false :
- imlProjFile.Instance == null ? editorIsDirty :
- imlProjFile.Instance.design_HasChanged | editorIsDirty; }
- set {
- editorIsDirty = value;
- if (GraphicTree.Count == 0)
- return;
- if (GraphicTree [0] != null)
- GraphicTree [0].design_HasChanged = value;
- }
- }
- protected override bool IsReady {
- get { return updateEnabled && imlVE != null && imlProjFile != null; }
- }
-
- protected override void updateProjFileFromEditor ()
- {
- Debug.WriteLine("\t\tImlEditor updateProjFileFromEditor");
- try {
- if (imlProjFile.Instance == null)
- projFile.UpdateSource(this, @"<?xml version=""1.0""?>");
- else
- projFile.UpdateSource(this, imlProjFile.Instance.GetIML());
- } catch (Exception ex) {
- Error = ex.InnerException;
- if (Monitor.IsEntered(imlVE.UpdateMutex))
- Monitor.Exit (imlVE.UpdateMutex);
- }
- }
- protected override void updateEditorFromProjFile () {
- Debug.WriteLine("\t\tImlEditor updateEditorFromProjFile");
- try {
- string selItemDesignID = null;
- if (SelectedItem!=null)
- selItemDesignID = SelectedItem.design_id;
- imlVE.ClearInterface();
- Instantiator.NextInstantiatorID = 0;
- imlVE.Styling = projFile.Project.solution.Styling;
- imlVE.DefaultValuesLoader.Clear();
- //imlVE.DefaultTemplates = projFile.Project.solution.DefaultTemplates;
- imlVE.Instantiators = new Dictionary<string, Instantiator>();
-
- //prevent error on empty file
- bool emptyFile = true;
- string src = projFile.Source;
- using (Stream s = new MemoryStream (Encoding.UTF8.GetBytes (src))) {
- using (XmlReader itr = XmlReader.Create (s)) {
- while(itr.Read()){
- if (itr.NodeType == XmlNodeType.Element){
- emptyFile = false;
- break;
- }
- }
- }
- }
- Widget go = null;
- Error = null;
-
- if (emptyFile){
- imlProjFile.Instance = null;
- }else{
- imlVE.LoadIMLFragment(src);
- imlProjFile.Instance = imlVE.GraphicTree[0];
- if (selItemDesignID!=null)
- imlProjFile.Instance.FindByDesignID(selItemDesignID,out go);
-
- }
- SelectedItem = go;
- } catch (Exception ex) {
- Error = ex;
- }
- }
- protected override void updateCheckPostProcess ()
- {
- if (Error != null) {
- RegisterForRedraw ();
- return;
- }
- imlVE.Update ();
- bool isDirty = false;
-
- lock (imlVE.RenderMutex)
- isDirty = imlVE.IsDirty;
-
- if (isDirty) {
- lock (IFace.UpdateMutex)
- RegisterForRedraw ();
- }
- }
- #endregion
-
- #region GraphicObject overrides
- public override void OnLayoutChanges (LayoutingType layoutType)
- {
- base.OnLayoutChanges (layoutType);
- switch (layoutType) {
- case LayoutingType.Width:
- DesignWidth = Slot.Width * 100 / zoom;
- imlVE.ProcessResize (new Size(designWidth,designHeight));
- break;
- case LayoutingType.Height:
- DesignHeight = Slot.Height * 100 / zoom;
- imlVE.ProcessResize (new Size(designWidth,designHeight));
- break;
- }
- }
-
- public override void onMouseMove (object sender, MouseMoveEventArgs e)
- {
- base.onMouseMove (sender, e);
-
- Widget oldHW = HoverWidget;
- Rectangle scr = this.ScreenCoordinates (this.getSlot ());
- ProcessMouseMove (e.X - scr.X, e.Y - scr.Y);
-
- Widget newHW = HoverWidget;
- if (newHW == null)
- return;
-
- if (draggedObj != null) {
- if (draggedObj.Parent == null) {
- if (tryAddObjectTo (newHW, draggedObj)) {
- RegisterForRedraw ();
- return;
- }
- } else if (newHW != draggedObj) {
- //lock (imlVE.UpdateMutex) {
- ILayoutable possibleParent = getPossibleParent (newHW, draggedObj);
- if (possibleParent == null) {
- Group g = newHW.Parent as Group;
- if (g != null && g != draggedObj) {
- removeObject (draggedObj);
- g.InsertChild (g.Children.IndexOf (newHW), draggedObj);
- RegisterForRedraw ();
- return;
- }
- } else if (possibleParent != draggedObj.Parent) {
- removeObject (draggedObj);
- if (tryAddObjectTo (possibleParent, draggedObj)) {
- RegisterForRedraw ();
- return;
- }
- }
- //}
- }
- }
-
- if (oldHW == newHW)
- return;
- //RegisterForRedraw ();
-
- }
- public override void onMouseEnter (object sender, MouseMoveEventArgs e)
- {
- base.onMouseEnter (sender, e);
- if (IFace.DragAndDropOperation != null && draggedObj == null)
- return;
- IFace.FocusedWidget = this;
- }
- public override void onMouseLeave (object sender, MouseMoveEventArgs e)
- {
- base.onMouseLeave (sender, e);
-// IFace.FocusedWidget = null;
- }
- public override void onMouseDown (object sender, MouseButtonEventArgs e)
- {
- if (e.Mouse.RightButton == ButtonState.Pressed) {
- base.onMouseDown (sender, e);
- return;
- }
- SelectedItem = HoverWidget;
-
-// if (SelectedItem != null && projFile != null) {
-// projFile.CurrentLine = SelectedItem.design_line;
-// projFile.CurrentColumn = SelectedItem.design_column;
-// }
-
- }
-
- protected override void onDraw (Crow.Cairo.Context gr)
- {
- base.onDraw (gr);
-
- Rectangle cb = new Rectangle (0, 0, designWidth, designHeight);
-
- gr.Save ();
-
- double z = zoom / 100.0;
-
- gr.Scale (z, z);
-
- if (drawGrid) {
- double gridLineWidth = 0.2 / z;
- double glhw = gridLineWidth / 2.0;
- int nbLines = cb.Width / gridSpacing;
- double d = cb.Left + gridSpacing;
- for (int i = 0; i < nbLines; i++) {
- gr.MoveTo (d - glhw, cb.Y);
- gr.LineTo (d - glhw, cb.Bottom);
- d += gridSpacing;
- }
- nbLines = cb.Height / gridSpacing;
- d = cb.Top + gridSpacing;
- for (int i = 0; i < nbLines; i++) {
- gr.MoveTo (cb.X, d - glhw);
- gr.LineTo (cb.Right, d - glhw);
- d += gridSpacing;
- }
- gr.LineWidth = gridLineWidth;
- Foreground.SetAsSource (gr, cb);
- gr.Stroke ();
- }
-
- lock (imlVE.RenderMutex) {
- gr.SetSourceSurface (imlVE.surf, cb.Left, cb.Top);
- gr.Paint ();
- imlVE.IsDirty = false;
- }
- /*if (Error == null) {
- gr.SetSourceColor (Color.Black);
- gr.Rectangle (cb, 1.0 / z);
- } else {
- gr.SetSourceColor (Color.LavenderBlush);
- gr.Rectangle (cb, 2.0 / z);
- string[] lerrs = Error.ToString ().Split ('\n');
- Point p = cb.Center;
- p.Y -= lerrs.Length * 20;
- foreach (string le in lerrs) {
- drawCenteredTextLine(gr, p, le);
- p.Y += 20;
-
- }
- }
- gr.Stroke ();*/
-
- Rectangle hr;
-
- if (SelectedItem?.Parent != null) {
-
- gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
- gr.SetFontSize (Font.Size);
- gr.FontOptions = Interface.FontRenderingOptions;
- gr.Antialias = Interface.Antialias;
-
- Widget g = SelectedItem;
- hr = g.ScreenCoordinates (g.getSlot ());
-
-// Rectangle rIcons = new Rectangle (iconSize);
-// rIcons.Width *= 4;
-// rIcons.Top = hr.Bottom;
-// rIcons.Left = hr.Right - rIcons.Width + iconSize.Width;
- Rectangle rIcoMove = new Rectangle (hr.BottomRight, iconSize);
-// Rectangle rIcoStyle = rIcoMove;
-// rIcoStyle.Left += iconSize.Width + 4;
-
- using (Surface mask = new ImageSurface (Format.Argb32, cb.Width, cb.Height)) {
- using (Context ctx = new Context (mask)) {
- ctx.Save();
- ctx.SetSourceRGBA(1.0,1.0,1.0,0.4);
- ctx.Paint ();
- ctx.Rectangle (hr);
- ctx.Operator = Operator.Clear;
- ctx.Fill ();
- }
-
- gr.SetSourceSurface (mask, 0, 0);
- gr.Paint ();
-
- using (Surface ol = new ImageSurface (Format.Argb32, cb.Width, cb.Height)) {
- using (Context ctx = new Context (ol)) {
- ctx.SetSourceColor (Color.Black);
- drawDesignOverlay (ctx, g, cb, hr, 0.4 / z, 6.5);
- }
-
- gr.SetSourceSurface (ol, 0, 0);
- gr.Paint ();
- }
-
- drawIcon (gr, icoMove, rIcoMove);
- //drawIcon (gr, icoStyle, rIcoStyle);
-
- }
- }
- if (HoverWidget != null) {
- hr = HoverWidget.ScreenCoordinates (HoverWidget.getSlot ());
- gr.SetSourceColor (Color.SkyBlue);
- //gr.SetDash (new double[]{ 5.0, 3.0 }, 0.0);
- gr.Rectangle (hr, 0.4 / z);
- }
- gr.Restore ();
- }
-
- void drawIcon (Context gr, Picture pic, Rectangle r) {
-// gr.SetSourceColor (Color.Black);
-// CairoHelpers.CairoRectangle (gr, r.Inflated (1), 2, 1.0);
- gr.SetSourceColor (Color.White);
- CairoHelpers.CairoRectangle (gr, r.Inflated (1), 2);
- gr.Fill ();
- gr.Operator = Operator.Clear;
- pic.Paint (gr, r);
- gr.Operator = Operator.Over;
- }
- void drawDesignOverlay (Context gr, Widget g, Rectangle cb, Rectangle hr, double coteStroke, double space = 6.5){
- double z = zoom / 100.0;
- double coteW = 3, coteL = 5;
- bool fill = true;
- Crow.Cairo.PointD p1 = new Crow.Cairo.PointD (hr.X + 0.5, hr.Y - space);
- Crow.Cairo.PointD p2 = new Crow.Cairo.PointD (hr.Right - 0.5, hr.Y - space);
-
- if (p1.Y < cb.Top) {
- if (hr.Bottom > cb.Bottom - space)
- p1.Y = p2.Y = hr.Bottom - space;
- else
- p1.Y = p2.Y = hr.Bottom + space;
- }
-
- if (g.Width.IsFit)
- gr.DrawCoteInverse (p1, p2, coteStroke, fill, coteW, coteL);
- else if (g.Width.IsRelativeToParent) {
- gr.DrawCote (p1, p2, coteStroke, fill, coteW, coteL);
- if (g.Width.Value < 100)
- drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Width.ToString());
- }else if (g.Width.IsFixed) {
- gr.DrawCoteFixed (p1, p2, coteStroke * 2.0, coteW);
- drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Width.Value.ToString());
- }
-
- p1 = new Crow.Cairo.PointD (hr.X - space, hr.Top + 0.5);
- p2 = new Crow.Cairo.PointD (hr.X - space, hr.Bottom - 0.5);
-
- if (p1.X < cb.Left) {
- if (hr.Right > cb.Right - space)
- p1.X = p2.X = hr.Right - space;
- else
- p1.X = p2.X = hr.Right + space;
- }
- if (g.Height.IsFit)
- gr.DrawCoteInverse (p1, p2, coteStroke, fill, coteW, coteL);
- else if (g.Height.IsRelativeToParent){
- gr.DrawCote (p1, p2, coteStroke, fill, coteW, coteL);
- if (g.Height.Value < 100)
- drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Height.ToString());
- }else if (g.Width.IsFixed) {
- gr.DrawCoteFixed (p1, p2, coteStroke * 2.0, coteW);
- drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Height.Value.ToString());
- }
-
- // hr.Inflate (2);
- //gr.SetDash (new double[]{ 1.0, 4.0 }, 0.0);
- //gr.SetSourceColor (Color.Grey);
-// gr.Rectangle (hr,coteStroke);
-// gr.Stroke ();
- gr.Operator = Operator.Over;
- }
-
- void drawCenteredTextLine (Context gr, Point center, string txt){
- drawCenteredTextLine (gr, new PointD(center.X,center.Y), txt);
- }
- void drawCenteredTextLine (Context gr, PointD center, string txt){
- if (string.IsNullOrEmpty(txt))
- return;
- FontExtents fe = gr.FontExtents;
- TextExtents te = gr.TextExtents (txt);
-
- Rectangle rText = new Rectangle(
- (int)(center.X - te.Width / 2), (int)(center.Y - (fe.Ascent + fe.Descent) / 2),
- (int)te.Width, (int)(fe.Ascent + fe.Descent));
-
- gr.Operator = Operator.Clear;
- Rectangle r = rText;
- r.Inflate (2);
- gr.Rectangle (r);
- gr.Fill ();
- gr.Operator = Operator.Over;
-
- gr.MoveTo (rText.X, rText.Y + fe.Ascent);
- gr.ShowText (txt);
- gr.Fill ();
-
- }
- protected override void onDragEnter (object sender, DragDropEventArgs e)
- {
- base.onDragEnter (sender, e);
- GraphicObjectDesignContainer godc = e.DragSource.DataSource as GraphicObjectDesignContainer;
- if (godc == null)
- return;
- createDraggedObj (godc.CrowType);
- }
- protected override void onDragLeave (object sender, DragDropEventArgs e)
- {
- base.onDragLeave (sender, e);
- GraphicObjectDesignContainer godc = e.DragSource.DataSource as GraphicObjectDesignContainer;
- if (godc == null)
- return;
- ClearDraggedObj ();
- }
-
- protected override void onStartDrag (object sender, DragDropEventArgs e)
- {
- base.onStartDrag (sender, e);
- if (SelectedItem == null)
- return;
-
- Widget dumy = new Widget (IFace);
- dumy.EndDrag += dumyOnEndDrag;
- dumy.Drop += dumyOnDrop;
- dumy.IsDragged = true;
- IFace.ActiveWidget = dumy;
- e.DragSource.IsDragged = false;
- IFace.DragAndDropOperation.DragSource = dumy;
- draggedObj = SelectedItem;
- int dragIconSize = 48;
- lock (IFace.UpdateMutex) {
- IFace.DragImageHeight = dragIconSize;
- IFace.DragImageWidth = dragIconSize;
- IFace.DragImage = draggedObj.CreateIcon(dragIconSize);
- }
- removeObject (draggedObj);
- SelectedItem = null;
- HoverWidget = null;
- }
- void dumyOnEndDrag (object sender, DragDropEventArgs e)
- {
- IFace.ClearDragImage ();
- }
- void dumyOnDrop (object sender, DragDropEventArgs e)
- {
- ClearDraggedObj (false);
- IFace.ClearDragImage ();
- }
- #endregion
-
-
- #region draggedObj handling
-
- public Widget draggedObj = null;
-
- void createDraggedObj (Type crowType) {
- lock (imlVE.UpdateMutex) {
- draggedObj = imlVE.CreateITorFromIMLFragment ("<" + crowType.Name + "/>").CreateInstance ();
- }
- }
-
- public void ClearDraggedObj (bool removeFromTree = true) {
- if (removeFromTree)
- deleteObject (draggedObj);
- draggedObj = null;
- }
- #endregion
-
- void removeObject (Widget go) {
- if (go == null)
- return;
- if (go.Parent == null)
- return;
-// lock (imlVE.UpdateMutex) {
- Interface i = go.Parent as Interface;
- if (i != null) {
- i.RemoveWidget (go);
- imlProjFile.Instance = null;
- } else {
- Container c = go.Parent as Container;
- if (c != null)
- c.SetChild (null);
- else {
- TemplatedContainer tc = go.Parent as TemplatedContainer;
- if (tc != null)
- tc.Content = null;
- else {
- Group g = go.Parent as Group;
- if (g != null)
- g.RemoveChild (go);
- }
- }
- }
- EditorIsDirty = true;
- //}
- }
- void deleteObject (Widget go) {
- if (go == null)
- return;
- //lock (imlVE.UpdateMutex) {
- removeObject (go);
- go.Dispose ();
- //}
- }
-
- ILayoutable getPossibleParent (ILayoutable parent, Widget go) {
- if (go == null)
- return null;
-// lock (imlVE.UpdateMutex) {
-
- Interface i = null;
- if (parent == null)
- i = imlVE;
- else
- i = parent as Interface;
- if (i != null)
- return i.GraphicTree.Count > 0 ? null : i;
-
- Container c = parent as Container;
- if (c != null)
- return c.Child == null || c.Child == go ? c : null;
-
- TemplatedContainer tc = parent as TemplatedContainer;
- if (tc != null)
- return tc.Content == null || tc.Content == go? tc : null;
-
- return parent as Group;
-// }
- }
- bool tryAddObjectTo (ILayoutable parent, Widget go) {
- if (go == null)
- return false;
-// lock (imlVE.UpdateMutex) {
- Interface i = null;
- if (parent == null)
- i = imlVE;
- else
- i = parent as Interface;
- if (i != null) {
- if (i.GraphicTree.Count > 0)
- return false;
- i.AddWidget (go);
- imlProjFile.Instance = go;
- EditorIsDirty = true;
- return true;
- }
- Container c = parent as Container;
- if (c != null) {
- if (c.Child != null)
- return false;
- //return tryAddObjectTo (c.Parent, go);
- c.SetChild (go);
- EditorIsDirty = true;
- return true;
- }
- TemplatedContainer tc = parent as TemplatedContainer;
- if (tc != null) {
- if (tc.Content != null)
- return false;
- //return tryAddObjectTo (c.Parent, go);
- tc.Content = (go);
- EditorIsDirty = true;
- return true;
- }
- Group g = parent as Group;
- if (g != null) {
- g.AddChild (go);
- EditorIsDirty = true;
- return true;
- }
- return false;//tryAddObjectTo (parent.Parent, go);
-// }
- }
-
-
-
- void WidgetCheckOver (Widget go, MouseMoveEventArgs e){
- Type tGo = go.GetType();
- if (typeof(TemplatedGroup).IsAssignableFrom (tGo)) {
-
- } else if (typeof(TemplatedContainer).IsAssignableFrom (tGo)) {
- TemplatedContainer c = go as TemplatedContainer;
- if (c.Content?.MouseIsIn (e.Position) == true) {
- WidgetCheckOver (c.Content, e);
- return;
- }
- } else if (typeof(TemplatedControl).IsAssignableFrom (tGo)) {
- } else if (typeof(Group).IsAssignableFrom (tGo)) {
- Group c = go as Group;
- for (int i = c.Children.Count -1; i >= 0; i--) {
- if (c.Children[i].MouseIsIn (e.Position)) {
- WidgetCheckOver (c.Children[i], e);
- return;
- }
- }
- } else if (typeof(Crow.Container).IsAssignableFrom (tGo)) {
- Crow.Container c = go as Crow.Container;
- if (c.Child?.MouseIsIn (e.Position)==true) {
- WidgetCheckOver (c.Child, e);
- return;
- }
- }
- HoverWidget = go;
- WidgetMouseEnter (go, e);
- }
- void WidgetMouseLeave (Widget go, MouseMoveEventArgs e){
-
- }
- void WidgetMouseEnter (Widget go, MouseMoveEventArgs e){
-
- }
- void WidgetMouseMove (Widget go, MouseMoveEventArgs e){}
-
- public bool ProcessMouseMove(int x, int y)
- {
- int deltaX = x - imlVE.Mouse.X;
- int deltaY = y - imlVE.Mouse.Y;
- imlVE.Mouse.X = x;
- imlVE.Mouse.Y = y;
- MouseMoveEventArgs e = new MouseMoveEventArgs (x, y, deltaX, deltaY);
- e.Mouse = imlVE.Mouse;
-
- if (imlVE.ActiveWidget != null) {
- //TODO, ensure object is still in the graphic tree
- //send move evt even if mouse move outside bounds
- WidgetMouseMove (imlVE.ActiveWidget, e);
- return true;
- }
-
- if (HoverWidget != null) {
- //TODO, ensure object is still in the graphic tree
- //check topmost graphicobject first
- Widget tmp = HoverWidget;
- Widget topc = null;
- while (tmp is Widget) {
- topc = tmp;
- tmp = tmp.LogicalParent as Widget;
- }
- int idxhw = imlVE.GraphicTree.IndexOf (topc);
- if (idxhw != 0) {
- int i = 0;
- while (i < idxhw) {
- if (imlVE.GraphicTree [i].LogicalParent == imlVE.GraphicTree [i].Parent) {
- if (imlVE.GraphicTree [i].MouseIsIn (e.Position)) {
- while (imlVE.HoverWidget != null) {
- WidgetMouseLeave (imlVE.HoverWidget, e);
- imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as Widget;
- }
-
- WidgetCheckOver (GraphicTree [i], e);
- return true;
- }
- }
- i++;
- }
- }
-
-
- if (imlVE.HoverWidget.MouseIsIn (e.Position)) {
- WidgetCheckOver (imlVE.HoverWidget, (e));
- return true;
- } else {
- WidgetMouseLeave (imlVE.HoverWidget, e);
- //seek upward from last focused graph obj's
- while (imlVE.HoverWidget.LogicalParent as Widget != null) {
- imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as Widget;
- if (imlVE.HoverWidget.MouseIsIn (e.Position)) {
- WidgetCheckOver (imlVE.HoverWidget, e);
- return true;
- } else
- WidgetMouseLeave (imlVE.HoverWidget, e);
- }
- }
- }
-
- //top level graphic obj's parsing
- lock (imlVE.GraphicTree) {
- for (int i = 0; i < imlVE.GraphicTree.Count; i++) {
- Widget g = imlVE.GraphicTree [i];
- if (g.MouseIsIn (e.Position)) {
- WidgetCheckOver (g, e);
- return true;
- }
- }
- }
- imlVE.HoverWidget = null;
- return false;
-
- }
-
- void GTView_SelectedItemChanged (object sender, SelectionChangeEventArgs e)
- {
- SelectedItem = e.NewValue as Widget;
- }
-
-
- public override void onKeyDown (object sender, KeyEventArgs e)
- {
-
- switch (e.Key) {
- case Key.Delete:
- if (selectedItem == null)
- return;
- deleteObject (selectedItem);
- break;
- case Key.Escape:
- SelectedItem = null;
- break;
- }
- }
- }
-}
+++ /dev/null
-using System;
-using System.IO;
-using Crow;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Text;
-
-namespace Crow.Coding
-{
- /// <summary>
- /// base class for tokenizing sources
- /// </summary>
- public abstract class BufferParser
- {
- /// <summary>
- /// Default tokens, this enum may be overriden in derived parser with the new keyword,
- /// see XMLParser for example.
- /// </summary>
- public enum TokenType {
- Unknown = 0,
- WhiteSpace = 1,
- NewLine = 2,
- LineComment = 3,
- BlockCommentStart = 4,
- BlockComment = 5,
- BlockCommentEnd = 6,
- Preprocessor = 7,
- Identifier = 8,
- Keyword = 9,
- OpenBlock = 10,
- CloseBlock = 11,
- StatementEnding = 12,
- OperatorOrPunctuation = 13,
- IntegerLitteral = 14,
- RealLitteral = 15,
- StringLitteralOpening = 16,
- StringLitteralClosing = 17,
- StringLitteral = 18,
- CharLitteralOpening = 19,
- CharLitteralClosing = 20,
- CharLitteral = 21,
- BoolLitteral = 22,
- NullLitteral = 23,
- Type = 24,
- }
-
- #region CTOR
- public BufferParser (CodeBuffer _buffer)
- {
- buffer = _buffer;
-
- buffer.LineUpadateEvent += Buffer_LineUpadateEvent;
- //buffer.LineAdditionEvent += Buffer_LineAdditionEvent;;
- buffer.LineRemoveEvent += Buffer_LineRemoveEvent;
- buffer.BufferCleared += Buffer_BufferCleared;
- }
-
- #endregion
-
- #region Buffer events handlers
- void Buffer_BufferCleared (object sender, EventArgs e)
- {
-
- }
- void Buffer_LineAdditionEvent (object sender, CodeBufferEventArgs e)
- {
-
- }
- void Buffer_LineRemoveEvent (object sender, CodeBufferEventArgs e)
- {
- reparseSource ();
- }
- void Buffer_LineUpadateEvent (object sender, CodeBufferEventArgs e)
- {
- for (int i = 0; i < e.LineCount; i++)
- TryParseBufferLine (e.LineStart + i);
- reparseSource ();
- }
- #endregion
-
- internal int currentLine = 0;
- internal int currentColumn = 0;
-
- int syntTreeDepth = 0;
- public int SyntacticTreeDepth {
- get { return syntTreeDepth;}
- set {
- syntTreeDepth = value;
- if (syntTreeDepth > SyntacticTreeMaxDepth)
- SyntacticTreeMaxDepth = syntTreeDepth;
- }
- }
- public int SyntacticTreeMaxDepth = 0;
-
- protected CodeBuffer buffer;
- protected Token currentTok;
- protected bool eol = true;
- protected Point CurrentPosition {
- get { return new Point (currentLine, currentColumn); }
- set {
- currentLine = value.Y;
- currentColumn = value.X;
- }
- }
-
- public Node RootNode;
-
- public abstract void ParseCurrentLine();
- public abstract void SyntaxAnalysis ();
- public void reparseSource () {
- for (int i = 0; i < buffer.LineCount; i++) {
- if (!buffer[i].IsParsed)
- TryParseBufferLine (i);
- }
- try {
- SyntaxAnalysis ();
- } catch (Exception ex) {
- Debug.WriteLine ("Syntax Error: " + ex.ToString ());
- if (ex is ParserException)
- SetLineInError (ex as ParserException);
- }
- }
- public void TryParseBufferLine(int lPtr) {
- buffer [lPtr].exception = null;
- currentLine = lPtr;
- currentColumn = 0;
- eol = false;
-
- try {
- ParseCurrentLine ();
- } catch (Exception ex) {
- Debug.WriteLine (ex.ToString ());
- if (ex is ParserException)
- SetLineInError (ex as ParserException);
- }
-
- }
-
- public virtual void SetLineInError(ParserException ex) {
- currentTok = default(Token);
- if (ex.Line >= buffer.LineCount)
- ex.Line = buffer.LineCount - 1;
- if (buffer [ex.Line].IsFolded)
- buffer.ToogleFolding (ex.Line);
- buffer [ex.Line].SetLineInError (ex);
- }
- public virtual string LineBrkRegex {
- get { return @"\r\n|\r|\n|\\\\n"; }
- }
- void updateFolding () {
- // Stack<TokenList> foldings = new Stack<TokenList>();
- // bool inStartTag = false;
- //
- // for (int i = 0; i < parser.Tokens.Count; i++) {
- // TokenList tl = parser.Tokens [i];
- // tl.foldingTo = null;
- // int fstTK = tl.FirstNonBlankTokenIndex;
- // if (fstTK > 0 && fstTK < tl.Count - 1) {
- // if (tl [fstTK + 1] != XMLParser.TokenType.ElementName)
- // continue;
- // if (tl [fstTK] == XMLParser.TokenType.ElementStart) {
- // //search closing tag
- // int tkPtr = fstTK+2;
- // while (tkPtr < tl.Count) {
- // if (tl [tkPtr] == XMLParser.TokenType.ElementClosing)
- //
- // tkPtr++;
- // }
- // if (tl.EndingState == (int)XMLParser.States.Content)
- // foldings.Push (tl);
- // else if (tl.EndingState == (int)XMLParser.States.StartTag)
- // inStartTag = true;
- // continue;
- // }
- // if (tl [fstTK] == XMLParser.TokenType.ElementEnd) {
- // TokenList tls = foldings.Pop ();
- // int fstTKs = tls.FirstNonBlankTokenIndex;
- // if (tls [fstTK + 1].Content == tl [fstTK + 1].Content) {
- // tl.foldingTo = tls;
- // continue;
- // }
- // parser.CurrentPosition = tls [fstTK + 1].Start;
- // parser.SetLineInError(new ParserException(parser, "closing tag not corresponding"));
- // }
- //
- // }
- // }
- }
-
- #region low level parsing
- protected void addCharToCurTok(char c, Point position){
- currentTok.Start = position;
- currentTok += c;
- }
- /// <summary>
- /// Read one char from current position in buffer and store it into the current token
- /// </summary>
- /// <param name="startOfTok">if true, set the Start position of the current token to the current position</param>
- protected void readToCurrTok(bool startOfTok = false){
- if (startOfTok)
- currentTok.Start = CurrentPosition;
- currentTok += Read();
- }
- /// <summary>
- /// read n char from the buffer and store it into the current token
- /// </summary>
- protected void readToCurrTok(int length) {
- for (int i = 0; i < length; i++)
- currentTok += Read ();
- }
- /// <summary>
- /// Save current token into current TokensLine and raz current token
- /// </summary>
- protected void saveAndResetCurrentTok() {
- currentTok.End = CurrentPosition;
- buffer[currentLine].Tokens.Add (currentTok);
- currentTok = default(Token);
- }
- /// <summary>
- /// read one char and add current token to current TokensLine, current token is reset
- /// </summary>
- /// <param name="type">Type of the token</param>
- /// <param name="startToc">set start of token to current position</param>
- protected void readAndResetCurrentTok(System.Enum type, bool startToc = false) {
- readToCurrTok ();
- saveAndResetCurrentTok (type);
- }
- /// <summary>
- /// Save current tok
- /// </summary>
- /// <param name="type">set the type of the tok</param>
- protected void saveAndResetCurrentTok(System.Enum type) {
- currentTok.Type = (TokenType)type;
- saveAndResetCurrentTok ();
- }
- protected void setPreviousTokOfTypeTo (TokenType inType, TokenType newType) {
- for (int i = currentLine; i >= 0; i--) {
- int j = buffer [i].Tokens.Count - 1;
- while (j >= 0) {
- if (buffer [i].Tokens [j].Type == inType) {
- Token t = buffer [i].Tokens [j];
- t.Type = newType;
- buffer [i].Tokens [j] = t;
- return;
- }
- j--;
- }
- }
- }
- /// <summary>
- /// Peek next char, emit '\n' if current column > buffer's line length
- /// Throw error if eof is true
- /// </summary>
- protected virtual char Peek() {
- if (eol)
- throw new ParserException (currentLine, currentColumn, "Unexpected End of line");
- return currentColumn < buffer [currentLine].Length ?
- buffer [currentLine] [currentColumn] : '\n';
- }
- /// <summary>
- /// Peek n char from buffer or less if remaining char in buffer's line is less than requested
- /// if end of line is reached, no '\n' will be emitted, instead, empty string is returned. '\n' should be checked only
- /// with single char Peek().
- /// Throw error is eof is true
- /// </summary>
- /// <param name="length">Length.</param>
- protected virtual string Peek(int length) {
- if (eol)
- return "";//throw new ParserException (currentLine, currentColumn, "Unexpected End of Line");
- int lg = Math.Min(length, Math.Max (buffer [currentLine].Length - currentColumn, buffer [currentLine].Length - currentColumn - length));
- if (lg == 0)
- return "";
- return buffer [currentLine].Content.Substring (currentColumn, lg);
- }
- /// <summary>
- /// read one char from buffer at current position, if '\n' is read, current line is incremented
- /// and column is reset to 0
- /// </summary>
- protected virtual char Read() {
- char c = Peek ();
- if (c == '\n')
- eol = true;
- currentColumn++;
- return c;
- }
- protected virtual string Read(int charCount){
- string tmp = "";
- for (int i = 0; i < charCount; i++) {
- if (eol)
- break;
- tmp += Read ();
- }
- return tmp;
- }
- /// <summary>
- /// read until end of line is reached
- /// </summary>
- /// <returns>string read</returns>
- protected virtual string ReadLine () {
- StringBuilder tmp = new StringBuilder();
- char c = Read ();
- while (!eol) {
- tmp.Append (c);
- c = Read ();
- }
- return tmp.ToString();
- }
- /// <summary>
- /// read until end expression is reached or end of line.
- /// </summary>
- /// <returns>string read minus the ending expression that has to be read after</returns>
- /// <param name="endExp">Expression to search for</param>
- protected virtual string ReadLineUntil (string endExp){
- string tmp = "";
-
- while (!eol) {
- if (buffer [currentLine].Length - currentColumn - endExp.Length < 0) {
- tmp += ReadLine();
- break;
- }
- if (string.Equals (Peek (endExp.Length), endExp))
- return tmp;
- tmp += Read();
- }
- return tmp;
- }
- /// <summary>
- /// skip white spaces, but not line break. Save spaces in a WhiteSpace token.
- /// </summary>
- protected void SkipWhiteSpaces () {
- if (currentTok.Type != TokenType.Unknown)
- throw new ParserException (currentLine, currentColumn, "current token should be reset to unknown (0) before skiping white spaces");
- while (!eol) {
- if (!char.IsWhiteSpace (Peek ())||Peek()=='\n')
- break;
- readToCurrTok (currentTok.Type == TokenType.Unknown);
- currentTok.Type = TokenType.WhiteSpace;
- }
- if (currentTok.Type != TokenType.Unknown)
- saveAndResetCurrentTok ();
- }
- #endregion
-
- protected Node addChildNode (Node curNode, CodeLine cl, int tokPtr, string type = "") {
- Node n = new Node () { Name = cl.Tokens [tokPtr].Content, StartLine = cl, Type = type };
- curNode.AddChild (n);
- if (cl.SyntacticNode == null)
- cl.SyntacticNode = n;
- SyntacticTreeDepth++;
- return n;
- }
- protected void closeNodeAndGoUp (ref Node n, CodeLine cl, string type = ""){
- while (n != null) {
- if (n.Type == type) {
- n.EndLine = cl;
- n = n.Parent;
- SyntacticTreeDepth--;
- break;
- }
- n = n.Parent;
- SyntacticTreeDepth--;
- }
- }
- protected void closeNodeAndGoUp (ref Node n, CodeLine cl){
- SyntacticTreeDepth--;
- n.EndLine = cl;
- n = n.Parent;
- }
-
- protected void initSyntaxAnalysis () {
- RootNode = new Node () { Name = "RootNode", Type="Root" };
- SyntacticTreeDepth = SyntacticTreeMaxDepth = 0;
- }
-
-
- protected void throwParserException(string msg){
- throw new ParserException (currentLine, currentColumn, msg);
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-using System;
-using Crow;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Text.RegularExpressions;
-using System.Linq;
-
-namespace Crow.Coding
-{
- public class CSharpParser : BufferParser
- {
- #region keywords
- string[] keywords = new string[] {
- "abstract",
- "as",
- "ascending",
- "async",
- "await",
- "base",
- "bool",
- "break",
- "byte",
- "case",
- "catch",
- "char",
- "checked",
- "class",
- "const",
- "continue",
- "decimal",
- "default",
- "delegate",
- "descending",
- "do",
- "double",
- "dynamic",
- "else",
- "enum",
- "equals",
- "event",
- "explicit",
- "extern",
- "false",
- "finally",
- "fixed",
- "float",
- "for",
- "foreach",
- "from",
- "get",
- "goto",
- "group",
- "if",
- "implicit",
- "in",
- "int",
- "interface",
- "internal",
- "is",
- "join",
- "let",
- "lock",
- "long",
- "nameof",
- "namespace",
- "new",
- "null",
- "object",
- "operator",
- "orderby",
- "out",
- "override",
- "params",
- "partial",
- "private",
- "protected",
- "public",
- "readonly",
- "ref",
- "return",
- "sbyte",
- "sealed",
- "select",
- "set",
- "short",
- "sizeof",
- "stackalloc",
- "static",
- "string",
- "struct",
- "switch",
- "this",
- "throw",
- "true",
- "try",
- "typeof",
- "uint",
- "ulong",
- "unchecked",
- "unsafe",
- "ushort",
- "using",
- "value",
- "var",
- "virtual",
- "void",
- "volatile",
- "when",
- "where",
- "while",
- "yield "
- };
- #endregion
-
- public enum States
- {
- init,
- BlockComment,
- InNameSpace,
- InClass,
- InMember,
- Unknown,
- }
-
- public CSharpParser (CodeBuffer _buffer) : base(_buffer)
- {
- }
-
- #region Regular Expression for validity checks
- static Regex rxValidChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
- static Regex rxNameStartChar = new Regex(@"_|\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}");
- static Regex rxNameChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
- static Regex rxNewLineChar = new Regex(@"\u000D|\u000A|\u0085|\u2028|\u2029");
- static Regex rxWhiteSpaceChar = new Regex(@"\p{Zs}|\u0009|\u000B|\u000C");
- static Regex rxDecimal = new Regex(@"[0-9]+");
- static Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
-
- public static bool CharIsValidCharStartName (char c) {
- return rxNameStartChar.IsMatch(new string(new char[]{c}));
- }
- public static bool CharIsValidCharName (char c) {
- return rxNameChar.IsMatch(new string(new char[]{c}));
- }
-
- public bool nextCharIsValidCharStartName
- {
- get { return CharIsValidCharStartName(Peek()); }
- }
- public bool nextCharIsValidCharName
- {
- get { return CharIsValidCharName(Peek()); }
- }
- #endregion
-
- States curState = States.init;
- States savedState = States.init;
-
- public override void ParseCurrentLine ()
- {
- //Debug.WriteLine (string.Format("parsing line:{0}", currentLine));
- CodeLine cl = buffer [currentLine];
- cl.Tokens = new List<Token> ();
-
-
- //retrieve current parser state from previous line
- if (currentLine > 0)
- curState = (States)buffer[currentLine - 1].EndingState;
- else
- curState = States.init;
-
- States previousEndingState = (States)cl.EndingState;
-
- while (! eol) {
- if (currentTok.IsNull)
- SkipWhiteSpaces ();
-
- if (curState == States.BlockComment) {
- currentTok.Start = CurrentPosition;
- currentTok.Type = (BufferParser.TokenType)TokenType.BlockComment;
- currentTok += ReadLineUntil ("*/");
- if (Peek (2) == "*/") {
- readToCurrTok (2);
- curState = savedState;
- }
- saveAndResetCurrentTok ();
- continue;
- }
-
- switch (Peek()) {
- case '\n':
- eol = true;
- if (!currentTok.IsNull)
- saveAndResetCurrentTok ();
- break;
- case '#':
- readToCurrTok (true);
- currentTok += ReadLine ();
- saveAndResetCurrentTok (TokenType.Preprocessor);
- break;
- case '/':
- readToCurrTok (true);
- switch (Peek ()) {
- case '*':
- readToCurrTok ();
- currentTok += ReadLine ();
- //currentTok.Type = (Parser.TokenType)TokenType.BlockComment;
- savedState = curState;
- curState = States.BlockComment;
- saveAndResetCurrentTok (TokenType.BlockComment);
- break;
- case '/':
- //readToCurrTok ();
- currentTok += ReadLine ();
- saveAndResetCurrentTok (TokenType.LineComment);
- //currentTok.Type = (Parser.TokenType)TokenType.LineComment;
- break;
- default:
- currentTok += ReadLine ();
- saveAndResetCurrentTok (TokenType.Unknown);
- break;
- }
- break;
- case '{':
- if (currentTok.IsNull)
- readAndResetCurrentTok (TokenType.OpenBlock, true);
- else
- readToCurrTok ();
- break;
- case '}':
- if (currentTok.IsNull)
- readAndResetCurrentTok (TokenType.CloseBlock, true);
- else
- readToCurrTok ();
- break;
- case '\\'://unicode escape sequence
- if (!(currentTok.Type == TokenType.Identifier ||
- currentTok.IsEmpty || currentTok.Type == TokenType.StringLitteral || currentTok.Type == TokenType.CharLitteral)) {
- saveAndResetCurrentTok ();
- }
- Point pos = CurrentPosition;
- Read ();
- char escChar = Read ();
-
- if (escChar == 'u') {
- char c = char.ConvertFromUtf32 (int.Parse (Read (4), System.Globalization.NumberStyles.HexNumber))[0];
- if (currentTok.IsEmpty) {
- if (!CharIsValidCharStartName (c))
- throwParserException ("expecting identifier start");
- currentTok.Start = pos;
- currentTok.Type = TokenType.Identifier;
- } else if (currentTok.Type == TokenType.Identifier) {
- if (!CharIsValidCharName (c))
- throwParserException ("expecting identifier valid char");
- }
- currentTok += c;
- break;
- }
- currentTok += new String (new char[] { '\\', escChar });
- break;
- case '\'':
- if (currentTok.IsNull) {
- readAndResetCurrentTok (TokenType.CharLitteralOpening, true);
- currentTok.Type = TokenType.CharLitteral;
- } else if (currentTok.Type == TokenType.CharLitteral) {
- saveAndResetCurrentTok ();
- readAndResetCurrentTok (TokenType.CharLitteralClosing, true);
- } else if (currentTok.Type == TokenType.StringLitteral){
- readToCurrTok ();
- } else
- throwParserException ("unexpected character: (\')");
- break;
- case '"':
- if (currentTok.IsNull) {
- readAndResetCurrentTok (TokenType.StringLitteralOpening, true);
- currentTok.Type = TokenType.StringLitteral;
- } else if (currentTok.Type == TokenType.StringLitteral) {
- saveAndResetCurrentTok ();
- readAndResetCurrentTok (TokenType.StringLitteralClosing, true);
- } else
- throwParserException ("unexpected character: (\")");
- break;
- default:
- if (currentTok.Type == TokenType.StringLitteral || currentTok.Type == TokenType.CharLitteral) {
- readToCurrTok (currentTok.IsEmpty);
- } else if (currentTok.IsNull) {
- if (nextCharIsValidCharStartName) {
- readToCurrTok (true);
- while (nextCharIsValidCharName)
- readToCurrTok ();
-
- if (keywords.Contains (currentTok.Content))
- saveAndResetCurrentTok (TokenType.Keyword);
- else
- saveAndResetCurrentTok (TokenType.Identifier);
- continue;
- } else
- readAndResetCurrentTok(TokenType.Unknown, true);
- } else
- readAndResetCurrentTok(TokenType.Unknown, true);
- break;
- }
- }
-
- if (cl.EndingState != (int)curState && currentLine < buffer.LineCount - 1)
- buffer [currentLine + 1].Tokens = null;
-
- cl.EndingState = (int)curState;
- }
-
- public override void SyntaxAnalysis ()
- {
- initSyntaxAnalysis ();
- Node currentNode = RootNode;
-
- int ptrLine = 0;
- while (ptrLine < buffer.LineCount) {
- CodeLine cl = buffer [ptrLine];
- if (cl.Tokens == null){
- ptrLine++;
- continue;
- }
- cl.SyntacticNode = null;
-
- int tokPtr = 0;
- bool onlyWhiteSpace = true;
- while (tokPtr < cl.Tokens.Count) {
- if (cl.Tokens [tokPtr].Type == TokenType.WhiteSpace) {
- tokPtr++;
- continue;
- }
-
- if (cl.Tokens [tokPtr].Type == TokenType.LineComment && onlyWhiteSpace) {
- int startLine = ptrLine;
- ptrLine++;
- while (ptrLine < buffer.LineCount) {
- int idx = buffer [ptrLine].FirstNonBlankTokIndex;
- if (idx < 0)
- break;
- if (buffer [ptrLine].Tokens [idx].Type != TokenType.LineComment)
- break;
- ptrLine++;
- }
- ptrLine--;
- if (ptrLine - startLine > 0) {
- currentNode = addChildNode (currentNode, cl, tokPtr, "comment");
- closeNodeAndGoUp (ref currentNode, buffer [ptrLine], "comment");
- }
- break;
- }
-
- switch (cl.Tokens [tokPtr].Type) {
- case TokenType.BlockCommentStart:
- case TokenType.OpenBlock:
- currentNode = addChildNode (currentNode, cl, tokPtr);
- break;
- case TokenType.CloseBlock:
- case TokenType.BlockCommentEnd:
- closeNodeAndGoUp (ref currentNode, cl);
- break;
- case TokenType.Preprocessor:
- if (cl.Tokens [tokPtr].Content.StartsWith ("#region", StringComparison.Ordinal)) {
- currentNode = addChildNode (currentNode, cl, tokPtr, "region");
- } else if (cl.Tokens [tokPtr].Content.StartsWith ("#endregion", StringComparison.Ordinal)) {
-
- closeNodeAndGoUp (ref currentNode, cl,"region");
- }
- break;
- }
- onlyWhiteSpace = false;
- tokPtr++;
- }
- ptrLine++;
- }
- /*ptrLine = 0;
- while (ptrLine < buffer.LineCount) {
- CodeLine cl = buffer [ptrLine];
- if (cl.IsFoldable) {
- if (cl.SyntacticNode.Type == "comment" || cl.SyntacticNode.Type == "region")
- cl.IsFolded = true;
- }
- ptrLine++;
- }*/
- }
- }
-}
-
+++ /dev/null
-using System;
-using Crow;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Text.RegularExpressions;
-using System.Linq;
-
-namespace Crow.Coding
-{
- public class StyleParser : BufferParser
- {
- enum States { init, classNames, members, value, endOfStatement }
-
- public StyleParser (CodeBuffer _buffer) : base(_buffer)
- {
- }
-
- #region Character ValidityCheck
- static Regex rxValidChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
- static Regex rxNameStartChar = new Regex(@"_|\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}");
- static Regex rxNameChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
- static Regex rxDecimal = new Regex(@"[0-9]+");
- static Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
-
- public bool nextCharIsValidCharStartName
- {
- get { return rxNameStartChar.IsMatch(new string(new char[]{Peek()})); }
- }
- public bool nextCharIsValidCharName
- {
- get { return rxNameChar.IsMatch(new string(new char[]{Peek()})); }
- }
- #endregion
-
- States curState = States.classNames;
-
- public override void ParseCurrentLine ()
- {
- //Debug.WriteLine (string.Format("parsing line:{0}", currentLine));
- CodeLine cl = buffer [currentLine];
- cl.Tokens = new List<Token> ();
-
- //retrieve current parser state from previous line
- if (currentLine > 0)
- curState = (States)buffer[currentLine - 1].EndingState;
- else
- curState = States.init;
-
- States previousEndingState = (States)cl.EndingState;
-
- while (! eol) {
- SkipWhiteSpaces ();
-
- if (eol)
- break;
-
- if (Peek () == '\n') {
- if (currentTok != TokenType.Unknown)
- throw new ParserException (currentLine, currentColumn, "Unexpected end of line");
- Read ();
- eol = true;
- continue;
- }
-
- switch (Peek()) {
- case '/':
- readToCurrTok (true);
- switch (Peek ()) {
- case '/':
- currentTok += ReadLine ();
- saveAndResetCurrentTok (TokenType.LineComment);
- break;
- default:
- currentTok += ReadLine ();
- saveAndResetCurrentTok (TokenType.Unknown);
- break;
- }
- break;
- case ',':
- if (curState != States.init && curState != States.classNames )
- throw new ParserException (currentLine, currentColumn, "Unexpected char ','");
- readAndResetCurrentTok (TokenType.OperatorOrPunctuation, true);
- curState = States.classNames;
- break;
- case '{':
- if (!(curState == States.init || curState == States.classNames))
- throw new ParserException (currentLine, currentColumn, "Unexpected char '{'");
- readAndResetCurrentTok (TokenType.OpenBlock, true);
- curState = States.members;
- break;
- case '}':
- if (curState != States.members)
- throw new ParserException (currentLine, currentColumn, "Unexpected char '}'");
- readAndResetCurrentTok (TokenType.CloseBlock, true);
- curState = States.classNames;
- break;
- case '=':
- if (curState == States.classNames)
- throw new ParserException (currentLine, currentColumn, "Unexpected char '='");
- setPreviousTokOfTypeTo (TokenType.Type, TokenType.Identifier);
- readAndResetCurrentTok (TokenType.OperatorOrPunctuation, true);
- curState = States.value;
- break;
- case '"':
- if (curState != States.value)
- throw new ParserException (currentLine, currentColumn, "Unexpected char '\"'");
- readAndResetCurrentTok (TokenType.StringLitteralOpening, true);
-
- while (!eol) {
- currentTok += ReadLineUntil ("\"");
- if (currentTok.Content [currentTok.Content.Length - 1] == '\\')
- readToCurrTok ();
- else
- break;
- }
- if (eol)
- throw new ParserException (currentLine, currentColumn, "Unexpected end of line");
- saveAndResetCurrentTok (TokenType.StringLitteral);
-
- readAndResetCurrentTok (TokenType.StringLitteralClosing, true);
- curState = States.endOfStatement;
- break;
- case ';':
- if (curState != States.endOfStatement)
- throw new ParserException (currentLine, currentColumn, "Unexpected end of statement");
- readAndResetCurrentTok (TokenType.StatementEnding, true);
- curState = States.members;
- break;
- default:
- if (currentTok.Type != TokenType.Unknown)
- throw new ParserException (currentLine, currentColumn, "error curtok not null");
- if (curState == States.value)
- throw new ParserException (currentLine, currentColumn, "expecting value enclosed in '\"'");
- if (curState == States.endOfStatement)
- throw new ParserException (currentLine, currentColumn, "expecting end of statement");
-
- if (nextCharIsValidCharStartName) {
- readToCurrTok (true);
- while (nextCharIsValidCharName)
- readToCurrTok ();
- }
- saveAndResetCurrentTok (TokenType.Type);
- break;
- }
- }
-
- if (cl.EndingState != (int)curState && currentLine < buffer.LineCount - 1)
- buffer [currentLine + 1].Tokens = null;
-
- cl.EndingState = (int)curState;
- }
- public override void SyntaxAnalysis ()
- {
- initSyntaxAnalysis ();
- Node currentNode = RootNode;
-
- for (int i = 0; i < buffer.LineCount; i++) {
- CodeLine cl = buffer[i];
- if (cl.Tokens == null)
- continue;
- cl.SyntacticNode = null;
-
- int tokPtr = 0;
- while (tokPtr < cl.Tokens.Count) {
- switch (cl.Tokens [tokPtr].Type) {
- case TokenType.OpenBlock:
- currentNode = addChildNode (currentNode, cl, tokPtr, "style");
- break;
- case TokenType.CloseBlock:
- closeNodeAndGoUp (ref currentNode, cl, "style");
- break;
- }
- tokPtr++;
- }
- }
- }
- }
-}
-
+++ /dev/null
-using System;
-using Crow;
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-using System.Diagnostics;
-using System.Linq;
-
-namespace Crow.Coding
-{
- public class XMLParser : BufferParser
- {
- public new enum TokenType {
- Unknown = BufferParser.TokenType.Unknown,
- WhiteSpace = BufferParser.TokenType.WhiteSpace,
- NewLine = BufferParser.TokenType.NewLine,
- LineComment = BufferParser.TokenType.LineComment,
- BlockCommentStart = BufferParser.TokenType.BlockCommentStart,
- BlockComment = BufferParser.TokenType.BlockComment,
- BlockCommentEnd = BufferParser.TokenType.BlockCommentEnd,
- ElementName = BufferParser.TokenType.Type,
- AttributeName = BufferParser.TokenType.Identifier,
- ElementClosing = BufferParser.TokenType.StatementEnding,
- Affectation = BufferParser.TokenType.OperatorOrPunctuation,
- AttributeValueOpening = BufferParser.TokenType.StringLitteralOpening,
- AttributeValueClosing = BufferParser.TokenType.StringLitteralClosing,
- AttributeValue = BufferParser.TokenType.StringLitteral,
- XMLDecl = BufferParser.TokenType.Preprocessor,
- Doctype = BufferParser.TokenType.Keyword,
- ElementStart = 50,
- ElementEnd = 51,
- }
-
- public enum States
- {
- init, //first statement of prolog, xmldecl should only apear in this state
- prolog, //misc before doctypedecl
- InternalSubset, //doctype declaration subset
- ExternalSubsetInit,
- ExternalSubset,
- BlockComment,
- DTDEnd,//doctype finished
- XML,//normal xml
- StartTag,//inside start tag
- Content,//after start tag with no closing slash
- EndTag
- }
-
- #region CTOR
- public XMLParser (CodeBuffer _buffer) : base(_buffer) {}
- #endregion
-
- enum Keywords
- {
- DOCTYPE,
- ELEMENT,
- ATTLIST,
- ENTITY,
- NOTATION
- }
-
- States curState = States.init;
-
- #region Regular Expression for validity checks
- //private static Regex rxValidChar = new Regex("[\u0020-\uD7FF]");
- private static Regex rxValidChar = new Regex(@"\u0009|\u000A|\u000D|[\u0020-\uD7FF]|[\uE000-\uFFFD]"); //| [\u10000-\u10FFFF] unable to set those plans
- private static Regex rxNameStartChar = new Regex(@":|[A-Z]|_|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]"); // | [\u10000-\uEFFFF]
- private static Regex rxNameChar = new Regex(@":|[A-Z]|_|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|-|\.|[0-9]|\u00B7|[\u0300-\u036F]|[\u203F-\u2040]");//[\u10000-\uEFFFF]|
- private static Regex rxDecimal = new Regex(@"[0-9]+");
- private static Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
- private static Regex rxAttributeValue = new Regex(@"[^<]");
- private static Regex rxEntityValue = new Regex(@"[^<]");
- private static Regex rxPubidChar = new Regex(@"\u0020|\u000D|\u000A|[a-zA-Z0-9]|[-\(\)\+\,\./:=\?;!\*#@\$_%]");
- #endregion
-
- #region Character ValidityCheck
- public bool nextCharIsValidCharStartName
- {
- get { return rxNameStartChar.IsMatch(new string(new char[]{Peek()})); }
- }
- public bool nextCharIsValidCharName
- {
- get { return rxNameChar.IsMatch(new string(new char[]{Peek()})); }
- }
- #endregion
-
- public override void SetLineInError (ParserException ex)
- {
- base.SetLineInError (ex);
- //buffer[ex.Line].Tokens.EndingState = (int)States.init;
- }
-
- public override void ParseCurrentLine ()
- {
- //Debug.WriteLine (string.Format("parsing line:{0}", currentLine));
- CodeLine cl = buffer [currentLine];
- cl.Tokens = new List<Token> ();
-
- //retrieve current parser state from previous line
- if (currentLine > 0)
- curState = (States)buffer[currentLine - 1].EndingState;
- else
- curState = States.init;
-
- States previousEndingState = (States)cl.EndingState;
-
-
- while (! eol) {
- SkipWhiteSpaces ();
-
- if (eol)
- break;
-
- if (Peek () == '\n') {
- if (currentTok != TokenType.Unknown)
- throw new ParserException (currentLine, currentColumn, "Unexpected end of line");
- Read ();
- eol = true;
- continue;
- }
-
- if (curState == States.BlockComment) {
- if (currentTok != TokenType.Unknown)
- Debugger.Break ();
-
- currentTok.Start = CurrentPosition;
- currentTok.Type = (BufferParser.TokenType)TokenType.BlockComment;
- currentTok += ReadLineUntil ("-->");
- if (Peek (3) == "-->") {
- readToCurrTok (3);
- curState = States.XML;
- }
- saveAndResetCurrentTok ();
- continue;
- }
-
- switch (Peek()) {
- case '<':
- readToCurrTok (true);
- switch (Peek()) {
- case '?':
- if (curState != States.init)
- throw new ParserException (currentLine, currentColumn, "xml decl may appear only on first line");
- readToCurrTok ();
- currentTok += ReadLineUntil ("?>");
- if (Peek (2) != "?>")
- throw new ParserException (currentLine, currentColumn, "expecting '?>'");
- readToCurrTok (2);
- saveAndResetCurrentTok (TokenType.XMLDecl);
- curState = States.prolog;
- break;
- case '!':
- readToCurrTok ();
- switch (Peek()) {
- case '-':
- readToCurrTok ();
- if (Peek () != '-')
- throw new ParserException (currentLine, currentColumn, "Expecting comment start tag");
- readToCurrTok ();
- currentTok += ReadLineUntil ("--");
- if (Peek (3) == "-->") {
- readToCurrTok (3);
- }else
- curState = States.BlockComment;
- saveAndResetCurrentTok (TokenType.BlockComment);
- break;
- case 'D':
- case 'd':
- string tmp = Read (7);
- currentTok += tmp;
- if (!string.Equals (tmp, "DOCTYPE", StringComparison.OrdinalIgnoreCase))
- throw new ParserException (currentLine, currentColumn, "Expecting 'doctype'");
- saveAndResetCurrentTok (TokenType.Doctype);
- break;
- default:
- throw new ParserException (currentLine, currentColumn, "error");
- }
- break;
- default:
- if (!(curState == States.Content || curState == States.XML || curState == States.init || curState == States.prolog))
- throw new ParserException (currentLine, currentColumn, "Unexpected char: '<'");
- if (Peek () == '/') {
- curState = States.EndTag;
- readToCurrTok ();
- saveAndResetCurrentTok (TokenType.ElementEnd);
- } else {
- curState = States.StartTag;
- saveAndResetCurrentTok (TokenType.ElementStart);
- }
-
- if (!nextCharIsValidCharStartName)
- throw new ParserException (currentLine, currentColumn, "Expected element name");
-
- readToCurrTok (true);
- while (nextCharIsValidCharName)
- readToCurrTok ();
-
- saveAndResetCurrentTok (TokenType.ElementName);
- break;
- }
- break;
- case '/':
- if (curState != States.StartTag)
- throw new ParserException (currentLine, currentColumn, "Unexpected char: '/'");
- readToCurrTok (true);
- if (Peek () != '>')
- throw new ParserException (currentLine, currentColumn, "Expecting '>'");
- readAndResetCurrentTok (TokenType.ElementEnd);
-
- curState = States.XML;
- break;
- case '>':
- readAndResetCurrentTok (TokenType.ElementClosing, true);
- switch (curState) {
- case States.EndTag:
- curState = States.XML;
- break;
- case States.StartTag:
- curState = States.Content;
- break;
- default:
- throw new ParserException (currentLine, currentColumn, "Unexpected char: '>'");
- }
- break;
- default:
- switch (curState) {
- case States.StartTag:
- if (!nextCharIsValidCharStartName)
- throw new ParserException (currentLine, currentColumn, "Expected attribute name");
- readToCurrTok (true);
- while (nextCharIsValidCharName)
- readToCurrTok ();
- saveAndResetCurrentTok (TokenType.AttributeName);
-
- SkipWhiteSpaces ();
-
- if (Peek () != '=')
- throw new ParserException (currentLine, currentColumn, "Expecting: '='");
- readAndResetCurrentTok (TokenType.Affectation, true);
-
- SkipWhiteSpaces ();
-
- char openAttVal = Peek ();
- if (openAttVal != '"' && openAttVal != '\'')
- throw new ParserException (currentLine, currentColumn, "Expecting attribute value enclosed either in '\"' or in \"'\"");
- readAndResetCurrentTok (TokenType.AttributeValueOpening, true);
-
- currentTok.Start = CurrentPosition;
- currentTok.Content = ReadLineUntil (new string (new char[]{ openAttVal }));
- saveAndResetCurrentTok (TokenType.AttributeValue);
-
- if (Peek () != openAttVal)
- throw new ParserException (currentLine, currentColumn, string.Format ("Expecting {0}", openAttVal));
- readAndResetCurrentTok (TokenType.AttributeValueClosing, true);
- break;
- default:
- throw new ParserException (currentLine, currentColumn, "unexpected char: " + Peek ());
- }
- break;
- }
- }
-
- if (cl.EndingState != (int)curState && currentLine < buffer.LineCount - 1)
- buffer [currentLine + 1].Tokens = null;
-
- cl.EndingState = (int)curState;
- }
-
- public override void SyntaxAnalysis ()
- {
- initSyntaxAnalysis ();
- Node currentNode = RootNode;
-
- for (int i = 0; i < buffer.LineCount; i++) {
- CodeLine cl = buffer[i];
- if (cl.Tokens == null)
- continue;
- cl.SyntacticNode = null;
-
- int tokPtr = 0;
- while (tokPtr < cl.Tokens.Count) {
- switch ((XMLParser.TokenType)cl.Tokens [tokPtr].Type) {
- case TokenType.ElementStart:
- tokPtr++;
- currentNode = addChildNode (currentNode, cl, tokPtr, "Element");
- break;
- case TokenType.ElementEnd:
- tokPtr++;
- if (tokPtr < cl.Tokens.Count) {
- if ((XMLParser.TokenType)cl.Tokens [tokPtr].Type == TokenType.ElementName &&
- cl.Tokens [tokPtr].Content != currentNode.Name)
- throw new ParserException (currentLine, currentColumn, "Closing tag mismatch");
- }
- closeNodeAndGoUp (ref currentNode, cl, "Element");
- break;
- case TokenType.ElementClosing:
- //currentNode = currentNode.Parent;
- break;
- default:
- break;
- }
- tokPtr++;
- }
- }
- }
- }
-}
-
+++ /dev/null
-//
-// Tokenizer.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using Crow.Text;
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-
-namespace Crow.Coding2
-{
- public static class TokenType {
- public const int Undefine = 0;
- public const int WhiteSpace = 0;
- }
- public class Token {
- public int ptr;
- public int length;
- }
-
- public class Tokenizer
- {
- #region Regular Expression for validity checks
- public Regex rxValidChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
- public Regex rxNameStartChar = new Regex(@"_|\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}");
- public Regex rxNameChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
- public Regex rxNewLineChar = new Regex(@"\u000D|\u000A|\u0085|\u2028|\u2029");
- public Regex rxWhiteSpaceChar = new Regex(@"\p{Zs}|\u0009|\u000B|\u000C");
- public Regex rxDecimal = new Regex(@"[0-9]+");
- public Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
- #endregion
-
- public List<Token> Tokens;
-
- public Tokenizer (TextBuffer buffer)
- {
- }
-
-
- public void Tokenize () {
-
- }
-
- }
-}
-
+++ /dev/null
-//
-// ScrollingTextBox.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Xml.Serialization;
-using System.ComponentModel;
-using System.Collections;
-using Crow.Cairo;
-using System.Text;
-using System.Collections.Generic;
-using System.Text.RegularExpressions;
-using System.Linq;
-using System.Diagnostics;
-using System.IO;
-using System.Threading;
-
-namespace Crow.Coding
-{
- /// <summary>
- /// Scrolling text box optimized for monospace fonts, for coding
- /// </summary>
- public class SourceEditor : Editor
- {
- #region CTOR
- public SourceEditor (): base()
- {
- formatting.Add ((int)XMLParser.TokenType.AttributeName, new TextFormatting (Color.DarkSlateGrey, Color.Transparent));
- formatting.Add ((int)XMLParser.TokenType.ElementName, new TextFormatting (Color.DarkBlue, Color.Transparent));
- formatting.Add ((int)XMLParser.TokenType.ElementStart, new TextFormatting (Color.Black, Color.Transparent));
- formatting.Add ((int)XMLParser.TokenType.ElementEnd, new TextFormatting (Color.Black, Color.Transparent));
- formatting.Add ((int)XMLParser.TokenType.ElementClosing, new TextFormatting (Color.Black, Color.Transparent));
-
- formatting.Add ((int)XMLParser.TokenType.AttributeValueOpening, new TextFormatting (Color.Crimson, Color.Transparent));
- formatting.Add ((int)XMLParser.TokenType.AttributeValueClosing, new TextFormatting (Color.Crimson, Color.Transparent));
- formatting.Add ((int)XMLParser.TokenType.AttributeValue, new TextFormatting (Color.FireBrick, Color.Transparent, false, true));
- formatting.Add ((int)XMLParser.TokenType.XMLDecl, new TextFormatting (Color.ForestGreen, Color.Transparent));
-
- formatting.Add ((int)BufferParser.TokenType.BlockComment, new TextFormatting (Color.Grey, Color.Transparent, false, true));
- formatting.Add ((int)BufferParser.TokenType.LineComment, new TextFormatting (Color.Grey, Color.Transparent, false, true));
- formatting.Add ((int)BufferParser.TokenType.OperatorOrPunctuation, new TextFormatting (Color.Black, Color.Transparent));
- formatting.Add ((int)BufferParser.TokenType.Keyword, new TextFormatting (Color.Teal, Color.Transparent));
- //formatting.Add ((int)BufferParser.TokenType.Keyword, new TextFormatting (Color.DarkCyan, Color.Transparent));
-
- parsing.Add (".crow", "Crow.Coding.XMLParser");
- parsing.Add (".svg", "Crow.Coding.XMLParser");
- parsing.Add (".template", "Crow.Coding.XMLParser");
- parsing.Add (".cs", "Crow.Coding.CSharpParser");
- parsing.Add (".style", "Crow.Coding.StyleParser");
-
- buffer = new CodeBuffer ();
- buffer.LineUpadateEvent += Buffer_LineUpadateEvent;
- buffer.LineAdditionEvent += Buffer_LineAdditionEvent;;
- buffer.LineRemoveEvent += Buffer_LineRemoveEvent;
- buffer.BufferCleared += Buffer_BufferCleared;
- buffer.SelectionChanged += Buffer_SelectionChanged;
- buffer.PositionChanged += Buffer_PositionChanged;
- buffer.FoldingEvent += Buffer_FoldingEvent;
- buffer.Add (new CodeLine(""));
- }
- #endregion
-
- string oldSource = "";
- //save requested position on error, and try it on next move
- int requestedLine = 0, requestedCol = 0;
- volatile bool isDirty = false;
-
- const int leftMarginGap = 10;//gap between items in margin and text
- const int foldSize = 9;//folding rectangles size
- const int foldHSpace = 4;//folding level tabulation x
- int foldMargin { get { return parser == null ? 0 : parser.SyntacticTreeMaxDepth * foldHSpace; }}//folding margin size
-
- #region private and protected fields
- bool foldingEnabled = true;
- int leftMargin = 0; //margin used to display line numbers, folding errors,etc...
- int visibleLines = 1;
- int visibleColumns = 1;
- int firstPrintedLine = -1;
- int printedCurrentLine = 0;//Index of the currentline in the PrintedLines array
-
- CodeBuffer buffer;
- BufferParser parser;
- List<CodeLine> PrintedLines;//list of lines visible in the Editor depending on scrolling and folding
-
- Dictionary<int, TextFormatting> formatting = new Dictionary<int, TextFormatting>();
- Dictionary<string, string> parsing = new Dictionary<string, string>();
-
- Color selBackground;
- Color selForeground;
- int selStartCol;
- int selEndCol;
-
- protected Rectangle rText;
- protected FontExtents fe;
- protected TextExtents te;
-
- Point mouseLocalPos;
- bool doubleClicked = false;
- #endregion
-
- void measureLeftMargin () {
- leftMargin = 0;
- if (PrintLineNumbers)
- leftMargin += (int)Math.Ceiling((double)buffer.LineCount.ToString().Length * fe.MaxXAdvance) +6;
- if (foldingEnabled)
- leftMargin += foldMargin;
- if (leftMargin > 0)
- leftMargin += leftMarginGap;
- updateVisibleColumns ();
- }
- void findLongestLineAndUpdateMaxScrollX() {
- buffer.FindLongestVisualLine ();
- updateMaxScrollX ();
-// Debug.WriteLine ("SourceEditor: Find Longest line and update maxscrollx: {0} visible cols:{1}", MaxScrollX, visibleColumns);
- }
- /// <summary>
- /// Updates visible line in widget, adapt max scroll y and updatePrintedLines
- /// </summary>
- void updateVisibleLines(){
- visibleLines = (int)Math.Floor ((double)ClientRectangle.Height / (fe.Ascent+fe.Descent));
- NotifyValueChanged ("VisibleLines", visibleLines);
- updateMaxScrollY ();
- updatePrintedLines ();
- RegisterForGraphicUpdate ();
-// System.Diagnostics.Debug.WriteLine ("update visible lines: " + visibleLines);
-// System.Diagnostics.Debug.WriteLine ("update MaxScrollY: " + MaxScrollY);
- }
- void updateVisibleColumns(){
- visibleColumns = (int)Math.Floor ((double)(ClientRectangle.Width - leftMargin)/ fe.MaxXAdvance);
- NotifyValueChanged ("VisibleColumns", visibleColumns);
- updateMaxScrollX ();
-// System.Diagnostics.Debug.WriteLine ("update visible columns: {0} leftMargin:{1}",visibleColumns, leftMargin);
-// System.Diagnostics.Debug.WriteLine ("update MaxScrollX: " + MaxScrollX);
- }
- void updateMaxScrollX () {
- MaxScrollX = Math.Max (0, buffer.longestLineCharCount - visibleColumns);
- if (buffer.longestLineCharCount > 0)
- NotifyValueChanged ("ChildWidthRatio", Slot.Width * visibleColumns / buffer.longestLineCharCount);
- }
- void updateMaxScrollY () {
- if (parser == null || !foldingEnabled) {
- MaxScrollY = Math.Max (0, buffer.LineCount - visibleLines);
- if (buffer.UnfoldedLines > 0)
- NotifyValueChanged ("ChildHeightRatio", Slot.Height * visibleLines / buffer.UnfoldedLines);
- } else {
- MaxScrollY = Math.Max (0, buffer.UnfoldedLines - visibleLines);
- if (buffer.UnfoldedLines > 0)
- NotifyValueChanged ("ChildHeightRatio", Slot.Height * visibleLines / buffer.UnfoldedLines);
- }
- }
- void updatePrintedLines () {
- buffer.editMutex.EnterReadLock ();
- editorMutex.EnterWriteLock ();
-
- PrintedLines = new List<CodeLine> ();
- int curL = 0;
- int i = 0;
-
- while (curL < buffer.LineCount && i < ScrollY) {
- if (buffer [curL].IsFolded)
- curL = buffer.GetEndNodeIndex (curL);
- curL++;
- i++;
- }
-
- firstPrintedLine = curL;
- i = 0;
- while (i < visibleLines && curL < buffer.LineCount) {
- PrintedLines.Add (buffer [curL]);
-
- if (buffer [curL].IsFolded)
- curL = buffer.GetEndNodeIndex (curL);
-
- curL++;
- i++;
- }
-
- buffer.editMutex.ExitReadLock ();
- editorMutex.ExitWriteLock ();
- }
- void updateOnScreenCurLineFromBuffCurLine(){
- printedCurrentLine = PrintedLines.IndexOf (buffer.CurrentCodeLine);
- }
- void toogleFolding (int line) {
- if (parser == null || !foldingEnabled)
- return;
- buffer.ToogleFolding (line);
- }
-
- #region Editor overrides
- protected override void updateEditorFromProjFile ()
- {
- Debug.WriteLine("\t\tSourceEditor updateEditorFromProjFile");
-
- //buffer.editMutex.EnterWriteLock ();
- loadSource ();
- //buffer.editMutex.ExitWriteLock ();
-
- isDirty = false;
- oldSource = projFile.Source;
- CurrentLine = requestedLine;
- CurrentColumn = requestedCol;
- projFile.RegisteredEditors [this] = true;
- }
- protected override void updateProjFileFromEditor ()
- {
- Debug.WriteLine("\t\tSourceEditor updateProjFileFromEditor");
-
- buffer.editMutex.EnterWriteLock ();
- string newsrc = buffer.FullText;
- buffer.editMutex.ExitWriteLock ();
- projFile.UpdateSource (this, newsrc);
- }
- protected override bool EditorIsDirty {
- get { return isDirty; }
- set { isDirty = value; }
- }
- protected override bool IsReady {
- get { return projFile != null && buffer != null; }
- }
- #endregion
-
- #region Buffer events handlers
- void Buffer_BufferCleared (object sender, EventArgs e)
- {
- editorMutex.EnterWriteLock ();
-
- buffer.longestLineCharCount = 0;
- buffer.longestLineIdx = 0;
- measureLeftMargin ();
- MaxScrollX = MaxScrollY = 0;
- PrintedLines = null;
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- isDirty = true;
-
- editorMutex.ExitWriteLock ();
- }
- void Buffer_LineAdditionEvent (object sender, CodeBufferEventArgs e)
- {
- for (int i = 0; i < e.LineCount; i++) {
- int lptr = e.LineStart + i;
- int charCount = buffer[lptr].PrintableLength;
- if (charCount > buffer.longestLineCharCount) {
- buffer.longestLineIdx = lptr;
- buffer.longestLineCharCount = charCount;
- }else if (lptr <= buffer.longestLineIdx)
- buffer.longestLineIdx++;
- if (parser == null)
- continue;
- parser.TryParseBufferLine (e.LineStart + i);
- }
-
- if (parser != null)
- parser.reparseSource ();
-
- measureLeftMargin ();
-
- updatePrintedLines ();
- updateMaxScrollY ();
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- isDirty = true;
- }
- void Buffer_LineRemoveEvent (object sender, CodeBufferEventArgs e)
- {
- bool trigFindLongestLine = false;
- for (int i = 0; i < e.LineCount; i++) {
- int lptr = e.LineStart + i;
- if (lptr <= buffer.longestLineIdx)
- trigFindLongestLine = true;
- }
- if (trigFindLongestLine)
- findLongestLineAndUpdateMaxScrollX ();
-
- measureLeftMargin ();
- updatePrintedLines ();
- updateMaxScrollY ();
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- isDirty = true;
- }
- void Buffer_LineUpadateEvent (object sender, CodeBufferEventArgs e)
- {
- bool trigFindLongestLine = false;
- for (int i = 0; i < e.LineCount; i++) {
-
- int lptr = e.LineStart + i;
- if (lptr == buffer.longestLineIdx)
- trigFindLongestLine = true;
- else if (buffer[lptr].PrintableLength > buffer.longestLineCharCount) {
- buffer.longestLineCharCount = buffer[lptr].PrintableLength;
- buffer.longestLineIdx = lptr;
- }
- }
- if (trigFindLongestLine)
- findLongestLineAndUpdateMaxScrollX ();
-
- RegisterForGraphicUpdate ();
- notifyPositionChanged ();
- isDirty = true;
- }
- void Buffer_PositionChanged (object sender, EventArgs e)
- {
- //Console.WriteLine ("Position changes: ({0},{1})", buffer.CurrentLine, buffer.CurrentColumn);
- int cc = buffer.CurrentTabulatedColumn;
-
- if (cc > visibleColumns + ScrollX) {
- ScrollX = cc - visibleColumns;
- } else if (cc < ScrollX)
- ScrollX = cc;
-
- RegisterForGraphicUpdate ();
- updateOnScreenCurLineFromBuffCurLine ();
- notifyPositionChanged ();
- }
-
- void Buffer_SelectionChanged (object sender, EventArgs e)
- {
- RegisterForGraphicUpdate ();
- }
- void Buffer_FoldingEvent (object sender, CodeBufferEventArgs e)
- {
- updatePrintedLines ();
- updateOnScreenCurLineFromBuffCurLine ();
- updateMaxScrollY ();
- RegisterForGraphicUpdate ();
- }
- #endregion
-
- void notifyPositionChanged (){
- try {
- NotifyValueChanged ("CurrentLine", buffer.CurrentLine+1);
- NotifyValueChanged ("CurrentColumn", buffer.CurrentColumn+1);
- NotifyValueChanged ("CurrentLineHasError", CurrentLineHasError);
- NotifyValueChanged ("CurrentLineError", CurrentLineError);
- } catch (Exception ex) {
- Console.WriteLine (ex.ToString ());
- }
- }
-
- #region Public Crow Properties
- public int CurrentLine{
- get { return buffer == null ? 0 : buffer.CurrentLine+1; }
- set {
- try {
- int l = value - 1;
- if (l == buffer.CurrentLine)
- return;
- buffer.CurrentLine = l;
- l = buffer.CurrentLine; //reaffect from buffer where bound check is made
- if ((bool)buffer [l]?.IsFolded)
- buffer.ToogleFolding (l);
- } catch (Exception ex) {
- requestedLine = value - 1;
- Console.WriteLine ("Error cur column: " + ex);
- }
- }
- }
- public int CurrentColumn{
- get { return buffer == null ? 0 : buffer.CurrentColumn+1; }
- set {
- try {
- if (value - 1 == buffer.CurrentColumn)
- return;
- buffer.CurrentColumn = value - 1;
- } catch (Exception ex) {
- requestedCol = value - 1;
- Console.WriteLine ("Error cur column: " + ex.ToString ());
- }
- }
- }
- public bool PrintLineNumbers
- {
- get { return Configuration.Global.Get<bool> ("PrintLineNumbers"); }
- set {
- if (PrintLineNumbers == value)
- return;
- Configuration.Global.Set ("PrintLineNumbers", value);
- NotifyValueChanged ("PrintLineNumbers", PrintLineNumbers);
- measureLeftMargin ();
- RegisterForGraphicUpdate ();
- }
- }
- [DefaultValue("SteelBlue")]
- public virtual Color SelectionBackground {
- get { return selBackground; }
- set {
- if (value == selBackground)
- return;
- selBackground = value;
- NotifyValueChanged ("SelectionBackground", selBackground);
- RegisterForRedraw ();
- }
- }
- [DefaultValue("White")]
- public virtual Color SelectionForeground {
- get { return selForeground; }
- set {
- if (value == selForeground)
- return;
- selForeground = value;
- NotifyValueChanged ("SelectionForeground", selForeground);
- RegisterForRedraw ();
- }
- }
- public override int ScrollY {
- get {
- return base.ScrollY;
- }
- set {
- if (value == base.ScrollY)
- return;
- base.ScrollY = value;
- updatePrintedLines ();
- updateOnScreenCurLineFromBuffCurLine ();
- RegisterForGraphicUpdate ();
- }
- }
- public ParserException CurrentLineError {
- get { return buffer?.CurrentCodeLine?.exception; }
- }
- public bool CurrentLineHasError {
- get { return buffer == null ? false : buffer.CurrentCodeLine == null ? false :
- buffer.CurrentCodeLine.exception != null; }
- }
- public override ProjectFile ProjectNode {
- get {
- return base.ProjectNode;
- }
- set {
- base.ProjectNode = value;
- if (projFile != null)
- parser = getParserFromExt (System.IO.Path.GetExtension (projFile.Extension));
- }
- }
- #endregion
-
- BufferParser getParserFromExt (string extension) {
- if (string.IsNullOrEmpty(extension))
- return null;
- if (!parsing.ContainsKey(extension))
- return null;
- Type parserType = Type.GetType (parsing [extension]);
- if (parserType == null)
- return null;
- return (BufferParser)Activator.CreateInstance (parserType, buffer );
- }
- void loadSource () {
-
- try {
-
- if (parser == null)
- buffer.Load (projFile.Source);
- else//parser may have special linebrk rules
- buffer.Load (projFile.Source, parser.LineBrkRegex);
-
- } catch (Exception ex) {
- Debug.WriteLine (ex.ToString ());
- }
-
- projFile.RegisteredEditors [this] = true;
-
- updateMaxScrollY ();
- MaxScrollX = Math.Max (0, buffer.longestLineCharCount - visibleColumns);
- updatePrintedLines ();
-
- RegisterForGraphicUpdate ();
- }
-
- /// <summary>
- /// Current editor line, when set, update buffer.CurrentLine
- /// </summary>
- int PrintedCurrentLine {
- get { return printedCurrentLine;}
- set {
- if (value < 0) {
- ScrollY += value;
- printedCurrentLine = 0;
- } else if (PrintedLines.Count < visibleLines && value >= PrintedLines.Count) {
- printedCurrentLine = PrintedLines.Count - 1;
- }else if (value >= visibleLines) {
- ScrollY += value - visibleLines + 1;
- printedCurrentLine = visibleLines - 1;
- }else
- printedCurrentLine = value;
- //Debug.WriteLine ("printed current line:" + printedCurrentLine.ToString ());
- //update position in buffer
- buffer.CurrentLine = buffer.IndexOf (PrintedLines[printedCurrentLine]);
- }
- }
- int getTabulatedColumn (int col, int line) {
- return buffer [line].Content.Substring (0, col).Replace ("\t", new String (' ', Interface.TabSize)).Length;
- }
- int getTabulatedColumn (Point pos) {
- return getTabulatedColumn (pos.X,pos.Y);
- }
- /// <summary>
- /// Moves cursor one char to the left, move up if cursor reaches start of line
- /// </summary>
- /// <returns><c>true</c> if move succeed</returns>
- public bool MoveLeft(){
- if (buffer.CurrentColumn == 0) {
- if (printedCurrentLine == 0)
- return false;
- PrintedCurrentLine--;
- buffer.CurrentColumn = int.MaxValue;
- } else
- buffer.CurrentColumn--;
- return true;
- }
- /// <summary>
- /// Moves cursor one char to the right, move down if cursor reaches end of line
- /// </summary>
- /// <returns><c>true</c> if move succeed</returns>
- public bool MoveRight(){
- if (buffer.CurrentColumn >= buffer.CurrentCodeLine.Length) {
- if (PrintedCurrentLine == buffer.UnfoldedLines - 1)
- return false;
- buffer.CurrentColumn = 0;
- PrintedCurrentLine++;
- } else
- buffer.CurrentColumn++;
- return true;
- }
-
- #region Drawing
- void drawLine(Context gr, Rectangle cb, int i) {
- CodeLine cl = PrintedLines[i];
- int lineIndex = buffer.IndexOf(cl);
-
- double y = cb.Y + (fe.Ascent+fe.Descent) * i, x = cb.X;
-
- //Draw line numbering
- Color mgFg = Color.Grey;
- Color mgBg = Color.White;
- if (PrintLineNumbers){
- Rectangle mgR = new Rectangle ((int)x, (int)y, leftMargin - leftMarginGap, (int)Math.Ceiling((fe.Ascent+fe.Descent)));
- if (cl.exception != null) {
- mgBg = Color.Red;
- if (buffer.CurrentLine == lineIndex)
- mgFg = Color.White;
- else
- mgFg = Color.LightGrey;
- }else if (buffer.CurrentLine == lineIndex && HasFocus) {
- mgFg = Color.Black;
- mgBg = Color.DarkGrey;
- }
- string strLN = (lineIndex+1).ToString ();
- gr.SetSourceColor (mgBg);
- gr.Rectangle (mgR);
- gr.Fill();
- gr.SetSourceColor (mgFg);
-
- gr.MoveTo (cb.X + (int)(gr.TextExtents (buffer.LineCount.ToString()).Width - gr.TextExtents (strLN).Width), y + fe.Ascent);
- gr.ShowText (strLN);
- gr.Fill ();
- }
-
-
-
- //draw folding
- if (foldingEnabled){
-
- Rectangle rFld = new Rectangle (cb.X + leftMargin - leftMarginGap - foldMargin,
- (int)(y + (fe.Ascent + fe.Descent) / 2.0 - foldSize / 2.0), foldSize, foldSize);
-
- gr.SetSourceColor (Color.Black);
- gr.LineWidth = 1.0;
-
- int level = 0;
- bool closingNode = false;
-
- if (currentNode != null) {
- if (cl == currentNode.EndLine) {
- currentNode = currentNode.Parent;
- closingNode = true;
- }
- if (currentNode != null)
- level = currentNode.Level - 1;
- }
-
- for (int l = 0; l < level; l++) {
- gr.MoveTo (rFld.Center.X + 0.5, y);
- gr.LineTo (rFld.Center.X + 0.5, y + fe.Ascent + fe.Descent);
- rFld.Left += foldHSpace;
- }
- if (closingNode) {
- gr.MoveTo (rFld.Center.X + 0.5, y);
- gr.LineTo (rFld.Center.X + 0.5, y + fe.Ascent / 2 + 0.5);
- gr.LineTo (rFld.Center.X + 0.5 + foldSize / 2, y + fe.Ascent / 2 + 0.5);
- closingNode = false;
- }
- gr.SetDash (new double[]{ 1.5 },0.0);
- gr.SetSourceColor (Color.Grey);
- gr.Stroke ();
- gr.SetDash (new double[]{}, 0.0);
-
- if (cl.IsFoldable) {
- gr.Rectangle (rFld);
- gr.SetSourceColor (Color.White);
- gr.Fill();
- gr.SetSourceColor (Color.Black);
- gr.Rectangle (rFld, 1.0);
- if (cl.IsFolded) {
- gr.MoveTo (rFld.Center.X + 0.5, rFld.Y + 2);
- gr.LineTo (rFld.Center.X + 0.5, rFld.Bottom - 2);
- }else
- currentNode = cl.SyntacticNode;
-
- gr.MoveTo (rFld.Left + 2, rFld.Center.Y + 0.5);
- gr.LineTo (rFld.Right - 2, rFld.Center.Y + 0.5);
- gr.Stroke ();
- }
- }
-
- gr.SetSourceColor (Foreground);
- x += leftMargin;
-
- if (cl.Tokens == null)
- drawRawCodeLine (gr, x, y, i, lineIndex);
- else
- drawParsedCodeLine (gr, x, y, i, lineIndex);
- }
- Node currentNode = null;
-// void drawParsed(Context gr){
-// if (PrintedLines == null)
-// return;
-//
-// gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
-// gr.SetFontSize (Font.Size);
-// gr.FontOptions = Interface.FontRenderingOptions;
-// gr.Antialias = Interface.Antialias;
-//
-// Rectangle cb = ClientRectangle;
-// gr.Save ();
-// CairoHelpers.CairoRectangle (gr, cb, CornerRadius);
-// gr.Clip ();
-//
-// bool selectionInProgress = false;
-//
-// Foreground.SetAsSource (gr);
-//
-// #region draw text cursor
-// if (SelBegin != SelRelease)
-// selectionInProgress = true;
-// else if (HasFocus){
-// gr.LineWidth = 1.0;
-// double cursorX = + leftMargin + cb.X + (CurrentColumn - ScrollX) * fe.MaxXAdvance;
-// gr.MoveTo (0.5 + cursorX, cb.Y + printedCurrentLine * (fe.Ascent+fe.Descent));
-// gr.LineTo (0.5 + cursorX, cb.Y + (printedCurrentLine + 1) * (fe.Ascent+fe.Descent));
-// gr.Stroke();
-// }
-// #endregion
-//
-// for (int i = 0; i < PrintedLines.Count; i++)
-// drawTokenLine (gr, i, selectionInProgress, cb);
-//
-// gr.Restore ();
-// }
- void drawRawCodeLine(Context gr, double x, double y, int i, int lineIndex) {
- string lstr = buffer[lineIndex].PrintableContent;
- if (ScrollX < lstr.Length)
- lstr = lstr.Substring (ScrollX);
- else
- lstr = "";
-
- gr.MoveTo (x, y + fe.Ascent);
- gr.ShowText (lstr);
- gr.Fill ();
-
- if (!buffer.SelectionIsEmpty && lineIndex >= buffer.SelectionStart.Y && lineIndex <= buffer.SelectionEnd.Y) {
- double rLineX = x,
- rLineY = y,
- rLineW = lstr.Length * fe.MaxXAdvance;
-
- //System.Diagnostics.Debug.WriteLine ("sel start: " + buffer.SelectionStart + " sel end: " + buffer.SelectionEnd);
- if (lineIndex == buffer.SelectionStart.Y) {
- rLineX += (selStartCol - ScrollX) * fe.MaxXAdvance;
- rLineW -= selStartCol * fe.MaxXAdvance;
- }
- if (lineIndex == buffer.SelectionEnd.Y)
- rLineW -= (lstr.Length - selEndCol) * fe.MaxXAdvance;
-
- gr.Save ();
- gr.Operator = Operator.Source;
- gr.Rectangle (rLineX, rLineY, rLineW, (fe.Ascent+fe.Descent));
- gr.SetSourceColor (SelectionBackground);
- gr.FillPreserve ();
- gr.Clip ();
- gr.Operator = Operator.Over;
- gr.SetSourceColor (SelectionForeground);
- gr.MoveTo (x, y + fe.Ascent);
- gr.ShowText (lstr);
- gr.Fill ();
- gr.Restore ();
- }
- }
- void drawParsedCodeLine (Context gr, double x, double y, int i, int lineIndex) {
- int lPtr = 0;
- CodeLine cl = PrintedLines[i];
-
- for (int t = 0; t < cl.Tokens.Count; t++) {
- string lstr = cl.Tokens [t].PrintableContent;
- if (lPtr < ScrollX) {
- if (lPtr - ScrollX + lstr.Length <= 0) {
- lPtr += lstr.Length;
- continue;
- }
- lstr = lstr.Substring (ScrollX - lPtr);
- lPtr += ScrollX - lPtr;
- }
- Color bg = this.Background;
- Color fg = this.Foreground;
- Color selbg = this.SelectionBackground;
- Color selfg = this.SelectionForeground;
- FontSlant fts = FontSlant.Normal;
- FontWeight ftw = FontWeight.Normal;
-
- if (formatting.ContainsKey ((int)cl.Tokens [t].Type)) {
- TextFormatting tf = formatting [(int)cl.Tokens [t].Type];
- bg = tf.Background;
- fg = tf.Foreground;
- if (tf.Bold)
- ftw = FontWeight.Bold;
- if (tf.Italic)
- fts = FontSlant.Italic;
- }
-
- gr.SelectFontFace (Font.Name, fts, ftw);
- gr.SetSourceColor (fg);
-
- gr.MoveTo (x, y + fe.Ascent);
- gr.ShowText (lstr);
- gr.Fill ();
-
- if (buffer.SelectionInProgress && lineIndex >= buffer.SelectionStart.Y && lineIndex <= buffer.SelectionEnd.Y &&
- !(lineIndex == buffer.SelectionStart.Y && lPtr + lstr.Length <= selStartCol) &&
- !(lineIndex == buffer.SelectionEnd.Y && selEndCol <= lPtr)) {
-
- double rLineX = x,
- rLineY = y,
- rLineW = lstr.Length * fe.MaxXAdvance;
- double startAdjust = 0.0;
-
- if ((lineIndex == buffer.SelectionStart.Y) && (selStartCol < lPtr + lstr.Length) && (selStartCol > lPtr))
- startAdjust = (selStartCol - lPtr) * fe.MaxXAdvance;
- rLineX += startAdjust;
- if ((lineIndex == buffer.SelectionEnd.Y) && (selEndCol < lPtr + lstr.Length))
- rLineW = (selEndCol - lPtr) * fe.MaxXAdvance;
- rLineW -= startAdjust;
-
- gr.Save ();
- gr.Operator = Operator.Source;
- gr.Rectangle (rLineX, rLineY, rLineW, (fe.Ascent+fe.Descent));
- gr.SetSourceColor (selbg);
- gr.FillPreserve ();
- gr.Clip ();
- gr.Operator = Operator.Over;
- gr.SetSourceColor (selfg);
- gr.MoveTo (x, y + fe.Ascent);
- gr.ShowText (lstr);
- gr.Fill ();
- gr.Restore ();
- }
- x += (int)lstr.Length * fe.MaxXAdvance;
- lPtr += lstr.Length;
- }
- }
-
- #endregion
-
- #region GraphicObject overrides
- public override Font Font {
- get { return base.Font; }
- set {
- base.Font = value;
-
- using (ImageSurface img = new ImageSurface (Format.Argb32, 1, 1)) {
- using (Context gr = new Context (img)) {
- gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
- gr.SetFontSize (Font.Size);
-
- fe = gr.FontExtents;
- }
- }
- MaxScrollY = 0;
- RegisterForGraphicUpdate ();
- }
- }
- protected override int measureRawSize(LayoutingType lt)
- {
- if (lt == LayoutingType.Height)
- return (int)Math.Ceiling((fe.Ascent+fe.Descent) * buffer.LineCount) + Margin * 2;
-
- return (int)(fe.MaxXAdvance * buffer.longestLineCharCount) + Margin * 2 + leftMargin;
- }
- public override void OnLayoutChanges (LayoutingType layoutType)
- {
- base.OnLayoutChanges (layoutType);
-
- if (layoutType == LayoutingType.Height)
- updateVisibleLines ();
- else if (layoutType == LayoutingType.Width)
- updateVisibleColumns ();
- }
-
- protected override void onDraw (Context gr)
- {
- base.onDraw (gr);
-
- gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
- gr.SetFontSize (Font.Size);
- gr.FontOptions = Interface.FontRenderingOptions;
- gr.Antialias = Interface.Antialias;
-
- Rectangle cb = ClientRectangle;
-
- Foreground.SetAsSource (gr);
-
- buffer.editMutex.EnterReadLock ();
- editorMutex.EnterReadLock ();
-
- #region draw text cursor
- if (buffer.SelectionInProgress){
- selStartCol = getTabulatedColumn (buffer.SelectionStart);
- selEndCol = getTabulatedColumn (buffer.SelectionEnd);
- }else if (HasFocus && printedCurrentLine >= 0){
- gr.LineWidth = 1.0;
- double cursorX = cb.X + (getTabulatedColumn(buffer.CurrentPosition) - ScrollX) * fe.MaxXAdvance + leftMargin;
- gr.MoveTo (0.5 + cursorX, cb.Y + (printedCurrentLine) * (fe.Ascent+fe.Descent));
- gr.LineTo (0.5 + cursorX, cb.Y + (printedCurrentLine + 1) * (fe.Ascent+fe.Descent));
- gr.Stroke();
- }
- #endregion
-
- if (PrintedLines?.Count > 0) {
- int unfoldedLines = buffer.UnfoldedLines;
- currentNode = null;
- CodeLine cl = PrintedLines[0];
- int idx0 = buffer.IndexOf(cl);
- int li = idx0-1;
- while (li >= 0) {
- if (buffer [li].IsFoldable && !buffer [li].IsFolded) {
- if (buffer.IndexOf(buffer [li].SyntacticNode.EndLine) > idx0){
- currentNode = buffer [li].SyntacticNode;
- break;
- }
- }
- li--;
- }
-
- for (int i = 0; i < visibleLines; i++) {
- if (i + ScrollY >= unfoldedLines)//TODO:need optimize
- break;
- drawLine (gr, cb, i);
- }
- }
-
- editorMutex.ExitReadLock ();
-
- buffer.editMutex.ExitReadLock ();
-
- }
- #endregion
-
- #region Mouse handling
-
- int hoverLine = -1;
- public int HoverLine {
- get { return hoverLine; }
- set {
- if (hoverLine == value)
- return;
- hoverLine = value;
- NotifyValueChanged ("HoverLine", hoverLine);
- NotifyValueChanged ("HoverError", buffer [hoverLine].exception);
- }
- }
- void updateHoverLine () {
- if (PrintedLines.Count > 0) {
- int hvl = (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent + fe.Descent)));
- hvl = Math.Min (PrintedLines.Count - 1, hvl);
- HoverLine = buffer.IndexOf (PrintedLines [hvl]);
- } else
- HoverLine = 0;
- }
- void updateCurrentPosFromMouseLocalPos(){
- PrintedCurrentLine = (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)));
- int curVisualCol = ScrollX + (int)Math.Round ((mouseLocalPos.X - leftMargin) / fe.MaxXAdvance);
-
- int i = 0;
- int buffCol = 0;
- while (i < curVisualCol && buffCol < buffer.CurrentCodeLine.Length) {
- if (buffer.CurrentCodeLine[buffCol] == '\t')
- i += Interface.TabSize;
- else
- i++;
- buffCol++;
- }
- buffer.CurrentColumn = buffCol;
- }
- public override void onMouseEnter (object sender, MouseMoveEventArgs e)
- {
- base.onMouseEnter (sender, e);
- if (e.X - ScreenCoordinates(Slot).X < leftMargin + ClientRectangle.X)
- IFace.MouseCursor = MouseCursors.Default;
- else
- IFace.MouseCursor = MouseCursors.Text;
- }
- public override void onMouseLeave (object sender, MouseMoveEventArgs e)
- {
- base.onMouseLeave (sender, e);
- IFace.MouseCursor = MouseCursors.Default;
- }
- public override void onMouseMove (object sender, MouseMoveEventArgs e)
- {
- base.onMouseMove (sender, e);
-
- mouseLocalPos = e.Position - ScreenCoordinates(Slot).TopLeft - ClientRectangle.TopLeft;
-
- updateHoverLine ();
-
- if (!e.Mouse.IsButtonDown (MouseButton.Left)) {
- if (mouseLocalPos.X < leftMargin)
- IFace.MouseCursor = MouseCursors.Default;
- else
- IFace.MouseCursor = MouseCursors.Text;
- return;
- }
-
- if (!HasFocus || !buffer.SelectionInProgress)
- return;
-
- //mouse is down
- updateCurrentPosFromMouseLocalPos();
- buffer.SetSelEndPos ();
- }
- public override void onMouseDown (object sender, MouseButtonEventArgs e)
- {
- if (!this.Focusable)
- return;
-
- if (mouseLocalPos.X >= leftMargin)
- base.onMouseDown (sender, e);
-
- if (doubleClicked) {
- doubleClicked = false;
- return;
- }
-
- if (mouseLocalPos.X < leftMargin) {
- toogleFolding (buffer.IndexOf (PrintedLines [(int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)))]));
- return;
- }
-
- updateCurrentPosFromMouseLocalPos ();
- buffer.SetSelStartPos ();
- }
- public override void onMouseUp (object sender, MouseButtonEventArgs e)
- {
- base.onMouseUp (sender, e);
-
- if (buffer.SelectionIsEmpty)
- buffer.ResetSelection ();
- }
-
- public override void onMouseDoubleClick (object sender, MouseButtonEventArgs e)
- {
- doubleClicked = true;
- base.onMouseDoubleClick (sender, e);
-
- buffer.GotoWordStart ();
- buffer.SetSelStartPos ();
- buffer.GotoWordEnd ();
- buffer.SetSelEndPos ();
- }
- public void MakeSelection (int lineStart, int colStart, int lineEnd, int colEnd) {
- buffer.CurrentLine = lineStart;
- buffer.CurrentColumn = colStart;
- buffer.SetSelStartPos ();
- buffer.CurrentLine = lineEnd;
- buffer.CurrentColumn = colEnd;
- buffer.SetSelEndPos ();
- }
- public override void onMouseWheel (object sender, MouseWheelEventArgs e)
- {
- base.onMouseWheel (sender, e);
- }
- #endregion
-
- #region Keyboard handling
- public override void onKeyDown (object sender, KeyEventArgs e)
- {
- //base.onKeyDown (sender, e);
-
- Key key = e.Key;
-
- if (IFace.Ctrl) {
- switch (key) {
- case Key.S:
- projFile.Save ();
- break;
- case Key.W:
- editorMutex.EnterWriteLock ();
- if (IFace.Shift)
- projFile.Redo (null);
- else
- projFile.Undo (null);
- editorMutex.ExitWriteLock ();
- break;
- default:
- Console.WriteLine ("");
- break;
- }
- }
-
- switch (key)
- {
- case Key.BackSpace:
- buffer.DeleteChar ();
- break;
- case Key.Clear:
- break;
- case Key.Delete:
- if (buffer.SelectionIsEmpty)
- MoveRight ();
- else if (IFace.Shift)
- IFace.Clipboard = buffer.SelectedText;
- buffer.DeleteChar ();
- break;
- case Key.Return:
- case Key.KP_Enter:
- if (!buffer.SelectionIsEmpty)
- buffer.DeleteChar ();
- buffer.InsertLineBreak ();
- break;
- case Key.Escape:
- buffer.ResetSelection ();
- break;
- case Key.Home:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.CurrentLine = 0;
- buffer.CurrentColumn = 0;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.CurrentLine = 0;
- buffer.CurrentColumn = 0;
- break;
- case Key.End:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.CurrentLine = int.MaxValue;
- buffer.CurrentColumn = int.MaxValue;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.CurrentLine = int.MaxValue;
- buffer.CurrentColumn = int.MaxValue;
- break;
- case Key.Insert:
- if (IFace.Shift)
- buffer.Insert (IFace.Clipboard);
- else if (IFace.Ctrl && !buffer.SelectionIsEmpty)
- IFace.Clipboard = buffer.SelectedText;
- break;
- case Key.Left:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.GotoWordStart ();
- else
- MoveLeft ();
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.GotoWordStart ();
- else
- MoveLeft();
- break;
- case Key.Right:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- if (IFace.Ctrl)
- buffer.GotoWordEnd ();
- else
- MoveRight ();
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- if (IFace.Ctrl)
- buffer.GotoWordEnd ();
- else
- MoveRight ();
- break;
- case Key.Up:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- PrintedCurrentLine--;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- PrintedCurrentLine--;
- break;
- case Key.Down:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- PrintedCurrentLine++;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- PrintedCurrentLine++;
- break;
- case Key.Menu:
- break;
- case Key.Num_Lock:
- break;
- case Key.Page_Down:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- PrintedCurrentLine += visibleLines;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- PrintedCurrentLine += visibleLines;
- break;
- case Key.Page_Up:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty)
- buffer.SetSelStartPos ();
- PrintedCurrentLine -= visibleLines;
- buffer.SetSelEndPos ();
- break;
- }
- buffer.ResetSelection ();
- PrintedCurrentLine -= visibleLines;
- break;
- case Key.Tab:
- if (IFace.Shift) {
- if (buffer.SelectionIsEmpty ||
- (buffer.SelectionStart.Y == buffer.SelectionEnd.Y)) {
- //TODO
- break;
- }
- for (int i = buffer.SelectionStart.Y; i <= buffer.SelectionEnd.Y; i++)
- buffer.RemoveLeadingTab (i);
- buffer.SetSelectionOnFullLines ();
- } else {
- if (buffer.SelectionIsEmpty ||
- (buffer.SelectionStart.Y == buffer.SelectionEnd.Y)) {
- buffer.Insert ("\t");
- break;
- }
- for (int i = buffer.SelectionStart.Y; i <= buffer.SelectionEnd.Y; i++) {
- buffer.UpdateLine (i, "\t" + buffer [i].Content);
- }
- }
-
- break;
- case Key.F8:
- toogleFolding (buffer.CurrentLine);
- break;
- default:
- break;
- }
- RegisterForGraphicUpdate();
- }
- public override void onKeyPress (object sender, KeyPressEventArgs e)
- {
- base.onKeyPress (sender, e);
-
- buffer.Insert (e.KeyChar.ToString());
- buffer.ResetSelection ();
- }
- #endregion
- }
-}
\ No newline at end of file
+++ /dev/null
-//
-// SvgEditor.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.ComponentModel;
-using Crow.Cairo;
-
-namespace Crow.Coding
-{
- public class SvgEditor : Editor
- {
- SvgPicture _pic = new SvgPicture();
-
- int zoom;
-
- [DefaultValue(100)]
- public int Zoom {
- get { return zoom; }
- set {
- if (zoom == value)
- return;
- zoom = value;
- NotifyValueChanged ("Zoom", zoom);
- updateMaxScrolls ();
- RegisterForGraphicUpdate ();
- }
- }
-
- void updateMaxScrolls() {
- MaxScrollX = Math.Max(0, _pic.Dimensions.Width * zoom / 100 - Slot.Width);
- MaxScrollY = Math.Max(0, _pic.Dimensions.Height * zoom / 100 - Slot.Height);
-
- if (Slot.Width + MaxScrollX > 0)
- NotifyValueChanged ("ChildWidthRatio", Slot.Width * Slot.Width / (Slot.Width + MaxScrollX));
- else
- NotifyValueChanged ("ChildWidthRatio", 0);
-
- if (Slot.Height + MaxScrollY > 0)
- NotifyValueChanged ("ChildHeightRatio", Slot.Height * Slot.Height / (Slot.Height + MaxScrollY));
- else
- NotifyValueChanged ("ChildHeightRatio", 0);
- }
- #region editor overrides
- protected override void updateEditorFromProjFile ()
- {
- Error = null;
- try {
- editorMutex.EnterWriteLock();
- _pic.LoadSvgFragment (projFile.Source);
- _pic.Scaled = true;
- _pic.KeepProportions = true;
- } catch (Exception ex) {
- Error = ex;
- }
- editorMutex.ExitWriteLock ();
- updateMaxScrolls ();
- RegisterForGraphicUpdate ();
- }
- protected override void updateProjFileFromEditor ()
- {
- throw new NotImplementedException ();
- }
- protected override bool EditorIsDirty {
- get { return false; }
- set {
- throw new NotImplementedException ();
- }
- }
- protected override bool IsReady {
- get { return projFile != null; }
- }
- #endregion
-
- #region GraphicObject overrides
- protected override int measureRawSize (LayoutingType lt)
- {
- if (_pic == null)
- return 2 * Margin;
- //_pic = "#Crow.Images.Icons.IconAlerte.svg";
- //TODO:take scalling in account
- if (lt == LayoutingType.Width)
- return _pic.Dimensions.Width + 2 * Margin;
- else
- return _pic.Dimensions.Height + 2 * Margin;
- }
- protected override void onDraw (Context gr)
- {
- base.onDraw (gr);
-
- Rectangle r = ClientRectangle;
- Foreground.SetAsSource (gr, r);
- gr.Rectangle (r, 0.1);
- gr.Stroke ();
-
- r.Width = _pic.Dimensions.Width * zoom / 100;
- r.Height = _pic.Dimensions.Height * zoom / 100;
-
- gr.Save ();
-
- editorMutex.EnterReadLock ();
-
- gr.Translate (-ScrollX, -ScrollY);
- if (_pic != null)
- _pic.Paint (gr, r);
- editorMutex.ExitReadLock ();
-
- gr.Restore ();
- }
- public override void OnLayoutChanges (LayoutingType layoutType)
- {
- base.OnLayoutChanges (layoutType);
- if ((layoutType | LayoutingType.Sizing) > 0)
- updateMaxScrolls ();
- }
- #endregion
- }
-}
-
+++ /dev/null
-//
-// Extensions.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2016 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using System.Collections.Generic;
-
-namespace Crow
-{
- public static partial class Extensions
- {
- public static string GetIcon(this Widget go){
- return "#CrowIDE.icons.toolbox." + go.GetType().FullName + ".svg";
- }
- public static List<Widget> GetChildren(this Widget go){
- Type goType = go.GetType();
- if (typeof (Group).IsAssignableFrom (goType))
- return (go as Group).Children;
- if (typeof(Container).IsAssignableFrom (goType))
- return new List<Widget>( new Widget[] { (go as Container).Child });
- if (typeof(TemplatedContainer).IsAssignableFrom (goType))
- return new List<Widget>( new Widget[] { (go as TemplatedContainer).Content });
- if (typeof(TemplatedGroup).IsAssignableFrom (goType))
- return (go as TemplatedGroup).Items;
-
- return new List<Widget>();
- }
- }
-}
+++ /dev/null
-//
-// GraphicObjectDesignContainer.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using Crow.Cairo;
-
-namespace Crow.Coding
-{
- public class GraphicObjectDesignContainer
- {
- #region CTOR
- public GraphicObjectDesignContainer (Type crowType)
- {
- CrowType = crowType;
- }
- #endregion
-
- int dragIconSize = 32;
- public Type CrowType;
-
- public string IconPath {
- get { return "#CrowIDE.icons.toolbox." + CrowType.FullName + ".svg"; }
- }
- public string DisplayName {
- get { return CrowType.Name; }
- }
- void onStartDrag (object sender, EventArgs e)
- {
- Widget go = sender as Widget;
-
- lock (go.IFace.UpdateMutex) {
- go.IFace.DragImageHeight = dragIconSize;
- go.IFace.DragImageWidth = dragIconSize;
- SvgPicture pic = new SvgPicture (IconPath);
- //pic.Load (go.IFace, IconPath);
- ImageSurface img = new ImageSurface (Format.Argb32, dragIconSize, dragIconSize);
- using (Context ctx = new Context (img)) {
- Rectangle r = new Rectangle (0, 0, dragIconSize, dragIconSize);
- pic.Paint (ctx, r);
- ctx.Operator = Operator.In;
- ctx.SetSourceRGBA (1.0, 1.0, 1.0, 1.0);
- ctx.Rectangle (r);
- ctx.Fill ();
-
- }
- go.IFace.DragImage = img;
- }
- }
- void onEndDrag (object sender, DragDropEventArgs e)
- {
- (sender as Widget).IFace.ClearDragImage ();
-
- }
- void onDrop (object sender, DragDropEventArgs e)
- {
- ImlVisualEditor imlVE = e.DropTarget as ImlVisualEditor;
- if (imlVE != null)
- imlVE.ClearDraggedObj (false);
- (sender as Widget).IFace.ClearDragImage ();
- }
- }
-}
-
+++ /dev/null
-//
-// INetProject.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-
-namespace Crow.Coding
-{
- public interface INetProject
- {
-
- }
-}
-
+++ /dev/null
-//
-// CategoryContainer.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-
-namespace Crow.Coding
-{
- public class CategoryContainer : IValueChange
- {
- #region IValueChange implementation
- public event EventHandler<ValueChangeEventArgs> ValueChanged;
- public virtual void NotifyValueChanged(string MemberName, object _value)
- {
- ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
- }
- #endregion
-
- bool _isExpanded = true;
-
- public PropertyContainer[] Properties;
- public string Name;
-
- public bool IsExpanded
- {
- get { return _isExpanded; }
- set
- {
- if (value == _isExpanded)
- return;
-
- _isExpanded = value;
-
- NotifyValueChanged ("IsExpanded", _isExpanded);
- }
- }
-
- public CategoryContainer (string categoryName, PropertyContainer[] properties){
- Name = categoryName;
- Properties = properties;
- }
- }
-}
-
+++ /dev/null
-//
-// MembersView.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
-//
-// Copyright (c) 2016 jp
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-using System;
-using Crow;
-using System.Xml.Serialization;
-using System.ComponentModel;
-using System.Reflection;
-using System.Collections.Generic;
-using System.Linq;
-using Crow.Cairo;
-
-namespace Crow.Coding
-{
- public class MembersView : ListBox
- {
- object instance;
- ImlProjectItem projFile;
-
- public MembersView () : base() {}
-
- //cache property containers per type
- //Dictionary<string,PropertyContainer[]> propContainersCache = new Dictionary<string, PropertyContainer[]>();
- Dictionary<string,List<CategoryContainer>> categoryContainersCache = new Dictionary<string,List<CategoryContainer>> ();
-
- [DefaultValue(null)]
- public virtual object Instance {
- get { return instance; }
- set {
- if (instance == value)
- return;
- object lastInst = instance;
-
- instance = value;
- NotifyValueChanged ("Instance", instance);
-
- if (Instance is Widget) {
- NotifyValueChanged ("SelectedItemName", Instance.GetType().Name + (Instance as Widget).design_id
- + ":" + (Instance as Widget).design_imlPath );
- }else
- NotifyValueChanged ("SelectedItemName", "");
-
- if (instance == null) {
- Data = null;
- return;
- }
-
- Type it = instance.GetType ();
- if (!categoryContainersCache.ContainsKey (it.FullName)) {
- MemberInfo[] members = it.GetMembers (BindingFlags.Public | BindingFlags.Instance);
- List<PropertyContainer> props = new List<PropertyContainer> ();
- foreach (MemberInfo m in members) {
- if (m.MemberType == MemberTypes.Property) {
- PropertyInfo pi = m as PropertyInfo;
- if (!pi.CanWrite)
- continue;
- if (pi.GetCustomAttribute (typeof(XmlIgnoreAttribute)) != null)
- continue;
- props.Add (new PropertyContainer (this, pi));
- }
- }
- //propContainersCache.Add (it.FullName, props.OrderBy (p => p.Name).ToArray ());
- List<CategoryContainer> categories = new List<CategoryContainer> ();
-
- foreach (IGrouping<string,PropertyContainer> ig in props.OrderBy (p => p.Name).GroupBy(pc=>pc.DesignCategory)) {
- categories.Add(new CategoryContainer(ig.Key, ig.ToArray()));
- }
- categoryContainersCache.Add (it.FullName, categories);
- }
-
-
- Data = categoryContainersCache[it.FullName];
-
- if (lastInst != instance) {
- foreach (CategoryContainer cc in categoryContainersCache [it.FullName]) {
- foreach (PropertyContainer pc in cc.Properties) {
- pc.NotifyValueChanged ("Value", pc.Value);
- pc.NotifyValueChanged ("LabForeground", pc.LabForeground);
- }
- }
- }
- }
- }
- public ImlProjectItem ProjectNode {
- get { return projFile; }
- set {
- if (projFile == value)
- return;
-
-// if (projFile != null)
-// projFile.UnregisterEditor (this);
-
- projFile = value;
-
-// if (projFile != null)
-// projFile.RegisterEditor (this);
-
- NotifyValueChanged ("ProjectNode", projFile);
- }
- }
-
-// public void updateSource () {
-// if (projFile == null)
-// return;
-// projFile.UpdateSource (this, (Instance as GraphicObject).GetIML ());
-// }
-
-// public override void Paint (ref Context ctx)
-// {
-// base.Paint (ref ctx);
-//
-// if (SelectedIndex < 0)
-// return;
-//
-// Rectangle r = Parent.ContextCoordinates(Items [SelectedIndex].Slot);
-// ctx.SetSourceRGB (0, 0, 1);
-// ctx.Rectangle (r);
-// ctx.LineWidth = 2;
-// ctx.Stroke ();
-// }
-
- }
-}
+++ /dev/null
-//
-// PropertyContainer.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Reflection;
-using System.Linq;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.ComponentModel;
-
-namespace Crow.Coding
-{
- public class PropertyContainer : IValueChange
- {
- #region IValueChange implementation
- public event EventHandler<ValueChangeEventArgs> ValueChanged;
- public virtual void NotifyValueChanged(string MemberName, object _value)
- {
- ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
- }
- #endregion
-
- PropertyInfo pi;
- MembersView mview;
- Command cmdReset, cmdGoToStyle;
-
- public List<Crow.Command> Commands;
-
- #region CTOR
- public PropertyContainer(MembersView mv, PropertyInfo prop){
- mview = mv;
- pi = prop;
-
- cmdReset = new Crow.Command (new Action (() => Reset ())) { Caption = "Reset to default" };
- cmdGoToStyle = new Crow.Command (new Action (() => GotoStyle ())) { Caption = "Goto style" };
-
- Commands = new List<Crow.Command> (new Crow.Command[] { cmdReset, cmdGoToStyle });
- }
- #endregion
-
- public string DesignCategory {
- get {
- DesignCategory dca = (DesignCategory)pi.GetCustomAttribute (typeof(DesignCategory));
- return dca == null ? "Divers" : dca.Name;
- }
- }
- public string Name { get { return pi.Name; }}
- public object Value {
- get {
- return mview.ProjectNode?.SelectedItem == null ? null : pi.GetValue(mview.ProjectNode.SelectedItem);
- }
- set {
- try {
- if (value == Value)
- return;
- Widget g = Instance;
- string valstr = null, oldval = null;
-
- if (value != null)
- valstr = value.ToString();
-
- if (HasStyling)
- oldval = g.design_style_values[Name];
- else if (HasDefaultValue)
- oldval = DefaultValue?.ToString();
- else if (IsSetByIML)
- oldval = g.design_iml_values [Name];
-
- if (valstr == oldval){
- if (IsSetByIML){
- g.design_iml_values.Remove(Name);
- Debug.WriteLine("iml attrib removed {0}.{1}", g.Name, Name);
- }else
- return;
- }else{
- if (IsSetByIML){
- g.design_iml_values [Name] = valstr;
- Debug.WriteLine("iml update {0}.{1} = {2}", g.Name, Name, valstr);
- }else{
- g.design_iml_values.Add(Name,valstr);
- Debug.WriteLine("iml add {0}.{1} = {2}", g.Name, Name, valstr);
- }
- }
-
- if (!pi.PropertyType.IsAssignableFrom(value.GetType()) && pi.PropertyType != typeof(string)){
- if (pi.PropertyType.IsEnum) {
- if (value is string) {
- pi.SetValue (g, Enum.Parse (pi.PropertyType, (string)value));
- }else
- pi.SetValue (g, value);
- } else {
- MethodInfo me = pi.PropertyType.GetMethod
- ("Parse", BindingFlags.Static | BindingFlags.Public,
- System.Type.DefaultBinder, new Type [] {typeof (string)},null);
- pi.SetValue (g, me.Invoke (null, new object[] { value }), null);
- }
- }else
- pi.SetValue(g, value);
-
- Debug.WriteLine("\t\tPropContainer set design_dirty to instance");
-
- mview.ProjectNode.Instance.design_HasChanged = true;
- NotifyValueChanged ("Value", value);
- NotifyValueChanged ("LabForeground", LabForeground);
- } catch (Exception ex) {
- Debug.WriteLine ("Error setting property:"+ ex.ToString());
- }
- //
- }
- }
- /// <summary>
- /// for style attribute which is a string, return Style as type
- /// </summary>
- public string Type { get { return pi.PropertyType.IsEnum ?
- "System.Enum"
- : pi.Name == "Style" ? "Style" : pi.PropertyType.FullName; }}
-
- public object[] Choices {
- get {
- return pi.PropertyType.IsEnum ?
- Enum.GetValues (pi.PropertyType).Cast<object>().ToArray() :
- mview.ProjectNode.Project.solution.AvailaibleStyles;
- }
- }
- /// <summary>
- /// Current graphicobject instance
- /// </summary>
- public Widget Instance {
- get { return mview.ProjectNode.SelectedItem as Widget; }
- }
- public object DefaultValue {
- get { return ((DefaultValueAttribute)(pi.GetCustomAttribute (typeof (DefaultValueAttribute)))).Value; }
- }
- public bool HasDefaultValue {
- get { return pi.GetCustomAttribute (typeof(DefaultValueAttribute))!=null; }
- }
- /// <summary>
- /// return true if current value comes from IML attributes
- /// </summary>
- public bool IsSetByIML {
- get { return Instance.design_iml_values.ContainsKey (Name); }
- }
- /// <summary>
- /// return true if member default value comes from style
- /// </summary>
- public bool HasStyling {
- get { return Instance.design_style_locations.ContainsKey(Name); }
- }
- /// <summary>
- /// Return true if current value comes from styling
- /// </summary>
- public bool IsSetByStyling {
- get { return IsSetByIML ? false : HasStyling; }
- }
-
-
- public Fill LabForeground {
- get { return IsSetByIML ? Color.DarkBlue : HasStyling ? Color.Black : Color.Grey;}
- }
-
- /// <summary>
- /// reset to default value
- /// </summary>
- public void Reset () {
- Widget inst = mview.ProjectNode.SelectedItem as Widget;
- if (!inst.design_iml_values.ContainsKey (Name))
- return;
- inst.design_iml_values.Remove (Name);
-
- NotifyValueChanged ("LabForeground", LabForeground);
- mview.ProjectNode.UpdateSource(this, mview.ProjectNode.Instance.GetIML());
- //mview.ProjectNode.Instance.design_HasChanged = true;
- //should reinstantiate to get default
- }
- public void GotoStyle(){
- Widget g = Instance;
- if (!g.design_style_locations.ContainsKey (Name))
- return;
- FileLocation fl = g.design_style_locations [Name];
- ProjectFile pf;
- if (!mview.ProjectNode.Project.TryGetProjectFileFromPath ("#" + fl.FilePath, out pf))
- return;
-
- if (!pf.IsOpened)
- pf.Open ();
-
- pf.CurrentLine = fl.Line;
- pf.CurrentColumn = fl.Column;
-
- pf.IsSelected = true;
-
- }
-
- public override string ToString ()
- {
- return string.Format ("{0} = {1}", Name, Value);
- }
- }
-}
-
+++ /dev/null
-//
-// Project.cs
-//
-// Author:
-// jp <>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Xml;
-using System.IO;
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.CSharp;
-using System.CodeDom.Compiler;
-using Crow;
-using System.Text.RegularExpressions;
-
-namespace Crow.Coding {
- public class Project : IValueChange {
- #region IValueChange implementation
- public event EventHandler<ValueChangeEventArgs> ValueChanged;
- public virtual void NotifyValueChanged (string MemberName, object _value) {
- ValueChanged.Raise (this, new ValueChangeEventArgs (MemberName, _value));
- }
- #endregion
-
- bool isLoaded = false;
- bool isExpanded;
- XmlDocument xmlDoc;
- XmlNode nodeProject;
- XmlNode nodeProps;
- XmlNodeList nodesItems;
- SolutionProject solutionProject;
- Crow.Command cmdSave, cmdOpen, cmdCompile, cmdSetAsStartProj, cmdNewFile;
-
- #region CTOR
- public Project (Solution sol, SolutionProject sp) {
- solutionProject = sp;
-
- solution = sol;
-
- cmdSave = new Crow.Command (new Action (() => Save ())) { Caption = "Save", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = true };
- cmdOpen = new Crow.Command (new Action (() => Load ())) { Caption = "Open", Icon = new SvgPicture ("#CrowIDE.icons.open.svg"), CanExecute = false };
- cmdCompile = new Crow.Command (new Action (() => Compile ())) {
- Caption = "Compile",
- Icon = "#CrowIDE.icons.compile.svg"
- };
- cmdSetAsStartProj = new Crow.Command (new Action (() => setAsStartupProject ())) {
- Caption = "Set as Startup Project"
- };
- cmdNewFile = new Crow.Command (new Action (() => AddNewFile ())) {
- Caption = "Add New File",
- Icon = new SvgPicture ("#CrowIDE.icons.blank-file.svg"),
- CanExecute = true
- };
-
- Commands = new List<Crow.Command> (new Crow.Command[] { cmdOpen, cmdSave, cmdSetAsStartProj, cmdCompile, cmdNewFile });
-
- Load ();
- }
- #endregion
-
- public Solution solution;
- public List<Crow.Command> Commands;
- public CompilerResults CompilationResults;
- public List<Project> dependantProjects = new List<Project> ();
- public Project ParentProject = null;
- List<ProjectNode> rootItems;
- List<ProjectNode> flattenNodes;
-
- public string Name {
- get { return solutionProject.ProjectName; }
- }
- public bool IsLoaded {
- get { return isLoaded; }
- set {
- if (isLoaded == value)
- return;
- isLoaded = value;
- NotifyValueChanged ("IsLoaded", isLoaded);
- }
- }
- public bool IsExpanded {
- get { return isExpanded; }
- set {
- if (value == isExpanded)
- return;
- isExpanded = value;
- NotifyValueChanged ("IsExpanded", isExpanded);
- }
- }
- public bool IsStartupProject {
- get { return solution.StartupProject == this; }
- }
- public string Path {
- get { return System.IO.Path.Combine (solution.SolutionFolder, solutionProject.RelativePath.Replace ('\\', '/')); }
- }
- public string RootDir {
- get { return System.IO.Path.GetDirectoryName (Path); }
- }
-
-
-
- public List<ProjectNode> RootItems {
- get { return rootItems; }
- }
-
- void buildTreeNodes () {
- ProjectNode root = new ProjectNode (this, ItemType.VirtualGroup, RootNamespace);
- List<ProjectItem> items = new List<ProjectItem> ();
- foreach (XmlNode i in nodesItems) {
- foreach (XmlNode f in i.ChildNodes) {
- items.Add (new ProjectItem (this, f));
- }
- }
-
- flattenNodes = new List<ProjectNode> ();
-
- ProjectNode refs = new ProjectNode (this, ItemType.ReferenceGroup, "References");
- root.AddChild (refs);
-
- foreach (ProjectItem pn in items) {
- switch (pn.Type) {
- case ItemType.Reference:
- refs.AddChild (pn);
- flattenNodes.Add (pn);
- break;
- case ItemType.ProjectReference:
- ProjectReference pr = new ProjectReference (pn);
- refs.AddChild (pr);
- flattenNodes.Add (pr);
- break;
- case ItemType.Compile:
- case ItemType.None:
- case ItemType.EmbeddedResource:
- ProjectNode curNode = root;
- string[] folds = pn.Path.Split ('/');
- for (int i = 0; i < folds.Length - 1; i++) {
- ProjectNode nextNode = curNode.ChildNodes.FirstOrDefault (n => n.DisplayName == folds[i] && n.Type == ItemType.VirtualGroup);
- if (nextNode == null) {
- nextNode = new ProjectNode (this, ItemType.VirtualGroup, folds[i]);
- curNode.AddChild (nextNode);
- }
- curNode = nextNode;
- }
- ProjectNode f = null;
- switch (pn.Extension) {
- /*case ".cs":
- f = new CSProjectFile (pn);
- break;*/
- case ".crow":
- case ".template":
- case ".goml":
- case ".itemp":
- case ".imtl":
- f = new ImlProjectItem (pn);
- break;
- case ".style":
- f = new StyleProjectItem (pn);
- break;
- default:
- f = new ProjectFile (pn);
- break;
- }
- curNode.AddChild (f);
- flattenNodes.Add (f);
- break;
- }
- }
- root.SortChilds ();
-
- rootItems = root.ChildNodes;
- }
-
- #region Project properties
- public string ToolsVersion {
- get { return nodeProject?.Attributes["ToolsVersion"]?.Value; }
- }
- public string DefaultTargets {
- get { return nodeProject?.Attributes["DefaultTargets"]?.Value; }
- }
- public string ProjectGuid {
- get { return solutionProject.ProjectGuid; }
- }
- public string AssemblyName {
- get { return nodeProps["AssemblyName"]?.InnerText; }
- }
- public string OutputType {
- get { return nodeProps["OutputType"]?.InnerText; }
- }
- public string RootNamespace {
- get { return nodeProps["RootNamespace"]?.InnerText; }
- }
- public bool AllowUnsafeBlocks {
- get {
- return nodeProps["AllowUnsafeBlocks"] == null ? false :
- bool.Parse (nodeProps["AllowUnsafeBlocks"]?.InnerText);
- }
- }
- public bool NoStdLib {
- get {
- return nodeProps["NoStdLib"] == null ? false :
- bool.Parse (nodeProps["NoStdLib"]?.InnerText);
- }
- }
- public bool TreatWarningsAsErrors {
- get {
- return nodeProps["TreatWarningsAsErrors"] == null ? false :
- bool.Parse (nodeProps["TreatWarningsAsErrors"]?.InnerText);
- }
- }
- public bool SignAssembly {
- get { return bool.Parse (nodeProps["SignAssembly"]?.InnerText); }
- }
- public string TargetFrameworkVersion {
- get { return nodeProps["TargetFrameworkVersion"]?.InnerText; }
- }
- public string Description {
- get { return nodeProps["Description"]?.InnerText; }
- }
- public string OutputPath {
- get { return nodeProps["OutputPath"]?.InnerText; }
- }
- public string IntermediateOutputPath {
- get { return nodeProps["IntermediateOutputPath"]?.InnerText; }
- }
- public string StartupObject {
- get { return nodeProps["StartupObject"]?.InnerText; }
- }
- public bool DebugSymbols {
- get { return nodeProps["DebugSymbols"] == null ? false : bool.Parse (nodeProps["DebugSymbols"]?.InnerText); }
- }
- public int WarningLevel {
- get { return nodeProps["WarningLevel"] == null ? 0 : int.Parse (nodeProps["WarningLevel"]?.InnerText); }
- }
-
- #endregion
-
-
- public void AddNewFile () {
- Window.Show (CrowIDE.MainIFace, "#CrowIDE.ui.NewFile.crow", true).DataSource = this;
- }
-
- public void Load () {
-
- xmlDoc = new XmlDocument ();
- using (Stream ins = new FileStream (this.Path, FileMode.Open)) {
- xmlDoc.Load (new XmlTextReader (ins) { Namespaces = false });
- }
-
- nodeProject = xmlDoc.SelectSingleNode ("Project");
- XmlNodeList nodesProps = xmlDoc.SelectNodes ("/Project/PropertyGroup");
-
- foreach (XmlNode n in nodesProps) {
- if (n.Attributes["Condition"] == null)
- nodeProps = n;
- }
- nodesItems = xmlDoc.SelectNodes ("/Project/ItemGroup");
-
- if (ProjectGuid != solutionProject.ProjectGuid)
- throw new Exception ("Project GUID not matching with solution");
-
- buildTreeNodes ();
-
- IsLoaded = true;
- }
-
- public void Save () {
-
- }
-
- void setAsStartupProject () {
- solution.StartupProject = this;
- }
- static Regex regexDirTokens = new Regex (@"\$\(([^\)]*)\)|([^\$]*)");
-
- string getDirectoryWithTokens (string dir) {
- Match m = regexDirTokens.Match (dir);
- string tmp = "";
- while (m.Success) {
- if (m.Value == @"$(SolutionDir)")
- tmp = System.IO.Path.Combine (tmp, solution.SolutionFolder);
- else if (m.Value == @"$(Configuration)")
- tmp = System.IO.Path.Combine (tmp, "Debug");
- else
- tmp = System.IO.Path.Combine (tmp, m.Value);
-
- if (tmp.EndsWith (@"\") || tmp.EndsWith (@"/"))
- tmp = tmp.Remove (tmp.Length - 1);
-
- m = m.NextMatch ();
- }
- return tmp;
- }
- public string Compile () {
- if (ParentProject != null)
- ParentProject.Compile ();
-
- CSharpCodeProvider cp = new CSharpCodeProvider ();
- CompilerParameters parameters = new CompilerParameters ();
-
- foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
- Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
- if (p == null)
- throw new Exception ("referenced project not found");
- parameters.ReferencedAssemblies.Add (p.Compile ());
- }
-
- string outputDir = getDirectoryWithTokens (this.OutputPath);
- string objDir = getDirectoryWithTokens (this.IntermediateOutputPath);
-
- Directory.CreateDirectory (outputDir);
- Directory.CreateDirectory (objDir);
-
- parameters.OutputAssembly = System.IO.Path.Combine (outputDir, this.AssemblyName);
-
- // True - exe file generation, false - dll file generation
- if (this.OutputType == "Library") {
- parameters.GenerateExecutable = false;
- parameters.CompilerOptions += " /target:library";
- parameters.OutputAssembly += ".dll";
- } else {
- parameters.GenerateExecutable = true;
- parameters.CompilerOptions += " /target:exe";
- parameters.OutputAssembly += ".exe";
- parameters.MainClass = this.StartupObject;
- }
-
- parameters.GenerateInMemory = false;
- parameters.IncludeDebugInformation = this.DebugSymbols;
- parameters.TreatWarningsAsErrors = this.TreatWarningsAsErrors;
- parameters.WarningLevel = this.WarningLevel;
- parameters.CompilerOptions += " /noconfig";
- if (this.AllowUnsafeBlocks)
- parameters.CompilerOptions += " /unsafe";
- parameters.CompilerOptions += " /delaysign+";
- parameters.CompilerOptions += " /debug:full /debug+";
- parameters.CompilerOptions += " /optimize-";
- parameters.CompilerOptions += " /define:\"DEBUG;TRACE\"";
- parameters.CompilerOptions += " /nostdlib";
-
-
-
- foreach (ProjectItem pi in flattenNodes.Where (p => p.Type == ItemType.Reference)) {
-
- if (string.IsNullOrEmpty (pi.HintPath)) {
- parameters.CompilerOptions += " /reference:/usr/lib/mono/4.5/" + pi.Path + ".dll";
- continue;
- }
- parameters.ReferencedAssemblies.Add (pi.Path);
- string fullHintPath = System.IO.Path.GetFullPath (System.IO.Path.Combine (RootDir, pi.HintPath.Replace ('\\', '/')));
- if (File.Exists (fullHintPath)) {
- string outPath = System.IO.Path.Combine (outputDir, System.IO.Path.GetFileName (fullHintPath));
- if (!File.Exists (outPath))
- File.Copy (fullHintPath, outPath);
- }
- }
- parameters.CompilerOptions += " /reference:/usr/lib/mono/4.5/System.Core.dll";
- parameters.CompilerOptions += " /reference:/usr/lib/mono/4.5/mscorlib.dll";
- //parameters.ReferencedAssemblies.Add ("System.Core");
- //parameters.ReferencedAssemblies.Add ("mscorlib.dll");
-
-
- IEnumerable<ProjectFile> pfs = flattenNodes.OfType<ProjectFile> ();
-
- foreach (ProjectFile pi in pfs.Where (p => p.Type == ItemType.EmbeddedResource)) {
-
- string absPath = pi.AbsolutePath;
- string logicName = pi.LogicalName;
- if (string.IsNullOrEmpty (logicName))
- parameters.CompilerOptions += string.Format (" /resource:{0},{1}", absPath, this.Name + "." + pi.Path.Replace ('/', '.'));
- else
- parameters.CompilerOptions += string.Format (" /resource:{0},{1}", absPath, logicName);
- }
- foreach (ProjectFile pi in pfs.Where (p => p.Type == ItemType.None)) {
- if (pi.CopyToOutputDirectory == CopyToOutputState.Never)
- continue;
- string source = pi.AbsolutePath;
- string target = System.IO.Path.Combine (outputDir, pi.Path);
- Directory.CreateDirectory (System.IO.Path.GetDirectoryName (target));
-
- if (File.Exists (target)) {
- if (pi.CopyToOutputDirectory == CopyToOutputState.PreserveNewest) {
- if (DateTime.Compare (
- System.IO.File.GetLastWriteTime (source),
- System.IO.File.GetLastWriteTime (target)) < 0)
- continue;
- }
- File.Delete (target);
- }
- System.Diagnostics.Debug.WriteLine ("copy " + source + " to " + target);
- File.Copy (source, target);
- }
- string[] files = pfs.Where (p => p.Type == ItemType.Compile).Select (p => p.AbsolutePath).ToArray ();
-
- System.Diagnostics.Debug.WriteLine ("---- start compilation of :" + parameters.OutputAssembly);
- System.Diagnostics.Debug.WriteLine (parameters.CompilerOptions);
-
- CompilationResults = cp.CompileAssemblyFromFile (parameters, files);
-
- solution.UpdateErrorList ();
-
- return parameters.OutputAssembly;
- }
-
- public bool TryGetProjectFileFromAbsolutePath (string absolutePath, out ProjectFile pi) {
- pi = flattenNodes.OfType<ProjectFile> ().FirstOrDefault
- (pp => pp.AbsolutePath == absolutePath);
- return pi != null;
- }
- public bool TryGetProjectFileFromPath (string path, out ProjectFile pi) {
- if (path.StartsWith ("#", StringComparison.Ordinal))
- pi = flattenNodes.OfType<ProjectFile> ().FirstOrDefault
- (pp => pp.Type == ItemType.EmbeddedResource && pp.ResourceID == path.Substring (1));
- else
- pi = flattenNodes.OfType<ProjectFile> ().FirstOrDefault (pp => pp.Path == path);
-
- if (pi != null)
- return true;
-
- foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
- Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
- if (p == null)
- throw new Exception ("referenced project not found");
- if (p.TryGetProjectFileFromPath (path, out pi))
- return true;
- }
- //TODO: search referenced assemblies
- return false;
- }
-
- public void GetDefaultTemplates () {
- IEnumerable<ProjectFile> tmpFiles =
- flattenNodes.OfType<ProjectFile> ().Where (pp => pp.Extension == ".template");
-
- foreach (ProjectFile pi in tmpFiles.Where (
- pp => pp.Type == ItemType.None && pp.CopyToOutputDirectory != CopyToOutputState.Never)) {
-
- string clsName = System.IO.Path.GetFileNameWithoutExtension (pi.Path);
- if (solution.DefaultTemplates.ContainsKey (clsName))
- continue;
- solution.DefaultTemplates[clsName] = pi.AbsolutePath;
- }
- foreach (ProjectFile pi in tmpFiles.Where (pp => pp.Type == ItemType.EmbeddedResource)) {
- string resId = pi.ResourceID;
- string clsName = resId.Substring (0, resId.Length - 9);
- if (solution.DefaultTemplates.ContainsKey (clsName))
- continue;
- solution.DefaultTemplates[clsName] = pi.Path;
- }
-
- foreach (Project p in ReferencedProjects)
- p.GetDefaultTemplates ();
- }
- // void searchTemplatesIn(Assembly assembly){
- // if (assembly == null)
- // return;
- // foreach (string resId in assembly
- // .GetManifestResourceNames ()
- // .Where (r => r.EndsWith (".template", StringComparison.OrdinalIgnoreCase))) {
- // string clsName = resId.Substring (0, resId.Length - 9);
- // if (DefaultTemplates.ContainsKey (clsName))
- // continue;
- // DefaultTemplates[clsName] = "#" + resId;
- // }
- // }
-
- public List<Project> ReferencedProjects {
- get {
- List<Project> tmp = new List<Project> ();
- foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
- Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
- if (p != null)
- tmp.Add (p);
- }
- return tmp;
- }
- }
-
- public void GetStyling () {
- try {
- foreach (ProjectFile pi in flattenNodes.OfType<ProjectFile> ().Where (pp => pp.Type == ItemType.EmbeddedResource && pp.Extension == ".style")) {
- using (Stream s = new MemoryStream (System.Text.Encoding.UTF8.GetBytes (pi.Source))) {
- new StyleReader (solution.Styling, s, pi.ResourceID);
- }
- }
- } catch (Exception ex) {
- Console.WriteLine (ex.ToString ());
- }
- foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
- Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
- if (p == null)
- throw new Exception ("referenced project not found");
- p.GetStyling ();
- }
-
- //TODO:get styling from referenced assemblies
- }
- }
-}
-
+++ /dev/null
-//
-// ProjectNodes.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using Microsoft.CodeAnalysis;
-using Microsoft.CodeAnalysis.CSharp;
-using Microsoft.CodeAnalysis.CSharp.Syntax;
-
-namespace Crow.Coding
-{
- public class CSProjectFile : ProjectFile
- {
- CSharpSyntaxTree tree;
-
-
- #region CTOR
- public CSProjectFile (ProjectItem pi) : base (pi){
- }
- #endregion
-
- public override void UpdateSource(object sender, string newSrc)
- {
- base.UpdateSource(sender, newSrc);
-
- tree = (CSharpSyntaxTree)CSharpSyntaxTree.ParseText (Source, CSharpParseOptions.Default);
- }
-
- public override void Open () {
- base.Open ();
-
- tree = (CSharpSyntaxTree)CSharpSyntaxTree.ParseText (Source, CSharpParseOptions.Default);
-
- CompilationUnitSyntax root = (CompilationUnitSyntax)tree.GetRoot ();
- MemberDeclarationSyntax firstMember = root.Members [0];
-
- Console.WriteLine ( firstMember.GetType().FullName);
-
- SyntaxToken tok = root.GetFirstToken();
-
- while (tok.Value != null) {
- Console.Write (tok.Text);
- tok = tok.GetNextToken (true,true);
- }
- Console.Out.Flush ();
- }
-
-
- }
-}
-
+++ /dev/null
-//
-// ProjectNodes.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
-using System.IO;
-using Crow;
-using System.Threading;
-
-namespace Crow.Coding
-{
- public class ImlProjectItem : ProjectFile
- {
- #region CTOR
- public ImlProjectItem (ProjectItem pi) : base (pi){
- }
- #endregion
-
- Widget instance;
- Measure designWidth, designHeight;
-
- /// <summary>
- /// instance created with an instantiator from the source by a DesignInterface,
- /// for now, the one in ImlVisualEditor
- /// </summary>
- public Widget Instance {
- get { return instance; }
- set {
- if (instance == value)
- return;
- instance = value;
- NotifyValueChanged ("Instance", instance);
- }
- }
-
- public Measure DesignWidth {
- get { return designWidth; }
- set {
- if (designWidth == value)
- return;
- designWidth = value;
- NotifyValueChanged ("DesignWidth", designWidth);
- }
- }
- public Measure DesignHeight {
- get { return designHeight; }
- set {
- if (designHeight == value)
- return;
- designHeight = value;
- NotifyValueChanged ("DesignHeight", designHeight);
- }
- }
-
-
- public List<Widget> GraphicTree {
- get { return new List<Widget> (new Widget[] {instance}); }
- }
-
- void GTView_SelectedItemChanged (object sender, SelectionChangeEventArgs e){
- SelectedItem = e.NewValue;
- }
- }
-}
-
+++ /dev/null
-//
-// ProjectNodes.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Threading;
-using System.Xml;
-
-namespace Crow.Coding {
- public class ProjectFile : ProjectItem {
- bool isOpened = false;
- DateTime accessTime;
- string source;
- string origSource;
- object selectedItem;
- int curLine, curColumn;
-
- internal ReaderWriterLockSlim srcEditMtx = new ReaderWriterLockSlim();
-
- public Dictionary<object, bool> RegisteredEditors = new Dictionary<object, bool>();
- List<String> undoStack = new List<string>();
- List<String> redoStack = new List<string>();
-
- public Crow.Command cmdSave, cmdSaveAs, cmdOpen, cmdClose, cmdUndo, cmdRedo;
-
- void initCommands (){
- cmdSave = new Crow.Command (new Action (() => Save ()))
- { Caption = "Save", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = false };
- cmdSaveAs = new Crow.Command (new Action (() => SaveAs ()))
- { Caption = "Save As ..", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = false };
- cmdOpen = new Crow.Command (new Action (() => Open ()))
- { Caption = "Open", Icon = new SvgPicture ("#CrowIDE.icons.open.svg"), CanExecute = true };
- cmdClose = new Crow.Command (new Action (() => OnQueryClose (this,null)))
- { Caption = "Close", Icon = new SvgPicture ("#CrowIDE.icons.open.svg"), CanExecute = false };
- cmdUndo = new Crow.Command (new Action (() => Undo (null)))
- { Caption = "Undo", Icon = new SvgPicture ("#CrowIDE.icons.undo.svg"), CanExecute = false };
- cmdRedo = new Crow.Command (new Action (() => Redo (null)))
- { Caption = "Redo", Icon = new SvgPicture ("#CrowIDE.icons.redo.svg"), CanExecute = false };
-
- Commands.Insert (0, cmdOpen);
- Commands.Insert (1, cmdSave);
- Commands.Insert (2, cmdSaveAs);
- Commands.Insert (3, cmdUndo);
- Commands.Insert (4, cmdRedo);
- Commands.Add (cmdClose);
- }
- public ProjectFile () {
- initCommands();
- }
- public ProjectFile (ProjectItem pi)
- : base (pi.Project, pi.node) {
- initCommands ();
- }
-
- public string ResourceID {
- get {
- return Type != ItemType.EmbeddedResource ? null :
- node.SelectSingleNode ("LogicalName") == null ?
- Project.Name + "." + Path.Replace ('/', '.') :
- LogicalName;
- }
- }
- public string LogicalName {
- get {
- return node.SelectSingleNode ("LogicalName")?.InnerText;
- }
- }
- public bool IsOpened {
- get { return isOpened; }
- set {
- if (isOpened == value)
- return;
- isOpened = value;
-
- cmdOpen.CanExecute = !isOpened;
- cmdClose.CanExecute = isOpened;
- cmdSave.CanExecute = isOpened && IsDirty;
-
- if (isOpened)
- Project.solution.OpenItem (this);
- else
- Project.solution.CloseItem (this);
-
- NotifyValueChanged ("IsOpened", isOpened);
- }
- }
-
- public void UnregisterEditor (object editor){
- lock(RegisteredEditors){
- RegisteredEditors.Remove (editor);
- }
- }
- public void RegisterEditor (object editor) {
- lock(RegisteredEditors){
- RegisteredEditors.Add (editor, false);
- }
- }
- public virtual void UpdateSource (object sender, string newSrc){
- System.Diagnostics.Debug.WriteLine ("update source by {0}", sender);
- Source = newSrc;
- signalOtherRegisteredEditors (sender);
- }
- public void SignalEditorOfType<T> (){
- lock (RegisteredEditors) {
- object[] keys = RegisteredEditors.Keys.ToArray ();
- foreach (object ed in keys) {
- T editor = (T)ed;
- if (editor == null)
- continue;
- RegisteredEditors [editor] = false;
- break;
- }
- }
- }
- protected void signalOtherRegisteredEditors (object sender) {
- lock (RegisteredEditors) {
- object[] keys = RegisteredEditors.Keys.ToArray ();
- foreach (object editor in keys) {
- if (editor != sender)
- RegisteredEditors [editor] = false;
- }
- }
- }
- public string Source {
- get {
- if (!IsOpened) {
- using (StreamReader sr = new StreamReader (AbsolutePath))
- source = sr.ReadToEnd ();
-
- } else {
- if (DateTime.Compare (
- accessTime,
- System.IO.File.GetLastWriteTime (AbsolutePath)) < 0)
- Console.WriteLine ("File has been modified outside CrowIDE");
- }
- return source;
- }
- set {
- if (source == value)
- return;
-
- srcEditMtx.EnterWriteLock ();
-
- undoStack.Add (source);
- cmdUndo.CanExecute = true;
- redoStack.Clear ();
- cmdRedo.CanExecute = false;
- source = value;
-
- NotifyValueChanged ("Source", source);
- NotifyValueChanged ("IsDirty", IsDirty);
-
- cmdSave.CanExecute = cmdSaveAs.CanExecute = IsDirty;
-
- srcEditMtx.ExitWriteLock ();
- }
- }
- public bool IsDirty {
- get { return source != origSource; }
- }
- public int CurrentColumn{
- get { return curColumn; }
- set {
- if (curColumn == value)
- return;
- curColumn = value;
- NotifyValueChanged ("CurrentColumn", curColumn);
- }
- }
- public int CurrentLine{
- get { return curLine; }
- set {
- if (curLine == value)
- return;
- curLine = value;
- NotifyValueChanged ("CurrentLine", curLine);
- }
- }
-
- public object SelectedItem {
- get { return selectedItem; }
- set {
- if (selectedItem == value)
- return;
- selectedItem= value;
- Project.solution.SelectedItemElement = value;
- NotifyValueChanged ("SelectedItem", selectedItem);
- }
- }
-
- public CopyToOutputState CopyToOutputDirectory {
- get {
- XmlNode xn = node.SelectSingleNode ("CopyToOutputDirectory");
- return xn == null ? CopyToOutputState.Never :
- (CopyToOutputState)Enum.Parse (typeof(CopyToOutputState), xn.InnerText, true);
- }
- }
-
- public virtual void Open () {
- accessTime = System.IO.File.GetLastWriteTime (AbsolutePath);
- using (StreamReader sr = new StreamReader (AbsolutePath)) {
- source = sr.ReadToEnd ();
- }
- origSource = source;
- IsOpened = true;
- NotifyValueChanged ("IsDirty", false);
- }
- public virtual void Save () {
- if (!IsDirty)
- return;
- using (StreamWriter sw = new StreamWriter (AbsolutePath)) {
- sw.Write (source);
- }
- origSource = source;
- NotifyValueChanged ("IsDirty", false);
- }
- public virtual void SaveAs () {
- if (!IsDirty)
- return;
- using (StreamWriter sw = new StreamWriter (AbsolutePath)) {
- sw.Write (source);
- }
- origSource = source;
- NotifyValueChanged ("IsDirty", false);
- }
- public void Close () {
- origSource = source = null;
- IsOpened = false;
- }
- public void Undo(object sender){
- undo();
- signalOtherRegisteredEditors (sender);
- }
- public void Redo(object sender){
- redo();
- signalOtherRegisteredEditors (sender);
- }
-
- void undo () {
- if (undoStack.Count == 0)
- return;
-
- srcEditMtx.EnterWriteLock ();
- string step = undoStack [undoStack.Count -1];
- redoStack.Add (source);
- cmdRedo.CanExecute = true;
- undoStack.RemoveAt(undoStack.Count -1);
-
- source = step;
-
- NotifyValueChanged ("Source", source);
- NotifyValueChanged ("IsDirty", IsDirty);
- cmdSave.CanExecute = IsDirty;
-
- if (undoStack.Count == 0)
- cmdUndo.CanExecute = false;
- srcEditMtx.ExitWriteLock ();
- }
-
- void redo () {
- if (redoStack.Count == 0)
- return;
- srcEditMtx.EnterWriteLock ();
- string step = redoStack [redoStack.Count -1];
- undoStack.Add (source);
- cmdUndo.CanExecute = true;
- redoStack.RemoveAt(redoStack.Count -1);
- source = step;
- NotifyValueChanged ("Source", source);
- NotifyValueChanged ("IsDirty", IsDirty);
- cmdSave.CanExecute = IsDirty;
-
- if (redoStack.Count == 0)
- cmdRedo.CanExecute = false;
- srcEditMtx.ExitWriteLock ();
-
- }
-
- public void onDoubleClick (object sender, MouseButtonEventArgs e){
- if (IsOpened)
- return;
- Open ();
- }
-
- public void onClick (object sender, MouseButtonEventArgs e){
- IsSelected = true;
- }
- public void OnQueryClose (object sender, EventArgs e){
- if (IsDirty) {
- MessageBox mb = MessageBox.ShowModal (CrowIDE.MainIFace,
- MessageBox.Type.YesNoCancel, $"{DisplayName} has unsaved changes.\nSave it now?");
- mb.Yes += (object _sender, EventArgs _e) => { Save (); Close (); };
- mb.No += (object _sender, EventArgs _e) => Close();
- } else
- Close ();
- }
- }
-}
-
+++ /dev/null
-//
-// ProjectNodes.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
-using System.IO;
-using Crow;
-using System.Threading;
-
-namespace Crow.Coding
-{
- public class ProjectItem : ProjectNode {
- #region CTOR
- public ProjectItem() {}
- public ProjectItem (Project project, XmlNode _node) : base (project){
- node = _node;
- }
- #endregion
-
- public XmlNode node;
-
- public override Picture Icon {
- get {
- switch (Extension)
- {
- case ".cs":
- return new SvgPicture("#CrowIDE.icons.cs-file.svg");
- case ".crow":
- return new SvgPicture("#CrowIDE.icons.xml-file.svg");
- case ".xml":
- return new SvgPicture("#CrowIDE.icons.xml-file.svg");
- default:
- return base.Icon;
- }
- }
- }
-
- public string Extension {
- get { return System.IO.Path.GetExtension (Path); }
- }
- public string Path {
- get {
- return node.Attributes["Include"]?.Value.Replace('\\','/');
- }
- }
- public string AbsolutePath {
- get {
- return System.IO.Path.Combine (Project.RootDir, Path);
- }
- }
- public override ItemType Type {
- get {
- return (ItemType)Enum.Parse (typeof(ItemType), node.Name, true);
- }
- }
- public override string DisplayName {
- get {
- return Type == ItemType.Reference ?
- Path :
- Path.Split ('/').LastOrDefault();
- }
- }
- public string HintPath {
- get { return node.SelectSingleNode ("HintPath")?.InnerText; }
- }
-
- public override bool IsSelected {
- get {
- return isSelected;
- }
- set {
- if (value == isSelected)
- return;
-
- isSelected = value;
-
- NotifyValueChanged ("IsSelected", isSelected);
-
- if (isSelected) {
- Project.solution.SelectedItem = this;
- Project.IsExpanded = true;
- ProjectNode pn = Parent;
- while (pn != null) {
- pn.IsExpanded = true;
- pn = pn.Parent;
- }
- }
- }
- }
- }
-}
-
+++ /dev/null
-//
-// ProjectNodes.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
-using System.IO;
-using Crow;
-using System.Threading;
-
-namespace Crow.Coding
-{
- public enum ItemType {
- ReferenceGroup,
- Reference,
- ProjectReference,
- VirtualGroup,
- Folder,
- None,
- Compile,
- EmbeddedResource,
- }
- public enum CopyToOutputState {
- Never,
- Always,
- PreserveNewest
- }
- public class ProjectNode : IValueChange
- {
- #region IValueChange implementation
- public event EventHandler<ValueChangeEventArgs> ValueChanged;
- public virtual void NotifyValueChanged(string MemberName, object _value)
- {
- ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
- }
- #endregion
-
- #region CTOR
- public ProjectNode (Project project, ItemType _type, string _name) : this(project){
- type = _type;
- name = _name;
- initCommands ();
- }
- public ProjectNode (Project project){
- Project = project;
- initCommands ();
- }
- public ProjectNode (){
- initCommands ();
- }
- #endregion
-
- void initCommands () {
- Commands = new List<Crow.Command> ();
- }
-
- ProjectNode parent;
- bool isExpanded;
- protected bool isSelected;
- ItemType type;
- string name;
- List<ProjectNode> childNodes = new List<ProjectNode>();
-
- public Project Project;
- public List<Crow.Command> Commands;//list of command available for that node
-
- public virtual Crow.Picture Icon {
- get {
- switch (Type) {
- case ItemType.Reference:
- return new SvgPicture ("#Crow.Icons.assembly.svg");
- case ItemType.ProjectReference:
- return new SvgPicture("#Crow.Icons.projectRef.svg");
- default:
- return new SvgPicture("#CrowIDE.icons.blank-file.svg");
- }
- }
- }
- public ProjectNode Parent {
- get { return parent; }
- set { parent = value; }
- }
- public virtual ItemType Type {
- get { return type; }
- }
- public virtual string DisplayName {
- get { return name; }
- }
- public List<ProjectNode> ChildNodes {
- get { return childNodes; }
- }
- public void AddChild (ProjectNode pn) {
- childNodes.Add(pn);
- pn.Parent = this;
- }
- public void RemoveChild (ProjectNode pn){
- pn.Parent = null;
- childNodes.Remove (pn);
- }
- public void SortChilds () {
- foreach (ProjectNode pn in childNodes)
- pn.SortChilds ();
- childNodes = childNodes.OrderBy(c=>c.Type).ThenBy(cn=>cn.DisplayName).ToList();
- }
-
- public bool IsExpanded
- {
- get { return isExpanded; }
- set
- {
- if (value == isExpanded)
- return;
- isExpanded = value;
- NotifyValueChanged ("IsExpanded", isExpanded);
- }
- }
- public virtual bool IsSelected
- {
- get { return isSelected; }
- set
- {
- if (value == isSelected)
- return;
-
- isSelected = value;
-
- NotifyValueChanged ("IsSelected", isSelected);
- }
- }
- public override string ToString ()
- {
- return DisplayName;
- }
- }
-}
-
+++ /dev/null
-//
-// ProjectNodes.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
-using System.IO;
-using Crow;
-using System.Threading;
-
-namespace Crow.Coding
-{
- public class ProjectReference : ProjectItem {
- public ProjectReference (ProjectItem pi) : base (pi.Project, pi.node){
- }
- public string ProjectGUID {
- get {
- return node.SelectSingleNode ("Project")?.InnerText;
- }
- }
- public override string DisplayName {
- get {
- return node.SelectSingleNode ("Name").InnerText;
- }
- }
- }
-}
-
+++ /dev/null
-//
-// ProjectNodes.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
-using System.IO;
-using Crow;
-using System.Threading;
-
-namespace Crow.Coding
-{
- public class StyleProjectItem : ProjectFile
- {
- #region CTOR
- public StyleProjectItem (ProjectItem pi) : base (pi){
- }
- #endregion
-
- public override void UpdateSource (object sender, string newSrc)
- {
- base.UpdateSource (sender, newSrc);
- Project.solution.ReloadStyling ();
- }
- }
-}
-
+++ /dev/null
-//
-// Solution.cs
-//
-//code taken in project https://sourceforge.net/projects/syncproj/
-// no licence info was included, I took the liberty to modify it.
-// Author:
-// tarmopikaro
-// 2018 Jean-Philippe Bruyère
-//MIT-licenced
-
-using Microsoft.Win32;
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Xml.Serialization;
-using Crow;
-
-namespace Crow.Coding{
- public class SolutionProject {
- public string ProjectHostGuid;
- public string ProjectName;
- public string RelativePath;
- public string ProjectGuid;
- }
- public class StyleItemContainer {
- public object Value;
- public string Name;
- public StyleItemContainer(string name, object _value){
- Name = name;
- Value = _value;
- }
- }
- public class StyleContainer : IValueChange {
- #region IValueChange implementation
- public event EventHandler<ValueChangeEventArgs> ValueChanged;
- public virtual void NotifyValueChanged(string MemberName, object _value)
- {
- ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
- }
- #endregion
-
- Style style;
- bool isExpanded;
-
- public string Name;
- public List<StyleItemContainer> Items;
- public bool IsExpanded
- {
- get { return isExpanded; }
- set
- {
- if (value == isExpanded)
- return;
- isExpanded = value;
- NotifyValueChanged ("IsExpanded", isExpanded);
- }
- }
- public StyleContainer(string name, Style _style){
- Name = name;
- style = _style;
-
- Items = new List<StyleItemContainer> ();
- foreach (string k in style.Keys) {
- Items.Add(new StyleItemContainer(k, style[k]));
- }
- }
- }
-
-
- /// <summary>
-/// .sln loaded into class.
-/// </summary>
- public class Solution: IValueChange
- {
- #region IValueChange implementation
- public event EventHandler<ValueChangeEventArgs> ValueChanged;
- public virtual void NotifyValueChanged(string MemberName, object _value)
- {
- ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
- }
- #endregion
-
- ProjectItem selectedItem = null;
- object selectedItemElement = null;
- ObservableList<ProjectItem> openedItems = new ObservableList<ProjectItem>();
- ObservableList<GraphicObjectDesignContainer> toolboxItems;
-
- public Dictionary<string, Style> Styling;
- public Dictionary<string, string> DefaultTemplates;
-
- public List<Style> Styles { get { return Styling.Values.ToList(); }}
- public List<StyleContainer> StylingContainers;
- //TODO: check project dependencies if no startup proj
-
- public void ReloadStyling () {
- Styling = new Dictionary<string, Style> ();
- if (StartupProject != null)
- StartupProject.GetStyling ();
-// StylingContainers = new List<StyleContainer> ();
-// foreach (string k in Styling.Keys) {
-// StylingContainers.Add (new StyleContainer (k, Styling [k]));
-// }
- foreach (ImlProjectItem pf in openedItems.OfType<ImlProjectItem>()) {
- pf.SignalEditorOfType<ImlVisualEditor> ();
- }
- }
- public string[] AvailaibleStyles {
- get { return Styling == null ? new string[] {} : Styling.Keys.ToArray();}
- }
- public void ReloadDefaultTemplates () {
- DefaultTemplates = new Dictionary<string, string>();
- if (StartupProject != null)
- StartupProject.GetDefaultTemplates ();
- }
- public void updateToolboxItems () {
- Type[] crowItems = AppDomain.CurrentDomain.GetAssemblies ()
- .SelectMany (t => t.GetTypes ())
- .Where (t => t.IsClass && !t.IsAbstract && t.IsPublic &&
- t.Namespace == "Crow" && t.IsSubclassOf(typeof(Widget)) &&
- t.GetCustomAttribute<DesignIgnore>(false) == null).ToArray ();
- ToolboxItems = new ObservableList<GraphicObjectDesignContainer> ();
- foreach (Type ci in crowItems) {
- toolboxItems.AddElement(new GraphicObjectDesignContainer(ci));
- }
- }
- public bool GetProjectFileFromPath (string path, out ProjectFile pi){
- pi = null;
- return StartupProject == null ? false :
- StartupProject.TryGetProjectFileFromPath (path, out pi);
- }
-
- public ObservableList<ProjectItem> OpenedItems {
- get { return openedItems; }
- set {
- if (openedItems == value)
- return;
- openedItems = value;
- NotifyValueChanged ("OpenedItems", openedItems);
- }
- }
-
- public ObservableList<GraphicObjectDesignContainer> ToolboxItems {
- get { return toolboxItems; }
- set {
- if (toolboxItems == value)
- return;
- toolboxItems = value;
- NotifyValueChanged ("ToolboxItems", toolboxItems);
- }
- }
- public ProjectItem SelectedItem {
- get { return selectedItem; }
- set {
- if (selectedItem == value)
- return;
- if (SelectedItem != null)
- SelectedItem.IsSelected = false;
- selectedItem = value;
- if (SelectedItem != null)
- SelectedItem.IsSelected = true;
-
- UserConfig.Set ("SelectedProjItems", SelectedItem?.AbsolutePath);
-
- NotifyValueChanged ("SelectedItem", selectedItem);
- }
- }
- public object SelectedItemElement {
- get { return selectedItemElement; }
- set {
- if (selectedItemElement == value)
- return;
- selectedItemElement = value;
- NotifyValueChanged ("SelectedItemElement", selectedItemElement);
- }
- }
- public string DisplayName {
- get { return name; }
- }
- /// <summary>
- /// Gets solution path
- /// </summary>
- public String SolutionFolder
- {
- get { return Path.GetDirectoryName (path); }
- }
-
-// public System.CodeDom.Compiler.CompilerErrorCollection CompilationErrors {
-// get {
-// System.CodeDom.Compiler.CompilerErrorCollection tmp = Projects.SelectMany<Project>
-// (p => p.CompilationResults.Errors);
-// return tmp;
-// }
-// }
- public List<System.CodeDom.Compiler.CompilerError> CompilerErrors {
- get {
- int errCount = 0;
- for (int i = 0; i < Projects.Count; i++) {
- if (Projects [i].CompilationResults != null)
- errCount += Projects [i].CompilationResults.Errors.Count;
- }
- System.CodeDom.Compiler.CompilerError[] tmp = new System.CodeDom.Compiler.CompilerError[errCount];
-
- int ptr = 0;
- for (int i = 0; i < Projects.Count; i++) {
- if (Projects [i].CompilationResults == null)
- continue;
- Projects [i].CompilationResults.Errors.CopyTo (tmp,ptr);
- ptr += Projects [i].CompilationResults.Errors.Count;
- }
- return new List<System.CodeDom.Compiler.CompilerError>(tmp);
- }
- }
-
- public void UpdateErrorList () {
- NotifyValueChanged ("CompilerErrors", CompilerErrors);
- }
-
- void saveOpenedItemsInUserConfig (){
- if (openedItems.Count == 0)
- UserConfig.Set ("OpenedItems", "");
- else
- UserConfig.Set ("OpenedItems", openedItems.Select(o => o.AbsolutePath).Aggregate((a,b)=>a + ";" + b));
- }
- public void ReopenItemsSavedInUserConfig () {
- string tmp = UserConfig.Get<string> ("OpenedItems");
- string sel = UserConfig.Get<string> ("SelectedProjItems");
- ProjectFile selItem = null;
- if (string.IsNullOrEmpty (tmp))
- return;
- foreach (string f in tmp.Split(';')) {
- foreach (Project p in Projects) {
- ProjectFile pi;
- if (p.TryGetProjectFileFromAbsolutePath (f, out pi)) {
- pi.Open ();
- if (pi.AbsolutePath == sel)
- selItem = pi;
- break;
- }
- }
- }
- if (selItem == null)
- return;
- selItem.IsSelected = true;
- }
-
- /*void onSelectedItemChanged (object sender, SelectionChangeEventArgs e){
- SelectedItem = e.NewValue as ProjectItem;
- UserConfig.Set ("SelectedProjItems", SelectedItem?.AbsolutePath);
- }*/
-
- public void OpenItem (ProjectItem pi) {
- if (!openedItems.Contains (pi)) {
- openedItems.AddElement (pi);
- saveOpenedItemsInUserConfig ();
- }
- }
- public void CloseItem (ProjectItem pi) {
- openedItems.RemoveElement (pi);
- saveOpenedItemsInUserConfig ();
- }
-
- public void CloseSolution () {
- while (openedItems.Count > 0) {
- openedItems.RemoveElement (openedItems [0]);
- }
- while (toolboxItems.Count > 0) {
- toolboxItems.RemoveElement (toolboxItems [0]);
- }
- NotifyValueChanged ("Projects", null);
- }
- /// <summary>
- /// Solution name
- /// </summary>
- String name;
- /// <summary>
- /// File path from where solution was loaded.
- /// </summary>
- [XmlIgnore]
- String path;
-
- /// <summary>
- /// Solution name for debugger.
- /// </summary>
- [ExcludeFromCodeCoverage]
- public override string ToString()
- {
- return "Solution: " + name;
- }
-
- #region Solution properties
- double slnVer; // 11.00 - vs2010, 12.00 - vs2015
-
- /// <summary>
- /// Visual studio version information used for generation, for example 2010, 2012, 2015 and so on...
- /// </summary>
- public int fileFormatVersion;
-
- /// <summary>
- /// null for old visual studio's
- /// </summary>
- public String VisualStudioVersion;
-
- /// <summary>
- /// null for old visual studio's
- /// </summary>
- public String MinimumVisualStudioVersion;
-
- /// <summary>
- /// List of project included into solution.
- /// </summary>
- public List<Project> Projects = new List<Project>();
-
- /// <summary>
- /// List of configuration list, in form "{Configuration}|{Platform}", for example "Release|Win32".
- /// To extract individual platforms / configuration list, use following functions.
- /// </summary>
- public List<String> configurations = new List<string>();
-
- /// <summary>
- /// Extracts platfroms supported by solution
- /// </summary>
- public IEnumerable<String> getPlatforms()
- {
- return configurations.Select(x => x.Split('|')[1]).Distinct();
- }
-
- /// <summary>
- /// Extracts configuration names supported by solution
- /// </summary>
- public IEnumerable<String> getConfigurations()
- {
- return configurations.Select(x => x.Split('|')[0]).Distinct();
- }
- #endregion
-
- public Configuration UserConfig;
-
- public Project StartupProject {
- get { return Projects?.FirstOrDefault (p => p.ProjectGuid == UserConfig.Get<string> ("StartupProject")); }
- set {
- if (value == StartupProject)
- return;
- if (value == null)
- UserConfig.Set ("StartupProject", "");
- else {
- UserConfig.Set ("StartupProject", value.ProjectGuid);
- value.NotifyValueChanged("IsStartupProject", true);
- }
- NotifyValueChanged ("StartupProject", StartupProject);
- ReloadStyling ();
- ReloadDefaultTemplates ();
- }
- }
-
- #region CTOR
- /// <summary>
- /// Creates new solution.
- /// </summary>
- public Solution() {
- }
-
- #endregion
-
-
- #region Loading from SLN file
- /// <summary>
- /// Loads visual studio .sln solution
- /// </summary>
- /// <exception cref="System.IO.FileNotFoundException">The file specified in path was not found.</exception>
- static public Solution LoadSolution(string path)
- {
- Solution s = new Solution();
- s.path = path;
-
- String slnTxt = File.ReadAllText(path);
- //
- // Extra line feed is used by Visual studio, cmake does not generate extra line feed.
- //
- s.slnVer = Double.Parse(Regex.Match(slnTxt, "[\r\n]?Microsoft Visual Studio Solution File, Format Version ([0-9.]+)", RegexOptions.Multiline).Groups[1].Value, CultureInfo.InvariantCulture);
-
- int vsNumber = Int32.Parse(Regex.Match(slnTxt, "^\\# Visual Studio (Express )?([0-9]+)", RegexOptions.Multiline).Groups[2].Value);
- if (vsNumber > 2000)
- s.fileFormatVersion = vsNumber;
- else
- s.fileFormatVersion = vsNumber - 14 + 2015; // Visual Studio 14 => vs2015, formula might not be applicable for future vs versions.
-
- foreach (String line in new String[] { "VisualStudioVersion", "MinimumVisualStudioVersion" })
- {
- var m = Regex.Match(slnTxt, "^" + line + " = ([0-9.]+)", RegexOptions.Multiline);
- String v = null;
- if (m.Success)
- v = m.Groups[1].Value;
-
- s.GetType().GetField(line).SetValue(s, v);
- }
-
- Regex reProjects = new Regex(
- "Project\\(\"(?<ProjectHostGuid>{[A-F0-9-]+})\"\\) = \"(?<ProjectName>.*?)\", \"(?<RelativePath>.*?)\", \"(?<ProjectGuid>{[A-F0-9-]+})\"[\r\n]*(?<dependencies>.*?)EndProject[\r\n]+",
- RegexOptions.Singleline);
-
-
- reProjects.Replace(slnTxt, new MatchEvaluator(m =>
- {
- SolutionProject p = new SolutionProject ();
-
- foreach (String g in reProjects.GetGroupNames())
- {
- if (g == "0") //"0" - RegEx special kind of group
- continue;
-
- //
- // ProjectHostGuid, ProjectName, RelativePath, ProjectGuid fields/properties are set here.
- //
- String v = m.Groups[g].ToString();
- if (g != "dependencies")
- {
- FieldInfo fi = p.GetType().GetField(g);
- if (fi != null)
- {
- fi.SetValue(p, v);
- }
- else
- {
- p.GetType().GetProperty(g).SetValue(p, v);
- }
- continue;
- }
-
- if (v == "") // No dependencies set
- continue;
-
- String depsv = new Regex("ProjectSection\\(ProjectDependencies\\)[^\r\n]*?[\r\n]+" + "(.*?)" + "EndProjectSection", RegexOptions.Singleline).Match(v).Groups[1].Value;
-
- //
- // key is always equal to it's value.
- // http://stackoverflow.com/questions/5629981/question-about-visual-studio-sln-file-format
- //
- var ProjectDependencies = new Regex("\\s*?({[A-F0-9-]+}) = ({[A-F0-9-]+})[\r\n]+", RegexOptions.Multiline).Matches(depsv).Cast<Match>().Select(x => x.Groups[1].Value).ToList();
- } //foreach
- s.Projects.Add(new Project (s, p));
- return "";
- }
- )
- );
-
- new Regex("GlobalSection\\(SolutionConfigurationPlatforms\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m2 =>
- {
- s.configurations = new Regex("\\s*(.*)\\s+=").Matches(m2.Groups[1].ToString()).Cast<Match>().Select(x => x.Groups[1].Value).ToList();
- return "";
- }
- ));
-
- Console.WriteLine ("******** CONFIG ***************");
-
- new Regex("GlobalSection\\(ProjectConfigurationPlatforms\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m2 =>
- {
- foreach (Match m3 in new Regex("\\s*({[A-F0-9-]+})\\.(.*?)\\.(.*?)\\s+=\\s+(.*?)[\r\n]+").Matches(m2.Groups[1].ToString()))
- {
- String guid = m3.Groups[1].Value;
- String solutionConfig = m3.Groups[2].Value;
- String action = m3.Groups[3].Value;
- String projectConfig = m3.Groups[4].Value;
-
- Project p = s.Projects.Where(x => x.ProjectGuid == guid).FirstOrDefault();
- if (p == null)
- continue;
-
- Console.WriteLine ("{0},{1},{2},{3}",guid,solutionConfig,action,projectConfig);
-
- int iConfigIndex = s.configurations.IndexOf(solutionConfig);
- if (iConfigIndex == -1)
- continue;
-
-// while (p.slnConfigurations.Count < s.configurations.Count)
-// {
-// p.slnConfigurations.Add(null);
-// p.slnBuildProject.Add(false);
-// }
-//
-// if (action == "ActiveCfg")
-// {
-// p.slnConfigurations[iConfigIndex] = projectConfig;
-// }
-// else
-// {
-// if (action.StartsWith("Build"))
-// {
-// p.slnBuildProject[iConfigIndex] = true;
-// }
-// else
-// {
-// if (action.StartsWith("Deploy"))
-// {
-// if (p.slnDeployProject == null) p.slnDeployProject = new List<bool?>();
-//
-// while (p.slnDeployProject.Count < s.configurations.Count)
-// p.slnDeployProject.Add(null);
-//
-// p.slnDeployProject[iConfigIndex] = true;
-// }
-// }
-// } //if-esle
- }
- return "";
- }
- ));
-
- //
- // Initializes parent-child relationship.
- //
- new Regex("GlobalSection\\(NestedProjects\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m4 =>
- {
- String v = m4.Groups[1].Value;
- new Regex("\\s*?({[A-F0-9-]+}) = ({[A-F0-9-]+})[\r\n]+", RegexOptions.Multiline).Replace(v, new MatchEvaluator(m5 =>
- {
- String[] args = m5.Groups.Cast<System.Text.RegularExpressions.Group>().Skip(1).Select(x => x.Value).ToArray();
- Project child = s.Projects.Where(x => args[0] == x.ProjectGuid).FirstOrDefault();
- Project parent = s.Projects.Where(x => args[1] == x.ProjectGuid).FirstOrDefault();
- parent.dependantProjects.Add(child);
- child.ParentProject = parent;
- return "";
- }));
- return "";
- }
- ));
-
- s.UserConfig = new Configuration (s.path + ".user");
- s.ReloadStyling ();
- s.ReloadDefaultTemplates ();
- s.updateToolboxItems ();
- return s;
- } //LoadSolution
- #endregion
- }
-}
+++ /dev/null
-//
-// SolutionControler.cs
-//
-// Author:
-// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-
-namespace Crow.Coding
-{
- public class SolutionControler
- {
- public SolutionControler ()
- {
- }
- }
-}
-
+++ /dev/null
-//
-// VerticalLine.cs
-//
-// Author:
-// jp <>
-//
-// Copyright (c) 2013-2017 Jean-Philippe Bruyère
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using Crow;
-
-namespace Crow.Coding
-{
- public class VerticalLine : Widget
- {
- public VerticalLine () : base()
- {
- }
-
- protected override void onDraw (Crow.Cairo.Context gr)
- {
- base.onDraw (gr);
- Foreground.SetAsSource (gr);
- Rectangle r = ClientRectangle;
- double x = r.Center.X - 0.5;
- double y;
- gr.LineWidth = 1;
- gr.MoveTo (x, r.Y);
- gr.LineTo (x, r.Bottom-8);
-
- for (y = 8.5+r.Y; y < r.Bottom; y += 18) {
- gr.MoveTo (x, y);
- gr.LineTo (x * 2, y);
- }
-
- gr.Stroke ();
- }
- }
-}
-
+++ /dev/null
-<?xml version="1.0"?>
-<Expandable Caption="{Name}" IsExpanded="{IsExpanded}" Background="Grey" Foreground="Black">
- <Template>
- <VerticalStack>
- <HorizontalStack Spacing="1" Height="Fit" MouseDoubleClick="./onClickForExpand" Background="Grey">
- <Container Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
- MouseEnter="{Background=LightGrey}"
- MouseLeave="{Background=Transparent}">
- <Image
- Path="#Crow.Icons.expandable.svg"
- Visible="{./IsExpandable}"
- SvgSub="{./IsExpanded}"/>
- </Container>
- <Label Foreground="White" Text="{./Caption}"/>
- </HorizontalStack>
- <Container Name="Content" Visible="false"/>
- </VerticalStack>
- </Template>
- <VerticalStack Spacing="1" Height="Fit" Name="ItemsContainer"
- Margin="0" VerticalAlignment="Top"/>
-</Expandable>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<!--<Window Height="Stretched" Width="Stretched" >-->
- <VerticalStack DataSourceType="CrowIDE">
- <Menu>
- <MenuItem Caption="File" Width="Fit" PopWidth="120" DataSource="{CurrentSolution}">
- <MenuItem Command="{CMDNew}" />
- <MenuItem Command="{CMDOpen}" />
- <MenuItem Command="{cmdCloseSolution}" />
- <MenuItem DataSource="{SelectedItem}" Command="{cmdSave}" />
- <MenuItem DataSource="{SelectedItem}" Command="{cmdSaveAs}" />
- <MenuItem Command="{CMDQuit}" />
- </MenuItem>
- <MenuItem Caption="Edit" Name="edit" Width="Fit" PopWidth="100" DataSource="{CurrentSolution}">
- <MenuItem DataSource="{SelectedItem}" Command="{cmdUndo}" />
- <MenuItem DataSource="{SelectedItem}" Command="{cmdRedo}" />
- <MenuItem Command="{CMDCut}" />
- <MenuItem Command="{CMDCopy}" />
- <MenuItem Command="{CMDPaste}" />
- <MenuItem Command="{CMDOptions}"/>
- </MenuItem>
- <MenuItem Caption="View" Fit="true" PopWidth="150">
- <MenuItem Command="{CMDViewSolution}"/>
- <MenuItem Command="{CMDViewEditor}"/>
- <MenuItem Command="{CMDViewProperties}"/>
- <MenuItem Command="{CMDViewDesign}"/>
- <MenuItem Command="{CMDViewStyling}"/>
- <MenuItem Command="{CMDViewToolbox}"/>
- <MenuItem Command="{CMDViewErrors}"/>
- <MenuItem Command="{CMDViewGTExp}"/>
- <MenuItem Command="{CMDViewSchema}"/>
- </MenuItem>
- <MenuItem Caption="Project" Fit="true" PopWidth="120">
- <MenuItem Command="{CMDCompile}"/>
- <MenuItem Command="{CMDViewProjProps}"/>
- </MenuItem>
- <MenuItem Caption="Help" Width="Fit" PopWidth="60">
- <MenuItem Caption="About"/>
- <MenuItem Command="{CMDHelp}"/>
- </MenuItem>
- </Menu>
-<!-- <Label DataSource="{CurrentSolution}" Text="{SelectedItemElement}" Width="Stretched"/>-->
-<!-- <Docker >-->
- <DockStack Name="mainDock"/>
-<!-- <DockWindow DataSource="{CurrentSolution}" Name="winEditor" Caption="Edit View" Width="70%" Height="80%">
- <Template>
- <Border BorderWidth="1" Foreground="DimGrey" CornerRadius="{./CornerRadius}"
- Background="{./Background}"
- MouseEnter="./onBorderMouseEnter"
- MouseLeave="./onBorderMouseLeave">
- <Container Name="Content" MinimumSize="50,50"/>
- </Border>
- </Template>
- <EditPane SelectedItem="{²SelectedItem}" SelectedItemElement="{²SelectedItemElement}" Data="{OpenedItems}" DataTest="Extension"
- ItemTemplate="#Crow.Coding.ui.EditPaneItems.template"/>
- </DockWindow>-->
-<!-- </Docker>-->
- </VerticalStack>
-<!--</Window>-->
+++ /dev/null
-<?xml version="1.0"?>
-<Expandable IsExpanded="{²IsExpanded}" MouseDoubleClick="/onClickForExpand">
- <Template>
- <VerticalStack>
- <Border CornerRadius="2" Margin="0" Height="Fit"
- Foreground="Transparent"
- MouseEnter="{Foreground=DimGrey}"
- MouseLeave="{Foreground=Transparent}">
- <HorizontalStack Spacing="1">
- <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
- Path="{./Image}"
- Visible="{./IsExpandable}"
- SvgSub="{./IsExpanded}"
- MouseEnter="{Background=LightGrey}"
- MouseLeave="{Background=Transparent}"/>
- <Border Width="16" Height="16" Foreground="Black" Background="DimGrey">
- <Image Margin="2" Path="{GetIcon}" />
- </Border>
- <Label Text="{DesignName}"/>
- </HorizontalStack>
- </Border>
- <Container Name="Content" Visible="false"/>
- </VerticalStack>
- </Template>
- <HorizontalStack Height="Fit">
- <Widget Width="8" Height="10"/>
- <VerticalStack Height="Fit" Name="ItemsContainer"/>
- </HorizontalStack>
-</Expandable>
+++ /dev/null
-<?xml version="1.0"?>
-<Border BorderWidth="1" Foreground="Black" CornerRadius="10"
- Background="Grey"
- MouseEnter="./onBorderMouseEnter"
- MouseLeave="./onBorderMouseLeave">
- <VerticalStack Spacing="0">
- <HorizontalStack Background="MediumSeaGreen" Margin="0" Spacing="0" Height="Fit" Width="Stretched">
- <Label Width="Stretched" Margin="0" TextAlignment="Center" Text="{./Caption}" />
- </HorizontalStack>
- <Widget Background="Black" Height="1"/>
- <Container Margin="5" Name="Content" Width="Fit"/>
- </VerticalStack>
-</Border>
+++ /dev/null
-<?xml version="1.0"?>
-<Border Background="{./Background}" Name="Content"
- Foreground="Transparent" CornerRadius="{./CornerRadius}" BorderWidth="1"
- MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
- MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}">
- <Image Path="{./Caption}" Margin="2" Width="20" Height="20" />
-</Border>
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow DataSource="{CurrentSolution}" Name="winDesign" Caption="Design" Width="200" Height="50%">
- <VerticalStack DataSource="{SelectedItemElement}">
- <ColorPicker SelectedColor="{²Background}"/>
- <Group Fit="true">
- <Border Foreground="Black" Left="25" Top="12" Width="34" Height="21" Background="{Background}"/>
- <Border Foreground="Black" Left="1" Top="1" Width="34" Height="21" Background="{Foreground}"/>
- </Group>
- </VerticalStack>
-</DockWindow>
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow Name="winEditor" Caption="Edit View">
- <EditPane DataSource="{CurrentSolution}"
- SelectedItemElement="{²SelectedItemElement}" Data="{OpenedItems}" DataTest="Extension"
- ItemTemplate="#Crow.Coding.EditPaneItems.template"/>
-</DockWindow>
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow DataSource="{CurrentSolution}" Name="winErrors" Caption="Errors" Width="20%">
- <ListBox Width="Stretched" Data="{CompilerErrors}">
- <ItemTemplate>
- <HorizontalStack Height="Fit" Margin="0" Focusable="true" Spacing="10"
- MouseEnter="{Background=SteelBlue}"
- MouseLeave="{Background=Transparent}">
- <Image Width="10" Height="10" Path="#Crow.Icons.compiler_error.svg" SvgSub="{IsWarning}"/>
- <Label Text="{Line}" Width="25" TextAlignment="Right"/>
- <Label Text="{ErrorText}" Width="60%"/>
- <Label Text="{FileName}" Width="Fit"/>
- </HorizontalStack>
- </ItemTemplate>
- </ListBox>
-</DockWindow>
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow Name="winGTExplorer" Caption="Edit View" Width="40%" Height="80%">
- <VerticalStack Name="vstack" DataSource="{CurrentSolution}">
- <Button Caption="Expand All" MouseClick="../treeView.onExpandAll_MouseClick"/>
- <TreeView DataSource="{SelectedItem}" IsRoot="true" Name="treeView" Data="{GraphicTree}"
- SelectedItemChanged="../../vstack.DataSource.GTView_SelectedItemChanged">
- <ItemTemplate>
- <Border Width="Stretched" Focusable="true" Foreground="Transparent">
- <HorizontalStack Spacing="5">
- <Widget Width="5" Height="5"/>
- <Border Width="16" Height="16" Foreground="Black" Background="DimGrey">
- <Image Margin="2" Path="{GetIcon}" />
- </Border>
- <Label Text="{DesignName}" Width="Stretched"/>
- </HorizontalStack>
- </Border>
- </ItemTemplate>
- <ItemTemplate DataType="Crow.Group" Data="GetChildren"
- Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
- <ItemTemplate DataType="Crow.Container" Data="GetChildren"
- Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
- <ItemTemplate DataType="Crow.TemplatedContainer" Data="GetChildren"
- Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
- <ItemTemplate DataType="Crow.TemplatedGroup" Data="GetChildren"
- Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
- </TreeView>
- </VerticalStack>
-</DockWindow>
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow Name="winProperties" Caption="Properties" Width="20%">
- <MembersView DataSource="{CurrentSolution}" ProjectNode="{SelectedItem}"
- Instance="{SelectedItemElement}" DataTest="Type"
- ItemTemplate="#Crow.Coding.MembersItem.template"/>
-</DockWindow>
-
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow DataSource="{CurrentSolution}" Name="winSchema" Caption="IML Schematic View" Height="60%" Width="80%">
- <ImlSchematicEditor DataSource="{SelectedItem}" Data="{GraphicTree}">
- <Template>
- <Group Name="ItemsContainer"/>
- </Template>
- <ItemTemplate DataType="Crow.Widget">
- <Window Style="WinSchema" Caption="{Name}">
- <Label Text="test"/>
- </Window>
- </ItemTemplate>
- <ItemTemplate DataType="Crow.Container" >
- <Window Style="WinSchema" Caption="{Name}">
- <Label Text="test"/>
- </Window>
- </ItemTemplate>
- </ImlSchematicEditor>
-</DockWindow>
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow Name="winSolution" Caption="Solution" Width="20%">
- <TreeView Name="treeview" IsRoot="true" DataSource="{CurrentSolution}"
- Data="{Projects}" SelectedItemChanged="onSelectedItemChanged"
- ItemTemplate="#Crow.Coding.ProjectTree.template"/>
-</DockWindow>
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow DataSource="{CurrentSolution}" Name="winStyle" Caption="Styling" Width="20%">
- <TreeView Data="{StylingContainers}">
- <Template>
- <VerticalStack Name="ItemsContainer" Spacing="1"/>
- </Template>
- <ItemTemplate DataType="Crow.Coding.StyleItemContainer">
- <HorizontalStack Height="Fit" Spacing="1">
- <Label Background="White" Foreground="Jet" Text="{Name}" Width="40%"/>
- <Label Background="White" Foreground="Jet" Text="{Value}" Width="Stretched"/>
- </HorizontalStack>
- </ItemTemplate>
- <ItemTemplate Path="#Crow.Coding.ui.CategoryExp.template" DataType="Crow.Coding.StyleContainer" Data="Items"/>
- </TreeView>
-</DockWindow>
-
+++ /dev/null
-<?xml version="1.0"?>
-<DockWindow DataSource="{CurrentSolution}" Name="winToolbox" Caption="Toolbox" Width="60">
- <ListBox Margin="3" Data="{ToolboxItems}" SelectionBackground="SkyBlue">
- <Template>
- <Wrapper Name="ItemsContainer" Orientation="Vertical" Spacing="0"/>
- </Template>
- <ItemTemplate>
- <Container Fit="true" Focusable="true" Tooltip="{DisplayName}" Margin="2" AllowDrag="true"
- StartDrag="onStartDrag" EndDrag="onEndDrag" Drop="onDrop">
- <Border Foreground="Black" Background="DimGrey" Margin="0" BorderWidth="1"
- MouseEnter="{Foreground=White}"
- MouseLeave="{Foreground=Black}">
- <Image Path="{IconPath}" Margin="3" Width="20" Height="20" />
- </Border>
- </Container>
- </ItemTemplate>
- </ListBox>
-</DockWindow>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<Border Background="{./Background}" Name="Content"
- BorderWidth="1" BorderStyle="Normal"
- MouseDown="{BorderStyle=Sunken}"
- MouseUp="{BorderStyle=Normal}">
- <Image Margin="1" Path="#icons.blank-file" />
-</Border>
+++ /dev/null
-<?xml version="1.0"?>
-<HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}" DataSourceType="PropertyContainer">
- <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
- <ComboBox Margin="0" Height="Stretched" Width="50%" Data="{Choices}"
- SelectedItem="{²Value}">
- <Template>
- <Popper Name="popper" PopDirection="Bottom">
- <Template>
- <CheckBox Caption="{./Caption}" IsChecked="{²./IsPopped}" Foreground="{./Foreground}" Background="{./Background}">
- <Template>
- <Border CornerRadius="0" Foreground="LightGrey" Background="White">
- <HorizontalStack Margin="0" Spacing="1">
- <Label Width="Stretched" MinimumSize="80,10" Margin="1" Foreground = "{LabForeground}" Background="White"
- Text="{../../../../../SelectedItem}"/>
- <Button Width="12" Height="12" Focusable="false"
- Template="#Crow.ArrowBut.template">
- <Image Margin="1" Path="#Crow.Icons.updown.svg" SvgSub="down"/>
- </Button>
- </HorizontalStack>
- </Border>
- </Template>
- </CheckBox>
- </Template>
- <Border Background="White" BorderWidth="1" Margin="1" Foreground="Black"
- MinimumSize="{../../MinimumPopupSize}" Fit="true">
- <Scroller Name="scroller1" Margin="2"
- MaximumSize="0,200"
- HorizontalAlignment="Left">
- <VerticalStack LayoutChanged="../../../../_list_LayoutChanged"
- MouseClick="../../../onMouseClick" Focusable="True"
- Height="Fit" Name="ItemsContainer" Margin="0"
- HorizontalAlignment="Left"
- VerticalAlignment="Top"/>
- </Scroller>
- </Border>
- </Popper>
- </Template>
- <ItemTemplate>
- <Container Fit="true" Margin="0" Focusable="true"
- HorizontalAlignment="Left"
- MouseEnter="{Background=SteelBlue}"
- MouseLeave="{Background=Transparent}">
- <Label Text="{}" Foreground="Black"/>
- </Container>
- </ItemTemplate>
- </ComboBox>
-</HorizontalStack>
+++ /dev/null
-<?xml version="1.0"?>
-<HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}">
- <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
- <Popper Height="Stretched" Caption="{Value}">
- <Template>
- <CheckBox Caption="{./Caption}" IsChecked="{²./IsPopped}">
- <Template>
- <HorizontalStack Margin="1" Height="Stretched" Spacing="3" Background="White">
- <Border Foreground="{LabForeground}" Width="18" Height="12" CornerRadius="3"
- Background="{Value}">
- </Border>
- <Label Width="Stretched" Text="{./Caption}" Foreground="{LabForeground}"/>
- </HorizontalStack>
- </Template>
- </CheckBox>
- </Template>
- <ColorPicker SelectedColor="{²Value}" Background="DimGrey" Margin="5" Fit="True" />
- </Popper>
-</HorizontalStack>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<Window Width="50%" Height="50%" Background="DimGrey">
- <TreeView IsRoot="true" Name="treeView" Data="{LQIs}">
- <ItemTemplate DataType="Crow.LayoutingQueueItem" Data="triggeredLQIs">
- <Expandable>
- <Template>
- <VerticalStack Height="{./HeightPolicy}" Width="{./WidthPolicy}">
- <VerticalStack Fit="true" Margin="3" Background="DimGrey"
- HorizontalAlignment="Left"
- MouseEnter="{Background=hgradient|0:RoyalBlue|1:Transparent}"
- MouseLeave="{Background=DimGrey}">
- <Label Text="{FullName}" Font="droid, 8" Background="LightGrey" Foreground="Black"/>
- <HorizontalStack Fit="true" Spacing="10">
- <Label Text="{LayoutingTries}" Foreground="SkyBlue"/>
- <Label Text="{DiscardCount}" Foreground="Red"/>
- <Label Text="{Name}" Font="droid bold"/>
- <Label Text="{LayoutType}" Foreground="Maize"/>
- <Label Text="{Width}"/>
- <Label Text="{Height}"/>
- </HorizontalStack>
-
- <HorizontalStack Fit="true">
- <Label Text="{Slot}"/>
- <Label Text=" => "/>
- <Label Text="{NewSlot}"/>
- </HorizontalStack>
- <Widget Background="SeaGreen" Height="3" Visible="{HasTriggeredLQIs}"/>
- </VerticalStack>
- <Container Name="Content" Visible="false" HorizontalAlignment="Left"
- Fit="true"/>
- </VerticalStack>
- </Template>
- <HorizontalStack Height="Fit" Width="Fit">
- <Widget Width="20" Height="10"/>
- <TreeView Name="List" Height="Fit" Width="Fit"
- Template="#Crow.Templates.treeList.crow" />
- </HorizontalStack>
- </Expandable>
- </ItemTemplate>
- <ItemTemplate DataType="Crow.LQIList" Data="GetRootLQIs">
- <Expandable Caption="{}" >
- <Template>
- <VerticalStack Height="{./HeightPolicy}" Width="{./WidthPolicy}">
- <HorizontalStack Spacing="1" Height="Fit" Width="{./WidthPolicy}"
- MouseEnter="{Background=hgradient|0:RoyalBlue|1:Transparent}"
- MouseLeave="{Background=Transparent}">
- <Image Margin="2" Width="12" Height="12"
-
- Path="{./Image}"
- SvgSub="{./IsExpanded}"/>
- <Label Text="{./Caption}" Width="{./WidthPolicy}"/>
- </HorizontalStack>
- <Container Name="Content" Visible="false"
- Height="{./HeightPolicy}" Width="{./WidthPolicy}"/>
- </VerticalStack>
- </Template>
- <HorizontalStack Height="Fit" Width="{./WidthPolicy}">
- <Widget Width="12" Height="10"/>
- <TreeView Name="List" Height="Fit" Width="{./WidthPolicy}"
- Template="#Crow.Templates.treeList.crow" />
- </HorizontalStack>
- </Expandable>
- </ItemTemplate>
- </TreeView>
-</Window>
+++ /dev/null
-<?xml version="1.0"?>
-<Window Caption="Properties" Width="30%" Height="60%" AlwaysOnTop="true">
- <MembersView Instance="{SelectedItem}" DataTest="Type"
- ItemTemplate="#Crow.Coding.ui.MembersItem.template"/>
-</Window>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<ItemTemplate>
- <HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}" DataSourceType="PropertyContainer">
- <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
- <TextBox Margin="1" Text="{²Value}" Height="Fit" Foreground = "{LabForeground}"/>
- </HorizontalStack>
-</ItemTemplate>
-<ItemTemplate Path="#Crow.Coding.CategoryExp.template" DataType="Crow.Coding.CategoryContainer"
- Data="Properties" DataTest="Type"/>
-<ItemTemplate DataType="System.Boolean" >
- <HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}">
- <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}" />
- <CheckBox Background="White" Foreground = "{LabForeground}" Height="Stretched" Caption="" IsChecked="{²Value}"/>
- </HorizontalStack>
-</ItemTemplate>
-<ItemTemplate Path="#Crow.Coding.Enum.template" DataType="System.Enum" />
-<ItemTemplate Path="#Crow.Coding.Enum.template" DataType="Style" />
-<!--<ItemTemplate Path="#Crow.Coding.ui.ItemTemplates.Fill.template" DataType="Crow.Fill"/>-->
-
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<VerticalStack>
- <Border Height="Fit">
- <Label TextAlignment="Left" Text="{./SelectedItemName}" Width="Stretched"/>
- </Border>
- <HorizontalStack>
- <Scroller Name="scroller1" Margin="1"
- Background="{./Background}">
- <VerticalStack Spacing="1"
- Height="Fit" Name="ItemsContainer" Margin="0" VerticalAlignment="Top"/>
- </Scroller>
- <ScrollBar
- Name="scrollbar1" Orientation="Vertical"
- LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
- CursorSize="{../scroller1.ChildHeightRatio}"
- Value="{²../scroller1.ScrollY}"
- Maximum="{../scroller1.MaxScrollY}"/>
- </HorizontalStack>
-</VerticalStack>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<Window Caption="Add New File..." Height="60%" Width="70%">
- <Label/>
-</Window>
-
+++ /dev/null
-<?xml version="1.0"?>
-<Window Caption="Crow IDE Options" Width="80%" Height="70%" Background="DimGrey" Modal="true">
- <TabView>
- <TabItem Caption="IML Visual Editor">
- <VerticalStack Margin="10">
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- </VerticalStack>
- </TabItem>
- <TabItem Caption="Text Editor">
- <VerticalStack Margin="10">
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
- </VerticalStack>
- </TabItem>
-
- </TabView>
-</Window>
+++ /dev/null
-<?xml version="1.0"?>
-<Window Caption="Project Properties" Width="60%" Height="70%" Modal="true">
- <HorizontalStack>
- <VerticalStack Height="Fit" Width="50%">
- <HorizontalStack>
- <Label Text="Tools Version" Width="30%"/>
- <Label Text="{ToolsVersion}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Default Targets" Width="30%"/>
- <Label Text="{DefaultTargets}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Project Guid" Width="30%"/>
- <Label Text="{ProjectGuid}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Output Type" Width="30%"/>
- <Label Text="{OutputType}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Root Namespace" Width="30%"/>
- <Label Text="{RootNamespace}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Assembly Name" Width="30%"/>
- <Label Text="{AssemblyName}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Allow Unsafe Blocks" Width="30%"/>
- <CheckBox IsChecked="{AllowUnsafeBlocks}" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="No Std Lib" Width="30%"/>
- <CheckBox IsChecked="{NoStdLib}" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Treat Warnings As Errors" Width="30%"/>
- <CheckBox IsChecked="{TreatWarningsAsErrors}" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Sign Assembly" Width="30%"/>
- <CheckBox IsChecked="{SignAssembly}" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Target Framework" Width="30%"/>
- <Label Text="{TargetFrameworkVersion}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Description" Width="30%"/>
- <Label Text="{Description}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Output Path" Width="30%"/>
- <Label Text="{OutputPath}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Intermediate Output Path" Width="30%"/>
- <Label Text="{IntermediateOutputPath}" IsEnabled="false" Width="70%"/>
- </HorizontalStack>
- </VerticalStack>
- <TreeView Width="50%" IsRoot="true" Name="treeView" Data="{RootItems}" DataTest="Type"
- ItemTemplate="#Crow.Coding.ui.ProjectTree.template">
- </TreeView>
- </HorizontalStack>
-</Window>
+++ /dev/null
-<?xml version="1.0"?>
-<ItemTemplate>
- <Border DataSourceType="ProjectItem" Style="TreeItemBorder" ContextCommands="{Commands}" Focusable="true" MouseDown="onClick" MouseDoubleClick="onDoubleClick">
- <Group>
- <Widget Height="Stretched" Background="RoyalBlue" Visible="{IsSelected}"/>
- <HorizontalStack>
- <Widget Width="5" Height="5"/>
- <Image Style="TreeIcon" Picture="{Icon}"/>
- <Label Text="{DisplayName}" Width="Stretched"/>
- </HorizontalStack>
- </Group>
- </Border>
-</ItemTemplate>
-<ItemTemplate DataType="Crow.Coding.Project" Data="RootItems" DataTest="Type">
- <Expandable DataSourceType="Project" Caption="{Name}" ContextCommands="{Commands}" IsExpanded="{²IsExpanded}" MouseDoubleClick="/onClickForExpand">
- <Template>
- <VerticalStack>
- <Border Style="TreeItemBorder" >
- <HorizontalStack Spacing="1">
- <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
- Path="{./Image}"
- Visible="{./IsExpandable}"
- SvgSub="{./IsExpanded}"
- MouseEnter="{Background=LightGrey}"
- MouseLeave="{Background=Transparent}"/>
- <Image Style="TreeIcon"
- Path="#Crow.Icons.crowproj.svg"/>
- <Widget Width="4" Height="9" Background="Green" Visible="{IsStartupProject}"/>
- <Label Text="{./Caption}"/>
- </HorizontalStack>
- </Border>
- <Container Name="Content" Visible="false"/>
- </VerticalStack>
- </Template>
- <HorizontalStack Height="Fit">
- <Widget Width="8" Height="10"/>
- <VerticalStack Height="Fit" Name="ItemsContainer"/>
- </HorizontalStack>
- </Expandable>
-</ItemTemplate>
-<ItemTemplate DataSourceType="ProjectNode" DataType="ReferenceGroup" Data="ChildNodes" DataTest="Type" >
- <Expandable Caption="{DisplayName}" Template="#Crow.Coding.TreeExpandable.template" IsExpanded="{²IsExpanded}">
- <HorizontalStack Height="Fit">
- <Widget Width="8" Height="10"/>
- <VerticalStack Height="Fit" Name="ItemsContainer"/>
- </HorizontalStack>
- </Expandable>
-</ItemTemplate>
-<ItemTemplate DataType="VirtualGroup" Data="ChildNodes" DataTest="Type">
- <Expandable DataSourceType="ProjectNode" Caption="{DisplayName}" Template="#Crow.Coding.TreeExpandable.template" IsExpanded="{²IsExpanded}">
- <HorizontalStack Height="Fit">
- <Widget Width="8" Height="10"/>
- <VerticalStack Height="Fit" Name="ItemsContainer"/>
- </HorizontalStack>
- </Expandable>
-</ItemTemplate>
-<ItemTemplate DataType="Folder" DataTest="Type">
- <Border DataSourceType="ProjectNode" Style="TreeItemBorder" ContextCommands="{Commands}">
- <HorizontalStack>
- <Image Style="ProjTreeIcon"
- Path="#Crow.Icons.folder.svg"/>
- <Label Text="{DisplayName}" Width="Stretched"/>
- </HorizontalStack>
- </Border>
-</ItemTemplate>
+++ /dev/null
-<?xml version="1.0"?>
-<VerticalStack>
- <Border Style="TreeItemBorder" >
- <HorizontalStack Spacing="5" Focusable="true" MouseDoubleClick="./onClickForExpand">
- <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
- Path="{./Image}"
- Visible="{./IsExpandable}"
- SvgSub="{./IsExpanded}"
- MouseEnter="{Background=LightGrey}"
- MouseLeave="{Background=Transparent}"/>
- <Image Style="TreeIcon"
- Path="#Crow.Icons.folder.svg" SvgSub="{./IsExpanded}"/>
- <Label Text="{./Caption}"/>
- </HorizontalStack>
- </Border>
- <Container Name="Content" Visible="false"/>
-</VerticalStack>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<TabView SelectedTab="{²./SelectedIndex}" Name="ItemsContainer" Orientation="Horizontal"/>
+++ /dev/null
-<?xml version="1.0"?>
-<ItemTemplate>
- <TabItem Caption="{DisplayName}" QueryClose="OnQueryClose">
- <Label Text="Error" Background="Red"/>
- </TabItem>
-</ItemTemplate>
-<ItemTemplate Path="#CrowIDE.ui.editors.SvgEdit.itemp" DataType=".svg"/>
-<ItemTemplate Path="#CrowIDE.ui.editors.SrcEdit.itemp" DataType=".cs"/>
-<ItemTemplate Path="#CrowIDE.ui.editors.SrcEdit.itemp" DataType=".style"/>
-<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".crow"/>
-<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".itemp"/>
-<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".template"/>
-<ItemTemplate DataType=".goml">
- <TabItem Caption="{DisplayName}" QueryClose="OnQueryClose">
- <IMLContainer Path="#CrowIDE.ui.editors.TextEditor.crow"/>
- </TabItem>
-</ItemTemplate>
-
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<GenericStack Orientation="Vertical" Spacing="0" DataSourceType="ProjectFile"
- MouseEnter="{caption.Font=hack bold, 10}"
- MouseLeave="{caption.Font=hack, 10}">
- <HorizontalStack Margin="2" Left="{./TabOffset}"
- Name="TabTitle"
- HorizontalAlignment="Left"
- Height="{./TabHeight}"
- Width="{./TabWidth}">
- <Widget Width="5" Height="5" Background="Blue" Visible="{IsDirty}"/>
- <Label Name="caption" Text="{DisplayName}" Foreground="Black" Width="Stretched"/>
- <Border CornerRadius="5" BorderWidth="1" Foreground="Transparent" Height="12" Width="12"
- MouseEnter="{Foreground=Black}" MouseLeave="{Foreground=Transparent}">
- <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched" Path="#Crow.Icons.exit2.svg"
- MouseClick="./butCloseTabClick"/>
- </Border>
- </HorizontalStack>
- <Container Name="Content"/>
-</GenericStack>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<TabItem DataSourceType="ImlProjectItem" QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
- <VerticalStack>
- <VerticalStack Height="60%">
- <Label DataSource="{../editor.HoverWidget}" Width="Stretched" Margin="2" Text="{Name}"/>
- <VerticalStack Width="Stretched" Margin="0" MinimumSize="10,10">
- <HorizontalStack>
- <Scroller Name="scroller1" Margin="2" >
- <ImlVisualEditor Foreground="SkyBlue" Name="editor" Background="Grey"
- VerticalAlignment="Top" HorizontalAlignment="Left" Margin="4"
- ContextCommands="{/Commands}"
- AllowDrop="true" AllowDrag="true" Focusable="true"
- UpdateEnabled="{IsSelected}"
- ProjectNode="{}" SelectedItem="{²SelectedItem}"/>
- </Scroller>
- <ScrollBar Name="scrollbar1" Orientation="Vertical"
- Value="{²../scroller1.ScrollY}" Maximum="{../scroller1.MaxScrollY}"
- CursorSize="{../scroller1.ChildHeightRatio}"
- LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
- />
- </HorizontalStack>
- <ScrollBar Style="HScrollBar" Name="scrollbarX" Orientation="Horizontal"
- Value="{²../scroller1.ScrollX}" Maximum="{../scroller1.MaxScrollX}"
- CursorSize="{../scroller1.ChildWidthRatio}"
- LargeIncrement="{../scroller1.PageWidth}" SmallIncrement="30"/>
- </VerticalStack>
- <HorizontalStack Height="Fit" Margin="2" Spacing="5" Background="vgradient|0:0.8,0.8,0.8,1|1:Grey">
- <HorizontalStack Width="Fit" Spacing="1">
- <Label Text="Design Size:"/>
- <TextBox Text="{²../../../editor.DesignWidth}" Width="40" TextAlignment="Right"/>
- <Label Text="X"/>
- <TextBox Text="{²../../../editor.DesignHeight}" Width="40" TextAlignment="Right"/>
- </HorizontalStack>
- <HorizontalStack Width="Fit" Spacing="1">
- <Label Text="Zoom:"/>
- <Slider Value="{²../../../editor.Zoom}" Width="100" Height="10" Minimum="10" Maximum="200" SmallIncrement="10" LargeIncrement="50"/>
- <Label Text="{../../../editor.Zoom}"/>
- </HorizontalStack>
- <HorizontalStack Width="Fit" Spacing="1">
- <Label Text="Grid Spacing:"/>
- <Slider Value="{²../../../editor.GridSpacing}" Width="100" Height="10" Minimum="5" Maximum="100" SmallIncrement="5" LargeIncrement="20"/>
- <TextBox Text="{../../../editor.GridSpacing}"/>
- </HorizontalStack>
- </HorizontalStack>
- </VerticalStack>
- <Splitter/>
- <IMLContainer Path="#CrowIDE.ui.editors.SourceEditor.crow"/>
- <Splitter Visible="{../editor.HasError}"/>
- <Label DataSource="{../editor.Error}" Text="{}"
- Visible="{../editor.HasError}"
- Height="Fit" Width="Stretched" Background="DarkRed" Foreground="White"
- TextAlignment="TopLeft" Multiline="true"/>
- </VerticalStack>
-</TabItem>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<VerticalStack>
- <HorizontalStack >
- <SourceEditor Focusable="true" Name="editor" Font="monospace, 12" VerticalAlignment="Top" Margin="2"
- CurrentLine="{²CurrentLine}" CurrentColumn="{²CurrentColumn}" HasFocus="{IsSelected}"
- Foreground="Jet" Background="White" Width="Stretched" Height="Stretched"
- ProjectNode="{}" KeyDown="textView_KeyDown"/>
- <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
- LargeIncrement="{../editor.VisibleLines}"
- CursorSize="{../editor.ChildHeightRatio}"
- Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
- </HorizontalStack>
- <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
- Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
- LargeIncrement="{../editor.VisibleColumns}"
- CursorSize="{../editor.ChildWidthRatio}"/>
- <HorizontalStack Height="Fit">
- <Label Text="{../../editor.HoverError}" Width="Stretched"/>
- <Widget Background="Red" Width="5" Height="5" Visible="{IsDirty}"/>
- <Label Text="Hover Line:" Foreground="Grey"/>
- <Label Text="{../../editor.HoverLine}"/>
- <Widget Height="5" Width="10"/>
- <Label Text="Line:" Foreground="Grey"/>
- <Label Text="{CurrentLine}"/>
- <Widget Height="5" Width="10"/>
- <Label Text="column:" Foreground="Grey"/>
- <Label Text="{CurrentColumn}"/>
- <Widget Height="5" Width="10"/>
- <Label Text="ScrollX:" Foreground="Grey"/>
- <Label Text="{../../editor.ScrollX}"/>
- </HorizontalStack>
-</VerticalStack>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<TabItem QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
- <IMLContainer Path="#CrowIDE.ui.editors.SourceEditor.crow"/>
-</TabItem>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<TabItem QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
- <VerticalStack>
- <VerticalStack Height="50%">
- <HorizontalStack >
- <SvgEditor Margin="10" ProjectNode="{}" Focusable="true" Name="editor" MouseWheelSpeed="20" Foreground="Black"/>
- <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
- LargeIncrement="10"
- CursorSize="{../editor.ChildHeightRatio}"
- Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
- </HorizontalStack>
- <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
- Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
- LargeIncrement="10"
- CursorSize="{../editor.ChildWidthRatio}"/>
- <HorizontalStack Height="Fit" Margin="3">
- <Label Text="Zoom:"/>
- <Label Text="{../../editor.Zoom}" Fit="true"/>
- <!--<Spinner Name="sldZoom" Value="{²../../editor.Zoom}" Maximum="800" Minimum="1" SmallIncrement="10" LargeIncrement="50" Width="40" />-->
- <Slider Value="{²../../editor.Zoom}" CursorSize="2" Height="8" Maximum="800" Minimum="1" SmallIncrement="1" LargeIncrement="10" Width="100" />
- </HorizontalStack>
- </VerticalStack>
- <Splitter/>
- <IMLContainer Path="#Crow.Coding.ui.editors.SourceEditor.crow"/>
- <Label DataSource="{../editor.Error}" Text="{Message}"
- Visible="{../editor.HasError}"
- Height="Fit" Width="Stretched" Background="DarkRed" Foreground="White"
- TextAlignment="TopLeft" Multiline="true"/>
- </VerticalStack>
-</TabItem>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<VerticalStack>
- <HorizontalStack >
- <TextEditor Focusable="true" Name="editor" Font="monospace, 12" VerticalAlignment="Top" Margin="1"
- CurrentLine="{²CurrentLine}" CurrentColumn="{²CurrentColumn}"
- Foreground="DimGrey" Background="White" Width="Stretched" Height="Stretched"
- ProjectNode="{}" KeyDown="textView_KeyDown"/>
- <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
- LargeIncrement="{../editor.VisibleLines}"
- CursorSize="{../editor.ChildHeightRatio}"
- Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
- </HorizontalStack>
- <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
- Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
- LargeIncrement="{../editor.VisibleColumns}"
- CursorSize="{../editor.ChildWidthRatio}"/>
- <HorizontalStack Height="Fit">
- <Widget Height="5" Width="Stretched"/>
- <Widget Background="Red" Width="5" Height="5" Visible="{IsDirty}"/>
- <Label Text="Line:" Foreground="Grey"/>
- <Label Text="{CurrentLine}"/>
- <Widget Height="5" Width="10"/>
- <Label Text="column:" Foreground="Grey"/>
- <Label Text="{CurrentColumn}"/>
- <Widget Height="5" Width="10"/>
- <Label Text="ScrollX:" Foreground="Grey"/>
- <Label Text="{../../editor.ScrollX}"/>
- </HorizontalStack>
-</VerticalStack>
+++ /dev/null
-<Container Margin="20" Background="DimGrey">
- <ImlVisualEditor Width="80%" Height="80%" Margin="0" MinimumSize="10,10" Foreground="SkyBlue"
- Name="crowContainer" Background="DimGrey"/>
-</Container>
--- /dev/null
+<Project Sdk="Microsoft.NET.Sdk">
+ <Import Project="$(SolutionDir)netfx.props" />
+ <PropertyGroup>
+ <TargetFrameworks>net472</TargetFrameworks>
+ <TargetFramework>net472</TargetFramework>
+ <OutputType>Exe</OutputType>
+ <StartupObject>Crow.Coding.CrowIDE</StartupObject>
+ <OutputPath>$(SolutionDir)build\$(Configuration)\</OutputPath>
+ <IntermediateOutputPath>$(SolutionDir)build\obj\$(Configuration)</IntermediateOutputPath>
+ <EnableDefaultItems>false</EnableDefaultItems>
+ <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
+ <ReleaseVersion>0.8.0</ReleaseVersion>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugType>full</DebugType>
+ <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
+ </PropertyGroup>
+
+ <ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
+ <Reference Include="System" />
+ <PackageReference Include="CVKL" Version="0.1.3.2-beta" />
+ <ProjectReference Include="..\..\Crow\Crow.csproj" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <Compile Include="..\common\CrowWin.cs" />
+ <Compile Include="src\**\*.cs" Exclude="src\ProjectTree\CSProjectFile.cs" />
+ <EmbeddedResource Remove="icons\blank-file2.svg" />
+ <EmbeddedResource Include="icons\*.*">
+ <LogicalName>icons.%(Filename)%(Extension)</LogicalName>
+ </EmbeddedResource>
+ <EmbeddedResource Include="ui\**\*.crow" />
+ <EmbeddedResource Include="ui\**\*.itemp" />
+ <EmbeddedResource Include="ui\**\*.template">
+ <LogicalName>Crow.Coding.%(Filename).template</LogicalName>
+ </EmbeddedResource>
+ <EmbeddedResource Include="DefaultTemplateOverrides\*.*">
+ <LogicalName>Crow.%(Filename).template</LogicalName>
+ </EmbeddedResource>
+ <EmbeddedResource Include="IDE.style" />
+ </ItemGroup>
+ <ItemGroup Condition="$(TargetFramework.StartsWith('netstandard'))">
+ <PackageReference Include="System.CodeDom" Version="4.5.0" />
+ </ItemGroup>
+</Project>
--- /dev/null
+<Properties StartupConfiguration="{B6D911CD-1D09-42FC-B300-9187190F2AE1}|Default">
+ <MonoDevelop.Ide.Workbench />
+ <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
+ <MonoDevelop.Ide.DebuggingService.Breakpoints>
+ <BreakpointStore />
+ </MonoDevelop.Ide.DebuggingService.Breakpoints>
+ <MonoDevelop.Ide.DebuggingService.PinnedWatches>
+ <Watch file="../src/GraphicObjects/Shape.cs" line="42" offsetX="508" offsetY="265" expression="c" liveUpdate="False" />
+ <Watch file="../src/GraphicObjects/Shape.cs" line="48" offsetX="524" offsetY="319" expression="tmp" liveUpdate="False" />
+ <Watch file="../src/GraphicObjects/Slider.cs" line="88" offsetX="534" offsetY="788" expression="value" liveUpdate="False" />
+ <Watch file="src/SourceEditor/SourceEditor.cs" line="632" offsetX="703" offsetY="8806" expression="cl.Tokens [t]" liveUpdate="False" />
+ <Watch file="src/SourceEditor/CSharpParser.cs" line="202" offsetX="590" offsetY="1493" expression="currentTok" liveUpdate="False" />
+ <Watch file="src/SourceEditor/Parser.cs" line="258" offsetX="328" offsetY="3348" expression="tmp" liveUpdate="False" />
+ <Watch file="src/SourceEditor/SourceEditor.cs" line="629" offsetX="835" offsetY="9513" expression="lineIndex" liveUpdate="False" />
+ <Watch file="src/SourceEditor/BufferParser.cs" line="90" offsetX="544" offsetY="972" expression="SyntacticTreeMaxDepth" liveUpdate="False" />
+ </MonoDevelop.Ide.DebuggingService.PinnedWatches>
+ <MultiItemStartupConfigurations />
+ <MonoDevelop.Ide.ItemProperties.CrowIDE PreferredExecutionTarget="MonoDevelop.Default" />
+</Properties>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<MenuItem MinimumSize="20,20" Height="Fit" Width="160" Caption="Context Menu" Data="{ContextCommands}" Orientation="Vertical"
+ IsOpened ="true" Visible="{/IsOpened}" SelectionBackground="Transparent">
+ <Template>
+ <Border Background="DimGrey" Foreground="Black" CornerRadius="2">
+ <GenericStack Orientation="{./Orientation}" Name="ItemsContainer" Margin="2"/>
+ </Border>
+ </Template>
+ <ItemTemplate>
+ <MenuItem Command="{}" Width="150" PopWidth="120" SelectionBackground="Transparent" IsEnabled="{CanExecute}">
+ <Template>
+ <Popper Font="{./Font}" Caption="{./Caption}" Background="{./Background}" PopDirection="{./PopDirection}"
+ Foreground = "{./Foreground}" CanPop="{./HasChildren}" MouseDown="./onMI_Click"
+ IsPopped="{²./IsOpened}" PopWidth="{./PopWidth}" PopHeight="{./PopHeight}">
+ <Template>
+ <Border Name="border1"
+ CornerRadius="0"
+ MouseEnter="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
+ MouseLeave="{Foreground=Transparent}"
+ MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
+ MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
+ MinimumSize = "60,0"
+ Foreground="Transparent"
+ Background="{./Background}">
+ <HorizontalStack Spacing="5">
+ <Image Height="14" Width="14" Picture="{Icon}" />
+ <Label Text="{./Caption}"
+ Foreground="{./Foreground}"
+ Margin="1" HorizontalAlignment="Left"
+ Font="{./Font}" />
+ </HorizontalStack>
+ </Border>
+ </Template>
+ <Border Foreground="DimGrey" Width="{../PopWidth}" Height="{../PopHeight}" Background="DimGrey">
+ <VerticalStack Name="ItemsContainer"/>
+ </Border>
+ </Popper>
+ </Template>
+ </MenuItem>
+ </ItemTemplate>
+</MenuItem>
+
--- /dev/null
+<?xml version="1.0"?>
+<Popper Font="{./Font}" Caption="{./Caption}" Background="{./Background}" PopDirection="{./PopDirection}"
+ Foreground = "{./Foreground}" CanPop="{./HasChildren}"
+ IsPopped="{²./IsOpened}" PopWidth="{./PopWidth}" PopHeight="{./PopHeight}" IsEnabled="{./IsEnabled}">
+ <Template>
+ <CheckBox IsChecked="{²./IsPopped}" Caption="{./Caption}" Background="{./Background}" Foreground="{./Foreground}">
+ <Template>
+ <Border Name="border1" ForwardMouseEvents="true"
+ MouseEnter="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
+ MouseLeave="{Foreground=Transparent}"
+ MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
+ MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}"
+ MinimumSize = "40,0"
+ Foreground="Transparent"
+ Background="{./Background}">
+ <HorizontalStack HorizontalAlignment="Left" Margin="1">
+ <Image Width="10" Height="10" Picture="{../../../../../Icon}"/>
+ <Label Text="{./Caption}"
+ Foreground="{./Foreground}"
+ Font="{./Font}" />
+ </HorizontalStack>
+ </Border>
+ </Template>
+ </CheckBox>
+ </Template>
+ <Border Foreground="DimGrey" Width="{../PopWidth}" Height="{../PopHeight}" Background="Jet">
+ <VerticalStack Name="ItemsContainer"/>
+ </Border>
+</Popper>
--- /dev/null
+<?xml version="1.0"?>
+<GenericStack Orientation="Vertical" Spacing="0"
+ MouseEnter="{caption.Foreground=White}"
+ MouseLeave="{caption.Foreground=Grey}">
+ <HorizontalStack Margin="2" Left="{./TabOffset}"
+ Name="TabTitle"
+ HorizontalAlignment="Left"
+ Height="{./TabHeight}"
+ Width="{./TabWidth}">
+ <Label Name="caption" Text="{./Caption}" Foreground="Grey" Width="Stretched"/>
+ <Border CornerRadius="5" BorderWidth="1" Foreground="Transparent" Height="12" Width="12"
+ MouseEnter="{Foreground=White}" MouseLeave="{Foreground=Transparent}">
+ <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched" Path="#Crow.Icons.exit2.svg"
+ MouseClick="./butCloseTabClick"/>
+ </Border>
+ </HorizontalStack>
+ <Container Name="Content"/>
+</GenericStack>
+
--- /dev/null
+Label {
+ Foreground="Black";
+}
+icon {
+ Width="14";
+ Height="14";
+}
+MemberViewLabel {
+ Margin="1";
+ Height="Fit";
+ Width="50%";
+ Background="White";
+}
+MemberViewHStack {
+ Focusable="true";
+ Height="Fit";
+ Spacing="1";
+ MouseEnter="{Background=SteelBlue}";
+ MouseLeave="{Background=Transparent}";
+}
+
+IcoBut {
+ Template = "#Crow.Coding.IcoBut.template";
+ MinimumSize = "10,10";
+ Width = "8";
+ Height = "14";
+ Background = "Black";
+}
+
+WinSchema {
+ Template="#Crow.Coding.ui.DockWindows.WinSchemaItem.template";
+ Focusable = "true";
+ MinimumSize="150,50";
+ Width = "Fit";
+ Height = "Fit";
+}
+TabItem {
+ AllowDrag="false";
+ Background="Grey";
+ SelectedBackground="0.9,0.9,0.91,1.0";
+ Foreground="Black";
+}
+TreeItemBorder {
+ CornerRadius="2";
+ Margin="0";
+ //Focusable="true";
+ Height="Fit";
+ Width="Stretched";
+ Foreground="Transparent";
+ MouseEnter="{Foreground=DimGrey}";
+ MouseLeave="{Foreground=Transparent}";
+}
+TreeIcon {
+ Margin="0";
+ Width="14";
+ Height="14";
+}
+Splitter {
+ Thickness="1";
+ Background="RoyalBlue";
+}
+DockWindow {
+ Background="0.98,0.98,0.99,0.9";
+}
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
+<g>
+ <polygon fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="63,63 1,63 1,1 51,1 63,13 "/>
+</g>
+<rect x="7" y="31" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="50" height="32"/>
+<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="39" x2="50" y2="39"/>
+<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="47" x2="50" y2="47"/>
+<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="55" x2="50" y2="55"/>
+<rect x="15" y="1" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="34" height="19"/>
+<rect x="38" y="5" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="5" height="11"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14.9 1.1c-1.4-1.4-3.7-1.4-5.1 0l-4.4 4.3c-1.4 1.5-1.4 3.7 0 5.2 0.1 0.1 0.3 0.2 0.4 0.3l1.5-1.5c-0.1-0.1-0.3-0.2-0.4-0.3-0.6-0.6-0.6-1.6 0-2.2l4.4-4.4c0.6-0.6 1.6-0.6 2.2 0s0.6 1.6 0 2.2l-1.3 1.3c0.4 0.8 0.5 1.7 0.4 2.5l2.3-2.3c1.5-1.4 1.5-3.7 0-5.1z"></path>
+<path fill="#dddddd" d="M10.2 5.1l-1.5 1.5c0 0 0.3 0.2 0.4 0.3 0.6 0.6 0.6 1.6 0 2.2l-4.4 4.4c-0.6 0.6-1.6 0.6-2.2 0s-0.6-1.6 0-2.2l1.3-1.3c-0.4-0.8-0.1-1.3-0.4-2.5l-2.3 2.3c-1.4 1.4-1.4 3.7 0 5.1s3.7 1.4 5.1 0l4.4-4.4c1.4-1.4 1.4-3.7 0-5.1-0.2-0.1-0.4-0.3-0.4-0.3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#ffffff" d="M 10,0 H 2 V 16 H 14 V 4 Z"/>
+<path fill="#444444" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"/>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M5 0h6v3h-6v-3z"></path>
+<path fill="#FFFFFF" d="M1 4h14v3h-14v-3z"></path>
+<path fill="#FFFFFF" d="M3 8h10v3h-10v-3z"></path>
+<path fill="#FFFFFF" d="M0 12h16v3h-16v-3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.2 6l-1.1-0.2c-0.1-0.2-0.1-0.4-0.2-0.6l0.6-0.9 0.5-0.7-2.6-2.6-0.7 0.5-0.9 0.6c-0.2-0.1-0.4-0.1-0.6-0.2l-0.2-1.1-0.2-0.8h-3.6l-0.2 0.8-0.2 1.1c-0.2 0.1-0.4 0.1-0.6 0.2l-0.9-0.6-0.7-0.4-2.5 2.5 0.5 0.7 0.6 0.9c-0.2 0.2-0.2 0.4-0.3 0.6l-1.1 0.2-0.8 0.2v3.6l0.8 0.2 1.1 0.2c0.1 0.2 0.1 0.4 0.2 0.6l-0.6 0.9-0.5 0.7 2.6 2.6 0.7-0.5 0.9-0.6c0.2 0.1 0.4 0.1 0.6 0.2l0.2 1.1 0.2 0.8h3.6l0.2-0.8 0.2-1.1c0.2-0.1 0.4-0.1 0.6-0.2l0.9 0.6 0.7 0.5 2.6-2.6-0.5-0.7-0.6-0.9c0.1-0.2 0.2-0.4 0.2-0.6l1.1-0.2 0.8-0.2v-3.6l-0.8-0.2zM15 9l-1.7 0.3c-0.1 0.5-0.3 1-0.6 1.5l0.9 1.4-1.4 1.4-1.4-0.9c-0.5 0.3-1 0.5-1.5 0.6l-0.3 1.7h-2l-0.3-1.7c-0.5-0.1-1-0.3-1.5-0.6l-1.4 0.9-1.4-1.4 0.9-1.4c-0.3-0.5-0.5-1-0.6-1.5l-1.7-0.3v-2l1.7-0.3c0.1-0.5 0.3-1 0.6-1.5l-1-1.4 1.4-1.4 1.4 0.9c0.5-0.3 1-0.5 1.5-0.6l0.4-1.7h2l0.3 1.7c0.5 0.1 1 0.3 1.5 0.6l1.4-0.9 1.4 1.4-0.9 1.4c0.3 0.5 0.5 1 0.6 1.5l1.7 0.3v2z"></path>
+<path fill="#FFFFFF" d="M8 4.5c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5c0-1.9-1.6-3.5-3.5-3.5zM8 10.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M12 7v-2l-1.2-0.4c-0.1-0.3-0.2-0.7-0.4-1l0.6-1.2-1.5-1.3-1.1 0.5c-0.3-0.2-0.6-0.3-1-0.4l-0.4-1.2h-2l-0.4 1.2c-0.3 0.1-0.7 0.2-1 0.4l-1.1-0.5-1.4 1.4 0.6 1.2c-0.2 0.3-0.3 0.6-0.4 1l-1.3 0.3v2l1.2 0.4c0.1 0.3 0.2 0.7 0.4 1l-0.5 1.1 1.4 1.4 1.2-0.6c0.3 0.2 0.6 0.3 1 0.4l0.3 1.3h2l0.4-1.2c0.3-0.1 0.7-0.2 1-0.4l1.2 0.6 1.4-1.4-0.6-1.2c0.2-0.3 0.3-0.6 0.4-1l1.2-0.4zM3 6c0-1.7 1.3-3 3-3s3 1.3 3 3c0 1.7-1.3 3-3 3s-3-1.3-3-3z"></path>
+<path fill="#FFFFFF" d="M7.5 6c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
+<path fill="#FFFFFF" d="M16 3v-1h-0.6c0-0.2-0.1-0.4-0.2-0.5l0.4-0.4-0.7-0.7-0.4 0.4c-0.2-0.1-0.3-0.2-0.5-0.2v-0.6h-1v0.6c-0.2 0-0.4 0.1-0.5 0.2l-0.4-0.4-0.7 0.7 0.4 0.4c-0.1 0.2-0.2 0.3-0.2 0.5h-0.6v1h0.6c0 0.2 0.1 0.4 0.2 0.5l-0.4 0.4 0.7 0.7 0.4-0.4c0.2 0.1 0.3 0.2 0.5 0.2v0.6h1v-0.6c0.2 0 0.4-0.1 0.5-0.2l0.4 0.4 0.7-0.7-0.4-0.4c0.1-0.2 0.2-0.3 0.2-0.5h0.6zM13.5 3.5c-0.6 0-1-0.4-1-1s0.4-1 1-1 1 0.4 1 1c0 0.6-0.4 1-1 1z"></path>
+<path fill="#FFFFFF" d="M15.4 11.8c-0.1-0.3-0.2-0.6-0.4-0.9l0.3-0.6-0.7-0.7-0.5 0.4c-0.3-0.2-0.6-0.3-0.9-0.4l-0.2-0.6h-1l-0.2 0.6c-0.3 0.1-0.6 0.2-0.9 0.4l-0.6-0.3-0.7 0.7 0.3 0.6c-0.2 0.3-0.3 0.6-0.4 0.9l-0.5 0.1v1l0.6 0.2c0.1 0.3 0.2 0.6 0.4 0.9l-0.3 0.6 0.7 0.7 0.6-0.3c0.3 0.2 0.6 0.3 0.9 0.4l0.1 0.5h1l0.2-0.6c0.3-0.1 0.6-0.2 0.9-0.4l0.6 0.3 0.7-0.7-0.4-0.5c0.2-0.3 0.3-0.6 0.4-0.9l0.6-0.2v-1l-0.6-0.2zM12.5 14c-0.8 0-1.5-0.7-1.5-1.5s0.7-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M13 3h-3l-3-3h-7v13h6v3h10v-10l-3-3zM7 1l2 2h-2v-2zM1 12v-11h5v3h3v8h-8zM15 15h-8v-2h3v-9h2v3h3v8zM13 6v-2l2 2h-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0"?>
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
+
+ <g class="layer">
+ <title>Layer 1</title>
+ <path d="m10,0l-8,0l0,16l12,0l0,-12l-4,-4z" fill="#ffffff" id="svg_1"/>
+ <path d="m10,0l-8,0l0,16l12,0l0,-12l-4,-4zm-1,5l4,0l0,10l-10,0l0,-14l6,0l0,4zm1,-1l0,-3l3,3l-3,0z" fill="#444444" id="svg_2"/>
+ <text fill="#007f00" font-family="Monospace" font-size="16" font-style="normal" font-weight="bold" id="svg_4" stroke="#000000" stroke-width="0" text-anchor="middle" transform="matrix(0.69828, 0, 0, 0.877654, 0.704781, 2.22646)" x="7.714503" xml:space="preserve" y="12.444685">c</text>
+ <text fill="#007f00" font-family="Monospace" font-size="7" font-style="normal" font-weight="bold" id="svg_5" stroke="#000000" stroke-width="0" text-anchor="middle" transform="matrix(0.999951, 0, 0, 0.975655, -2.14552, 0.0604767)" x="12.987902" xml:space="preserve" y="11.031572">#</text>
+ </g>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M2.1 3.1c0.2 1.3 0.4 1.6 0.4 2.9 0 0.8-1.5 1.5-1.5 1.5v1c0 0 1.5 0.7 1.5 1.5 0 1.3-0.2 1.6-0.4 2.9-0.3 2.1 0.8 3.1 1.8 3.1s2.1 0 2.1 0v-2c0 0-1.8 0.2-1.8-1 0-0.9 0.2-0.9 0.4-2.9 0.1-0.9-0.5-1.6-1.1-2.1 0.6-0.5 1.2-1.1 1.1-2-0.3-2-0.4-2-0.4-2.9 0-1.2 1.8-1.1 1.8-1.1v-2c0 0-1 0-2.1 0s-2.1 1-1.8 3.1z"></path>
+<path fill="#dddddd" d="M13.9 3.1c-0.2 1.3-0.4 1.6-0.4 2.9 0 0.8 1.5 1.5 1.5 1.5v1c0 0-1.5 0.7-1.5 1.5 0 1.3 0.2 1.6 0.4 2.9 0.3 2.1-0.8 3.1-1.8 3.1s-2.1 0-2.1 0v-2c0 0 1.8 0.2 1.8-1 0-0.9-0.2-0.9-0.4-2.9-0.1-0.9 0.5-1.6 1.1-2.1-0.6-0.5-1.2-1.1-1.1-2 0.2-2 0.4-2 0.4-2.9 0-1.2-1.8-1.1-1.8-1.1v-2c0 0 1 0 2.1 0s2.1 1 1.8 3.1z"></path>
+</svg>
--- /dev/null
+<svg xmlns="http://www.w3.org/2000/svg" width="1120px" height="670px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1120 670" preserveAspectRatio="xMidYMid meet" ><rect id="svgEditorBackground" x="0" y="0" width="1120" height="670" style="fill: none; stroke: none;"/><line id="e1_line" x1="432" y1="118" x2="291" y2="273" style="stroke:black;fill:none;stroke-width:1px;"/><line id="e2_line" x1="291" y1="270" x2="397" y2="402" style="stroke:black;fill:none;stroke-width:1px;"/><polyline style="stroke:black;fill:none;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round;" id="e3_polyline" points="685,138 683,138 596,275 694,413"/></svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M16 4c0 0 0-1-1-2s-1.9-1-1.9-1l-1.1 1.1v-2.1h-12v16h12v-8l4-4zM6.3 11.4l-0.6-0.6 0.3-1.1 1.5 1.5-1.2 0.2zM7.2 9.5l-0.6-0.6 5.2-5.2c0.2 0.1 0.4 0.3 0.6 0.5zM14.1 2.5l-0.9 1c-0.2-0.2-0.4-0.3-0.6-0.5l0.9-0.9c0.1 0.1 0.3 0.2 0.6 0.4zM11 15h-10v-14h10v2.1l-5.9 5.9-1.1 4.1 4.1-1.1 2.9-3v6z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8.1 14l6.4-7.2c0.6-0.7 0.6-1.8-0.1-2.5l-2.7-2.7c-0.3-0.4-0.8-0.6-1.3-0.6h-1.8c-0.5 0-1 0.2-1.4 0.6l-6.7 7.6c-0.6 0.7-0.6 1.9 0.1 2.5l2.7 2.7c0.3 0.4 0.8 0.6 1.3 0.6h11.4v-1h-7.9zM6.8 13.9c0 0 0-0.1 0 0l-2.7-2.7c-0.4-0.4-0.4-0.9 0-1.3l3.4-3.9h-1l-3 3.3c-0.6 0.7-0.6 1.7 0.1 2.4l2.3 2.3h-1.3c-0.2 0-0.4-0.1-0.6-0.2l-2.8-2.8c-0.3-0.3-0.3-0.8 0-1.1l3.5-3.9h1.8l3.5-4h1l-3.5 4 3.1 3.7-3.5 4c-0.1 0.1-0.2 0.1-0.3 0.2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5.3 6.7l1.4-1.4-3-3 1.3-1.3h-4v4l1.3-1.3z"></path>
+<path fill="#dddddd" d="M6.7 10.7l-1.4-1.4-3 3-1.3-1.3v4h4l-1.3-1.3z"></path>
+<path fill="#dddddd" d="M10.7 9.3l-1.4 1.4 3 3-1.3 1.3h4v-4l-1.3 1.3z"></path>
+<path fill="#dddddd" d="M11 1l1.3 1.3-3 3 1.4 1.4 3-3 1.3 1.3v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#FFFFFF" d="M6.2 13h-0.7l-2-2.5 2-2.5h0.7l-2 2.5z"></path>
+<path fill="#FFFFFF" d="M9.8 13h0.7l2-2.5-2-2.5h-0.7l2 2.5z"></path>
+<path fill="#FFFFFF" d="M6.7 14h0.6l2.1-7h-0.8z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M9 5h5v11h-12v-16h7v5zM10 4v-4l4 4h-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#FFFFFF" d="M5 7v2h2v5h2v-5h2v-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M11.7 1.9c-1-1.2-2.6-1.9-4.2-1.9s-3.2 0.7-4.2 1.9c-1 1.1-1.4 2.6-1.2 4 0.2 1.5 0.8 2.6 2.1 3.7 0.5 0.4 0.7 0.8 0.9 1.2 0 0.1 0.1 0.2 0.1 0.3-0.1 0.1-0.2 0.2-0.2 0.4 0 0.3 0.2 0.5 0.5 0.5-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5c-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5c-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5h0.5c0 0.5 0.7 1 1.5 1s1.5-0.5 1.5-1h0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5 0-0.2-0.1-0.3-0.2-0.4 0-0.1 0.1-0.1 0.1-0.2 0.2-0.4 0.4-0.8 0.9-1.2 1.3-1.1 1.9-2.2 2.1-3.8 0.2-1.4-0.2-2.8-1.2-4zM12 5.8c-0.2 1.3-0.7 2.2-1.8 3.2-0.6 0.5-0.9 1-1.2 1.4-0.2 0.5-0.3 0.6-0.5 0.6h-2c-0.2 0-0.3-0.1-0.5-0.6-0.2-0.4-0.5-1-1.1-1.6-1.3-1.1-1.6-2-1.8-3-0.2-1.1 0.2-2.3 0.9-3.2 0.9-1 2.2-1.6 3.5-1.6s2.6 0.6 3.5 1.6c0.7 0.9 1.1 2.1 1 3.2z"></path>
+<path fill="#FFFFFF" d="M11 5h-1c0-0.7-0.8-2-2-2v-1c1.8 0 3 1.8 3 3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 5h3v1h-3v-1z"></path>
+<path fill="#dddddd" d="M5 0h1v3h-1v-3z"></path>
+<path fill="#dddddd" d="M6 11h-1v-2.5l1 1z"></path>
+<path fill="#dddddd" d="M11 6h-1.5l-1-1h2.5z"></path>
+<path fill="#dddddd" d="M3.131 7.161l0.707 0.707-2.97 2.97-0.707-0.707 2.97-2.97z"></path>
+<path fill="#dddddd" d="M10.131 0.161l0.707 0.707-2.97 2.97-0.707-0.707 2.97-2.97z"></path>
+<path fill="#dddddd" d="M0.836 0.199l3.465 3.465-0.707 0.707-3.465-3.465 0.707-0.707z"></path>
+<path fill="#dddddd" d="M6.1 4.1l-2.1 2 9.8 9.9 2.2-2.1-9.9-9.8zM6.1 5.5l2.4 2.5-0.6 0.6-2.5-2.5 0.7-0.6z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 0h5v4h-5v-4z"></path>
+<path fill="#dddddd" d="M11 5v3c0 1.6-1.4 3-3 3s-3-1.4-3-3v-3h-5v3c0 4.4 3.6 8 8 8s8-3.6 8-8v-3h-5z"></path>
+<path fill="#dddddd" d="M0 0h5v4h-5v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 8l-3-3v2h-4v-4h2l-3-3-3 3h2v4h-4v-2l-3 3 3 3v-2h4v4h-2l3 3 3-3h-2v-4h4v2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 6v-2h-7l-1-2h-4l-1 2h-1v11h14l2-9h-2zM14.9 7l-1.6 7-11.9-0.1 2.3-6.9h11.2zM1 5h0.6l1-2h2.6l1.2 2h6.6v1h-10l-2 5.9v-6.9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M6 5v6h4v-6h2l-4-5-4 5z"></path>
+<path fill="#FFFFFF" d="M13 2h-2l0.9 1h0.4l2.6 8h-3.9v2h-6v-2h-3.9l2.6-8h0.4l0.9-1h-2l-3 9v5h16v-5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5.6 11.6l-1.2-1.2c-0.8-0.2-2-0.1-2.7 1-0.8 1.1-0.3 2.8-1.7 4.6 0 0 3.5 0 4.8-1.3 1.2-1.2 1.2-2.2 1-3l-0.2-0.1z"></path>
+<path fill="#dddddd" d="M5.8 8.1c-0.2 0.3-0.5 0.7-0.7 1 0 0.2-0.1 0.3-0.2 0.4l1.5 1.5c0.1-0.1 0.3-0.2 0.4-0.3 0.3-0.2 0.7-0.4 1-0.7 0.4 0 0.6-0.2 0.8-0.4l-2.2-2.2c-0.2 0.2-0.4 0.4-0.6 0.7z"></path>
+<path fill="#dddddd" d="M15.8 0.2c-0.3-0.3-0.7-0.3-1-0.1 0 0-3 2.5-5.9 5.1-0.4 0.4-0.7 0.7-1.1 1-0.2 0.2-0.4 0.4-0.6 0.5l2.1 2.1c0.2-0.2 0.4-0.4 0.5-0.7 0.3-0.4 0.6-0.7 0.9-1.1 2.5-3 5.1-5.9 5.1-5.9 0.3-0.2 0.3-0.6 0-0.9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 7.1c0-2.7-1.3-7.1-7.3-7.1s-8.5 7.4-7.5 9.9c0.8 1.9 2.5 0.1 3.1 1 1.8 2.5-2 3.8 0.1 4.7 2.5 1.1 11.6 0.4 11.6-8.5zM4.5 9c-0.9 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5zM6 3.5c0-0.8 0.6-1.5 1.5-1.5s1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5-1.5-0.7-1.5-1.5zM8.5 14c-0.9 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5zM11 4.5c0-0.8 0.6-1.5 1.5-1.5s1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5-1.5-0.7-1.5-1.5zM12.5 11c-0.8 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M5.5 0c-2.5 0-4.5 2-4.5 4.5s2 4.5 4.5 4.5h2.5v7h2v-14h1v14h2v-14h2v-2h-9.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M13 4h-3v-4h-10v14h6v2h10v-9l-3-3zM3 1h4v1h-4v-1zM15 15h-8v-10h5v3h3v7zM13 7v-2l2 2h-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 6.5v-5.5h1v-1h-8v1h1v5.5c0 0-2 1.5-2 3.5 0 0.5 1.9 0.7 4 0.7v2.2c0 0.7 0.2 1.4 0.5 2.1l0.5 1 0.5-1c0.3-0.6 0.5-1.3 0.5-2.1v-2.2c2.1 0 4-0.3 4-0.7 0-2-2-3.5-2-3.5zM7 6.6c0 0-0.5 0.3-1.6 1.4-1 1-1.5 1.9-1.5 1.9s0.1-1 0.8-1.9c0.9-1.1 1.3-1.4 1.3-1.4v-5.6h1v5.6z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M0 7.9l6-4.9v3c0 0 1.1 0 2 0 8 0 8 8 8 8s-1-4-7.8-4c-1.1 0-1.8 0-2.2 0v2.9l-6-5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M9 11h-3c0-3 1.6-4 2.7-4.6 0.4-0.2 0.7-0.4 0.9-0.6 0.5-0.5 0.3-1.2 0.2-1.4-0.3-0.7-1-1.4-2.3-1.4-2.1 0-2.5 1.9-2.5 2.3l-3-0.4c0.2-1.7 1.7-4.9 5.5-4.9 2.3 0 4.3 1.3 5.1 3.2 0.7 1.7 0.4 3.5-0.8 4.7-0.5 0.5-1.1 0.8-1.6 1.1-0.9 0.5-1.2 1-1.2 2z"></path>
+<path fill="#FFFFFF" d="M9.5 14c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 7.9l-6-4.9v3c-0.5 0-1.1 0-2 0-8 0-8 8-8 8s1-4 7.8-4c1.1 0 1.8 0 2.2 0v2.9l6-5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M16 8c0-5-4.9-5-4.9-5h-5.1v-3l-6 6 6 6v-3h5.2c3.5 0 1.8 7 1.8 7s3-4.1 3-8z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 6v-6h-4v6h-2l4 5 4-5z"></path>
+<path fill="#FFFFFF" d="M13 1h-2v1h1.3l2.6 8h-3.9v2h-6v-2h-3.9l2.6-8h1.3v-1h-2l-3 9v5h16v-5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M16 3.1c0 0-2.1-1.1-3.5-1-0.3 0-0.5 0.1-0.7 0.2l-4.3 3.4-1.8-1.5c0.1-0.3 0.2-0.6 0.3-1 0.1-1.8-1.4-3.4-3.3-3.2-1.2 0.1-2.3 1-2.6 2.2-0.3 1.3 0.2 2.5 1.2 3.2l3.3 2.6-3.3 2.6c-1 0.7-1.5 1.9-1.2 3.2 0.3 1.2 1.4 2 2.6 2.2 1.9 0.2 3.4-1.4 3.2-3.2 0-0.3-0.1-0.7-0.3-1l1.8-1.5 4.3 3.4c0.2 0.1 0.4 0.2 0.7 0.2 1.4 0.1 3.5-1 3.5-1l-5.7-4.9 5.8-4.9zM2.8 4.6c-0.9-0.1-1.6-0.9-1.5-1.8s0.9-1.6 1.8-1.5c0.9 0.1 1.6 0.9 1.5 1.8 0 0.9-0.9 1.6-1.8 1.5zM3.1 14.7c-0.9 0.1-1.7-0.6-1.8-1.5s0.6-1.7 1.5-1.8c0.9-0.1 1.7 0.6 1.8 1.5s-0.6 1.7-1.5 1.8zM12.4 3.2c0 0 0.1 0 0.2 0 0.4 0 0.9 0.1 1.4 0.2l-6.8 5.7-0.9-1.1 6.1-4.8zM14 12.6c-0.5 0.2-1 0.3-1.4 0.2-0.1 0-0.2 0-0.2 0l-4-3.2 1-0.9 4.6 3.9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 3h-5.1c0 0-4.9 0-4.9 5 0 3.9 3 8 3 8s-1.7-7 1.8-7h5.2v3l6-6-6-6v3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M9 4v-3h-9v14h9v-3h-1v2h-7v-12h7v2z"></path>
+<path fill="#FFFFFF" d="M16 8l-5-4v2h-5v4h5v2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#FFFFFF" d="M4 7h8v1h-8v-1z"></path>
+<path fill="#FFFFFF" d="M4 9h8v1h-8v-1z"></path>
+<path fill="#FFFFFF" d="M4 11h8v1h-8v-1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M12.5 4.9c-1.4 0-2.5 0.8-2.6 0.9l1.2 1.6c0 0 0.7-0.5 1.4-0.5 1.4 0 1.5 1.2 1.5 1.6-0.4-0.1-1.1-0.3-2-0.1-1.4 0.3-2.8 2-2.1 3.9 0.7 1.8 3.1 2.1 4.1 0.6v1h2v-5.3c0-2.7-1.9-3.7-3.5-3.7zM11.5 11.4c-0.1-1.9 1.5-1.9 2.5-1.8v1c0 1.2-2.3 2.3-2.5 0.8z"></path>
+<path fill="#FFFFFF" d="M6.9 14h2.1l-3.2-12h-2.7l-3.1 12h2.1l1-4h2.7l1.1 4zM3.6 8l0.8-3.2 0.9 3.2h-1.7z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 2v-2h-14v14h2v2h14v-14h-2zM13 13h-12v-12h12v12z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15.7 5.3l-1-1c-0.2-0.2-0.4-0.3-0.7-0.3h-13c-0.6 0-1 0.4-1 1v5c0 0.3 0.1 0.6 0.3 0.7l1 1c0.2 0.2 0.4 0.3 0.7 0.3h13c0.6 0 1-0.4 1-1v-5c0-0.3-0.1-0.5-0.3-0.7zM14 10h-13v-5h13v5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M13 0.9l-1 1.1h-12v14h14v-10.5l1.7-2-2.7-2.6zM6.5 11.7l-4.2-4.2 1.4-1.4 2.7 2.7 6.6-6.6 1.4 1.4-7.9 8.1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 1c-1.8-1.8-3.7-0.7-4.6 0.1-0.4 0.4-0.7 0.9-0.7 1.5v0c0 1.1-1.1 1.8-2.1 1.5l-0.1-0.1-0.7 0.8 0.7 0.7-6 6-0.8 2.3-0.7 0.7 1.5 1.5 0.8-0.8 2.3-0.8 6-6 0.7 0.7 0.7-0.6-0.1-0.2c-0.3-1 0.4-2.1 1.5-2.1v0c0.6 0 1.1-0.2 1.4-0.6 0.9-0.9 2-2.8 0.2-4.6zM3.9 13.6l-2 0.7-0.2 0.1 0.1-0.2 0.7-2 5.8-5.8 1.5 1.5-5.9 5.7z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 4h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6c0-0.6-0.4-1-1-1zM10 11h-9v-6h9v6zM13 8.4l-2-1.4h4l-2 1.4z"></path>
+<path fill="#dddddd" d="M2 6h1v4h-1v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 1h-14v14h14v-14zM14 14h-12v-12h12v12z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 6v-2h-7l-1-2h-4l-1 2h-1v11h14l2-9h-2zM14.9 7l-1.6 7-11.9-0.1 2.3-6.9h11.2zM1 5h0.6l1-2h2.6l1.2 2h6.6v1h-10l-2 5.9v-6.9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 2v13h15v-13h-15zM13 3h1v1h-1v-1zM7 14h-6v-9h6v9zM14 14h-6v-9h6v9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 4h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6c0-0.6-0.4-1-1-1zM12 9l-2-2h4l-2 2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 2h-6v4h6v-4zM9 4h-2v-1h2v1z"></path>
+<path fill="#dddddd" d="M3 0v16h2v-1h6v1h2v-16h-10zM12 14h-8v-6h8v6zM12 7h-8v-6h8v6z"></path>
+<path fill="#dddddd" d="M11 9h-6v4h6v-4zM9 11h-2v-1h2v1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM5 15h-4v-4h4v4zM5 10h-4v-4h4v4zM5 5h-4v-4h4v4zM10 15h-4v-4h4v4zM10 10h-4v-4h4v4zM10 5h-4v-4h4v4zM15 15h-4v-4h4v4zM15 10h-4v-4h4v4zM15 5h-4v-4h4v4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 7h7v-7h-7v7zM1 1h5v5h-5v-5z"></path>
+<path fill="#dddddd" d="M9 0v7h7v-7h-7zM15 6h-5v-5h5v5z"></path>
+<path fill="#dddddd" d="M0 16h7v-7h-7v7zM1 10h5v5h-5v-5z"></path>
+<path fill="#dddddd" d="M9 16h7v-7h-7v7zM10 10h5v5h-5v-5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M1 4h-1v-4h4v1h-3z"></path>
+<path fill="#dddddd" d="M12 1v-1h4v4h-1v-3z"></path>
+<path fill="#dddddd" d="M15 12h1v4h-4v-1h3z"></path>
+<path fill="#dddddd" d="M4 15v1h-4v-4h1v3z"></path>
+<path fill="#dddddd" d="M13 3v10h-10v-10h10zM14 2h-12v12h12v-12z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM5 15h-4v-14h4v14zM10 15h-4v-14h4v14zM15 15h-4v-14h4v14z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5.2 14l4.5-12h1.1l-4.5 12z"></path>
+<path fill="#dddddd" d="M11.1 13h1.2l3.7-5-3.7-5h-1.3l3.8 5z"></path>
+<path fill="#dddddd" d="M4.9 13h-1.2l-3.7-5 3.7-5h1.3l-3.8 5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 14h-16v-12h16v12zM1 13h14v-10h-14v10z"></path>
+<path fill="#dddddd" d="M2 10v2h12v-1c0 0 0.2-1.7-2-2-1.9-0.3-2.2 0.6-3.8 0.6-1.1 0-0.9-1.6-3.2-1.6-1.7 0-3 2-3 2z"></path>
+<path fill="#dddddd" d="M13 6c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M12.5 4.9c-1.4 0-2.5 0.8-2.6 0.9l1.2 1.6c0 0 0.7-0.5 1.4-0.5 1.4 0 1.5 1.2 1.5 1.6-0.4-0.1-1.1-0.3-2-0.1-1.4 0.3-2.8 2-2.1 3.9 0.7 1.8 3.1 2.1 4.1 0.6v1h2v-5.3c0-2.7-1.9-3.7-3.5-3.7zM11.5 11.4c-0.1-1.9 1.5-1.9 2.5-1.8v1c0 1.2-2.3 2.3-2.5 0.8z"></path>
+<path fill="#dddddd" d="M6.9 14h2.1l-3.2-12h-2.7l-3.1 12h2.1l1-4h2.7l1.1 4zM3.6 8l0.8-3.2 0.9 3.2h-1.7z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M0 6h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M0 11h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M5 1h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 6h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 11h11v3h-11v-3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 2v2h-9v-2h9zM16 1h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 1h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M15 7v2h-9v-2h9zM16 6h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M15 12v2h-9v-2h9zM16 11h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 11h4v4h-4v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 7v2h-9v-2h9zM16 6h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
+<path fill="#dddddd" d="M7 6h2v7h-2v-7z"></path>
+<path fill="#dddddd" d="M7 3h2v2h-2v-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 5v6h16v-6h-16zM15 10h-14v-4h14v4z"></path>
+<path fill="#dddddd" d="M2 7h7v2h-7v-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 4c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"></path>
+<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M2 2h1v4h-1v-4z"></path>
+<path fill="#dddddd" d="M1 0c-0.6 0-1 0.4-1 1v14c0 0.6 0.4 1 1 1h15v-16h-15zM13 15h-12v-14h12v14zM15 15v0h-1v-1h1v1zM15 13h-1v-10h1v10zM15 2h-1v-1h1v1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM15 15h-14v-6h3v1l3-2-3-2v1h-3v-6h6v3h-1l2 3 2-3h-1v-3h6v14z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0l-8 8 8 8 8-8-8-8zM2 8l6-6 6 6-6 6-6-6z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 6h-3.6c-0.7-1.2-2-2-3.4-2s-2.8 0.8-3.4 2h-5.6v4h5.6c0.7 1.2 2 2 3.4 2s2.8-0.8 3.4-2h3.6v-4zM1 9v-2h4.1c0 0.3-0.1 0.7-0.1 1s0.1 0.7 0.1 1h-4.1zM9 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c0 1.7-1.3 3-3 3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 7h-6l3-4z"></path>
+<path fill="#dddddd" d="M5 9h6l-3 4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 0h2v16h-2v-16z"></path>
+<path fill="#dddddd" d="M3 5l-3 3 3 3v-2h3v-2h-3z"></path>
+<path fill="#dddddd" d="M16 8l-3-3v2h-3v2h3v2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 4l-1-2h-4l-1 2h-1v11h16v-11h-9zM15 14h-14v-9h0.6l1-2h2.6l1.2 2h8.6v9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 4v-2h-14v13h16v-11h-2zM10 3h3v1h-3v-1zM6 3h3v1h-3v-1zM15 14h-14v-11h4v2h10v9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0l-8 2v10l8 4 8-4v-10l-8-2zM14.4 2.6l-5.9 2.2-6.6-2.2 6.1-1.6 6.4 1.6zM1 11.4v-8.1l7 2.4v9.2l-7-3.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 6.6v0-3.8l-4-1.8-4 1.8v4.2l-3 1.3v4.4l4 1.8 3.5-1.5 3.5 1.6 4-1.8v-4.5l-4-1.7zM7 2.1l2.8 1.2-2.7 1.1-2.6-1.2 2.5-1.1zM7 5v2.9l-3-1.3v-3l3 1.4zM4 13.5l-3-1.3v-3l3 1.4v2.9zM4 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1zM11 13.5l-3-1.3v-3l3 1.4v2.9zM11 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 5c0-0.6-0.4-1-1-1h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6zM15 11h-14v-6h14v6z"></path>
+<path fill="#dddddd" d="M2 6h1v4h-1v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 10v-4h-11v1h-2v-3h9v-4h-12v4h2v10h3v2h11v-4h-11v1h-2v-5h2v2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 0h-16v16h16v-16zM1 5v-4h14v4h-14zM1 10v-4h14v4h-14zM1 15v-4h14v4h-14z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 4v11h16v-14h-16v3zM14 2h1v1h-1v-1zM1 4h14v10h-14v-10z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M6 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M12 6h4v4h-4v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 15h15v1h-15v-1z"></path>
+<path fill="#dddddd" d="M0 11h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M4 9h3v5h-3v-5z"></path>
+<path fill="#dddddd" d="M8 5h3v9h-3v-9z"></path>
+<path fill="#dddddd" d="M12 0h3v14h-3v-14z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1h16v3h-16v-3z"></path>
+<path fill="#dddddd" d="M0 6h16v3h-16v-3z"></path>
+<path fill="#dddddd" d="M0 11h16v3h-16v-3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 2.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
+<path fill="#dddddd" d="M0 7.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
+<path fill="#dddddd" d="M0 12.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
+<path fill="#dddddd" d="M5 1h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 6h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 11h11v3h-11v-3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 1v3h-3v-3h-6v3h-3v-3h-2v15h16v-15h-2zM3 15h-2v-2h2v2zM3 12h-2v-2h2v2zM3 9h-2v-2h2v2zM6 15h-2v-2h2v2zM6 12h-2v-2h2v2zM6 9h-2v-2h2v2zM9 15h-2v-2h2v2zM9 12h-2v-2h2v2zM9 9h-2v-2h2v2zM12 15h-2v-2h2v2zM12 12h-2v-2h2v2zM12 9h-2v-2h2v2zM15 15h-2v-2h2v2zM15 12h-2v-2h2v2zM15 9h-2v-2h2v2z"></path>
+<path fill="#dddddd" d="M3 0h1v3h-1v-3z"></path>
+<path fill="#dddddd" d="M12 0h1v3h-1v-3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 6.2v7.8h-12v-12h10.5l1-1h-12.5v14h14v-9.8z"></path>
+<path fill="#dddddd" d="M7.9 10.9l-4.2-4.2 1.5-1.4 2.7 2.8 6.7-6.7 1.4 1.4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 2.5c0 0.828-2.686 1.5-6 1.5s-6-0.672-6-1.5c0-0.828 2.686-1.5 6-1.5s6 0.672 6 1.5z"></path>
+<path fill="#dddddd" d="M8 5c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
+<path fill="#dddddd" d="M8 9c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
+<path fill="#dddddd" d="M8 13c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M6 0h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M6 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M6 12h4v4h-4v-4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
+<path fill="#dddddd" d="M7 3h2v7h-2v-7z"></path>
+<path fill="#dddddd" d="M7 11h2v2h-2v-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM9 13h-2v-2h2v2zM9 10h-2v-7h2v7z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M6.2 13h-0.7l-2-2.5 2-2.5h0.7l-2 2.5z"></path>
+<path fill="#dddddd" d="M9.8 13h0.7l2-2.5-2-2.5h-0.7l2 2.5z"></path>
+<path fill="#dddddd" d="M6.7 14h0.6l2.1-7h-0.8z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M12.6 4c-0.2 0-0.4 0-0.6 0 0-0.2-0.2-0.6-0.4-0.8s-0.5-0.4-1.1-0.4c-0.2 0-0.4 0-0.6 0.1-0.1-0.2-0.2-0.3-0.3-0.5-0.2-0.2-0.5-0.4-1.1-0.4-0.8 0-1.2 0.5-1.4 1-0.1 0-0.3-0.1-0.5-0.1-0.5 0-0.8 0.2-1.1 0.4-0.5 0.6-0.5 1.4-0.5 1.5v0.4c-0.6 0-1.1 0.2-1.4 0.5-0.6 0.7-0.6 1.6-0.6 2.8 0 0.2 0 0.5 0 0.7 0 1.4 0.7 2.1 1.4 2.8l0.3 0.4c1.3 1.2 2.5 1.6 5.1 1.6 2.9 0 4.2-1.6 4.2-5.1v-2.5c0-0.7-0.2-2.1-1.4-2.4zM10.5 3.8c0.4 0 0.5 0.4 0.5 0.6v0.8c0 0.3 0.2 0.5 0.4 0.5 0.3 0 0.5-0.1 0.5-0.4 0 0 0-0.4 0.4-0.3 0.6 0.2 0.7 1.1 0.7 1.3 0 0 0 0 0 0v2.6c0 3.4-1.3 4.1-3.2 4.1-2.4 0-3.3-0.3-4.3-1.3-0.1-0.1-0.2-0.2-0.4-0.4-0.7-0.7-1.1-1.1-1.1-2.1 0-0.2 0-0.3 0-0.6 0-1 0-1.8 0.3-2.1 0.1-0.2 0.4-0.3 0.7-0.3v0.8l-0.3 1.2c0 0.1 0 0.1 0.1 0.1 0.1 0.1 0.2 0 0.2 0l1-1.2c0 0 0-0.1 0-0.1v-2c0-0.1 0-0.6 0.2-0.8 0.1-0.1 0.2-0.2 0.4-0.2 0.3 0 0.4 0.2 0.4 0.4v0.4c0 0.2 0.2 0.5 0.5 0.5s0.5-0.3 0.5-0.5v-1.3c0-0.1 0-0.5 0.5-0.5 0.3 0 0.5 0.2 0.5 0.5v1.2c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-0.5c0-0.3 0.2-0.5 0.5-0.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M13 1h-10l-2.7 8h15.4z"></path>
+<path fill="#dddddd" d="M0 10v5h16v-5h-16zM3 13h-1v-1h1v1zM7 13h-3v-1h3v1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 6v-2h-2.6l0.6-2.8-2-0.4-0.7 3.2h-3l0.7-2.8-2-0.4-0.7 3.2h-3.3v2h2.9l-0.9 4h-3v2h2.6l-0.6 2.8 2 0.4 0.7-3.2h3l-0.7 2.8 2 0.4 0.7-3.2h3.3v-2h-2.9l0.9-4h3zM9 10h-3l1-4h3l-1 4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 5h3v11h-3v-11z"></path>
+<path fill="#dddddd" d="M10.5 2c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM1 3h4v12h-4v-12zM15 15h-9v-12h9v12z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M0 5h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M0 9h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M0 13h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M4 1h12v2h-12v-2z"></path>
+<path fill="#dddddd" d="M4 5h12v2h-12v-2z"></path>
+<path fill="#dddddd" d="M4 9h12v2h-12v-2z"></path>
+<path fill="#dddddd" d="M4 13h12v2h-12v-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M4 0h12v4h-12v-4z"></path>
+<path fill="#dddddd" d="M4 6h12v4h-12v-4z"></path>
+<path fill="#dddddd" d="M4 12h12v4h-12v-4z"></path>
+<path fill="#dddddd" d="M1 0l-0.9 0.5 0.2 0.7 0.7-0.3v3.1h1v-4z"></path>
+<path fill="#dddddd" d="M2.2 13.9c0.3-0.2 0.5-0.5 0.5-0.8 0-0.5-0.4-1-1.3-1-0.5 0-1 0.1-1.2 0.3h-0.1l0.2 0.8 0.1-0.1c0.1-0.1 0.4-0.2 0.7-0.2s0.4 0.1 0.4 0.3c0 0.4-0.5 0.4-0.6 0.4h-0.4v0.7h0.4c0.3 0 0.6 0.1 0.6 0.4 0 0.2-0.2 0.4-0.6 0.4s-0.7-0.2-0.8-0.2l-0.1-0.1v0.9h0.1c0.2 0.2 0.6 0.3 1.1 0.3 1 0 1.6-0.5 1.6-1.2 0-0.4-0.2-0.8-0.6-0.9z"></path>
+<path fill="#dddddd" d="M0.1 6.4l0.3 1c0 0 0.7-0.6 1.2-0.3 1.1 0.8-1.6 2.4-1.6 2.4v0.5h3v-1h-1.2c0.6-0.5 1.2-1.2 1-1.9-0.5-1.9-2.7-0.7-2.7-0.7z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 4v11h16v-14h-16v3zM14 2h1v1h-1v-1zM1 4h14v10h-14v-10z"></path>
+<path fill="#dddddd" d="M3 6h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M6 6h7v1h-7v-1z"></path>
+<path fill="#dddddd" d="M3 8h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M6 8h7v1h-7v-1z"></path>
+<path fill="#dddddd" d="M3 10h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M6 10h7v1h-7v-1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5 3.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
+<path fill="#dddddd" d="M3.5 0c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5-1.6-3.5-3.5-3.5zM3.5 6c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
+<path fill="#dddddd" d="M3.5 8c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5c0-1.9-1.6-3.5-3.5-3.5zM3.5 14c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
+<path fill="#dddddd" d="M8 2h8v3h-8v-3z"></path>
+<path fill="#dddddd" d="M8 10h8v3h-8v-3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0l-8 2v10l8 4 8-4v-10l-8-2zM8 1l2.1 0.5-5.9 1.9-2.3-0.8 6.1-1.6zM8 14.9l-7-3.5v-8.1l3 1v3.4l1 0.3v-3.3l3 1v9.2zM8.5 4.8l-2.7-0.9 6.2-1.9 2.4 0.6-5.9 2.2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM15 3h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v1z"></path>
+<path fill="#dddddd" d="M3 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M4 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M6 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M5 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M7 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M9 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M8 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M10 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M11 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 5h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 4h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 7h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 6h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 9h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 8h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 11h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 10h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 4h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 5h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 6h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 7h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 8h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 9h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 10h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 11h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M4 11h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M4 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M5 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M6 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M7 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M9 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M8 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M11 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M10 13h1v1h-1v-1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M4 11.5v2.5h8v-1.7c0 0 0.1-1.3-1.3-1.5-1.3-0.2-1.5 0.4-2.5 0.5-0.8 0-0.6-1.3-2.2-1.3-1.2 0-2 1.5-2 1.5z"></path>
+<path fill="#dddddd" d="M12 8.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11.6 5c-0.2 0-0.5 0-0.6 0 0-0.2-0.2-0.6-0.4-0.8s-0.6-0.4-1.1-0.4c-0.2 0-0.4 0-0.6 0.1-0.1-0.2-0.2-0.3-0.3-0.5-0.2-0.2-0.5-0.4-1.1-0.4-0.2 0-0.4 0-0.5 0.1v-1.7c0-0.6-0.4-1.4-1.4-1.4-0.4 0-0.8 0.2-1.1 0.4-0.5 0.6-0.5 1.4-0.5 1.4v4.3c-0.6 0.1-1.1 0.3-1.4 0.6-0.6 0.7-0.6 1.6-0.6 2.8 0 0.2 0 0.5 0 0.7 0 1.4 0.7 2.1 1.4 2.8l0.3 0.4c1.3 1.2 2.4 1.6 5.1 1.6 2.9 0 4.2-1.6 4.2-5.1v-2.5c0-0.7-0.2-2.1-1.4-2.4zM12 7.4v2.6c0 3.4-1.3 4.1-3.2 4.1-2.4 0-3.3-0.3-4.3-1.3-0.1-0.1-0.2-0.2-0.4-0.4-0.7-0.8-1.1-1.2-1.1-2.2 0-0.2 0-0.5 0-0.7 0-1 0-1.7 0.3-2.1 0.1-0.1 0.4-0.2 0.7-0.2v0.5l-0.3 1.5c0 0.1 0 0.1 0.1 0.2s0.2 0 0.2 0l1-1.2c0-0.1 0-0.2 0-0.2v-6.2c0-0.1 0-0.5 0.2-0.7 0.1 0 0.2-0.1 0.4-0.1 0.3 0 0.4 0.3 0.4 0.4v3.1c0 0 0 0 0 0v1.2c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-1.3c0 0 0 0 0 0 0-0.1 0.1-0.5 0.5-0.5 0.3 0 0.5 0.1 0.5 0.4v1.3c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-0.7c0-0.1 0.1-0.3 0.5-0.3 0.2 0 0.3 0.1 0.3 0.1 0.2 0.1 0.2 0.4 0.2 0.4v0.8c0 0.3 0.2 0.5 0.4 0.5 0.3 0 0.5-0.1 0.5-0.4 0-0.1 0.1-0.2 0.2-0.3 0 0 0.1 0 0.2 0 0.6 0.2 0.7 1.2 0.7 1.5 0-0.1 0-0.1 0 0z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14.9 0.9c-1.1-1-2.5-1.3-3.1-0.4-0.7 1.1 0.5 1.7-0.3 2.5-0.5 0.6-2-0.8-2-0.8l-0.8-0.8-1.4 1.4c-0.6 0.7-2.1 1.5-2.6 1.1-0.7-0.6 0.1-1.8-0.5-2.6-0.7-1-2.1-0.8-3 0.3-1 1.1-1.4 2.4-0.5 3 1.1 0.7 1.9-0.3 2.7 0.5 0.4 0.4-0.2 1.7-0.5 2.1l-2.3 2.3 6.5 6.5 1.7-1.7c0.7-0.7 1.5-2 1.1-2.4-0.6-0.7-1.7 0.1-2.5-0.4-1-0.7-0.8-2 0.3-3s2.5-1.3 3.1-0.4c0.7 1.1-0.4 1.8 0.4 2.6 0.4 0.4 1.6-0.2 2-0.6l2.1-2.1-1.1-1.1c-0.6-0.6-1.9-2-1.4-2.5 0.6-0.7 1.7 0.2 2.5-0.4 0.9-0.8 0.6-2.1-0.4-3.1z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM13 15h-10v-14h6v4h4v10zM10 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M4.7 7.7l-0.7-0.7v3h3l-1.2-1.2c0.4-0.8 1.3-1.3 2.2-1.3 1.4 0 2.5 1.1 2.5 2.5h1.5c0-2.2-1.8-4-4-4-1.3 0-2.5 0.7-3.3 1.7z"></path>
+<path fill="#dddddd" d="M9.8 11.8c-0.5 0.5-1.1 0.8-1.8 0.7-1 0-1.9-0.6-2.3-1.5h-1.6c0.4 1.7 2 3 3.8 3 1.1 0 2.1-0.5 2.8-1.2l1.3 1.2v-3h-3l0.8 0.8z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 0h2v3h-2v-3z"></path>
+<path fill="#dddddd" d="M6 4v3h1v9h2v-9h1v-3z"></path>
+<path fill="#dddddd" d="M2 0h2v8h-2v-8z"></path>
+<path fill="#dddddd" d="M1 9v3h1v4h2v-4h1v-3z"></path>
+<path fill="#dddddd" d="M12 0h2v10h-2v-10z"></path>
+<path fill="#dddddd" d="M11 11v3h1v2h2v-2h1v-3z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 15h15v-13h-15v13zM13 3h1v1h-1v-1zM14 14h-13v-4h13v4zM14 9h-13v-4h13v4z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1v15h16v-15h-16zM5 15h-4v-2h4v2zM5 12h-4v-2h4v2zM5 9h-4v-2h4v2zM5 6h-4v-2h4v2zM10 15h-4v-2h4v2zM10 12h-4v-2h4v2zM10 9h-4v-2h4v2zM10 6h-4v-2h4v2zM15 15h-4v-2h4v2zM15 12h-4v-2h4v2zM15 9h-4v-2h4v2zM15 6h-4v-2h4v2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M6 0h10v4h-10v-4z"></path>
+<path fill="#dddddd" d="M6 6h10v4h-10v-4z"></path>
+<path fill="#dddddd" d="M6 12h10v4h-10v-4z"></path>
+<path fill="#dddddd" d="M3 1v2h-2v-2h2zM4 0h-4v4h4v-4z"></path>
+<path fill="#dddddd" d="M3 13v2h-2v-2h2zM4 12h-4v4h4v-4z"></path>
+<path fill="#dddddd" d="M5.3 5.9l-0.6-0.8-0.9 0.9h-3.8v4h4v-2.8l1.3-1.3zM2.7 7l-0.7 0.7-0.8-0.7h1.5zM1 8.2l0.9 0.8h-0.9v-0.8zM3 9h-0.9l0.9-0.9v0.9z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 1l-8 14h16l-8-14zM8 13c-0.6 0-1-0.4-1-1s0.4-1 1-1 1 0.4 1 1c0 0.6-0.4 1-1 1zM7 10v-4h2v4h-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10.3 8.2l-0.9 0.9 0.9 0.9-1.2 1.2 4.3 4.3c0.6 0.6 1.5 0.6 2.1 0s0.6-1.5 0-2.1l-5.2-5.2zM14.2 15c-0.4 0-0.8-0.3-0.8-0.8 0-0.4 0.3-0.8 0.8-0.8s0.8 0.3 0.8 0.8c0 0.5-0.3 0.8-0.8 0.8z"></path>
+<path fill="#FFFFFF" d="M3.6 8l0.9-0.6 1.5-1.7 0.9 0.9 0.9-0.9-0.1-0.1c0.2-0.5 0.3-1 0.3-1.6 0-2.2-1.8-4-4-4-0.6 0-1.1 0.1-1.6 0.3l2.9 2.9-2.1 2.1-2.9-2.9c-0.2 0.5-0.3 1-0.3 1.6 0 2.1 1.6 3.7 3.6 4z"></path>
+<path fill="#FFFFFF" d="M8 10.8l0.9-0.8-0.9-0.9 5.7-5.7 1.2-0.4 1.1-2.2-0.7-0.7-2.3 1-0.5 1.2-5.6 5.7-0.9-0.9-0.8 0.9c0 0 0.8 0.6-0.1 1.5-0.5 0.5-1.3-0.1-2.8 1.4-0.5 0.5-2.1 2.1-2.1 2.1s-0.6 1 0.6 2.2 2.2 0.6 2.2 0.6 1.6-1.6 2.1-2.1c1.4-1.4 0.9-2.3 1.3-2.7 0.9-0.9 1.6-0.2 1.6-0.2zM4.9 10.4l0.7 0.7-3.8 3.8-0.7-0.7z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M2 5v1h1v9c0 0 1.1 1 4.5 1s4.5-1 4.5-1v-9h1v-1h-11zM6 14h-1v-7h1v7zM8 14h-1v-7h1v7zM10 14h-1v-7h1v7z"></path>
+<path fill="#dddddd" d="M12 3c0 0 0-0.5-2-0.8v-0.7c0-0.8-0.7-1.5-1.5-1.5h-2c-0.8 0-1.5 0.7-1.5 1.5v0.7c-1.6 0.3-2 0.8-2 0.8h-1v1h11v-1h-1zM6 1.5c0-0.3 0.2-0.5 0.5-0.5h2c0.2 0 0.5 0.2 0.5 0.5v0.6c0-0.1-0.9-0.1-1.5-0.1s-1.1 0-1.5 0.1v-0.6z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 7.9l6-4.9v3c0 0 1.1 0 2 0 8 0 8 8 8 8s-1-4-7.8-4c-1.1 0-1.8 0-2.2 0v2.9l-6-5z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#ffffff" d="M 10,0 H 2 V 16 H 14 V 4 Z"/>
+<path fill="#444444" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"/>
+<text x="3" y="12" fill="darkorange" font-stretch="condensed" font-family="mono" font-size="6px" font-weight="bold"></></text>
+</svg>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
+<path fill="#FFFFFF" d="M7 3h-2v2h-2v2h2v2h2v-2h2v-2h-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
+<path fill="#FFFFFF" d="M3 5h6v2h-6v-2z"></path>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.0" width="128" height="128" id="svg2">
+ <defs id="defs5">
+ <linearGradient id="linearGradient28132">
+ <stop id="stop28134" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop28136" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient28077">
+ <stop id="stop28079" style="stop-color:#7a7a7a;stop-opacity:1" offset="0"/>
+ <stop id="stop28081" style="stop-color:#000000;stop-opacity:0.4909091" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient28069">
+ <stop id="stop28071" style="stop-color:#868385;stop-opacity:1" offset="0"/>
+ <stop id="stop28073" style="stop-color:#4a4949;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient28059">
+ <stop id="stop28061" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop28063" style="stop-color:#000000;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient28049">
+ <stop id="stop28051" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop28053" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient27983">
+ <stop id="stop27985" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop27987" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient27973">
+ <stop id="stop27975" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop27977" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient27933">
+ <stop id="stop27935" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop27937" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17395">
+ <stop id="stop17397" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop17399" style="stop-color:#ffffff;stop-opacity:0.80000001" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient17383">
+ <stop id="stop17385" style="stop-color:#202020;stop-opacity:1" offset="0"/>
+ <stop id="stop17387" style="stop-color:#202020;stop-opacity:0.76363635" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3275">
+ <stop id="stop3277" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop3279" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3215">
+ <stop id="stop3217" style="stop-color:#8a8a8a;stop-opacity:1" offset="0"/>
+ <stop id="stop3219" style="stop-color:#c6c6c6;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3136">
+ <stop id="stop3138" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3140" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3088">
+ <stop id="stop3090" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3092" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3033">
+ <stop id="stop3035" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3037" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3706">
+ <stop id="stop3708" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop3710" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3577">
+ <stop id="stop3579" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop3581" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3468">
+ <stop id="stop3470" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3472" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3446">
+ <stop id="stop3448" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3451" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3111">
+ <stop id="stop3113" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3603" style="stop-color:#ffffff;stop-opacity:0.69818181" offset="0.5"/>
+ <stop id="stop3115" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3077">
+ <stop id="stop3079" style="stop-color:#d0ced9;stop-opacity:1" offset="0"/>
+ <stop id="stop3087" style="stop-color:#ecf1f9;stop-opacity:1" offset="0.25"/>
+ <stop id="stop3085" style="stop-color:#ffffff;stop-opacity:1" offset="0.5"/>
+ <stop id="stop3081" style="stop-color:#c6d5e3;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3317">
+ <stop id="stop3319" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop3321" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3174">
+ <stop id="stop3176" style="stop-color:#2e2a2b;stop-opacity:1" offset="0"/>
+ <stop id="stop3182" style="stop-color:#4c494a;stop-opacity:1" offset="0.33497536"/>
+ <stop id="stop3214" style="stop-color:#5b595a;stop-opacity:1" offset="0.66748768"/>
+ <stop id="stop3178" style="stop-color:#6b696a;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="-97.742668" y1="1937.9885" x2="-97.742668" y2="1895.421" id="linearGradient3250" xlink:href="#linearGradient3174" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,317.24891,-4887.3657)"/>
+ <filter id="filter3444" height="2.5930088" y="-0.79650438" width="1.1419513" x="-0.070975639">
+ <feGaussianBlur id="feGaussianBlur3446" stdDeviation="2.9868914" inkscape:collect="always"/>
+ </filter>
+ <clipPath id="clipPath3008">
+ <rect width="78.12355" height="55.395592" rx="1.133948" ry="1.133948" x="24.680513" y="-68.245476" id="rect3010" style="opacity:0.265625;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.39999992;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ </clipPath>
+ <radialGradient cx="100.30548" cy="42.449028" r="38" fx="100.30548" fy="42.449028" id="radialGradient3083" xlink:href="#linearGradient3077" gradientUnits="userSpaceOnUse" gradientTransform="matrix(4.5705286,7.2649243e-7,-2.9846211e-7,1.8569392,-416.60853,-84.720552)"/>
+ <filter id="filter3105">
+ <feGaussianBlur id="feGaussianBlur3107" stdDeviation="0.66759571" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="64.801826" cy="63.781319" r="34.041004" fx="64.801826" fy="63.781319" id="radialGradient3117" xlink:href="#linearGradient3111" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1398365,0,0,1.0706638e-2,-9.061664,63.098436)"/>
+ <clipPath id="clipPath3215">
+ <path d="M 11.375,-167.68125 C 8.4215521,-167.68125 8,-167.31718 8,-164.3375 L 8,-163.55625 C 8,-166.53593 8.4215521,-166.86875 11.375,-166.86875 L 116.625,-166.86875 C 119.57845,-166.86875 120,-166.53593 120,-163.55625 L 120,-164.3375 C 120,-167.31718 119.57845,-167.68125 116.625,-167.68125 L 11.375,-167.68125 z" id="path3217" style="opacity:1;fill:url(#linearGradient3219);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
+ </clipPath>
+ <linearGradient x1="-98.926186" y1="1892.9656" x2="-98.926186" y2="1897.0332" id="linearGradient3219" xlink:href="#linearGradient3317" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,317.24891,-5063.043)"/>
+ <filter height="1.4537807" y="-0.22689034" width="1.0142819" x="-0.0071409685" id="filter3371">
+ <feGaussianBlur id="feGaussianBlur3373" stdDeviation="0.33324519" inkscape:collect="always"/>
+ </filter>
+ <filter id="filter3417">
+ <feGaussianBlur id="feGaussianBlur3419" stdDeviation="0.11145486" inkscape:collect="always"/>
+ </filter>
+ <linearGradient x1="69.913269" y1="-96.5" x2="70.020454" y2="-67.843079" id="linearGradient3453" xlink:href="#linearGradient3446" gradientUnits="userSpaceOnUse" gradientTransform="translate(5.89968e-2,131.40729)"/>
+ <linearGradient x1="107.06239" y1="-26.262714" x2="107.06239" y2="134.55173" id="linearGradient3474" xlink:href="#linearGradient3468" gradientUnits="userSpaceOnUse" gradientTransform="translate(9.4,0.6)"/>
+ <filter height="1.3748291" y="-0.1874145" width="1.0467155" x="-0.023357728" id="filter3565">
+ <feGaussianBlur id="feGaussianBlur3567" stdDeviation="1.0149838" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="28.481363" cy="164.13387" r="52.144646" fx="28.481363" fy="164.13387" id="radialGradient3583" xlink:href="#linearGradient3577" gradientUnits="userSpaceOnUse" gradientTransform="matrix(5.4915792,-0.1150427,2.6103208e-3,0.1246041,-128.35474,104.82482)"/>
+ <filter height="1.2405112" y="-0.12025558" width="1.1380129" x="-0.069006473" id="filter3659">
+ <feGaussianBlur id="feGaussianBlur3661" stdDeviation="1.9228365" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="64.801826" cy="63.781319" r="34.041004" fx="64.801826" fy="63.781319" id="radialGradient3692" xlink:href="#linearGradient3111" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.0552043,0,0,2.2032141e-2,0.5328457,76.944704)"/>
+ <radialGradient cx="84" cy="91.983192" r="32" fx="84" fy="91.983192" id="radialGradient3704" xlink:href="#linearGradient3468" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.6210279,0,37.87587)"/>
+ <linearGradient x1="47.608696" y1="104.35009" x2="47.608696" y2="176.35008" id="linearGradient3712" xlink:href="#linearGradient3706" gradientUnits="userSpaceOnUse"/>
+ <filter height="2.2481999" y="-0.62409997" width="1.0121166" x="-0.0060582431" id="filter3726">
+ <feGaussianBlur id="feGaussianBlur3728" stdDeviation="0.18955201" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="118.16644" cy="9.119606" r="1.284445" fx="118.16644" fy="9.119606" id="radialGradient3039" xlink:href="#linearGradient3033" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.2088257,0.9583181,-1.4021168,1.7686352,-11.9962,-120.41039)"/>
+ <filter id="filter3077">
+ <feGaussianBlur id="feGaussianBlur3079" stdDeviation="0.10453397" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="118.16644" cy="9.119606" r="1.284445" fx="118.16644" fy="9.119606" id="radialGradient3084" xlink:href="#linearGradient3033" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.2088257,0.9583181,-1.4021168,1.7686352,-11.0962,-120.71039)"/>
+ <radialGradient cx="104.09375" cy="9" r="0.46875" fx="104.09375" fy="9" id="radialGradient3094" xlink:href="#linearGradient3088" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.8,-0.4640388,1.9104855)"/>
+ <filter id="filter3120">
+ <feGaussianBlur id="feGaussianBlur3122" stdDeviation="0.025961538" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="104.09375" cy="9" r="0.46875" fx="104.09375" fy="9" id="radialGradient3126" xlink:href="#linearGradient3088" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,0.8,-80.464039,1.9104855)"/>
+ <linearGradient x1="-37.195274" y1="42.336197" x2="-12.625" y2="106.7981" id="linearGradient3142" xlink:href="#linearGradient3136" gradientUnits="userSpaceOnUse" gradientTransform="translate(126.8,0)"/>
+ <filter id="filter3192">
+ <feGaussianBlur id="feGaussianBlur3194" stdDeviation="0.0231875" inkscape:collect="always"/>
+ </filter>
+ <clipPath id="clipPath3199">
+ <path d="M 18.189713,132.42089 C 16.770505,132.42089 15.627213,133.56419 15.627213,134.98339 L 15.627213,172.16667 L 87.627215,172.16667 L 87.627215,134.98339 C 87.627215,133.56419 86.483925,132.42089 85.064715,132.42089 L 18.189713,132.42089 z" id="path3201" style="fill:#000000;fill-opacity:0.12831858;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ </clipPath>
+ <linearGradient x1="64" y1="120.0697" x2="56" y2="96.315643" id="linearGradient3221" xlink:href="#linearGradient3215" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0103538,0,-1.3128784)"/>
+ <filter height="1.1857692" y="-0.092884615" width="1.2476923" x="-0.12384615" id="filter3271">
+ <feGaussianBlur id="feGaussianBlur3273" stdDeviation="1.2384615" inkscape:collect="always"/>
+ </filter>
+ <linearGradient x1="68" y1="120" x2="36" y2="84" id="linearGradient3281" xlink:href="#linearGradient3275" gradientUnits="userSpaceOnUse"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17389" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.04831,98.650809)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17391" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.86565,81.869097)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17393" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.65627,76.131701)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17401" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.35341,75.348463)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17403" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.98917,83.339266)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17405" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.98299,64.593236)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17927" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.06714,86.432831)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17929" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.83916,54.919294)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17931" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.88342,62.800233)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17933" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.71623,79.165529)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17935" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.84517,54.21146)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17937" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.53241,97.806917)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17939" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.24534,81.048567)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17941" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70361,55.279303)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17943" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.6284,97.067631)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17945" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.34854,61.711899)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17947" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.66265,52.483914)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17949" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.59014,59.510188)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17951" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.46624,60.173404)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17953" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.87629,58.336657)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17955" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.58009,67.154481)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17957" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.73496,62.400106)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17959" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.35161,73.551175)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17961" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.89594,66.58864)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17963" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.13384,84.814934)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17965" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.91271,77.941165)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17967" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.20449,51.17675)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17969" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.06524,69.064619)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17971" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.52359,92.856996)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17973" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.43503,94.662593)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17975" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.85757,64.997276)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17977" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.75931,67.251671)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17979" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.65593,78.369252)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17981" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.62706,51.493137)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17983" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.93824,68.322369)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17985" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.53268,55.235233)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17987" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.21066,71.47352)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient17989" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.5919,56.467526)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient17991" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.71564,74.930868)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient17993" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.4736,53.559868)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient17995" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.55832,61.067038)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient17997" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.31207,66.681291)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient17999" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.10403,67.750684)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18001" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.33468,72.447586)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18003" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26012,87.91266)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18005" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.40056,82.048109)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18007" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.0213,62.520599)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18009" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.36835,56.244802)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18011" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.08718,57.926553)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18013" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.79114,57.080862)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18015" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.03918,48.584498)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18017" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.6183,63.700535)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18019" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.93757,95.476082)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18021" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.02547,77.574321)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18023" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.21364,48.418007)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18025" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.70823,82.23261)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18027" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.15255,92.772183)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18029" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.65169,79.498937)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18031" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.49456,78.16038)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18033" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.67608,84.861682)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18035" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.26899,52.027937)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18037" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.45628,86.592803)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18039" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.00836,90.316584)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18041" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.89546,82.204785)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18043" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.56485,49.076767)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18045" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.43699,83.788635)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18047" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.40557,82.936981)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18049" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.93802,93.778176)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18051" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19068,89.201266)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18053" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.13798,52.027419)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18055" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.45937,84.129612)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18057" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.56245,48.654412)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18059" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.63529,65.193646)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18061" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.98125,77.181558)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18063" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.69936,101.45983)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18065" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.28009,95.000749)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18067" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.7688,89.934128)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18069" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.73667,49.776232)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18071" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.71492,87.099601)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18073" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.40761,55.73509)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18075" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.59256,76.129457)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18077" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.50428,70.646216)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18079" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.1711,87.719524)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18081" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.57429,74.288249)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18083" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.27965,65.898402)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18085" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.29621,93.400413)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18087" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.27056,70.316108)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18089" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.20777,48.563152)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18091" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.39529,83.572253)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18093" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81164,57.257035)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18095" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.89446,53.860035)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18097" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.88926,94.901194)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18099" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.34424,94.619712)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18101" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.08388,70.672254)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18103" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.9536,55.272771)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18105" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.64822,51.584368)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18107" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.34619,56.086318)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18109" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.27079,87.813541)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18111" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.02855,64.950753)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18113" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.72777,47.537589)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18115" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.50256,86.101458)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18117" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.31555,49.887473)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18119" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.22916,94.031526)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18121" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.47311,67.000704)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18123" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.55203,62.073911)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18125" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.18659,61.00993)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18127" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.54179,61.764079)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18129" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.42695,88.75579)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18131" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.73423,88.006441)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18133" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.64361,58.908237)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18135" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.96634,55.970755)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18137" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.50462,92.061954)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient18139" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.43236,57.658044)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient18141" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.54487,89.80346)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient18143" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.63109,94.239208)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient18145" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.39712,73.965174)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient18147" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.64656,71.246105)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient18149" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26639,58.537091)"/>
+ <clipPath id="clipPath25065">
+ <path d="M -283.36245,66.003757 C -284.5397,66.003757 -285.48745,66.951507 -285.48745,68.128757 L -285.48745,105.94751 L -230.0812,105.94751 L -230.0812,68.128757 C -230.0812,66.951507 -231.02895,66.003757 -232.2062,66.003757 L -283.36245,66.003757 z M -277.1437,69.347507 L -263.0187,69.347507 C -262.49915,69.347507 -262.0812,69.765457 -262.0812,70.285007 L -262.0812,96.410007 C -262.0812,96.929557 -262.49915,97.347507 -263.0187,97.347507 L -277.1437,97.347507 C -277.66325,97.347507 -278.0812,96.929557 -278.0812,96.410007 L -278.0812,70.285007 C -278.0812,69.76546 -277.66325,69.347507 -277.1437,69.347507 z" id="path25067" style="opacity:1;fill:url(#linearGradient25069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ </clipPath>
+ <linearGradient x1="52" y1="112" x2="52" y2="80" id="linearGradient25069" xlink:href="#linearGradient3215" gradientUnits="userSpaceOnUse" gradientTransform="translate(-318.0812,-14.652496)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25071" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.38211,96.058611)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25073" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.17339,68.78127)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25075" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.16644,100.32021)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25077" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.0724,74.753533)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25079" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.8528,53.860792)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25081" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.06483,97.785398)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25083" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.80022,50.494008)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25085" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.04164,84.576711)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25087" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.52819,76.538651)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25089" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.65959,57.539347)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25091" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.86203,66.719957)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25093" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.8179,50.386062)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25095" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.05855,74.425415)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25097" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.12915,42.23811)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25099" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.66068,93.444381)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25101" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.70143,51.859788)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25103" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.98631,53.268073)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25105" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.37167,89.887836)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25107" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.74685,64.326802)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25109" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.8959,81.54662)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25111" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.29278,47.198913)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25113" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.711,91.667267)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25115" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.69501,98.782896)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25117" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.34776,95.10665)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25119" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.74429,53.915931)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25121" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.55698,53.16276)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25123" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.95662,47.486179)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25125" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.35779,58.642553)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25127" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.23431,45.441149)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25129" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.86474,74.954131)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25131" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.10867,97.34097)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25133" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.25958,46.78729)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25135" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.81379,94.9744)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25137" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.94383,78.792993)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25139" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.57868,84.007476)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25141" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.90486,92.071216)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25143" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.00999,71.757639)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25145" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.61023,87.451829)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25147" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.28284,81.593319)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25149" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.0861,90.515961)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25151" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.78528,75.738299)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25153" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.05801,67.184614)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25155" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.88883,54.629747)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25157" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.78443,79.523126)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25159" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.08719,80.115126)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25161" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.49501,50.253965)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25163" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.25412,62.696544)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25165" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.45523,79.406263)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25167" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.41942,54.610361)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25169" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.5503,80.159362)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25171" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.74779,82.303681)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25173" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.25995,94.08089)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25175" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.0894,95.830634)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25177" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.55239,43.484478)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25179" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.02703,76.389395)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25181" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.01949,89.014582)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25183" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.5417,72.608952)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25185" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.02746,79.641932)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25187" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.10405,89.937584)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25189" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.01422,68.861646)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25191" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.34232,64.508541)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25193" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.1797,58.959427)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25195" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.06036,98.049416)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25197" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.04789,60.240488)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25199" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.66368,52.21739)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25201" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.81342,73.677919)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25203" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.27374,88.937138)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25205" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.28503,78.626899)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25207" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.77725,94.296605)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25209" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.03812,59.050813)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25211" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.04593,71.103629)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25213" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.33961,87.338103)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25215" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.90676,91.613815)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25217" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.58716,82.306123)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25219" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.97587,82.888964)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25221" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.63853,48.592378)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25223" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.17805,82.032511)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25225" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.34891,75.185611)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25227" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.37818,58.417957)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25229" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.67765,55.742352)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25231" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.4097,62.833675)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25233" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.35607,79.408455)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25235" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.7447,68.787837)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25237" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.94661,55.287673)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25239" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.17737,55.539508)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25241" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.80814,74.829959)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25243" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.23561,52.533322)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25245" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.80864,97.942226)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25247" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.04119,65.636136)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25249" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.16068,85.874483)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25251" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.2966,78.103089)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25253" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.2253,63.940556)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25255" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.24862,54.096019)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25257" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.54865,65.626587)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25259" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.0947,48.525423)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25261" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.75331,51.284339)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25263" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.13564,72.571239)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25265" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.09768,73.231703)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25267" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.70515,102.75344)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25269" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.38314,101.07037)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25271" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.05661,63.96836)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25273" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.94209,72.979553)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25275" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.86084,73.351613)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25277" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.08696,78.669612)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25279" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.46218,61.658045)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25281" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.01556,70.609094)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25283" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.60137,85.269477)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25285" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.85815,87.158859)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25287" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.93834,73.09266)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25289" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.51219,76.968198)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25291" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.62389,53.714891)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25293" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.81095,65.65574)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25295" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.1174,79.920498)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25297" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.31182,94.22334)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25299" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.82608,79.603251)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25301" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.74465,86.802406)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25303" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.19678,55.049012)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25305" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.27319,62.663747)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25307" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.00246,99.797565)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25309" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.49681,62.469135)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25311" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.01015,67.065542)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25313" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.2218,88.255847)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25315" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.62659,100.49906)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25317" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.88673,89.25093)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25319" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.76579,78.929875)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25321" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.1367,69.744078)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25323" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.16539,96.80496)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25325" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.50604,95.25611)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25327" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.0547,101.92665)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25329" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.95849,84.566088)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25331" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.91109,56.112126)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25333" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.89562,74.202974)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25335" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.53845,92.086584)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25337" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.9649,56.388537)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25339" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.0286,75.756506)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25341" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.89374,87.521709)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25343" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.8761,68.273979)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25345" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.26228,47.180868)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25347" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.91805,83.030339)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25349" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.90486,89.074686)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25351" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.74266,61.23647)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25353" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.07618,77.989104)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25355" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.99922,82.379721)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25357" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.25102,78.974994)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25359" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.92593,66.582197)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25361" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.87488,90.973141)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25363" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.14427,53.878791)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25365" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.63365,51.02227)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25367" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.63774,97.263187)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25369" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.66009,78.261234)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25371" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.12648,63.541393)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25373" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.44656,90.883629)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25375" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.10606,66.63253)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25377" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.24541,89.879804)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25379" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.75451,73.741383)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25381" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.04198,85.944877)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25383" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.59922,93.062511)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25385" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.33442,48.916147)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25387" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.42778,87.747819)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25389" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.87795,46.102846)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25391" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.76042,57.778219)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25393" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.28711,55.089283)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25395" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.00493,80.55014)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25397" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.76301,84.467965)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25399" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.09758,65.661454)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25401" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.60272,91.234744)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25403" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.19726,69.665254)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25405" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.48891,52.819633)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25407" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.66919,94.582064)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25409" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.80325,85.619929)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25411" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.57968,57.069825)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25413" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.58682,65.503385)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25415" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.14174,48.577251)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25417" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.67014,82.861539)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25419" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.77739,87.621414)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25421" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.58356,90.808782)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25423" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.22748,49.22511)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25425" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.88045,89.331479)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25427" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.08206,73.679835)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25429" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.92333,98.779166)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25431" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.80519,81.754991)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25433" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.48779,69.946426)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25435" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.6343,67.002042)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25437" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.36223,86.555487)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25439" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.98491,53.461282)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25441" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.63347,60.740732)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25443" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.49112,93.886238)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25445" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.0295,46.463347)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25447" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.39578,80.802235)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25449" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.25661,74.119006)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25451" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.82125,56.065217)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25453" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.21644,57.806455)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25455" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.1716,43.752105)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25457" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.03293,67.790618)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25459" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.11879,70.91176)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25461" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.04165,79.077835)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25463" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.39124,76.195736)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25465" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.90693,79.587908)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25467" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.22061,47.99961)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25469" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.39882,62.582495)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25471" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.67782,102.12202)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25473" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.47238,73.923449)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25475" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.9026,64.745496)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25477" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.81868,77.281724)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25479" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.12565,63.352013)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25481" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.33163,97.086604)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25483" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.76353,85.066104)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25485" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.89508,54.203911)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25487" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.54305,67.199939)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25489" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.27681,72.403163)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25491" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.02385,88.069533)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25493" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.76838,88.78592)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25495" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.32961,56.208973)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25497" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.37873,88.863579)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25499" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.97817,91.731797)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25501" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.47633,50.134554)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25503" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.90923,69.227596)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25505" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.88412,67.106252)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25507" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.40947,74.939971)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25509" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.4478,57.634612)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25511" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.51182,92.809539)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25513" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.80362,50.410836)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25515" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.02572,65.891626)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25517" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.66411,84.453632)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25519" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.32685,59.734527)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25521" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.87078,59.219945)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25523" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.10721,59.642293)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25525" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.87107,95.50353)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25527" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.33115,96.648737)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25529" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.96561,51.859787)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25531" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.44773,78.310106)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25533" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.55415,72.470695)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25535" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.81771,87.843085)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25537" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.59479,45.717249)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25539" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.54047,71.618169)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25541" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.89265,55.938324)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25543" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.50631,73.919704)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25545" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.76911,49.792033)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25547" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.2194,64.311435)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25549" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.45637,61.709902)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25551" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.49561,43.100523)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25553" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.64006,66.916448)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25555" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.83152,80.672031)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25557" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.79432,71.297676)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25559" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.925,100.26332)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25561" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.38018,63.48345)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25563" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.42613,90.671813)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25565" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.09766,43.021663)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25567" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.71879,94.060061)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25569" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.43313,100.4486)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25571" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.93287,84.710556)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25573" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.02746,65.316537)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25575" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81323,83.133066)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25577" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.82007,62.36345)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25579" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.39029,94.105045)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25581" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.13426,58.170705)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25583" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.18474,75.349434)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25585" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.20203,48.845529)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25587" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.03562,55.758101)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25589" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.29811,52.259728)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25591" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.6151,77.618141)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25593" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.05919,91.908055)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25595" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.60563,78.470723)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25597" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.903,89.769672)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25599" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.24145,45.861223)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25601" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.53475,43.795964)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25603" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.77556,48.95078)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25605" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.2318,87.681518)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25607" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.58276,55.747252)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25609" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.78469,79.944157)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25611" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.86844,50.278288)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25613" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.91709,47.248874)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25615" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.95266,76.765426)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25617" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.94025,78.21498)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25619" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.68773,56.303855)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25621" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.42025,72.239281)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25623" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.77142,70.608768)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25625" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.62663,85.751899)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25627" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.42123,91.671771)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25629" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.10816,83.461099)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25631" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.671,50.936341)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25633" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.8437,76.600442)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25635" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.54453,86.838596)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25637" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.60334,44.432277)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25639" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19863,77.925457)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25641" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.81916,94.114099)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25643" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.90901,62.531869)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25645" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70763,73.774118)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25647" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.46635,77.168898)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25649" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.52156,69.213722)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25651" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.16458,66.538678)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25653" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.12069,62.394789)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25655" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.52721,90.396189)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25657" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.04492,54.904169)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25659" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.45617,81.829262)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25661" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.64673,71.55417)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25663" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.44925,62.441034)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25665" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.12965,56.246736)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25667" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.92528,53.299937)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25669" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.2057,95.742977)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25671" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.29121,86.984918)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25673" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.07831,65.831275)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25675" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.34249,98.138056)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25677" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.4937,75.046925)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25679" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.1355,90.678068)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25681" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.25941,94.504639)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25683" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.67862,58.096074)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25685" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.17987,88.526706)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25687" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.87076,85.072027)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25689" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.44615,99.129507)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25691" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.03251,52.847877)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25693" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.31058,78.926478)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25695" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.38729,76.478332)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25697" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.77608,48.930248)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25699" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.78137,65.224321)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25701" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.75188,76.831363)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25703" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.11667,99.752269)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25705" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.04074,83.076253)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25707" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.40607,61.643761)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25709" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.68623,81.637039)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25711" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.6966,82.312204)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25713" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.87099,85.200996)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25715" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.14815,80.964882)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25717" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.25356,56.87887)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25719" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.98002,90.303091)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25721" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.64409,62.66442)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25723" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.07904,58.945199)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25725" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.74295,74.927436)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25727" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.72421,60.663158)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25729" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.21981,74.741939)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25731" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.31423,69.448412)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25733" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.84608,68.815406)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25735" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.18009,72.228015)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25737" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.34991,69.38326)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25739" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.3173,94.625498)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25741" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.62702,57.437192)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25743" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.44646,93.781072)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25745" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.76175,81.46759)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25747" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.78404,49.42172)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25749" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.81022,99.158159)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25751" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.52567,99.957901)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25753" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.57132,57.231352)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25755" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.75051,83.271844)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25757" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.11784,89.955784)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25759" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.2487,58.800202)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25761" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.694,60.709343)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25763" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.11199,96.768099)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25765" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.40943,62.401395)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25767" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.45206,78.631553)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25769" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.26711,66.539263)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25771" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.70911,70.352217)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25773" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.40295,95.35491)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25775" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.94716,50.093518)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25777" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.64272,72.150133)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25779" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.62647,81.143023)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25781" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.14228,54.86069)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25783" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.29509,58.719807)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25785" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.30549,66.017408)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25787" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.31534,83.536696)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25789" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.74634,54.54358)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25791" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.81598,71.036429)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25793" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.37822,50.882072)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25795" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.54397,95.704671)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25797" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.10988,80.137108)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25799" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.12294,94.958668)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25801" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.14566,48.90426)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25803" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.47119,69.295949)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25805" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.10648,68.840038)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25807" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.91314,91.117042)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25809" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.0356,46.698952)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25811" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.94624,73.379187)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25813" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.57653,93.149875)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25815" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.55881,53.111903)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25817" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.09461,51.13869)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25819" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.26013,97.389846)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25821" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.54159,74.940044)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25823" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.07562,92.952027)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25825" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.89693,60.272946)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25827" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.98046,78.793425)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25829" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.86916,51.559013)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25831" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.32905,85.452556)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25833" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.54228,90.635746)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25835" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.44461,57.766641)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25837" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.24108,68.261244)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25839" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.16236,61.104509)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25841" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.34105,58.960917)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25843" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.2905,83.175482)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25845" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.15465,75.135647)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25847" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.9938,55.97573)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25849" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.90553,96.057791)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25851" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.96328,66.21203)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25853" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.76821,93.599068)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25855" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.95708,55.921228)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25857" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.1816,60.903275)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25859" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.30553,80.478416)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25861" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.10752,50.516123)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25863" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.50403,78.72218)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25865" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.70184,79.141059)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25867" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.8086,77.286836)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25869" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.89896,54.508566)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25871" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.13152,96.866027)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25873" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.73149,77.585866)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25875" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.52509,44.701208)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25877" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.61234,70.479666)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25879" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.8115,63.378045)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25881" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.42213,58.729505)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25883" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.04973,100.68876)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25885" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.26572,51.814988)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25887" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.19359,93.559083)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25889" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.29907,41.550704)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25891" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.34885,49.193737)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25893" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.37881,67.984252)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25895" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.28267,59.49831)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25897" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.05311,53.805192)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25899" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.5602,81.313378)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25901" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.9489,83.375827)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25903" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.45863,89.337988)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25905" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.30777,89.488645)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25907" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.26991,68.026294)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25909" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.197,44.08644)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25911" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.57626,59.327194)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25913" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.05568,56.498296)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25915" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.83245,75.470348)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25917" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.85895,100.97328)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25919" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.25345,68.350558)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25921" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.79683,55.060749)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25923" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.63195,50.962423)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25925" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.29248,92.765928)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25927" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.70545,69.466989)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25929" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.15384,88.371961)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25931" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.74113,95.148243)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25933" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.89802,91.894132)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25935" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.17488,61.734911)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25937" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.98542,55.171014)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25939" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.40944,81.128571)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25941" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.77183,67.275714)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25943" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.54992,51.391434)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25945" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.84487,57.530592)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25947" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.32101,72.460262)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25949" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.13057,89.796131)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25951" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.63146,66.984367)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25953" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.47995,98.363352)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25955" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.85622,95.006691)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25957" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.62809,70.570403)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25959" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.29674,82.688109)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25961" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.9558,59.196439)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25963" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.90801,84.960554)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25965" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.0659,80.248099)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25967" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.02201,56.40529)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25969" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.47597,59.319721)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25971" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.91338,81.832351)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25973" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.67642,97.511173)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25975" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.77997,66.826761)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25977" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.21696,55.204814)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25979" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.28156,99.194668)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25981" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.16497,91.936968)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25983" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.96732,57.902306)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25985" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.66966,94.451773)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25987" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.86723,80.633635)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient25989" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.87851,84.513313)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient25991" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.09357,60.622522)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient25993" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.42322,60.924173)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient25995" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.51572,47.316547)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient25997" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.41057,59.199964)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient25999" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.64963,47.837809)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26001" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.77568,100.63515)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26003" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.58237,45.460225)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26005" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.36492,92.067389)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26007" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.75397,54.890055)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26009" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.15973,82.806109)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26011" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.91485,69.195625)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26013" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.89556,98.504519)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26015" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.19639,89.863388)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26017" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.32418,81.88167)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26019" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.20665,97.838212)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26021" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.94344,90.752694)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26023" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.16996,82.180245)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26025" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.31052,57.231976)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26027" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.94962,51.183241)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26029" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.42874,66.896446)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26031" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.65024,96.875921)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26033" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.308,55.386706)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26035" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.67373,60.753257)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26037" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.50822,51.075751)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26039" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.52894,58.762284)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26041" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.94959,91.684887)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26043" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.26789,84.877056)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26045" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.05805,94.476969)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26047" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.56355,86.41264)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26049" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.13517,77.175513)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26051" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.02597,58.035693)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26053" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.14971,93.175794)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26055" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.25824,88.410331)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26057" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.79815,59.03502)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26059" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.94424,100.56856)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26061" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.38437,47.090204)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26063" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.70144,67.344287)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26065" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.50104,73.092261)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26067" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.91998,71.783425)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26069" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65277,74.03124)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26071" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.11602,99.243278)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26073" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.81905,83.115296)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26075" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.53041,58.04325)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26077" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.71379,53.569638)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26079" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.73995,56.014834)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26081" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.52662,45.024141)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26083" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.19677,82.692683)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26085" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.8594,73.102465)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26087" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.59595,65.436866)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26089" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.99607,60.382145)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26091" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.61424,94.167518)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26093" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.99055,58.222766)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26095" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.75284,57.913561)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26097" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.88775,81.060687)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26099" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.3816,64.33263)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26101" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.89851,53.909031)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26103" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.17448,62.102049)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26105" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.73853,57.030866)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26107" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.17331,73.768629)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26109" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.11883,81.414662)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26111" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.68982,64.458518)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26113" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.10479,96.180089)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26115" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.91423,82.147877)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26117" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.78875,74.985805)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26119" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.62906,96.421111)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26121" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.61017,90.04855)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26123" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.21485,44.978928)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26125" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.57813,77.832142)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26127" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.49023,74.683485)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26129" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.73713,47.320861)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26131" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.16616,84.789256)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26133" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.12103,100.13712)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26135" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.46258,85.337301)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26137" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.95687,96.57967)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26139" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.89762,43.598589)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26141" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.00975,52.562994)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26143" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.29583,89.579706)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26145" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.03831,46.741795)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26147" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.03618,89.022991)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26149" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.58455,96.869575)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26151" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.40275,53.81825)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26153" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.89983,65.779625)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26155" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.54855,79.720058)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26157" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.66431,70.024915)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26159" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.40935,72.453765)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26161" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.64538,74.917475)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26163" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.72972,48.706565)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26165" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.94438,74.846626)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26167" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.21313,101.54873)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26169" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.98842,76.692321)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26171" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.2709,100.69639)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26173" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.9594,72.450047)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26175" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.20383,59.035082)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26177" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.12744,53.794548)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26179" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.98869,53.142207)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26181" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.13628,98.100518)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26183" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.56781,94.919393)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26185" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.12461,95.97926)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26187" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.35399,55.220506)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26189" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.62563,82.907266)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26191" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.49627,98.714929)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26193" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.96478,58.525976)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26195" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.45519,97.424779)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26197" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.98701,92.818729)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26199" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.83196,91.179346)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26201" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.12249,56.157795)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26203" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.78724,61.715517)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26205" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.17592,66.548739)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26207" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.60827,71.560403)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26209" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.63961,99.402208)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26211" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.02711,87.232951)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26213" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.98141,75.110907)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26215" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.72915,90.927929)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26217" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.92879,97.252538)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26219" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.72492,56.317052)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26221" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.6908,88.473853)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26223" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.04456,69.276317)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26225" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.42003,78.754986)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26227" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.48178,71.059478)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26229" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.4398,89.404901)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26231" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.08727,100.23941)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26233" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.81385,88.623736)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26235" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.35265,81.097498)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26237" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.49542,80.736363)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26239" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.82391,102.62995)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26241" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.68584,69.035616)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26243" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.8909,91.25955)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26245" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.51204,43.292758)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26247" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.58826,92.533231)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26249" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.91765,93.825399)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26251" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.18391,67.189922)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26253" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.23566,61.001922)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26255" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.59135,67.428878)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26257" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.32576,85.901619)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26259" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.88665,79.910358)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26261" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.29826,52.507608)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26263" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91739,98.245721)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26265" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.86528,73.586258)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26267" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.69827,64.588411)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26269" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.77836,48.821272)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26271" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.31001,52.850576)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26273" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.32314,53.194791)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26275" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.31448,58.892835)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26277" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.85686,93.462001)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26279" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.9758,86.814968)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26281" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.48695,94.50283)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26283" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.77448,73.905739)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26285" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.11146,91.445987)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26287" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.43543,88.270935)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26289" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.26511,63.034765)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26291" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.87736,49.880397)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26293" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.32143,91.272568)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26295" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.90065,86.616652)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26297" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.60436,53.461688)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26299" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.43582,70.048052)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26301" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.39886,49.361679)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26303" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.75499,81.637997)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26305" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.69395,77.737543)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26307" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.90078,68.517067)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26309" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.238,65.742941)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26311" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.82817,74.89994)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26313" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.96281,90.303768)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26315" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.94621,83.816846)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26317" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.09277,92.359799)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26319" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.04693,42.296234)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26321" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.81511,95.382853)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26323" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.35982,68.031212)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26325" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.57305,65.633167)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26327" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.72023,78.376137)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26329" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.71531,95.386817)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26331" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.76606,70.613992)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26333" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.92549,77.294246)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26335" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.3949,93.826772)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26337" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.56505,76.919073)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26339" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.36489,89.107953)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26341" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.96918,73.353203)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26343" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.50662,49.932981)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26345" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.85232,43.463212)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26347" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.80296,61.002647)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26349" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.45749,54.539732)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26351" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.19833,61.363868)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26353" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.89152,67.193431)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26355" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.23817,56.717644)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26357" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.69815,65.891141)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26359" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.42673,47.889739)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26361" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.37493,80.774838)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26363" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.5567,71.713477)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26365" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.46176,58.968814)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26367" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.09506,75.675963)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26369" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.77836,88.047292)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26371" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.58104,72.677987)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26373" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.40127,56.120337)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26375" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.88109,99.349973)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26377" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.90521,76.321763)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26379" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.77391,73.143969)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26381" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.45078,68.894473)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26383" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.34401,73.508028)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26385" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.01549,98.843449)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26387" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.45871,54.292015)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26389" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.02899,63.064932)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26391" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.96409,49.99785)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26393" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.13609,59.196361)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26395" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.09141,102.17008)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26397" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.26954,70.133057)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26399" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.73524,96.505891)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26401" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.41006,68.527705)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26403" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.60542,60.727199)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26405" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.43104,53.430483)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26407" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.32042,92.259938)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26409" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.6568,68.338744)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26411" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.66507,53.368637)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26413" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.15419,84.625236)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26415" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.35996,85.892578)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26417" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.95352,73.071673)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26419" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.59911,52.768718)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26421" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.04709,68.472085)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26423" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.73392,95.242565)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26425" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.91053,53.860252)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26427" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.961,94.592686)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26429" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.02644,95.825107)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26431" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.84879,59.021262)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26433" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.29974,64.380676)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26435" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.59404,97.507151)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26437" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.12866,71.287185)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26439" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.69166,91.939584)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26441" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.92339,44.953255)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26443" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.56343,52.22804)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26445" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.63368,48.017753)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26447" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.02668,62.411475)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26449" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.42675,58.566706)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26451" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.33318,46.059348)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26453" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.13567,58.757321)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26455" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.57474,100.96913)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26457" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.97263,46.082625)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26459" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.32669,67.279158)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26461" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.76226,59.46013)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26463" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.45756,71.652658)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26465" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.58738,67.526028)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26467" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.47772,96.355565)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26469" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.16172,62.355435)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26471" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.98759,49.311847)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26473" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.58199,67.883424)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26475" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.25718,51.466042)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26477" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.80047,42.984038)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26479" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.26636,52.927194)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26481" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.5903,87.902473)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26483" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.57186,74.960311)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26485" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.46051,84.348265)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26487" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.88495,91.390387)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26489" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.04437,49.478819)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26491" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.50689,56.699134)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26493" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.49716,54.758095)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26495" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.2186,63.383976)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26497" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.99597,64.615185)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26499" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.72593,54.306593)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26501" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.6354,82.192618)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26503" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.72677,55.965991)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26505" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.74684,93.348705)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26507" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.11095,98.355157)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26509" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.41642,58.129447)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26511" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.81562,60.402738)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26513" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.48888,67.582417)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26515" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.11081,52.39427)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26517" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.87595,73.453053)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26519" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.74565,94.623539)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26521" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.46457,73.105186)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26523" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.20061,75.219563)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26525" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.39882,83.93047)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26527" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.23296,85.458922)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26529" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.18903,54.684773)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26531" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.29115,65.385264)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26533" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.01924,57.108653)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26535" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.23811,93.415943)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26537" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.82636,92.995696)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26539" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.68705,51.525738)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26541" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.45861,61.014299)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26543" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.82901,51.479338)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26545" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.42642,61.330648)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26547" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.6842,73.453246)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26549" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.58525,66.465893)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26551" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.65937,68.581665)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26553" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65553,87.989401)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26555" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63622,51.559167)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26557" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.38301,92.658321)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26559" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.06131,89.702831)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26561" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.07053,52.322113)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26563" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.23187,71.007622)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26565" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.67469,80.249936)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26567" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.02737,96.164018)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26569" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.42304,93.151821)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26571" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.55154,48.490688)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26573" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.11645,54.391145)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26575" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.3394,80.019154)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26577" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.89769,96.314695)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26579" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.88531,49.529028)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26581" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.85806,86.512638)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26583" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.36352,70.500382)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26585" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.76024,70.321758)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26587" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.00964,53.501083)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26589" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.02392,69.637928)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26591" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.42011,62.360143)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26593" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.54394,65.259638)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26595" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.69392,86.017179)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26597" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.56186,64.985879)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26599" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.64496,56.82673)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26601" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.66833,86.746129)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26603" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.78226,85.95013)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26605" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.24824,72.365237)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26607" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.15693,63.896508)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26609" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.30288,80.624838)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26611" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.02397,72.263928)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26613" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.03842,70.252906)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26615" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.67534,93.586753)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26617" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.23822,59.113575)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26619" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.84416,89.554328)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26621" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.00951,84.592508)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26623" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.61788,91.38449)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26625" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.41408,97.937064)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26627" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.74698,97.735057)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26629" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.89324,94.469438)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26631" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.50418,58.701932)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26633" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.8596,44.794286)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26635" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.66711,51.755713)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26637" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39911,73.751137)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26639" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.57062,50.664985)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26641" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.99916,69.832004)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26643" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.80681,94.021697)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26645" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.11165,94.957536)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26647" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.13101,67.590716)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26649" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.16655,58.136705)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26651" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.66747,82.325226)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26653" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.04692,48.675928)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26655" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.0267,46.756689)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26657" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.44269,56.526845)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26659" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.75759,93.703667)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26661" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.15057,64.973857)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26663" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.12993,47.849245)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26665" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.40412,74.531046)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26667" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.29494,77.499106)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26669" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.01155,79.499492)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26671" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.8569,48.353139)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26673" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.29418,60.754963)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26675" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.91676,52.290803)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26677" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.59185,67.100203)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26679" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.50241,48.87804)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26681" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.60132,60.533927)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26683" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.53892,94.433567)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26685" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.09794,48.828103)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26687" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.57013,82.682983)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26689" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.76597,83.949033)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26691" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.41993,88.546402)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26693" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.13572,41.787681)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26695" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.2046,93.907054)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26697" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.39272,97.495864)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26699" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.13122,82.505099)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26701" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.19993,78.552961)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26703" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.72661,92.537514)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26705" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.13729,85.11606)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26707" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.9277,84.964934)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26709" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.50066,62.492006)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26711" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.73891,99.746001)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26713" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.2192,85.015978)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26715" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.28973,54.49741)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26717" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.89829,91.53533)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26719" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.52714,88.219852)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26721" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.127,72.901326)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26723" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.7262,77.373646)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26725" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.36687,57.304014)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26727" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.3269,89.768624)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26729" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.96267,95.156223)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26731" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.8186,59.507254)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26733" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.42245,76.670179)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26735" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.3597,74.818794)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26737" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.16566,83.292056)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26739" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.41349,62.868961)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26741" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.53911,76.582523)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26743" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.07409,78.455391)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26745" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.44513,72.724965)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26747" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.32481,80.052048)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26749" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.17019,93.569393)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26751" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.13774,79.803506)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26753" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.25357,58.474889)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26755" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.63833,61.961568)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26757" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-260.13253,96.203313)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26759" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.19565,54.751181)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26761" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.63476,52.889621)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26763" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.37497,62.196116)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26765" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.98695,42.068143)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26767" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.13319,58.588144)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26769" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.82398,98.448223)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26771" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.34805,45.208615)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26773" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.40748,48.825207)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26775" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.32017,48.215713)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26777" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.64056,47.270949)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26779" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.57535,55.331806)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26781" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.82305,83.233524)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26783" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.73142,91.108762)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26785" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.90855,74.865231)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26787" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.05043,84.496449)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26789" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.58459,61.751464)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26791" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.14596,54.424693)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26793" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.72812,74.904465)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26795" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.33155,100.14082)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26797" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.97193,89.39845)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26799" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.54809,98.186606)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26801" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.13964,82.361444)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26803" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.26848,72.117728)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26805" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.62859,99.526146)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26807" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.59623,53.871792)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26809" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.80598,69.166711)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26811" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.62474,48.787047)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26813" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.75345,54.240746)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26815" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.98752,67.876902)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26817" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.87876,99.123473)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26819" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.61416,49.531959)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26821" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.16456,75.169359)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26823" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.23696,94.313255)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26825" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.84062,82.983714)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26827" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.01685,52.493784)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26829" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.27146,65.60472)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26831" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.88539,78.432125)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26833" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.0056,55.437687)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26835" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.09645,96.57678)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26837" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.28814,83.132852)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26839" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.92543,100.63432)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26841" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.75459,93.615295)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26843" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.81267,76.598283)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26845" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.97243,65.554836)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26847" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.11098,78.060595)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26849" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.16023,50.367691)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26851" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.09602,47.509494)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26853" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.83567,48.407023)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26855" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.9713,90.760856)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26857" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.79418,74.074289)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26859" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.43577,43.332912)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26861" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.81327,79.099323)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26863" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.00449,94.083539)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26865" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.72126,53.408845)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26867" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.91972,50.59402)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26869" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.55979,61.669974)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26871" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.4726,78.824903)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26873" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.59763,53.619283)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26875" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.49684,51.026235)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26877" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.85444,49.641287)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26879" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.88381,46.625689)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26881" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.59828,48.962924)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26883" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.23879,89.017315)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26885" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.23683,73.082304)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26887" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.78688,97.803018)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26889" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.30024,72.56641)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26891" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.45358,67.925848)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26893" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.11391,49.244629)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26895" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.59331,54.91602)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26897" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.98258,93.006514)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26899" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.0406,73.285834)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26901" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.68471,55.729024)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26903" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.25009,62.909781)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26905" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.96538,51.964452)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26907" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.40219,48.541983)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26909" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.79974,49.135089)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26911" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.42489,55.403287)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26913" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.85561,98.609587)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26915" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.64675,95.536323)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26917" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.88588,66.792578)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26919" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.20914,43.457729)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26921" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.7775,59.436448)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26923" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.42544,67.928941)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26925" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39275,56.094044)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26927" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.32934,47.507026)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26929" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.96646,52.423282)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26931" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.21976,74.8022)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26933" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.88266,41.815936)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26935" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.24918,78.518997)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26937" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.39568,89.980882)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26939" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.42916,94.635184)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26941" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.71388,88.271429)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26943" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.32837,88.617969)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26945" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.36292,61.565947)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26947" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.03473,80.857534)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26949" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.02853,59.90518)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26951" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.85935,46.662372)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26953" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.90877,86.371204)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26955" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.34812,58.661015)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26957" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.15893,64.234779)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26959" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.59054,92.636764)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26961" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.40673,81.751939)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26963" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.53017,98.088555)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26965" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.48704,62.034599)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26967" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.83137,51.828938)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26969" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.006,73.061615)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26971" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.07541,75.576698)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26973" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.65465,58.645614)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26975" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.86415,95.785422)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26977" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.88074,52.043047)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26979" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.30588,68.913181)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26981" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.2829,73.774293)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26983" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.80454,68.145279)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26985" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.17494,67.113967)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26987" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.66985,54.392166)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient26989" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.88847,93.637588)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient26991" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.03066,73.675414)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient26993" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.06557,55.925664)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient26995" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.5447,83.559618)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient26997" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.71731,50.554901)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient26999" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.07803,65.559852)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27001" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-176.45447,90.161169)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27003" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.7531,48.033577)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27005" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.16031,47.967923)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27007" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.53537,53.997638)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27009" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.47562,89.229685)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27011" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.26156,83.952679)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27013" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.68998,56.521744)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27015" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.86286,69.171286)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27017" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.54466,89.382028)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27019" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.08195,46.87524)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27021" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.0621,87.935662)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27023" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.3626,52.442573)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27025" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.42473,76.507755)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27027" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.53228,72.686821)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27029" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.29684,96.025376)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27031" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.88852,72.260417)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27033" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.49294,81.663317)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27035" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.70952,82.014123)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27037" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.67126,94.803721)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27039" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63545,67.542586)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27041" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.92638,95.414083)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27043" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.70623,91.7262)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27045" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.37697,79.695679)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27047" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.20392,93.233867)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27049" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.71903,60.287723)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27051" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.02161,76.867306)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27053" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.42568,55.353147)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27055" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.92188,63.576552)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27057" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.9187,92.942361)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27059" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.39752,51.243918)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27061" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.69192,59.804687)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27063" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.51508,65.169586)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27065" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.25668,71.859799)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27067" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.18018,47.753546)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27069" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.48528,86.274435)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27071" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.60975,90.283974)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27073" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.0405,47.926017)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27075" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.33325,65.496812)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27077" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.81389,56.478834)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27079" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.49509,92.598888)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27081" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.13202,75.764768)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27083" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.65004,53.119399)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27085" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-168.30515,71.365268)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27087" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.84295,96.176021)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27089" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.09341,43.681222)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27091" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.76605,102.45759)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27093" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.26758,59.881431)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27095" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.13229,99.369038)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27097" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.98228,83.05717)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27099" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.51677,73.080526)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27101" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.83872,53.045346)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27103" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.76763,93.592923)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27105" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.85753,47.641127)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27107" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.58626,50.668684)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27109" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.4069,81.262723)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27111" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.24921,79.5565)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27113" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.24494,71.067549)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27115" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.75189,50.231633)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27117" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.24434,67.14382)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27119" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.39405,69.786388)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27121" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.87732,88.400952)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27123" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.01247,45.337134)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27125" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.39061,93.604926)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27127" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.48454,50.217383)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27129" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.39395,51.765841)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27131" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.25533,56.205039)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27133" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.47816,62.048213)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27135" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.50064,52.310424)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27137" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.06861,81.446812)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27139" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.44734,90.179264)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27141" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.19114,56.493832)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27143" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.63145,73.571373)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27145" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.76286,73.427755)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27147" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.35129,69.495692)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27149" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.69785,71.126726)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27151" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.1162,78.513566)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27153" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.80517,67.452178)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27155" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.05264,98.221228)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27157" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33798,52.073688)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27159" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.4885,49.09578)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27161" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.91622,66.613438)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27163" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.55953,62.212819)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27165" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.40228,58.703143)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27167" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.44557,61.922664)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27169" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.75543,55.062425)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27171" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.79794,56.817966)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27173" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.80249,46.383038)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27175" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.45649,79.39155)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27177" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.65817,98.525973)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27179" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.49252,86.65376)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27181" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.03005,63.616941)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27183" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.60675,86.836585)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27185" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.46391,61.275552)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27187" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.40339,103.07046)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27189" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.53363,47.761835)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27191" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.0782,91.999649)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27193" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.75617,57.089151)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27195" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.69444,79.661631)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27197" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.30338,49.239175)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27199" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.8518,65.758393)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27201" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.25918,65.382044)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27203" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.32333,56.70231)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27205" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91028,75.726513)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27207" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.59383,70.351584)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27209" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.1034,54.435877)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27211" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.51601,95.192673)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27213" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.43965,80.028121)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27215" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.59322,76.343647)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27217" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.18344,47.610142)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27219" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.39095,43.639795)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27221" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.92671,68.771652)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27223" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.21166,92.648675)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27225" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.17735,71.794053)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27227" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.63236,47.52766)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27229" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.16081,44.41662)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27231" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.00261,90.128253)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27233" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.92227,43.55991)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27235" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.32533,49.972242)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27237" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.10997,89.14704)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27239" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.30227,60.285538)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27241" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.76842,77.390421)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27243" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.6665,62.558809)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27245" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.38184,82.872731)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27247" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.61765,96.52765)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27249" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.72541,51.47113)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27251" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.54138,53.545465)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27253" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.86173,52.774178)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27255" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.71077,43.880661)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27257" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.09393,89.496547)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27259" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.06203,66.59722)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27261" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.48757,91.970496)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27263" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.06744,64.277019)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27265" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.99988,52.392496)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27267" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.04893,50.604921)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27269" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.65616,73.939693)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27271" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.01359,69.767063)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27273" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.78541,97.601017)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27275" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.97623,59.497332)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27277" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.62014,72.269821)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27279" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.66247,76.179903)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27281" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.49072,44.982129)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27283" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.04212,91.48411)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27285" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.30554,82.579974)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27287" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.03744,54.986725)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27289" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.36851,70.543028)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27291" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.97446,50.204559)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27293" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.93491,65.972144)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27295" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.37111,77.804346)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27297" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.81671,69.086974)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27299" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.38225,78.498775)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27301" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.91362,60.616454)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27303" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.66797,46.953719)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27305" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.55395,70.518223)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27307" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.07622,83.963307)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27309" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.87336,58.408898)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27311" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.1624,69.371136)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27313" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.19766,61.537071)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27315" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.24193,92.054032)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27317" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.57792,85.804146)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27319" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.91185,72.680429)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27321" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.21114,54.390718)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27323" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.425,58.312746)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27325" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.75555,54.81788)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27327" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.02179,89.657359)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27329" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.34862,76.778873)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27331" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.69843,96.395674)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27333" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.41247,98.459073)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27335" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-205.64167,99.407929)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27337" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.55057,71.155806)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27339" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.99484,42.637907)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27341" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.28505,55.87091)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27343" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.59065,90.220947)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27345" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.80267,84.26335)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27347" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.0481,69.504368)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27349" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.70248,70.584924)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27351" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.60597,71.929613)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27353" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.26451,61.650553)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27355" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.07096,61.27863)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27357" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.51102,59.166309)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27359" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.7622,71.153328)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27361" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.03042,69.238498)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27363" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.0127,72.966632)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27365" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.16327,93.601756)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27367" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.65317,86.450568)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27369" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.63188,88.665087)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27371" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.79384,53.28071)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27373" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-172.74532,63.571401)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27375" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.36995,98.386192)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27377" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.87674,71.675146)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27379" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-177.63154,56.464275)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27381" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-226.30959,100.32155)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27383" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.89624,76.824878)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27385" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.89333,59.036414)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27387" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.15441,79.028562)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27389" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.17175,82.356747)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27391" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.40338,71.852443)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27393" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.32571,78.574712)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27395" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.27469,82.10326)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27397" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.74472,92.858382)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27399" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.39287,43.722363)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27401" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.91341,58.102918)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27403" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.0014,102.05417)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27405" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.70591,86.082562)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27407" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.67988,73.064213)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27409" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.69945,93.694066)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27411" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.81662,92.427571)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27413" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.6518,97.097598)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27415" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.17079,99.725263)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27417" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.32322,57.339996)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27419" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.08888,90.37825)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27421" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.81039,97.796346)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27423" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.75166,49.166841)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27425" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.59494,76.576066)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27427" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.15051,97.084599)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27429" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.48403,101.42318)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27431" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.43478,67.779459)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27433" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.22419,53.68767)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27435" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.39505,77.294326)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27437" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.41919,63.575869)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27439" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.78438,100.27467)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27441" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.61177,77.533893)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27443" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-248.64022,70.853269)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27445" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-194.55297,95.290354)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27447" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.07855,79.238468)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27449" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.65079,77.687797)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27451" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.02062,95.590901)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27453" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.96278,49.586168)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27455" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.76927,45.050973)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27457" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.51603,60.583904)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27459" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.6906,62.896975)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27461" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.38112,93.672405)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27463" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.79225,91.745447)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27465" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.44269,51.903418)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27467" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.81928,67.525668)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27469" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.72833,73.448474)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27471" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.40508,60.974073)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27473" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.05455,87.628991)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27475" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-214.93588,99.420661)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27477" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.88648,81.120501)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27479" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.86504,86.770173)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27481" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.13681,93.182029)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27483" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.73521,43.869682)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27485" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.0881,84.61171)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27487" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.46233,54.843602)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27489" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.6321,73.541725)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27491" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.32357,55.670436)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27493" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.91557,46.204655)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27495" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.9719,91.231164)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27497" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.69165,59.134301)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27499" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-204.46456,65.903504)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27501" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.46929,90.501004)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27503" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.24033,81.588013)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27505" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.82874,79.876219)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27507" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.42978,93.090415)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27509" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.61435,90.058372)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27511" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.98492,100.36541)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27513" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.9321,48.867215)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27515" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-221.90345,55.127806)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27517" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.50047,56.752685)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27519" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.57486,42.693569)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27521" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.24764,56.266412)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27523" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.66904,75.110959)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27525" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.52155,62.944166)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27527" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.6552,81.070833)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27529" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.68383,61.281742)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27531" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.22425,49.58798)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27533" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.5244,86.671087)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27535" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.15446,47.974507)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27537" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-179.76731,79.287042)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27539" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.15219,46.775348)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27541" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-170.08445,95.691504)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27543" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.70082,55.18296)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27545" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-235.3063,79.701222)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27547" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-173.49142,61.200645)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27549" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.76269,63.163291)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27551" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.04973,55.765566)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27553" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.38488,76.892807)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27555" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-192.26932,93.768386)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27557" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-206.22819,47.398248)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27559" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.57728,63.124516)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27561" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.63133,50.924622)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27563" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-181.13129,45.932102)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27565" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.04168,82.928417)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27567" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.8057,74.82315)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27569" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.39228,70.354617)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27571" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.13287,61.835684)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27573" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.60438,69.14573)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27575" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.81305,49.90574)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27577" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.21594,91.217105)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27579" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.19728,84.062432)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27581" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.9291,92.821144)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27583" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-174.03933,58.077371)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27585" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-259.60605,49.964956)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27587" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.38271,65.26114)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27589" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.78933,53.963431)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27591" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-222.30792,89.913488)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27593" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.44719,64.11581)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27595" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.51248,92.923726)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27597" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.3718,63.91343)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27599" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.42852,92.383231)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27601" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-197.76597,73.805175)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27603" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.96429,98.739247)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27605" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.5644,67.666933)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27607" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.17004,83.93924)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27609" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.16036,64.890456)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27611" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.18946,50.145956)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27613" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.60101,93.847542)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27615" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.13068,83.539022)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27617" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-237.16829,96.832506)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27619" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.0358,102.55861)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27621" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.50379,92.037363)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27623" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.71694,50.290692)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27625" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.47726,61.12236)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27627" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-220.67564,85.75803)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27629" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.99966,93.434097)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27631" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.09472,77.736566)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27633" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.51741,86.140447)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27635" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-255.83897,90.975822)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27637" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.21035,74.418667)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27639" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.86655,42.609709)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27641" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.6819,88.413202)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27643" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.87855,53.0696)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27645" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.77414,100.67582)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27647" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.3602,81.96574)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27649" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.09159,47.566903)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27651" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-244.68274,79.474551)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27653" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.48495,94.626364)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27655" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-230.37711,46.555566)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27657" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-207.8809,69.086841)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27659" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.6635,60.352803)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27661" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-199.95466,72.099926)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27663" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.21111,88.011876)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27665" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-228.83231,53.316376)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27667" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-251.84369,65.005735)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27669" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-217.9989,84.981571)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27671" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.58639,90.28221)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27673" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.47176,73.80615)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27675" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.75774,91.16306)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27677" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.16251,77.140677)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27679" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.52545,61.924834)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27681" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.0902,47.953693)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27683" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-224.93112,65.923658)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27685" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-182.70327,50.510667)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27687" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.52473,96.774009)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27689" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.08273,85.522736)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27691" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-254.53941,71.551229)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27693" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.45404,70.624355)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27695" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-219.9827,86.295303)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27697" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.54892,92.148972)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27699" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.9395,55.93824)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27701" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.46854,45.740705)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27703" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.59022,53.978766)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27705" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.99056,75.23682)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27707" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-195.6356,50.811083)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27709" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.03312,97.129739)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27711" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.53792,97.993185)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27713" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-201.83949,92.077517)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27715" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.1949,48.230903)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27717" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.80275,63.060718)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27719" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-236.97292,71.188488)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27721" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.14657,68.359108)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27723" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-252.42977,50.332265)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27725" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.24824,73.086246)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27727" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.76036,51.632528)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27729" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.27915,51.806225)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27731" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.78673,89.143551)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27733" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-246.85919,71.873986)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27735" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.70566,42.473075)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27737" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-223.34795,53.497344)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27739" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.79936,49.45235)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27741" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.00608,48.228358)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27743" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-180.05346,52.476784)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27745" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-188.12808,54.081591)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27747" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.12163,60.597171)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27749" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.42381,59.130803)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27751" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.10873,63.050103)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27753" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.32857,55.884135)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27755" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.70162,54.331071)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27757" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-233.56882,84.0983)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27759" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.36178,46.74517)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27761" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-245.78346,50.453108)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27763" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.92705,87.02696)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27765" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.25513,53.96114)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27767" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.08563,91.112785)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27769" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-250.58453,74.274969)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27771" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.62858,65.665589)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27773" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.65329,79.940039)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27775" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-242.76626,77.12677)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27777" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.29766,67.797527)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27779" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.80633,45.766603)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27781" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.01509,96.010002)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27783" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-256.83557,56.520808)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27785" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.34907,95.535144)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27787" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-234.79617,96.412337)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27789" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-243.46954,66.478543)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27791" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-239.44943,89.33075)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27793" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-210.67063,68.294369)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27795" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-196.01207,61.20943)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27797" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-183.73846,87.445554)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27799" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-198.91904,70.247864)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27801" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-253.48082,99.563156)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27803" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.4407,45.611464)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27805" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-175.85378,66.384985)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27807" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.52721,46.698474)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27809" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-231.80022,47.896807)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27811" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-258.80727,102.88663)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27813" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-193.76038,73.863831)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27815" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.93098,47.204356)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27817" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.6804,65.256119)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27819" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-200.22945,55.767241)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27821" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-187.54617,48.169583)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27823" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-184.51632,77.705709)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27825" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.52519,80.579242)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27827" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.0888,93.519977)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27829" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-227.76835,93.562585)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27831" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-189.36747,60.812258)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27833" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-240.29986,51.075908)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27835" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.85083,56.279579)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27837" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33677,64.543745)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27839" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.11549,62.724424)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27841" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-171.11813,68.243802)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27843" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-229.9637,81.829271)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27845" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.71646,80.73381)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27847" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.97031,59.434907)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27849" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-215.03427,47.761811)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27851" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.2947,83.727191)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27853" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-218.08309,98.542115)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27855" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.91882,68.097545)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27857" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.72297,62.6757)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27859" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-257.77392,49.448992)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27861" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-202.44367,88.139277)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27863" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-247.07915,68.960728)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27865" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.11148,71.847331)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27867" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-211.72353,74.3722)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27869" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-209.20403,73.58001)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27871" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-241.05235,102.50404)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27873" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-212.43746,85.588314)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27875" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.6801,69.436624)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27877" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-238.46415,55.915574)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27879" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.24972,91.450947)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27881" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-232.67721,79.344433)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27883" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-169.30184,50.246818)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27885" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-190.80369,91.46636)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27887" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-191.87594,52.952389)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27889" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-178.79273,64.86767)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27891" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-186.33654,86.19453)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27893" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-249.07836,54.07525)"/>
+ <linearGradient x1="-287.55518" y1="52.066509" x2="-224.06104" y2="52.066509" id="linearGradient27895" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-216.99045,71.632159)"/>
+ <linearGradient x1="-281.29733" y1="56.950672" x2="-165.60368" y2="56.950672" id="linearGradient27897" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-213.6111,98.159425)"/>
+ <linearGradient x1="-303.8866" y1="63.208508" x2="-188.19296" y2="63.208508" id="linearGradient27899" xlink:href="#linearGradient17383" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-185.45905,77.759546)"/>
+ <linearGradient x1="-287.55518" y1="71.908424" x2="-224.06104" y2="71.908424" id="linearGradient27901" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-203.7514,72.150342)"/>
+ <linearGradient x1="-281.29733" y1="76.792587" x2="-165.60368" y2="76.792587" id="linearGradient27903" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-208.73003,67.384443)"/>
+ <linearGradient x1="-303.8866" y1="83.050423" x2="-188.19296" y2="83.050423" id="linearGradient27905" xlink:href="#linearGradient17395" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.1674014,0,0,0.1674014,-225.42247,74.315027)"/>
+ <filter id="filter27927">
+ <feGaussianBlur id="feGaussianBlur27929" stdDeviation="0.071512502" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="59.983643" cy="120.82638" r="29.457615" fx="59.983643" fy="120.82638" id="radialGradient27939" xlink:href="#linearGradient27933" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.8793038,-5.0037745e-7,5.9254638e-8,0.2083586,-52.74385,95.651194)"/>
+ <filter height="2.1329556" y="-0.56647772" width="1.1115345" x="-0.055767238" id="filter27965">
+ <feGaussianBlur id="feGaussianBlur27967" stdDeviation="1.3689748" inkscape:collect="always"/>
+ </filter>
+ <linearGradient x1="-80.095642" y1="78.43882" x2="-89.987785" y2="115.78114" id="linearGradient27979" xlink:href="#linearGradient27973" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0103538,0,-1.3128784)"/>
+ <linearGradient x1="86.693916" y1="100.83184" x2="90.051781" y2="100.83184" id="linearGradient27989" xlink:href="#linearGradient27983" gradientUnits="userSpaceOnUse" gradientTransform="translate(1,0)"/>
+ <filter height="1.0452234" y="-0.022611663" width="1.5097902" x="-0.25489509" id="filter28003">
+ <feGaussianBlur id="feGaussianBlur28005" stdDeviation="0.35662617" inkscape:collect="always"/>
+ </filter>
+ <filter height="1.203077" y="-0.10153846" width="1.2933333" x="-0.14666668" id="filter28031">
+ <feGaussianBlur id="feGaussianBlur28033" stdDeviation="0.55" inkscape:collect="always"/>
+ </filter>
+ <clipPath id="clipPath28041">
+ <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" id="rect28043" style="opacity:0.18359375;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ </clipPath>
+ <clipPath id="clipPath28045">
+ <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" id="rect28047" style="opacity:0.18359375;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ </clipPath>
+ <filter id="filter28101">
+ <feGaussianBlur id="feGaussianBlur28103" stdDeviation="0.04177847" inkscape:collect="always"/>
+ </filter>
+ <radialGradient cx="16" cy="18" r="4" fx="16" fy="18" id="radialGradient28110" xlink:href="#linearGradient28077" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.5,0,-9)"/>
+ <linearGradient x1="16" y1="1.5952783" x2="16" y2="18.75548" id="linearGradient28112" xlink:href="#linearGradient28049" gradientUnits="userSpaceOnUse"/>
+ <radialGradient cx="14" cy="19.699831" r="2.1500001" fx="14" fy="18.836424" id="radialGradient28114" xlink:href="#linearGradient28069" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1062878,0,0,1.1062878,0.547091,-2.2994329)"/>
+ <linearGradient x1="11.917725" y1="17.560907" x2="11.917725" y2="20.038458" id="linearGradient28116" xlink:href="#linearGradient28059" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1062878,0,0,1.1062878,0.547091,-2.2994329)"/>
+ <linearGradient x1="60.25" y1="122.00736" x2="60.25" y2="118.5" id="linearGradient28138" xlink:href="#linearGradient28132" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,1.0103538,0,-1.3128784)"/>
+ <linearGradient id="linearGradient3207">
+ <stop id="stop3209" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3211" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient5433">
+ <stop id="stop5435" style="stop-color:#ea3838;stop-opacity:1" offset="0"/>
+ <stop id="stop5437" style="stop-color:#c40000;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2922">
+ <stop id="stop2924" style="stop-color:#000000;stop-opacity:1" offset="0"/>
+ <stop id="stop2926" style="stop-color:#515151;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3325">
+ <stop id="stop3327" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3329" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3623">
+ <stop id="stop3625" style="stop-color:#ffffff;stop-opacity:0.68345326" offset="0"/>
+ <stop id="stop3627" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient5826">
+ <stop id="stop5828" style="stop-color:#980000;stop-opacity:1" offset="0"/>
+ <stop id="stop5830" style="stop-color:#db5c5c;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3058">
+ <stop id="stop3060" style="stop-color:#9a7600;stop-opacity:1" offset="0"/>
+ <stop id="stop3066" style="stop-color:#e3ad00;stop-opacity:1" offset="0.09292036"/>
+ <stop id="stop3070" style="stop-color:#ffcd2c;stop-opacity:1" offset="0.5043171"/>
+ <stop id="stop3068" style="stop-color:#e3ad00;stop-opacity:1" offset="0.91571385"/>
+ <stop id="stop3062" style="stop-color:#b98d00;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient7364">
+ <stop id="stop7366" style="stop-color:#d4a100;stop-opacity:0.97647059" offset="0"/>
+ <stop id="stop7368" style="stop-color:#ffc712;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2598">
+ <stop id="stop2600" style="stop-color:#252525;stop-opacity:1" offset="0"/>
+ <stop id="stop2606" style="stop-color:#252525;stop-opacity:1" offset="0.29354507"/>
+ <stop id="stop2608" style="stop-color:#252525;stop-opacity:1" offset="0.45366704"/>
+ <stop id="stop2602" style="stop-color:#000000;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient2257">
+ <stop id="stop2259" style="stop-color:#b4942a;stop-opacity:1" offset="0"/>
+ <stop id="stop2261" style="stop-color:#e4dcc9;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <radialGradient cx="305.02731" cy="-349" r="34.178398" id="path2489_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1.1658,0,0,-1,-353.77589,-376.98677)">
+ <stop id="stop44" style="stop-color:#4b73ad;stop-opacity:1" offset="0"/>
+ <stop id="stop46" style="stop-color:#80b3ff;stop-opacity:1" offset="1"/>
+ </radialGradient>
+ <radialGradient cx="354.85159" cy="-426" r="34.1791" id="path4248_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,-1,-359.20739,-378.98677)">
+ <stop id="stop38" style="stop-color:#538bcf;stop-opacity:1" offset="0"/>
+ <stop id="stop40" style="stop-color:#80b3ff;stop-opacity:1" offset="1"/>
+ </radialGradient>
+ <radialGradient cx="354.85159" cy="-426" r="34.1791" id="path2471_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,-1,-359.20739,-376.98677)">
+ <stop id="stop32" style="stop-color:#538bcf;stop-opacity:1" offset="0"/>
+ <stop id="stop34" style="stop-color:#80b3ff;stop-opacity:1" offset="1"/>
+ </radialGradient>
+ <linearGradient x1="354.68549" y1="-601.27588" x2="354.68549" y2="-503.146" id="front_1_" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,-0.6522,-359.42609,-340.63827)">
+ <stop id="stop20" style="stop-color:#b3d9ff;stop-opacity:1" offset="0"/>
+ <stop id="stop22" style="stop-color:#71a8f5;stop-opacity:1" offset="0.48629999"/>
+ <stop id="stop24" style="stop-color:#2c72c7;stop-opacity:1" offset="0.79879999"/>
+ <stop id="stop26" style="stop-color:#2c72c7;stop-opacity:1" offset="0.98000002"/>
+ <stop id="stop28" style="stop-color:#deebff;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="63.4995" y1="-79.239304" x2="63.4995" y2="9.3268995" id="XMLID_1_" gradientUnits="userSpaceOnUse" gradientTransform="translate(-68.240592,44.013228)">
+ <stop id="stop6" style="stop-color:#73a3e7;stop-opacity:1" offset="0"/>
+ <stop id="stop8" style="stop-color:#83b1f5;stop-opacity:1" offset="0.13940001"/>
+ <stop id="stop10" style="stop-color:#bcd6fc;stop-opacity:1" offset="0.3689"/>
+ <stop id="stop12" style="stop-color:#659fee;stop-opacity:1" offset="0.5007"/>
+ <stop id="stop14" style="stop-color:#0066ff;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient x1="305.35327" y1="-33.695843" x2="273.56915" y2="122.91273" id="linearGradient3377" xlink:href="#linearGradient3303" gradientUnits="userSpaceOnUse"/>
+ <clipPath id="clipPath3367">
+ <path d="M 240.04888,9 C 237.09544,9 234.6888,11.347166 234.6888,14.32684 L 234.6888,111.25905 L 245.32884,121.91273 L 341.32804,121.91273 C 344.28149,121.91273 346.68786,119.56556 346.68786,116.58615 L 346.68786,14.32684 C 346.68786,11.347166 344.28149,9 341.32804,9 L 240.04888,9 z" id="path3369" style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
+ </clipPath>
+ <linearGradient x1="-97.742668" y1="1937.9885" x2="-97.742668" y2="1895.421" id="linearGradient3359" xlink:href="#linearGradient3174" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,158.24797,-4821.2784)"/>
+ <linearGradient x1="-44.117901" y1="127.91319" x2="-43.770939" y2="119.03187" id="linearGradient3323" xlink:href="#linearGradient3317" gradientUnits="userSpaceOnUse"/>
+ <linearGradient x1="-44.802357" y1="71.894066" x2="-44.802357" y2="130.6806" id="linearGradient3309" xlink:href="#linearGradient3303" gradientUnits="userSpaceOnUse"/>
+ <linearGradient x1="92.574883" y1="122.13094" x2="53.747078" y2="76.315697" id="linearGradient3293" xlink:href="#linearGradient3270" gradientUnits="userSpaceOnUse" gradientTransform="translate(-106.875,0)"/>
+ <clipPath id="clipPath3289">
+ <path d="M -69.78125,80 C -70.381154,80 -70.875,80.470333 -70.875,81.0625 L -70.875,122.9375 C -70.875,123.52967 -70.381154,124 -69.78125,124 L -9.09375,124 C -8.493846,124 -8.000004,123.52967 -8,122.9375 L -8,81.0625 C -8,80.470333 -8.493846,80 -9.09375,80 L -69.78125,80 z" id="path3291" style="opacity:1;fill:url(#linearGradient3293);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
+ </clipPath>
+ <linearGradient x1="92.574883" y1="122.13094" x2="53.747078" y2="76.315697" id="linearGradient3285" xlink:href="#linearGradient3270" gradientUnits="userSpaceOnUse" gradientTransform="translate(-106.875,0)"/>
+ <linearGradient x1="92.574883" y1="122.13094" x2="53.747078" y2="76.315697" id="linearGradient3276" xlink:href="#linearGradient3270" gradientUnits="userSpaceOnUse"/>
+ <linearGradient x1="-97.742668" y1="1937.9885" x2="-97.742668" y2="1895.421" id="linearGradient5823" xlink:href="#linearGradient3174" gradientUnits="userSpaceOnUse" gradientTransform="matrix(2.5599786,0,0,2.5827101,325.24891,-4887.3657)"/>
+ <linearGradient id="linearGradient3163">
+ <stop id="stop3165" style="stop-color:#6b696a;stop-opacity:1" offset="0"/>
+ <stop id="stop3167" style="stop-color:#6b696a;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient5810">
+ <stop id="stop5812" style="stop-color:#2e2a2b;stop-opacity:1" offset="0"/>
+ <stop id="stop5814" style="stop-color:#4c494a;stop-opacity:1" offset="0.33497536"/>
+ <stop id="stop5816" style="stop-color:#5b595a;stop-opacity:1" offset="0.66748768"/>
+ <stop id="stop5818" style="stop-color:#6b696a;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3206">
+ <stop id="stop3208" style="stop-color:#e3e2e6;stop-opacity:1" offset="0"/>
+ <stop id="stop3216" style="stop-color:#000000;stop-opacity:0.5411765" offset="0.5"/>
+ <stop id="stop3210" style="stop-color:#000000;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3270">
+ <stop id="stop3272" style="stop-color:#a0a1a5;stop-opacity:1" offset="0"/>
+ <stop id="stop3274" style="stop-color:#ffffff;stop-opacity:1" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3303">
+ <stop id="stop3305" style="stop-color:#ffffff;stop-opacity:1" offset="0"/>
+ <stop id="stop3307" style="stop-color:#ffffff;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ <linearGradient id="linearGradient3448">
+ <stop id="stop3450" style="stop-color:#cac7dc;stop-opacity:1" offset="0"/>
+ <stop id="stop3452" style="stop-color:#cac7dc;stop-opacity:0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <rect width="58.91523" height="5.7999449" rx="0.72191608" ry="0.28855881" x="30.526026" y="117.92641" transform="matrix(1,0,0,1.0103538,0,-1.3128784)" id="rect27931" style="opacity:1;fill:url(#radialGradient27939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter27965)"/>
+ <path d="M 16,121 L 30,121 L 30,120 L 88.2,120 L 88.2,121 L 116,121 L 116,117 L 12.710706,110.00228 L 16,121 z" id="path3507" style="fill:url(#radialGradient3583);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3565)"/>
+ <path d="M 16,121 L 30,121 L 30,120 L 90,120 L 90,121 L 119,121 L 119,117 L 12.710706,116.00228 L 16,121 z" id="path3390" style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3444)"/>
+ <path d="M 11.361024,8 C 9.552302,8 8,9.625443 8.00094,11.32684 L 8.00094,110.25905 L 18.640979,120.91273 L 116.64018,120.91273 C 119.59363,120.91273 120,120.56556 120,117.58615 L 120,11.32684 C 120,9.513864 118.44194,8 116.64018,8 L 11.361024,8 z" id="rect2169" style="opacity:1;fill:url(#linearGradient3250);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
+ <path d="M 24.693828,-69.480939 L 24.693828,-12.824689 L 102.79383,-12.824689 L 102.79383,-69.480939 L 24.693828,-69.480939 z" transform="translate(0.3,76.483371)" clip-path="url(#clipPath3008)" id="rect2379" style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3105)"/>
+ <rect width="76" height="54" rx="1.2345035" ry="1.2345035" x="26" y="8" id="rect3325" style="opacity:1;fill:url(#radialGradient3083);fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
+ <rect width="3.8491483" height="53.921757" rx="0.92457408" ry="0.92457408" x="26.150852" y="8" id="rect3490" style="opacity:0.61328125;fill:#cfdce7;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="3.7944784" height="53.467316" rx="0.89723921" ry="0.92457408" x="98" y="8.5" id="rect3488" style="opacity:0.546875;fill:#cfdce7;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="75.091873" height="0.7289294" x="26.018856" y="63.416855" id="rect3109" style="opacity:1;fill:url(#radialGradient3117);fill-opacity:1;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3726)"/>
+ <path d="M 12.375,-168.28125 C 9.4215521,-168.28125 8,-167.91718 8,-164.9375 L 8,-164.15625 C 8,-167.13593 9.4215521,-167.46875 12.375,-167.46875 L 115.625,-167.46875 C 118.57845,-167.46875 120,-167.13593 120,-164.15625 L 120,-164.9375 C 120,-167.91718 118.57845,-168.28125 115.625,-168.28125 L 12.375,-168.28125 z" transform="translate(0,176.85148)" clip-path="url(#clipPath3215)" id="path3209" style="opacity:1;fill:#000000;fill-opacity:0.35840705;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3371)"/>
+ <path d="M 11.375,8.600468 C 9.318588,8.707659 8,9.305748 8,11.912968 L 8,12.506718 C 8,9.527038 9.421552,9.194218 12.375,9.194218 L 115.625,9.194218 C 118.57845,9.194218 120,9.527038 120,12.506718 L 120,11.912968 C 120,8.933288 118.57845,8.600468 115.625,8.600468 L 12.375,8.600468 C 12.005819,8.600468 11.668773,8.585159 11.375,8.600468 z" id="path3381" style="opacity:1;fill:#ffffff;fill-opacity:0.46902651;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3417)"/>
+ <path d="M 104.309,8.626039 C 104.20787,8.626039 104.12054,8.662959 104.02775,8.688539 C 103.92346,8.717289 103.83617,8.757269 103.7465,8.813539 C 103.66099,8.867209 103.59613,8.926839 103.52775,9.001039 C 103.49917,9.032049 103.45912,9.060729 103.434,9.094789 C 103.4003,9.135389 103.36852,9.175429 103.34025,9.219789 C 103.24682,9.388799 103.184,9.576909 103.184,9.782289 L 103.184,61.157289 L 103.59025,61.157289 L 103.59025,9.782289 C 103.59025,9.570869 103.67915,9.392209 103.77775,9.219789 L 115.68399,9.219789 C 118.63744,9.219789 120.05899,9.552609 120.05899,12.532289 L 120.05899,11.938539 C 120.05899,9.331319 118.74326,8.761729 116.68399,8.657289 L 104.559,8.657289 C 104.61259,8.649219 104.65932,8.626039 104.71525,8.626039 L 104.309,8.626039 z M 11.090247,8.657289 C 9.465055,8.810999 8.128281,9.431649 8.090247,11.532289 C 8.211314,9.472429 9.849731,9.219789 12.433997,9.219789 L 24.433997,9.219789 C 24.540585,9.397089 24.590247,9.593059 24.590247,9.813539 L 24.590247,61.188539 L 24.996497,61.188539 L 24.996497,9.813539 C 24.996497,9.593059 24.946836,9.397089 24.840247,9.219789 C 24.794983,9.144499 24.744424,9.063799 24.683997,9.001039 C 24.59027,8.895459 24.46525,8.810179 24.340247,8.751039 C 24.223908,8.695989 24.105809,8.657289 23.965247,8.657289 L 23.465247,8.657289 L 11.090247,8.657289 z M 8.090247,11.532289 C 8.087808,11.667029 8.058997,11.791209 8.058997,11.938539 L 8.058997,12.532289 C 8.058997,12.159829 8.072952,11.826559 8.090247,11.532289 z" id="path3423" style="opacity:0.26953125;fill:url(#linearGradient3453);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1;filter:url(#filter3417)"/>
+ <path d="M 115.43114,8.6 C 118.38459,8.6 119.20614,8.932826 119.20614,11.9125 L 119.20614,115.19375 C 119.20614,118.17316 116.38459,120.50625 113.43114,120.50625 L 114.14989,120.50625 C 117.10334,120.50625 119.49364,118.17316 119.49364,115.19375 L 119.49364,11.9125 C 119.49364,8.932826 119.10334,8.6 116.14989,8.6 L 115.43114,8.6 z" id="path3455" style="opacity:1;fill:url(#linearGradient3474);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
+ <path d="M 32,16.122507 L 32,20.076133 L 96,20.076133 L 96,16.122507 L 32,16.122507 z" id="path3476" style="opacity:0.56521738;fill:#b2c6d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+ <path d="M 32.031703,32.228578 L 32.031703,36.118982 L 96.0317,36.118982 L 96.0317,32.228578 L 32.031703,32.228578 z" id="path3478" style="opacity:0.56521738;fill:#b2c6d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+ <path d="M 32,48.202135 L 32,52.202135 L 96,52.202135 L 96,48.202135 L 32,48.202135 z" id="path3480" style="opacity:0.56521738;fill:#b2c6d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
+ <path d="M 101.42263,8 L 101.42263,61.80625 C 101.60563,61.704641 101.71697,61.555253 101.82888,61.40625 L 101.82888,8 L 101.42263,8 z" id="rect3492" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <path d="M 26.108963,8 L 26.12263,61.300619 C 26.225712,61.500509 26.375099,61.638659 26.52888,61.770949 L 26.515213,8 L 26.108963,8 z" id="path3497" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <path d="M 16.78125,130.4375 C 15.2983,130.4375 14.125,131.64205 14.125,133.125 L 14.125,175.15625 C 14.125,176.6392 15.298301,177.8125 16.78125,177.8125 L 16.9375,177.8125 C 16.529729,177.36613 16.25,176.78074 16.25,176.125 L 16.25,136.15625 C 16.25,134.76494 17.362011,133.625 18.75,133.625 L 84.34375,133.625 C 85.731742,133.625 86.84375,134.76494 86.84375,136.15625 L 86.84375,176.125 C 86.843752,176.78074 86.595271,177.36613 86.1875,177.8125 L 86.3125,177.8125 C 87.79545,177.8125 89.000002,176.6392 89,175.15625 L 89,133.125 C 89,131.64205 87.795451,130.4375 86.3125,130.4375 L 16.78125,130.4375 z" transform="translate(16.391305,-52.350088)" clip-path="url(#clipPath3199)" id="rect3626" style="fill:url(#linearGradient3712);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3659)"/>
+ <path d="M 34.53781,80.00784 C 33.118602,80.00784 31.97531,81.15113 31.97531,82.57034 L 32,119.71658 L 104,119.71658 L 103.97531,82.57034 C 103.97531,81.15113 102.83202,80.00784 101.41281,80.00784 L 34.53781,80.00784 z" id="path3680" style="opacity:1;fill:#000000;fill-opacity:0.12831858;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <path d="M 34.581018,80.0708 C 33.16181,80.0708 32.018518,81.2141 32.018518,82.6333 L 32.018518,119.81658 L 104,119.7 L 104,82.51672 C 104,81.09752 102.85671,79.95422 101.4375,79.95422 L 34.581018,80.0708 z" id="path3694" style="opacity:0.07421875;fill:url(#radialGradient3704);fill-opacity:1;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <path d="M 52.9375,84 C 52.41795,84 52,84.417953 52,84.9375 L 52,108 L 40.9375,108 C 40.41795,108 40,108.41795 40,108.9375 L 40,115.0625 C 40,115.58205 40.417949,116 40.9375,116 L 52.9375,116 L 63.0625,116 C 63.58205,116 64,115.58205 64,115.0625 L 64,108.9375 L 64,84.9375 C 64,84.41795 63.582051,84 63.0625,84 L 52.9375,84 z" transform="matrix(1,0,0,1.0103538,0,-1.3128784)" id="rect3226" style="opacity:1;fill:url(#linearGradient3281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter3271)"/>
+ <rect width="69.516342" height="1.4999924" x="33.008656" y="77.600006" id="rect3669" style="opacity:0.37771738;fill:url(#radialGradient3692);fill-opacity:1;stroke:none;stroke-width:0.69999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <path d="M 103.91096,8.735486 L 103.16096,9.422986 L 104.09846,9.485486 L 103.91096,8.735486 z" id="path3086" style="fill:url(#radialGradient3094);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3120)"/>
+ <path d="M 23.91096,8.7354857 L 23.16096,9.4229857 L 24.09846,9.4854857 L 23.91096,8.7354857 z" transform="matrix(-1,0,0,1,48.05942,0)" id="path3124" style="fill:url(#radialGradient3126);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3120)"/>
+ <path d="M 112.08125,97.375 L 112.08125,104.09375 L 110.8625,104.09375 L 109.83125,104.09375 L 114.175,111.625 L 118.51875,104.09375 L 117.4875,104.09375 L 116.26875,104.09375 L 116.26875,97.375 L 114.175,97.375 L 112.08125,97.375 z" transform="matrix(0.9875769,0,0,1,0.716891,0.2)" id="path3128" style="opacity:0.453125;fill:url(#linearGradient3142);fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter3192)"/>
+ <rect width="3.3578629" height="37.852272" x="87.693916" y="81.905701" transform="matrix(1,0,0,1.0103538,0,-1.3128784)" id="rect27981" style="opacity:0.296875;fill:url(#linearGradient27989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28003)"/>
+ <path d="M 34.541973,80.321631 C 33.364723,80.321631 32.416973,81.279193 32.416973,82.468632 L 32.59375,120.53579 L 88,120.53579 L 88,82.325479 C 88,81.136039 87.17725,80.321631 86,80.321631 L 34.541973,80.321631 z M 40.9375,88.353886 L 55.0625,88.353886 C 55.582051,88.353886 56,88.776164 56,89.301092 L 56,110.89955 C 56,111.42448 55.58205,111.84676 55.0625,111.84676 L 40.9375,111.84676 C 40.417949,111.84676 40,111.42448 40,110.89955 L 40,89.301092 C 40,88.776166 40.41795,88.353886 40.9375,88.353886 z" id="rect3196" style="opacity:1;fill:url(#linearGradient3221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <g transform="matrix(1,0,0,1.0103538,313.92339,17.714654)" clip-path="url(#clipPath25065)" id="g23527" style="opacity:0.18359375;filter:url(#filter27927)">
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.79343" y="84.707176" id="rect17371" style="opacity:0.1875;fill:url(#linearGradient17393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.9552" y="91.262184" id="rect17373" style="opacity:0.1875;fill:url(#linearGradient17391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.91937" y="109.06592" id="rect17375" style="opacity:0.1875;fill:url(#linearGradient17389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.12012" y="76.49028" id="rect17377" style="opacity:0.46875;fill:url(#linearGradient17405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.07872" y="96.053925" id="rect17379" style="opacity:0.46875;fill:url(#linearGradient17403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-269.22446" y="89.085144" id="rect17381" style="opacity:0.46875;fill:url(#linearGradient17401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.40353" y="67.112572" id="rect17407" style="opacity:0.1875;fill:url(#linearGradient18149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.73615" y="80.639206" id="rect17409" style="opacity:0.1875;fill:url(#linearGradient18147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.26816" y="84.380295" id="rect17411" style="opacity:0.1875;fill:url(#linearGradient18145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.76822" y="106.13625" id="rect17413" style="opacity:0.46875;fill:url(#linearGradient18143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.63443" y="102.51813" id="rect17415" style="opacity:0.46875;fill:url(#linearGradient18141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.30339" y="71.39473" id="rect17417" style="opacity:0.46875;fill:url(#linearGradient18139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.64175" y="100.63744" id="rect17419" style="opacity:0.1875;fill:url(#linearGradient18137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.05591" y="65.363846" id="rect17421" style="opacity:0.1875;fill:url(#linearGradient18135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.51465" y="69.323357" id="rect17423" style="opacity:0.1875;fill:url(#linearGradient18133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.87137" y="99.903488" id="rect17425" style="opacity:0.46875;fill:url(#linearGradient18131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.51654" y="101.47046" id="rect17427" style="opacity:0.46875;fill:url(#linearGradient18129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.41283" y="75.500755" id="rect17429" style="opacity:0.46875;fill:url(#linearGradient18127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.32373" y="69.585419" id="rect17431" style="opacity:0.1875;fill:url(#linearGradient18125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.6416" y="71.46701" id="rect17433" style="opacity:0.1875;fill:url(#linearGradient18123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-231.34415" y="77.415817" id="rect17435" style="opacity:0.1875;fill:url(#linearGradient18121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-307.36627" y="105.92856" id="rect17437" style="opacity:0.46875;fill:url(#linearGradient18119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.40512" y="62.602127" id="rect17439" style="opacity:0.46875;fill:url(#linearGradient18117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.37361" y="99.838142" id="rect17441" style="opacity:0.46875;fill:url(#linearGradient18115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.8649" y="56.113068" id="rect17443" style="opacity:0.1875;fill:url(#linearGradient18113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.1181" y="74.343849" id="rect17445" style="opacity:0.1875;fill:url(#linearGradient18111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.14183" y="98.228653" id="rect17447" style="opacity:0.1875;fill:url(#linearGradient18109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.48334" y="67.98336" id="rect17449" style="opacity:0.46875;fill:url(#linearGradient18107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.73779" y="64.299034" id="rect17451" style="opacity:0.46875;fill:url(#linearGradient18105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.82462" y="69.00946" id="rect17453" style="opacity:0.46875;fill:url(#linearGradient18103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.22101" y="79.247726" id="rect17455" style="opacity:0.1875;fill:url(#linearGradient18101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.43381" y="104.01281" id="rect17457" style="opacity:0.1875;fill:url(#linearGradient18099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.76028" y="105.31631" id="rect17459" style="opacity:0.1875;fill:url(#linearGradient18097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.03159" y="65.75708" id="rect17461" style="opacity:0.46875;fill:url(#linearGradient18095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.90118" y="69.971687" id="rect17463" style="opacity:0.46875;fill:url(#linearGradient18093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.26633" y="97.308929" id="rect17465" style="opacity:0.46875;fill:url(#linearGradient18091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.34489" y="57.138626" id="rect17467" style="opacity:0.1875;fill:url(#linearGradient18089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.36011" y="79.709198" id="rect17469" style="opacity:0.1875;fill:url(#linearGradient18087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-278.16724" y="103.81553" id="rect17471" style="opacity:0.1875;fill:url(#linearGradient18085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-254.41679" y="77.795441" id="rect17473" style="opacity:0.46875;fill:url(#linearGradient18083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.66385" y="87.002907" id="rect17475" style="opacity:0.46875;fill:url(#linearGradient18081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.04214" y="101.45621" id="rect17477" style="opacity:0.46875;fill:url(#linearGradient18079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.64142" y="79.221695" id="rect17479" style="opacity:0.1875;fill:url(#linearGradient18077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.68213" y="85.522552" id="rect17481" style="opacity:0.1875;fill:url(#linearGradient18075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.27867" y="66.150208" id="rect17483" style="opacity:0.1875;fill:url(#linearGradient18073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.85204" y="98.996635" id="rect17485" style="opacity:0.46875;fill:url(#linearGradient18071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.82623" y="62.490906" id="rect17487" style="opacity:0.46875;fill:url(#linearGradient18069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.63985" y="103.67081" id="rect17489" style="opacity:0.46875;fill:url(#linearGradient18067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.41724" y="103.57622" id="rect17491" style="opacity:0.1875;fill:url(#linearGradient18065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.78891" y="110.85292" id="rect17493" style="opacity:0.1875;fill:url(#linearGradient18063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.85229" y="87.596672" id="rect17495" style="opacity:0.1875;fill:url(#linearGradient18061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.77243" y="77.090691" id="rect17497" style="opacity:0.46875;fill:url(#linearGradient18059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.65201" y="61.369072" id="rect17499" style="opacity:0.46875;fill:url(#linearGradient18057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.33041" y="97.866295" id="rect17501" style="opacity:0.46875;fill:url(#linearGradient18055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.27512" y="60.602905" id="rect17503" style="opacity:0.1875;fill:url(#linearGradient18053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.28024" y="98.59436" id="rect17505" style="opacity:0.1875;fill:url(#linearGradient18051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.80908" y="104.19329" id="rect17507" style="opacity:0.1875;fill:url(#linearGradient18049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.54272" y="94.834015" id="rect17509" style="opacity:0.46875;fill:url(#linearGradient18047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.52655" y="96.503296" id="rect17511" style="opacity:0.46875;fill:url(#linearGradient18045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.43588" y="62.813446" id="rect17513" style="opacity:0.46875;fill:url(#linearGradient18043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.03261" y="90.780258" id="rect17515" style="opacity:0.1875;fill:url(#linearGradient18041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.0979" y="99.709679" id="rect17517" style="opacity:0.1875;fill:url(#linearGradient18039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.3273" y="97.007927" id="rect17519" style="opacity:0.1875;fill:url(#linearGradient18037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.40613" y="63.924969" id="rect17521" style="opacity:0.46875;fill:url(#linearGradient18035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.76562" y="97.57634" id="rect17523" style="opacity:0.46875;fill:url(#linearGradient18033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.3656" y="91.897057" id="rect17525" style="opacity:0.46875;fill:url(#linearGradient18031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.78883" y="88.074402" id="rect17527" style="opacity:0.1875;fill:url(#linearGradient18029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.24213" y="102.16527" id="rect17529" style="opacity:0.1875;fill:url(#linearGradient18027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.57928" y="92.647728" id="rect17531" style="opacity:0.1875;fill:url(#linearGradient18025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-254.35078" y="60.315037" id="rect17533" style="opacity:0.46875;fill:url(#linearGradient18023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.11502" y="90.288979" id="rect17535" style="opacity:0.46875;fill:url(#linearGradient18021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.80861" y="109.21276" id="rect17537" style="opacity:0.46875;fill:url(#linearGradient18019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.75543" y="72.276009" id="rect17539" style="opacity:0.1875;fill:url(#linearGradient18017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.12875" y="57.977592" id="rect17541" style="opacity:0.1875;fill:url(#linearGradient18015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.66217" y="67.495979" id="rect17543" style="opacity:0.1875;fill:url(#linearGradient18013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.2243" y="69.823593" id="rect17545" style="opacity:0.46875;fill:url(#linearGradient18011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.45792" y="68.959457" id="rect17547" style="opacity:0.46875;fill:url(#linearGradient18009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.89233" y="76.257271" id="rect17549" style="opacity:0.46875;fill:url(#linearGradient18007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.53769" y="90.623589" id="rect17551" style="opacity:0.1875;fill:url(#linearGradient18005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.34969" y="97.305748" id="rect17553" style="opacity:0.1875;fill:url(#linearGradient18003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.20572" y="82.862694" id="rect17555" style="opacity:0.1875;fill:url(#linearGradient18001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.24118" y="79.64772" id="rect17557" style="opacity:0.46875;fill:url(#linearGradient17999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.40161" y="79.395935" id="rect17559" style="opacity:0.46875;fill:url(#linearGradient17997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.42935" y="74.803711" id="rect17561" style="opacity:0.46875;fill:url(#linearGradient17995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.61072" y="62.135342" id="rect17563" style="opacity:0.1875;fill:url(#linearGradient17993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.80521" y="84.323967" id="rect17565" style="opacity:0.1875;fill:url(#linearGradient17991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.46295" y="66.882637" id="rect17567" style="opacity:0.1875;fill:url(#linearGradient17989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.34781" y="83.370567" id="rect17569" style="opacity:0.46875;fill:url(#linearGradient17987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.62222" y="67.94989" id="rect17571" style="opacity:0.46875;fill:url(#linearGradient17985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.8093" y="82.059044" id="rect17573" style="opacity:0.46875;fill:url(#linearGradient17983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.76419" y="60.068611" id="rect17575" style="opacity:0.1875;fill:url(#linearGradient17981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.74551" y="87.762344" id="rect17577" style="opacity:0.1875;fill:url(#linearGradient17979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.63034" y="77.666779" id="rect17579" style="opacity:0.1875;fill:url(#linearGradient17977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.99472" y="76.894325" id="rect17581" style="opacity:0.46875;fill:url(#linearGradient17975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-272.5246" y="107.37724" id="rect17583" style="opacity:0.46875;fill:url(#linearGradient17973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.39462" y="106.59368" id="rect17585" style="opacity:0.46875;fill:url(#linearGradient17971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.20239" y="77.640099" id="rect17587" style="opacity:0.1875;fill:url(#linearGradient17969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.29407" y="60.569847" id="rect17589" style="opacity:0.1875;fill:url(#linearGradient17967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.78375" y="88.356277" id="rect17591" style="opacity:0.1875;fill:url(#linearGradient17965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.27098" y="96.711983" id="rect17593" style="opacity:0.46875;fill:url(#linearGradient17963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.9855" y="79.303299" id="rect17595" style="opacity:0.46875;fill:url(#linearGradient17961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.22263" y="87.287857" id="rect17597" style="opacity:0.46875;fill:url(#linearGradient17959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.8721" y="70.975586" id="rect17599" style="opacity:0.1875;fill:url(#linearGradient17957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.66968" y="76.547577" id="rect17601" style="opacity:0.1875;fill:url(#linearGradient17955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.74731" y="68.751762" id="rect17603" style="opacity:0.1875;fill:url(#linearGradient17953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.60339" y="72.070457" id="rect17605" style="opacity:0.46875;fill:url(#linearGradient17951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.67972" y="72.224846" id="rect17607" style="opacity:0.46875;fill:url(#linearGradient17949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.53369" y="66.220589" id="rect17609" style="opacity:0.46875;fill:url(#linearGradient17947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.48569" y="70.287376" id="rect17611" style="opacity:0.1875;fill:url(#linearGradient17945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.71796" y="106.46072" id="rect17613" style="opacity:0.1875;fill:url(#linearGradient17943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.57463" y="65.69442" id="rect17615" style="opacity:0.1875;fill:url(#linearGradient17941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.38248" y="92.94561" id="rect17617" style="opacity:0.46875;fill:url(#linearGradient17939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.62196" y="110.52157" id="rect17619" style="opacity:0.46875;fill:url(#linearGradient17937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.71622" y="67.948135" id="rect17621" style="opacity:0.46875;fill:url(#linearGradient17935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-304.85336" y="87.741013" id="rect17623" style="opacity:0.1875;fill:url(#linearGradient17933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.97302" y="72.193329" id="rect17625" style="opacity:0.1875;fill:url(#linearGradient17931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.71017" y="65.334404" id="rect17627" style="opacity:0.1875;fill:url(#linearGradient17929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.20427" y="98.32988" id="rect17629" style="opacity:0.46875;fill:url(#linearGradient17927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.47168" y="108.77326" id="rect17631" style="opacity:0.46875;fill:url(#linearGradient25071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.04443" y="82.517944" id="rect17633" style="opacity:0.46875;fill:url(#linearGradient25073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.30357" y="108.89568" id="rect17635" style="opacity:0.1875;fill:url(#linearGradient25075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.16194" y="84.146629" id="rect17637" style="opacity:0.1875;fill:url(#linearGradient25077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.72382" y="64.275902" id="rect17639" style="opacity:0.1875;fill:url(#linearGradient25079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.20195" y="109.68244" id="rect17641" style="opacity:0.46875;fill:url(#linearGradient25081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.8898" y="63.208668" id="rect17643" style="opacity:0.46875;fill:url(#linearGradient25083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.91269" y="98.313393" id="rect17645" style="opacity:0.46875;fill:url(#linearGradient25085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.66534" y="85.114136" id="rect17647" style="opacity:0.1875;fill:url(#linearGradient25087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.74916" y="66.932426" id="rect17649" style="opacity:0.1875;fill:url(#linearGradient25089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.73309" y="77.135086" id="rect17651" style="opacity:0.1875;fill:url(#linearGradient25091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.95505" y="62.283104" id="rect17653" style="opacity:0.46875;fill:url(#linearGradient25093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.14812" y="87.140076" id="rect17655" style="opacity:0.46875;fill:url(#linearGradient25095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.00018" y="55.974785" id="rect17657" style="opacity:0.46875;fill:url(#linearGradient25097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.79782" y="102.01984" id="rect17659" style="opacity:0.1875;fill:url(#linearGradient25099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-248.791" y="61.252872" id="rect17661" style="opacity:0.1875;fill:url(#linearGradient25101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.85733" y="63.683193" id="rect17663" style="opacity:0.1875;fill:url(#linearGradient25103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.50882" y="101.78488" id="rect17665" style="opacity:0.46875;fill:url(#linearGradient25105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.83641" y="77.041458" id="rect17667" style="opacity:0.46875;fill:url(#linearGradient25107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.76694" y="95.283287" id="rect17669" style="opacity:0.46875;fill:url(#linearGradient25109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.42992" y="55.774399" id="rect17671" style="opacity:0.1875;fill:url(#linearGradient25111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.80057" y="101.06035" id="rect17673" style="opacity:0.1875;fill:url(#linearGradient25113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-298.56604" y="109.198" id="rect17675" style="opacity:0.1875;fill:url(#linearGradient25115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.48489" y="107.00368" id="rect17677" style="opacity:0.46875;fill:url(#linearGradient25117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.83386" y="66.630585" id="rect17679" style="opacity:0.46875;fill:url(#linearGradient25119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.42801" y="66.899437" id="rect17681" style="opacity:0.46875;fill:url(#linearGradient25121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.09375" y="56.061657" id="rect17683" style="opacity:0.1875;fill:url(#linearGradient25123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.44736" y="68.035645" id="rect17685" style="opacity:0.1875;fill:url(#linearGradient25125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.10535" y="55.856274" id="rect17687" style="opacity:0.1875;fill:url(#linearGradient25127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-278.00189" y="86.851196" id="rect17689" style="opacity:0.46875;fill:url(#linearGradient25129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.19824" y="110.05563" id="rect17691" style="opacity:0.46875;fill:url(#linearGradient25131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.13065" y="60.523964" id="rect17693" style="opacity:0.46875;fill:url(#linearGradient25133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-253.95091" y="103.54987" id="rect17695" style="opacity:0.1875;fill:url(#linearGradient25135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.0334" y="88.186096" id="rect17697" style="opacity:0.1875;fill:url(#linearGradient25137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-265.44974" y="94.422592" id="rect17699" style="opacity:0.1875;fill:url(#linearGradient25139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.04202" y="103.96825" id="rect17701" style="opacity:0.46875;fill:url(#linearGradient25141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.09955" y="84.472305" id="rect17703" style="opacity:0.46875;fill:url(#linearGradient25143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.48126" y="101.18851" id="rect17705" style="opacity:0.46875;fill:url(#linearGradient25145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.41995" y="90.168793" id="rect17707" style="opacity:0.1875;fill:url(#linearGradient25147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.17566" y="99.90905" id="rect17709" style="opacity:0.1875;fill:url(#linearGradient25149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.65631" y="86.153412" id="rect17711" style="opacity:0.1875;fill:url(#linearGradient25151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.19516" y="79.081665" id="rect17713" style="opacity:0.46875;fill:url(#linearGradient25153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.97839" y="67.344398" id="rect17715" style="opacity:0.46875;fill:url(#linearGradient25155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.65546" y="93.259796" id="rect17717" style="opacity:0.46875;fill:url(#linearGradient25157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-291.2243" y="88.690613" id="rect17719" style="opacity:0.1875;fill:url(#linearGradient25159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.58456" y="59.647064" id="rect17721" style="opacity:0.1875;fill:url(#linearGradient25161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.12515" y="73.111664" id="rect17723" style="opacity:0.1875;fill:url(#linearGradient25163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.59235" y="91.303307" id="rect17725" style="opacity:0.46875;fill:url(#linearGradient25165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.509" y="67.325012" id="rect17727" style="opacity:0.46875;fill:url(#linearGradient25167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.42133" y="93.896034" id="rect17729" style="opacity:0.46875;fill:url(#linearGradient25169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.88492" y="90.879166" id="rect17731" style="opacity:0.1875;fill:url(#linearGradient25171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.34952" y="103.47399" id="rect17733" style="opacity:0.1875;fill:url(#linearGradient25173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.96045" y="106.24575" id="rect17735" style="opacity:0.1875;fill:url(#linearGradient25175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.68954" y="55.381527" id="rect17737" style="opacity:0.46875;fill:url(#linearGradient25177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.11661" y="89.104057" id="rect17739" style="opacity:0.46875;fill:url(#linearGradient25179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.8905" y="102.75126" id="rect17741" style="opacity:0.46875;fill:url(#linearGradient25181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.67885" y="81.184441" id="rect17743" style="opacity:0.1875;fill:url(#linearGradient25183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.11703" y="89.035004" id="rect17745" style="opacity:0.1875;fill:url(#linearGradient25185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.9751" y="100.35271" id="rect17747" style="opacity:0.1875;fill:url(#linearGradient25187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.15137" y="80.75869" id="rect17749" style="opacity:0.46875;fill:url(#linearGradient25189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.43188" y="77.223198" id="rect17751" style="opacity:0.46875;fill:url(#linearGradient25191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.05075" y="72.696106" id="rect17753" style="opacity:0.46875;fill:url(#linearGradient25193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.19749" y="106.62489" id="rect17755" style="opacity:0.1875;fill:url(#linearGradient25195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.13745" y="69.633575" id="rect17757" style="opacity:0.1875;fill:url(#linearGradient25197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.53471" y="62.632496" id="rect17759" style="opacity:0.1875;fill:url(#linearGradient25199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.95056" y="85.574959" id="rect17761" style="opacity:0.46875;fill:url(#linearGradient25201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.36328" y="101.6518" id="rect17763" style="opacity:0.46875;fill:url(#linearGradient25203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.15607" y="92.363571" id="rect17765" style="opacity:0.46875;fill:url(#linearGradient25205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.91437" y="102.87209" id="rect17767" style="opacity:0.1875;fill:url(#linearGradient25207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.12769" y="68.443901" id="rect17769" style="opacity:0.1875;fill:url(#linearGradient25209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.91699" y="81.518745" id="rect17771" style="opacity:0.1875;fill:url(#linearGradient25211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.47676" y="99.235146" id="rect17773" style="opacity:0.46875;fill:url(#linearGradient25213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.99631" y="104.32848" id="rect17775" style="opacity:0.46875;fill:url(#linearGradient25215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.45819" y="96.042809" id="rect17777" style="opacity:0.46875;fill:url(#linearGradient25217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.11304" y="91.464439" id="rect18151" style="opacity:0.1875;fill:url(#linearGradient25219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.72809" y="57.985466" id="rect18153" style="opacity:0.1875;fill:url(#linearGradient25221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.04907" y="92.447624" id="rect18155" style="opacity:0.1875;fill:url(#linearGradient25223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.48605" y="87.082649" id="rect18157" style="opacity:0.46875;fill:url(#linearGradient25225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.46774" y="71.132614" id="rect18159" style="opacity:0.46875;fill:url(#linearGradient25227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.54868" y="69.479034" id="rect18161" style="opacity:0.46875;fill:url(#linearGradient25229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.54684" y="71.409157" id="rect18163" style="opacity:0.1875;fill:url(#linearGradient25231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.44562" y="88.801552" id="rect18165" style="opacity:0.1875;fill:url(#linearGradient25233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.61575" y="79.20295" id="rect18167" style="opacity:0.1875;fill:url(#linearGradient25235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.08376" y="67.184708" id="rect18169" style="opacity:0.46875;fill:url(#linearGradient25237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.26695" y="68.254173" id="rect18171" style="opacity:0.46875;fill:url(#linearGradient25239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.67917" y="88.566643" id="rect18173" style="opacity:0.46875;fill:url(#linearGradient25241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.37273" y="61.108807" id="rect18175" style="opacity:0.1875;fill:url(#linearGradient25243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-272.89822" y="107.33531" id="rect18177" style="opacity:0.1875;fill:url(#linearGradient25245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.91226" y="76.051247" id="rect18179" style="opacity:0.1875;fill:url(#linearGradient25247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-262.29782" y="97.771523" id="rect18181" style="opacity:0.46875;fill:url(#linearGradient25249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.38615" y="90.817757" id="rect18183" style="opacity:0.46875;fill:url(#linearGradient25251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.09634" y="77.677231" id="rect18185" style="opacity:0.46875;fill:url(#linearGradient25253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.38574" y="62.671509" id="rect18187" style="opacity:0.1875;fill:url(#linearGradient25255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.63821" y="75.019676" id="rect18189" style="opacity:0.1875;fill:url(#linearGradient25257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.96573" y="58.94054" id="rect18191" style="opacity:0.1875;fill:url(#linearGradient25259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.89044" y="63.18137" id="rect18193" style="opacity:0.46875;fill:url(#linearGradient25261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.22519" y="85.285896" id="rect18195" style="opacity:0.46875;fill:url(#linearGradient25263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.96872" y="86.968376" id="rect18197" style="opacity:0.46875;fill:url(#linearGradient25265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.8423" y="111.32892" id="rect18199" style="opacity:0.1875;fill:url(#linearGradient25267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.47272" y="110.46347" id="rect18201" style="opacity:0.1875;fill:url(#linearGradient25269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.92764" y="74.383469" id="rect18203" style="opacity:0.1875;fill:url(#linearGradient25271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.07919" y="84.876595" id="rect18205" style="opacity:0.46875;fill:url(#linearGradient25273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.95041" y="86.066269" id="rect18207" style="opacity:0.46875;fill:url(#linearGradient25275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.95801" y="92.406303" id="rect18209" style="opacity:0.46875;fill:url(#linearGradient25277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.59933" y="70.233521" id="rect18211" style="opacity:0.1875;fill:url(#linearGradient25279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.10513" y="80.002182" id="rect18213" style="opacity:0.1875;fill:url(#linearGradient25281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.47241" y="95.684586" id="rect18215" style="opacity:0.1875;fill:url(#linearGradient25283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.99527" y="99.055901" id="rect18217" style="opacity:0.46875;fill:url(#linearGradient25285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.02789" y="85.807312" id="rect18219" style="opacity:0.46875;fill:url(#linearGradient25287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-298.38324" y="90.704887" id="rect18221" style="opacity:0.46875;fill:url(#linearGradient25289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.76099" y="62.290359" id="rect18223" style="opacity:0.1875;fill:url(#linearGradient25291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.90051" y="75.048828" id="rect18225" style="opacity:0.1875;fill:url(#linearGradient25293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.98842" y="90.335617" id="rect18227" style="opacity:0.1875;fill:url(#linearGradient25295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.44897" y="106.12038" id="rect18229" style="opacity:0.46875;fill:url(#linearGradient25297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.91562" y="92.317909" id="rect18231" style="opacity:0.46875;fill:url(#linearGradient25299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.61569" y="100.5391" id="rect18233" style="opacity:0.46875;fill:url(#linearGradient25301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.33392" y="63.624489" id="rect18235" style="opacity:0.1875;fill:url(#linearGradient25303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.36273" y="72.056847" id="rect18237" style="opacity:0.1875;fill:url(#linearGradient25305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.8735" y="110.21268" id="rect18239" style="opacity:0.1875;fill:url(#linearGradient25307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.63394" y="74.366173" id="rect18241" style="opacity:0.46875;fill:url(#linearGradient25309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.0997" y="79.780212" id="rect18243" style="opacity:0.46875;fill:url(#linearGradient25311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.09283" y="101.99254" id="rect18245" style="opacity:0.46875;fill:url(#linearGradient25313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.76373" y="109.07452" id="rect18247" style="opacity:0.1875;fill:url(#linearGradient25315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.97629" y="98.64402" id="rect18249" style="opacity:0.1875;fill:url(#linearGradient25317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.63684" y="89.344994" id="rect18251" style="opacity:0.1875;fill:url(#linearGradient25319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.27385" y="81.641121" id="rect18253" style="opacity:0.46875;fill:url(#linearGradient25321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.25494" y="109.51963" id="rect18255" style="opacity:0.46875;fill:url(#linearGradient25323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.37708" y="108.9928" id="rect18257" style="opacity:0.46875;fill:url(#linearGradient25325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.19186" y="110.50214" id="rect18259" style="opacity:0.1875;fill:url(#linearGradient25327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.0481" y="93.95919" id="rect18261" style="opacity:0.1875;fill:url(#linearGradient25329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.78215" y="66.527237" id="rect18263" style="opacity:0.1875;fill:url(#linearGradient25331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.03275" y="86.100006" id="rect18265" style="opacity:0.46875;fill:url(#linearGradient25333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.62799" y="104.80125" id="rect18267" style="opacity:0.46875;fill:url(#linearGradient25335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.83594" y="70.125221" id="rect18269" style="opacity:0.46875;fill:url(#linearGradient25337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.16574" y="84.331985" id="rect18271" style="opacity:0.1875;fill:url(#linearGradient25339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.98331" y="96.91481" id="rect18273" style="opacity:0.1875;fill:url(#linearGradient25341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-231.74715" y="78.689095" id="rect18275" style="opacity:0.1875;fill:url(#linearGradient25343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.39941" y="59.077904" id="rect18277" style="opacity:0.46875;fill:url(#linearGradient25345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.0076" y="95.745003" id="rect18279" style="opacity:0.46875;fill:url(#linearGradient25347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.77591" y="102.81136" id="rect18281" style="opacity:0.46875;fill:url(#linearGradient25349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.87979" y="69.811943" id="rect18283" style="opacity:0.1875;fill:url(#linearGradient25351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.16574" y="87.382187" id="rect18285" style="opacity:0.1875;fill:url(#linearGradient25353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.87027" y="92.79483" id="rect18287" style="opacity:0.1875;fill:url(#linearGradient25355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.38815" y="90.872025" id="rect18289" style="opacity:0.46875;fill:url(#linearGradient25357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.0155" y="79.296844" id="rect18291" style="opacity:0.46875;fill:url(#linearGradient25359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.74591" y="104.70981" id="rect18293" style="opacity:0.46875;fill:url(#linearGradient25361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.28142" y="62.454266" id="rect18295" style="opacity:0.1875;fill:url(#linearGradient25363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.72321" y="60.415363" id="rect18297" style="opacity:0.1875;fill:url(#linearGradient25365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.50877" y="107.67831" id="rect18299" style="opacity:0.1875;fill:url(#linearGradient25367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.79721" y="90.158287" id="rect18301" style="opacity:0.46875;fill:url(#linearGradient25369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.21603" y="76.256042" id="rect18303" style="opacity:0.46875;fill:url(#linearGradient25371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.3176" y="104.62031" id="rect18305" style="opacity:0.46875;fill:url(#linearGradient25373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.24321" y="75.208" id="rect18307" style="opacity:0.1875;fill:url(#linearGradient25375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-254.33498" y="99.272896" id="rect18309" style="opacity:0.1875;fill:url(#linearGradient25377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.62555" y="84.156494" id="rect18311" style="opacity:0.1875;fill:url(#linearGradient25379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.17912" y="97.841927" id="rect18313" style="opacity:0.46875;fill:url(#linearGradient25381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.68881" y="105.77716" id="rect18315" style="opacity:0.46875;fill:url(#linearGradient25383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.20544" y="62.652821" id="rect18317" style="opacity:0.46875;fill:url(#linearGradient25385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.56491" y="96.323288" id="rect18319" style="opacity:0.1875;fill:url(#linearGradient25387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.96753" y="55.495941" id="rect18321" style="opacity:0.1875;fill:url(#linearGradient25389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.63147" y="68.193329" id="rect18323" style="opacity:0.1875;fill:url(#linearGradient25391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.42424" y="66.986328" id="rect18325" style="opacity:0.46875;fill:url(#linearGradient25393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.0945" y="93.264801" id="rect18327" style="opacity:0.46875;fill:url(#linearGradient25395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.63403" y="98.204636" id="rect18329" style="opacity:0.46875;fill:url(#linearGradient25397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.23471" y="74.236923" id="rect18331" style="opacity:0.1875;fill:url(#linearGradient25399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.69228" y="100.62784" id="rect18333" style="opacity:0.1875;fill:url(#linearGradient25401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.0683" y="80.08036" id="rect18335" style="opacity:0.1875;fill:url(#linearGradient25403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-291.62607" y="64.716675" id="rect18337" style="opacity:0.46875;fill:url(#linearGradient25405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.75874" y="107.29673" id="rect18339" style="opacity:0.46875;fill:url(#linearGradient25407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.67427" y="99.356606" id="rect18341" style="opacity:0.46875;fill:url(#linearGradient25409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.71683" y="65.645309" id="rect18343" style="opacity:0.1875;fill:url(#linearGradient25411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-272.67639" y="74.896492" id="rect18345" style="opacity:0.1875;fill:url(#linearGradient25413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.01279" y="58.992363" id="rect18347" style="opacity:0.1875;fill:url(#linearGradient25415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.80728" y="94.758575" id="rect18349" style="opacity:0.46875;fill:url(#linearGradient25417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.86696" y="100.33606" id="rect18351" style="opacity:0.46875;fill:url(#linearGradient25419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.45459" y="104.54546" id="rect18353" style="opacity:0.46875;fill:url(#linearGradient25421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.36459" y="57.800591" id="rect18355" style="opacity:0.1875;fill:url(#linearGradient25423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.97002" y="98.724579" id="rect18357" style="opacity:0.1875;fill:url(#linearGradient25425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.95309" y="84.094955" id="rect18359" style="opacity:0.1875;fill:url(#linearGradient25427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.06047" y="110.67622" id="rect18361" style="opacity:0.46875;fill:url(#linearGradient25429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.89478" y="94.46965" id="rect18363" style="opacity:0.46875;fill:url(#linearGradient25431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.35883" y="83.683098" id="rect18365" style="opacity:0.46875;fill:url(#linearGradient25433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.77145" y="75.577515" id="rect18367" style="opacity:0.1875;fill:url(#linearGradient25435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.45178" y="95.948578" id="rect18369" style="opacity:0.1875;fill:url(#linearGradient25437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.85594" y="63.876396" id="rect18371" style="opacity:0.1875;fill:url(#linearGradient25439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.77063" y="72.637779" id="rect18373" style="opacity:0.46875;fill:url(#linearGradient25441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.58069" y="106.60091" id="rect18375" style="opacity:0.46875;fill:url(#linearGradient25443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.90054" y="60.200027" id="rect18377" style="opacity:0.46875;fill:url(#linearGradient25445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.53291" y="89.377716" id="rect18379" style="opacity:0.1875;fill:url(#linearGradient25447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.34618" y="83.512108" id="rect18381" style="opacity:0.1875;fill:url(#linearGradient25449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.69232" y="66.480316" id="rect18383" style="opacity:0.1875;fill:url(#linearGradient25451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.35358" y="69.703491" id="rect18385" style="opacity:0.46875;fill:url(#linearGradient25453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.26117" y="56.466759" id="rect18387" style="opacity:0.46875;fill:url(#linearGradient25455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.90395" y="81.527306" id="rect18389" style="opacity:0.46875;fill:url(#linearGradient25457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.25595" y="79.487236" id="rect18391" style="opacity:0.1875;fill:url(#linearGradient25459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.13121" y="88.470932" id="rect18393" style="opacity:0.1875;fill:url(#linearGradient25461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.26227" y="86.610855" id="rect18395" style="opacity:0.1875;fill:url(#linearGradient25463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.04407" y="91.484947" id="rect18397" style="opacity:0.46875;fill:url(#linearGradient25465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.31018" y="60.714272" id="rect18399" style="opacity:0.46875;fill:url(#linearGradient25467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.26987" y="76.319176" id="rect18401" style="opacity:0.46875;fill:url(#linearGradient25469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.81497" y="110.69751" id="rect18403" style="opacity:0.1875;fill:url(#linearGradient25471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.56194" y="83.316528" id="rect18405" style="opacity:0.1875;fill:url(#linearGradient25473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.77362" y="75.160622" id="rect18407" style="opacity:0.1875;fill:url(#linearGradient25475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.95584" y="89.178764" id="rect18409" style="opacity:0.46875;fill:url(#linearGradient25477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.21521" y="76.066673" id="rect18411" style="opacity:0.46875;fill:url(#linearGradient25479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.20267" y="110.82329" id="rect18413" style="opacity:0.46875;fill:url(#linearGradient25481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.90068" y="93.641579" id="rect18415" style="opacity:0.1875;fill:url(#linearGradient25483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.98462" y="63.597" id="rect18417" style="opacity:0.1875;fill:url(#linearGradient25485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.41406" y="77.615059" id="rect18419" style="opacity:0.1875;fill:url(#linearGradient25487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.41394" y="84.300209" id="rect18421" style="opacity:0.46875;fill:url(#linearGradient25489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-248.11342" y="100.78419" id="rect18423" style="opacity:0.46875;fill:url(#linearGradient25491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.6394" y="102.52259" id="rect18425" style="opacity:0.46875;fill:url(#linearGradient25493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.46675" y="64.784454" id="rect18427" style="opacity:0.1875;fill:url(#linearGradient25495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.46829" y="98.256683" id="rect18429" style="opacity:0.1875;fill:url(#linearGradient25497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-249.84923" y="102.14691" id="rect18431" style="opacity:0.1875;fill:url(#linearGradient25499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.61346" y="62.031593" id="rect18433" style="opacity:0.46875;fill:url(#linearGradient25501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.99881" y="81.942253" id="rect18435" style="opacity:0.46875;fill:url(#linearGradient25503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.75516" y="80.842926" id="rect18437" style="opacity:0.46875;fill:url(#linearGradient25505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.5466" y="83.51545" id="rect18439" style="opacity:0.1875;fill:url(#linearGradient25507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.53737" y="67.027702" id="rect18441" style="opacity:0.1875;fill:url(#linearGradient25509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.38284" y="103.22467" id="rect18443" style="opacity:0.1875;fill:url(#linearGradient25511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.94073" y="62.307873" id="rect18445" style="opacity:0.46875;fill:url(#linearGradient25513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.1153" y="78.606285" id="rect18447" style="opacity:0.46875;fill:url(#linearGradient25515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.53516" y="98.190308" id="rect18449" style="opacity:0.46875;fill:url(#linearGradient25517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.46397" y="68.309998" id="rect18451" style="opacity:0.1875;fill:url(#linearGradient25519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.96036" y="68.613037" id="rect18453" style="opacity:0.1875;fill:url(#linearGradient25521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.97824" y="70.057411" id="rect18455" style="opacity:0.1875;fill:url(#linearGradient25523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.00824" y="107.40057" id="rect18457" style="opacity:0.46875;fill:url(#linearGradient25525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.42072" y="109.3634" id="rect18459" style="opacity:0.46875;fill:url(#linearGradient25527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.83664" y="65.596466" id="rect18461" style="opacity:0.46875;fill:url(#linearGradient25529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.58488" y="86.885582" id="rect18463" style="opacity:0.1875;fill:url(#linearGradient25531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.64371" y="81.863777" id="rect18465" style="opacity:0.1875;fill:url(#linearGradient25533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.68872" y="98.258194" id="rect18467" style="opacity:0.1875;fill:url(#linearGradient25535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.73193" y="57.614296" id="rect18469" style="opacity:0.46875;fill:url(#linearGradient25537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.63004" y="84.332832" id="rect18471" style="opacity:0.46875;fill:url(#linearGradient25539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.7637" y="69.674995" id="rect18473" style="opacity:0.46875;fill:url(#linearGradient25541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.64343" y="82.495186" id="rect18475" style="opacity:0.1875;fill:url(#linearGradient25543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.85864" y="59.185127" id="rect18477" style="opacity:0.1875;fill:url(#linearGradient25545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.09042" y="74.726555" id="rect18479" style="opacity:0.1875;fill:url(#linearGradient25547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.59351" y="73.606941" id="rect18481" style="opacity:0.46875;fill:url(#linearGradient25549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.58517" y="55.815166" id="rect18483" style="opacity:0.46875;fill:url(#linearGradient25551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.51108" y="80.653122" id="rect18485" style="opacity:0.46875;fill:url(#linearGradient25553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-263.96866" y="89.247513" id="rect18487" style="opacity:0.1875;fill:url(#linearGradient25555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-266.88388" y="80.690773" id="rect18489" style="opacity:0.1875;fill:url(#linearGradient25557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.79605" y="110.67844" id="rect18491" style="opacity:0.1875;fill:url(#linearGradient25559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.51732" y="75.380501" id="rect18493" style="opacity:0.46875;fill:url(#linearGradient25561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.51567" y="103.38647" id="rect18495" style="opacity:0.46875;fill:url(#linearGradient25563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.96869" y="56.758343" id="rect18497" style="opacity:0.46875;fill:url(#linearGradient25565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.85594" y="102.63554" id="rect18499" style="opacity:0.1875;fill:url(#linearGradient25567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.52267" y="109.84169" id="rect18501" style="opacity:0.1875;fill:url(#linearGradient25569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.80392" y="95.125671" id="rect18503" style="opacity:0.1875;fill:url(#linearGradient25571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.16461" y="77.213577" id="rect18505" style="opacity:0.46875;fill:url(#linearGradient25573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.90277" y="95.847725" id="rect18507" style="opacity:0.46875;fill:url(#linearGradient25575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.6911" y="76.100128" id="rect18509" style="opacity:0.46875;fill:url(#linearGradient25577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.52742" y="102.68053" id="rect18511" style="opacity:0.1875;fill:url(#linearGradient25579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.22385" y="67.563797" id="rect18513" style="opacity:0.1875;fill:url(#linearGradient25581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.05579" y="85.764542" id="rect18515" style="opacity:0.1875;fill:url(#linearGradient25583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.3392" y="60.742577" id="rect18517" style="opacity:0.46875;fill:url(#linearGradient25585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.12518" y="68.472763" id="rect18519" style="opacity:0.46875;fill:url(#linearGradient25587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.16914" y="65.996407" id="rect18521" style="opacity:0.46875;fill:url(#linearGradient25589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.75221" y="86.193619" id="rect18523" style="opacity:0.1875;fill:url(#linearGradient25591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.14877" y="101.30114" id="rect18525" style="opacity:0.1875;fill:url(#linearGradient25593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.47665" y="88.885841" id="rect18527" style="opacity:0.1875;fill:url(#linearGradient25595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-241.04015" y="101.66671" id="rect18529" style="opacity:0.46875;fill:url(#linearGradient25597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.33102" y="58.575886" id="rect18531" style="opacity:0.46875;fill:url(#linearGradient25599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.40578" y="57.532642" id="rect18533" style="opacity:0.46875;fill:url(#linearGradient25601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.9127" y="57.526257" id="rect18919" style="opacity:0.1875;fill:url(#linearGradient25603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.32135" y="97.074615" id="rect18921" style="opacity:0.1875;fill:url(#linearGradient25605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.4538" y="66.162369" id="rect18923" style="opacity:0.1875;fill:url(#linearGradient25607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.92183" y="91.841202" id="rect18925" style="opacity:0.46875;fill:url(#linearGradient25609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.95801" y="62.992939" id="rect18927" style="opacity:0.46875;fill:url(#linearGradient25611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.78813" y="60.985554" id="rect18929" style="opacity:0.46875;fill:url(#linearGradient25613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.08983" y="85.340904" id="rect18931" style="opacity:0.1875;fill:url(#linearGradient25615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.02982" y="87.608078" id="rect18933" style="opacity:0.1875;fill:url(#linearGradient25617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-254.55878" y="66.718971" id="rect18935" style="opacity:0.1875;fill:url(#linearGradient25619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.55739" y="84.136307" id="rect18937" style="opacity:0.46875;fill:url(#linearGradient25621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.86101" y="83.323425" id="rect18939" style="opacity:0.46875;fill:url(#linearGradient25623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-278.49765" y="99.488594" id="rect18941" style="opacity:0.46875;fill:url(#linearGradient25625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.55836" y="100.24726" id="rect18943" style="opacity:0.1875;fill:url(#linearGradient25627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.19774" y="92.854179" id="rect18945" style="opacity:0.1875;fill:url(#linearGradient25629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.54205" y="61.351452" id="rect18947" style="opacity:0.1875;fill:url(#linearGradient25631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.98083" y="88.497482" id="rect18949" style="opacity:0.46875;fill:url(#linearGradient25633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.63409" y="99.553261" id="rect18951" style="opacity:0.46875;fill:url(#linearGradient25635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.47437" y="58.168949" id="rect18953" style="opacity:0.46875;fill:url(#linearGradient25637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.33575" y="86.500946" id="rect18955" style="opacity:0.1875;fill:url(#linearGradient25639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.90872" y="103.5072" id="rect18957" style="opacity:0.1875;fill:url(#linearGradient25641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.78004" y="72.946983" id="rect18959" style="opacity:0.1875;fill:url(#linearGradient25643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.84477" y="85.671165" id="rect18961" style="opacity:0.46875;fill:url(#linearGradient25645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.55591" y="89.883553" id="rect18963" style="opacity:0.46875;fill:url(#linearGradient25647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.39258" y="82.950401" id="rect18965" style="opacity:0.46875;fill:url(#linearGradient25649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.30173" y="75.114151" id="rect18967" style="opacity:0.1875;fill:url(#linearGradient25651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.21027" y="71.787895" id="rect18969" style="opacity:0.1875;fill:url(#linearGradient25653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.39825" y="100.81129" id="rect18971" style="opacity:0.1875;fill:url(#linearGradient25655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.18207" y="66.801216" id="rect18973" style="opacity:0.46875;fill:url(#linearGradient25657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.54575" y="94.54393" id="rect18975" style="opacity:0.46875;fill:url(#linearGradient25659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.51776" y="85.290855" id="rect18977" style="opacity:0.46875;fill:url(#linearGradient25661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.5864" y="71.016502" id="rect18979" style="opacity:0.1875;fill:url(#linearGradient25663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.21921" y="65.639832" id="rect18981" style="opacity:0.1875;fill:url(#linearGradient25665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.79636" y="63.71505" id="rect18983" style="opacity:0.1875;fill:url(#linearGradient25667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.34283" y="107.64001" id="rect18985" style="opacity:0.46875;fill:url(#linearGradient25669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.38077" y="99.69957" id="rect18987" style="opacity:0.46875;fill:url(#linearGradient25671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.94934" y="79.567955" id="rect18989" style="opacity:0.46875;fill:url(#linearGradient25673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.47961" y="106.71353" id="rect18991" style="opacity:0.1875;fill:url(#linearGradient25675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.58325" y="84.44001" id="rect18993" style="opacity:0.1875;fill:url(#linearGradient25677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.00653" y="101.09319" id="rect18995" style="opacity:0.1875;fill:url(#linearGradient25679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.39656" y="106.40167" id="rect18997" style="opacity:0.46875;fill:url(#linearGradient25681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.76819" y="70.810738" id="rect18999" style="opacity:0.46875;fill:url(#linearGradient25683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.0509" y="102.26338" id="rect19001" style="opacity:0.46875;fill:url(#linearGradient25685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.00787" y="93.647499" id="rect19003" style="opacity:0.1875;fill:url(#linearGradient25687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.53571" y="108.52261" id="rect19005" style="opacity:0.1875;fill:url(#linearGradient25689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.90356" y="63.263" id="rect19007" style="opacity:0.1875;fill:url(#linearGradient25691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-238.44772" y="90.823517" id="rect19009" style="opacity:0.46875;fill:url(#linearGradient25693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.47687" y="89.193001" id="rect19011" style="opacity:0.46875;fill:url(#linearGradient25695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.64713" y="62.666931" id="rect19013" style="opacity:0.46875;fill:url(#linearGradient25697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.9185" y="73.799789" id="rect19015" style="opacity:0.1875;fill:url(#linearGradient25699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.84146" y="86.224449" id="rect19017" style="opacity:0.1875;fill:url(#linearGradient25701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.98773" y="110.16738" id="rect19019" style="opacity:0.1875;fill:url(#linearGradient25703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.17789" y="94.973297" id="rect19021" style="opacity:0.46875;fill:url(#linearGradient25705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.49565" y="74.358421" id="rect19023" style="opacity:0.46875;fill:url(#linearGradient25707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.55728" y="95.373718" id="rect19025" style="opacity:0.46875;fill:url(#linearGradient25709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.83374" y="90.887688" id="rect19027" style="opacity:0.1875;fill:url(#linearGradient25711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.96057" y="94.594093" id="rect19029" style="opacity:0.1875;fill:url(#linearGradient25713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.0192" y="91.37999" id="rect19031" style="opacity:0.1875;fill:url(#linearGradient25715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.39069" y="68.775909" id="rect19033" style="opacity:0.46875;fill:url(#linearGradient25717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.06958" y="103.01775" id="rect19035" style="opacity:0.46875;fill:url(#linearGradient25719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.51514" y="76.4011" id="rect19037" style="opacity:0.46875;fill:url(#linearGradient25721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.21619" y="67.520676" id="rect19039" style="opacity:0.1875;fill:url(#linearGradient25723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-279.83255" y="84.320534" id="rect19041" style="opacity:0.1875;fill:url(#linearGradient25725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.59525" y="71.078278" id="rect19043" style="opacity:0.1875;fill:url(#linearGradient25727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.35696" y="86.638985" id="rect19045" style="opacity:0.46875;fill:url(#linearGradient25729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.40378" y="82.163078" id="rect19047" style="opacity:0.46875;fill:url(#linearGradient25731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.71713" y="82.552078" id="rect19049" style="opacity:0.46875;fill:url(#linearGradient25733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.31723" y="80.803482" id="rect19051" style="opacity:0.1875;fill:url(#linearGradient25735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.43948" y="78.776352" id="rect19053" style="opacity:0.1875;fill:url(#linearGradient25737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.18832" y="105.04062" id="rect19055" style="opacity:0.1875;fill:url(#linearGradient25739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.76416" y="69.334221" id="rect19057" style="opacity:0.46875;fill:url(#linearGradient25741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.53604" y="106.49574" id="rect19059" style="opacity:0.46875;fill:url(#linearGradient25743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.6328" y="95.204269" id="rect19061" style="opacity:0.46875;fill:url(#linearGradient25745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.92119" y="57.997192" id="rect19063" style="opacity:0.1875;fill:url(#linearGradient25747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.89978" y="108.55125" id="rect19065" style="opacity:0.1875;fill:url(#linearGradient25749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-269.3967" y="110.37301" id="rect19067" style="opacity:0.1875;fill:url(#linearGradient25751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.70844" y="69.12841" id="rect19069" style="opacity:0.46875;fill:url(#linearGradient25753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.84006" y="95.986496" id="rect19071" style="opacity:0.46875;fill:url(#linearGradient25755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.98888" y="103.69247" id="rect19073" style="opacity:0.46875;fill:url(#linearGradient25757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.38586" y="67.375679" id="rect19075" style="opacity:0.1875;fill:url(#linearGradient25759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.78357" y="70.102432" id="rect19077" style="opacity:0.1875;fill:url(#linearGradient25761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.98303" y="107.18321" id="rect19079" style="opacity:0.1875;fill:url(#linearGradient25763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.54657" y="74.298431" id="rect19081" style="opacity:0.46875;fill:url(#linearGradient25765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.54166" y="91.346199" id="rect19083" style="opacity:0.46875;fill:url(#linearGradient25767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.13815" y="80.275932" id="rect19085" style="opacity:0.46875;fill:url(#linearGradient25769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.84622" y="78.927689" id="rect19087" style="opacity:0.1875;fill:url(#linearGradient25771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.49251" y="104.74801" id="rect19089" style="opacity:0.1875;fill:url(#linearGradient25773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.81819" y="60.508629" id="rect19091" style="opacity:0.1875;fill:url(#linearGradient25775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.77986" y="84.047173" id="rect19093" style="opacity:0.46875;fill:url(#linearGradient25777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.71603" y="93.857674" id="rect19095" style="opacity:0.46875;fill:url(#linearGradient25779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.01331" y="68.597374" id="rect19097" style="opacity:0.46875;fill:url(#linearGradient25781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.43222" y="67.29528" id="rect19099" style="opacity:0.1875;fill:url(#linearGradient25783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.39505" y="75.4105" id="rect19101" style="opacity:0.1875;fill:url(#linearGradient25785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.18639" y="93.951813" id="rect19103" style="opacity:0.1875;fill:url(#linearGradient25787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.88348" y="66.440628" id="rect19105" style="opacity:0.46875;fill:url(#linearGradient25789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.90556" y="83.751076" id="rect19107" style="opacity:0.46875;fill:url(#linearGradient25791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.24927" y="64.618744" id="rect19109" style="opacity:0.46875;fill:url(#linearGradient25793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.68109" y="104.28016" id="rect19111" style="opacity:0.1875;fill:url(#linearGradient25795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.19943" y="89.530205" id="rect19113" style="opacity:0.1875;fill:url(#linearGradient25797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.99399" y="105.37378" id="rect19115" style="opacity:0.1875;fill:url(#linearGradient25799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.28281" y="60.801304" id="rect19117" style="opacity:0.46875;fill:url(#linearGradient25801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.56076" y="82.010605" id="rect19119" style="opacity:0.46875;fill:url(#linearGradient25803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.97751" y="82.576714" id="rect19121" style="opacity:0.46875;fill:url(#linearGradient25805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.05029" y="99.69252" id="rect19123" style="opacity:0.1875;fill:url(#linearGradient25807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.12518" y="56.092049" id="rect19125" style="opacity:0.1875;fill:url(#linearGradient25809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.81729" y="83.794304" id="rect19127" style="opacity:0.1875;fill:url(#linearGradient25811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.71368" y="105.04692" id="rect19129" style="opacity:0.46875;fill:url(#linearGradient25813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.64838" y="65.826553" id="rect19131" style="opacity:0.46875;fill:url(#linearGradient25815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.96567" y="64.875366" id="rect19133" style="opacity:0.46875;fill:url(#linearGradient25817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.39728" y="105.96532" id="rect19135" style="opacity:0.1875;fill:url(#linearGradient25819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.63116" y="84.33313" id="rect19137" style="opacity:0.1875;fill:url(#linearGradient25821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.94666" y="103.36714" id="rect19139" style="opacity:0.1875;fill:url(#linearGradient25823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.03406" y="72.169991" id="rect19141" style="opacity:0.46875;fill:url(#linearGradient25825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.07004" y="91.508087" id="rect19143" style="opacity:0.46875;fill:url(#linearGradient25827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.74023" y="65.295685" id="rect19145" style="opacity:0.46875;fill:url(#linearGradient25829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.46622" y="94.028046" id="rect19147" style="opacity:0.1875;fill:url(#linearGradient25831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.63184" y="100.02885" id="rect19149" style="opacity:0.1875;fill:url(#linearGradient25833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.31564" y="68.181747" id="rect19151" style="opacity:0.1875;fill:url(#linearGradient25835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.37823" y="80.158287" id="rect19153" style="opacity:0.46875;fill:url(#linearGradient25837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.25195" y="73.81916" id="rect19155" style="opacity:0.46875;fill:url(#linearGradient25839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.21211" y="72.697601" id="rect19157" style="opacity:0.46875;fill:url(#linearGradient25841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.42764" y="91.750961" id="rect19159" style="opacity:0.1875;fill:url(#linearGradient25843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.2442" y="84.52874" id="rect19161" style="opacity:0.1875;fill:url(#linearGradient25845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.86484" y="66.390846" id="rect19163" style="opacity:0.1875;fill:url(#linearGradient25847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.04269" y="107.95484" id="rect19165" style="opacity:0.46875;fill:url(#linearGradient25849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.05286" y="78.926689" id="rect19167" style="opacity:0.46875;fill:url(#linearGradient25851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.63925" y="107.33574" id="rect19169" style="opacity:0.46875;fill:url(#linearGradient25853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.09424" y="64.496719" id="rect19171" style="opacity:0.1875;fill:url(#linearGradient25855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.27118" y="70.296356" id="rect19173" style="opacity:0.1875;fill:url(#linearGradient25857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.17659" y="90.893532" id="rect19175" style="opacity:0.1875;fill:url(#linearGradient25859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.24466" y="62.413158" id="rect19177" style="opacity:0.46875;fill:url(#linearGradient25861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.59363" y="91.436836" id="rect19179" style="opacity:0.46875;fill:url(#linearGradient25863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.57291" y="92.877731" id="rect19181" style="opacity:0.46875;fill:url(#linearGradient25865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.94574" y="85.862312" id="rect19183" style="opacity:0.1875;fill:url(#linearGradient25867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.98853" y="63.901665" id="rect19185" style="opacity:0.1875;fill:url(#linearGradient25869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.00256" y="107.28114" id="rect19187" style="opacity:0.1875;fill:url(#linearGradient25871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.86865" y="89.48291" id="rect19189" style="opacity:0.46875;fill:url(#linearGradient25873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.61465" y="57.415867" id="rect19191" style="opacity:0.46875;fill:url(#linearGradient25875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-254.48337" y="84.216339" id="rect19193" style="opacity:0.46875;fill:url(#linearGradient25877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.94864" y="71.953529" id="rect19195" style="opacity:0.1875;fill:url(#linearGradient25879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.51169" y="68.122597" id="rect19197" style="opacity:0.1875;fill:url(#linearGradient25881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.92078" y="111.10387" id="rect19199" style="opacity:0.1875;fill:url(#linearGradient25883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.40286" y="63.712029" id="rect19201" style="opacity:0.46875;fill:url(#linearGradient25885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.28314" y="106.27374" id="rect19203" style="opacity:0.46875;fill:url(#linearGradient25887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.1701" y="55.287373" id="rect19205" style="opacity:0.46875;fill:url(#linearGradient25889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.48601" y="57.769218" id="rect19207" style="opacity:0.1875;fill:url(#linearGradient25891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.46838" y="77.377342" id="rect19209" style="opacity:0.1875;fill:url(#linearGradient25893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.15372" y="69.913437" id="rect19211" style="opacity:0.1875;fill:url(#linearGradient25895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.19022" y="65.70224" id="rect19213" style="opacity:0.46875;fill:url(#linearGradient25897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.64978" y="94.028038" id="rect19215" style="opacity:0.46875;fill:url(#linearGradient25899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.81993" y="97.112503" id="rect19217" style="opacity:0.46875;fill:url(#linearGradient25901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.59576" y="97.91346" id="rect19219" style="opacity:0.1875;fill:url(#linearGradient25903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.39734" y="98.881744" id="rect19221" style="opacity:0.1875;fill:url(#linearGradient25905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.14093" y="78.441406" id="rect19223" style="opacity:0.1875;fill:url(#linearGradient25907);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-304.33417" y="55.983482" id="rect19225" style="opacity:0.46875;fill:url(#linearGradient25909);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.66583" y="72.041855" id="rect19227" style="opacity:0.46875;fill:url(#linearGradient25911);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.92673" y="70.234978" id="rect19229" style="opacity:0.46875;fill:url(#linearGradient25913);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.9696" y="84.045815" id="rect19231" style="opacity:0.1875;fill:url(#linearGradient25915);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.9485" y="110.36636" id="rect19233" style="opacity:0.1875;fill:url(#linearGradient25917);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.12448" y="78.765671" id="rect19235" style="opacity:0.1875;fill:url(#linearGradient25919);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-268.93396" y="66.957794" id="rect19237" style="opacity:0.46875;fill:url(#linearGradient25921);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.72153" y="63.677078" id="rect19239" style="opacity:0.46875;fill:url(#linearGradient25923);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.16353" y="106.5026" id="rect19241" style="opacity:0.46875;fill:url(#linearGradient25925);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-229.84259" y="78.04248" id="rect19243" style="opacity:0.1875;fill:url(#linearGradient25927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.24341" y="97.765053" id="rect19245" style="opacity:0.1875;fill:url(#linearGradient25929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.61215" y="105.56336" id="rect19247" style="opacity:0.1875;fill:url(#linearGradient25931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.03516" y="103.79118" id="rect19249" style="opacity:0.46875;fill:url(#linearGradient25933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.26445" y="74.449562" id="rect19251" style="opacity:0.46875;fill:url(#linearGradient25935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.85646" y="68.907692" id="rect19253" style="opacity:0.46875;fill:url(#linearGradient25937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.54657" y="89.704041" id="rect19255" style="opacity:0.1875;fill:url(#linearGradient25939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.86136" y="76.668816" id="rect19257" style="opacity:0.1875;fill:url(#linearGradient25941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.42096" y="61.806561" id="rect19259" style="opacity:0.1875;fill:url(#linearGradient25943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.98203" y="69.427635" id="rect19261" style="opacity:0.46875;fill:url(#linearGradient25945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.41055" y="85.174919" id="rect19263" style="opacity:0.46875;fill:url(#linearGradient25947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.0016" y="103.53281" id="rect19265" style="opacity:0.46875;fill:url(#linearGradient25949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.7686" y="75.559853" id="rect19267" style="opacity:0.1875;fill:url(#linearGradient25951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.5695" y="107.75644" id="rect19269" style="opacity:0.1875;fill:url(#linearGradient25953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.72728" y="105.42181" id="rect19271" style="opacity:0.1875;fill:url(#linearGradient25955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.7652" y="82.467445" id="rect19273" style="opacity:0.46875;fill:url(#linearGradient25957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.38632" y="95.402771" id="rect19275" style="opacity:0.46875;fill:url(#linearGradient25959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.82684" y="72.933113" id="rect19277" style="opacity:0.46875;fill:url(#linearGradient25961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.04517" y="93.536026" id="rect19279" style="opacity:0.1875;fill:url(#linearGradient25963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-270.15546" y="89.64119" id="rect19281" style="opacity:0.1875;fill:url(#linearGradient25965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.89304" y="66.820396" id="rect19283" style="opacity:0.1875;fill:url(#linearGradient25967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.6131" y="71.216759" id="rect19285" style="opacity:0.46875;fill:url(#linearGradient25969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.00293" y="94.547012" id="rect19287" style="opacity:0.46875;fill:url(#linearGradient25971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.54749" y="111.24785" id="rect19289" style="opacity:0.46875;fill:url(#linearGradient25973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.9171" y="75.402245" id="rect19291" style="opacity:0.1875;fill:url(#linearGradient25975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.30652" y="64.5979" id="rect19293" style="opacity:0.1875;fill:url(#linearGradient25977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.15259" y="109.60979" id="rect19295" style="opacity:0.1875;fill:url(#linearGradient25979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.30212" y="103.83401" id="rect19297" style="opacity:0.46875;fill:url(#linearGradient25981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.05688" y="70.616966" id="rect19299" style="opacity:0.46875;fill:url(#linearGradient25983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.5407" y="108.18846" id="rect19301" style="opacity:0.46875;fill:url(#linearGradient25985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.00439" y="89.209114" id="rect19687" style="opacity:0.1875;fill:url(#linearGradient25987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.96806" y="93.906403" id="rect19689" style="opacity:0.1875;fill:url(#linearGradient25989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.9646" y="71.037643" id="rect19691" style="opacity:0.1875;fill:url(#linearGradient25991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.56036" y="72.821198" id="rect19693" style="opacity:0.46875;fill:url(#linearGradient25993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.60529" y="60.0312" id="rect19695" style="opacity:0.46875;fill:url(#linearGradient25995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.2816" y="72.936653" id="rect19697" style="opacity:0.46875;fill:url(#linearGradient25997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-285.78677" y="56.41328" id="rect19699" style="opacity:0.1875;fill:url(#linearGradient25999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-279.86523" y="110.02824" id="rect19701" style="opacity:0.1875;fill:url(#linearGradient26001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.45341" y="55.875343" id="rect19703" style="opacity:0.1875;fill:url(#linearGradient26003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.50208" y="103.96443" id="rect19705" style="opacity:0.46875;fill:url(#linearGradient26005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.84354" y="67.604721" id="rect19707" style="opacity:0.46875;fill:url(#linearGradient26007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.03075" y="96.542793" id="rect19709" style="opacity:0.46875;fill:url(#linearGradient26009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.05197" y="77.771103" id="rect19711" style="opacity:0.1875;fill:url(#linearGradient26011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.98514" y="107.89761" id="rect19713" style="opacity:0.1875;fill:url(#linearGradient26013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.06744" y="100.2785" id="rect19715" style="opacity:0.1875;fill:url(#linearGradient26015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.4613" y="93.778717" id="rect19717" style="opacity:0.46875;fill:url(#linearGradient26017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-274.2962" y="110.55288" id="rect19719" style="opacity:0.46875;fill:url(#linearGradient26019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.81448" y="104.48936" id="rect19721" style="opacity:0.46875;fill:url(#linearGradient26021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.3071" y="90.755722" id="rect19723" style="opacity:0.1875;fill:url(#linearGradient26023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.40009" y="66.625076" id="rect19725" style="opacity:0.1875;fill:url(#linearGradient26025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.82065" y="61.598354" id="rect19727" style="opacity:0.1875;fill:url(#linearGradient26027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-241.56587" y="78.79348" id="rect19729" style="opacity:0.46875;fill:url(#linearGradient26029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.73978" y="109.59057" id="rect19731" style="opacity:0.46875;fill:url(#linearGradient26031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.17905" y="69.12339" id="rect19733" style="opacity:0.46875;fill:url(#linearGradient26033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-216.81087" y="69.328728" id="rect19735" style="opacity:0.1875;fill:url(#linearGradient26035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-245.59779" y="60.468842" id="rect19737" style="opacity:0.1875;fill:url(#linearGradient26037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.39996" y="69.177399" id="rect19739" style="opacity:0.1875;fill:url(#linearGradient26039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.0867" y="103.58194" id="rect19741" style="opacity:0.46875;fill:url(#linearGradient26041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.35747" y="97.591721" id="rect19743" style="opacity:0.46875;fill:url(#linearGradient26043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.92908" y="108.21365" id="rect19745" style="opacity:0.46875;fill:url(#linearGradient26045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-280.70068" y="94.988106" id="rect19747" style="opacity:0.1875;fill:url(#linearGradient26047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.22475" y="86.568611" id="rect19749" style="opacity:0.1875;fill:url(#linearGradient26049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.897" y="68.450813" id="rect19751" style="opacity:0.1875;fill:url(#linearGradient26051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.28683" y="105.07285" id="rect19753" style="opacity:0.46875;fill:url(#linearGradient26053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.34781" y="101.12499" id="rect19755" style="opacity:0.46875;fill:url(#linearGradient26055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.66919" y="72.771706" id="rect19757" style="opacity:0.46875;fill:url(#linearGradient26057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.08136" y="109.14403" id="rect19759" style="opacity:0.1875;fill:url(#linearGradient26059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-266.47391" y="56.483292" id="rect19761" style="opacity:0.1875;fill:url(#linearGradient26061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.57245" y="77.759392" id="rect19763" style="opacity:0.1875;fill:url(#linearGradient26063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.63818" y="84.989304" id="rect19765" style="opacity:0.46875;fill:url(#linearGradient26065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.00952" y="84.498077" id="rect19767" style="opacity:0.46875;fill:url(#linearGradient26067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.5238" y="87.767929" id="rect19769" style="opacity:0.46875;fill:url(#linearGradient26069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.25314" y="107.81876" id="rect19771" style="opacity:0.1875;fill:url(#linearGradient26071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.9086" y="92.5084" id="rect19773" style="opacity:0.1875;fill:url(#linearGradient26073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.40143" y="68.458366" id="rect19775" style="opacity:0.1875;fill:url(#linearGradient26075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.85092" y="65.466675" id="rect19777" style="opacity:0.46875;fill:url(#linearGradient26077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.8295" y="68.729492" id="rect19779" style="opacity:0.46875;fill:url(#linearGradient26079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.39764" y="58.76083" id="rect19781" style="opacity:0.46875;fill:url(#linearGradient26081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.33389" y="91.26815" id="rect19783" style="opacity:0.1875;fill:url(#linearGradient26083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.94896" y="82.49556" id="rect19785" style="opacity:0.1875;fill:url(#linearGradient26085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.46701" y="75.851974" id="rect19787" style="opacity:0.1875;fill:url(#linearGradient26087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-302.13321" y="72.279182" id="rect19789" style="opacity:0.46875;fill:url(#linearGradient26089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.7038" y="106.88218" id="rect19791" style="opacity:0.46875;fill:url(#linearGradient26091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.86159" y="71.95945" id="rect19793" style="opacity:0.46875;fill:url(#linearGradient26093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.88998" y="66.489037" id="rect19795" style="opacity:0.1875;fill:url(#linearGradient26095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.97731" y="90.453789" id="rect19797" style="opacity:0.1875;fill:url(#linearGradient26097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.25266" y="74.747742" id="rect19799" style="opacity:0.1875;fill:url(#linearGradient26099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.03563" y="65.806068" id="rect19801" style="opacity:0.46875;fill:url(#linearGradient26101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.26402" y="74.816711" id="rect19803" style="opacity:0.46875;fill:url(#linearGradient26103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.60954" y="70.76754" id="rect19805" style="opacity:0.46875;fill:url(#linearGradient26105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.31042" y="82.344101" id="rect19807" style="opacity:0.1875;fill:url(#linearGradient26107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-245.2084" y="90.807762" id="rect19809" style="opacity:0.1875;fill:url(#linearGradient26109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-239.56085" y="74.873642" id="rect19811" style="opacity:0.1875;fill:url(#linearGradient26111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.24194" y="108.07713" id="rect19813" style="opacity:0.46875;fill:url(#linearGradient26113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-254.00378" y="94.862534" id="rect19815" style="opacity:0.46875;fill:url(#linearGradient26115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.65979" y="88.722481" id="rect19817" style="opacity:0.46875;fill:url(#linearGradient26117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.76619" y="104.99657" id="rect19819" style="opacity:0.1875;fill:url(#linearGradient26119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.69971" y="99.441635" id="rect19821" style="opacity:0.1875;fill:url(#linearGradient26121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.08588" y="55.394043" id="rect19823" style="opacity:0.1875;fill:url(#linearGradient26123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.71527" y="89.729172" id="rect19825" style="opacity:0.46875;fill:url(#linearGradient26125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.57977" y="87.39814" id="rect19827" style="opacity:0.46875;fill:url(#linearGradient26127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.60815" y="61.057537" id="rect19829" style="opacity:0.46875;fill:url(#linearGradient26129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.3033" y="93.364738" id="rect19831" style="opacity:0.1875;fill:url(#linearGradient26131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.2106" y="109.53021" id="rect19833" style="opacity:0.1875;fill:url(#linearGradient26133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-240.3336" y="95.752419" id="rect19835" style="opacity:0.1875;fill:url(#linearGradient26135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.09399" y="108.47672" id="rect19837" style="opacity:0.46875;fill:url(#linearGradient26137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.98718" y="56.313244" id="rect19839" style="opacity:0.46875;fill:url(#linearGradient26139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-250.88078" y="66.299667" id="rect19841" style="opacity:0.46875;fill:url(#linearGradient26141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.43297" y="98.155182" id="rect19843" style="opacity:0.1875;fill:url(#linearGradient26143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-264.12787" y="56.134888" id="rect19845" style="opacity:0.1875;fill:url(#linearGradient26145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.90723" y="99.438095" id="rect19847" style="opacity:0.1875;fill:url(#linearGradient26147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.72171" y="108.76661" id="rect19849" style="opacity:0.46875;fill:url(#linearGradient26149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.49231" y="66.532898" id="rect19851" style="opacity:0.46875;fill:url(#linearGradient26151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.77087" y="79.516312" id="rect19853" style="opacity:0.46875;fill:url(#linearGradient26153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.68567" y="88.295525" id="rect19855" style="opacity:0.1875;fill:url(#linearGradient26155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-264.75388" y="79.418007" id="rect19857" style="opacity:0.1875;fill:url(#linearGradient26157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.2804" y="82.868881" id="rect19859" style="opacity:0.1875;fill:url(#linearGradient26159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.78253" y="86.814514" id="rect19861" style="opacity:0.46875;fill:url(#linearGradient26161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.81927" y="61.421219" id="rect19863" style="opacity:0.46875;fill:url(#linearGradient26163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.81541" y="88.583298" id="rect19865" style="opacity:0.46875;fill:url(#linearGradient26165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.35025" y="110.12419" id="rect19867" style="opacity:0.1875;fill:url(#linearGradient26167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.07797" y="86.085411" id="rect19869" style="opacity:0.1875;fill:url(#linearGradient26169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.14191" y="111.1115" id="rect19871" style="opacity:0.1875;fill:url(#linearGradient26171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.09656" y="84.347092" id="rect19873" style="opacity:0.46875;fill:url(#linearGradient26173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.2934" y="71.749733" id="rect19875" style="opacity:0.46875;fill:url(#linearGradient26175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.99847" y="67.531227" id="rect19877" style="opacity:0.46875;fill:url(#linearGradient26177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.12584" y="61.71769" id="rect19879" style="opacity:0.1875;fill:url(#linearGradient26179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.22586" y="107.49362" id="rect19881" style="opacity:0.1875;fill:url(#linearGradient26181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.43884" y="105.33451" id="rect19883" style="opacity:0.1875;fill:url(#linearGradient26183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.26175" y="107.8763" id="rect19885" style="opacity:0.46875;fill:url(#linearGradient26185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-264.44354" y="67.935165" id="rect19887" style="opacity:0.46875;fill:url(#linearGradient26187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.49667" y="96.643944" id="rect19889" style="opacity:0.46875;fill:url(#linearGradient26189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.63341" y="107.29041" id="rect19891" style="opacity:0.1875;fill:url(#linearGradient26191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-228.05434" y="67.919067" id="rect19893" style="opacity:0.1875;fill:url(#linearGradient26193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.32623" y="107.8399" id="rect19895" style="opacity:0.1875;fill:url(#linearGradient26195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-289.12415" y="104.71578" id="rect19897" style="opacity:0.46875;fill:url(#linearGradient26197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.92154" y="103.894" id="rect19899" style="opacity:0.46875;fill:url(#linearGradient26199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.99353" y="69.89447" id="rect19901" style="opacity:0.46875;fill:url(#linearGradient26201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.92441" y="70.290993" id="rect19903" style="opacity:0.1875;fill:url(#linearGradient26203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.26547" y="75.941833" id="rect19905" style="opacity:0.1875;fill:url(#linearGradient26205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.47929" y="81.975525" id="rect19907" style="opacity:0.1875;fill:url(#linearGradient26207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.77673" y="111.29926" id="rect19909" style="opacity:0.46875;fill:url(#linearGradient26209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.11667" y="99.947609" id="rect19911" style="opacity:0.46875;fill:url(#linearGradient26211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.85245" y="88.847588" id="rect19913" style="opacity:0.46875;fill:url(#linearGradient26213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.8663" y="99.503418" id="rect19915" style="opacity:0.1875;fill:url(#linearGradient26215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.01836" y="106.64564" id="rect19917" style="opacity:0.1875;fill:url(#linearGradient26217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.59598" y="66.732162" id="rect19919" style="opacity:0.1875;fill:url(#linearGradient26219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.82793" y="100.37089" id="rect19921" style="opacity:0.46875;fill:url(#linearGradient26221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.13416" y="81.990974" id="rect19923" style="opacity:0.46875;fill:url(#linearGradient26223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.29108" y="92.491669" id="rect19925" style="opacity:0.46875;fill:url(#linearGradient26225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-291.61893" y="79.634949" id="rect19927" style="opacity:0.1875;fill:url(#linearGradient26227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.52936" y="98.797989" id="rect19929" style="opacity:0.1875;fill:url(#linearGradient26229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.95828" y="110.65452" id="rect19931" style="opacity:0.1875;fill:url(#linearGradient26231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.95099" y="100.52077" id="rect19933" style="opacity:0.46875;fill:url(#linearGradient26233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.4422" y="93.812157" id="rect19935" style="opacity:0.46875;fill:url(#linearGradient26235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.36646" y="94.473045" id="rect19937" style="opacity:0.46875;fill:url(#linearGradient26237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.96104" y="111.20544" id="rect19939" style="opacity:0.1875;fill:url(#linearGradient26239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.77539" y="78.428696" id="rect19941" style="opacity:0.1875;fill:url(#linearGradient26241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.76193" y="101.67466" id="rect19943" style="opacity:0.1875;fill:url(#linearGradient26243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.64917" y="55.1898" id="rect19945" style="opacity:0.46875;fill:url(#linearGradient26245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-281.67783" y="105.24789" id="rect19947" style="opacity:0.46875;fill:url(#linearGradient26247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.7887" y="107.56207" id="rect19949" style="opacity:0.46875;fill:url(#linearGradient26249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.32104" y="75.765396" id="rect19951" style="opacity:0.1875;fill:url(#linearGradient26251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.3252" y="70.395012" id="rect19953" style="opacity:0.1875;fill:url(#linearGradient26253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.4624" y="77.843994" id="rect19955" style="opacity:0.1875;fill:url(#linearGradient26255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.46291" y="97.798653" id="rect19957" style="opacity:0.46875;fill:url(#linearGradient26257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.97621" y="92.625015" id="rect19959" style="opacity:0.46875;fill:url(#linearGradient26259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.16928" y="66.244278" id="rect19961" style="opacity:0.46875;fill:url(#linearGradient26261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.05453" y="106.82121" id="rect19963" style="opacity:0.1875;fill:url(#linearGradient26263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.95485" y="82.979355" id="rect19965" style="opacity:0.1875;fill:url(#linearGradient26265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.56934" y="75.003525" id="rect19967" style="opacity:0.1875;fill:url(#linearGradient26267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.9155" y="60.718307" id="rect19969" style="opacity:0.46875;fill:url(#linearGradient26269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.39957" y="65.565224" id="rect19971" style="opacity:0.46875;fill:url(#linearGradient26271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.19415" y="66.931465" id="rect19973" style="opacity:0.46875;fill:url(#linearGradient26273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.45161" y="67.468315" id="rect19975" style="opacity:0.1875;fill:url(#linearGradient26275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.94643" y="102.85509" id="rect19977" style="opacity:0.1875;fill:url(#linearGradient26277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.84683" y="97.23008" id="rect19979" style="opacity:0.1875;fill:url(#linearGradient26279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.62408" y="106.39987" id="rect19981" style="opacity:0.46875;fill:url(#linearGradient26281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-252.86404" y="86.620399" id="rect19983" style="opacity:0.46875;fill:url(#linearGradient26283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.98251" y="105.18267" id="rect19985" style="opacity:0.46875;fill:url(#linearGradient26285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.57259" y="96.846413" id="rect19987" style="opacity:0.1875;fill:url(#linearGradient26287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-241.35466" y="72.427864" id="rect19989" style="opacity:0.1875;fill:url(#linearGradient26289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.7484" y="60.295509" id="rect19991" style="opacity:0.1875;fill:url(#linearGradient26291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.45859" y="103.16962" id="rect19993" style="opacity:0.46875;fill:url(#linearGradient26293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.9902" y="99.331314" id="rect19995" style="opacity:0.46875;fill:url(#linearGradient26295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.4754" y="67.198364" id="rect19997" style="opacity:0.46875;fill:url(#linearGradient26297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.57295" y="78.623528" id="rect19999" style="opacity:0.1875;fill:url(#linearGradient26299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.48843" y="58.754765" id="rect20001" style="opacity:0.1875;fill:url(#linearGradient26301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.62601" y="92.053108" id="rect20003" style="opacity:0.1875;fill:url(#linearGradient26303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-268.83109" y="89.63459" id="rect20005" style="opacity:0.46875;fill:url(#linearGradient26305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.99036" y="81.23172" id="rect20007" style="opacity:0.46875;fill:url(#linearGradient26307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.10904" y="79.479607" id="rect20009" style="opacity:0.46875;fill:url(#linearGradient26309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.9653" y="83.475426" id="rect20011" style="opacity:0.1875;fill:url(#linearGradient26311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.05237" y="99.696861" id="rect20013" style="opacity:0.1875;fill:url(#linearGradient26313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.81726" y="94.231972" id="rect20015" style="opacity:0.1875;fill:url(#linearGradient26315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.22989" y="104.25684" id="rect20017" style="opacity:0.46875;fill:url(#linearGradient26317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.13651" y="55.010883" id="rect20019" style="opacity:0.46875;fill:url(#linearGradient26319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-239.68616" y="109.11954" id="rect20021" style="opacity:0.46875;fill:url(#linearGradient26321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.49696" y="76.606689" id="rect20023" style="opacity:0.1875;fill:url(#linearGradient26323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.6626" y="75.026268" id="rect20025" style="opacity:0.1875;fill:url(#linearGradient26325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.59128" y="88.79126" id="rect20027" style="opacity:0.1875;fill:url(#linearGradient26327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.85246" y="107.28387" id="rect20029" style="opacity:0.46875;fill:url(#linearGradient26329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.85561" y="83.328651" id="rect20031" style="opacity:0.46875;fill:url(#linearGradient26331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.79652" y="91.03093" id="rect20033" style="opacity:0.46875;fill:url(#linearGradient26333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.53204" y="102.40226" id="rect20035" style="opacity:0.1875;fill:url(#linearGradient26335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.65462" y="86.312164" id="rect20037" style="opacity:0.1875;fill:url(#linearGradient26337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.23593" y="99.523064" id="rect20039" style="opacity:0.1875;fill:url(#linearGradient26339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.10629" y="85.250237" id="rect20041" style="opacity:0.46875;fill:url(#linearGradient26341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.59616" y="62.64764" id="rect20043" style="opacity:0.46875;fill:url(#linearGradient26343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.72336" y="57.199894" id="rect20045" style="opacity:0.46875;fill:url(#linearGradient26345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.94009" y="69.578125" id="rect20047" style="opacity:0.1875;fill:url(#linearGradient26347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.54706" y="63.932827" id="rect20049" style="opacity:0.1875;fill:url(#linearGradient26349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.06938" y="71.778969" id="rect20051" style="opacity:0.1875;fill:url(#linearGradient26351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.02867" y="79.090485" id="rect20053" style="opacity:0.46875;fill:url(#linearGradient26353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.32771" y="69.432304" id="rect20055" style="opacity:0.46875;fill:url(#linearGradient26355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.56918" y="79.627808" id="rect20057" style="opacity:0.46875;fill:url(#linearGradient26357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.56387" y="56.465225" id="rect20059" style="opacity:0.1875;fill:url(#linearGradient26359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.46451" y="90.167923" id="rect20061" style="opacity:0.1875;fill:url(#linearGradient26361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.4277" y="82.128593" id="rect20063" style="opacity:0.1875;fill:url(#linearGradient26363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.59889" y="70.86586" id="rect20065" style="opacity:0.46875;fill:url(#linearGradient26365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-304.18463" y="88.390617" id="rect20067" style="opacity:0.46875;fill:url(#linearGradient26367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.64938" y="101.78397" id="rect20069" style="opacity:0.46875;fill:url(#linearGradient26369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.71817" y="81.253448" id="rect20455" style="opacity:0.1875;fill:url(#linearGradient26371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.49081" y="65.51342" id="rect20457" style="opacity:0.1875;fill:url(#linearGradient26373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.75214" y="109.76508" id="rect20459" style="opacity:0.1875;fill:url(#linearGradient26375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.04233" y="88.218803" id="rect20461" style="opacity:0.46875;fill:url(#linearGradient26377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.86346" y="85.858627" id="rect20463" style="opacity:0.46875;fill:url(#linearGradient26379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.32182" y="82.631157" id="rect20465" style="opacity:0.46875;fill:url(#linearGradient26381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.48117" y="82.083504" id="rect20467" style="opacity:0.1875;fill:url(#linearGradient26383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.10507" y="108.23654" id="rect20469" style="opacity:0.1875;fill:url(#linearGradient26385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.32974" y="64.70713" id="rect20471" style="opacity:0.1875;fill:url(#linearGradient26387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.16614" y="74.961967" id="rect20473" style="opacity:0.46875;fill:url(#linearGradient26389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.05365" y="62.712513" id="rect20475" style="opacity:0.46875;fill:url(#linearGradient26391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.00711" y="72.933044" id="rect20477" style="opacity:0.46875;fill:url(#linearGradient26393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.22855" y="110.74557" id="rect20479" style="opacity:0.1875;fill:url(#linearGradient26395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.3591" y="79.526146" id="rect20481" style="opacity:0.1875;fill:url(#linearGradient26397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.60628" y="106.92101" id="rect20483" style="opacity:0.1875;fill:url(#linearGradient26399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.54721" y="80.424744" id="rect20485" style="opacity:0.46875;fill:url(#linearGradient26401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.69498" y="73.441864" id="rect20487" style="opacity:0.46875;fill:url(#linearGradient26403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.30206" y="67.167152" id="rect20489" style="opacity:0.46875;fill:url(#linearGradient26405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.45755" y="100.83543" id="rect20491" style="opacity:0.1875;fill:url(#linearGradient26407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.74637" y="77.731842" id="rect20493" style="opacity:0.1875;fill:url(#linearGradient26409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.5361" y="63.783749" id="rect20495" style="opacity:0.1875;fill:url(#linearGradient26411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.29132" y="96.522278" id="rect20497" style="opacity:0.46875;fill:url(#linearGradient26413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.44952" y="98.607231" id="rect20499" style="opacity:0.46875;fill:url(#linearGradient26415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.82455" y="86.80835" id="rect20501" style="opacity:0.46875;fill:url(#linearGradient26417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.73625" y="61.344193" id="rect20503" style="opacity:0.1875;fill:url(#linearGradient26419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.13663" y="77.865173" id="rect20505" style="opacity:0.1875;fill:url(#linearGradient26421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.60495" y="105.65768" id="rect20507" style="opacity:0.1875;fill:url(#linearGradient26423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.04767" y="65.757294" id="rect20509" style="opacity:0.46875;fill:url(#linearGradient26425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.05054" y="107.30734" id="rect20511" style="opacity:0.46875;fill:url(#linearGradient26427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-302.89746" y="109.56179" id="rect20513" style="opacity:0.46875;fill:url(#linearGradient26429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.98593" y="67.596725" id="rect20515" style="opacity:0.1875;fill:url(#linearGradient26431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-246.38931" y="73.773773" id="rect20517" style="opacity:0.1875;fill:url(#linearGradient26433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.46507" y="107.92227" id="rect20519" style="opacity:0.1875;fill:url(#linearGradient26435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.26581" y="83.184235" id="rect20521" style="opacity:0.46875;fill:url(#linearGradient26437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.78122" y="104.65424" id="rect20523" style="opacity:0.46875;fill:url(#linearGradient26439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.79443" y="58.689938" id="rect20525" style="opacity:0.46875;fill:url(#linearGradient26441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.70056" y="60.803516" id="rect20527" style="opacity:0.1875;fill:url(#linearGradient26443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.72324" y="57.410843" id="rect20529" style="opacity:0.1875;fill:url(#linearGradient26445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.89771" y="72.826591" id="rect20531" style="opacity:0.1875;fill:url(#linearGradient26447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.5639" y="70.463745" id="rect20533" style="opacity:0.46875;fill:url(#linearGradient26449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.42273" y="58.774006" id="rect20535" style="opacity:0.46875;fill:url(#linearGradient26451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.00671" y="72.494003" id="rect20537" style="opacity:0.46875;fill:url(#linearGradient26453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-278.71185" y="109.54459" id="rect20539" style="opacity:0.1875;fill:url(#linearGradient26455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-266.06219" y="55.475723" id="rect20541" style="opacity:0.1875;fill:url(#linearGradient26457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.19772" y="77.694275" id="rect20543" style="opacity:0.1875;fill:url(#linearGradient26459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.89938" y="71.35717" id="rect20545" style="opacity:0.46875;fill:url(#linearGradient26461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.54712" y="84.367325" id="rect20547" style="opacity:0.46875;fill:url(#linearGradient26463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.45844" y="81.262711" id="rect20549" style="opacity:0.46875;fill:url(#linearGradient26465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.61487" y="104.93104" id="rect20551" style="opacity:0.1875;fill:url(#linearGradient26467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.25128" y="71.748528" id="rect20553" style="opacity:0.1875;fill:url(#linearGradient26469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.85863" y="59.726963" id="rect20555" style="opacity:0.1875;fill:url(#linearGradient26471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.71912" y="79.780472" id="rect20557" style="opacity:0.46875;fill:url(#linearGradient26473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.34674" y="64.180695" id="rect20559" style="opacity:0.46875;fill:url(#linearGradient26475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.67152" y="56.720722" id="rect20561" style="opacity:0.46875;fill:url(#linearGradient26477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-261.4035" y="61.502678" id="rect20563" style="opacity:0.1875;fill:url(#linearGradient26479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.67986" y="97.29557" id="rect20565" style="opacity:0.1875;fill:url(#linearGradient26481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.44293" y="85.375412" id="rect20567" style="opacity:0.1875;fill:url(#linearGradient26483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.59766" y="96.2453" id="rect20569" style="opacity:0.46875;fill:url(#linearGradient26485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-249.9745" y="104.10505" id="rect20571" style="opacity:0.46875;fill:url(#linearGradient26487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.91541" y="63.215496" id="rect20573" style="opacity:0.46875;fill:url(#linearGradient26489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.64404" y="65.274605" id="rect20575" style="opacity:0.1875;fill:url(#linearGradient26491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.5867" y="64.151192" id="rect20577" style="opacity:0.1875;fill:url(#linearGradient26493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.08963" y="73.799103" id="rect20579" style="opacity:0.1875;fill:url(#linearGradient26495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.13312" y="76.512222" id="rect20581" style="opacity:0.46875;fill:url(#linearGradient26497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.81549" y="67.021263" id="rect20583" style="opacity:0.46875;fill:url(#linearGradient26499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.50644" y="95.929291" id="rect20585" style="opacity:0.46875;fill:url(#linearGradient26501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.86389" y="64.541458" id="rect20587" style="opacity:0.1875;fill:url(#linearGradient26503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.83641" y="102.7418" id="rect20589" style="opacity:0.1875;fill:url(#linearGradient26505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.98199" y="108.77027" id="rect20591" style="opacity:0.1875;fill:url(#linearGradient26507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.55357" y="70.026482" id="rect20593" style="opacity:0.46875;fill:url(#linearGradient26509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.90517" y="73.117393" id="rect20595" style="opacity:0.46875;fill:url(#linearGradient26511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.35992" y="81.319099" id="rect20597" style="opacity:0.46875;fill:url(#linearGradient26513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.24792" y="60.969742" id="rect20599" style="opacity:0.1875;fill:url(#linearGradient26515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.96555" y="82.846146" id="rect20601" style="opacity:0.1875;fill:url(#linearGradient26517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.6167" y="105.03866" id="rect20603" style="opacity:0.1875;fill:url(#linearGradient26519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.6017" y="85.002228" id="rect20605" style="opacity:0.46875;fill:url(#linearGradient26521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.29018" y="87.934219" id="rect20607" style="opacity:0.46875;fill:url(#linearGradient26523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-295.26987" y="97.667152" id="rect20609" style="opacity:0.46875;fill:url(#linearGradient26525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.37012" y="94.034401" id="rect20611" style="opacity:0.1875;fill:url(#linearGradient26527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.27859" y="64.077866" id="rect20613" style="opacity:0.1875;fill:url(#linearGradient26529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.16219" y="75.800377" id="rect20615" style="opacity:0.1875;fill:url(#linearGradient26531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-270.15637" y="69.005692" id="rect20617" style="opacity:0.46875;fill:url(#linearGradient26533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.32767" y="106.1306" id="rect20619" style="opacity:0.46875;fill:url(#linearGradient26535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.69739" y="106.73238" id="rect20621" style="opacity:0.46875;fill:url(#linearGradient26537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.82419" y="60.101208" id="rect20623" style="opacity:0.1875;fill:url(#linearGradient26539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.54817" y="70.407402" id="rect20625" style="opacity:0.1875;fill:url(#linearGradient26541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.70004" y="61.894451" id="rect20627" style="opacity:0.1875;fill:url(#linearGradient26543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.56357" y="73.227684" id="rect20629" style="opacity:0.46875;fill:url(#linearGradient26545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-248.77377" y="86.167908" id="rect20631" style="opacity:0.46875;fill:url(#linearGradient26547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.4563" y="80.202568" id="rect20633" style="opacity:0.46875;fill:url(#linearGradient26549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.79651" y="77.157135" id="rect20635" style="opacity:0.1875;fill:url(#linearGradient26551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.74509" y="97.382492" id="rect20637" style="opacity:0.1875;fill:url(#linearGradient26553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.50726" y="61.974281" id="rect20639" style="opacity:0.1875;fill:url(#linearGradient26555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.52014" y="104.55537" id="rect20641" style="opacity:0.46875;fill:url(#linearGradient26557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-295.15088" y="102.41749" id="rect20643" style="opacity:0.46875;fill:url(#linearGradient26559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.94156" y="66.058792" id="rect20645" style="opacity:0.46875;fill:url(#linearGradient26561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.36902" y="79.583107" id="rect20647" style="opacity:0.1875;fill:url(#linearGradient26563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.76428" y="89.643036" id="rect20649" style="opacity:0.1875;fill:url(#linearGradient26565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.89841" y="106.57912" id="rect20651" style="opacity:0.1875;fill:url(#linearGradient26567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.56018" y="105.04887" id="rect20653" style="opacity:0.46875;fill:url(#linearGradient26569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.64111" y="61.205338" id="rect20655" style="opacity:0.46875;fill:url(#linearGradient26571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.98749" y="68.127831" id="rect20657" style="opacity:0.46875;fill:url(#linearGradient26573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.47653" y="88.594643" id="rect20659" style="opacity:0.1875;fill:url(#linearGradient26575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.98727" y="105.70779" id="rect20661" style="opacity:0.1875;fill:url(#linearGradient26577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-226.75633" y="59.944138" id="rect20663" style="opacity:0.1875;fill:url(#linearGradient26579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.99521" y="98.409698" id="rect20665" style="opacity:0.46875;fill:url(#linearGradient26581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.45309" y="83.215034" id="rect20667" style="opacity:0.46875;fill:url(#linearGradient26583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.63129" y="84.058441" id="rect20669" style="opacity:0.46875;fill:url(#linearGradient26585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.14677" y="62.076561" id="rect20671" style="opacity:0.1875;fill:url(#linearGradient26587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.11346" y="79.031021" id="rect20673" style="opacity:0.1875;fill:url(#linearGradient26589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.29114" y="72.775261" id="rect20675" style="opacity:0.1875;fill:url(#linearGradient26591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.68109" y="77.156677" id="rect20677" style="opacity:0.46875;fill:url(#linearGradient26593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.78348" y="98.731834" id="rect20679" style="opacity:0.46875;fill:url(#linearGradient26595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.43291" y="78.722549" id="rect20681" style="opacity:0.46875;fill:url(#linearGradient26597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-277.78207" y="65.402222" id="rect20683" style="opacity:0.1875;fill:url(#linearGradient26599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.7579" y="96.139221" id="rect20685" style="opacity:0.1875;fill:url(#linearGradient26601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.65329" y="96.36525" id="rect20687" style="opacity:0.1875;fill:url(#linearGradient26603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.38538" y="84.262276" id="rect20689" style="opacity:0.46875;fill:url(#linearGradient26605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.24651" y="76.61116" id="rect20691" style="opacity:0.46875;fill:url(#linearGradient26607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-298.17392" y="94.361511" id="rect20693" style="opacity:0.46875;fill:url(#linearGradient26609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-254.1611" y="80.839401" id="rect20695" style="opacity:0.1875;fill:url(#linearGradient26611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.12796" y="79.646004" id="rect20697" style="opacity:0.1875;fill:url(#linearGradient26613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.54639" y="104.00186" id="rect20699" style="opacity:0.1875;fill:url(#linearGradient26615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.37537" y="71.01062" id="rect20701" style="opacity:0.46875;fill:url(#linearGradient26617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.93375" y="102.269" id="rect20703" style="opacity:0.46875;fill:url(#linearGradient26619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.88052" y="98.329185" id="rect20705" style="opacity:0.46875;fill:url(#linearGradient26621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.75504" y="99.959984" id="rect20707" style="opacity:0.1875;fill:url(#linearGradient26623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.50363" y="107.33015" id="rect20709" style="opacity:0.1875;fill:url(#linearGradient26625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.61804" y="108.15018" id="rect20711" style="opacity:0.1875;fill:url(#linearGradient26627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.03036" y="106.36648" id="rect20713" style="opacity:0.46875;fill:url(#linearGradient26629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.59375" y="71.416595" id="rect20715" style="opacity:0.46875;fill:url(#linearGradient26631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.73062" y="58.53096" id="rect20717" style="opacity:0.46875;fill:url(#linearGradient26633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.80426" y="60.331181" id="rect20719" style="opacity:0.1875;fill:url(#linearGradient26635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.48868" y="83.144234" id="rect20721" style="opacity:0.1875;fill:url(#linearGradient26637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.44165" y="61.080101" id="rect20723" style="opacity:0.1875;fill:url(#linearGradient26639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.13631" y="81.72905" id="rect20725" style="opacity:0.46875;fill:url(#linearGradient26641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.89638" y="106.73634" id="rect20727" style="opacity:0.46875;fill:url(#linearGradient26643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.9827" y="108.69421" id="rect20729" style="opacity:0.46875;fill:url(#linearGradient26645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.26816" y="76.166199" id="rect20731" style="opacity:0.1875;fill:url(#linearGradient26647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.2561" y="67.529793" id="rect20733" style="opacity:0.1875;fill:url(#linearGradient26649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.53851" y="92.740334" id="rect20735" style="opacity:0.1875;fill:url(#linearGradient26651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.18407" y="60.572968" id="rect20737" style="opacity:0.46875;fill:url(#linearGradient26653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.11626" y="59.471355" id="rect20739" style="opacity:0.46875;fill:url(#linearGradient26655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.31374" y="70.263519" id="rect20741" style="opacity:0.46875;fill:url(#linearGradient26657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.89474" y="102.27914" id="rect20743" style="opacity:0.1875;fill:url(#linearGradient26659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.24013" y="74.366951" id="rect20745" style="opacity:0.1875;fill:url(#linearGradient26661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.00098" y="58.264374" id="rect20747" style="opacity:0.1875;fill:url(#linearGradient26663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.54126" y="86.428101" id="rect20749" style="opacity:0.46875;fill:url(#linearGradient26665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-304.38449" y="90.213768" id="rect20751" style="opacity:0.46875;fill:url(#linearGradient26667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.8826" y="93.236168" id="rect20753" style="opacity:0.46875;fill:url(#linearGradient26669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.99405" y="56.928612" id="rect20755" style="opacity:0.1875;fill:url(#linearGradient26671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.38376" y="70.148064" id="rect20757" style="opacity:0.1875;fill:url(#linearGradient26673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.78781" y="62.705917" id="rect20759" style="opacity:0.1875;fill:url(#linearGradient26675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.72897" y="78.997246" id="rect20761" style="opacity:0.46875;fill:url(#linearGradient26677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.59196" y="61.592701" id="rect20763" style="opacity:0.46875;fill:url(#linearGradient26679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-257.47235" y="74.270607" id="rect20765" style="opacity:0.46875;fill:url(#linearGradient26681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.67603" y="103.00905" id="rect20767" style="opacity:0.1875;fill:url(#linearGradient26683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.1875" y="58.221188" id="rect20769" style="opacity:0.1875;fill:url(#linearGradient26685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.44116" y="93.098091" id="rect20771" style="opacity:0.1875;fill:url(#linearGradient26687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-274.90311" y="95.846085" id="rect20773" style="opacity:0.46875;fill:url(#linearGradient26689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.50949" y="101.26105" id="rect20775" style="opacity:0.46875;fill:url(#linearGradient26691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.00677" y="55.524345" id="rect20777" style="opacity:0.46875;fill:url(#linearGradient26693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.34172" y="102.48254" id="rect20779" style="opacity:0.1875;fill:url(#linearGradient26695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.48227" y="106.88896" id="rect20781" style="opacity:0.1875;fill:url(#linearGradient26697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.00226" y="92.920219" id="rect20783" style="opacity:0.1875;fill:url(#linearGradient26699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.33708" y="90.449989" id="rect20785" style="opacity:0.46875;fill:url(#linearGradient26701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.81618" y="105.25217" id="rect20787" style="opacity:0.46875;fill:url(#linearGradient26703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.00833" y="98.852737" id="rect20789" style="opacity:0.46875;fill:url(#linearGradient26705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.06483" y="93.540413" id="rect20791" style="opacity:0.1875;fill:url(#linearGradient26707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.59024" y="71.885101" id="rect20793" style="opacity:0.1875;fill:url(#linearGradient26709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.60995" y="110.16111" id="rect20795" style="opacity:0.1875;fill:url(#linearGradient26711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.35635" y="96.913025" id="rect20797" style="opacity:0.46875;fill:url(#linearGradient26713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.3793" y="67.212074" id="rect20799" style="opacity:0.46875;fill:url(#linearGradient26715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.76932" y="105.27201" id="rect20801" style="opacity:0.46875;fill:url(#linearGradient26717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.66428" y="96.795341" id="rect20803" style="opacity:0.1875;fill:url(#linearGradient26719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.21658" y="82.294411" id="rect20805" style="opacity:0.1875;fill:url(#linearGradient26721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.59726" y="87.788773" id="rect20807" style="opacity:0.1875;fill:url(#linearGradient26723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.504" y="69.20105" id="rect20809" style="opacity:0.46875;fill:url(#linearGradient26725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.41647" y="102.48328" id="rect20811" style="opacity:0.46875;fill:url(#linearGradient26727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.83372" y="108.8929" id="rect20813" style="opacity:0.46875;fill:url(#linearGradient26729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-240.95575" y="68.082726" id="rect20815" style="opacity:0.1875;fill:url(#linearGradient26731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.51202" y="86.063263" id="rect20817" style="opacity:0.1875;fill:url(#linearGradient26733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-277.23071" y="85.233902" id="rect20819" style="opacity:0.1875;fill:url(#linearGradient26735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.3028" y="95.189102" id="rect20821" style="opacity:0.46875;fill:url(#linearGradient26737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.50308" y="75.583626" id="rect20823" style="opacity:0.46875;fill:url(#linearGradient26739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.41016" y="90.319199" id="rect20825" style="opacity:0.46875;fill:url(#linearGradient26741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.21121" y="87.030853" id="rect20827" style="opacity:0.1875;fill:url(#linearGradient26743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.5347" y="82.118057" id="rect20829" style="opacity:0.1875;fill:url(#linearGradient26745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.19586" y="90.467171" id="rect20831" style="opacity:0.1875;fill:url(#linearGradient26747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.30733" y="105.46643" id="rect20833" style="opacity:0.46875;fill:url(#linearGradient26749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.22729" y="92.518166" id="rect20835" style="opacity:0.46875;fill:url(#linearGradient26751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.12463" y="72.211571" id="rect20837" style="opacity:0.46875;fill:url(#linearGradient26753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.77547" y="70.537048" id="rect20839" style="opacity:0.1875;fill:url(#linearGradient26755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-307.22208" y="105.5964" id="rect20841" style="opacity:0.1875;fill:url(#linearGradient26757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.0667" y="65.166298" id="rect20843" style="opacity:0.1875;fill:url(#linearGradient26759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.77191" y="64.786659" id="rect20845" style="opacity:0.46875;fill:url(#linearGradient26761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.46454" y="74.910774" id="rect20847" style="opacity:0.46875;fill:url(#linearGradient26763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.85799" y="55.804825" id="rect20849" style="opacity:0.46875;fill:url(#linearGradient26765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.27036" y="67.163628" id="rect20851" style="opacity:0.1875;fill:url(#linearGradient26767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.91354" y="107.84132" id="rect20853" style="opacity:0.1875;fill:url(#linearGradient26769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.21909" y="55.62373" id="rect20855" style="opacity:0.1875;fill:url(#linearGradient26771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-241.54463" y="60.722244" id="rect20857" style="opacity:0.46875;fill:url(#linearGradient26773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.40973" y="60.930378" id="rect20859" style="opacity:0.46875;fill:url(#linearGradient26775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.5116" y="61.007633" id="rect20861" style="opacity:0.46875;fill:url(#linearGradient26777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.71246" y="63.907291" id="rect20863" style="opacity:0.1875;fill:url(#linearGradient26779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.91263" y="92.62661" id="rect20865" style="opacity:0.1875;fill:url(#linearGradient26781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.60248" y="101.52387" id="rect20867" style="opacity:0.1875;fill:url(#linearGradient26783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.04568" y="86.762276" id="rect20869" style="opacity:0.46875;fill:url(#linearGradient26785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.13998" y="97.211113" id="rect20871" style="opacity:0.46875;fill:url(#linearGradient26787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.45563" y="75.488144" id="rect20873" style="opacity:0.46875;fill:url(#linearGradient26789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.2831" y="63.000179" id="rect20875" style="opacity:0.1875;fill:url(#linearGradient26791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.81769" y="84.297562" id="rect20877" style="opacity:0.1875;fill:url(#linearGradient26793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.20258" y="110.55594" id="rect20879" style="opacity:0.1875;fill:url(#linearGradient26795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.10905" y="101.29549" id="rect20881" style="opacity:0.46875;fill:url(#linearGradient26797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.63766" y="110.90127" id="rect20883" style="opacity:0.46875;fill:url(#linearGradient26799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.0107" y="96.098122" id="rect20885" style="opacity:0.46875;fill:url(#linearGradient26801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.40564" y="80.693207" id="rect20887" style="opacity:0.1875;fill:url(#linearGradient26803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-230.71815" y="108.91924" id="rect20889" style="opacity:0.1875;fill:url(#linearGradient26805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.46727" y="64.286911" id="rect20891" style="opacity:0.1875;fill:url(#linearGradient26807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.94312" y="81.063759" id="rect20893" style="opacity:0.46875;fill:url(#linearGradient26809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.71429" y="61.501709" id="rect20895" style="opacity:0.46875;fill:url(#linearGradient26811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.6245" y="67.977432" id="rect20897" style="opacity:0.46875;fill:url(#linearGradient26813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.12466" y="76.452377" id="rect20899" style="opacity:0.1875;fill:url(#linearGradient26815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.96835" y="108.51657" id="rect20901" style="opacity:0.1875;fill:url(#linearGradient26817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.4852" y="59.947071" id="rect20903" style="opacity:0.1875;fill:url(#linearGradient26819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.3017" y="87.066414" id="rect20905" style="opacity:0.46875;fill:url(#linearGradient26821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.32651" y="107.02791" id="rect20907" style="opacity:0.46875;fill:url(#linearGradient26823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.71164" y="96.72039" id="rect20909" style="opacity:0.46875;fill:url(#linearGradient26825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.15398" y="61.069256" id="rect20911" style="opacity:0.1875;fill:url(#linearGradient26827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.36102" y="74.99781" id="rect20913" style="opacity:0.1875;fill:url(#linearGradient26829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.75641" y="88.847244" id="rect20915" style="opacity:0.1875;fill:url(#linearGradient26831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.14275" y="67.334724" id="rect20917" style="opacity:0.46875;fill:url(#linearGradient26833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.18599" y="109.29144" id="rect20919" style="opacity:0.46875;fill:url(#linearGradient26835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.15916" y="96.86953" id="rect20921" style="opacity:0.46875;fill:url(#linearGradient26837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.06256" y="109.20979" id="rect20923" style="opacity:0.1875;fill:url(#linearGradient26839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.84415" y="103.0084" id="rect20925" style="opacity:0.1875;fill:url(#linearGradient26841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.68372" y="87.013405" id="rect20927" style="opacity:0.1875;fill:url(#linearGradient26843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.10957" y="77.451866" id="rect20929" style="opacity:0.46875;fill:url(#linearGradient26845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.20053" y="90.775269" id="rect20931" style="opacity:0.46875;fill:url(#linearGradient26847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.03128" y="64.104378" id="rect20933" style="opacity:0.46875;fill:url(#linearGradient26849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.23318" y="56.084965" id="rect20935" style="opacity:0.1875;fill:url(#linearGradient26851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.92523" y="57.800106" id="rect20937" style="opacity:0.1875;fill:url(#linearGradient26853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.84235" y="101.17597" id="rect20939" style="opacity:0.1875;fill:url(#linearGradient26855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-287.93134" y="85.971329" id="rect20941" style="opacity:0.46875;fill:url(#linearGradient26857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.52533" y="56.047573" id="rect20943" style="opacity:0.46875;fill:url(#linearGradient26859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.68431" y="92.835999" id="rect20945" style="opacity:0.46875;fill:url(#linearGradient26861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.14163" y="102.65902" id="rect20947" style="opacity:0.1875;fill:url(#linearGradient26863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-242.81085" y="62.801945" id="rect20949" style="opacity:0.1875;fill:url(#linearGradient26865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.79077" y="61.009129" id="rect20951" style="opacity:0.1875;fill:url(#linearGradient26867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.69693" y="73.567009" id="rect20953" style="opacity:0.46875;fill:url(#linearGradient26869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.56216" y="91.539566" id="rect20955" style="opacity:0.46875;fill:url(#linearGradient26871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.46866" y="67.355965" id="rect20957" style="opacity:0.46875;fill:url(#linearGradient26873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.63399" y="59.601711" id="rect20959" style="opacity:0.1875;fill:url(#linearGradient26875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.94403" y="59.034389" id="rect20961" style="opacity:0.1875;fill:url(#linearGradient26877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.75485" y="57.040806" id="rect20963" style="opacity:0.1875;fill:url(#linearGradient26879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.73541" y="60.859955" id="rect20965" style="opacity:0.46875;fill:url(#linearGradient26881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.32837" y="101.73196" id="rect20967" style="opacity:0.46875;fill:url(#linearGradient26883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.10788" y="86.818977" id="rect20969" style="opacity:0.46875;fill:url(#linearGradient26885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.92403" y="106.37849" id="rect20971" style="opacity:0.1875;fill:url(#linearGradient26887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.3898" y="81.959496" id="rect20973" style="opacity:0.1875;fill:url(#linearGradient26889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.32462" y="78.340958" id="rect20975" style="opacity:0.1875;fill:url(#linearGradient26891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.25104" y="61.141666" id="rect20977" style="opacity:0.46875;fill:url(#linearGradient26893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.68286" y="67.630676" id="rect20979" style="opacity:0.46875;fill:url(#linearGradient26895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.85361" y="106.74319" id="rect20981" style="opacity:0.46875;fill:url(#linearGradient26897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.17776" y="81.861305" id="rect20983" style="opacity:0.1875;fill:url(#linearGradient26899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.77428" y="65.122116" id="rect20985" style="opacity:0.1875;fill:url(#linearGradient26901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-227.12112" y="73.324898" id="rect20987" style="opacity:0.1875;fill:url(#linearGradient26903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.10251" y="63.861496" id="rect20989" style="opacity:0.46875;fill:url(#linearGradient26905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.49176" y="61.256626" id="rect20991" style="opacity:0.46875;fill:url(#linearGradient26907);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.67081" y="62.871773" id="rect20993" style="opacity:0.46875;fill:url(#linearGradient26909);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.56204" y="63.978767" id="rect20995" style="opacity:0.1875;fill:url(#linearGradient26911);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.94516" y="108.00268" id="rect20997" style="opacity:0.1875;fill:url(#linearGradient26913);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-225.51779" y="105.95143" id="rect20999" style="opacity:0.1875;fill:url(#linearGradient26915);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.02303" y="78.689621" id="rect21001" style="opacity:0.46875;fill:url(#linearGradient26917);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.29872" y="56.172379" id="rect21003" style="opacity:0.46875;fill:url(#linearGradient26919);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.64853" y="73.173126" id="rect21005" style="opacity:0.46875;fill:url(#linearGradient26921);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.56259" y="76.504417" id="rect21007" style="opacity:0.1875;fill:url(#linearGradient26923);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.48233" y="65.487144" id="rect21009" style="opacity:0.1875;fill:url(#linearGradient26925);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.20041" y="57.922138" id="rect21011" style="opacity:0.1875;fill:url(#linearGradient26927);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.10361" y="64.32032" id="rect21013" style="opacity:0.46875;fill:url(#linearGradient26929);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.30933" y="87.516853" id="rect21015" style="opacity:0.46875;fill:url(#linearGradient26931);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-284.75369" y="55.552612" id="rect21017" style="opacity:0.46875;fill:url(#linearGradient26933);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.38631" y="87.094467" id="rect21019" style="opacity:0.1875;fill:url(#linearGradient26935);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.48524" y="99.373978" id="rect21021" style="opacity:0.1875;fill:url(#linearGradient26937);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.3002" y="105.05029" id="rect21023" style="opacity:0.1875;fill:url(#linearGradient26939);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.85101" y="100.16848" id="rect21025" style="opacity:0.46875;fill:url(#linearGradient26941);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-289.41794" y="101.33263" id="rect21027" style="opacity:0.46875;fill:url(#linearGradient26943);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.23395" y="75.302628" id="rect21029" style="opacity:0.46875;fill:url(#linearGradient26945);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.17188" y="89.433014" id="rect21031" style="opacity:0.1875;fill:url(#linearGradient26947);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.1181" y="69.298286" id="rect21033" style="opacity:0.1875;fill:url(#linearGradient26949);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.73039" y="57.077488" id="rect21035" style="opacity:0.1875;fill:url(#linearGradient26951);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.0459" y="98.268242" id="rect21037" style="opacity:0.46875;fill:url(#linearGradient26953);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.43768" y="71.375671" id="rect21039" style="opacity:0.46875;fill:url(#linearGradient26955);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.02997" y="77.971458" id="rect21041" style="opacity:0.46875;fill:url(#linearGradient26957);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.72766" y="101.21225" id="rect21043" style="opacity:0.1875;fill:url(#linearGradient26959);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.49631" y="91.145035" id="rect21045" style="opacity:0.1875;fill:url(#linearGradient26961);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.40121" y="108.50367" id="rect21047" style="opacity:0.1875;fill:url(#linearGradient26963);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-268.62418" y="73.931641" id="rect21049" style="opacity:0.46875;fill:url(#linearGradient26965);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.92096" y="64.543587" id="rect21051" style="opacity:0.46875;fill:url(#linearGradient26967);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-244.87704" y="86.798286" id="rect21053" style="opacity:0.46875;fill:url(#linearGradient26969);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.21255" y="84.152184" id="rect21055" style="opacity:0.1875;fill:url(#linearGradient26971);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-301.7442" y="68.038704" id="rect21057" style="opacity:0.1875;fill:url(#linearGradient26973);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.7352" y="106.20054" id="rect21059" style="opacity:0.1875;fill:url(#linearGradient26975);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.01788" y="63.94009" id="rect21061" style="opacity:0.46875;fill:url(#linearGradient26977);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.39545" y="81.627846" id="rect21063" style="opacity:0.46875;fill:url(#linearGradient26979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.15396" y="87.510963" id="rect21065" style="opacity:0.46875;fill:url(#linearGradient26981);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.94168" y="76.720764" id="rect21067" style="opacity:0.1875;fill:url(#linearGradient26983);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.2645" y="76.507072" id="rect21069" style="opacity:0.1875;fill:url(#linearGradient26985);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.54091" y="64.807266" id="rect21071" style="opacity:0.1875;fill:url(#linearGradient26987);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-244.0256" y="105.53462" id="rect21073" style="opacity:0.46875;fill:url(#linearGradient26989);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.12021" y="86.390068" id="rect21075" style="opacity:0.46875;fill:url(#linearGradient26991);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-257.93661" y="69.662346" id="rect21077" style="opacity:0.46875;fill:url(#linearGradient26993);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-237.68182" y="92.135094" id="rect21079" style="opacity:0.1875;fill:url(#linearGradient26995);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-288.80685" y="59.947994" id="rect21081" style="opacity:0.1875;fill:url(#linearGradient26997);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.94907" y="75.974976" id="rect21083" style="opacity:0.1875;fill:url(#linearGradient26999);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-224.59161" y="102.0582" id="rect21085" style="opacity:0.46875;fill:url(#linearGradient27001);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.84268" y="60.748241" id="rect21087" style="opacity:0.46875;fill:url(#linearGradient27003);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.03136" y="61.704609" id="rect21089" style="opacity:0.46875;fill:url(#linearGradient27005);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.67252" y="62.573116" id="rect21091" style="opacity:0.1875;fill:url(#linearGradient27007);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.56517" y="98.622765" id="rect21093" style="opacity:0.1875;fill:url(#linearGradient27009);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.1326" y="94.367805" id="rect21095" style="opacity:0.1875;fill:url(#linearGradient27011);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.82713" y="68.418785" id="rect21097" style="opacity:0.46875;fill:url(#linearGradient27013);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.95242" y="81.885948" id="rect21099" style="opacity:0.46875;fill:url(#linearGradient27015);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.41571" y="103.11871" id="rect21101" style="opacity:0.46875;fill:url(#linearGradient27017);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.21912" y="55.450714" id="rect21103" style="opacity:0.1875;fill:url(#linearGradient27019);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.15164" y="97.328751" id="rect21105" style="opacity:0.1875;fill:url(#linearGradient27021);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.23364" y="62.857697" id="rect21107" style="opacity:0.1875;fill:url(#linearGradient27023);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-262.56189" y="88.4048" id="rect21109" style="opacity:0.46875;fill:url(#linearGradient27025);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.62183" y="85.401474" id="rect21111" style="opacity:0.46875;fill:url(#linearGradient27027);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.16788" y="109.76205" id="rect21113" style="opacity:0.46875;fill:url(#linearGradient27029);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.02565" y="80.835899" id="rect21115" style="opacity:0.1875;fill:url(#linearGradient27031);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.5825" y="91.056412" id="rect21117" style="opacity:0.1875;fill:url(#linearGradient27033);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.58057" y="92.429237" id="rect21119" style="opacity:0.1875;fill:url(#linearGradient27035);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-255.8084" y="106.70076" id="rect21121" style="opacity:0.46875;fill:url(#linearGradient27037);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.72501" y="80.25724" id="rect21123" style="opacity:0.46875;fill:url(#linearGradient27039);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.79741" y="109.15076" id="rect21125" style="opacity:0.46875;fill:url(#linearGradient27041);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-262.84338" y="100.30168" id="rect21127" style="opacity:0.1875;fill:url(#linearGradient27043);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-263.46655" y="89.088768" id="rect21129" style="opacity:0.1875;fill:url(#linearGradient27045);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.07495" y="103.64899" id="rect21131" style="opacity:0.1875;fill:url(#linearGradient27047);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.85617" y="72.184769" id="rect21133" style="opacity:0.46875;fill:url(#linearGradient27049);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.11118" y="89.581963" id="rect21135" style="opacity:0.46875;fill:url(#linearGradient27051);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-271.29672" y="69.089821" id="rect21137" style="opacity:0.46875;fill:url(#linearGradient27053);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.05901" y="72.152023" id="rect21139" style="opacity:0.1875;fill:url(#linearGradient27055);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.00827" y="102.33545" id="rect21141" style="opacity:0.1875;fill:url(#linearGradient27057);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.26855" y="61.659031" id="rect21143" style="opacity:0.1875;fill:url(#linearGradient27059);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-295.82904" y="71.701729" id="rect21145" style="opacity:0.46875;fill:url(#linearGradient27061);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.60464" y="77.884239" id="rect21147" style="opacity:0.46875;fill:url(#linearGradient27063);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.12772" y="85.596474" id="rect21149" style="opacity:0.46875;fill:url(#linearGradient27065);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-227.31731" y="56.329018" id="rect21151" style="opacity:0.1875;fill:url(#linearGradient27067);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.57483" y="95.667526" id="rect21153" style="opacity:0.1875;fill:url(#linearGradient27069);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-265.48077" y="100.69909" id="rect21155" style="opacity:0.1875;fill:url(#linearGradient27071);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-228.17764" y="59.823067" id="rect21157" style="opacity:0.46875;fill:url(#linearGradient27073);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.42281" y="78.211479" id="rect21159" style="opacity:0.46875;fill:url(#linearGradient27075);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.68494" y="70.215508" id="rect21161" style="opacity:0.46875;fill:url(#linearGradient27077);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.6322" y="101.17437" id="rect21163" style="opacity:0.1875;fill:url(#linearGradient27079);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.22156" y="85.157867" id="rect21165" style="opacity:0.1875;fill:url(#linearGradient27081);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-301.52106" y="63.534519" id="rect21167" style="opacity:0.1875;fill:url(#linearGradient27083);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-216.44229" y="83.262306" id="rect21169" style="opacity:0.46875;fill:url(#linearGradient27085);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-287.93253" y="108.89066" id="rect21171" style="opacity:0.46875;fill:url(#linearGradient27087);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.96442" y="57.4179" id="rect21173" style="opacity:0.46875;fill:url(#linearGradient27089);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-292.90317" y="111.03307" id="rect21175" style="opacity:0.1875;fill:url(#linearGradient27091);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.35715" y="69.274529" id="rect21177" style="opacity:0.1875;fill:url(#linearGradient27093);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.00333" y="109.78416" id="rect21179" style="opacity:0.1875;fill:url(#linearGradient27095);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.11942" y="94.954216" id="rect21181" style="opacity:0.46875;fill:url(#linearGradient27097);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.60632" y="85.795189" id="rect21183" style="opacity:0.46875;fill:url(#linearGradient27099);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.70975" y="66.782021" id="rect21185" style="opacity:0.46875;fill:url(#linearGradient27101);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.90479" y="102.16841" id="rect21187" style="opacity:0.1875;fill:url(#linearGradient27103);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-228.94711" y="57.03421" id="rect21189" style="opacity:0.1875;fill:url(#linearGradient27105);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-264.45731" y="61.083805" id="rect21191" style="opacity:0.1875;fill:url(#linearGradient27107);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.54405" y="93.159767" id="rect21193" style="opacity:0.46875;fill:url(#linearGradient27109);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.33878" y="92.271156" id="rect21195" style="opacity:0.46875;fill:url(#linearGradient27111);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.116" y="84.80423" id="rect21197" style="opacity:0.46875;fill:url(#linearGradient27113);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.88902" y="58.80711" id="rect21199" style="opacity:0.1875;fill:url(#linearGradient27115);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.33392" y="76.536911" id="rect21201" style="opacity:0.1875;fill:url(#linearGradient27117);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.26511" y="80.201492" id="rect21203" style="opacity:0.1875;fill:url(#linearGradient27119);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-301.01447" y="100.298" id="rect21205" style="opacity:0.46875;fill:url(#linearGradient27121);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-253.10202" y="58.051792" id="rect21207" style="opacity:0.46875;fill:url(#linearGradient27123);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.26166" y="107.3416" id="rect21209" style="opacity:0.46875;fill:url(#linearGradient27125);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.62167" y="58.792862" id="rect21211" style="opacity:0.1875;fill:url(#linearGradient27127);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.48352" y="61.158932" id="rect21213" style="opacity:0.1875;fill:url(#linearGradient27129);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.12637" y="66.620155" id="rect21215" style="opacity:0.1875;fill:url(#linearGradient27131);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.6153" y="73.945251" id="rect21217" style="opacity:0.46875;fill:url(#linearGradient27133);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.59021" y="65.025085" id="rect21219" style="opacity:0.46875;fill:url(#linearGradient27135);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.93964" y="95.183495" id="rect21221" style="opacity:0.46875;fill:url(#linearGradient27137);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.58449" y="98.754738" id="rect21223" style="opacity:0.1875;fill:url(#linearGradient27139);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.2807" y="65.886925" id="rect21225" style="opacity:0.1875;fill:url(#linearGradient27141);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.5025" y="83.986488" id="rect21227" style="opacity:0.1875;fill:url(#linearGradient27143);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-269.90002" y="85.324791" id="rect21229" style="opacity:0.46875;fill:url(#linearGradient27145);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.44086" y="82.210342" id="rect21231" style="opacity:0.46875;fill:url(#linearGradient27147);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.56891" y="84.863411" id="rect21233" style="opacity:0.46875;fill:url(#linearGradient27149);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.25336" y="87.089043" id="rect21235" style="opacity:0.1875;fill:url(#linearGradient27151);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.89474" y="76.845276" id="rect21237" style="opacity:0.1875;fill:url(#linearGradient27153);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.92368" y="108.63635" id="rect21239" style="opacity:0.1875;fill:url(#linearGradient27155);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.47511" y="63.970722" id="rect21241" style="opacity:0.46875;fill:url(#linearGradient27157);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.57806" y="61.810444" id="rect21243" style="opacity:0.46875;fill:url(#linearGradient27159);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-237.78726" y="80.350128" id="rect21245" style="opacity:0.46875;fill:url(#linearGradient27161);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-246.69666" y="70.788307" id="rect21247" style="opacity:0.1875;fill:url(#linearGradient27163);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.49185" y="68.09623" id="rect21249" style="opacity:0.1875;fill:url(#linearGradient27165);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.31662" y="72.337776" id="rect21251" style="opacity:0.1875;fill:url(#linearGradient27167);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.89255" y="66.959465" id="rect21253" style="opacity:0.46875;fill:url(#linearGradient27169);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.88751" y="69.532631" id="rect21255" style="opacity:0.46875;fill:url(#linearGradient27171);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.67349" y="60.119705" id="rect21257" style="opacity:0.46875;fill:url(#linearGradient27173);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.59361" y="87.967026" id="rect21259" style="opacity:0.1875;fill:url(#linearGradient27175);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.74771" y="107.91908" id="rect21261" style="opacity:0.1875;fill:url(#linearGradient27177);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-231.36357" y="97.068886" id="rect21263" style="opacity:0.1875;fill:url(#linearGradient27179);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-238.16719" y="75.513985" id="rect21265" style="opacity:0.46875;fill:url(#linearGradient27181);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.69632" y="99.551247" id="rect21267" style="opacity:0.46875;fill:url(#linearGradient27183);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.33495" y="75.012238" id="rect21269" style="opacity:0.46875;fill:url(#linearGradient27185);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.54056" y="111.64594" id="rect21271" style="opacity:0.1875;fill:url(#linearGradient27187);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.6232" y="57.15493" id="rect21273" style="opacity:0.1875;fill:url(#linearGradient27189);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-228.94926" y="102.41476" id="rect21275" style="opacity:0.1875;fill:url(#linearGradient27191);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.89328" y="68.986198" id="rect21277" style="opacity:0.46875;fill:url(#linearGradient27193);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.78401" y="92.376289" id="rect21279" style="opacity:0.46875;fill:url(#linearGradient27195);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.17442" y="62.975868" id="rect21281" style="opacity:0.46875;fill:url(#linearGradient27197);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.98894" y="74.333855" id="rect21283" style="opacity:0.1875;fill:url(#linearGradient27199);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.34875" y="74.775146" id="rect21285" style="opacity:0.1875;fill:url(#linearGradient27201);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-258.19437" y="67.117424" id="rect21287" style="opacity:0.1875;fill:url(#linearGradient27203);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.04742" y="87.623558" id="rect21289" style="opacity:0.46875;fill:url(#linearGradient27205);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.68338" y="83.066238" id="rect21291" style="opacity:0.46875;fill:url(#linearGradient27207);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.97443" y="68.172554" id="rect21293" style="opacity:0.46875;fill:url(#linearGradient27209);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.65314" y="103.76814" id="rect21295" style="opacity:0.1875;fill:url(#linearGradient27211);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-284.52921" y="89.421211" id="rect21297" style="opacity:0.1875;fill:url(#linearGradient27213);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.46428" y="86.758759" id="rect21299" style="opacity:0.1875;fill:url(#linearGradient27215);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-307.32059" y="59.507183" id="rect21301" style="opacity:0.46875;fill:url(#linearGradient27217);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-268.4805" y="56.354454" id="rect21303" style="opacity:0.46875;fill:url(#linearGradient27219);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-253.79776" y="82.508331" id="rect21305" style="opacity:0.46875;fill:url(#linearGradient27221);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.34879" y="101.22415" id="rect21307" style="opacity:0.1875;fill:url(#linearGradient27223);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-286.26691" y="81.187157" id="rect21309" style="opacity:0.1875;fill:url(#linearGradient27225);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-245.5034" y="57.942776" id="rect21311" style="opacity:0.1875;fill:url(#linearGradient27227);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.29797" y="56.313656" id="rect21313" style="opacity:0.46875;fill:url(#linearGradient27229);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.09218" y="102.84291" id="rect21315" style="opacity:0.46875;fill:url(#linearGradient27231);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.79333" y="57.296597" id="rect21317" style="opacity:0.46875;fill:url(#linearGradient27233);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.46246" y="58.547722" id="rect21319" style="opacity:0.1875;fill:url(#linearGradient27235);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.19955" y="98.540131" id="rect21321" style="opacity:0.1875;fill:url(#linearGradient27237);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.17332" y="70.700653" id="rect21323" style="opacity:0.1875;fill:url(#linearGradient27239);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.90558" y="89.287468" id="rect21325" style="opacity:0.46875;fill:url(#linearGradient27241);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.75607" y="75.273468" id="rect21327" style="opacity:0.46875;fill:url(#linearGradient27243);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.25287" y="96.609406" id="rect21329" style="opacity:0.46875;fill:url(#linearGradient27245);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.75479" y="105.10313" id="rect21331" style="opacity:0.1875;fill:url(#linearGradient27247);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.81497" y="60.864231" id="rect21333" style="opacity:0.1875;fill:url(#linearGradient27249);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.41241" y="63.960575" id="rect21335" style="opacity:0.1875;fill:url(#linearGradient27251);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-250.99886" y="64.671219" id="rect21337" style="opacity:0.46875;fill:url(#linearGradient27253);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.80031" y="56.595322" id="rect21339" style="opacity:0.46875;fill:url(#linearGradient27255);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.96497" y="103.23323" id="rect21341" style="opacity:0.46875;fill:url(#linearGradient27257);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-260.19916" y="75.172691" id="rect21343" style="opacity:0.1875;fill:url(#linearGradient27259);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.57715" y="101.3636" id="rect21345" style="opacity:0.1875;fill:url(#linearGradient27261);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.93849" y="74.692139" id="rect21347" style="opacity:0.1875;fill:url(#linearGradient27263);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.13702" y="64.289536" id="rect21349" style="opacity:0.46875;fill:url(#linearGradient27265);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-231.13849" y="63.319588" id="rect21351" style="opacity:0.46875;fill:url(#linearGradient27267);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.52722" y="87.676361" id="rect21353" style="opacity:0.46875;fill:url(#linearGradient27269);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-249.15074" y="78.342529" id="rect21355" style="opacity:0.1875;fill:url(#linearGradient27271);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-304.875" y="106.99411" id="rect21357" style="opacity:0.1875;fill:url(#linearGradient27273);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-243.84726" y="69.912445" id="rect21359" style="opacity:0.1875;fill:url(#linearGradient27275);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.75728" y="84.166862" id="rect21361" style="opacity:0.46875;fill:url(#linearGradient27277);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.75204" y="88.894562" id="rect21363" style="opacity:0.46875;fill:url(#linearGradient27279);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.36176" y="58.718811" id="rect21365" style="opacity:0.46875;fill:url(#linearGradient27281);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.17926" y="100.05959" id="rect21367" style="opacity:0.1875;fill:url(#linearGradient27283);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.39511" y="91.973068" id="rect21369" style="opacity:0.1875;fill:url(#linearGradient27285);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.90848" y="65.40184" id="rect21371" style="opacity:0.1875;fill:url(#linearGradient27287);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.50565" y="82.440086" id="rect21373" style="opacity:0.46875;fill:url(#linearGradient27289);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-282.06406" y="62.919212" id="rect21375" style="opacity:0.46875;fill:url(#linearGradient27291);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.80597" y="79.708824" id="rect21377" style="opacity:0.46875;fill:url(#linearGradient27293);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.50827" y="86.379814" id="rect21379" style="opacity:0.1875;fill:url(#linearGradient27295);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.90628" y="78.480072" id="rect21381" style="opacity:0.1875;fill:url(#linearGradient27297);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-239.25328" y="88.913887" id="rect21383" style="opacity:0.1875;fill:url(#linearGradient27299);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-283.05078" y="72.513489" id="rect21385" style="opacity:0.46875;fill:url(#linearGradient27301);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.75754" y="59.668365" id="rect21387" style="opacity:0.46875;fill:url(#linearGradient27303);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-251.42499" y="84.254898" id="rect21389" style="opacity:0.46875;fill:url(#linearGradient27305);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.21336" y="92.538765" id="rect21391" style="opacity:0.1875;fill:url(#linearGradient27307);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-274.96292" y="67.801994" id="rect21393" style="opacity:0.1875;fill:url(#linearGradient27309);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.03345" y="79.786247" id="rect21395" style="opacity:0.1875;fill:url(#linearGradient27311);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.33481" y="73.434113" id="rect21397" style="opacity:0.46875;fill:url(#linearGradient27313);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.33148" y="104.76869" id="rect21399" style="opacity:0.46875;fill:url(#linearGradient27315);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.44894" y="99.540825" id="rect21401" style="opacity:0.46875;fill:url(#linearGradient27317);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-256.04898" y="81.255905" id="rect21403" style="opacity:0.1875;fill:url(#linearGradient27319);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-298.30069" y="63.783806" id="rect21405" style="opacity:0.1875;fill:url(#linearGradient27321);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-266.29605" y="68.727859" id="rect21407" style="opacity:0.1875;fill:url(#linearGradient27323);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.89272" y="66.714928" id="rect21409" style="opacity:0.46875;fill:url(#linearGradient27325);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.11136" y="102.37201" id="rect21411" style="opacity:0.46875;fill:url(#linearGradient27327);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-255.21965" y="90.515549" id="rect21413" style="opacity:0.46875;fill:url(#linearGradient27329);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.83557" y="104.97116" id="rect21415" style="opacity:0.1875;fill:url(#linearGradient27331);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.50201" y="107.85217" id="rect21417" style="opacity:0.1875;fill:url(#linearGradient27333);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-256.51273" y="109.82304" id="rect21419" style="opacity:0.1875;fill:url(#linearGradient27335);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-296.68771" y="83.052849" id="rect21421" style="opacity:0.46875;fill:url(#linearGradient27337);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.08441" y="55.352558" id="rect21423" style="opacity:0.46875;fill:url(#linearGradient27339);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-307.1561" y="69.60759" id="rect21425" style="opacity:0.46875;fill:url(#linearGradient27341);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.7278" y="98.796432" id="rect21427" style="opacity:0.1875;fill:url(#linearGradient27343);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.89224" y="93.656448" id="rect21429" style="opacity:0.1875;fill:url(#linearGradient27345);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.91916" y="79.919479" id="rect21431" style="opacity:0.1875;fill:url(#linearGradient27347);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.83963" y="82.481972" id="rect21433" style="opacity:0.46875;fill:url(#linearGradient27349);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.69556" y="84.644272" id="rect21435" style="opacity:0.46875;fill:url(#linearGradient27351);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.13559" y="75.38723" id="rect21437" style="opacity:0.46875;fill:url(#linearGradient27353);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.20813" y="69.854103" id="rect21439" style="opacity:0.1875;fill:url(#linearGradient27355);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.60059" y="68.559395" id="rect21441" style="opacity:0.1875;fill:url(#linearGradient27357);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.63321" y="81.568436" id="rect21443" style="opacity:0.1875;fill:url(#linearGradient27359);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.16757" y="81.135536" id="rect21445" style="opacity:0.46875;fill:url(#linearGradient27361);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.10229" y="85.68129" id="rect21447" style="opacity:0.46875;fill:url(#linearGradient27363);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.03432" y="107.33843" id="rect21449" style="opacity:0.46875;fill:url(#linearGradient27365);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-234.79033" y="95.026062" id="rect21451" style="opacity:0.1875;fill:url(#linearGradient27367);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-247.72145" y="98.058182" id="rect21453" style="opacity:0.1875;fill:url(#linearGradient27369);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-233.6649" y="63.695808" id="rect21455" style="opacity:0.1875;fill:url(#linearGradient27371);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-220.88246" y="75.468437" id="rect21457" style="opacity:0.46875;fill:url(#linearGradient27373);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-275.45953" y="111.10085" id="rect21459" style="opacity:0.46875;fill:url(#linearGradient27375);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.74779" y="85.411835" id="rect21461" style="opacity:0.46875;fill:url(#linearGradient27377);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-225.76868" y="65.039749" id="rect21463" style="opacity:0.1875;fill:url(#linearGradient27379);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-273.39914" y="109.71464" id="rect21465" style="opacity:0.1875;fill:url(#linearGradient27381);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.76727" y="87.23999" id="rect21467" style="opacity:0.1875;fill:url(#linearGradient27383);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-235.03047" y="70.933456" id="rect21469" style="opacity:0.46875;fill:url(#linearGradient27385);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-261.24399" y="91.743217" id="rect21471" style="opacity:0.46875;fill:url(#linearGradient27387);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.04282" y="96.093422" id="rect21473" style="opacity:0.46875;fill:url(#linearGradient27389);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-303.54053" y="80.427925" id="rect21475" style="opacity:0.1875;fill:url(#linearGradient27391);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-294.41525" y="87.967781" id="rect21477" style="opacity:0.1875;fill:url(#linearGradient27393);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.14575" y="92.518379" id="rect21479" style="opacity:0.1875;fill:url(#linearGradient27395);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.88187" y="104.75542" id="rect21481" style="opacity:0.46875;fill:url(#linearGradient27397);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.48245" y="56.437023" id="rect21483" style="opacity:0.46875;fill:url(#linearGradient27399);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.78445" y="71.8396" id="rect21485" style="opacity:0.46875;fill:url(#linearGradient27401);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-271.13855" y="110.62964" id="rect21487" style="opacity:0.1875;fill:url(#linearGradient27403);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.79547" y="95.475662" id="rect21489" style="opacity:0.1875;fill:url(#linearGradient27405);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.55093" y="83.479332" id="rect21491" style="opacity:0.1875;fill:url(#linearGradient27407);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-264.83661" y="105.59111" id="rect21493" style="opacity:0.46875;fill:url(#linearGradient27409);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-283.90616" y="105.14223" id="rect21495" style="opacity:0.46875;fill:url(#linearGradient27411);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.52286" y="110.83428" id="rect21497" style="opacity:0.46875;fill:url(#linearGradient27413);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.30792" y="108.30075" id="rect21499" style="opacity:0.1875;fill:url(#linearGradient27415);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-238.4128" y="66.733093" id="rect21501" style="opacity:0.1875;fill:url(#linearGradient27417);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.95995" y="100.79337" id="rect21503" style="opacity:0.1875;fill:url(#linearGradient27419);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.94753" y="109.69339" id="rect21505" style="opacity:0.46875;fill:url(#linearGradient27421);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-285.84122" y="61.881496" id="rect21507" style="opacity:0.46875;fill:url(#linearGradient27423);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-263.46597" y="90.312744" id="rect21509" style="opacity:0.46875;fill:url(#linearGradient27425);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.28766" y="105.66008" id="rect21511" style="opacity:0.1875;fill:url(#linearGradient27427);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.57361" y="110.81626" id="rect21513" style="opacity:0.1875;fill:url(#linearGradient27429);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.30582" y="78.19458" id="rect21515" style="opacity:0.1875;fill:url(#linearGradient27431);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.36133" y="65.584717" id="rect21517" style="opacity:0.46875;fill:url(#linearGradient27433);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-247.48462" y="90.008995" id="rect21519" style="opacity:0.46875;fill:url(#linearGradient27435);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-293.29022" y="77.312546" id="rect21521" style="opacity:0.46875;fill:url(#linearGradient27437);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.92154" y="108.85014" id="rect21523" style="opacity:0.1875;fill:url(#linearGradient27439);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-235.70132" y="86.926987" id="rect21525" style="opacity:0.1875;fill:url(#linearGradient27441);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.51126" y="81.268387" id="rect21527" style="opacity:0.1875;fill:url(#linearGradient27443);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-242.69012" y="107.18739" id="rect21529" style="opacity:0.46875;fill:url(#linearGradient27445);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.16809" y="91.953133" id="rect21531" style="opacity:0.46875;fill:url(#linearGradient27447);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-303.52182" y="91.424484" id="rect21533" style="opacity:0.46875;fill:url(#linearGradient27449);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.15775" y="104.16637" id="rect21535" style="opacity:0.1875;fill:url(#linearGradient27451);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-302.05234" y="58.979252" id="rect21537" style="opacity:0.1875;fill:url(#linearGradient27453);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.64029" y="55.466087" id="rect21539" style="opacity:0.1875;fill:url(#linearGradient27455);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.65317" y="72.480949" id="rect21541" style="opacity:0.46875;fill:url(#linearGradient27457);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.7802" y="75.611626" id="rect21543" style="opacity:0.46875;fill:url(#linearGradient27459);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.25217" y="107.40909" id="rect21545" style="opacity:0.46875;fill:url(#linearGradient27461);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.92938" y="100.32093" id="rect21547" style="opacity:0.1875;fill:url(#linearGradient27463);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.53226" y="61.29652" id="rect21549" style="opacity:0.1875;fill:url(#linearGradient27465);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.69031" y="77.940781" id="rect21551" style="opacity:0.1875;fill:url(#linearGradient27467);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.86548" y="85.345512" id="rect21553" style="opacity:0.46875;fill:url(#linearGradient27469);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.49466" y="73.688721" id="rect21555" style="opacity:0.46875;fill:url(#linearGradient27471);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.92558" y="101.36566" id="rect21557" style="opacity:0.46875;fill:url(#linearGradient27473);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-263.073" y="107.99613" id="rect21559" style="opacity:0.1875;fill:url(#linearGradient27475);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.97604" y="90.513596" id="rect21561" style="opacity:0.1875;fill:url(#linearGradient27477);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.73608" y="97.185303" id="rect21563" style="opacity:0.1875;fill:url(#linearGradient27479);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.27396" y="105.07907" id="rect21565" style="opacity:0.46875;fill:url(#linearGradient27481);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-229.82477" y="56.584343" id="rect21567" style="opacity:0.46875;fill:url(#linearGradient27483);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.95914" y="98.348389" id="rect21569" style="opacity:0.46875;fill:url(#linearGradient27485);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.59947" y="63.419086" id="rect21571" style="opacity:0.1875;fill:url(#linearGradient27487);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.72168" y="82.934814" id="rect21573" style="opacity:0.1875;fill:url(#linearGradient27489);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.19464" y="66.085556" id="rect21575" style="opacity:0.1875;fill:url(#linearGradient27491);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-284.0527" y="58.101696" id="rect21577" style="opacity:0.46875;fill:url(#linearGradient27493);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.06149" y="103.94582" id="rect21579" style="opacity:0.46875;fill:url(#linearGradient27495);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-235.56268" y="72.870979" id="rect21581" style="opacity:0.46875;fill:url(#linearGradient27497);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-252.6017" y="74.478989" id="rect21583" style="opacity:0.1875;fill:url(#linearGradient27499);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.55887" y="99.894096" id="rect21585" style="opacity:0.1875;fill:url(#linearGradient27501);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-248.11136" y="92.003113" id="rect21587" style="opacity:0.1875;fill:url(#linearGradient27503);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.96588" y="91.77327" id="rect21589" style="opacity:0.46875;fill:url(#linearGradient27505);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-227.51933" y="105.80508" id="rect21591" style="opacity:0.46875;fill:url(#linearGradient27507);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.48543" y="103.79506" id="rect21593" style="opacity:0.46875;fill:url(#linearGradient27509);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.12206" y="108.9409" id="rect21595" style="opacity:0.1875;fill:url(#linearGradient27511);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-293.02167" y="58.260303" id="rect21597" style="opacity:0.1875;fill:url(#linearGradient27513);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-272.77448" y="65.542923" id="rect21599" style="opacity:0.1875;fill:url(#linearGradient27515);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.63763" y="68.649734" id="rect21601" style="opacity:0.46875;fill:url(#linearGradient27517);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.66443" y="55.40823" id="rect21603" style="opacity:0.46875;fill:url(#linearGradient27519);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.11868" y="70.003098" id="rect21605" style="opacity:0.46875;fill:url(#linearGradient27521);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.80618" y="83.68644" id="rect21607" style="opacity:0.1875;fill:url(#linearGradient27523);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.61108" y="72.337257" id="rect21609" style="opacity:0.1875;fill:url(#linearGradient27525);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-281.52625" y="91.485954" id="rect21611" style="opacity:0.1875;fill:url(#linearGradient27527);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-302.82098" y="73.17878" id="rect21613" style="opacity:0.46875;fill:url(#linearGradient27529);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.31381" y="62.302635" id="rect21615" style="opacity:0.46875;fill:url(#linearGradient27531);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.39542" y="100.40778" id="rect21617" style="opacity:0.46875;fill:url(#linearGradient27533);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.2916" y="56.54998" id="rect21619" style="opacity:0.1875;fill:url(#linearGradient27535);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-226.85687" y="88.680138" id="rect21621" style="opacity:0.1875;fill:url(#linearGradient27537);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.02325" y="57.190468" id="rect21623" style="opacity:0.1875;fill:url(#linearGradient27539);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-218.22159" y="107.58854" id="rect21625" style="opacity:0.46875;fill:url(#linearGradient27541);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.79041" y="67.897629" id="rect21627" style="opacity:0.46875;fill:url(#linearGradient27543);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-286.17734" y="93.437904" id="rect21629" style="opacity:0.46875;fill:url(#linearGradient27545);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-221.62856" y="69.776123" id="rect21631" style="opacity:0.1875;fill:url(#linearGradient27547);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-292.85226" y="72.556374" id="rect21633" style="opacity:0.1875;fill:url(#linearGradient27549);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.26521" y="65.97863" id="rect21829" style="opacity:0.46875;fill:url(#linearGradient27745);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.92079" y="66.180679" id="rect21635" style="opacity:0.1875;fill:url(#linearGradient27551);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.52203" y="88.789848" id="rect21637" style="opacity:0.46875;fill:url(#linearGradient27553);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-239.35887" y="106.48306" id="rect21639" style="opacity:0.46875;fill:url(#linearGradient27555);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-257.09924" y="61.134922" id="rect21641" style="opacity:0.46875;fill:url(#linearGradient27557);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.71439" y="71.699997" id="rect21643" style="opacity:0.1875;fill:url(#linearGradient27559);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.7209" y="60.317715" id="rect21645" style="opacity:0.1875;fill:url(#linearGradient27561);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-232.00232" y="56.347214" id="rect21647" style="opacity:0.1875;fill:url(#linearGradient27563);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.17883" y="94.825455" id="rect21649" style="opacity:0.46875;fill:url(#linearGradient27565);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.89526" y="87.537811" id="rect21651" style="opacity:0.46875;fill:url(#linearGradient27567);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-261.26334" y="84.091301" id="rect21653" style="opacity:0.46875;fill:url(#linearGradient27569);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-300.27002" y="70.411156" id="rect21655" style="opacity:0.1875;fill:url(#linearGradient27571);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.69394" y="78.538818" id="rect21657" style="opacity:0.1875;fill:url(#linearGradient27573);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-273.68408" y="60.320854" id="rect21659" style="opacity:0.1875;fill:url(#linearGradient27575);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.35306" y="103.11416" id="rect21661" style="opacity:0.46875;fill:url(#linearGradient27577);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-244.28685" y="96.777092" id="rect21663" style="opacity:0.46875;fill:url(#linearGradient27579);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.80014" y="106.55783" id="rect21665" style="opacity:0.46875;fill:url(#linearGradient27581);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-222.17648" y="66.65284" id="rect21667" style="opacity:0.1875;fill:url(#linearGradient27583);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-306.69562" y="59.358051" id="rect21669" style="opacity:0.1875;fill:url(#linearGradient27585);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.25375" y="75.676254" id="rect21671" style="opacity:0.1875;fill:url(#linearGradient27587);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-263.92645" y="65.860481" id="rect21673" style="opacity:0.46875;fill:url(#linearGradient27589);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-269.39749" y="102.62814" id="rect21675" style="opacity:0.46875;fill:url(#linearGradient27591);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.31821" y="77.852493" id="rect21677" style="opacity:0.46875;fill:url(#linearGradient27593);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-243.6496" y="101.4992" id="rect21679" style="opacity:0.1875;fill:url(#linearGradient27595);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.46136" y="73.306519" id="rect21681" style="opacity:0.1875;fill:url(#linearGradient27597);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-305.29956" y="102.79834" id="rect21683" style="opacity:0.1875;fill:url(#linearGradient27599);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-245.90312" y="85.702217" id="rect21685" style="opacity:0.46875;fill:url(#linearGradient27601);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.05383" y="111.4539" id="rect21687" style="opacity:0.46875;fill:url(#linearGradient27603);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.43542" y="81.403618" id="rect21689" style="opacity:0.46875;fill:url(#linearGradient27605);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.30719" y="92.514725" id="rect21691" style="opacity:0.1875;fill:url(#linearGradient27607);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.24991" y="74.283562" id="rect21693" style="opacity:0.1875;fill:url(#linearGradient27609);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.06049" y="60.561077" id="rect21695" style="opacity:0.1875;fill:url(#linearGradient27611);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-239.73814" y="105.74458" id="rect21697" style="opacity:0.46875;fill:url(#linearGradient27613);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.22021" y="96.253685" id="rect21699" style="opacity:0.46875;fill:url(#linearGradient27615);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.03934" y="110.5692" id="rect21701" style="opacity:0.46875;fill:url(#linearGradient27617);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-257.17294" y="111.13409" id="rect21703" style="opacity:0.1875;fill:url(#linearGradient27619);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-234.59334" y="101.43046" id="rect21705" style="opacity:0.1875;fill:url(#linearGradient27621);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.58798" y="60.705799" id="rect21707" style="opacity:0.1875;fill:url(#linearGradient27623);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.61441" y="73.019402" id="rect21709" style="opacity:0.46875;fill:url(#linearGradient27625);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-267.7652" y="98.472694" id="rect21711" style="opacity:0.46875;fill:url(#linearGradient27627);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.8707" y="107.17078" id="rect21713" style="opacity:0.46875;fill:url(#linearGradient27629);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-238.23187" y="86.312042" id="rect21715" style="opacity:0.1875;fill:url(#linearGradient27631);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.60698" y="95.533546" id="rect21717" style="opacity:0.1875;fill:url(#linearGradient27633);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-306.71002" y="101.39093" id="rect21719" style="opacity:0.1875;fill:url(#linearGradient27635);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-272.34747" y="86.315704" id="rect21721" style="opacity:0.46875;fill:url(#linearGradient27637);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.95612" y="55.324371" id="rect21723" style="opacity:0.46875;fill:url(#linearGradient27639);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-304.55295" y="102.14988" id="rect21725" style="opacity:0.46875;fill:url(#linearGradient27641);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-267.01569" y="61.645065" id="rect21727" style="opacity:0.1875;fill:url(#linearGradient27643);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-256.86374" y="110.06892" id="rect21729" style="opacity:0.1875;fill:url(#linearGradient27645);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.23123" y="92.380867" id="rect21731" style="opacity:0.1875;fill:url(#linearGradient27647);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-276.22873" y="59.463947" id="rect21733" style="opacity:0.46875;fill:url(#linearGradient27649);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-291.77228" y="92.189217" id="rect21735" style="opacity:0.46875;fill:url(#linearGradient27651);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-285.35599" y="108.36303" id="rect21737" style="opacity:0.46875;fill:url(#linearGradient27653);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-278.51425" y="55.131035" id="rect21739" style="opacity:0.1875;fill:url(#linearGradient27655);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-254.97046" y="78.479927" id="rect21741" style="opacity:0.1875;fill:url(#linearGradient27657);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.53455" y="70.767914" id="rect21743" style="opacity:0.1875;fill:url(#linearGradient27659);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-248.0918" y="83.996956" id="rect21745" style="opacity:0.46875;fill:url(#linearGradient27661);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-280.30066" y="100.72653" id="rect21747" style="opacity:0.46875;fill:url(#linearGradient27663);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-279.70331" y="67.053055" id="rect21749" style="opacity:0.46875;fill:url(#linearGradient27665);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-299.98083" y="73.581207" id="rect21751" style="opacity:0.1875;fill:url(#linearGradient27667);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.08847" y="94.374672" id="rect21753" style="opacity:0.1875;fill:url(#linearGradient27669);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-254.45741" y="100.69733" id="rect21755" style="opacity:0.1875;fill:url(#linearGradient27671);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-231.60889" y="85.703201" id="rect21757" style="opacity:0.46875;fill:url(#linearGradient27673);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-274.84732" y="103.87772" id="rect21759" style="opacity:0.46875;fill:url(#linearGradient27675);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-289.03357" y="90.877365" id="rect21761" style="opacity:0.46875;fill:url(#linearGradient27677);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.6626" y="70.500305" id="rect21763" style="opacity:0.1875;fill:url(#linearGradient27679);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-225.17976" y="57.346786" id="rect21765" style="opacity:0.1875;fill:url(#linearGradient27681);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-275.80215" y="76.338768" id="rect21767" style="opacity:0.1875;fill:url(#linearGradient27683);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-230.84044" y="62.407707" id="rect21769" style="opacity:0.46875;fill:url(#linearGradient27685);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-305.61429" y="109.48866" id="rect21771" style="opacity:0.46875;fill:url(#linearGradient27687);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.95377" y="99.259407" id="rect21773" style="opacity:0.46875;fill:url(#linearGradient27689);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-302.67654" y="80.126701" id="rect21775" style="opacity:0.1875;fill:url(#linearGradient27691);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-232.54361" y="80.017448" id="rect21777" style="opacity:0.1875;fill:url(#linearGradient27693);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-270.85376" y="96.710403" id="rect21779" style="opacity:0.1875;fill:url(#linearGradient27695);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-236.68607" y="104.046" id="rect21781" style="opacity:0.46875;fill:url(#linearGradient27697);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-271.02905" y="68.652893" id="rect21783" style="opacity:0.46875;fill:url(#linearGradient27699);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-294.33957" y="59.477379" id="rect21785" style="opacity:0.46875;fill:url(#linearGradient27701);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-233.72734" y="62.554237" id="rect21787" style="opacity:0.1875;fill:url(#linearGradient27703);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-251.08012" y="84.629906" id="rect21789" style="opacity:0.1875;fill:url(#linearGradient27705);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-246.50664" y="61.226196" id="rect21791" style="opacity:0.1875;fill:url(#linearGradient27707);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-288.17026" y="109.02679" id="rect21793" style="opacity:0.46875;fill:url(#linearGradient27709);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-276.62747" y="110.70783" id="rect21795" style="opacity:0.46875;fill:url(#linearGradient27711);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-252.71053" y="105.81419" id="rect21797" style="opacity:0.46875;fill:url(#linearGradient27713);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.33205" y="56.806377" id="rect21799" style="opacity:0.1875;fill:url(#linearGradient27715);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.8923" y="72.453812" id="rect21801" style="opacity:0.1875;fill:url(#linearGradient27717);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-287.84396" y="81.6036" id="rect21803" style="opacity:0.1875;fill:url(#linearGradient27719);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-259.28372" y="80.256149" id="rect21805" style="opacity:0.46875;fill:url(#linearGradient27721);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-299.51932" y="63.046921" id="rect21807" style="opacity:0.46875;fill:url(#linearGradient27723);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.11929" y="86.822929" id="rect21809" style="opacity:0.46875;fill:url(#linearGradient27725);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.89749" y="60.208015" id="rect21811" style="opacity:0.1875;fill:url(#linearGradient27727);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-257.36871" y="61.199322" id="rect21813" style="opacity:0.1875;fill:url(#linearGradient27729);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.65778" y="99.558662" id="rect21815" style="opacity:0.1875;fill:url(#linearGradient27731);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-294.99631" y="83.771034" id="rect21817" style="opacity:0.46875;fill:url(#linearGradient27733);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-296.79523" y="55.187725" id="rect21819" style="opacity:0.46875;fill:url(#linearGradient27735);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-274.21899" y="67.234024" id="rect21821" style="opacity:0.46875;fill:url(#linearGradient27737);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-279.93652" y="58.027828" id="rect21823" style="opacity:0.1875;fill:url(#linearGradient27739);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-265.09564" y="57.621449" id="rect21825" style="opacity:0.1875;fill:url(#linearGradient27741);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-230.92448" y="62.891903" id="rect21827" style="opacity:0.1875;fill:url(#linearGradient27743);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-245.2112" y="73.311836" id="rect21831" style="opacity:0.46875;fill:url(#linearGradient27747);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.29486" y="72.867485" id="rect21833" style="opacity:0.46875;fill:url(#linearGradient27749);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-293.24588" y="71.625595" id="rect21835" style="opacity:0.1875;fill:url(#linearGradient27751);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.41812" y="65.277237" id="rect21837" style="opacity:0.1875;fill:url(#linearGradient27753);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-278.57266" y="64.746178" id="rect21839" style="opacity:0.1875;fill:url(#linearGradient27755);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-281.70593" y="95.995338" id="rect21841" style="opacity:0.46875;fill:url(#linearGradient27757);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.45135" y="59.459827" id="rect21843" style="opacity:0.46875;fill:url(#linearGradient27759);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-296.65451" y="64.189789" id="rect21845" style="opacity:0.46875;fill:url(#linearGradient27761);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.06418" y="95.602432" id="rect21847" style="opacity:0.1875;fill:url(#linearGradient27763);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-297.3447" y="63.354229" id="rect21849" style="opacity:0.1875;fill:url(#linearGradient27765);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-288.95663" y="101.5279" id="rect21851" style="opacity:0.1875;fill:url(#linearGradient27767);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-298.72165" y="86.172012" id="rect21853" style="opacity:0.46875;fill:url(#linearGradient27769);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-278.71814" y="78.380249" id="rect21855" style="opacity:0.46875;fill:url(#linearGradient27771);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-229.52434" y="93.67672" id="rect21857" style="opacity:0.46875;fill:url(#linearGradient27773);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-290.90338" y="85.702248" id="rect21859" style="opacity:0.1875;fill:url(#linearGradient27775);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.38721" y="77.190605" id="rect21861" style="opacity:0.1875;fill:url(#linearGradient27777);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-247.67737" y="56.181717" id="rect21863" style="opacity:0.1875;fill:url(#linearGradient27779);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.15222" y="107.90704" id="rect21865" style="opacity:0.46875;fill:url(#linearGradient27781);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-303.92514" y="69.235466" id="rect21867" style="opacity:0.46875;fill:url(#linearGradient27783);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.22012" y="109.27183" id="rect21869" style="opacity:0.46875;fill:url(#linearGradient27785);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-282.93329" y="104.98781" id="rect21871" style="opacity:0.1875;fill:url(#linearGradient27787);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-290.55911" y="75.871635" id="rect21873" style="opacity:0.1875;fill:url(#linearGradient27789);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-290.32047" y="99.745865" id="rect21875" style="opacity:0.1875;fill:url(#linearGradient27791);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-258.80777" y="80.191414" id="rect21877" style="opacity:0.46875;fill:url(#linearGradient27793);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-243.10162" y="73.924088" id="rect21879" style="opacity:0.46875;fill:url(#linearGradient27795);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-234.60951" y="101.18223" id="rect21881" style="opacity:0.46875;fill:url(#linearGradient27797);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-247.05617" y="78.823349" id="rect21883" style="opacity:0.1875;fill:url(#linearGradient27799);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-300.5704" y="108.95625" id="rect21885" style="opacity:0.1875;fill:url(#linearGradient27801);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-280.31177" y="56.026588" id="rect21887" style="opacity:0.1875;fill:url(#linearGradient27803);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-223.99092" y="78.282021" id="rect21889" style="opacity:0.46875;fill:url(#linearGradient27805);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.61678" y="59.413132" id="rect21891" style="opacity:0.46875;fill:url(#linearGradient27807);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-282.67126" y="61.633476" id="rect21893" style="opacity:0.46875;fill:url(#linearGradient27809);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-306.9444" y="111.4621" id="rect21895" style="opacity:0.1875;fill:url(#linearGradient27811);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-240.84995" y="83.256912" id="rect21897" style="opacity:0.1875;fill:url(#linearGradient27813);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-262.802" y="57.619476" id="rect21899" style="opacity:0.1875;fill:url(#linearGradient27815);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.81755" y="77.153168" id="rect21901" style="opacity:0.46875;fill:url(#linearGradient27817);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-247.31902" y="68.481903" id="rect21903" style="opacity:0.46875;fill:url(#linearGradient27819);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-238.41722" y="61.906265" id="rect21905" style="opacity:0.46875;fill:url(#linearGradient27821);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-232.65349" y="86.281181" id="rect21907" style="opacity:0.1875;fill:url(#linearGradient27823);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.61473" y="89.972336" id="rect21909" style="opacity:0.1875;fill:url(#linearGradient27825);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-241.95982" y="103.9351" id="rect21911" style="opacity:0.1875;fill:url(#linearGradient27827);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-275.90552" y="105.45963" id="rect21913" style="opacity:0.46875;fill:url(#linearGradient27829);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-236.45705" y="73.526924" id="rect21915" style="opacity:0.46875;fill:url(#linearGradient27831);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-291.1709" y="64.812592" id="rect21917" style="opacity:0.46875;fill:url(#linearGradient27833);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-273.98798" y="64.855049" id="rect21919" style="opacity:0.1875;fill:url(#linearGradient27835);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.42635" y="73.936829" id="rect21921" style="opacity:0.1875;fill:url(#linearGradient27837);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-268.98654" y="73.139526" id="rect21923" style="opacity:0.1875;fill:url(#linearGradient27839);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-219.25526" y="80.140846" id="rect21925" style="opacity:0.46875;fill:url(#linearGradient27841);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-277.05325" y="94.54393" id="rect21927" style="opacity:0.46875;fill:url(#linearGradient27843);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-300.58752" y="94.470482" id="rect21929" style="opacity:0.46875;fill:url(#linearGradient27845);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.10745" y="68.010391" id="rect21931" style="opacity:0.1875;fill:url(#linearGradient27847);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-262.12384" y="57.154907" id="rect21933" style="opacity:0.1875;fill:url(#linearGradient27849);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-292.16574" y="94.142303" id="rect21935" style="opacity:0.1875;fill:url(#linearGradient27851);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-266.22025" y="110.43915" id="rect21937" style="opacity:0.46875;fill:url(#linearGradient27853);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-250.00839" y="80.812195" id="rect21939" style="opacity:0.46875;fill:url(#linearGradient27855);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-267.59402" y="76.412384" id="rect21941" style="opacity:0.46875;fill:url(#linearGradient27857);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-305.91107" y="58.024467" id="rect21943" style="opacity:0.1875;fill:url(#linearGradient27859);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-249.53322" y="97.532372" id="rect21945" style="opacity:0.1875;fill:url(#linearGradient27861);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-297.9502" y="79.375854" id="rect21947" style="opacity:0.1875;fill:url(#linearGradient27863);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-297.24863" y="83.744377" id="rect21949" style="opacity:0.46875;fill:url(#linearGradient27865);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-258.81308" y="87.086861" id="rect21951" style="opacity:0.46875;fill:url(#linearGradient27867);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-260.07507" y="87.316689" id="rect21953" style="opacity:0.46875;fill:url(#linearGradient27869);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-289.18948" y="111.07953" id="rect21955" style="opacity:0.1875;fill:url(#linearGradient27871);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-259.52704" y="94.9814" id="rect21957" style="opacity:0.1875;fill:url(#linearGradient27873);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-259.55115" y="79.851738" id="rect21959" style="opacity:0.1875;fill:url(#linearGradient27875);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-286.60129" y="67.812614" id="rect21961" style="opacity:0.46875;fill:url(#linearGradient27877);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.33926" y="104.16561" id="rect21963" style="opacity:0.46875;fill:url(#linearGradient27879);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-283.54825" y="93.081116" id="rect21965" style="opacity:0.46875;fill:url(#linearGradient27881);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-217.43896" y="58.822296" id="rect21967" style="opacity:0.1875;fill:url(#linearGradient27883);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-237.89325" y="100.85945" id="rect21969" style="opacity:0.1875;fill:url(#linearGradient27885);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-242.74698" y="63.367489" id="rect21971" style="opacity:0.1875;fill:url(#linearGradient27887);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-226.92989" y="76.764717" id="rect21973" style="opacity:0.46875;fill:url(#linearGradient27889);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-233.42609" y="98.909195" id="rect21975" style="opacity:0.46875;fill:url(#linearGradient27891);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-299.9494" y="67.81192" id="rect21977" style="opacity:0.46875;fill:url(#linearGradient27893);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-265.12759" y="80.207634" id="rect21979" style="opacity:0.1875;fill:url(#linearGradient27895);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-260.70068" y="107.55251" id="rect21981" style="opacity:0.1875;fill:url(#linearGradient27897);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-236.33008" y="88.17466" id="rect21983" style="opacity:0.1875;fill:url(#linearGradient27899);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="10.629006" height="0.28105551" rx="0" ry="0" x="-251.88853" y="84.047386" id="rect21985" style="opacity:0.46875;fill:url(#linearGradient27901);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.28105551" rx="0" ry="0" x="-255.8196" y="80.099098" id="rect21987" style="opacity:0.46875;fill:url(#linearGradient27903);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="19.367277" height="0.33215648" rx="0" ry="0" x="-276.29352" y="88.051704" id="rect21989" style="opacity:0.46875;fill:url(#linearGradient27905);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ </g>
+ <path d="M 34.6875,80.38144 C 33.51024,80.38144 32.5625,81.339002 32.5625,82.528441 L 32.5625,82.717882 C 32.5625,81.528444 33.51024,80.570884 34.6875,80.57088 L 85.84375,80.57088 C 86.87384,80.57088 87.74,81.327313 87.9375,82.307427 C 87.82856,81.22269 86.94705,80.38144 85.84375,80.38144 L 34.6875,80.38144 z M 39.96875,111.10251 L 39.96875,111.29197 C 39.96875,111.81689 40.38669,112.23916 40.90625,112.23916 L 55.03125,112.23916 C 55.5508,112.23916 55.96874,111.81689 55.96875,111.29197 L 55.96875,111.10251 C 55.96874,111.62744 55.5508,112.04971 55.03125,112.04971 L 40.90625,112.04971 C 40.38669,112.04971 39.96875,111.62744 39.96875,111.10251 z" id="path3292" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <path d="M 34.6875,80.279513 C 33.51024,80.279513 32.5625,81.643 32.5625,82.832439 L 32.5625,83.021881 C 32.5625,81.832441 33.51024,81.474879 34.6875,81.474879 L 85.84375,81.474879 C 86.87384,81.474879 87.54,81.631311 87.7375,82.611424 C 87.62856,81.526688 86.94705,80.380993 85.84375,80.380993 L 34.6875,80.279513 z M 39.96875,111.40651 L 39.96875,111.59595 C 39.96875,112.12088 40.38669,112.54316 40.90625,112.54316 L 55.03125,112.54316 C 55.5508,112.54316 55.96874,112.12088 55.96875,111.59595 L 55.96875,111.40651 C 55.96874,111.93144 55.5508,112.35371 55.03125,112.35371 L 40.90625,112.35371 C 40.38669,112.35371 39.96875,111.93144 39.96875,111.40651 z" id="path3301" style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <rect width="0.25288588" height="38.263451" rx="0" ry="0" x="-87.866302" y="81.923531" transform="scale(-1,1)" id="rect27971" style="opacity:1;fill:url(#linearGradient27979);fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <g transform="matrix(1.0884558,0,0,1.1036437,-2.1696646,-3.433884)" id="g28105" style="opacity:0.78515625">
+ <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" transform="matrix(0.6942102,0,0,0.6942102,4.8926363,5.5042159)" clip-path="url(#clipPath28045)" id="rect28009" style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28031)"/>
+ <rect width="8" height="12" rx="1.079258" ry="1.079258" x="12" y="12" transform="matrix(0.6942102,0,0,0.6942102,4.8926363,5.5042159)" clip-path="url(#clipPath28041)" id="rect28039" style="opacity:1;fill:url(#radialGradient28110);fill-opacity:1;stroke:url(#linearGradient28112);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28031)"/>
+ <rect width="4.3502288" height="3.6759202" rx="0.45226815" ry="0.45226815" x="13.897468" y="18.030909" id="rect28057" style="opacity:1;fill:url(#radialGradient28114);fill-opacity:1;stroke:url(#linearGradient28116);stroke-width:0.33188635;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1;filter:url(#filter28101)"/>
+ </g>
+ <rect width="55.5" height="2.5258846" x="32.5" y="118.41405" id="rect28122" style="opacity:0.546875;fill:url(#linearGradient28138);fill-opacity:1;stroke:none;stroke-width:0.30000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:4.15;stroke-opacity:1"/>
+ <path d="M 11.375,8.000469 C 9.318588,8.107658 8,9.705749 8,12.312968 L 8,12.906718 C 8,9.927039 9.421552,8.594219 12.375,8.594219 C 48.895822,8.020377 88.665734,8.321938 116.625,8.594219 C 118.52101,8.594219 120,9.722534 120,11.906718 L 120,11.312968 C 120,9.769599 118.4515,8.000469 116.625,8.000469 L 12.375,8.000469 C 12.005819,8.000469 11.668773,7.9851585 11.375,8.000469 z" id="path3391" style="opacity:1;fill:#343434;fill-opacity:0.82840235;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:1.08779998;stroke-opacity:1"/>
+ <path d="M 118.02054,8.3884687 L 118.13103,9.4933229 L 119.58944,9.493323 C 119.49063,9.021128 119.39101,8.3122317 118.02054,8.3884687 z" transform="matrix(-1.3891392,0,0,1.3891392,175.666,-2.239338)" id="path3081" style="fill:url(#radialGradient3084);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3077)"/>
+ <path d="M 117.12054,8.6884687 L 117.23103,9.793323 L 118.68944,9.793323 C 118.59063,9.321128 118.49101,8.6122317 117.12054,8.6884687 z" transform="matrix(1.2828374,0,0,1.2828374,-33.432312,-2.365499)" id="path3031" style="opacity:0.86141304;fill:url(#radialGradient3039);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter3077)"/>
+</svg>
\ No newline at end of file
--- /dev/null
+//
+// HelloCube.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2016 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+using System;
+using System.IO;
+using Crow;
+
+namespace Crow.Coding
+{
+ class CrowIDE : CrowVkWin
+ {
+ static void Main (string [] args)
+ {
+ using (CrowIDE app = new CrowIDE ()) {
+ app.initIde ();
+ app.reloadWinConfigs ();
+ app.Run ();
+ app.saveWinConfigs ();
+ }
+ }
+
+ protected override void onLoad ()
+ {
+
+ }
+ public Command CMDNew, CMDOpen, CMDSave, CMDSaveAs, cmdCloseSolution, CMDQuit,
+ CMDUndo, CMDRedo, CMDCut, CMDCopy, CMDPaste, CMDHelp,
+ CMDAbout, CMDOptions,
+ CMDViewGTExp, CMDViewProps, CMDViewProj, CMDViewProjProps, CMDViewErrors, CMDViewSolution, CMDViewEditor, CMDViewProperties,
+ CMDViewToolbox, CMDViewSchema, CMDViewStyling,CMDViewDesign,
+ CMDCompile;
+
+ void initCommands () {
+ CMDNew = new Command(new Action(() => newFile())) { Caption = "New", Icon = new SvgPicture("#CrowIDE.icons.blank-file.svg"), CanExecute = true};
+ CMDOpen = new Command(new Action(() => openFileDialog())) { Caption = "Open...", Icon = new SvgPicture("#CrowIDE.icons.open.svg") };
+ CMDSave = new Command(new Action(() => saveFileDialog())) { Caption = "Save", Icon = new SvgPicture("#CrowIDE.icons.save.svg"), CanExecute = false};
+ CMDSaveAs = new Command(new Action(() => saveFileDialog())) { Caption = "Save As...", Icon = new SvgPicture("#CrowIDE.icons.save.svg"), CanExecute = false};
+ //CMDQuit = new Command(new Action(() => running = false)) { Caption = "Quit", Icon = new SvgPicture("#CrowIDE.icons.sign-out.svg") };
+ CMDUndo = new Command(new Action(() => undo())) { Caption = "Undo", Icon = new SvgPicture("#CrowIDE.icons.undo.svg"), CanExecute = false};
+ CMDRedo = new Command(new Action(() => redo())) { Caption = "Redo", Icon = new SvgPicture("#CrowIDE.icons.redo.svg"), CanExecute = false};
+ //CMDCut = new Command(new Action(() => Quit (null, null))) { Caption = "Cut", Icon = new SvgPicture("#CrowIDE.icons.scissors.svg"), CanExecute = false};
+ //CMDCopy = new Command(new Action(() => Quit (null, null))) { Caption = "Copy", Icon = new SvgPicture("#CrowIDE.icons.copy-file.svg"), CanExecute = false};
+ //CMDPaste = new Command(new Action(() => Quit (null, null))) { Caption = "Paste", Icon = new SvgPicture("#CrowIDE.icons.paste-on-document.svg"), CanExecute = false};
+ CMDHelp = new Command(new Action(() => System.Diagnostics.Debug.WriteLine("help"))) { Caption = "Help", Icon = new SvgPicture("#CrowIDE.icons.question.svg") };
+ CMDOptions = new Command(new Action(() => loadWindow("#CrowIDE.ui.Options.crow"))) { Caption = "Editor Options", Icon = new SvgPicture("#CrowIDE.icons.tools.svg") };
+
+ cmdCloseSolution = new Command(new Action(() => closeSolution()))
+ { Caption = "Close Solution", Icon = new SvgPicture("#CrowIDE.icons.paste-on-document.svg"), CanExecute = false};
+
+ CMDViewErrors = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winErrors.crow",this)))
+ { Caption = "Errors pane"};
+ CMDViewSolution = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winSolution.crow",this)))
+ { Caption = "Solution Tree", CanExecute = false};
+ CMDViewEditor = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winEditor.crow",this)))
+ { Caption = "Editor Pane"};
+ CMDViewProperties = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winProperties.crow",this)))
+ { Caption = "Properties"};
+ CMDViewDesign = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winDesign.crow",this)))
+ { Caption = "Quick Design", CanExecute = true};
+ CMDViewToolbox = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winToolbox.crow",this)))
+ { Caption = "Toolbox", CanExecute = false};
+ CMDViewSchema = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winSchema.crow",this)))
+ { Caption = "IML Shematic View", CanExecute = true};
+ CMDViewStyling = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winStyleView.crow",this)))
+ { Caption = "Styling Explorer", CanExecute = true};
+
+ CMDViewGTExp = new Command(new Action(() => loadWindow ("#CrowIDE.ui.DockWindows.winGTExplorer.crow",this)))
+ { Caption = "Graphic Tree Explorer", CanExecute = true};
+ CMDCompile = new Command(new Action(() => compileSolution()))
+ { Caption = "Compile", CanExecute = false};
+ CMDViewProjProps = new Command(new Action(loadProjProps))
+ { Caption = "Project Properties", CanExecute = false};
+ }
+
+ void openFileDialog () {
+ crow.AddWidget (instFileDlg.CreateInstance()).DataSource = this;
+ }
+ void openOptionsDialog(){}
+ void newFile() {
+ currentSolution.OpenedItems.AddElement(new ProjectFile());
+ }
+ void saveFileDialog() {}
+ void undo() {}
+ void redo() {}
+ void closeSolution (){
+ if (currentSolution != null)
+ currentSolution.CloseSolution ();
+ CurrentSolution = null;
+ }
+
+ public void saveWinConfigs() {
+ Configuration.Global.Set ("WinConfigs", mainDock.ExportConfig ());
+ Configuration.Global.Save ();
+ }
+ public void reloadWinConfigs() {
+ string conf = Configuration.Global.Get<string>("WinConfigs");
+ if (string.IsNullOrEmpty (conf))
+ return;
+ mainDock.ImportConfig (conf, this);
+ }
+
+
+ static void App_KeyboardKeyDown (object sender, KeyEventArgs e)
+ {
+ Console.WriteLine((byte)e.Key);
+ //#if DEBUG_LOG
+ /*switch (e.Key) {
+ case Key.F2:
+ DebugLog.save (app);
+ break;
+ }*/
+ //#endif
+ }
+
+
+
+ IML.Instantiator instFileDlg;
+ Solution currentSolution;
+ Project currentProject;
+ DockStack mainDock;
+
+ public static Interface MainIFace;
+ public static CrowIDE MainWin;
+
+ void initIde() {
+
+ initCommands ();
+
+ Widget go = crow.Load (@"#CrowIDE.ui.CrowIDE.crow");
+ go.DataSource = this;
+
+ mainDock = go.FindByName ("mainDock") as DockStack;
+
+ if (ReopenLastSolution && !string.IsNullOrEmpty (LastOpenSolution)) {
+ CurrentSolution = Solution.LoadSolution (LastOpenSolution);
+ //lock(MainIFace.UpdateMutex)
+ CurrentSolution.ReopenItemsSavedInUserConfig ();
+ }
+
+ instFileDlg = IML.Instantiator.CreateFromImlFragment
+ (MainIFace, "<FileDialog Caption='Open File' CurrentDirectory='{²CurrentDirectory}' SearchPattern='*.sln' OkClicked='onFileOpen'/>");
+
+ /*DockWindow dw = loadWindow ("#CrowIDE.ui.DockWindows.winEditor.crow", this) as DockWindow;
+ dw.DockingPosition = Alignment.Center;
+ dw.Dock (mainDock);
+ dw = loadWindow ("#CrowIDE.ui.DockWindows.winSolution.crow", this) as DockWindow;
+ dw.DockingPosition = Alignment.Right;
+ dw.Dock (mainDock);
+ dw = loadWindow ("#CrowIDE.ui.DockWindows.winToolbox.crow", this) as DockWindow;
+ dw.DockingPosition = Alignment.Left;
+ dw.Dock (mainDock);*/
+
+ //Console.WriteLine ();
+ }
+
+ void loadProjProps () {
+ loadWindow ("#CrowIDE.ui.ProjectProperties.crow");
+ }
+ void compileSolution () {
+ //ProjectItem pi = CurrentSolution.SelectedItem;
+ Project p = CurrentSolution?.Projects[1];
+ if (p == null)
+ return;
+ p.Compile ();
+ }
+
+ public string CurrentDirectory {
+ get { return Crow.Configuration.Global.Get<string>("CurrentDirectory");}
+ set {
+ Crow.Configuration.Global.Set ("CurrentDirectory", value);
+ }
+ }
+ public Solution CurrentSolution {
+ get { return currentSolution; }
+ set {
+ if (currentSolution == value)
+ return;
+
+ currentSolution = value;
+
+ CMDCompile.CanExecute = (currentSolution != null);
+ cmdCloseSolution.CanExecute = (currentSolution != null);
+ CMDViewSolution.CanExecute = (currentSolution != null);
+
+ lock (MainIFace) {
+ NotifyValueChanged ("CurrentSolution", currentSolution);
+ }
+ }
+ }
+ public Project CurrentProject {
+ get { return currentProject; }
+ set {
+ if (currentProject == value)
+ return;
+ currentProject = value;
+
+ CMDViewProjProps.CanExecute = (currentProject != null);
+
+ lock (MainIFace) {
+ NotifyValueChanged ("CurrentProject", currentProject);
+ }
+ }
+ }
+
+ public string LastOpenSolution {
+ get { return Crow.Configuration.Global.Get<string>("LastOpenSolution");}
+ set {
+ if (LastOpenSolution == value)
+ return;
+ Crow.Configuration.Global.Set ("LastOpenSolution", value);
+ NotifyValueChanged ("LastOpenSolution", value);
+ }
+ }
+ public bool ReopenLastSolution {
+ get { return Crow.Configuration.Global.Get<bool>("ReopenLastSolution");}
+ set {
+ if (ReopenLastSolution == value)
+ return;
+ Crow.Configuration.Global.Set ("ReopenLastSolution", value);
+ NotifyValueChanged ("ReopenLastSolution", value);
+ }
+ }
+
+ public void onFileOpen (object sender, EventArgs e)
+ {
+ FileDialog fd = sender as FileDialog;
+
+ string filePath = fd.SelectedFileFullPath;
+
+ try {
+ string ext = Path.GetExtension (filePath);
+ if (string.Equals (ext, ".sln", StringComparison.InvariantCultureIgnoreCase)) {
+ CurrentSolution = Solution.LoadSolution (filePath);
+ LastOpenSolution = filePath;
+// }else if (string.Equals (ext, ".csproj", StringComparison.InvariantCultureIgnoreCase)) {
+// currentProject = new Project (filePath);
+ }
+ } catch (Exception ex) {
+ crow.LoadIMLFragment ("<MessageBox Message='"+ ex.Message + "\n" + "' MsgType='Error'/>");
+ }
+ }
+
+ Window loadWindow(string path, object dataSource = null){
+ try {
+ Widget g = MainIFace.FindByName (path);
+ if (g != null)
+ return g as Window;
+ g = MainIFace.Load (path);
+ g.Name = path;
+ g.DataSource = dataSource;
+ return g as Window;
+ } catch (Exception ex) {
+ Console.WriteLine (ex.ToString ());
+ }
+ return null;
+ }
+ void closeWindow (string path){
+ Widget g = MainIFace.FindByName (path);
+ if (g != null)
+ MainIFace.DeleteWidget (g);
+ }
+
+ protected void onCommandSave(object sender, MouseButtonEventArgs e){
+ System.Diagnostics.Debug.WriteLine("save");
+ }
+
+ void actionOpenFile(){
+ System.Diagnostics.Debug.WriteLine ("OpenFile action");
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+//
+// DesignInterface.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Threading;
+using System.Collections.Generic;
+using System.IO;
+
+
+namespace Crow.Coding
+{
+ public class DesignInterface : Interface, IValueChange
+ {
+ #region IValueChange implementation
+ /// <summary>
+ /// Raise to notify that the value of a property has changed, the binding system
+ /// rely mainly on this event. the member name may not be present in the class, this is
+ /// used in **propertyless** bindings, this allow to raise custom named events without needing
+ /// to create an new one in the class or a new property.
+ /// </summary>
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ /// <summary>
+ /// Helper function to raise the value changed event
+ /// </summary>
+ public virtual void NotifyValueChanged(string MemberName, object _value)
+ {
+ //Debug.WriteLine ("Value changed: {0}->{1} = {2}", this, MemberName, _value);
+ ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
+ }
+ #endregion
+
+ public DesignInterface (vkvg.Device dev) : base(dev)
+ {
+ }
+
+ public ProjectFile ProjFile;
+
+
+
+ public override Widget CreateInstance (string path)
+ {
+ ProjectFile pi;
+
+ if (ProjFile.Project.solution.GetProjectFileFromPath (path, out pi))
+ return CreateITorFromIMLFragment (pi.Source).CreateInstance();
+
+ return null;
+ }
+ public override Stream GetStreamFromPath (string path)
+ {
+ ProjectFile pi;
+ if (ProjFile.Project.solution.GetProjectFileFromPath (path, out pi)) {
+ return new FileStream (pi.AbsolutePath, FileMode.Open);
+ }
+ throw new Exception ($"In Design File not found: {path}");
+ }
+
+
+ public override bool ProcessMouseMove (int x, int y)
+ {
+ int deltaX = x - Mouse.X;
+ int deltaY = y - Mouse.Y;
+ Mouse.X = x;
+ Mouse.Y = y;
+ MouseMoveEventArgs e = new MouseMoveEventArgs (x, y, deltaX, deltaY);
+ e.Mouse = Mouse;
+
+ if (ActiveWidget != null) {
+ //TODO, ensure object is still in the graphic tree
+ //send move evt even if mouse move outside bounds
+ ActiveWidget.onMouseMove (this, e);
+ if (!ActiveWidget.IsDragged)//if active is dragged, process mouse move as it was not visible.
+ return true;
+ }
+
+ if (HoverWidget != null) {
+
+ //check topmost graphicobject first
+ Widget tmp = HoverWidget;
+ Widget topc = null;
+ while (tmp is Widget) {
+ topc = tmp;
+ tmp = tmp.LogicalParent as Widget;
+ }
+ int idxhw = GraphicTree.IndexOf (topc);
+ if (idxhw != 0) {
+ int i = 0;
+ while (i < idxhw) {
+ if (GraphicTree [i].localLogicalParentIsNull) {
+ if (GraphicTree [i].MouseIsIn (e.Position)) {
+ while (HoverWidget != null) {
+ HoverWidget.onMouseLeave (HoverWidget, e);
+ HoverWidget = HoverWidget.LogicalParent as Widget;
+ }
+
+ GraphicTree [i].checkHoverWidget (e);
+ return true;
+ }
+ }
+ i++;
+ }
+ }
+
+ if (HoverWidget.MouseIsIn (e.Position)) {
+ if (!(HoverWidget is TemplatedControl))
+ HoverWidget.checkHoverWidget (e);
+ return true;
+ } else {
+ HoverWidget.onMouseLeave (HoverWidget, e);
+ //seek upward from last focused graph obj's
+ while (HoverWidget.LogicalParent as Widget != null) {
+ HoverWidget = HoverWidget.LogicalParent as Widget;
+ if (HoverWidget.MouseIsIn (e.Position)) {
+ HoverWidget.checkHoverWidget (e);
+ return true;
+ } else
+ HoverWidget.onMouseLeave (HoverWidget, e);
+ }
+ }
+ }
+
+ //top level graphic obj's parsing
+ lock (GraphicTree) {
+ for (int i = 0; i < GraphicTree.Count; i++) {
+ Widget g = GraphicTree [i];
+ if (g.MouseIsIn (e.Position)) {
+ if (!(HoverWidget is TemplatedControl))
+ g.checkHoverWidget (e);
+ if (g is Window)
+ PutOnTop (g);
+ return true;
+ }
+ }
+ }
+ HoverWidget = null;
+ return false;
+ }
+
+ protected override void processLayouting ()
+ {
+ #if MEASURE_TIME
+ layoutingMeasure.StartCycle();
+ #endif
+
+ if (Monitor.TryEnter (LayoutMutex)) {
+ DiscardQueue = new Queue<LayoutingQueueItem> ();
+ LayoutingQueueItem lqi;
+ while (LayoutingQueue.Count > 0) {
+ lqi = LayoutingQueue.Dequeue ();
+ //Console.WriteLine (lqi.ToString ());
+ #if DEBUG_LAYOUTING
+ currentLQI = lqi;
+ curLQIsTries.Add(currentLQI);
+ #endif
+ lqi.ProcessLayouting ();
+ }
+ LayoutingQueue = DiscardQueue;
+ Monitor.Exit (LayoutMutex);
+ DiscardQueue = null;
+ }
+
+ #if MEASURE_TIME
+ layoutingMeasure.StopCycle();
+ #endif
+ }
+ }
+}
+
--- /dev/null
+//
+// CodeTextBuffer.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2017 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using System.Diagnostics;
+using System.Threading;
+
+namespace Crow.Coding
+{
+ /// <summary>
+ /// Code buffer, lines are arranged in a List<string>, new line chars are removed during string.split on '\n...',
+ /// </summary>
+ public class CodeBuffer
+ {
+ public ReaderWriterLockSlim editMutex = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
+
+ //those events are handled in SourceEditor to help keeping sync between textbuffer,parser and editor.
+ //modified lines are marked for reparse
+ #region Events
+ public event EventHandler<CodeBufferEventArgs> LineUpadateEvent;
+ public event EventHandler<CodeBufferEventArgs> LineRemoveEvent;
+ public event EventHandler<CodeBufferEventArgs> LineAdditionEvent;
+ public event EventHandler<CodeBufferEventArgs> FoldingEvent;
+ public event EventHandler BufferCleared;
+ public event EventHandler SelectionChanged;
+ public event EventHandler PositionChanged;
+ #endregion
+
+ string lineBreak = Interface.LineBreak;
+ List<CodeLine> lines = new List<CodeLine>();
+ public int longestLineIdx = 0;
+ public int longestLineCharCount = 0;
+ /// <summary>
+ /// real position in char arrays, tab = 1 char
+ /// </summary>
+ int _currentLine = 0;
+ int _currentCol = 0;
+
+ public int LineCount { get { return lines.Count;}}
+ public int IndexOf (CodeLine cl) {
+ return lines.IndexOf (cl);
+ }
+
+ public CodeLine this[int i]
+ {
+ get { return i < LineCount ? lines[i] : null; }
+ set {
+ if (lines [i] == value)
+ return;
+ editMutex.EnterWriteLock ();
+ lines [i] = value;
+ editMutex.ExitWriteLock ();
+ LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
+ }
+ }
+
+ public void RemoveAt(int i){
+ editMutex.EnterWriteLock ();
+ lines.RemoveAt (i);
+ editMutex.ExitWriteLock ();
+ LineRemoveEvent.Raise (this, new CodeBufferEventArgs (i));
+ }
+ public void Insert(int i, string item){
+ editMutex.EnterWriteLock ();
+ lines.Insert (i, item);
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, new CodeBufferEventArgs (i));
+ }
+ public void Add(CodeLine item){
+ editMutex.EnterWriteLock ();
+ lines.Add (item);
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, new CodeBufferEventArgs (lines.Count - 1));
+ }
+ public void AddRange (string[] items){
+ int start = lines.Count;
+ editMutex.EnterWriteLock ();
+ for (int i = 0; i < items.Length; i++)
+ lines.Add (items [i]);
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, new CodeBufferEventArgs (start, items.Length));
+ }
+ public void AddRange (CodeLine[] items){
+ int start = lines.Count;
+ editMutex.EnterWriteLock ();
+ lines.AddRange (items);
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, new CodeBufferEventArgs (start, items.Length));
+ }
+ public void Clear () {
+ editMutex.EnterWriteLock ();
+ longestLineCharCount = 0;
+ lines.Clear ();
+ editMutex.ExitWriteLock ();
+ BufferCleared.Raise (this, null);
+ }
+ public void UpdateLine(int i, string newContent){
+ editMutex.EnterWriteLock ();
+ this [i].Content = newContent;
+ editMutex.ExitWriteLock ();
+ LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
+ }
+ public void AppenedLine(int i, string newContent){
+ editMutex.EnterWriteLock ();
+ this [i].Content += newContent;
+ editMutex.ExitWriteLock ();
+ LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
+ }
+ public void RemoveLeadingTab (int l) {
+ if (this [l] [0] == '\t') {
+ UpdateLine (l, this [l].Content.Substring (1));
+ return;
+ }
+ int i = 0;
+ while (i < Interface.TabSize) {
+ if (this [l] [i] != ' ')
+ break;
+ i++;
+ }
+ if (i > 0)
+ UpdateLine (l, this [l].Content.Substring (i));
+ }
+ public void ToogleFolding (int line) {
+ if (!this [line].IsFoldable)
+ return;
+ editMutex.EnterWriteLock ();
+ this [line].IsFolded = !this [line].IsFolded;
+ editMutex.ExitWriteLock ();
+ FoldingEvent.Raise (this, new CodeBufferEventArgs (line));
+ }
+ public void Load(string rawSource, string lineBrkRegex = @"\r\n|\r|\n|\\\n") {
+ this.Clear();
+
+ if (string.IsNullOrEmpty (rawSource))
+ return;
+
+ AddRange (Regex.Split (rawSource, lineBrkRegex));
+
+ lineBreak = detectLineBreakKind (rawSource);
+ }
+
+ /// <summary>
+ /// Finds the longest visual line as printed on screen with tabulation replaced with n spaces
+ /// </summary>
+ public void FindLongestVisualLine(){
+ longestLineCharCount = 0;
+ editMutex.EnterReadLock ();
+ for (int i = 0; i < this.LineCount; i++) {
+ if (lines[i].PrintableLength > longestLineCharCount) {
+ longestLineCharCount = lines[i].PrintableLength;
+ longestLineIdx = i;
+ }
+ }
+ editMutex.ExitReadLock ();
+ //Debug.WriteLine ("Longest line: {0}->{1}", longestLineIdx, longestLineCharCount);
+ }
+ /// <summary> line break could be '\r' or '\n' or '\r\n' </summary>
+ static string detectLineBreakKind(string buffer){
+ string strLB = "";
+
+ if (string.IsNullOrEmpty(buffer))
+ return Interface.LineBreak;
+ int i = 0;
+ while ( i < buffer.Length) {
+ if (buffer [i] == '\r') {
+ strLB += '\r';
+ i++;
+ }
+ if (i < buffer.Length) {
+ if (buffer [i] == '\r')
+ return "\r";
+ if (buffer[i] == '\n')
+ strLB += '\n';
+ }
+ if (!string.IsNullOrEmpty (strLB))
+ return strLB;
+ i++;
+ }
+ return Interface.LineBreak;
+ }
+ /// <summary>
+ /// return all lines with linebreaks
+ /// </summary>
+ public string FullText{
+ get {
+ if (lines.Count == 0)
+ return "";
+ string tmp = "";
+ editMutex.EnterReadLock ();
+ for (int i = 0; i < lines.Count -1; i++)
+ tmp += lines [i].Content + this.lineBreak;
+ tmp += lines [lines.Count - 1].Content;
+ editMutex.ExitReadLock ();
+ return tmp;
+ }
+ }
+
+ /// <summary>
+ /// unfolded and not in folds line count
+ /// </summary>
+ public int UnfoldedLines {
+ get {
+ int i = 0, vl = 0;
+ editMutex.EnterReadLock ();
+ while (i < LineCount) {
+ if (this [i].IsFolded) {
+ i = GetEndNodeIndex (i);
+ if (i < 0) {
+ Console.WriteLine ("error folding");
+ break;
+ }
+ }
+ i++;
+ vl++;
+ }
+ editMutex.ExitReadLock ();
+ //Debug.WriteLine ("unfolded lines: " + vl);
+ return vl;
+ }
+ }
+
+ /// <summary>
+ /// convert visual position to buffer position
+ /// </summary>
+ Point getBuffPos (Point visualPos) {
+ int i = 0;
+ int buffCol = 0;
+ while (i < visualPos.X) {
+ if (this [visualPos.Y] [buffCol] == '\t')
+ i += Interface.TabSize;
+ else
+ i++;
+ buffCol++;
+ }
+ return new Point (buffCol, visualPos.Y);
+ }
+
+ public int GetEndNodeIndex (int line) {
+ return IndexOf (this [line].SyntacticNode.EndLine);
+ }
+
+ int ConverteTabulatedPosOfCurLine (int column) {
+ int tmp = 0;
+ int i = 0;
+ while (i < lines [_currentLine].Content.Length){
+ if (lines [_currentLine].Content [i] == '\t')
+ tmp += 4;
+ else
+ tmp++;
+ if (tmp > column)
+ break;
+ i++;
+ }
+ return i;
+ }
+
+ public int CurrentTabulatedColumn {
+ get {
+ return lines [_currentLine].Content.Substring (0, _currentCol).
+ Replace ("\t", new String (' ', Interface.TabSize)).Length;
+ }
+ }
+ /// <summary>
+ /// Gets visual position computed from actual buffer position
+ /// </summary>
+// public Point TabulatedPosition {
+// get { return new Point (TabulatedColumn, _currentLine); }
+// }
+ /// <summary>
+ /// set buffer current position from visual position
+ /// </summary>
+// public void SetBufferPos(Point tabulatedPosition) {
+// CurrentPosition = getBuffPos(tabulatedPosition);
+// }
+
+ #region Editing and moving cursor
+ Point selStartPos = -1; //selection start (row,column)
+ Point selEndPos = -1; //selection end (row,column)
+
+ public bool SelectionInProgress { get { return selStartPos >= 0; }}
+ public void SetSelStartPos () {
+ selStartPos = selEndPos = CurrentPosition;
+ SelectionChanged.Raise (this, null);
+ }
+ public void SetSelEndPos () {
+ selEndPos = CurrentPosition;
+ SelectionChanged.Raise (this, null);
+ }
+ public void SetSelectionOnFullLines () {
+ if (!SelectionInProgress)
+ return;
+ Point s = new Point (0, SelectionStart.Y);
+ Point e = new Point (this [SelectionEnd.Y].Length, SelectionEnd.Y);
+ selStartPos = s;
+ selEndPos = e;
+ SelectionChanged.Raise (this, null);
+ }
+ /// <summary>
+ /// Set selection in buffer to -1, empty selection
+ /// </summary>
+ public void ResetSelection () {
+ selStartPos = selEndPos = -1;
+ SelectionChanged.Raise (this, null);
+ }
+
+ public string SelectedText {
+ get {
+ if (SelectionIsEmpty)
+ return "";
+ Point selStart = SelectionStart;
+ Point selEnd = SelectionEnd;
+ if (selStart.Y == selEnd.Y)
+ return this [selStart.Y].Content.Substring (selStart.X, selEnd.X - selStart.X);
+ string tmp = "";
+ tmp = this [selStart.Y].Content.Substring (selStart.X);
+ for (int l = selStart.Y + 1; l < selEnd.Y; l++) {
+ tmp += Interface.LineBreak + this [l].Content;
+ }
+ tmp += Interface.LineBreak + this [selEnd.Y].Content.Substring (0, selEnd.X);
+ return tmp;
+ }
+ }
+ /// <summary>
+ /// ordered selection start and end positions in char units
+ /// </summary>
+ public Point SelectionStart {
+ get { return selEndPos < 0 || selStartPos.Y < selEndPos.Y ? selStartPos :
+ selStartPos.Y > selEndPos.Y ? selEndPos :
+ selStartPos.X < selEndPos.X ? selStartPos : selEndPos; }
+ }
+ public Point SelectionEnd {
+ get { return selEndPos < 0 || selStartPos.Y > selEndPos.Y ? selStartPos :
+ selStartPos.Y < selEndPos.Y ? selEndPos :
+ selStartPos.X > selEndPos.X ? selStartPos : selEndPos; }
+ }
+ public bool SelectionIsEmpty
+ { get { return selEndPos == selStartPos; } }
+ int requestedColumn = -1;
+ /// <summary>
+ /// Current column in buffer coordinate, tabulation = 1 char
+ /// </summary>
+ public int CurrentColumn{
+ get { return _currentCol; }
+ set {
+ if (value == _currentCol)
+ return;
+
+ editMutex.EnterReadLock ();
+
+ if (value < 0)
+ _currentCol = 0;
+ else if (value > lines [_currentLine].Length)
+ _currentCol = lines [_currentLine].Length;
+ else
+ _currentCol = value;
+
+ requestedColumn = CurrentTabulatedColumn;
+
+ editMutex.ExitReadLock ();
+
+ PositionChanged.Raise (this, null);
+ }
+ }
+ /// <summary>
+ /// Current row in buffer coordinate, tabulation = 1 char
+ /// </summary>
+ public int CurrentLine{
+ get { return _currentLine; }
+ set {
+ if (value == _currentLine)
+ return;
+
+ editMutex.EnterReadLock ();
+
+ if (LineCount == 0)
+ _currentLine = 0;
+ else if (value >= lines.Count)
+ _currentLine = lines.Count-1;
+ else if (value < 0)
+ _currentLine = 0;
+ else
+ _currentLine = value;
+// if (_currentCol < 0)
+// requestedColumn = tabu _currentCol;
+ int tabulatedRequestedCol = ConverteTabulatedPosOfCurLine(requestedColumn);
+ if (requestedColumn > lines [_currentLine].PrintableLength)
+ _currentCol = lines [_currentLine].Length;
+ else
+ //_currentCol = requestedColumn;
+ _currentCol = tabulatedRequestedCol;
+ //Debug.WriteLine ("buff cur line: " + _currentLine);
+
+ editMutex.ExitReadLock();
+
+ PositionChanged.Raise (this, null);
+ }
+ }
+ public CodeLine CurrentCodeLine {
+ get { return this [_currentLine]; }
+ }
+ /// <summary>
+ /// Current position in buffer coordinate, tabulation = 1 char
+ /// </summary>
+ public Point CurrentPosition {
+ get { return new Point(CurrentColumn, CurrentLine); }
+// set {
+// _currentCol = value.X;
+// _currentLine = value.Y;
+// }
+ }
+ /// <summary>
+ /// get char at current position in buffer
+ /// </summary>
+ protected Char CurrentChar { get { return lines [CurrentLine] [CurrentColumn]; } }
+
+ public void GotoWordStart(){
+ if (this[CurrentLine].Length == 0)
+ return;
+ CurrentColumn--;
+ //skip white spaces
+ while (!char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn > 0)
+ CurrentColumn--;
+ while (char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn > 0)
+ CurrentColumn--;
+ if (!char.IsLetterOrDigit (this.CurrentChar))
+ CurrentColumn++;
+ }
+ public void GotoWordEnd(){
+ //skip white spaces
+ if (CurrentColumn >= this [CurrentLine].Length - 1)
+ return;
+ while (!char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn < this [CurrentLine].Length-1)
+ CurrentColumn++;
+ while (char.IsLetterOrDigit (this.CurrentChar) && CurrentColumn < this [CurrentLine].Length-1)
+ CurrentColumn++;
+ if (char.IsLetterOrDigit (this.CurrentChar))
+ CurrentColumn++;
+ }
+ public void DeleteChar()
+ {
+ editMutex.EnterWriteLock ();
+ if (SelectionIsEmpty) {
+ if (CurrentColumn == 0) {
+ if (CurrentLine == 0) {
+ editMutex.ExitWriteLock ();
+ return;
+ }
+ CurrentLine--;
+ CurrentColumn = this [CurrentLine].Length;
+ AppenedLine (CurrentLine, this [CurrentLine + 1].Content);
+ RemoveAt (CurrentLine + 1);
+ editMutex.ExitWriteLock ();
+ return;
+ }
+ CurrentColumn--;
+ UpdateLine (CurrentLine, this [CurrentLine].Content.Remove (CurrentColumn, 1));
+ } else {
+ int linesToRemove = SelectionEnd.Y - SelectionStart.Y + 1;
+ int l = SelectionStart.Y;
+
+ if (linesToRemove > 0) {
+ UpdateLine (l, this [l].Content.Remove (SelectionStart.X, this [l].Length - SelectionStart.X) +
+ this [SelectionEnd.Y].Content.Substring (SelectionEnd.X, this [SelectionEnd.Y].Length - SelectionEnd.X));
+ l++;
+ for (int c = 0; c < linesToRemove - 1; c++)
+ RemoveAt (l);
+ CurrentLine = SelectionStart.Y;
+ CurrentColumn = SelectionStart.X;
+ } else
+ UpdateLine (l, this [l].Content.Remove (SelectionStart.X, SelectionEnd.X - SelectionStart.X));
+ CurrentColumn = SelectionStart.X;
+ ResetSelection ();
+ }
+ editMutex.ExitWriteLock ();
+ }
+ /// <summary>
+ /// Insert new string at caret position, should be sure no line break is inside.
+ /// </summary>
+ /// <param name="str">String.</param>
+ public void Insert(string str)
+ {
+ if (!SelectionIsEmpty)
+ this.DeleteChar ();
+ string[] strLines = Regex.Split (str, "\r\n|\r|\n|" + @"\\n").ToArray();
+ UpdateLine (CurrentLine, this [CurrentLine].Content.Insert (CurrentColumn, strLines[0]));
+ CurrentColumn += strLines[0].Length;
+ for (int i = 1; i < strLines.Length; i++) {
+ InsertLineBreak ();
+ UpdateLine (CurrentLine, this [CurrentLine].Content.Insert (CurrentColumn, strLines[i]));
+ CurrentColumn += strLines[i].Length;
+ }
+ }
+ /// <summary>
+ /// Insert a line break.
+ /// </summary>
+ public void InsertLineBreak()
+ {
+ if (CurrentColumn > 0) {
+ Insert (CurrentLine + 1, this [CurrentLine].Content.Substring (CurrentColumn));
+ UpdateLine (CurrentLine, this [CurrentLine].Content.Substring (0, CurrentColumn));
+ } else
+ Insert(CurrentLine, "");
+
+ CurrentColumn = 0;
+ CurrentLine++;
+ }
+ #endregion
+ }
+}
+
--- /dev/null
+using System;
+
+namespace Crow.Coding
+{
+ public class CodeBufferEventArgs : EventArgs {
+ public int LineStart;
+ public int LineCount;
+
+ public CodeBufferEventArgs(int lineNumber) {
+ LineStart = lineNumber;
+ LineCount = 1;
+ }
+ public CodeBufferEventArgs(int lineStart, int lineCount) {
+ LineStart = lineStart;
+ LineCount = lineCount;
+ }
+ }
+
+}
+
--- /dev/null
+using System;
+using System.Text;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Crow.Coding
+{
+ public class CodeLine
+ {
+ public string Content;
+ public List<Token> Tokens;
+ public int EndingState = 0;
+ public Node SyntacticNode;
+ public ParserException exception;
+
+ public CodeLine (string _content){
+ Content = _content;
+ Tokens = null;
+ exception = null;
+ }
+
+ public char this[int i]
+ {
+ get { return Content[i]; }
+ set {
+ if (Content [i] == value)
+ return;
+ StringBuilder sb = new StringBuilder(Content);
+ sb[i] = value;
+ Content = sb.ToString();
+ Tokens = null;
+ //LineUpadateEvent.Raise (this, new CodeBufferEventArgs (i));
+ }
+ }
+ public bool IsFoldable { get { return SyntacticNode == null ? false :
+ SyntacticNode.EndLine != SyntacticNode.StartLine && SyntacticNode.EndLine != null; } }
+ public int FoldingLevel { get { return IsFoldable ? SyntacticNode.Level : 0; } }
+ public bool IsFolded = false;
+ public bool IsParsed {
+ get { return Tokens != null; }
+ }
+ public string PrintableContent {
+ get {
+ return string.IsNullOrEmpty (Content) ? "" : Content.Replace ("\t", new String (' ', Interface.TabSize));
+ }
+ }
+ public int PrintableLength {
+ get {
+ return PrintableContent.Length;
+ }
+ }
+ public int Length {
+ get {
+ return string.IsNullOrEmpty (Content) ? 0 : Content.Length;
+ }
+ }
+ public int FirstNonBlankTokIndex {
+ get { return Tokens == null ? -1 : Tokens.FindIndex (tk=>tk.Type != BufferParser.TokenType.WhiteSpace); }
+ }
+
+ public void SetLineInError (ParserException ex) {
+ Tokens = null;
+ exception = ex;
+ }
+
+// public static implicit operator string(CodeLine sl) {
+// return sl == null ? "" : sl.Content;
+// }
+ public static implicit operator CodeLine(string s) {
+ return new CodeLine(s);
+ }
+ public static bool operator ==(string s1, CodeLine s2)
+ {
+ return string.Equals (s1, s2.Content);
+ }
+ public static bool operator !=(string s1, CodeLine s2)
+ {
+ return !string.Equals (s1, s2.Content);
+ }
+ }
+}
+
--- /dev/null
+using System;
+using System.Collections.Generic;
+
+namespace Crow.Coding
+{
+ public class Node
+ {
+ public Node Parent;
+ public string Name;
+ public string Type;
+ public CodeLine StartLine;
+ public CodeLine EndLine;
+ public Dictionary<string,string> Attributes = new Dictionary<string, string> ();
+
+ public List<Node> Children = new List<Node>();
+
+ public Node ()
+ {
+ }
+
+ public void AddChild (Node child) {
+ child.Parent = this;
+ Children.Add (child);
+ }
+
+ public int Level {
+ get { return Parent == null ? 1 : Parent.Level + 1; }
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("Name:{0}, Type:{1}\n\tparent:{2}", Name, Type, Parent);
+ }
+ }
+}
+
--- /dev/null
+//
+// CodeTextBuffer.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2017 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.RegularExpressions;
+using System.Diagnostics;
+using System.Threading;
+using System.Text;
+
+namespace Crow.Text
+{
+ /// <summary>
+ /// Code buffer, lines are arranged in a List<string>, new line chars are removed during string.split on '\n...',
+ /// </summary>
+ public class TextBuffer
+ {
+ public ReaderWriterLockSlim editMutex = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
+ static Regex slb = new Regex ("\\n");//single char line break used internaly
+ Regex reghexLineBrk = new Regex(@"\r\n|\r|\n|\\\n");//original text line break regex
+
+ #region Events
+ public event EventHandler<TextBufferEventArgs> LineUpadateEvent;
+ public event EventHandler<TextBufferEventArgs> LineRemoveEvent;
+ public event EventHandler<TextBufferEventArgs> LineAdditionEvent;
+ public event EventHandler BufferCleared;
+ public event EventHandler SelectionChanged;
+ public event EventHandler PositionChanged;
+ #endregion
+
+ StringBuilder buffer = new StringBuilder();
+ string lineBreak = Interface.LineBreak;//detected linebreak kind in original source
+ List<int> lineLength = new List<int>();//line length table
+ /// <summary>
+ /// real position in char arrays, tab = 1 char
+ /// </summary>
+ int _currentLine = 0;
+ int _currentCol = 0;
+
+ /// <summary>
+ /// Gets the total line count.
+ /// </summary>
+ public int LineCount { get { return lineLength.Count;}}
+
+ /// <summary>
+ /// get a substring in the buffer
+ /// </summary>
+ /// <returns>a new string</returns>
+ /// <param name="idx">absolute index in the buffer</param>
+ /// <param name="length">length of the substring</param>
+ public string GetSubString (int idx, int length){
+ return buffer.ToString (idx, length);
+ }
+ /// <summary>
+ /// Gets length of a line.
+ /// </summary>
+ /// <returns>length of line</returns>
+ /// <param name="lineIdx">line nuber</param>
+ public int GetLineLength (int lineIdx) {
+ return lineLength [lineIdx];
+ }
+ /// <summary>
+ /// get a single charactere in the buffer
+ /// </summary>
+ /// <returns>a single char</returns>
+ /// <param name="idx">absolute index in the buffer</param>
+ public char GetCharAt (int idx){
+ return buffer [idx];
+ }
+ /// <summary>
+ /// return full text with original line breaks
+ /// </summary>
+ /// <value>a string containing the full text</value>
+ public string FullText {
+ get { return buffer.Replace("\n", lineBreak).ToString (); }
+ set {
+ Load (value);
+ }
+ }
+ /// <summary>
+ /// Gets the buffer pointer of a line
+ /// </summary>
+ /// <returns>absolute index of the line in the buffer</returns>
+ /// <param name="i">line number</param>
+ public int GetBufferIndexOfLine (int i) {
+ int ptr = 0;
+ editMutex.EnterReadLock ();
+ for (int j = 0; j < i; j++) {
+ ptr += lineLength [j];
+ }
+ editMutex.ExitReadLock ();
+ return ptr;
+ }
+ /// <summary>
+ /// Gets the buffer pointer for the current position
+ /// </summary>
+ /// <value>absolute index in the buffer of current position</value>
+ public int BufferIndexOfCurrentPosition {
+ get {return GetBufferIndexOfLine (_currentLine) + _currentCol;}
+ }
+ public int this[int i]
+ {
+ get {
+ int ptr = 0;
+ editMutex.EnterReadLock ();
+ for (int j = 0; j < i; j++) {
+ ptr += lineLength [j];
+ }
+ editMutex.ExitReadLock ();
+ return ptr;
+ }
+ }
+ /// <summary>
+ /// remove line number i
+ /// </summary>
+ /// <param name="i">index of the line</param>
+ public void RemoveLine(int i){
+ editMutex.EnterWriteLock ();
+ buffer.Remove (GetBufferIndexOfLine (i), lineLength [i]);
+ lineLength.RemoveAt (i);
+ editMutex.ExitWriteLock ();
+ LineRemoveEvent.Raise (this, new TextBufferEventArgs (i));
+ }
+ /// <summary>
+ /// insert string without linebreaks at position i in buff
+ /// </summary>
+ /// <param name="i">absolute index in the buffer</param>
+ /// <param name="str">linebreak free string</param>
+ public void InsertAt(int i, string str){
+ editMutex.EnterWriteLock ();
+ buffer.Insert (this [i], str);
+ lineLength.Insert (i, str.Length);
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, new TextBufferEventArgs (i));
+ }
+ public void AddLine(string str){
+ editMutex.EnterWriteLock ();
+ if (lineLength.LastOrDefault() == 0) {
+ buffer.Append (str);
+ lineLength [lineLength.Count - 1] = str.Length;
+ lineLength.Add (0);
+ }
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, new TextBufferEventArgs (lineLength.Count - 1));
+ }
+ public void AddRange (string[] items){
+ int start = lineLength.Count;
+ editMutex.EnterWriteLock ();
+ for (int i = 0; i < items.Length; i++)
+ AddLine (items [i]);
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, new TextBufferEventArgs (start, items.Length));
+ }
+ public void Clear () {
+ editMutex.EnterWriteLock ();
+ lineLength.Clear ();
+ buffer.Clear ();
+ editMutex.ExitWriteLock ();
+ BufferCleared.Raise (this, null);
+ }
+ public void UpdateLine(int i, string newContent){
+ editMutex.EnterWriteLock ();
+ int ptrL = this [i];
+ buffer.Remove (ptrL, lineLength [i]);
+ buffer.Insert (ptrL, newContent);
+ lineLength [i] = newContent.Length;
+ editMutex.ExitWriteLock ();
+ LineUpadateEvent.Raise (this, new TextBufferEventArgs (i));
+ }
+ public void AppenedLine(int i, string newContent){
+ editMutex.EnterWriteLock ();
+ int ptr = this [i] + lineLength [i];
+ if (i < LineCount - 1)
+ ptr--;
+ buffer.Insert(ptr, newContent);
+ lineLength [i] += newContent.Length;
+ editMutex.ExitWriteLock ();
+ LineUpadateEvent.Raise (this, new TextBufferEventArgs (i));
+ }
+ /// <summary>
+ /// Insert new string at caret position, should be sure no line break is inside.
+ /// </summary>
+ /// <param name="str">String.</param>
+ public void InsertAt(string str)
+ {
+ if (!SelectionIsEmpty)
+ this.Delete ();
+
+ editMutex.EnterWriteLock ();
+
+ string tmp = reghexLineBrk.Replace (str, "\n");//use single char line break in buffer
+ int buffPtr = this [CurrentLine] + CurrentColumn;
+ buffer.Insert (buffPtr, tmp);
+
+ int lPtr = CurrentLine, strPtr = 0;
+ int remainingLength = lineLength [lPtr] - CurrentColumn;
+ lineLength [lPtr] = CurrentColumn;
+ foreach (Match match in slb.Matches(tmp))
+ {
+ lineLength [lPtr] += match.Index + 1 - strPtr;
+ lPtr++;
+ lineLength.Insert (lPtr, 0);
+ strPtr = match.Index + 1;
+ //CurrentLine++;
+ }
+ remainingLength += tmp.Length - strPtr;
+ lineLength [lPtr] += remainingLength;
+
+ CurrentLine = lPtr;
+ if (strPtr == 0)
+ CurrentColumn += tmp.Length;
+ else
+ CurrentColumn = tmp.Length - strPtr;
+
+ editMutex.ExitWriteLock ();
+ if (strPtr>0)
+ LineAdditionEvent.Raise (this, null);
+ else
+ LineUpadateEvent.Raise (this, null);
+ }
+ /// <summary>
+ /// Insert a line break.
+ /// </summary>
+ public void InsertLineBreak()
+ {
+ editMutex.EnterWriteLock ();
+ buffer.Insert (this [CurrentLine] + CurrentColumn, '\n');
+ int lgdiff = lineLength [CurrentLine] - CurrentColumn;
+ lineLength.Insert (CurrentLine + 1, lineLength [CurrentLine] - CurrentColumn);
+ lineLength [CurrentLine] = CurrentColumn + 1;
+ editMutex.ExitWriteLock ();
+ LineAdditionEvent.Raise (this, null);
+ CurrentColumn = 0;
+ CurrentLine++;
+ }
+ public void Delete()
+ {
+ editMutex.EnterWriteLock ();
+ if (SelectionIsEmpty) {
+ if (CurrentColumn == 0) {
+ if (CurrentLine == 0) {
+ editMutex.ExitWriteLock ();
+ return;
+ }
+
+ buffer.Remove (this [CurrentLine] - 1, 1);
+
+ int col = lineLength [CurrentLine - 1] - 1;
+ lineLength [CurrentLine - 1] += lineLength [CurrentLine] - 1;
+ lineLength.RemoveAt (CurrentLine);
+
+ CurrentLine--;
+ CurrentColumn = col;
+
+ editMutex.ExitWriteLock ();
+ LineRemoveEvent.Raise (this, null);
+ return;
+ }
+ CurrentColumn--;
+ buffer.Remove (this [CurrentLine] + CurrentColumn, 1);
+ lineLength [CurrentLine]--;
+ } else {
+ int linesToRemove = SelectionEnd.Y - SelectionStart.Y;
+ int ptr = this [SelectionStart.Y] + SelectionStart.X;
+ int length = lineLength [SelectionStart.Y] - SelectionStart.X;
+ int l = 1;
+ while (l <= linesToRemove ) {
+ length += lineLength [SelectionStart.Y + l];
+ l++;
+ }
+ length -= lineLength [SelectionEnd.Y] - SelectionEnd.X;
+ buffer.Remove (ptr, length);
+ lineLength [SelectionStart.Y] = SelectionStart.X + lineLength [SelectionEnd.Y] - SelectionEnd.X;
+ lineLength.RemoveRange (SelectionStart.Y + 1, linesToRemove);
+
+ CurrentLine = SelectionStart.Y;
+ CurrentColumn = SelectionStart.X;
+ ResetSelection ();
+
+ if (linesToRemove > 0)
+ LineRemoveEvent.Raise (this, null);
+ else
+ LineUpadateEvent.Raise (this, null);
+ }
+ editMutex.ExitWriteLock ();
+ }
+ public void Load(string rawSource) {
+ this.Clear();
+
+ if (string.IsNullOrEmpty (rawSource))
+ return;
+
+ lineBreak = reghexLineBrk.Match (rawSource).Value;//store original line break
+ string tmp = reghexLineBrk.Replace (rawSource, "\n");//use single char line break in buffer
+ int ptr = 0;
+ foreach (Match match in slb.Matches(tmp))
+ {
+ int l = match.Index + 1;
+ int lg = l - ptr;
+ lineLength.Add (lg);
+ ptr = l;
+ }
+ lineLength.Add (0);
+
+ buffer = new StringBuilder (tmp);
+ }
+
+// public int CurrentTabulatedColumn {
+// get {
+//// return lines [_currentLine].Content.Substring (0, _currentCol).
+//// Replace ("\t", new String (' ', Interface.TabSize)).Length;
+// }
+// }
+
+ #region moving cursor an selection
+ Point selStartPos = -1; //selection start (row,column)
+ Point selEndPos = -1; //selection end (row,column)
+
+ public bool SelectionInProgress { get { return selStartPos >= 0; }}
+ public void SetSelStartPos () {
+ selStartPos = selEndPos = CurrentPosition;
+ SelectionChanged.Raise (this, null);
+ }
+ public void SetSelEndPos () {
+ selEndPos = CurrentPosition;
+ SelectionChanged.Raise (this, null);
+ }
+ /// <summary>
+ /// Set selection in buffer to -1, empty selection
+ /// </summary>
+ public void ResetSelection () {
+ selStartPos = selEndPos = -1;
+ SelectionChanged.Raise (this, null);
+ }
+ /// <summary>
+ /// ordered selection start and end positions in char units
+ /// </summary>
+ public Point SelectionStart {
+ get { return selEndPos < 0 || selStartPos.Y < selEndPos.Y ? selStartPos :
+ selStartPos.Y > selEndPos.Y ? selEndPos :
+ selStartPos.X < selEndPos.X ? selStartPos : selEndPos; }
+ }
+ public Point SelectionEnd {
+ get { return selEndPos < 0 || selStartPos.Y > selEndPos.Y ? selStartPos :
+ selStartPos.Y < selEndPos.Y ? selEndPos :
+ selStartPos.X > selEndPos.X ? selStartPos : selEndPos; }
+ }
+ public bool SelectionIsEmpty
+ { get { return selEndPos == selStartPos; } }
+ /// <summary>
+ /// Current column in buffer coordinate, tabulation = 1 char
+ /// </summary>
+ public int CurrentColumn{
+ get { return _currentCol; }
+ set {
+ if (value == _currentCol)
+ return;
+
+ editMutex.EnterWriteLock ();
+
+ if (value < 0)
+ _currentCol = 0;
+ else if (value >= lineLength [_currentLine]) {
+ if (_currentLine < LineCount -1 && value > lineLength [_currentLine] - 1)
+ _currentCol = lineLength [_currentLine] - 1;
+ else
+ _currentCol = lineLength [_currentLine];
+ }else
+ _currentCol = value;
+
+ editMutex.ExitWriteLock ();
+
+ PositionChanged.Raise (this, null);
+ }
+ }
+ /// <summary>
+ /// Current row in buffer coordinate, tabulation = 1 char
+ /// </summary>
+ public int CurrentLine{
+ get { return _currentLine; }
+ set {
+ if (value == _currentLine)
+ return;
+
+ editMutex.EnterWriteLock ();
+
+ if (value >= lineLength.Count)
+ _currentLine = lineLength.Count-1;
+ else if (value < 0)
+ _currentLine = 0;
+ else
+ _currentLine = value;
+
+ int c = _currentCol;
+ _currentCol = 0;
+ CurrentColumn = c;
+
+ editMutex.ExitWriteLock();
+
+ PositionChanged.Raise (this, null);
+ }
+ }
+ /// <summary>
+ /// Current position in buffer coordinate, tabulation = 1 char
+ /// </summary>
+ public Point CurrentPosition {
+ get { return new Point(CurrentColumn, CurrentLine); }
+ }
+ /// <summary>
+ /// get char at current position in buffer
+ /// </summary>
+ protected Char CurrentChar { get { return buffer[this [CurrentLine]]; } }
+ public string SelectedText {
+ get {
+ if (SelectionIsEmpty)
+ return "";
+ Point selStart = SelectionStart;
+ Point selEnd = SelectionEnd;
+
+ int ptr = this [selStart.Y] + selStart.X;
+ int length = lineLength[selStart.Y] - selStart.X;
+ for (int i = selStart.Y+1; i <= selEnd.Y; i++)
+ length += lineLength [i];
+ length -= lineLength[selEnd.Y] - selEnd.X;
+
+ return buffer.ToString (ptr, length);
+ }
+ }
+
+ public void GotoWordStart(){
+ if (_currentCol == 0)
+ MoveLeft ();
+ if (_currentCol == 0)
+ return;
+ int ptrStart = BufferIndexOfCurrentPosition;
+ int ptr = ptrStart;
+ char c;
+ //skip white spaces
+ do {
+ ptr--;
+ c = this.GetCharAt (ptr);
+ } while (!char.IsLetterOrDigit (c) && c != '\n' && ptr > 1);
+
+ do {
+ ptr--;
+ c = this.GetCharAt (ptr);
+ } while (char.IsLetterOrDigit (c) && c != '\n' && ptr > 1);
+
+ if (ptr == 0)
+ CurrentColumn = 0;
+ else
+ CurrentColumn -= ptrStart - ptr - 1;
+ }
+ public void GotoWordEnd(){
+ int limx = GetLineLength (_currentLine);
+ if (_currentLine < lineLength.Count - 1)
+ limx--;
+
+ if (_currentCol == limx) {
+ MoveRight ();
+ limx = GetLineLength (_currentLine);
+ if (_currentLine < lineLength.Count - 1)
+ limx--;
+ }
+
+ int ptrLine = GetBufferIndexOfLine(_currentLine);
+ int ptrCol = _currentCol;
+
+ char c;
+ //skip white spaces
+ do {
+ c = GetCharAt (ptrLine+ptrCol);
+ ptrCol++;
+ } while (!char.IsLetterOrDigit (c) && ptrCol < limx);
+
+ do {
+ c = GetCharAt (ptrLine + ptrCol);
+ ptrCol++;
+ } while (char.IsLetterOrDigit (c) && ptrCol < limx);
+ CurrentColumn = ptrCol - 1;
+ }
+ /// <summary>
+ /// Moves cursor one char to the left, move up if cursor reaches start of line
+ /// </summary>
+ public void MoveLeft(){
+ if (CurrentColumn == 0) {
+ CurrentLine--;
+ CurrentColumn = int.MaxValue;
+ } else
+ CurrentColumn--;
+ }
+ /// <summary>
+ /// Moves cursor one char to the right, move down if cursor reaches end of line
+ /// </summary>
+ public void MoveRight(){
+ if (_currentLine < LineCount -1){
+ if (CurrentColumn >= lineLength [CurrentLine] - 1) {
+ CurrentColumn = 0;
+ CurrentLine++;
+ return;
+ }
+ }
+ CurrentColumn++;
+ }
+
+ #endregion
+ }
+}
+
--- /dev/null
+using System;
+
+namespace Crow.Text
+{
+ public class TextBufferEventArgs : EventArgs {
+ public int LineStart;
+ public int LineCount;
+
+ public TextBufferEventArgs(int lineNumber) {
+ LineStart = lineNumber;
+ LineCount = 1;
+ }
+ public TextBufferEventArgs(int lineStart, int lineCount) {
+ LineStart = lineStart;
+ LineCount = lineCount;
+ }
+ }
+
+}
+
--- /dev/null
+//
+// ScrollingTextBox.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.ComponentModel;
+using vkvg;
+
+namespace Crow.Text
+{
+ /// <summary>
+ /// Scrolling text box optimized for monospace fonts, for coding
+ /// </summary>
+ public class TextEditor : Crow.Coding.Editor
+ {
+ #region CTOR
+ public TextEditor (): base()
+ {
+ buffer = new TextBuffer ();
+ buffer.LineUpadateEvent += Buffer_LineUpadateEvent;
+ buffer.LineAdditionEvent += Buffer_LineAdditionEvent;;
+ buffer.LineRemoveEvent += Buffer_LineRemoveEvent;
+ buffer.BufferCleared += Buffer_BufferCleared;
+ buffer.SelectionChanged += Buffer_SelectionChanged;
+ buffer.PositionChanged += Buffer_PositionChanged;
+ //buffer.Add ("");
+ }
+ #endregion
+
+ string oldSource = "";
+ volatile bool isDirty = false;
+
+ #region private and protected fields
+ int visibleLines = 1;
+ int visibleColumns = 1;
+
+ TextBuffer buffer;
+
+ Color selBackground;
+ Color selForeground;
+ int selStartCol;
+ int selEndCol;
+
+ protected Rectangle rText;
+ protected FontExtents fe;
+ protected TextExtents te;
+
+ Point mouseLocalPos;
+ bool doubleClicked = false;
+ #endregion
+
+ /// <summary>
+ /// Updates visible line in widget, adapt max scroll y and updatePrintedLines
+ /// </summary>
+ void updateVisibleLines(){
+ visibleLines = (int)Math.Floor ((double)ClientRectangle.Height / (fe.Ascent+fe.Descent));
+ NotifyValueChanged ("VisibleLines", visibleLines);
+ updateMaxScrollY ();
+ RegisterForGraphicUpdate ();
+// System.Diagnostics.Debug.WriteLine ("update visible lines: " + visibleLines);
+// System.Diagnostics.Debug.WriteLine ("update MaxScrollY: " + MaxScrollY);
+ }
+ void updateVisibleColumns(){
+ visibleColumns = (int)Math.Floor ((double)(ClientRectangle.Width)/ fe.MaxXAdvance);
+ NotifyValueChanged ("VisibleColumns", visibleColumns);
+ RegisterForGraphicUpdate ();
+// System.Diagnostics.Debug.WriteLine ("update visible columns: {0} leftMargin:{1}",visibleColumns, leftMargin);
+// System.Diagnostics.Debug.WriteLine ("update MaxScrollX: " + MaxScrollX);
+ }
+ void updateMaxScrollX (int longestTabulatedLineLength) {
+ MaxScrollX = Math.Max (0, longestTabulatedLineLength - visibleColumns);
+ if (longestTabulatedLineLength > 0)
+ NotifyValueChanged ("ChildWidthRatio", Slot.Width * visibleColumns / longestTabulatedLineLength);
+ }
+ void updateMaxScrollY () {
+ int lc = buffer.LineCount;
+ MaxScrollY = Math.Max (0, lc - visibleLines);
+ if (lc > 0)
+ NotifyValueChanged ("ChildHeightRatio", Slot.Height * visibleLines / lc);
+
+ }
+
+
+
+ #region Editor overrides
+ protected override void updateEditorFromProjFile ()
+ {
+ buffer.editMutex.EnterWriteLock ();
+ loadSource ();
+ buffer.editMutex.ExitWriteLock ();
+
+ isDirty = false;
+ oldSource = projFile.Source;
+ projFile.RegisteredEditors [this] = true;
+ }
+ protected override void updateProjFileFromEditor ()
+ {
+ buffer.editMutex.EnterWriteLock ();
+ string newsrc = buffer.FullText;
+ buffer.editMutex.ExitWriteLock ();
+ projFile.UpdateSource (this, newsrc);
+ }
+ protected override bool EditorIsDirty {
+ get { return isDirty; }
+ set { isDirty = value; }
+ }
+ protected override bool IsReady {
+ get { return projFile != null && buffer != null; }
+ }
+ #endregion
+
+ #region Buffer events handlers
+ void Buffer_BufferCleared (object sender, EventArgs e)
+ {
+ editorMutex.EnterWriteLock ();
+
+ MaxScrollX = MaxScrollY = 0;
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ isDirty = true;
+
+ editorMutex.ExitWriteLock ();
+ }
+ void Buffer_LineAdditionEvent (object sender, TextBufferEventArgs e)
+ {
+ updateMaxScrollY ();
+ RegisterForGraphicUpdate ();
+ isDirty = true;
+ }
+ void Buffer_LineRemoveEvent (object sender, TextBufferEventArgs e)
+ {
+ updateMaxScrollY ();
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ isDirty = true;
+ }
+ void Buffer_LineUpadateEvent (object sender, TextBufferEventArgs e)
+ {
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ isDirty = true;
+ }
+ void Buffer_PositionChanged (object sender, EventArgs e)
+ {
+ int cc = getTabulatedColumn (buffer.CurrentPosition);
+
+ if (cc > visibleColumns + ScrollX) {
+ ScrollX = cc - visibleColumns;
+ } else if (cc < ScrollX)
+ ScrollX = cc;
+
+ if (buffer.CurrentLine >= visibleLines + ScrollY - 1)
+ ScrollY = buffer.CurrentLine - visibleLines + 1;
+ else if (buffer.CurrentLine < ScrollY)
+ ScrollY = buffer.CurrentLine;
+
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ }
+
+ void Buffer_SelectionChanged (object sender, EventArgs e)
+ {
+ RegisterForGraphicUpdate ();
+ }
+ #endregion
+
+ void notifyPositionChanged (){
+ try {
+ NotifyValueChanged ("CurrentLine", buffer.CurrentLine+1);
+ NotifyValueChanged ("CurrentColumn", buffer.CurrentColumn+1);
+ } catch (Exception ex) {
+ Console.WriteLine (ex.ToString ());
+ }
+ }
+
+ #region Public Crow Properties
+ public int CurrentLine{
+ get { return buffer == null ? 0 : buffer.CurrentLine+1; }
+ set {
+ try {
+ int l = value - 1;
+ if (l == buffer.CurrentLine)
+ return;
+ buffer.CurrentLine = l;
+ } catch (Exception ex) {
+ Console.WriteLine ("Error cur column: " + ex.ToString ());
+ }
+ }
+ }
+ public int CurrentColumn{
+ get { return buffer == null ? 0 : buffer.CurrentColumn+1; }
+ set {
+ try {
+ if (value - 1 == buffer.CurrentColumn)
+ return;
+ buffer.CurrentColumn = value - 1;
+ } catch (Exception ex) {
+ Console.WriteLine ("Error cur column: " + ex.ToString ());
+ }
+ }
+ }
+ [DefaultValue("Blue")]
+ public virtual Color SelectionBackground {
+ get { return selBackground; }
+ set {
+ if (value == selBackground)
+ return;
+ selBackground = value;
+ NotifyValueChanged ("SelectionBackground", selBackground);
+ RegisterForRedraw ();
+ }
+ }
+ [DefaultValue("White")]
+ public virtual Color SelectionForeground {
+ get { return selForeground; }
+ set {
+ if (value == selForeground)
+ return;
+ selForeground = value;
+ NotifyValueChanged ("SelectionForeground", selForeground);
+ RegisterForRedraw ();
+ }
+ }
+ public override int ScrollY {
+ get {
+ return base.ScrollY;
+ }
+ set {
+ if (value == base.ScrollY)
+ return;
+ editorMutex.EnterWriteLock ();
+ base.ScrollY = value;
+ editorMutex.ExitWriteLock ();
+ RegisterForGraphicUpdate ();
+ }
+ }
+ #endregion
+
+
+ void loadSource () {
+ buffer.Load (projFile.Source);
+ projFile.RegisteredEditors [this] = true;
+ updateMaxScrollY ();
+ RegisterForGraphicUpdate ();
+ }
+
+ int getTabulatedColumn (int col, int line) {
+ return buffer.GetSubString (buffer [line],
+ buffer.GetLineLength (line)).Substring(0,col).Replace ("\t", new String (' ', Interface.TabSize)).Length;
+ }
+ int getTabulatedColumn (Point pos) {
+ return getTabulatedColumn (pos.X,pos.Y);
+ }
+
+ #region Drawing
+ void drawLines(Context gr, Rectangle cb) {
+ int longestTabulatedLine = 0;
+ for (int i = 0; i < visibleLines; i++) {
+ int lineIndex = i + ScrollY;
+ if (lineIndex >= buffer.LineCount)//TODO:need optimize
+ break;
+
+ double y = cb.Y + (fe.Ascent+fe.Descent) * i, x = cb.X;
+
+ int lineLength = buffer.GetLineLength (lineIndex);
+ if (lineIndex < buffer.LineCount - 1)//dont print line break
+ lineLength--;
+ string lstr = buffer.GetSubString (buffer [lineIndex],
+ lineLength).Replace ("\t", new String (' ', Interface.TabSize));
+
+ int lstrLength = lstr.Length;
+ if (lstrLength > longestTabulatedLine)
+ longestTabulatedLine = lstrLength;
+
+ if (ScrollX < lstrLength)
+ lstr = lstr.Substring (ScrollX);
+ else
+ lstr = "";
+
+ gr.MoveTo (x, y + fe.Ascent);
+ gr.ShowText (lstr);
+ gr.Fill ();
+
+ if (!buffer.SelectionIsEmpty && lineIndex >= buffer.SelectionStart.Y && lineIndex <= buffer.SelectionEnd.Y) {
+ double rLineX = x,
+ rLineY = y,
+ rLineW = lstr.Length * fe.MaxXAdvance;
+
+ if (lineIndex == buffer.SelectionStart.Y) {
+ rLineX += (selStartCol - ScrollX) * fe.MaxXAdvance;
+ rLineW -= (selStartCol - ScrollX) * fe.MaxXAdvance;
+ }
+ if (lineIndex == buffer.SelectionEnd.Y)
+ rLineW -= (lstr.Length - selEndCol + ScrollX) * fe.MaxXAdvance;
+
+ gr.Save ();
+ gr.Operator = Operator.Source;
+ gr.Rectangle (rLineX, rLineY, rLineW, (fe.Ascent+fe.Descent));
+ gr.SetSourceColor (SelectionBackground);
+ gr.FillPreserve ();
+ gr.Clip ();
+ gr.Operator = Operator.Over;
+ gr.SetSourceColor (SelectionForeground);
+ gr.MoveTo (x, y + fe.Ascent);
+ gr.ShowText (lstr);
+ gr.Fill ();
+ gr.Restore ();
+ }
+
+
+ }
+
+ updateMaxScrollX(longestTabulatedLine);
+ }
+ #endregion
+
+ #region GraphicObject overrides
+ public override Font Font {
+ get { return base.Font; }
+ set {
+ base.Font = value;
+
+ using (Surface img = new Surface (IFace.dev, 1, 1)) {
+ using (Context gr = new Context (img)) {
+ gr.FontFace = Font.Name;
+ gr.FontSize = (uint)Font.Size;
+
+ fe = gr.FontExtents;
+ }
+ }
+ MaxScrollY = 0;
+ RegisterForGraphicUpdate ();
+ }
+ }
+ protected override int measureRawSize(LayoutingType lt)
+ {
+ if (lt == LayoutingType.Height)
+ return (int)Math.Ceiling((fe.Ascent+fe.Descent) * buffer.LineCount) + Margin * 2;
+
+ return 0;// (int)(fe.MaxXAdvance * buffer.GetLineLength(buffer.longestLineIdx)) + Margin * 2;
+ }
+ public override void OnLayoutChanges (LayoutingType layoutType)
+ {
+ base.OnLayoutChanges (layoutType);
+
+ if (layoutType == LayoutingType.Height)
+ updateVisibleLines ();
+ else if (layoutType == LayoutingType.Width)
+ updateVisibleColumns ();
+ }
+
+ protected override void onDraw (Context gr)
+ {
+ base.onDraw (gr);
+
+ gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
+ gr.SetFontSize (Font.Size);
+ gr.FontOptions = Interface.FontRenderingOptions;
+ gr.Antialias = Interface.Antialias;
+
+ Rectangle cb = ClientRectangle;
+
+ Foreground.SetAsSource (gr);
+
+ buffer.editMutex.EnterReadLock ();
+ editorMutex.EnterReadLock ();
+
+ #region draw text cursor
+ if (buffer.SelectionInProgress){
+ selStartCol = getTabulatedColumn (buffer.SelectionStart);
+ selEndCol = getTabulatedColumn (buffer.SelectionEnd);
+ }else if (HasFocus && CurrentLine >= 0){
+ gr.LineWidth = 1.0;
+ double cursorX = cb.X + (getTabulatedColumn(buffer.CurrentPosition) - ScrollX) * fe.MaxXAdvance ;
+ double cursorY = cb.Y + (buffer.CurrentLine - ScrollY) * (fe.Ascent+fe.Descent);
+ gr.MoveTo (0.5 + cursorX, cursorY);
+ gr.LineTo (0.5 + cursorX, cursorY + fe.Ascent+fe.Descent);
+ gr.Stroke();
+ }
+ #endregion
+
+ drawLines (gr, cb);
+
+ editorMutex.ExitReadLock ();
+
+ buffer.editMutex.ExitReadLock ();
+
+ }
+ #endregion
+
+ int getBufferColFromVisualCol (int line, int column) {
+ int i = 0;
+ int buffCol = 0;
+ int buffPtr = buffer [line];
+ while (i < column && buffCol < buffer.GetLineLength(line)) {
+ if (buffer.GetCharAt(buffPtr + buffCol) == '\t')
+ i += Interface.TabSize;
+ else
+ i++;
+ buffCol++;
+ }
+ return buffCol;
+ }
+
+
+ #region Mouse handling
+
+ int hoverLine = -1;
+ public int HoverLine {
+ get { return hoverLine; }
+ set {
+ if (hoverLine == value)
+ return;
+ hoverLine = value;
+ NotifyValueChanged ("HoverLine", hoverLine);
+ }
+ }
+ void updateHoverLine () {
+// int hvl = (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)));
+// hvl = Math.Min (PrintedLines.Count, hvl);
+// HoverLine = buffer.IndexOf (PrintedLines[hvl]);
+ }
+ void updateCurrentPosFromMouseLocalPos(){
+
+ buffer.CurrentLine = ScrollY + (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)));
+ int curVisualCol = ScrollX + (int)Math.Round ((mouseLocalPos.X) / fe.MaxXAdvance);
+ buffer.CurrentColumn = getBufferColFromVisualCol (buffer.CurrentLine, curVisualCol);
+ }
+
+ public override void onMouseEnter (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseEnter (sender, e);
+ IFace.MouseCursor = MouseCursors.Text;
+ }
+ public override void onMouseLeave (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseLeave (sender, e);
+ IFace.MouseCursor = MouseCursors.Default;
+ }
+ public override void onMouseMove (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseMove (sender, e);
+
+ mouseLocalPos = e.Position - ScreenCoordinates(Slot).TopLeft - ClientRectangle.TopLeft;
+
+ updateHoverLine ();
+
+ if (e.Mouse.LeftButton == ButtonState.Released || !buffer.SelectionInProgress)
+ return;
+
+ //mouse is down
+ updateCurrentPosFromMouseLocalPos();
+ buffer.SetSelEndPos ();
+ }
+ public override void onMouseDown (object sender, MouseButtonEventArgs e)
+ {
+ if (!Focusable)
+ return;
+
+ base.onMouseDown (sender, e);
+
+ if (doubleClicked) {
+ doubleClicked = false;
+ return;
+ }
+
+ updateCurrentPosFromMouseLocalPos ();
+ buffer.SetSelStartPos ();
+ }
+ public override void onMouseUp (object sender, MouseButtonEventArgs e)
+ {
+ base.onMouseUp (sender, e);
+
+ if (buffer.SelectionIsEmpty)
+ buffer.ResetSelection ();
+ }
+
+ public override void onMouseDoubleClick (object sender, MouseButtonEventArgs e)
+ {
+ //doubleClicked = true;
+ base.onMouseDoubleClick (sender, e);
+
+ buffer.GotoWordStart ();
+ buffer.SetSelStartPos ();
+ buffer.GotoWordEnd ();
+ buffer.SetSelEndPos ();
+ }
+
+ public override void onMouseWheel (object sender, MouseWheelEventArgs e)
+ {
+ base.onMouseWheel (sender, e);
+ }
+ #endregion
+
+ #region Keyboard handling
+ public override void onKeyDown (object sender, KeyEventArgs e)
+ {
+ //base.onKeyDown (sender, e);
+
+ Key key = e.Key;
+
+ if (IFace.Ctrl) {
+ switch (key) {
+ case Key.S:
+ projFile.Save ();
+ break;
+ case Key.W:
+ editorMutex.EnterWriteLock ();
+ if (IFace.Shift)
+ projFile.Redo (null);
+ else
+ projFile.Undo (null);
+ editorMutex.ExitWriteLock ();
+ break;
+ default:
+ Console.WriteLine ("");
+ break;
+ }
+ }
+
+ switch (key)
+ {
+ case Key.BackSpace:
+ buffer.Delete ();
+ break;
+ case Key.Clear:
+ break;
+ case Key.Delete:
+ if (buffer.SelectionIsEmpty)
+ buffer.MoveRight ();
+// else if (e.Shift)
+// IFace.Clipboard = buffer.SelectedText;
+ buffer.Delete ();
+ break;
+ case Key.ISO_Enter:
+ case Key.KP_Enter:
+ if (!buffer.SelectionIsEmpty)
+ buffer.Delete ();
+ buffer.InsertLineBreak ();
+ break;
+ case Key.Escape:
+ buffer.ResetSelection ();
+ break;
+ case Key.Home:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = 0;
+ buffer.CurrentColumn = 0;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = 0;
+ buffer.CurrentColumn = 0;
+ break;
+ case Key.End:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = int.MaxValue;
+ buffer.CurrentColumn = int.MaxValue;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = int.MaxValue;
+ buffer.CurrentColumn = int.MaxValue;
+ break;
+ case Key.Insert:
+ if (IFace.Shift)
+ buffer.InsertAt (IFace.Clipboard);
+ else if (IFace.Ctrl && !buffer.SelectionIsEmpty)
+ IFace.Clipboard = buffer.SelectedText;
+ break;
+ case Key.Left:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.GotoWordStart ();
+ else
+ buffer.MoveLeft ();
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.GotoWordStart ();
+ else
+ buffer.MoveLeft();
+ break;
+ case Key.Right:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.GotoWordEnd ();
+ else
+ buffer.MoveRight ();
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.GotoWordEnd ();
+ else
+ buffer.MoveRight ();
+ break;
+ case Key.Up:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ CurrentLine--;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ CurrentLine--;
+ break;
+ case Key.Down:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ CurrentLine++;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ CurrentLine++;
+ break;
+ case Key.Menu:
+ break;
+ case Key.Num_Lock:
+ break;
+ case Key.Page_Down:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ CurrentLine += visibleLines;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ CurrentLine += visibleLines;
+ break;
+ case Key.Page_Up:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ CurrentLine -= visibleLines;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ CurrentLine -= visibleLines;
+ break;
+ case Key.Tab:
+ buffer.InsertAt ("\t");
+ break;
+ default:
+ break;
+ }
+ RegisterForGraphicUpdate();
+ }
+ public override void onKeyPress (object sender, KeyPressEventArgs e)
+ {
+ base.onKeyPress (sender, e);
+
+ buffer.InsertAt (e.KeyChar.ToString());
+ buffer.ResetSelection ();
+ }
+ #endregion
+ }
+}
\ No newline at end of file
--- /dev/null
+using System;
+
+namespace Crow.Coding
+{
+ public struct TextFormatting {
+ public Color Foreground;
+ public Color Background;
+ public bool Bold;
+ public bool Italic;
+
+ public TextFormatting(Color fg, Color bg, bool bold = false, bool italic = false){
+ Foreground = fg;
+ Background = bg;
+ Bold = bold;
+ Italic = italic;
+ }
+ }
+}
+
--- /dev/null
+//
+// Token.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2017 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using System;
+
+namespace Crow.Coding
+{
+ public struct Token
+ {
+ public BufferParser.TokenType Type;
+ public string Content;
+ public Point Start;
+ public Point End;
+
+ public string PrintableContent {
+ get { return string.IsNullOrEmpty(Content) ? "" : Content.Replace("\t", new String(' ', Interface.TabSize)); }
+ }
+
+// public Token (TokenType tokType, string content = ""){
+// Type = tokType;
+// Content = content;
+// }
+
+ public bool IsNull { get { return IsEmpty && Type == BufferParser.TokenType.Unknown; }}
+ public bool IsEmpty { get { return string.IsNullOrEmpty(Content); }}
+
+ public static bool operator == (Token t, System.Enum tt){
+ return Convert.ToInt32(t.Type) == Convert.ToInt32(tt);
+ }
+ public static bool operator != (Token t, System.Enum tt){
+ return Convert.ToInt32(t.Type) != Convert.ToInt32(tt);
+ }
+ public static bool operator == (System.Enum tt, Token t){
+ return Convert.ToInt32(t.Type) == Convert.ToInt32(tt);
+ }
+ public static bool operator != (System.Enum tt, Token t){
+ return Convert.ToInt32(t.Type) != Convert.ToInt32(tt);
+ }
+
+ public static Token operator +(Token t, char c){
+ t.Content += c;
+ return t;
+ }
+ public static Token operator +(Token t, string s){
+ t.Content += s;
+ return t;
+ }
+ public override string ToString ()
+ {
+ return string.Format ("[Tok{2}->{3}:{0}: {1}]", Type,Content,Start,End);
+ }
+ }
+}
+
--- /dev/null
+//
+// EditPane.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using Crow;
+using System.Linq;
+
+namespace Crow.Coding
+{
+ public class EditPane : TemplatedGroup
+ {
+ public EditPane () {}
+
+ object selectedItemElement = null;
+
+ public override int SelectedIndex {
+ get {
+ return base.SelectedIndex;
+ }
+ set {
+ base.SelectedIndex = value;
+ }
+ }
+ public object SelectedItemElement {
+ get { return selectedItemElement; }
+ set {
+ if (selectedItemElement == value)
+ return;
+ selectedItemElement = value;
+ NotifyValueChanged ("SelectedItemElement", selectedItemElement);
+ }
+ }
+ }
+}
+
--- /dev/null
+//
+// Editor.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Threading;
+using System.Xml.Serialization;
+
+namespace Crow.Coding
+{
+ public abstract class Editor : ScrollingObject
+ {
+ #region CTOR
+ protected Editor ():base(){
+ Thread t = new Thread (backgroundThreadFunc);
+ t.IsBackground = true;
+ t.Start ();
+ }
+ #endregion
+
+ protected ReaderWriterLockSlim editorMutex = new ReaderWriterLockSlim(LockRecursionPolicy.SupportsRecursion);
+ protected ProjectFile projFile = null;
+ Exception error = null;
+
+ public virtual ProjectFile ProjectNode
+ {
+ get { return projFile; }
+ set
+ {
+ if (projFile == value)
+ return;
+
+ if (projFile != null)
+ projFile.UnregisterEditor (this);
+
+ projFile = value;
+
+ if (projFile != null)
+ projFile.RegisterEditor (this);
+
+ NotifyValueChanged ("ProjectNode", projFile);
+ }
+ }
+ [XmlIgnore]public Exception Error {
+ get { return error; }
+ set {
+ if (error == value)
+ return;
+ error = value;
+ NotifyValueChanged ("Error", error);
+ NotifyValueChanged ("HasError", HasError);
+ }
+ }
+ [XmlIgnore]public bool HasError {
+ get { return error != null; }
+ }
+
+ protected abstract void updateEditorFromProjFile ();
+ protected abstract void updateProjFileFromEditor ();
+ protected abstract bool EditorIsDirty { get; set; }
+ protected virtual bool IsReady { get { return true; }}
+ protected virtual void updateCheckPostProcess () {}
+
+ protected void backgroundThreadFunc () {
+ while (true) {
+ if (IsReady) {
+ if (Monitor.TryEnter (IFace.UpdateMutex)) {
+ if (!projFile.RegisteredEditors [this]) {
+ projFile.RegisteredEditors [this] = true;
+ updateEditorFromProjFile ();
+ } else if (EditorIsDirty) {
+ EditorIsDirty = false;
+ updateProjFileFromEditor ();
+ }
+ updateCheckPostProcess ();
+ Monitor.Exit (IFace.UpdateMutex);
+ }
+ }
+ Thread.Sleep (100);
+ }
+ }
+ }
+}
+
--- /dev/null
+//
+// ImlVisualEditor.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2016 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using System;
+using Crow;
+using System.Threading;
+using System.Xml.Serialization;
+using System.ComponentModel;
+using System.IO;
+using System.Collections.Generic;
+using Crow.IML;
+using System.Text;
+using System.Xml;
+
+namespace Crow.Coding
+{
+ public class ImlSchematicEditor : TemplatedGroup
+ {
+ #region CTOR
+ public ImlSchematicEditor ()
+ {
+ }
+ #endregion
+
+ ProjectFile projNode;
+ Widget selectedItem;
+ ImlProjectItem imlProjFile;
+ Exception imlError = null;
+
+ bool drawGrid, snapToGrid;
+ int gridSpacing;
+
+ [DefaultValue(true)]
+ public bool DrawGrid {
+ get { return drawGrid; }
+ set {
+ if (drawGrid == value)
+ return;
+ drawGrid = value;
+ NotifyValueChanged ("DrawGrid", drawGrid);
+ RegisterForRedraw ();
+ }
+ }
+ [DefaultValue(true)]
+ public bool SnapToGrid {
+ get { return snapToGrid; }
+ set {
+ if (snapToGrid == value)
+ return;
+ snapToGrid = value;
+ NotifyValueChanged ("SnapToGrid", snapToGrid);
+ }
+ }
+ [DefaultValue(10)]
+ public int GridSpacing {
+ get { return gridSpacing; }
+ set {
+ if (gridSpacing == value)
+ return;
+ gridSpacing = value;
+ NotifyValueChanged ("GridSpacing", gridSpacing);
+ RegisterForRedraw ();
+ }
+ }
+ public Widget SelectedItem {
+ get { return selectedItem; }
+ set {
+ if (selectedItem == value)
+ return;
+ selectedItem = value;
+ NotifyValueChanged ("SelectedItem", selectedItem);
+ RegisterForRedraw ();
+ }
+ }
+// public override ProjectFile ProjectNode {
+// get {
+// return projNode;
+// }
+// set {
+// if (projNode == value)
+// return;
+// projNode = value;
+// NotifyValueChanged ("ProjectNode", projNode);
+//
+// if (projNode is ImlProjectItem)
+// imlProjFile = projNode as ImlProjectItem;
+// else
+// imlProjFile = null;
+// }
+// }
+
+
+// protected override bool EditorIsDirty {
+// get {
+// throw new NotImplementedException ();
+// }
+// set {
+// throw new NotImplementedException ();
+// }
+// }
+// protected override void updateProjFileFromEditor ()
+// {
+//
+// }
+// protected override void updateEditorFromProjFile () {
+//
+// }
+// protected override void updateCheckPostProcess ()
+// {
+//
+// }
+
+
+ }
+}
--- /dev/null
+//
+// ImlVisualEditor.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2016 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using System;
+using Crow;
+using System.Threading;
+using System.Xml.Serialization;
+using System.ComponentModel;
+using System.IO;
+using System.Collections.Generic;
+using Crow.IML;
+using System.Text;
+using System.Xml;
+using System.Diagnostics;
+using vkvg;
+
+namespace Crow.Coding
+{
+ public class ImlVisualEditor : Editor
+ {
+ #region CTOR
+ public ImlVisualEditor () : base()
+ {
+ //imlVE = new DesignInterface (Interface.de);
+ initCommands ();
+ }
+ #endregion
+
+ protected override void onInitialized (object sender, EventArgs e)
+ {
+ initIcons ();
+ base.onInitialized (sender, e);
+ }
+ DesignInterface imlVE;
+ Widget selectedItem;
+ ImlProjectItem imlProjFile;
+
+ bool editorIsDirty = false;//needed when tree is empty
+ bool drawGrid, snapToGrid;
+ int gridSpacing, zoom = 100;
+ Measure designWidth, designHeight;
+ bool updateEnabled;
+
+ Picture icoMove, icoStyle;
+ Rectangle rIcons = default(Rectangle);
+ Size iconSize = new Size(11,11);
+
+ public List<Crow.Command> Commands;
+ Crow.Command cmdDelete;
+
+ void initCommands () {
+ cmdDelete = new Crow.Command (new Action (() => deleteObject (SelectedItem)))
+ { Caption = "Delete", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = true };
+ Commands = new List<Crow.Command> (new Crow.Command[] { cmdDelete });
+ }
+
+ void initIcons () {
+ icoMove = new SvgPicture ("#CrowIDE.icons.move-arrows.svg");
+
+ // icoStyle = new SvgPicture ();
+ // icoStyle.Load (IFace, "#CrowIDE.icons.palette.svg");
+ }
+
+ [DefaultValue(true)]
+ public bool DrawGrid {
+ get { return drawGrid; }
+ set {
+ if (drawGrid == value)
+ return;
+ drawGrid = value;
+ NotifyValueChanged ("DrawGrid", drawGrid);
+ RegisterForRedraw ();
+ }
+ }
+ [DefaultValue(true)]
+ public bool SnapToGrid {
+ get { return snapToGrid; }
+ set {
+ if (snapToGrid == value)
+ return;
+ snapToGrid = value;
+ NotifyValueChanged ("SnapToGrid", snapToGrid);
+ }
+ }
+ [DefaultValue(10)]
+ public int GridSpacing {
+ get { return gridSpacing; }
+ set {
+ if (gridSpacing == value)
+ return;
+ gridSpacing = value;
+ NotifyValueChanged ("GridSpacing", gridSpacing);
+ RegisterForRedraw ();
+ }
+ }
+ [DefaultValue(100)]
+ public int Zoom {
+ get { return zoom; }
+ set {
+ if (zoom == value)
+ return;
+
+ zoom = value;
+ NotifyValueChanged ("Zoom", zoom);
+ Width = (int)(designWidth * zoom / 100.0);
+ Height = (int)(designHeight * zoom / 100.0);
+ }
+ }
+ [DefaultValue("512")]
+ public Measure DesignWidth {
+ get { return designWidth; }
+ set {
+ if (designWidth == value)
+ return;
+ designWidth = value;
+ NotifyValueChanged ("DesignWidth", designWidth);
+ Width = (int)(designWidth * zoom / 100.0);
+ }
+ }
+ [DefaultValue("400")]
+ public Measure DesignHeight {
+ get { return designHeight; }
+ set {
+ if (designHeight == value)
+ return;
+ designHeight = value;
+ NotifyValueChanged ("DesignHeight", designHeight);
+ Height = (int)(designHeight * zoom / 100.0);
+ }
+ }
+
+ public Widget SelectedItem {
+ get { return selectedItem; }
+ set {
+ if (selectedItem == value)
+ return;
+ selectedItem = value;
+
+ if (selectedItem == null)
+ cmdDelete.CanExecute = false;
+ else
+ cmdDelete.CanExecute = true;
+
+ NotifyValueChanged ("SelectedItem", selectedItem);
+ RegisterForGraphicUpdate ();
+ }
+ }
+ /// <summary>PoinprojFilever the widget</summary>
+ public virtual Widget HoverWidget
+ {
+ get { return imlVE.HoverWidget; }
+ set {
+ if (HoverWidget == value)
+ return;
+
+ imlVE.HoverWidget = value;
+
+ NotifyValueChanged ("HoverWidget", HoverWidget);
+ }
+ }
+ /// <summary>
+ /// use to disable update if tab is not the visible one
+ /// </summary>
+ public bool UpdateEnabled {
+ get { return updateEnabled; }
+ set {
+ if (value == updateEnabled)
+ return;
+ updateEnabled = value;
+ NotifyValueChanged ("UpdateEnabled", updateEnabled);
+ }
+ }
+
+ public List<Widget> GraphicTree {
+ get { return imlVE.GraphicTree; }
+ }
+
+ [XmlIgnore]public List<LQIList> LQIs {
+ get { return imlVE.LQIs; }
+ }
+
+ #region editor overrides
+ public override ProjectFile ProjectNode {
+ get {
+ return base.ProjectNode;
+ }
+ set {
+ base.ProjectNode = value;
+ imlProjFile = projFile as ImlProjectItem;
+ imlVE.ProjFile = imlProjFile;
+ }
+ }
+
+ protected override bool EditorIsDirty {
+ get { return imlProjFile == null ? false :
+ imlProjFile.Instance == null ? editorIsDirty :
+ imlProjFile.Instance.design_HasChanged | editorIsDirty; }
+ set {
+ editorIsDirty = value;
+ if (GraphicTree.Count == 0)
+ return;
+ if (GraphicTree [0] != null)
+ GraphicTree [0].design_HasChanged = value;
+ }
+ }
+ protected override bool IsReady {
+ get { return updateEnabled && imlVE != null && imlProjFile != null; }
+ }
+
+ protected override void updateProjFileFromEditor ()
+ {
+ Debug.WriteLine("\t\tImlEditor updateProjFileFromEditor");
+ try {
+ if (imlProjFile.Instance == null)
+ projFile.UpdateSource(this, @"<?xml version=""1.0""?>");
+ else
+ projFile.UpdateSource(this, imlProjFile.Instance.GetIML());
+ } catch (Exception ex) {
+ Error = ex.InnerException;
+ if (Monitor.IsEntered(imlVE.UpdateMutex))
+ Monitor.Exit (imlVE.UpdateMutex);
+ }
+ }
+ protected override void updateEditorFromProjFile () {
+ Debug.WriteLine("\t\tImlEditor updateEditorFromProjFile");
+ try {
+ string selItemDesignID = null;
+ if (SelectedItem!=null)
+ selItemDesignID = SelectedItem.design_id;
+ imlVE.ClearInterface();
+ Instantiator.NextInstantiatorID = 0;
+ imlVE.Styling = projFile.Project.solution.Styling;
+ imlVE.DefaultValuesLoader.Clear();
+ //imlVE.DefaultTemplates = projFile.Project.solution.DefaultTemplates;
+ imlVE.Instantiators = new Dictionary<string, Instantiator>();
+
+ //prevent error on empty file
+ bool emptyFile = true;
+ string src = projFile.Source;
+ using (Stream s = new MemoryStream (Encoding.UTF8.GetBytes (src))) {
+ using (XmlReader itr = XmlReader.Create (s)) {
+ while(itr.Read()){
+ if (itr.NodeType == XmlNodeType.Element){
+ emptyFile = false;
+ break;
+ }
+ }
+ }
+ }
+ Widget go = null;
+ Error = null;
+
+ if (emptyFile){
+ imlProjFile.Instance = null;
+ }else{
+ imlVE.LoadIMLFragment(src);
+ imlProjFile.Instance = imlVE.GraphicTree[0];
+ if (selItemDesignID!=null)
+ imlProjFile.Instance.FindByDesignID(selItemDesignID,out go);
+
+ }
+ SelectedItem = go;
+ } catch (Exception ex) {
+ Error = ex;
+ }
+ }
+ protected override void updateCheckPostProcess ()
+ {
+ if (Error != null) {
+ RegisterForRedraw ();
+ return;
+ }
+ imlVE.Update ();
+ bool isDirty = false;
+
+ lock (imlVE.RenderMutex)
+ isDirty = imlVE.IsDirty;
+
+ if (isDirty) {
+ lock (IFace.UpdateMutex)
+ RegisterForRedraw ();
+ }
+ }
+ #endregion
+
+ #region GraphicObject overrides
+ public override void OnLayoutChanges (LayoutingType layoutType)
+ {
+ base.OnLayoutChanges (layoutType);
+ switch (layoutType) {
+ case LayoutingType.Width:
+ DesignWidth = Slot.Width * 100 / zoom;
+ imlVE.ProcessResize (new Size(designWidth,designHeight));
+ break;
+ case LayoutingType.Height:
+ DesignHeight = Slot.Height * 100 / zoom;
+ imlVE.ProcessResize (new Size(designWidth,designHeight));
+ break;
+ }
+ }
+
+ public override void onMouseMove (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseMove (sender, e);
+
+ Widget oldHW = HoverWidget;
+ Rectangle scr = this.ScreenCoordinates (this.getSlot ());
+ ProcessMouseMove (e.X - scr.X, e.Y - scr.Y);
+
+ Widget newHW = HoverWidget;
+ if (newHW == null)
+ return;
+
+ if (draggedObj != null) {
+ if (draggedObj.Parent == null) {
+ if (tryAddObjectTo (newHW, draggedObj)) {
+ RegisterForRedraw ();
+ return;
+ }
+ } else if (newHW != draggedObj) {
+ //lock (imlVE.UpdateMutex) {
+ ILayoutable possibleParent = getPossibleParent (newHW, draggedObj);
+ if (possibleParent == null) {
+ Group g = newHW.Parent as Group;
+ if (g != null && g != draggedObj) {
+ removeObject (draggedObj);
+ g.InsertChild (g.Children.IndexOf (newHW), draggedObj);
+ RegisterForRedraw ();
+ return;
+ }
+ } else if (possibleParent != draggedObj.Parent) {
+ removeObject (draggedObj);
+ if (tryAddObjectTo (possibleParent, draggedObj)) {
+ RegisterForRedraw ();
+ return;
+ }
+ }
+ //}
+ }
+ }
+
+ if (oldHW == newHW)
+ return;
+ //RegisterForRedraw ();
+
+ }
+ public override void onMouseEnter (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseEnter (sender, e);
+ if (IFace.DragAndDropOperation != null && draggedObj == null)
+ return;
+ IFace.FocusedWidget = this;
+ }
+ public override void onMouseLeave (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseLeave (sender, e);
+// IFace.FocusedWidget = null;
+ }
+ public override void onMouseDown (object sender, MouseButtonEventArgs e)
+ {
+ if (e.Mouse.RightButton == ButtonState.Pressed) {
+ base.onMouseDown (sender, e);
+ return;
+ }
+ SelectedItem = HoverWidget;
+
+// if (SelectedItem != null && projFile != null) {
+// projFile.CurrentLine = SelectedItem.design_line;
+// projFile.CurrentColumn = SelectedItem.design_column;
+// }
+
+ }
+
+ protected override void onDraw (Context gr)
+ {
+ base.onDraw (gr);
+
+ Rectangle cb = new Rectangle (0, 0, designWidth, designHeight);
+
+ gr.Save ();
+
+ double z = zoom / 100.0;
+
+ gr.Scale (z, z);
+
+ if (drawGrid) {
+ double gridLineWidth = 0.2 / z;
+ double glhw = gridLineWidth / 2.0;
+ int nbLines = cb.Width / gridSpacing;
+ double d = cb.Left + gridSpacing;
+ for (int i = 0; i < nbLines; i++) {
+ gr.MoveTo (d - glhw, cb.Y);
+ gr.LineTo (d - glhw, cb.Bottom);
+ d += gridSpacing;
+ }
+ nbLines = cb.Height / gridSpacing;
+ d = cb.Top + gridSpacing;
+ for (int i = 0; i < nbLines; i++) {
+ gr.MoveTo (cb.X, d - glhw);
+ gr.LineTo (cb.Right, d - glhw);
+ d += gridSpacing;
+ }
+ gr.LineWidth = gridLineWidth;
+ Foreground.SetAsSource (gr, cb);
+ gr.Stroke ();
+ }
+
+ lock (imlVE.RenderMutex) {
+ gr.SetSourceSurface (imlVE.surf, cb.Left, cb.Top);
+ gr.Paint ();
+ imlVE.IsDirty = false;
+ }
+ /*if (Error == null) {
+ gr.SetSourceColor (Color.Black);
+ gr.Rectangle (cb, 1.0 / z);
+ } else {
+ gr.SetSourceColor (Color.LavenderBlush);
+ gr.Rectangle (cb, 2.0 / z);
+ string[] lerrs = Error.ToString ().Split ('\n');
+ Point p = cb.Center;
+ p.Y -= lerrs.Length * 20;
+ foreach (string le in lerrs) {
+ drawCenteredTextLine(gr, p, le);
+ p.Y += 20;
+
+ }
+ }
+ gr.Stroke ();*/
+
+ Rectangle hr;
+
+ if (SelectedItem?.Parent != null) {
+
+ gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
+ gr.SetFontSize (Font.Size);
+ gr.FontOptions = Interface.FontRenderingOptions;
+ gr.Antialias = Interface.Antialias;
+
+ Widget g = SelectedItem;
+ hr = g.ScreenCoordinates (g.getSlot ());
+
+// Rectangle rIcons = new Rectangle (iconSize);
+// rIcons.Width *= 4;
+// rIcons.Top = hr.Bottom;
+// rIcons.Left = hr.Right - rIcons.Width + iconSize.Width;
+ Rectangle rIcoMove = new Rectangle (hr.BottomRight, iconSize);
+// Rectangle rIcoStyle = rIcoMove;
+// rIcoStyle.Left += iconSize.Width + 4;
+
+ using (Surface mask = new ImageSurface (Format.Argb32, cb.Width, cb.Height)) {
+ using (Context ctx = new Context (mask)) {
+ ctx.Save();
+ ctx.SetSourceRGBA(1.0,1.0,1.0,0.4);
+ ctx.Paint ();
+ ctx.Rectangle (hr);
+ ctx.Operator = Operator.Clear;
+ ctx.Fill ();
+ }
+
+ gr.SetSourceSurface (mask, 0, 0);
+ gr.Paint ();
+
+ using (Surface ol = new ImageSurface (Format.Argb32, cb.Width, cb.Height)) {
+ using (Context ctx = new Context (ol)) {
+ ctx.SetSourceColor (Color.Black);
+ drawDesignOverlay (ctx, g, cb, hr, 0.4 / z, 6.5);
+ }
+
+ gr.SetSourceSurface (ol, 0, 0);
+ gr.Paint ();
+ }
+
+ drawIcon (gr, icoMove, rIcoMove);
+ //drawIcon (gr, icoStyle, rIcoStyle);
+
+ }
+ }
+ if (HoverWidget != null) {
+ hr = HoverWidget.ScreenCoordinates (HoverWidget.getSlot ());
+ gr.SetSourceColor (Color.SkyBlue);
+ //gr.SetDash (new double[]{ 5.0, 3.0 }, 0.0);
+ gr.Rectangle (hr, 0.4 / z);
+ }
+ gr.Restore ();
+ }
+
+ void drawIcon (Context gr, Picture pic, Rectangle r) {
+// gr.SetSourceColor (Color.Black);
+// CairoHelpers.CairoRectangle (gr, r.Inflated (1), 2, 1.0);
+ gr.SetSourceColor (Color.White);
+ CairoHelpers.CairoRectangle (gr, r.Inflated (1), 2);
+ gr.Fill ();
+ gr.Operator = Operator.Clear;
+ pic.Paint (gr, r);
+ gr.Operator = Operator.Over;
+ }
+ void drawDesignOverlay (Context gr, Widget g, Rectangle cb, Rectangle hr, double coteStroke, double space = 6.5){
+ double z = zoom / 100.0;
+ double coteW = 3, coteL = 5;
+ bool fill = true;
+ Crow.Cairo.PointD p1 = new Crow.Cairo.PointD (hr.X + 0.5, hr.Y - space);
+ Crow.Cairo.PointD p2 = new Crow.Cairo.PointD (hr.Right - 0.5, hr.Y - space);
+
+ if (p1.Y < cb.Top) {
+ if (hr.Bottom > cb.Bottom - space)
+ p1.Y = p2.Y = hr.Bottom - space;
+ else
+ p1.Y = p2.Y = hr.Bottom + space;
+ }
+
+ if (g.Width.IsFit)
+ gr.DrawCoteInverse (p1, p2, coteStroke, fill, coteW, coteL);
+ else if (g.Width.IsRelativeToParent) {
+ gr.DrawCote (p1, p2, coteStroke, fill, coteW, coteL);
+ if (g.Width.Value < 100)
+ drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Width.ToString());
+ }else if (g.Width.IsFixed) {
+ gr.DrawCoteFixed (p1, p2, coteStroke * 2.0, coteW);
+ drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Width.Value.ToString());
+ }
+
+ p1 = new Crow.Cairo.PointD (hr.X - space, hr.Top + 0.5);
+ p2 = new Crow.Cairo.PointD (hr.X - space, hr.Bottom - 0.5);
+
+ if (p1.X < cb.Left) {
+ if (hr.Right > cb.Right - space)
+ p1.X = p2.X = hr.Right - space;
+ else
+ p1.X = p2.X = hr.Right + space;
+ }
+ if (g.Height.IsFit)
+ gr.DrawCoteInverse (p1, p2, coteStroke, fill, coteW, coteL);
+ else if (g.Height.IsRelativeToParent){
+ gr.DrawCote (p1, p2, coteStroke, fill, coteW, coteL);
+ if (g.Height.Value < 100)
+ drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Height.ToString());
+ }else if (g.Width.IsFixed) {
+ gr.DrawCoteFixed (p1, p2, coteStroke * 2.0, coteW);
+ drawCenteredTextLine (gr, p1.Add(p2.Substract(p1).Divide (2)), g.Height.Value.ToString());
+ }
+
+ // hr.Inflate (2);
+ //gr.SetDash (new double[]{ 1.0, 4.0 }, 0.0);
+ //gr.SetSourceColor (Color.Grey);
+// gr.Rectangle (hr,coteStroke);
+// gr.Stroke ();
+ gr.Operator = Operator.Over;
+ }
+
+ void drawCenteredTextLine (Context gr, Point center, string txt){
+ drawCenteredTextLine (gr, new PointD(center.X,center.Y), txt);
+ }
+ void drawCenteredTextLine (Context gr, PointD center, string txt){
+ if (string.IsNullOrEmpty(txt))
+ return;
+ FontExtents fe = gr.FontExtents;
+ TextExtents te = gr.TextExtents (txt);
+
+ Rectangle rText = new Rectangle(
+ (int)(center.X - te.Width / 2), (int)(center.Y - (fe.Ascent + fe.Descent) / 2),
+ (int)te.Width, (int)(fe.Ascent + fe.Descent));
+
+ gr.Operator = Operator.Clear;
+ Rectangle r = rText;
+ r.Inflate (2);
+ gr.Rectangle (r);
+ gr.Fill ();
+ gr.Operator = Operator.Over;
+
+ gr.MoveTo (rText.X, rText.Y + fe.Ascent);
+ gr.ShowText (txt);
+ gr.Fill ();
+
+ }
+ protected override void onDragEnter (object sender, DragDropEventArgs e)
+ {
+ base.onDragEnter (sender, e);
+ GraphicObjectDesignContainer godc = e.DragSource.DataSource as GraphicObjectDesignContainer;
+ if (godc == null)
+ return;
+ createDraggedObj (godc.CrowType);
+ }
+ protected override void onDragLeave (object sender, DragDropEventArgs e)
+ {
+ base.onDragLeave (sender, e);
+ GraphicObjectDesignContainer godc = e.DragSource.DataSource as GraphicObjectDesignContainer;
+ if (godc == null)
+ return;
+ ClearDraggedObj ();
+ }
+
+ protected override void onStartDrag (object sender, DragDropEventArgs e)
+ {
+ base.onStartDrag (sender, e);
+ if (SelectedItem == null)
+ return;
+
+ Widget dumy = new Widget (IFace);
+ dumy.EndDrag += dumyOnEndDrag;
+ dumy.Drop += dumyOnDrop;
+ dumy.IsDragged = true;
+ IFace.ActiveWidget = dumy;
+ e.DragSource.IsDragged = false;
+ IFace.DragAndDropOperation.DragSource = dumy;
+ draggedObj = SelectedItem;
+ int dragIconSize = 48;
+ lock (IFace.UpdateMutex) {
+ IFace.DragImageHeight = dragIconSize;
+ IFace.DragImageWidth = dragIconSize;
+ IFace.DragImage = draggedObj.CreateIcon(dragIconSize);
+ }
+ removeObject (draggedObj);
+ SelectedItem = null;
+ HoverWidget = null;
+ }
+ void dumyOnEndDrag (object sender, DragDropEventArgs e)
+ {
+ IFace.ClearDragImage ();
+ }
+ void dumyOnDrop (object sender, DragDropEventArgs e)
+ {
+ ClearDraggedObj (false);
+ IFace.ClearDragImage ();
+ }
+ #endregion
+
+
+ #region draggedObj handling
+
+ public Widget draggedObj = null;
+
+ void createDraggedObj (Type crowType) {
+ lock (imlVE.UpdateMutex) {
+ draggedObj = imlVE.CreateITorFromIMLFragment ("<" + crowType.Name + "/>").CreateInstance ();
+ }
+ }
+
+ public void ClearDraggedObj (bool removeFromTree = true) {
+ if (removeFromTree)
+ deleteObject (draggedObj);
+ draggedObj = null;
+ }
+ #endregion
+
+ void removeObject (Widget go) {
+ if (go == null)
+ return;
+ if (go.Parent == null)
+ return;
+// lock (imlVE.UpdateMutex) {
+ Interface i = go.Parent as Interface;
+ if (i != null) {
+ i.RemoveWidget (go);
+ imlProjFile.Instance = null;
+ } else {
+ Container c = go.Parent as Container;
+ if (c != null)
+ c.SetChild (null);
+ else {
+ TemplatedContainer tc = go.Parent as TemplatedContainer;
+ if (tc != null)
+ tc.Content = null;
+ else {
+ Group g = go.Parent as Group;
+ if (g != null)
+ g.RemoveChild (go);
+ }
+ }
+ }
+ EditorIsDirty = true;
+ //}
+ }
+ void deleteObject (Widget go) {
+ if (go == null)
+ return;
+ //lock (imlVE.UpdateMutex) {
+ removeObject (go);
+ go.Dispose ();
+ //}
+ }
+
+ ILayoutable getPossibleParent (ILayoutable parent, Widget go) {
+ if (go == null)
+ return null;
+// lock (imlVE.UpdateMutex) {
+
+ Interface i = null;
+ if (parent == null)
+ i = imlVE;
+ else
+ i = parent as Interface;
+ if (i != null)
+ return i.GraphicTree.Count > 0 ? null : i;
+
+ Container c = parent as Container;
+ if (c != null)
+ return c.Child == null || c.Child == go ? c : null;
+
+ TemplatedContainer tc = parent as TemplatedContainer;
+ if (tc != null)
+ return tc.Content == null || tc.Content == go? tc : null;
+
+ return parent as Group;
+// }
+ }
+ bool tryAddObjectTo (ILayoutable parent, Widget go) {
+ if (go == null)
+ return false;
+// lock (imlVE.UpdateMutex) {
+ Interface i = null;
+ if (parent == null)
+ i = imlVE;
+ else
+ i = parent as Interface;
+ if (i != null) {
+ if (i.GraphicTree.Count > 0)
+ return false;
+ i.AddWidget (go);
+ imlProjFile.Instance = go;
+ EditorIsDirty = true;
+ return true;
+ }
+ Container c = parent as Container;
+ if (c != null) {
+ if (c.Child != null)
+ return false;
+ //return tryAddObjectTo (c.Parent, go);
+ c.SetChild (go);
+ EditorIsDirty = true;
+ return true;
+ }
+ TemplatedContainer tc = parent as TemplatedContainer;
+ if (tc != null) {
+ if (tc.Content != null)
+ return false;
+ //return tryAddObjectTo (c.Parent, go);
+ tc.Content = (go);
+ EditorIsDirty = true;
+ return true;
+ }
+ Group g = parent as Group;
+ if (g != null) {
+ g.AddChild (go);
+ EditorIsDirty = true;
+ return true;
+ }
+ return false;//tryAddObjectTo (parent.Parent, go);
+// }
+ }
+
+
+
+ void WidgetCheckOver (Widget go, MouseMoveEventArgs e){
+ Type tGo = go.GetType();
+ if (typeof(TemplatedGroup).IsAssignableFrom (tGo)) {
+
+ } else if (typeof(TemplatedContainer).IsAssignableFrom (tGo)) {
+ TemplatedContainer c = go as TemplatedContainer;
+ if (c.Content?.MouseIsIn (e.Position) == true) {
+ WidgetCheckOver (c.Content, e);
+ return;
+ }
+ } else if (typeof(TemplatedControl).IsAssignableFrom (tGo)) {
+ } else if (typeof(Group).IsAssignableFrom (tGo)) {
+ Group c = go as Group;
+ for (int i = c.Children.Count -1; i >= 0; i--) {
+ if (c.Children[i].MouseIsIn (e.Position)) {
+ WidgetCheckOver (c.Children[i], e);
+ return;
+ }
+ }
+ } else if (typeof(Crow.Container).IsAssignableFrom (tGo)) {
+ Crow.Container c = go as Crow.Container;
+ if (c.Child?.MouseIsIn (e.Position)==true) {
+ WidgetCheckOver (c.Child, e);
+ return;
+ }
+ }
+ HoverWidget = go;
+ WidgetMouseEnter (go, e);
+ }
+ void WidgetMouseLeave (Widget go, MouseMoveEventArgs e){
+
+ }
+ void WidgetMouseEnter (Widget go, MouseMoveEventArgs e){
+
+ }
+ void WidgetMouseMove (Widget go, MouseMoveEventArgs e){}
+
+ public bool ProcessMouseMove(int x, int y)
+ {
+ int deltaX = x - imlVE.Mouse.X;
+ int deltaY = y - imlVE.Mouse.Y;
+ imlVE.Mouse.X = x;
+ imlVE.Mouse.Y = y;
+ MouseMoveEventArgs e = new MouseMoveEventArgs (x, y, deltaX, deltaY);
+ e.Mouse = imlVE.Mouse;
+
+ if (imlVE.ActiveWidget != null) {
+ //TODO, ensure object is still in the graphic tree
+ //send move evt even if mouse move outside bounds
+ WidgetMouseMove (imlVE.ActiveWidget, e);
+ return true;
+ }
+
+ if (HoverWidget != null) {
+ //TODO, ensure object is still in the graphic tree
+ //check topmost graphicobject first
+ Widget tmp = HoverWidget;
+ Widget topc = null;
+ while (tmp is Widget) {
+ topc = tmp;
+ tmp = tmp.LogicalParent as Widget;
+ }
+ int idxhw = imlVE.GraphicTree.IndexOf (topc);
+ if (idxhw != 0) {
+ int i = 0;
+ while (i < idxhw) {
+ if (imlVE.GraphicTree [i].LogicalParent == imlVE.GraphicTree [i].Parent) {
+ if (imlVE.GraphicTree [i].MouseIsIn (e.Position)) {
+ while (imlVE.HoverWidget != null) {
+ WidgetMouseLeave (imlVE.HoverWidget, e);
+ imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as Widget;
+ }
+
+ WidgetCheckOver (GraphicTree [i], e);
+ return true;
+ }
+ }
+ i++;
+ }
+ }
+
+
+ if (imlVE.HoverWidget.MouseIsIn (e.Position)) {
+ WidgetCheckOver (imlVE.HoverWidget, (e));
+ return true;
+ } else {
+ WidgetMouseLeave (imlVE.HoverWidget, e);
+ //seek upward from last focused graph obj's
+ while (imlVE.HoverWidget.LogicalParent as Widget != null) {
+ imlVE.HoverWidget = imlVE.HoverWidget.LogicalParent as Widget;
+ if (imlVE.HoverWidget.MouseIsIn (e.Position)) {
+ WidgetCheckOver (imlVE.HoverWidget, e);
+ return true;
+ } else
+ WidgetMouseLeave (imlVE.HoverWidget, e);
+ }
+ }
+ }
+
+ //top level graphic obj's parsing
+ lock (imlVE.GraphicTree) {
+ for (int i = 0; i < imlVE.GraphicTree.Count; i++) {
+ Widget g = imlVE.GraphicTree [i];
+ if (g.MouseIsIn (e.Position)) {
+ WidgetCheckOver (g, e);
+ return true;
+ }
+ }
+ }
+ imlVE.HoverWidget = null;
+ return false;
+
+ }
+
+ void GTView_SelectedItemChanged (object sender, SelectionChangeEventArgs e)
+ {
+ SelectedItem = e.NewValue as Widget;
+ }
+
+
+ public override void onKeyDown (object sender, KeyEventArgs e)
+ {
+
+ switch (e.Key) {
+ case Key.Delete:
+ if (selectedItem == null)
+ return;
+ deleteObject (selectedItem);
+ break;
+ case Key.Escape:
+ SelectedItem = null;
+ break;
+ }
+ }
+ }
+}
--- /dev/null
+using System;
+using System.IO;
+using Crow;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Text;
+
+namespace Crow.Coding
+{
+ /// <summary>
+ /// base class for tokenizing sources
+ /// </summary>
+ public abstract class BufferParser
+ {
+ /// <summary>
+ /// Default tokens, this enum may be overriden in derived parser with the new keyword,
+ /// see XMLParser for example.
+ /// </summary>
+ public enum TokenType {
+ Unknown = 0,
+ WhiteSpace = 1,
+ NewLine = 2,
+ LineComment = 3,
+ BlockCommentStart = 4,
+ BlockComment = 5,
+ BlockCommentEnd = 6,
+ Preprocessor = 7,
+ Identifier = 8,
+ Keyword = 9,
+ OpenBlock = 10,
+ CloseBlock = 11,
+ StatementEnding = 12,
+ OperatorOrPunctuation = 13,
+ IntegerLitteral = 14,
+ RealLitteral = 15,
+ StringLitteralOpening = 16,
+ StringLitteralClosing = 17,
+ StringLitteral = 18,
+ CharLitteralOpening = 19,
+ CharLitteralClosing = 20,
+ CharLitteral = 21,
+ BoolLitteral = 22,
+ NullLitteral = 23,
+ Type = 24,
+ }
+
+ #region CTOR
+ public BufferParser (CodeBuffer _buffer)
+ {
+ buffer = _buffer;
+
+ buffer.LineUpadateEvent += Buffer_LineUpadateEvent;
+ //buffer.LineAdditionEvent += Buffer_LineAdditionEvent;;
+ buffer.LineRemoveEvent += Buffer_LineRemoveEvent;
+ buffer.BufferCleared += Buffer_BufferCleared;
+ }
+
+ #endregion
+
+ #region Buffer events handlers
+ void Buffer_BufferCleared (object sender, EventArgs e)
+ {
+
+ }
+ void Buffer_LineAdditionEvent (object sender, CodeBufferEventArgs e)
+ {
+
+ }
+ void Buffer_LineRemoveEvent (object sender, CodeBufferEventArgs e)
+ {
+ reparseSource ();
+ }
+ void Buffer_LineUpadateEvent (object sender, CodeBufferEventArgs e)
+ {
+ for (int i = 0; i < e.LineCount; i++)
+ TryParseBufferLine (e.LineStart + i);
+ reparseSource ();
+ }
+ #endregion
+
+ internal int currentLine = 0;
+ internal int currentColumn = 0;
+
+ int syntTreeDepth = 0;
+ public int SyntacticTreeDepth {
+ get { return syntTreeDepth;}
+ set {
+ syntTreeDepth = value;
+ if (syntTreeDepth > SyntacticTreeMaxDepth)
+ SyntacticTreeMaxDepth = syntTreeDepth;
+ }
+ }
+ public int SyntacticTreeMaxDepth = 0;
+
+ protected CodeBuffer buffer;
+ protected Token currentTok;
+ protected bool eol = true;
+ protected Point CurrentPosition {
+ get { return new Point (currentLine, currentColumn); }
+ set {
+ currentLine = value.Y;
+ currentColumn = value.X;
+ }
+ }
+
+ public Node RootNode;
+
+ public abstract void ParseCurrentLine();
+ public abstract void SyntaxAnalysis ();
+ public void reparseSource () {
+ for (int i = 0; i < buffer.LineCount; i++) {
+ if (!buffer[i].IsParsed)
+ TryParseBufferLine (i);
+ }
+ try {
+ SyntaxAnalysis ();
+ } catch (Exception ex) {
+ Debug.WriteLine ("Syntax Error: " + ex.ToString ());
+ if (ex is ParserException)
+ SetLineInError (ex as ParserException);
+ }
+ }
+ public void TryParseBufferLine(int lPtr) {
+ buffer [lPtr].exception = null;
+ currentLine = lPtr;
+ currentColumn = 0;
+ eol = false;
+
+ try {
+ ParseCurrentLine ();
+ } catch (Exception ex) {
+ Debug.WriteLine (ex.ToString ());
+ if (ex is ParserException)
+ SetLineInError (ex as ParserException);
+ }
+
+ }
+
+ public virtual void SetLineInError(ParserException ex) {
+ currentTok = default(Token);
+ if (ex.Line >= buffer.LineCount)
+ ex.Line = buffer.LineCount - 1;
+ if (buffer [ex.Line].IsFolded)
+ buffer.ToogleFolding (ex.Line);
+ buffer [ex.Line].SetLineInError (ex);
+ }
+ public virtual string LineBrkRegex {
+ get { return @"\r\n|\r|\n|\\\\n"; }
+ }
+ void updateFolding () {
+ // Stack<TokenList> foldings = new Stack<TokenList>();
+ // bool inStartTag = false;
+ //
+ // for (int i = 0; i < parser.Tokens.Count; i++) {
+ // TokenList tl = parser.Tokens [i];
+ // tl.foldingTo = null;
+ // int fstTK = tl.FirstNonBlankTokenIndex;
+ // if (fstTK > 0 && fstTK < tl.Count - 1) {
+ // if (tl [fstTK + 1] != XMLParser.TokenType.ElementName)
+ // continue;
+ // if (tl [fstTK] == XMLParser.TokenType.ElementStart) {
+ // //search closing tag
+ // int tkPtr = fstTK+2;
+ // while (tkPtr < tl.Count) {
+ // if (tl [tkPtr] == XMLParser.TokenType.ElementClosing)
+ //
+ // tkPtr++;
+ // }
+ // if (tl.EndingState == (int)XMLParser.States.Content)
+ // foldings.Push (tl);
+ // else if (tl.EndingState == (int)XMLParser.States.StartTag)
+ // inStartTag = true;
+ // continue;
+ // }
+ // if (tl [fstTK] == XMLParser.TokenType.ElementEnd) {
+ // TokenList tls = foldings.Pop ();
+ // int fstTKs = tls.FirstNonBlankTokenIndex;
+ // if (tls [fstTK + 1].Content == tl [fstTK + 1].Content) {
+ // tl.foldingTo = tls;
+ // continue;
+ // }
+ // parser.CurrentPosition = tls [fstTK + 1].Start;
+ // parser.SetLineInError(new ParserException(parser, "closing tag not corresponding"));
+ // }
+ //
+ // }
+ // }
+ }
+
+ #region low level parsing
+ protected void addCharToCurTok(char c, Point position){
+ currentTok.Start = position;
+ currentTok += c;
+ }
+ /// <summary>
+ /// Read one char from current position in buffer and store it into the current token
+ /// </summary>
+ /// <param name="startOfTok">if true, set the Start position of the current token to the current position</param>
+ protected void readToCurrTok(bool startOfTok = false){
+ if (startOfTok)
+ currentTok.Start = CurrentPosition;
+ currentTok += Read();
+ }
+ /// <summary>
+ /// read n char from the buffer and store it into the current token
+ /// </summary>
+ protected void readToCurrTok(int length) {
+ for (int i = 0; i < length; i++)
+ currentTok += Read ();
+ }
+ /// <summary>
+ /// Save current token into current TokensLine and raz current token
+ /// </summary>
+ protected void saveAndResetCurrentTok() {
+ currentTok.End = CurrentPosition;
+ buffer[currentLine].Tokens.Add (currentTok);
+ currentTok = default(Token);
+ }
+ /// <summary>
+ /// read one char and add current token to current TokensLine, current token is reset
+ /// </summary>
+ /// <param name="type">Type of the token</param>
+ /// <param name="startToc">set start of token to current position</param>
+ protected void readAndResetCurrentTok(System.Enum type, bool startToc = false) {
+ readToCurrTok ();
+ saveAndResetCurrentTok (type);
+ }
+ /// <summary>
+ /// Save current tok
+ /// </summary>
+ /// <param name="type">set the type of the tok</param>
+ protected void saveAndResetCurrentTok(System.Enum type) {
+ currentTok.Type = (TokenType)type;
+ saveAndResetCurrentTok ();
+ }
+ protected void setPreviousTokOfTypeTo (TokenType inType, TokenType newType) {
+ for (int i = currentLine; i >= 0; i--) {
+ int j = buffer [i].Tokens.Count - 1;
+ while (j >= 0) {
+ if (buffer [i].Tokens [j].Type == inType) {
+ Token t = buffer [i].Tokens [j];
+ t.Type = newType;
+ buffer [i].Tokens [j] = t;
+ return;
+ }
+ j--;
+ }
+ }
+ }
+ /// <summary>
+ /// Peek next char, emit '\n' if current column > buffer's line length
+ /// Throw error if eof is true
+ /// </summary>
+ protected virtual char Peek() {
+ if (eol)
+ throw new ParserException (currentLine, currentColumn, "Unexpected End of line");
+ return currentColumn < buffer [currentLine].Length ?
+ buffer [currentLine] [currentColumn] : '\n';
+ }
+ /// <summary>
+ /// Peek n char from buffer or less if remaining char in buffer's line is less than requested
+ /// if end of line is reached, no '\n' will be emitted, instead, empty string is returned. '\n' should be checked only
+ /// with single char Peek().
+ /// Throw error is eof is true
+ /// </summary>
+ /// <param name="length">Length.</param>
+ protected virtual string Peek(int length) {
+ if (eol)
+ return "";//throw new ParserException (currentLine, currentColumn, "Unexpected End of Line");
+ int lg = Math.Min(length, Math.Max (buffer [currentLine].Length - currentColumn, buffer [currentLine].Length - currentColumn - length));
+ if (lg == 0)
+ return "";
+ return buffer [currentLine].Content.Substring (currentColumn, lg);
+ }
+ /// <summary>
+ /// read one char from buffer at current position, if '\n' is read, current line is incremented
+ /// and column is reset to 0
+ /// </summary>
+ protected virtual char Read() {
+ char c = Peek ();
+ if (c == '\n')
+ eol = true;
+ currentColumn++;
+ return c;
+ }
+ protected virtual string Read(int charCount){
+ string tmp = "";
+ for (int i = 0; i < charCount; i++) {
+ if (eol)
+ break;
+ tmp += Read ();
+ }
+ return tmp;
+ }
+ /// <summary>
+ /// read until end of line is reached
+ /// </summary>
+ /// <returns>string read</returns>
+ protected virtual string ReadLine () {
+ StringBuilder tmp = new StringBuilder();
+ char c = Read ();
+ while (!eol) {
+ tmp.Append (c);
+ c = Read ();
+ }
+ return tmp.ToString();
+ }
+ /// <summary>
+ /// read until end expression is reached or end of line.
+ /// </summary>
+ /// <returns>string read minus the ending expression that has to be read after</returns>
+ /// <param name="endExp">Expression to search for</param>
+ protected virtual string ReadLineUntil (string endExp){
+ string tmp = "";
+
+ while (!eol) {
+ if (buffer [currentLine].Length - currentColumn - endExp.Length < 0) {
+ tmp += ReadLine();
+ break;
+ }
+ if (string.Equals (Peek (endExp.Length), endExp))
+ return tmp;
+ tmp += Read();
+ }
+ return tmp;
+ }
+ /// <summary>
+ /// skip white spaces, but not line break. Save spaces in a WhiteSpace token.
+ /// </summary>
+ protected void SkipWhiteSpaces () {
+ if (currentTok.Type != TokenType.Unknown)
+ throw new ParserException (currentLine, currentColumn, "current token should be reset to unknown (0) before skiping white spaces");
+ while (!eol) {
+ if (!char.IsWhiteSpace (Peek ())||Peek()=='\n')
+ break;
+ readToCurrTok (currentTok.Type == TokenType.Unknown);
+ currentTok.Type = TokenType.WhiteSpace;
+ }
+ if (currentTok.Type != TokenType.Unknown)
+ saveAndResetCurrentTok ();
+ }
+ #endregion
+
+ protected Node addChildNode (Node curNode, CodeLine cl, int tokPtr, string type = "") {
+ Node n = new Node () { Name = cl.Tokens [tokPtr].Content, StartLine = cl, Type = type };
+ curNode.AddChild (n);
+ if (cl.SyntacticNode == null)
+ cl.SyntacticNode = n;
+ SyntacticTreeDepth++;
+ return n;
+ }
+ protected void closeNodeAndGoUp (ref Node n, CodeLine cl, string type = ""){
+ while (n != null) {
+ if (n.Type == type) {
+ n.EndLine = cl;
+ n = n.Parent;
+ SyntacticTreeDepth--;
+ break;
+ }
+ n = n.Parent;
+ SyntacticTreeDepth--;
+ }
+ }
+ protected void closeNodeAndGoUp (ref Node n, CodeLine cl){
+ SyntacticTreeDepth--;
+ n.EndLine = cl;
+ n = n.Parent;
+ }
+
+ protected void initSyntaxAnalysis () {
+ RootNode = new Node () { Name = "RootNode", Type="Root" };
+ SyntacticTreeDepth = SyntacticTreeMaxDepth = 0;
+ }
+
+
+ protected void throwParserException(string msg){
+ throw new ParserException (currentLine, currentColumn, msg);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+using System;
+using Crow;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Text.RegularExpressions;
+using System.Linq;
+
+namespace Crow.Coding
+{
+ public class CSharpParser : BufferParser
+ {
+ #region keywords
+ string[] keywords = new string[] {
+ "abstract",
+ "as",
+ "ascending",
+ "async",
+ "await",
+ "base",
+ "bool",
+ "break",
+ "byte",
+ "case",
+ "catch",
+ "char",
+ "checked",
+ "class",
+ "const",
+ "continue",
+ "decimal",
+ "default",
+ "delegate",
+ "descending",
+ "do",
+ "double",
+ "dynamic",
+ "else",
+ "enum",
+ "equals",
+ "event",
+ "explicit",
+ "extern",
+ "false",
+ "finally",
+ "fixed",
+ "float",
+ "for",
+ "foreach",
+ "from",
+ "get",
+ "goto",
+ "group",
+ "if",
+ "implicit",
+ "in",
+ "int",
+ "interface",
+ "internal",
+ "is",
+ "join",
+ "let",
+ "lock",
+ "long",
+ "nameof",
+ "namespace",
+ "new",
+ "null",
+ "object",
+ "operator",
+ "orderby",
+ "out",
+ "override",
+ "params",
+ "partial",
+ "private",
+ "protected",
+ "public",
+ "readonly",
+ "ref",
+ "return",
+ "sbyte",
+ "sealed",
+ "select",
+ "set",
+ "short",
+ "sizeof",
+ "stackalloc",
+ "static",
+ "string",
+ "struct",
+ "switch",
+ "this",
+ "throw",
+ "true",
+ "try",
+ "typeof",
+ "uint",
+ "ulong",
+ "unchecked",
+ "unsafe",
+ "ushort",
+ "using",
+ "value",
+ "var",
+ "virtual",
+ "void",
+ "volatile",
+ "when",
+ "where",
+ "while",
+ "yield "
+ };
+ #endregion
+
+ public enum States
+ {
+ init,
+ BlockComment,
+ InNameSpace,
+ InClass,
+ InMember,
+ Unknown,
+ }
+
+ public CSharpParser (CodeBuffer _buffer) : base(_buffer)
+ {
+ }
+
+ #region Regular Expression for validity checks
+ static Regex rxValidChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
+ static Regex rxNameStartChar = new Regex(@"_|\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}");
+ static Regex rxNameChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
+ static Regex rxNewLineChar = new Regex(@"\u000D|\u000A|\u0085|\u2028|\u2029");
+ static Regex rxWhiteSpaceChar = new Regex(@"\p{Zs}|\u0009|\u000B|\u000C");
+ static Regex rxDecimal = new Regex(@"[0-9]+");
+ static Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
+
+ public static bool CharIsValidCharStartName (char c) {
+ return rxNameStartChar.IsMatch(new string(new char[]{c}));
+ }
+ public static bool CharIsValidCharName (char c) {
+ return rxNameChar.IsMatch(new string(new char[]{c}));
+ }
+
+ public bool nextCharIsValidCharStartName
+ {
+ get { return CharIsValidCharStartName(Peek()); }
+ }
+ public bool nextCharIsValidCharName
+ {
+ get { return CharIsValidCharName(Peek()); }
+ }
+ #endregion
+
+ States curState = States.init;
+ States savedState = States.init;
+
+ public override void ParseCurrentLine ()
+ {
+ //Debug.WriteLine (string.Format("parsing line:{0}", currentLine));
+ CodeLine cl = buffer [currentLine];
+ cl.Tokens = new List<Token> ();
+
+
+ //retrieve current parser state from previous line
+ if (currentLine > 0)
+ curState = (States)buffer[currentLine - 1].EndingState;
+ else
+ curState = States.init;
+
+ States previousEndingState = (States)cl.EndingState;
+
+ while (! eol) {
+ if (currentTok.IsNull)
+ SkipWhiteSpaces ();
+
+ if (curState == States.BlockComment) {
+ currentTok.Start = CurrentPosition;
+ currentTok.Type = (BufferParser.TokenType)TokenType.BlockComment;
+ currentTok += ReadLineUntil ("*/");
+ if (Peek (2) == "*/") {
+ readToCurrTok (2);
+ curState = savedState;
+ }
+ saveAndResetCurrentTok ();
+ continue;
+ }
+
+ switch (Peek()) {
+ case '\n':
+ eol = true;
+ if (!currentTok.IsNull)
+ saveAndResetCurrentTok ();
+ break;
+ case '#':
+ readToCurrTok (true);
+ currentTok += ReadLine ();
+ saveAndResetCurrentTok (TokenType.Preprocessor);
+ break;
+ case '/':
+ readToCurrTok (true);
+ switch (Peek ()) {
+ case '*':
+ readToCurrTok ();
+ currentTok += ReadLine ();
+ //currentTok.Type = (Parser.TokenType)TokenType.BlockComment;
+ savedState = curState;
+ curState = States.BlockComment;
+ saveAndResetCurrentTok (TokenType.BlockComment);
+ break;
+ case '/':
+ //readToCurrTok ();
+ currentTok += ReadLine ();
+ saveAndResetCurrentTok (TokenType.LineComment);
+ //currentTok.Type = (Parser.TokenType)TokenType.LineComment;
+ break;
+ default:
+ currentTok += ReadLine ();
+ saveAndResetCurrentTok (TokenType.Unknown);
+ break;
+ }
+ break;
+ case '{':
+ if (currentTok.IsNull)
+ readAndResetCurrentTok (TokenType.OpenBlock, true);
+ else
+ readToCurrTok ();
+ break;
+ case '}':
+ if (currentTok.IsNull)
+ readAndResetCurrentTok (TokenType.CloseBlock, true);
+ else
+ readToCurrTok ();
+ break;
+ case '\\'://unicode escape sequence
+ if (!(currentTok.Type == TokenType.Identifier ||
+ currentTok.IsEmpty || currentTok.Type == TokenType.StringLitteral || currentTok.Type == TokenType.CharLitteral)) {
+ saveAndResetCurrentTok ();
+ }
+ Point pos = CurrentPosition;
+ Read ();
+ char escChar = Read ();
+
+ if (escChar == 'u') {
+ char c = char.ConvertFromUtf32 (int.Parse (Read (4), System.Globalization.NumberStyles.HexNumber))[0];
+ if (currentTok.IsEmpty) {
+ if (!CharIsValidCharStartName (c))
+ throwParserException ("expecting identifier start");
+ currentTok.Start = pos;
+ currentTok.Type = TokenType.Identifier;
+ } else if (currentTok.Type == TokenType.Identifier) {
+ if (!CharIsValidCharName (c))
+ throwParserException ("expecting identifier valid char");
+ }
+ currentTok += c;
+ break;
+ }
+ currentTok += new String (new char[] { '\\', escChar });
+ break;
+ case '\'':
+ if (currentTok.IsNull) {
+ readAndResetCurrentTok (TokenType.CharLitteralOpening, true);
+ currentTok.Type = TokenType.CharLitteral;
+ } else if (currentTok.Type == TokenType.CharLitteral) {
+ saveAndResetCurrentTok ();
+ readAndResetCurrentTok (TokenType.CharLitteralClosing, true);
+ } else if (currentTok.Type == TokenType.StringLitteral){
+ readToCurrTok ();
+ } else
+ throwParserException ("unexpected character: (\')");
+ break;
+ case '"':
+ if (currentTok.IsNull) {
+ readAndResetCurrentTok (TokenType.StringLitteralOpening, true);
+ currentTok.Type = TokenType.StringLitteral;
+ } else if (currentTok.Type == TokenType.StringLitteral) {
+ saveAndResetCurrentTok ();
+ readAndResetCurrentTok (TokenType.StringLitteralClosing, true);
+ } else
+ throwParserException ("unexpected character: (\")");
+ break;
+ default:
+ if (currentTok.Type == TokenType.StringLitteral || currentTok.Type == TokenType.CharLitteral) {
+ readToCurrTok (currentTok.IsEmpty);
+ } else if (currentTok.IsNull) {
+ if (nextCharIsValidCharStartName) {
+ readToCurrTok (true);
+ while (nextCharIsValidCharName)
+ readToCurrTok ();
+
+ if (keywords.Contains (currentTok.Content))
+ saveAndResetCurrentTok (TokenType.Keyword);
+ else
+ saveAndResetCurrentTok (TokenType.Identifier);
+ continue;
+ } else
+ readAndResetCurrentTok(TokenType.Unknown, true);
+ } else
+ readAndResetCurrentTok(TokenType.Unknown, true);
+ break;
+ }
+ }
+
+ if (cl.EndingState != (int)curState && currentLine < buffer.LineCount - 1)
+ buffer [currentLine + 1].Tokens = null;
+
+ cl.EndingState = (int)curState;
+ }
+
+ public override void SyntaxAnalysis ()
+ {
+ initSyntaxAnalysis ();
+ Node currentNode = RootNode;
+
+ int ptrLine = 0;
+ while (ptrLine < buffer.LineCount) {
+ CodeLine cl = buffer [ptrLine];
+ if (cl.Tokens == null){
+ ptrLine++;
+ continue;
+ }
+ cl.SyntacticNode = null;
+
+ int tokPtr = 0;
+ bool onlyWhiteSpace = true;
+ while (tokPtr < cl.Tokens.Count) {
+ if (cl.Tokens [tokPtr].Type == TokenType.WhiteSpace) {
+ tokPtr++;
+ continue;
+ }
+
+ if (cl.Tokens [tokPtr].Type == TokenType.LineComment && onlyWhiteSpace) {
+ int startLine = ptrLine;
+ ptrLine++;
+ while (ptrLine < buffer.LineCount) {
+ int idx = buffer [ptrLine].FirstNonBlankTokIndex;
+ if (idx < 0)
+ break;
+ if (buffer [ptrLine].Tokens [idx].Type != TokenType.LineComment)
+ break;
+ ptrLine++;
+ }
+ ptrLine--;
+ if (ptrLine - startLine > 0) {
+ currentNode = addChildNode (currentNode, cl, tokPtr, "comment");
+ closeNodeAndGoUp (ref currentNode, buffer [ptrLine], "comment");
+ }
+ break;
+ }
+
+ switch (cl.Tokens [tokPtr].Type) {
+ case TokenType.BlockCommentStart:
+ case TokenType.OpenBlock:
+ currentNode = addChildNode (currentNode, cl, tokPtr);
+ break;
+ case TokenType.CloseBlock:
+ case TokenType.BlockCommentEnd:
+ closeNodeAndGoUp (ref currentNode, cl);
+ break;
+ case TokenType.Preprocessor:
+ if (cl.Tokens [tokPtr].Content.StartsWith ("#region", StringComparison.Ordinal)) {
+ currentNode = addChildNode (currentNode, cl, tokPtr, "region");
+ } else if (cl.Tokens [tokPtr].Content.StartsWith ("#endregion", StringComparison.Ordinal)) {
+
+ closeNodeAndGoUp (ref currentNode, cl,"region");
+ }
+ break;
+ }
+ onlyWhiteSpace = false;
+ tokPtr++;
+ }
+ ptrLine++;
+ }
+ /*ptrLine = 0;
+ while (ptrLine < buffer.LineCount) {
+ CodeLine cl = buffer [ptrLine];
+ if (cl.IsFoldable) {
+ if (cl.SyntacticNode.Type == "comment" || cl.SyntacticNode.Type == "region")
+ cl.IsFolded = true;
+ }
+ ptrLine++;
+ }*/
+ }
+ }
+}
+
--- /dev/null
+using System;
+using Crow;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Text.RegularExpressions;
+using System.Linq;
+
+namespace Crow.Coding
+{
+ public class StyleParser : BufferParser
+ {
+ enum States { init, classNames, members, value, endOfStatement }
+
+ public StyleParser (CodeBuffer _buffer) : base(_buffer)
+ {
+ }
+
+ #region Character ValidityCheck
+ static Regex rxValidChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
+ static Regex rxNameStartChar = new Regex(@"_|\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}");
+ static Regex rxNameChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
+ static Regex rxDecimal = new Regex(@"[0-9]+");
+ static Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
+
+ public bool nextCharIsValidCharStartName
+ {
+ get { return rxNameStartChar.IsMatch(new string(new char[]{Peek()})); }
+ }
+ public bool nextCharIsValidCharName
+ {
+ get { return rxNameChar.IsMatch(new string(new char[]{Peek()})); }
+ }
+ #endregion
+
+ States curState = States.classNames;
+
+ public override void ParseCurrentLine ()
+ {
+ //Debug.WriteLine (string.Format("parsing line:{0}", currentLine));
+ CodeLine cl = buffer [currentLine];
+ cl.Tokens = new List<Token> ();
+
+ //retrieve current parser state from previous line
+ if (currentLine > 0)
+ curState = (States)buffer[currentLine - 1].EndingState;
+ else
+ curState = States.init;
+
+ States previousEndingState = (States)cl.EndingState;
+
+ while (! eol) {
+ SkipWhiteSpaces ();
+
+ if (eol)
+ break;
+
+ if (Peek () == '\n') {
+ if (currentTok != TokenType.Unknown)
+ throw new ParserException (currentLine, currentColumn, "Unexpected end of line");
+ Read ();
+ eol = true;
+ continue;
+ }
+
+ switch (Peek()) {
+ case '/':
+ readToCurrTok (true);
+ switch (Peek ()) {
+ case '/':
+ currentTok += ReadLine ();
+ saveAndResetCurrentTok (TokenType.LineComment);
+ break;
+ default:
+ currentTok += ReadLine ();
+ saveAndResetCurrentTok (TokenType.Unknown);
+ break;
+ }
+ break;
+ case ',':
+ if (curState != States.init && curState != States.classNames )
+ throw new ParserException (currentLine, currentColumn, "Unexpected char ','");
+ readAndResetCurrentTok (TokenType.OperatorOrPunctuation, true);
+ curState = States.classNames;
+ break;
+ case '{':
+ if (!(curState == States.init || curState == States.classNames))
+ throw new ParserException (currentLine, currentColumn, "Unexpected char '{'");
+ readAndResetCurrentTok (TokenType.OpenBlock, true);
+ curState = States.members;
+ break;
+ case '}':
+ if (curState != States.members)
+ throw new ParserException (currentLine, currentColumn, "Unexpected char '}'");
+ readAndResetCurrentTok (TokenType.CloseBlock, true);
+ curState = States.classNames;
+ break;
+ case '=':
+ if (curState == States.classNames)
+ throw new ParserException (currentLine, currentColumn, "Unexpected char '='");
+ setPreviousTokOfTypeTo (TokenType.Type, TokenType.Identifier);
+ readAndResetCurrentTok (TokenType.OperatorOrPunctuation, true);
+ curState = States.value;
+ break;
+ case '"':
+ if (curState != States.value)
+ throw new ParserException (currentLine, currentColumn, "Unexpected char '\"'");
+ readAndResetCurrentTok (TokenType.StringLitteralOpening, true);
+
+ while (!eol) {
+ currentTok += ReadLineUntil ("\"");
+ if (currentTok.Content [currentTok.Content.Length - 1] == '\\')
+ readToCurrTok ();
+ else
+ break;
+ }
+ if (eol)
+ throw new ParserException (currentLine, currentColumn, "Unexpected end of line");
+ saveAndResetCurrentTok (TokenType.StringLitteral);
+
+ readAndResetCurrentTok (TokenType.StringLitteralClosing, true);
+ curState = States.endOfStatement;
+ break;
+ case ';':
+ if (curState != States.endOfStatement)
+ throw new ParserException (currentLine, currentColumn, "Unexpected end of statement");
+ readAndResetCurrentTok (TokenType.StatementEnding, true);
+ curState = States.members;
+ break;
+ default:
+ if (currentTok.Type != TokenType.Unknown)
+ throw new ParserException (currentLine, currentColumn, "error curtok not null");
+ if (curState == States.value)
+ throw new ParserException (currentLine, currentColumn, "expecting value enclosed in '\"'");
+ if (curState == States.endOfStatement)
+ throw new ParserException (currentLine, currentColumn, "expecting end of statement");
+
+ if (nextCharIsValidCharStartName) {
+ readToCurrTok (true);
+ while (nextCharIsValidCharName)
+ readToCurrTok ();
+ }
+ saveAndResetCurrentTok (TokenType.Type);
+ break;
+ }
+ }
+
+ if (cl.EndingState != (int)curState && currentLine < buffer.LineCount - 1)
+ buffer [currentLine + 1].Tokens = null;
+
+ cl.EndingState = (int)curState;
+ }
+ public override void SyntaxAnalysis ()
+ {
+ initSyntaxAnalysis ();
+ Node currentNode = RootNode;
+
+ for (int i = 0; i < buffer.LineCount; i++) {
+ CodeLine cl = buffer[i];
+ if (cl.Tokens == null)
+ continue;
+ cl.SyntacticNode = null;
+
+ int tokPtr = 0;
+ while (tokPtr < cl.Tokens.Count) {
+ switch (cl.Tokens [tokPtr].Type) {
+ case TokenType.OpenBlock:
+ currentNode = addChildNode (currentNode, cl, tokPtr, "style");
+ break;
+ case TokenType.CloseBlock:
+ closeNodeAndGoUp (ref currentNode, cl, "style");
+ break;
+ }
+ tokPtr++;
+ }
+ }
+ }
+ }
+}
+
--- /dev/null
+using System;
+using Crow;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using System.Diagnostics;
+using System.Linq;
+
+namespace Crow.Coding
+{
+ public class XMLParser : BufferParser
+ {
+ public new enum TokenType {
+ Unknown = BufferParser.TokenType.Unknown,
+ WhiteSpace = BufferParser.TokenType.WhiteSpace,
+ NewLine = BufferParser.TokenType.NewLine,
+ LineComment = BufferParser.TokenType.LineComment,
+ BlockCommentStart = BufferParser.TokenType.BlockCommentStart,
+ BlockComment = BufferParser.TokenType.BlockComment,
+ BlockCommentEnd = BufferParser.TokenType.BlockCommentEnd,
+ ElementName = BufferParser.TokenType.Type,
+ AttributeName = BufferParser.TokenType.Identifier,
+ ElementClosing = BufferParser.TokenType.StatementEnding,
+ Affectation = BufferParser.TokenType.OperatorOrPunctuation,
+ AttributeValueOpening = BufferParser.TokenType.StringLitteralOpening,
+ AttributeValueClosing = BufferParser.TokenType.StringLitteralClosing,
+ AttributeValue = BufferParser.TokenType.StringLitteral,
+ XMLDecl = BufferParser.TokenType.Preprocessor,
+ Doctype = BufferParser.TokenType.Keyword,
+ ElementStart = 50,
+ ElementEnd = 51,
+ }
+
+ public enum States
+ {
+ init, //first statement of prolog, xmldecl should only apear in this state
+ prolog, //misc before doctypedecl
+ InternalSubset, //doctype declaration subset
+ ExternalSubsetInit,
+ ExternalSubset,
+ BlockComment,
+ DTDEnd,//doctype finished
+ XML,//normal xml
+ StartTag,//inside start tag
+ Content,//after start tag with no closing slash
+ EndTag
+ }
+
+ #region CTOR
+ public XMLParser (CodeBuffer _buffer) : base(_buffer) {}
+ #endregion
+
+ enum Keywords
+ {
+ DOCTYPE,
+ ELEMENT,
+ ATTLIST,
+ ENTITY,
+ NOTATION
+ }
+
+ States curState = States.init;
+
+ #region Regular Expression for validity checks
+ //private static Regex rxValidChar = new Regex("[\u0020-\uD7FF]");
+ private static Regex rxValidChar = new Regex(@"\u0009|\u000A|\u000D|[\u0020-\uD7FF]|[\uE000-\uFFFD]"); //| [\u10000-\u10FFFF] unable to set those plans
+ private static Regex rxNameStartChar = new Regex(@":|[A-Z]|_|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]"); // | [\u10000-\uEFFFF]
+ private static Regex rxNameChar = new Regex(@":|[A-Z]|_|[a-z]|[\u00C0-\u00D6]|[\u00D8-\u00F6]|[\u00F8-\u02FF]|[\u0370-\u037D]|[\u037F-\u1FFF]|[\u200C-\u200D]|[\u2070-\u218F]|[\u2C00-\u2FEF]|[\u3001-\uD7FF]|[\uF900-\uFDCF]|[\uFDF0-\uFFFD]|-|\.|[0-9]|\u00B7|[\u0300-\u036F]|[\u203F-\u2040]");//[\u10000-\uEFFFF]|
+ private static Regex rxDecimal = new Regex(@"[0-9]+");
+ private static Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
+ private static Regex rxAttributeValue = new Regex(@"[^<]");
+ private static Regex rxEntityValue = new Regex(@"[^<]");
+ private static Regex rxPubidChar = new Regex(@"\u0020|\u000D|\u000A|[a-zA-Z0-9]|[-\(\)\+\,\./:=\?;!\*#@\$_%]");
+ #endregion
+
+ #region Character ValidityCheck
+ public bool nextCharIsValidCharStartName
+ {
+ get { return rxNameStartChar.IsMatch(new string(new char[]{Peek()})); }
+ }
+ public bool nextCharIsValidCharName
+ {
+ get { return rxNameChar.IsMatch(new string(new char[]{Peek()})); }
+ }
+ #endregion
+
+ public override void SetLineInError (ParserException ex)
+ {
+ base.SetLineInError (ex);
+ //buffer[ex.Line].Tokens.EndingState = (int)States.init;
+ }
+
+ public override void ParseCurrentLine ()
+ {
+ //Debug.WriteLine (string.Format("parsing line:{0}", currentLine));
+ CodeLine cl = buffer [currentLine];
+ cl.Tokens = new List<Token> ();
+
+ //retrieve current parser state from previous line
+ if (currentLine > 0)
+ curState = (States)buffer[currentLine - 1].EndingState;
+ else
+ curState = States.init;
+
+ States previousEndingState = (States)cl.EndingState;
+
+
+ while (! eol) {
+ SkipWhiteSpaces ();
+
+ if (eol)
+ break;
+
+ if (Peek () == '\n') {
+ if (currentTok != TokenType.Unknown)
+ throw new ParserException (currentLine, currentColumn, "Unexpected end of line");
+ Read ();
+ eol = true;
+ continue;
+ }
+
+ if (curState == States.BlockComment) {
+ if (currentTok != TokenType.Unknown)
+ Debugger.Break ();
+
+ currentTok.Start = CurrentPosition;
+ currentTok.Type = (BufferParser.TokenType)TokenType.BlockComment;
+ currentTok += ReadLineUntil ("-->");
+ if (Peek (3) == "-->") {
+ readToCurrTok (3);
+ curState = States.XML;
+ }
+ saveAndResetCurrentTok ();
+ continue;
+ }
+
+ switch (Peek()) {
+ case '<':
+ readToCurrTok (true);
+ switch (Peek()) {
+ case '?':
+ if (curState != States.init)
+ throw new ParserException (currentLine, currentColumn, "xml decl may appear only on first line");
+ readToCurrTok ();
+ currentTok += ReadLineUntil ("?>");
+ if (Peek (2) != "?>")
+ throw new ParserException (currentLine, currentColumn, "expecting '?>'");
+ readToCurrTok (2);
+ saveAndResetCurrentTok (TokenType.XMLDecl);
+ curState = States.prolog;
+ break;
+ case '!':
+ readToCurrTok ();
+ switch (Peek()) {
+ case '-':
+ readToCurrTok ();
+ if (Peek () != '-')
+ throw new ParserException (currentLine, currentColumn, "Expecting comment start tag");
+ readToCurrTok ();
+ currentTok += ReadLineUntil ("--");
+ if (Peek (3) == "-->") {
+ readToCurrTok (3);
+ }else
+ curState = States.BlockComment;
+ saveAndResetCurrentTok (TokenType.BlockComment);
+ break;
+ case 'D':
+ case 'd':
+ string tmp = Read (7);
+ currentTok += tmp;
+ if (!string.Equals (tmp, "DOCTYPE", StringComparison.OrdinalIgnoreCase))
+ throw new ParserException (currentLine, currentColumn, "Expecting 'doctype'");
+ saveAndResetCurrentTok (TokenType.Doctype);
+ break;
+ default:
+ throw new ParserException (currentLine, currentColumn, "error");
+ }
+ break;
+ default:
+ if (!(curState == States.Content || curState == States.XML || curState == States.init || curState == States.prolog))
+ throw new ParserException (currentLine, currentColumn, "Unexpected char: '<'");
+ if (Peek () == '/') {
+ curState = States.EndTag;
+ readToCurrTok ();
+ saveAndResetCurrentTok (TokenType.ElementEnd);
+ } else {
+ curState = States.StartTag;
+ saveAndResetCurrentTok (TokenType.ElementStart);
+ }
+
+ if (!nextCharIsValidCharStartName)
+ throw new ParserException (currentLine, currentColumn, "Expected element name");
+
+ readToCurrTok (true);
+ while (nextCharIsValidCharName)
+ readToCurrTok ();
+
+ saveAndResetCurrentTok (TokenType.ElementName);
+ break;
+ }
+ break;
+ case '/':
+ if (curState != States.StartTag)
+ throw new ParserException (currentLine, currentColumn, "Unexpected char: '/'");
+ readToCurrTok (true);
+ if (Peek () != '>')
+ throw new ParserException (currentLine, currentColumn, "Expecting '>'");
+ readAndResetCurrentTok (TokenType.ElementEnd);
+
+ curState = States.XML;
+ break;
+ case '>':
+ readAndResetCurrentTok (TokenType.ElementClosing, true);
+ switch (curState) {
+ case States.EndTag:
+ curState = States.XML;
+ break;
+ case States.StartTag:
+ curState = States.Content;
+ break;
+ default:
+ throw new ParserException (currentLine, currentColumn, "Unexpected char: '>'");
+ }
+ break;
+ default:
+ switch (curState) {
+ case States.StartTag:
+ if (!nextCharIsValidCharStartName)
+ throw new ParserException (currentLine, currentColumn, "Expected attribute name");
+ readToCurrTok (true);
+ while (nextCharIsValidCharName)
+ readToCurrTok ();
+ saveAndResetCurrentTok (TokenType.AttributeName);
+
+ SkipWhiteSpaces ();
+
+ if (Peek () != '=')
+ throw new ParserException (currentLine, currentColumn, "Expecting: '='");
+ readAndResetCurrentTok (TokenType.Affectation, true);
+
+ SkipWhiteSpaces ();
+
+ char openAttVal = Peek ();
+ if (openAttVal != '"' && openAttVal != '\'')
+ throw new ParserException (currentLine, currentColumn, "Expecting attribute value enclosed either in '\"' or in \"'\"");
+ readAndResetCurrentTok (TokenType.AttributeValueOpening, true);
+
+ currentTok.Start = CurrentPosition;
+ currentTok.Content = ReadLineUntil (new string (new char[]{ openAttVal }));
+ saveAndResetCurrentTok (TokenType.AttributeValue);
+
+ if (Peek () != openAttVal)
+ throw new ParserException (currentLine, currentColumn, string.Format ("Expecting {0}", openAttVal));
+ readAndResetCurrentTok (TokenType.AttributeValueClosing, true);
+ break;
+ default:
+ throw new ParserException (currentLine, currentColumn, "unexpected char: " + Peek ());
+ }
+ break;
+ }
+ }
+
+ if (cl.EndingState != (int)curState && currentLine < buffer.LineCount - 1)
+ buffer [currentLine + 1].Tokens = null;
+
+ cl.EndingState = (int)curState;
+ }
+
+ public override void SyntaxAnalysis ()
+ {
+ initSyntaxAnalysis ();
+ Node currentNode = RootNode;
+
+ for (int i = 0; i < buffer.LineCount; i++) {
+ CodeLine cl = buffer[i];
+ if (cl.Tokens == null)
+ continue;
+ cl.SyntacticNode = null;
+
+ int tokPtr = 0;
+ while (tokPtr < cl.Tokens.Count) {
+ switch ((XMLParser.TokenType)cl.Tokens [tokPtr].Type) {
+ case TokenType.ElementStart:
+ tokPtr++;
+ currentNode = addChildNode (currentNode, cl, tokPtr, "Element");
+ break;
+ case TokenType.ElementEnd:
+ tokPtr++;
+ if (tokPtr < cl.Tokens.Count) {
+ if ((XMLParser.TokenType)cl.Tokens [tokPtr].Type == TokenType.ElementName &&
+ cl.Tokens [tokPtr].Content != currentNode.Name)
+ throw new ParserException (currentLine, currentColumn, "Closing tag mismatch");
+ }
+ closeNodeAndGoUp (ref currentNode, cl, "Element");
+ break;
+ case TokenType.ElementClosing:
+ //currentNode = currentNode.Parent;
+ break;
+ default:
+ break;
+ }
+ tokPtr++;
+ }
+ }
+ }
+ }
+}
+
--- /dev/null
+//
+// Tokenizer.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using Crow.Text;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+
+namespace Crow.Coding2
+{
+ public static class TokenType {
+ public const int Undefine = 0;
+ public const int WhiteSpace = 0;
+ }
+ public class Token {
+ public int ptr;
+ public int length;
+ }
+
+ public class Tokenizer
+ {
+ #region Regular Expression for validity checks
+ public Regex rxValidChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
+ public Regex rxNameStartChar = new Regex(@"_|\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}");
+ public Regex rxNameChar = new Regex(@"\p{Lu}|\p{Ll}|\p{Lt}|\p{Lm}|\p{Lo}|\p{Nl}|\p{Mn}|\p{Mc}|\p{Nd}|\p{Pc}|\p{Cf}");
+ public Regex rxNewLineChar = new Regex(@"\u000D|\u000A|\u0085|\u2028|\u2029");
+ public Regex rxWhiteSpaceChar = new Regex(@"\p{Zs}|\u0009|\u000B|\u000C");
+ public Regex rxDecimal = new Regex(@"[0-9]+");
+ public Regex rxHexadecimal = new Regex(@"[0-9a-fA-F]+");
+ #endregion
+
+ public List<Token> Tokens;
+
+ public Tokenizer (TextBuffer buffer)
+ {
+ }
+
+
+ public void Tokenize () {
+
+ }
+
+ }
+}
+
--- /dev/null
+//
+// ScrollingTextBox.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.ComponentModel;
+using System.Collections.Generic;
+using System.Diagnostics;
+using vkvg;
+
+namespace Crow.Coding
+{
+ /// <summary>
+ /// Scrolling text box optimized for monospace fonts, for coding
+ /// </summary>
+ public class SourceEditor : Editor
+ {
+ #region CTOR
+ public SourceEditor (): base()
+ {
+ formatting.Add ((int)XMLParser.TokenType.AttributeName, new TextFormatting (Color.DarkSlateGrey, Color.Transparent));
+ formatting.Add ((int)XMLParser.TokenType.ElementName, new TextFormatting (Color.DarkBlue, Color.Transparent));
+ formatting.Add ((int)XMLParser.TokenType.ElementStart, new TextFormatting (Color.Black, Color.Transparent));
+ formatting.Add ((int)XMLParser.TokenType.ElementEnd, new TextFormatting (Color.Black, Color.Transparent));
+ formatting.Add ((int)XMLParser.TokenType.ElementClosing, new TextFormatting (Color.Black, Color.Transparent));
+
+ formatting.Add ((int)XMLParser.TokenType.AttributeValueOpening, new TextFormatting (Color.Crimson, Color.Transparent));
+ formatting.Add ((int)XMLParser.TokenType.AttributeValueClosing, new TextFormatting (Color.Crimson, Color.Transparent));
+ formatting.Add ((int)XMLParser.TokenType.AttributeValue, new TextFormatting (Color.FireBrick, Color.Transparent, false, true));
+ formatting.Add ((int)XMLParser.TokenType.XMLDecl, new TextFormatting (Color.ForestGreen, Color.Transparent));
+
+ formatting.Add ((int)BufferParser.TokenType.BlockComment, new TextFormatting (Color.Grey, Color.Transparent, false, true));
+ formatting.Add ((int)BufferParser.TokenType.LineComment, new TextFormatting (Color.Grey, Color.Transparent, false, true));
+ formatting.Add ((int)BufferParser.TokenType.OperatorOrPunctuation, new TextFormatting (Color.Black, Color.Transparent));
+ formatting.Add ((int)BufferParser.TokenType.Keyword, new TextFormatting (Color.Teal, Color.Transparent));
+ //formatting.Add ((int)BufferParser.TokenType.Keyword, new TextFormatting (Color.DarkCyan, Color.Transparent));
+
+ parsing.Add (".crow", "Crow.Coding.XMLParser");
+ parsing.Add (".svg", "Crow.Coding.XMLParser");
+ parsing.Add (".template", "Crow.Coding.XMLParser");
+ parsing.Add (".cs", "Crow.Coding.CSharpParser");
+ parsing.Add (".style", "Crow.Coding.StyleParser");
+
+ buffer = new CodeBuffer ();
+ buffer.LineUpadateEvent += Buffer_LineUpadateEvent;
+ buffer.LineAdditionEvent += Buffer_LineAdditionEvent;;
+ buffer.LineRemoveEvent += Buffer_LineRemoveEvent;
+ buffer.BufferCleared += Buffer_BufferCleared;
+ buffer.SelectionChanged += Buffer_SelectionChanged;
+ buffer.PositionChanged += Buffer_PositionChanged;
+ buffer.FoldingEvent += Buffer_FoldingEvent;
+ buffer.Add (new CodeLine(""));
+ }
+ #endregion
+
+ string oldSource = "";
+ //save requested position on error, and try it on next move
+ int requestedLine = 0, requestedCol = 0;
+ volatile bool isDirty = false;
+
+ const int leftMarginGap = 10;//gap between items in margin and text
+ const int foldSize = 9;//folding rectangles size
+ const int foldHSpace = 4;//folding level tabulation x
+ int foldMargin { get { return parser == null ? 0 : parser.SyntacticTreeMaxDepth * foldHSpace; }}//folding margin size
+
+ #region private and protected fields
+ bool foldingEnabled = true;
+ int leftMargin = 0; //margin used to display line numbers, folding errors,etc...
+ int visibleLines = 1;
+ int visibleColumns = 1;
+ int firstPrintedLine = -1;
+ int printedCurrentLine = 0;//Index of the currentline in the PrintedLines array
+
+ CodeBuffer buffer;
+ BufferParser parser;
+ List<CodeLine> PrintedLines;//list of lines visible in the Editor depending on scrolling and folding
+
+ Dictionary<int, TextFormatting> formatting = new Dictionary<int, TextFormatting>();
+ Dictionary<string, string> parsing = new Dictionary<string, string>();
+
+ Color selBackground;
+ Color selForeground;
+ int selStartCol;
+ int selEndCol;
+
+ protected Rectangle rText;
+ protected FontExtents fe;
+ protected TextExtents te;
+
+ Point mouseLocalPos;
+ bool doubleClicked = false;
+ #endregion
+
+ void measureLeftMargin () {
+ leftMargin = 0;
+ if (PrintLineNumbers)
+ leftMargin += (int)Math.Ceiling((double)buffer.LineCount.ToString().Length * fe.MaxXAdvance) +6;
+ if (foldingEnabled)
+ leftMargin += foldMargin;
+ if (leftMargin > 0)
+ leftMargin += leftMarginGap;
+ updateVisibleColumns ();
+ }
+ void findLongestLineAndUpdateMaxScrollX() {
+ buffer.FindLongestVisualLine ();
+ updateMaxScrollX ();
+// Debug.WriteLine ("SourceEditor: Find Longest line and update maxscrollx: {0} visible cols:{1}", MaxScrollX, visibleColumns);
+ }
+ /// <summary>
+ /// Updates visible line in widget, adapt max scroll y and updatePrintedLines
+ /// </summary>
+ void updateVisibleLines(){
+ visibleLines = (int)Math.Floor ((double)ClientRectangle.Height / (fe.Ascent+fe.Descent));
+ NotifyValueChanged ("VisibleLines", visibleLines);
+ updateMaxScrollY ();
+ updatePrintedLines ();
+ RegisterForGraphicUpdate ();
+// System.Diagnostics.Debug.WriteLine ("update visible lines: " + visibleLines);
+// System.Diagnostics.Debug.WriteLine ("update MaxScrollY: " + MaxScrollY);
+ }
+ void updateVisibleColumns(){
+ visibleColumns = (int)Math.Floor ((double)(ClientRectangle.Width - leftMargin)/ fe.MaxXAdvance);
+ NotifyValueChanged ("VisibleColumns", visibleColumns);
+ updateMaxScrollX ();
+// System.Diagnostics.Debug.WriteLine ("update visible columns: {0} leftMargin:{1}",visibleColumns, leftMargin);
+// System.Diagnostics.Debug.WriteLine ("update MaxScrollX: " + MaxScrollX);
+ }
+ void updateMaxScrollX () {
+ MaxScrollX = Math.Max (0, buffer.longestLineCharCount - visibleColumns);
+ if (buffer.longestLineCharCount > 0)
+ NotifyValueChanged ("ChildWidthRatio", Slot.Width * visibleColumns / buffer.longestLineCharCount);
+ }
+ void updateMaxScrollY () {
+ if (parser == null || !foldingEnabled) {
+ MaxScrollY = Math.Max (0, buffer.LineCount - visibleLines);
+ if (buffer.UnfoldedLines > 0)
+ NotifyValueChanged ("ChildHeightRatio", Slot.Height * visibleLines / buffer.UnfoldedLines);
+ } else {
+ MaxScrollY = Math.Max (0, buffer.UnfoldedLines - visibleLines);
+ if (buffer.UnfoldedLines > 0)
+ NotifyValueChanged ("ChildHeightRatio", Slot.Height * visibleLines / buffer.UnfoldedLines);
+ }
+ }
+ void updatePrintedLines () {
+ buffer.editMutex.EnterReadLock ();
+ editorMutex.EnterWriteLock ();
+
+ PrintedLines = new List<CodeLine> ();
+ int curL = 0;
+ int i = 0;
+
+ while (curL < buffer.LineCount && i < ScrollY) {
+ if (buffer [curL].IsFolded)
+ curL = buffer.GetEndNodeIndex (curL);
+ curL++;
+ i++;
+ }
+
+ firstPrintedLine = curL;
+ i = 0;
+ while (i < visibleLines && curL < buffer.LineCount) {
+ PrintedLines.Add (buffer [curL]);
+
+ if (buffer [curL].IsFolded)
+ curL = buffer.GetEndNodeIndex (curL);
+
+ curL++;
+ i++;
+ }
+
+ buffer.editMutex.ExitReadLock ();
+ editorMutex.ExitWriteLock ();
+ }
+ void updateOnScreenCurLineFromBuffCurLine(){
+ printedCurrentLine = PrintedLines.IndexOf (buffer.CurrentCodeLine);
+ }
+ void toogleFolding (int line) {
+ if (parser == null || !foldingEnabled)
+ return;
+ buffer.ToogleFolding (line);
+ }
+
+ #region Editor overrides
+ protected override void updateEditorFromProjFile ()
+ {
+ Debug.WriteLine("\t\tSourceEditor updateEditorFromProjFile");
+
+ //buffer.editMutex.EnterWriteLock ();
+ loadSource ();
+ //buffer.editMutex.ExitWriteLock ();
+
+ isDirty = false;
+ oldSource = projFile.Source;
+ CurrentLine = requestedLine;
+ CurrentColumn = requestedCol;
+ projFile.RegisteredEditors [this] = true;
+ }
+ protected override void updateProjFileFromEditor ()
+ {
+ Debug.WriteLine("\t\tSourceEditor updateProjFileFromEditor");
+
+ buffer.editMutex.EnterWriteLock ();
+ string newsrc = buffer.FullText;
+ buffer.editMutex.ExitWriteLock ();
+ projFile.UpdateSource (this, newsrc);
+ }
+ protected override bool EditorIsDirty {
+ get { return isDirty; }
+ set { isDirty = value; }
+ }
+ protected override bool IsReady {
+ get { return projFile != null && buffer != null; }
+ }
+ #endregion
+
+ #region Buffer events handlers
+ void Buffer_BufferCleared (object sender, EventArgs e)
+ {
+ editorMutex.EnterWriteLock ();
+
+ buffer.longestLineCharCount = 0;
+ buffer.longestLineIdx = 0;
+ measureLeftMargin ();
+ MaxScrollX = MaxScrollY = 0;
+ PrintedLines = null;
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ isDirty = true;
+
+ editorMutex.ExitWriteLock ();
+ }
+ void Buffer_LineAdditionEvent (object sender, CodeBufferEventArgs e)
+ {
+ for (int i = 0; i < e.LineCount; i++) {
+ int lptr = e.LineStart + i;
+ int charCount = buffer[lptr].PrintableLength;
+ if (charCount > buffer.longestLineCharCount) {
+ buffer.longestLineIdx = lptr;
+ buffer.longestLineCharCount = charCount;
+ }else if (lptr <= buffer.longestLineIdx)
+ buffer.longestLineIdx++;
+ if (parser == null)
+ continue;
+ parser.TryParseBufferLine (e.LineStart + i);
+ }
+
+ if (parser != null)
+ parser.reparseSource ();
+
+ measureLeftMargin ();
+
+ updatePrintedLines ();
+ updateMaxScrollY ();
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ isDirty = true;
+ }
+ void Buffer_LineRemoveEvent (object sender, CodeBufferEventArgs e)
+ {
+ bool trigFindLongestLine = false;
+ for (int i = 0; i < e.LineCount; i++) {
+ int lptr = e.LineStart + i;
+ if (lptr <= buffer.longestLineIdx)
+ trigFindLongestLine = true;
+ }
+ if (trigFindLongestLine)
+ findLongestLineAndUpdateMaxScrollX ();
+
+ measureLeftMargin ();
+ updatePrintedLines ();
+ updateMaxScrollY ();
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ isDirty = true;
+ }
+ void Buffer_LineUpadateEvent (object sender, CodeBufferEventArgs e)
+ {
+ bool trigFindLongestLine = false;
+ for (int i = 0; i < e.LineCount; i++) {
+
+ int lptr = e.LineStart + i;
+ if (lptr == buffer.longestLineIdx)
+ trigFindLongestLine = true;
+ else if (buffer[lptr].PrintableLength > buffer.longestLineCharCount) {
+ buffer.longestLineCharCount = buffer[lptr].PrintableLength;
+ buffer.longestLineIdx = lptr;
+ }
+ }
+ if (trigFindLongestLine)
+ findLongestLineAndUpdateMaxScrollX ();
+
+ RegisterForGraphicUpdate ();
+ notifyPositionChanged ();
+ isDirty = true;
+ }
+ void Buffer_PositionChanged (object sender, EventArgs e)
+ {
+ //Console.WriteLine ("Position changes: ({0},{1})", buffer.CurrentLine, buffer.CurrentColumn);
+ int cc = buffer.CurrentTabulatedColumn;
+
+ if (cc > visibleColumns + ScrollX) {
+ ScrollX = cc - visibleColumns;
+ } else if (cc < ScrollX)
+ ScrollX = cc;
+
+ RegisterForGraphicUpdate ();
+ updateOnScreenCurLineFromBuffCurLine ();
+ notifyPositionChanged ();
+ }
+
+ void Buffer_SelectionChanged (object sender, EventArgs e)
+ {
+ RegisterForGraphicUpdate ();
+ }
+ void Buffer_FoldingEvent (object sender, CodeBufferEventArgs e)
+ {
+ updatePrintedLines ();
+ updateOnScreenCurLineFromBuffCurLine ();
+ updateMaxScrollY ();
+ RegisterForGraphicUpdate ();
+ }
+ #endregion
+
+ void notifyPositionChanged (){
+ try {
+ NotifyValueChanged ("CurrentLine", buffer.CurrentLine+1);
+ NotifyValueChanged ("CurrentColumn", buffer.CurrentColumn+1);
+ NotifyValueChanged ("CurrentLineHasError", CurrentLineHasError);
+ NotifyValueChanged ("CurrentLineError", CurrentLineError);
+ } catch (Exception ex) {
+ Console.WriteLine (ex.ToString ());
+ }
+ }
+
+ #region Public Crow Properties
+ public int CurrentLine{
+ get { return buffer == null ? 0 : buffer.CurrentLine+1; }
+ set {
+ try {
+ int l = value - 1;
+ if (l == buffer.CurrentLine)
+ return;
+ buffer.CurrentLine = l;
+ l = buffer.CurrentLine; //reaffect from buffer where bound check is made
+ if ((bool)buffer [l]?.IsFolded)
+ buffer.ToogleFolding (l);
+ } catch (Exception ex) {
+ requestedLine = value - 1;
+ Console.WriteLine ("Error cur column: " + ex);
+ }
+ }
+ }
+ public int CurrentColumn{
+ get { return buffer == null ? 0 : buffer.CurrentColumn+1; }
+ set {
+ try {
+ if (value - 1 == buffer.CurrentColumn)
+ return;
+ buffer.CurrentColumn = value - 1;
+ } catch (Exception ex) {
+ requestedCol = value - 1;
+ Console.WriteLine ("Error cur column: " + ex.ToString ());
+ }
+ }
+ }
+ public bool PrintLineNumbers
+ {
+ get { return Configuration.Global.Get<bool> ("PrintLineNumbers"); }
+ set {
+ if (PrintLineNumbers == value)
+ return;
+ Configuration.Global.Set ("PrintLineNumbers", value);
+ NotifyValueChanged ("PrintLineNumbers", PrintLineNumbers);
+ measureLeftMargin ();
+ RegisterForGraphicUpdate ();
+ }
+ }
+ [DefaultValue("SteelBlue")]
+ public virtual Color SelectionBackground {
+ get { return selBackground; }
+ set {
+ if (value == selBackground)
+ return;
+ selBackground = value;
+ NotifyValueChanged ("SelectionBackground", selBackground);
+ RegisterForRedraw ();
+ }
+ }
+ [DefaultValue("White")]
+ public virtual Color SelectionForeground {
+ get { return selForeground; }
+ set {
+ if (value == selForeground)
+ return;
+ selForeground = value;
+ NotifyValueChanged ("SelectionForeground", selForeground);
+ RegisterForRedraw ();
+ }
+ }
+ public override int ScrollY {
+ get {
+ return base.ScrollY;
+ }
+ set {
+ if (value == base.ScrollY)
+ return;
+ base.ScrollY = value;
+ updatePrintedLines ();
+ updateOnScreenCurLineFromBuffCurLine ();
+ RegisterForGraphicUpdate ();
+ }
+ }
+ public ParserException CurrentLineError {
+ get { return buffer?.CurrentCodeLine?.exception; }
+ }
+ public bool CurrentLineHasError {
+ get { return buffer == null ? false : buffer.CurrentCodeLine == null ? false :
+ buffer.CurrentCodeLine.exception != null; }
+ }
+ public override ProjectFile ProjectNode {
+ get {
+ return base.ProjectNode;
+ }
+ set {
+ base.ProjectNode = value;
+ if (projFile != null)
+ parser = getParserFromExt (System.IO.Path.GetExtension (projFile.Extension));
+ }
+ }
+ #endregion
+
+ BufferParser getParserFromExt (string extension) {
+ if (string.IsNullOrEmpty(extension))
+ return null;
+ if (!parsing.ContainsKey(extension))
+ return null;
+ Type parserType = Type.GetType (parsing [extension]);
+ if (parserType == null)
+ return null;
+ return (BufferParser)Activator.CreateInstance (parserType, buffer );
+ }
+ void loadSource () {
+
+ try {
+
+ if (parser == null)
+ buffer.Load (projFile.Source);
+ else//parser may have special linebrk rules
+ buffer.Load (projFile.Source, parser.LineBrkRegex);
+
+ } catch (Exception ex) {
+ Debug.WriteLine (ex.ToString ());
+ }
+
+ projFile.RegisteredEditors [this] = true;
+
+ updateMaxScrollY ();
+ MaxScrollX = Math.Max (0, buffer.longestLineCharCount - visibleColumns);
+ updatePrintedLines ();
+
+ RegisterForGraphicUpdate ();
+ }
+
+ /// <summary>
+ /// Current editor line, when set, update buffer.CurrentLine
+ /// </summary>
+ int PrintedCurrentLine {
+ get { return printedCurrentLine;}
+ set {
+ if (value < 0) {
+ ScrollY += value;
+ printedCurrentLine = 0;
+ } else if (PrintedLines.Count < visibleLines && value >= PrintedLines.Count) {
+ printedCurrentLine = PrintedLines.Count - 1;
+ }else if (value >= visibleLines) {
+ ScrollY += value - visibleLines + 1;
+ printedCurrentLine = visibleLines - 1;
+ }else
+ printedCurrentLine = value;
+ //Debug.WriteLine ("printed current line:" + printedCurrentLine.ToString ());
+ //update position in buffer
+ buffer.CurrentLine = buffer.IndexOf (PrintedLines[printedCurrentLine]);
+ }
+ }
+ int getTabulatedColumn (int col, int line) {
+ return buffer [line].Content.Substring (0, col).Replace ("\t", new String (' ', Interface.TabSize)).Length;
+ }
+ int getTabulatedColumn (Point pos) {
+ return getTabulatedColumn (pos.X,pos.Y);
+ }
+ /// <summary>
+ /// Moves cursor one char to the left, move up if cursor reaches start of line
+ /// </summary>
+ /// <returns><c>true</c> if move succeed</returns>
+ public bool MoveLeft(){
+ if (buffer.CurrentColumn == 0) {
+ if (printedCurrentLine == 0)
+ return false;
+ PrintedCurrentLine--;
+ buffer.CurrentColumn = int.MaxValue;
+ } else
+ buffer.CurrentColumn--;
+ return true;
+ }
+ /// <summary>
+ /// Moves cursor one char to the right, move down if cursor reaches end of line
+ /// </summary>
+ /// <returns><c>true</c> if move succeed</returns>
+ public bool MoveRight(){
+ if (buffer.CurrentColumn >= buffer.CurrentCodeLine.Length) {
+ if (PrintedCurrentLine == buffer.UnfoldedLines - 1)
+ return false;
+ buffer.CurrentColumn = 0;
+ PrintedCurrentLine++;
+ } else
+ buffer.CurrentColumn++;
+ return true;
+ }
+
+ #region Drawing
+ void drawLine(Context gr, Rectangle cb, int i) {
+ CodeLine cl = PrintedLines[i];
+ int lineIndex = buffer.IndexOf(cl);
+
+ double y = cb.Y + (fe.Ascent+fe.Descent) * i, x = cb.X;
+
+ //Draw line numbering
+ Color mgFg = Color.Grey;
+ Color mgBg = Color.White;
+ if (PrintLineNumbers){
+ Rectangle mgR = new Rectangle ((int)x, (int)y, leftMargin - leftMarginGap, (int)Math.Ceiling((fe.Ascent+fe.Descent)));
+ if (cl.exception != null) {
+ mgBg = Color.Red;
+ if (buffer.CurrentLine == lineIndex)
+ mgFg = Color.White;
+ else
+ mgFg = Color.LightGrey;
+ }else if (buffer.CurrentLine == lineIndex && HasFocus) {
+ mgFg = Color.Black;
+ mgBg = Color.DarkGrey;
+ }
+ string strLN = (lineIndex+1).ToString ();
+ gr.SetSourceColor (mgBg);
+ gr.Rectangle (mgR);
+ gr.Fill();
+ gr.SetSourceColor (mgFg);
+
+ gr.MoveTo (cb.X + (int)(gr.TextExtents (buffer.LineCount.ToString()).Width - gr.TextExtents (strLN).Width), y + fe.Ascent);
+ gr.ShowText (strLN);
+ gr.Fill ();
+ }
+
+
+
+ //draw folding
+ if (foldingEnabled){
+
+ Rectangle rFld = new Rectangle (cb.X + leftMargin - leftMarginGap - foldMargin,
+ (int)(y + (fe.Ascent + fe.Descent) / 2.0 - foldSize / 2.0), foldSize, foldSize);
+
+ gr.SetSourceColor (Color.Black);
+ gr.LineWidth = 1.0;
+
+ int level = 0;
+ bool closingNode = false;
+
+ if (currentNode != null) {
+ if (cl == currentNode.EndLine) {
+ currentNode = currentNode.Parent;
+ closingNode = true;
+ }
+ if (currentNode != null)
+ level = currentNode.Level - 1;
+ }
+
+ for (int l = 0; l < level; l++) {
+ gr.MoveTo (rFld.Center.X + 0.5, y);
+ gr.LineTo (rFld.Center.X + 0.5, y + fe.Ascent + fe.Descent);
+ rFld.Left += foldHSpace;
+ }
+ if (closingNode) {
+ gr.MoveTo (rFld.Center.X + 0.5, y);
+ gr.LineTo (rFld.Center.X + 0.5, y + fe.Ascent / 2 + 0.5);
+ gr.LineTo (rFld.Center.X + 0.5 + foldSize / 2, y + fe.Ascent / 2 + 0.5);
+ closingNode = false;
+ }
+ gr.SetDash (new double[]{ 1.5 },0.0);
+ gr.SetSourceColor (Color.Grey);
+ gr.Stroke ();
+ gr.SetDash (new double[]{}, 0.0);
+
+ if (cl.IsFoldable) {
+ gr.Rectangle (rFld);
+ gr.SetSourceColor (Color.White);
+ gr.Fill();
+ gr.SetSourceColor (Color.Black);
+ gr.Rectangle (rFld, 1.0);
+ if (cl.IsFolded) {
+ gr.MoveTo (rFld.Center.X + 0.5, rFld.Y + 2);
+ gr.LineTo (rFld.Center.X + 0.5, rFld.Bottom - 2);
+ }else
+ currentNode = cl.SyntacticNode;
+
+ gr.MoveTo (rFld.Left + 2, rFld.Center.Y + 0.5);
+ gr.LineTo (rFld.Right - 2, rFld.Center.Y + 0.5);
+ gr.Stroke ();
+ }
+ }
+
+ gr.SetSourceColor (Foreground);
+ x += leftMargin;
+
+ if (cl.Tokens == null)
+ drawRawCodeLine (gr, x, y, i, lineIndex);
+ else
+ drawParsedCodeLine (gr, x, y, i, lineIndex);
+ }
+ Node currentNode = null;
+// void drawParsed(Context gr){
+// if (PrintedLines == null)
+// return;
+//
+// gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
+// gr.SetFontSize (Font.Size);
+// gr.FontOptions = Interface.FontRenderingOptions;
+// gr.Antialias = Interface.Antialias;
+//
+// Rectangle cb = ClientRectangle;
+// gr.Save ();
+// CairoHelpers.CairoRectangle (gr, cb, CornerRadius);
+// gr.Clip ();
+//
+// bool selectionInProgress = false;
+//
+// Foreground.SetAsSource (gr);
+//
+// #region draw text cursor
+// if (SelBegin != SelRelease)
+// selectionInProgress = true;
+// else if (HasFocus){
+// gr.LineWidth = 1.0;
+// double cursorX = + leftMargin + cb.X + (CurrentColumn - ScrollX) * fe.MaxXAdvance;
+// gr.MoveTo (0.5 + cursorX, cb.Y + printedCurrentLine * (fe.Ascent+fe.Descent));
+// gr.LineTo (0.5 + cursorX, cb.Y + (printedCurrentLine + 1) * (fe.Ascent+fe.Descent));
+// gr.Stroke();
+// }
+// #endregion
+//
+// for (int i = 0; i < PrintedLines.Count; i++)
+// drawTokenLine (gr, i, selectionInProgress, cb);
+//
+// gr.Restore ();
+// }
+ void drawRawCodeLine(Context gr, double x, double y, int i, int lineIndex) {
+ string lstr = buffer[lineIndex].PrintableContent;
+ if (ScrollX < lstr.Length)
+ lstr = lstr.Substring (ScrollX);
+ else
+ lstr = "";
+
+ gr.MoveTo (x, y + fe.Ascent);
+ gr.ShowText (lstr);
+ gr.Fill ();
+
+ if (!buffer.SelectionIsEmpty && lineIndex >= buffer.SelectionStart.Y && lineIndex <= buffer.SelectionEnd.Y) {
+ double rLineX = x,
+ rLineY = y,
+ rLineW = lstr.Length * fe.MaxXAdvance;
+
+ //System.Diagnostics.Debug.WriteLine ("sel start: " + buffer.SelectionStart + " sel end: " + buffer.SelectionEnd);
+ if (lineIndex == buffer.SelectionStart.Y) {
+ rLineX += (selStartCol - ScrollX) * fe.MaxXAdvance;
+ rLineW -= selStartCol * fe.MaxXAdvance;
+ }
+ if (lineIndex == buffer.SelectionEnd.Y)
+ rLineW -= (lstr.Length - selEndCol) * fe.MaxXAdvance;
+
+ gr.Save ();
+ gr.Operator = Operator.Source;
+ gr.Rectangle (rLineX, rLineY, rLineW, (fe.Ascent+fe.Descent));
+ gr.SetSourceColor (SelectionBackground);
+ gr.FillPreserve ();
+ gr.Clip ();
+ gr.Operator = Operator.Over;
+ gr.SetSourceColor (SelectionForeground);
+ gr.MoveTo (x, y + fe.Ascent);
+ gr.ShowText (lstr);
+ gr.Fill ();
+ gr.Restore ();
+ }
+ }
+ void drawParsedCodeLine (Context gr, double x, double y, int i, int lineIndex) {
+ int lPtr = 0;
+ CodeLine cl = PrintedLines[i];
+
+ for (int t = 0; t < cl.Tokens.Count; t++) {
+ string lstr = cl.Tokens [t].PrintableContent;
+ if (lPtr < ScrollX) {
+ if (lPtr - ScrollX + lstr.Length <= 0) {
+ lPtr += lstr.Length;
+ continue;
+ }
+ lstr = lstr.Substring (ScrollX - lPtr);
+ lPtr += ScrollX - lPtr;
+ }
+ Color bg = this.Background;
+ Color fg = this.Foreground;
+ Color selbg = this.SelectionBackground;
+ Color selfg = this.SelectionForeground;
+ FontSlant fts = FontSlant.Normal;
+ FontWeight ftw = FontWeight.Normal;
+
+ if (formatting.ContainsKey ((int)cl.Tokens [t].Type)) {
+ TextFormatting tf = formatting [(int)cl.Tokens [t].Type];
+ bg = tf.Background;
+ fg = tf.Foreground;
+ if (tf.Bold)
+ ftw = FontWeight.Bold;
+ if (tf.Italic)
+ fts = FontSlant.Italic;
+ }
+
+ gr.SelectFontFace (Font.Name, fts, ftw);
+ gr.SetSourceColor (fg);
+
+ gr.MoveTo (x, y + fe.Ascent);
+ gr.ShowText (lstr);
+ gr.Fill ();
+
+ if (buffer.SelectionInProgress && lineIndex >= buffer.SelectionStart.Y && lineIndex <= buffer.SelectionEnd.Y &&
+ !(lineIndex == buffer.SelectionStart.Y && lPtr + lstr.Length <= selStartCol) &&
+ !(lineIndex == buffer.SelectionEnd.Y && selEndCol <= lPtr)) {
+
+ double rLineX = x,
+ rLineY = y,
+ rLineW = lstr.Length * fe.MaxXAdvance;
+ double startAdjust = 0.0;
+
+ if ((lineIndex == buffer.SelectionStart.Y) && (selStartCol < lPtr + lstr.Length) && (selStartCol > lPtr))
+ startAdjust = (selStartCol - lPtr) * fe.MaxXAdvance;
+ rLineX += startAdjust;
+ if ((lineIndex == buffer.SelectionEnd.Y) && (selEndCol < lPtr + lstr.Length))
+ rLineW = (selEndCol - lPtr) * fe.MaxXAdvance;
+ rLineW -= startAdjust;
+
+ gr.Save ();
+ gr.Operator = Operator.Source;
+ gr.Rectangle (rLineX, rLineY, rLineW, (fe.Ascent+fe.Descent));
+ gr.SetSourceColor (selbg);
+ gr.FillPreserve ();
+ gr.Clip ();
+ gr.Operator = Operator.Over;
+ gr.SetSourceColor (selfg);
+ gr.MoveTo (x, y + fe.Ascent);
+ gr.ShowText (lstr);
+ gr.Fill ();
+ gr.Restore ();
+ }
+ x += (int)lstr.Length * fe.MaxXAdvance;
+ lPtr += lstr.Length;
+ }
+ }
+
+ #endregion
+
+ #region GraphicObject overrides
+ public override Font Font {
+ get { return base.Font; }
+ set {
+ base.Font = value;
+
+ using (ImageSurface img = new ImageSurface (Format.Argb32, 1, 1)) {
+ using (Context gr = new Context (img)) {
+ gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
+ gr.SetFontSize (Font.Size);
+
+ fe = gr.FontExtents;
+ }
+ }
+ MaxScrollY = 0;
+ RegisterForGraphicUpdate ();
+ }
+ }
+ protected override int measureRawSize(LayoutingType lt)
+ {
+ if (lt == LayoutingType.Height)
+ return (int)Math.Ceiling((fe.Ascent+fe.Descent) * buffer.LineCount) + Margin * 2;
+
+ return (int)(fe.MaxXAdvance * buffer.longestLineCharCount) + Margin * 2 + leftMargin;
+ }
+ public override void OnLayoutChanges (LayoutingType layoutType)
+ {
+ base.OnLayoutChanges (layoutType);
+
+ if (layoutType == LayoutingType.Height)
+ updateVisibleLines ();
+ else if (layoutType == LayoutingType.Width)
+ updateVisibleColumns ();
+ }
+
+ protected override void onDraw (Context gr)
+ {
+ base.onDraw (gr);
+
+ gr.SelectFontFace (Font.Name, Font.Slant, Font.Wheight);
+ gr.SetFontSize (Font.Size);
+ gr.FontOptions = Interface.FontRenderingOptions;
+ gr.Antialias = Interface.Antialias;
+
+ Rectangle cb = ClientRectangle;
+
+ Foreground.SetAsSource (gr);
+
+ buffer.editMutex.EnterReadLock ();
+ editorMutex.EnterReadLock ();
+
+ #region draw text cursor
+ if (buffer.SelectionInProgress){
+ selStartCol = getTabulatedColumn (buffer.SelectionStart);
+ selEndCol = getTabulatedColumn (buffer.SelectionEnd);
+ }else if (HasFocus && printedCurrentLine >= 0){
+ gr.LineWidth = 1.0;
+ double cursorX = cb.X + (getTabulatedColumn(buffer.CurrentPosition) - ScrollX) * fe.MaxXAdvance + leftMargin;
+ gr.MoveTo (0.5 + cursorX, cb.Y + (printedCurrentLine) * (fe.Ascent+fe.Descent));
+ gr.LineTo (0.5 + cursorX, cb.Y + (printedCurrentLine + 1) * (fe.Ascent+fe.Descent));
+ gr.Stroke();
+ }
+ #endregion
+
+ if (PrintedLines?.Count > 0) {
+ int unfoldedLines = buffer.UnfoldedLines;
+ currentNode = null;
+ CodeLine cl = PrintedLines[0];
+ int idx0 = buffer.IndexOf(cl);
+ int li = idx0-1;
+ while (li >= 0) {
+ if (buffer [li].IsFoldable && !buffer [li].IsFolded) {
+ if (buffer.IndexOf(buffer [li].SyntacticNode.EndLine) > idx0){
+ currentNode = buffer [li].SyntacticNode;
+ break;
+ }
+ }
+ li--;
+ }
+
+ for (int i = 0; i < visibleLines; i++) {
+ if (i + ScrollY >= unfoldedLines)//TODO:need optimize
+ break;
+ drawLine (gr, cb, i);
+ }
+ }
+
+ editorMutex.ExitReadLock ();
+
+ buffer.editMutex.ExitReadLock ();
+
+ }
+ #endregion
+
+ #region Mouse handling
+
+ int hoverLine = -1;
+ public int HoverLine {
+ get { return hoverLine; }
+ set {
+ if (hoverLine == value)
+ return;
+ hoverLine = value;
+ NotifyValueChanged ("HoverLine", hoverLine);
+ NotifyValueChanged ("HoverError", buffer [hoverLine].exception);
+ }
+ }
+ void updateHoverLine () {
+ if (PrintedLines.Count > 0) {
+ int hvl = (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent + fe.Descent)));
+ hvl = Math.Min (PrintedLines.Count - 1, hvl);
+ HoverLine = buffer.IndexOf (PrintedLines [hvl]);
+ } else
+ HoverLine = 0;
+ }
+ void updateCurrentPosFromMouseLocalPos(){
+ PrintedCurrentLine = (int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)));
+ int curVisualCol = ScrollX + (int)Math.Round ((mouseLocalPos.X - leftMargin) / fe.MaxXAdvance);
+
+ int i = 0;
+ int buffCol = 0;
+ while (i < curVisualCol && buffCol < buffer.CurrentCodeLine.Length) {
+ if (buffer.CurrentCodeLine[buffCol] == '\t')
+ i += Interface.TabSize;
+ else
+ i++;
+ buffCol++;
+ }
+ buffer.CurrentColumn = buffCol;
+ }
+ public override void onMouseEnter (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseEnter (sender, e);
+ if (e.X - ScreenCoordinates(Slot).X < leftMargin + ClientRectangle.X)
+ IFace.MouseCursor = MouseCursors.Default;
+ else
+ IFace.MouseCursor = MouseCursors.Text;
+ }
+ public override void onMouseLeave (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseLeave (sender, e);
+ IFace.MouseCursor = MouseCursors.Default;
+ }
+ public override void onMouseMove (object sender, MouseMoveEventArgs e)
+ {
+ base.onMouseMove (sender, e);
+
+ mouseLocalPos = e.Position - ScreenCoordinates(Slot).TopLeft - ClientRectangle.TopLeft;
+
+ updateHoverLine ();
+
+ if (!e.Mouse.IsButtonDown (MouseButton.Left)) {
+ if (mouseLocalPos.X < leftMargin)
+ IFace.MouseCursor = MouseCursors.Default;
+ else
+ IFace.MouseCursor = MouseCursors.Text;
+ return;
+ }
+
+ if (!HasFocus || !buffer.SelectionInProgress)
+ return;
+
+ //mouse is down
+ updateCurrentPosFromMouseLocalPos();
+ buffer.SetSelEndPos ();
+ }
+ public override void onMouseDown (object sender, MouseButtonEventArgs e)
+ {
+ if (!this.Focusable)
+ return;
+
+ if (mouseLocalPos.X >= leftMargin)
+ base.onMouseDown (sender, e);
+
+ if (doubleClicked) {
+ doubleClicked = false;
+ return;
+ }
+
+ if (mouseLocalPos.X < leftMargin) {
+ toogleFolding (buffer.IndexOf (PrintedLines [(int)Math.Max (0, Math.Floor (mouseLocalPos.Y / (fe.Ascent+fe.Descent)))]));
+ return;
+ }
+
+ updateCurrentPosFromMouseLocalPos ();
+ buffer.SetSelStartPos ();
+ }
+ public override void onMouseUp (object sender, MouseButtonEventArgs e)
+ {
+ base.onMouseUp (sender, e);
+
+ if (buffer.SelectionIsEmpty)
+ buffer.ResetSelection ();
+ }
+
+ public override void onMouseDoubleClick (object sender, MouseButtonEventArgs e)
+ {
+ doubleClicked = true;
+ base.onMouseDoubleClick (sender, e);
+
+ buffer.GotoWordStart ();
+ buffer.SetSelStartPos ();
+ buffer.GotoWordEnd ();
+ buffer.SetSelEndPos ();
+ }
+ public void MakeSelection (int lineStart, int colStart, int lineEnd, int colEnd) {
+ buffer.CurrentLine = lineStart;
+ buffer.CurrentColumn = colStart;
+ buffer.SetSelStartPos ();
+ buffer.CurrentLine = lineEnd;
+ buffer.CurrentColumn = colEnd;
+ buffer.SetSelEndPos ();
+ }
+ public override void onMouseWheel (object sender, MouseWheelEventArgs e)
+ {
+ base.onMouseWheel (sender, e);
+ }
+ #endregion
+
+ #region Keyboard handling
+ public override void onKeyDown (object sender, KeyEventArgs e)
+ {
+ //base.onKeyDown (sender, e);
+
+ Key key = e.Key;
+
+ if (IFace.Ctrl) {
+ switch (key) {
+ case Key.S:
+ projFile.Save ();
+ break;
+ case Key.W:
+ editorMutex.EnterWriteLock ();
+ if (IFace.Shift)
+ projFile.Redo (null);
+ else
+ projFile.Undo (null);
+ editorMutex.ExitWriteLock ();
+ break;
+ default:
+ Console.WriteLine ("");
+ break;
+ }
+ }
+
+ switch (key)
+ {
+ case Key.BackSpace:
+ buffer.DeleteChar ();
+ break;
+ case Key.Clear:
+ break;
+ case Key.Delete:
+ if (buffer.SelectionIsEmpty)
+ MoveRight ();
+ else if (IFace.Shift)
+ IFace.Clipboard = buffer.SelectedText;
+ buffer.DeleteChar ();
+ break;
+ case Key.Return:
+ case Key.KP_Enter:
+ if (!buffer.SelectionIsEmpty)
+ buffer.DeleteChar ();
+ buffer.InsertLineBreak ();
+ break;
+ case Key.Escape:
+ buffer.ResetSelection ();
+ break;
+ case Key.Home:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = 0;
+ buffer.CurrentColumn = 0;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = 0;
+ buffer.CurrentColumn = 0;
+ break;
+ case Key.End:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = int.MaxValue;
+ buffer.CurrentColumn = int.MaxValue;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.CurrentLine = int.MaxValue;
+ buffer.CurrentColumn = int.MaxValue;
+ break;
+ case Key.Insert:
+ if (IFace.Shift)
+ buffer.Insert (IFace.Clipboard);
+ else if (IFace.Ctrl && !buffer.SelectionIsEmpty)
+ IFace.Clipboard = buffer.SelectedText;
+ break;
+ case Key.Left:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.GotoWordStart ();
+ else
+ MoveLeft ();
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.GotoWordStart ();
+ else
+ MoveLeft();
+ break;
+ case Key.Right:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ if (IFace.Ctrl)
+ buffer.GotoWordEnd ();
+ else
+ MoveRight ();
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ if (IFace.Ctrl)
+ buffer.GotoWordEnd ();
+ else
+ MoveRight ();
+ break;
+ case Key.Up:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ PrintedCurrentLine--;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ PrintedCurrentLine--;
+ break;
+ case Key.Down:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ PrintedCurrentLine++;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ PrintedCurrentLine++;
+ break;
+ case Key.Menu:
+ break;
+ case Key.Num_Lock:
+ break;
+ case Key.Page_Down:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ PrintedCurrentLine += visibleLines;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ PrintedCurrentLine += visibleLines;
+ break;
+ case Key.Page_Up:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty)
+ buffer.SetSelStartPos ();
+ PrintedCurrentLine -= visibleLines;
+ buffer.SetSelEndPos ();
+ break;
+ }
+ buffer.ResetSelection ();
+ PrintedCurrentLine -= visibleLines;
+ break;
+ case Key.Tab:
+ if (IFace.Shift) {
+ if (buffer.SelectionIsEmpty ||
+ (buffer.SelectionStart.Y == buffer.SelectionEnd.Y)) {
+ //TODO
+ break;
+ }
+ for (int i = buffer.SelectionStart.Y; i <= buffer.SelectionEnd.Y; i++)
+ buffer.RemoveLeadingTab (i);
+ buffer.SetSelectionOnFullLines ();
+ } else {
+ if (buffer.SelectionIsEmpty ||
+ (buffer.SelectionStart.Y == buffer.SelectionEnd.Y)) {
+ buffer.Insert ("\t");
+ break;
+ }
+ for (int i = buffer.SelectionStart.Y; i <= buffer.SelectionEnd.Y; i++) {
+ buffer.UpdateLine (i, "\t" + buffer [i].Content);
+ }
+ }
+
+ break;
+ case Key.F8:
+ toogleFolding (buffer.CurrentLine);
+ break;
+ default:
+ break;
+ }
+ RegisterForGraphicUpdate();
+ }
+ public override void onKeyPress (object sender, KeyPressEventArgs e)
+ {
+ base.onKeyPress (sender, e);
+
+ buffer.Insert (e.KeyChar.ToString());
+ buffer.ResetSelection ();
+ }
+ #endregion
+ }
+}
\ No newline at end of file
--- /dev/null
+//
+// SvgEditor.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.ComponentModel;
+using vkvg;
+
+namespace Crow.Coding
+{
+ public class SvgEditor : Editor
+ {
+ SvgPicture _pic = new SvgPicture();
+
+ int zoom;
+
+ [DefaultValue(100)]
+ public int Zoom {
+ get { return zoom; }
+ set {
+ if (zoom == value)
+ return;
+ zoom = value;
+ NotifyValueChanged ("Zoom", zoom);
+ updateMaxScrolls ();
+ RegisterForGraphicUpdate ();
+ }
+ }
+
+ void updateMaxScrolls() {
+ MaxScrollX = Math.Max(0, _pic.Dimensions.Width * zoom / 100 - Slot.Width);
+ MaxScrollY = Math.Max(0, _pic.Dimensions.Height * zoom / 100 - Slot.Height);
+
+ if (Slot.Width + MaxScrollX > 0)
+ NotifyValueChanged ("ChildWidthRatio", Slot.Width * Slot.Width / (Slot.Width + MaxScrollX));
+ else
+ NotifyValueChanged ("ChildWidthRatio", 0);
+
+ if (Slot.Height + MaxScrollY > 0)
+ NotifyValueChanged ("ChildHeightRatio", Slot.Height * Slot.Height / (Slot.Height + MaxScrollY));
+ else
+ NotifyValueChanged ("ChildHeightRatio", 0);
+ }
+ #region editor overrides
+ protected override void updateEditorFromProjFile ()
+ {
+ Error = null;
+ try {
+ editorMutex.EnterWriteLock();
+ _pic.LoadSvgFragment (projFile.Source);
+ _pic.Scaled = true;
+ _pic.KeepProportions = true;
+ } catch (Exception ex) {
+ Error = ex;
+ }
+ editorMutex.ExitWriteLock ();
+ updateMaxScrolls ();
+ RegisterForGraphicUpdate ();
+ }
+ protected override void updateProjFileFromEditor ()
+ {
+ throw new NotImplementedException ();
+ }
+ protected override bool EditorIsDirty {
+ get { return false; }
+ set {
+ throw new NotImplementedException ();
+ }
+ }
+ protected override bool IsReady {
+ get { return projFile != null; }
+ }
+ #endregion
+
+ #region GraphicObject overrides
+ protected override int measureRawSize (LayoutingType lt)
+ {
+ if (_pic == null)
+ return 2 * Margin;
+ //_pic = "#Crow.Images.Icons.IconAlerte.svg";
+ //TODO:take scalling in account
+ if (lt == LayoutingType.Width)
+ return _pic.Dimensions.Width + 2 * Margin;
+ else
+ return _pic.Dimensions.Height + 2 * Margin;
+ }
+ protected override void onDraw (Context gr)
+ {
+ base.onDraw (gr);
+
+ Rectangle r = ClientRectangle;
+ Foreground.SetAsSource (gr, r);
+ gr.Rectangle (r, 0.1);
+ gr.Stroke ();
+
+ r.Width = _pic.Dimensions.Width * zoom / 100;
+ r.Height = _pic.Dimensions.Height * zoom / 100;
+
+ gr.Save ();
+
+ editorMutex.EnterReadLock ();
+
+ gr.Translate (-ScrollX, -ScrollY);
+ if (_pic != null)
+ _pic.Paint (gr, r);
+ editorMutex.ExitReadLock ();
+
+ gr.Restore ();
+ }
+ public override void OnLayoutChanges (LayoutingType layoutType)
+ {
+ base.OnLayoutChanges (layoutType);
+ if ((layoutType | LayoutingType.Sizing) > 0)
+ updateMaxScrolls ();
+ }
+ #endregion
+ }
+}
+
--- /dev/null
+//
+// Extensions.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2016 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using System;
+using System.Collections.Generic;
+
+namespace Crow
+{
+ public static partial class Extensions
+ {
+ public static string GetIcon(this Widget go){
+ return "#CrowIDE.icons.toolbox." + go.GetType().FullName + ".svg";
+ }
+ public static List<Widget> GetChildren(this Widget go){
+ Type goType = go.GetType();
+ if (typeof (Group).IsAssignableFrom (goType))
+ return (go as Group).Children;
+ if (typeof(Container).IsAssignableFrom (goType))
+ return new List<Widget>( new Widget[] { (go as Container).Child });
+ if (typeof(TemplatedContainer).IsAssignableFrom (goType))
+ return new List<Widget>( new Widget[] { (go as TemplatedContainer).Content });
+ if (typeof(TemplatedGroup).IsAssignableFrom (goType))
+ return (go as TemplatedGroup).Items;
+
+ return new List<Widget>();
+ }
+ }
+}
--- /dev/null
+//
+// GraphicObjectDesignContainer.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+
+namespace Crow.Coding
+{
+ public class GraphicObjectDesignContainer
+ {
+ #region CTOR
+ public GraphicObjectDesignContainer (Type crowType)
+ {
+ CrowType = crowType;
+ }
+ #endregion
+
+ int dragIconSize = 32;
+ public Type CrowType;
+
+ public string IconPath {
+ get { return "#CrowIDE.icons.toolbox." + CrowType.FullName + ".svg"; }
+ }
+ public string DisplayName {
+ get { return CrowType.Name; }
+ }
+ void onStartDrag (object sender, EventArgs e)
+ {
+ Widget go = sender as Widget;
+
+ lock (go.IFace.UpdateMutex) {
+ go.IFace.DragImageHeight = dragIconSize;
+ go.IFace.DragImageWidth = dragIconSize;
+ SvgPicture pic = new SvgPicture (IconPath);
+ //pic.Load (go.IFace, IconPath);
+ ImageSurface img = new ImageSurface (Format.Argb32, dragIconSize, dragIconSize);
+ using (Context ctx = new Context (img)) {
+ Rectangle r = new Rectangle (0, 0, dragIconSize, dragIconSize);
+ pic.Paint (ctx, r);
+ ctx.Operator = Operator.In;
+ ctx.SetSourceRGBA (1.0, 1.0, 1.0, 1.0);
+ ctx.Rectangle (r);
+ ctx.Fill ();
+
+ }
+ go.IFace.DragImage = img;
+ }
+ }
+ void onEndDrag (object sender, DragDropEventArgs e)
+ {
+ (sender as Widget).IFace.ClearDragImage ();
+
+ }
+ void onDrop (object sender, DragDropEventArgs e)
+ {
+ ImlVisualEditor imlVE = e.DropTarget as ImlVisualEditor;
+ if (imlVE != null)
+ imlVE.ClearDraggedObj (false);
+ (sender as Widget).IFace.ClearDragImage ();
+ }
+ }
+}
+
--- /dev/null
+//
+// INetProject.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+
+namespace Crow.Coding
+{
+ public interface INetProject
+ {
+
+ }
+}
+
--- /dev/null
+//
+// CategoryContainer.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+
+namespace Crow.Coding
+{
+ public class CategoryContainer : IValueChange
+ {
+ #region IValueChange implementation
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ public virtual void NotifyValueChanged(string MemberName, object _value)
+ {
+ ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
+ }
+ #endregion
+
+ bool _isExpanded = true;
+
+ public PropertyContainer[] Properties;
+ public string Name;
+
+ public bool IsExpanded
+ {
+ get { return _isExpanded; }
+ set
+ {
+ if (value == _isExpanded)
+ return;
+
+ _isExpanded = value;
+
+ NotifyValueChanged ("IsExpanded", _isExpanded);
+ }
+ }
+
+ public CategoryContainer (string categoryName, PropertyContainer[] properties){
+ Name = categoryName;
+ Properties = properties;
+ }
+ }
+}
+
--- /dev/null
+//
+// MembersView.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp.bruyere@hotmail.com>
+//
+// Copyright (c) 2016 jp
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+using System;
+using Crow;
+using System.Xml.Serialization;
+using System.ComponentModel;
+using System.Reflection;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Crow.Coding
+{
+ public class MembersView : ListBox
+ {
+ object instance;
+ ImlProjectItem projFile;
+
+ public MembersView () : base() {}
+
+ //cache property containers per type
+ //Dictionary<string,PropertyContainer[]> propContainersCache = new Dictionary<string, PropertyContainer[]>();
+ Dictionary<string,List<CategoryContainer>> categoryContainersCache = new Dictionary<string,List<CategoryContainer>> ();
+
+ [DefaultValue(null)]
+ public virtual object Instance {
+ get { return instance; }
+ set {
+ if (instance == value)
+ return;
+ object lastInst = instance;
+
+ instance = value;
+ NotifyValueChanged ("Instance", instance);
+
+ if (Instance is Widget) {
+ NotifyValueChanged ("SelectedItemName", Instance.GetType().Name + (Instance as Widget).design_id
+ + ":" + (Instance as Widget).design_imlPath );
+ }else
+ NotifyValueChanged ("SelectedItemName", "");
+
+ if (instance == null) {
+ Data = null;
+ return;
+ }
+
+ Type it = instance.GetType ();
+ if (!categoryContainersCache.ContainsKey (it.FullName)) {
+ MemberInfo[] members = it.GetMembers (BindingFlags.Public | BindingFlags.Instance);
+ List<PropertyContainer> props = new List<PropertyContainer> ();
+ foreach (MemberInfo m in members) {
+ if (m.MemberType == MemberTypes.Property) {
+ PropertyInfo pi = m as PropertyInfo;
+ if (!pi.CanWrite)
+ continue;
+ if (pi.GetCustomAttribute (typeof(XmlIgnoreAttribute)) != null)
+ continue;
+ props.Add (new PropertyContainer (this, pi));
+ }
+ }
+ //propContainersCache.Add (it.FullName, props.OrderBy (p => p.Name).ToArray ());
+ List<CategoryContainer> categories = new List<CategoryContainer> ();
+
+ foreach (IGrouping<string,PropertyContainer> ig in props.OrderBy (p => p.Name).GroupBy(pc=>pc.DesignCategory)) {
+ categories.Add(new CategoryContainer(ig.Key, ig.ToArray()));
+ }
+ categoryContainersCache.Add (it.FullName, categories);
+ }
+
+
+ Data = categoryContainersCache[it.FullName];
+
+ if (lastInst != instance) {
+ foreach (CategoryContainer cc in categoryContainersCache [it.FullName]) {
+ foreach (PropertyContainer pc in cc.Properties) {
+ pc.NotifyValueChanged ("Value", pc.Value);
+ pc.NotifyValueChanged ("LabForeground", pc.LabForeground);
+ }
+ }
+ }
+ }
+ }
+ public ImlProjectItem ProjectNode {
+ get { return projFile; }
+ set {
+ if (projFile == value)
+ return;
+
+// if (projFile != null)
+// projFile.UnregisterEditor (this);
+
+ projFile = value;
+
+// if (projFile != null)
+// projFile.RegisterEditor (this);
+
+ NotifyValueChanged ("ProjectNode", projFile);
+ }
+ }
+
+// public void updateSource () {
+// if (projFile == null)
+// return;
+// projFile.UpdateSource (this, (Instance as GraphicObject).GetIML ());
+// }
+
+// public override void Paint (ref Context ctx)
+// {
+// base.Paint (ref ctx);
+//
+// if (SelectedIndex < 0)
+// return;
+//
+// Rectangle r = Parent.ContextCoordinates(Items [SelectedIndex].Slot);
+// ctx.SetSourceRGB (0, 0, 1);
+// ctx.Rectangle (r);
+// ctx.LineWidth = 2;
+// ctx.Stroke ();
+// }
+
+ }
+}
--- /dev/null
+//
+// PropertyContainer.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Reflection;
+using System.Linq;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.ComponentModel;
+
+namespace Crow.Coding
+{
+ public class PropertyContainer : IValueChange
+ {
+ #region IValueChange implementation
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ public virtual void NotifyValueChanged(string MemberName, object _value)
+ {
+ ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
+ }
+ #endregion
+
+ PropertyInfo pi;
+ MembersView mview;
+ Command cmdReset, cmdGoToStyle;
+
+ public List<Crow.Command> Commands;
+
+ #region CTOR
+ public PropertyContainer(MembersView mv, PropertyInfo prop){
+ mview = mv;
+ pi = prop;
+
+ cmdReset = new Crow.Command (new Action (() => Reset ())) { Caption = "Reset to default" };
+ cmdGoToStyle = new Crow.Command (new Action (() => GotoStyle ())) { Caption = "Goto style" };
+
+ Commands = new List<Crow.Command> (new Crow.Command[] { cmdReset, cmdGoToStyle });
+ }
+ #endregion
+
+ public string DesignCategory {
+ get {
+ DesignCategory dca = (DesignCategory)pi.GetCustomAttribute (typeof(DesignCategory));
+ return dca == null ? "Divers" : dca.Name;
+ }
+ }
+ public string Name { get { return pi.Name; }}
+ public object Value {
+ get {
+ return mview.ProjectNode?.SelectedItem == null ? null : pi.GetValue(mview.ProjectNode.SelectedItem);
+ }
+ set {
+ try {
+ if (value == Value)
+ return;
+ Widget g = Instance;
+ string valstr = null, oldval = null;
+
+ if (value != null)
+ valstr = value.ToString();
+
+ if (HasStyling)
+ oldval = g.design_style_values[Name];
+ else if (HasDefaultValue)
+ oldval = DefaultValue?.ToString();
+ else if (IsSetByIML)
+ oldval = g.design_iml_values [Name];
+
+ if (valstr == oldval){
+ if (IsSetByIML){
+ g.design_iml_values.Remove(Name);
+ Debug.WriteLine("iml attrib removed {0}.{1}", g.Name, Name);
+ }else
+ return;
+ }else{
+ if (IsSetByIML){
+ g.design_iml_values [Name] = valstr;
+ Debug.WriteLine("iml update {0}.{1} = {2}", g.Name, Name, valstr);
+ }else{
+ g.design_iml_values.Add(Name,valstr);
+ Debug.WriteLine("iml add {0}.{1} = {2}", g.Name, Name, valstr);
+ }
+ }
+
+ if (!pi.PropertyType.IsAssignableFrom(value.GetType()) && pi.PropertyType != typeof(string)){
+ if (pi.PropertyType.IsEnum) {
+ if (value is string) {
+ pi.SetValue (g, Enum.Parse (pi.PropertyType, (string)value));
+ }else
+ pi.SetValue (g, value);
+ } else {
+ MethodInfo me = pi.PropertyType.GetMethod
+ ("Parse", BindingFlags.Static | BindingFlags.Public,
+ System.Type.DefaultBinder, new Type [] {typeof (string)},null);
+ pi.SetValue (g, me.Invoke (null, new object[] { value }), null);
+ }
+ }else
+ pi.SetValue(g, value);
+
+ Debug.WriteLine("\t\tPropContainer set design_dirty to instance");
+
+ mview.ProjectNode.Instance.design_HasChanged = true;
+ NotifyValueChanged ("Value", value);
+ NotifyValueChanged ("LabForeground", LabForeground);
+ } catch (Exception ex) {
+ Debug.WriteLine ("Error setting property:"+ ex.ToString());
+ }
+ //
+ }
+ }
+ /// <summary>
+ /// for style attribute which is a string, return Style as type
+ /// </summary>
+ public string Type { get { return pi.PropertyType.IsEnum ?
+ "System.Enum"
+ : pi.Name == "Style" ? "Style" : pi.PropertyType.FullName; }}
+
+ public object[] Choices {
+ get {
+ return pi.PropertyType.IsEnum ?
+ Enum.GetValues (pi.PropertyType).Cast<object>().ToArray() :
+ mview.ProjectNode.Project.solution.AvailaibleStyles;
+ }
+ }
+ /// <summary>
+ /// Current graphicobject instance
+ /// </summary>
+ public Widget Instance {
+ get { return mview.ProjectNode.SelectedItem as Widget; }
+ }
+ public object DefaultValue {
+ get { return ((DefaultValueAttribute)(pi.GetCustomAttribute (typeof (DefaultValueAttribute)))).Value; }
+ }
+ public bool HasDefaultValue {
+ get { return pi.GetCustomAttribute (typeof(DefaultValueAttribute))!=null; }
+ }
+ /// <summary>
+ /// return true if current value comes from IML attributes
+ /// </summary>
+ public bool IsSetByIML {
+ get { return Instance.design_iml_values.ContainsKey (Name); }
+ }
+ /// <summary>
+ /// return true if member default value comes from style
+ /// </summary>
+ public bool HasStyling {
+ get { return Instance.design_style_locations.ContainsKey(Name); }
+ }
+ /// <summary>
+ /// Return true if current value comes from styling
+ /// </summary>
+ public bool IsSetByStyling {
+ get { return IsSetByIML ? false : HasStyling; }
+ }
+
+
+ public Fill LabForeground {
+ get { return IsSetByIML ? Color.DarkBlue : HasStyling ? Color.Black : Color.Grey;}
+ }
+
+ /// <summary>
+ /// reset to default value
+ /// </summary>
+ public void Reset () {
+ Widget inst = mview.ProjectNode.SelectedItem as Widget;
+ if (!inst.design_iml_values.ContainsKey (Name))
+ return;
+ inst.design_iml_values.Remove (Name);
+
+ NotifyValueChanged ("LabForeground", LabForeground);
+ mview.ProjectNode.UpdateSource(this, mview.ProjectNode.Instance.GetIML());
+ //mview.ProjectNode.Instance.design_HasChanged = true;
+ //should reinstantiate to get default
+ }
+ public void GotoStyle(){
+ Widget g = Instance;
+ if (!g.design_style_locations.ContainsKey (Name))
+ return;
+ FileLocation fl = g.design_style_locations [Name];
+ ProjectFile pf;
+ if (!mview.ProjectNode.Project.TryGetProjectFileFromPath ("#" + fl.FilePath, out pf))
+ return;
+
+ if (!pf.IsOpened)
+ pf.Open ();
+
+ pf.CurrentLine = fl.Line;
+ pf.CurrentColumn = fl.Column;
+
+ pf.IsSelected = true;
+
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("{0} = {1}", Name, Value);
+ }
+ }
+}
+
--- /dev/null
+//
+// Project.cs
+//
+// Author:
+// jp <>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Xml;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.CSharp;
+using System.CodeDom.Compiler;
+using Crow;
+using System.Text.RegularExpressions;
+
+namespace Crow.Coding {
+ public class Project : IValueChange {
+ #region IValueChange implementation
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ public virtual void NotifyValueChanged (string MemberName, object _value) {
+ ValueChanged.Raise (this, new ValueChangeEventArgs (MemberName, _value));
+ }
+ #endregion
+
+ bool isLoaded = false;
+ bool isExpanded;
+ XmlDocument xmlDoc;
+ XmlNode nodeProject;
+ XmlNode nodeProps;
+ XmlNodeList nodesItems;
+ SolutionProject solutionProject;
+ Crow.Command cmdSave, cmdOpen, cmdCompile, cmdSetAsStartProj, cmdNewFile;
+
+ #region CTOR
+ public Project (Solution sol, SolutionProject sp) {
+ solutionProject = sp;
+
+ solution = sol;
+
+ cmdSave = new Crow.Command (new Action (() => Save ())) { Caption = "Save", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = true };
+ cmdOpen = new Crow.Command (new Action (() => Load ())) { Caption = "Open", Icon = new SvgPicture ("#CrowIDE.icons.open.svg"), CanExecute = false };
+ cmdCompile = new Crow.Command (new Action (() => Compile ())) {
+ Caption = "Compile",
+ Icon = "#CrowIDE.icons.compile.svg"
+ };
+ cmdSetAsStartProj = new Crow.Command (new Action (() => setAsStartupProject ())) {
+ Caption = "Set as Startup Project"
+ };
+ cmdNewFile = new Crow.Command (new Action (() => AddNewFile ())) {
+ Caption = "Add New File",
+ Icon = new SvgPicture ("#CrowIDE.icons.blank-file.svg"),
+ CanExecute = true
+ };
+
+ Commands = new List<Crow.Command> (new Crow.Command[] { cmdOpen, cmdSave, cmdSetAsStartProj, cmdCompile, cmdNewFile });
+
+ Load ();
+ }
+ #endregion
+
+ public Solution solution;
+ public List<Crow.Command> Commands;
+ public CompilerResults CompilationResults;
+ public List<Project> dependantProjects = new List<Project> ();
+ public Project ParentProject = null;
+ List<ProjectNode> rootItems;
+ List<ProjectNode> flattenNodes;
+
+ public string Name {
+ get { return solutionProject.ProjectName; }
+ }
+ public bool IsLoaded {
+ get { return isLoaded; }
+ set {
+ if (isLoaded == value)
+ return;
+ isLoaded = value;
+ NotifyValueChanged ("IsLoaded", isLoaded);
+ }
+ }
+ public bool IsExpanded {
+ get { return isExpanded; }
+ set {
+ if (value == isExpanded)
+ return;
+ isExpanded = value;
+ NotifyValueChanged ("IsExpanded", isExpanded);
+ }
+ }
+ public bool IsStartupProject {
+ get { return solution.StartupProject == this; }
+ }
+ public string Path {
+ get { return System.IO.Path.Combine (solution.SolutionFolder, solutionProject.RelativePath.Replace ('\\', '/')); }
+ }
+ public string RootDir {
+ get { return System.IO.Path.GetDirectoryName (Path); }
+ }
+
+
+
+ public List<ProjectNode> RootItems {
+ get { return rootItems; }
+ }
+
+ void buildTreeNodes () {
+ ProjectNode root = new ProjectNode (this, ItemType.VirtualGroup, RootNamespace);
+ List<ProjectItem> items = new List<ProjectItem> ();
+ foreach (XmlNode i in nodesItems) {
+ foreach (XmlNode f in i.ChildNodes) {
+ items.Add (new ProjectItem (this, f));
+ }
+ }
+
+ flattenNodes = new List<ProjectNode> ();
+
+ ProjectNode refs = new ProjectNode (this, ItemType.ReferenceGroup, "References");
+ root.AddChild (refs);
+
+ foreach (ProjectItem pn in items) {
+ switch (pn.Type) {
+ case ItemType.Reference:
+ refs.AddChild (pn);
+ flattenNodes.Add (pn);
+ break;
+ case ItemType.ProjectReference:
+ ProjectReference pr = new ProjectReference (pn);
+ refs.AddChild (pr);
+ flattenNodes.Add (pr);
+ break;
+ case ItemType.Compile:
+ case ItemType.None:
+ case ItemType.EmbeddedResource:
+ ProjectNode curNode = root;
+ string[] folds = pn.Path.Split ('/');
+ for (int i = 0; i < folds.Length - 1; i++) {
+ ProjectNode nextNode = curNode.ChildNodes.FirstOrDefault (n => n.DisplayName == folds[i] && n.Type == ItemType.VirtualGroup);
+ if (nextNode == null) {
+ nextNode = new ProjectNode (this, ItemType.VirtualGroup, folds[i]);
+ curNode.AddChild (nextNode);
+ }
+ curNode = nextNode;
+ }
+ ProjectNode f = null;
+ switch (pn.Extension) {
+ /*case ".cs":
+ f = new CSProjectFile (pn);
+ break;*/
+ case ".crow":
+ case ".template":
+ case ".goml":
+ case ".itemp":
+ case ".imtl":
+ f = new ImlProjectItem (pn);
+ break;
+ case ".style":
+ f = new StyleProjectItem (pn);
+ break;
+ default:
+ f = new ProjectFile (pn);
+ break;
+ }
+ curNode.AddChild (f);
+ flattenNodes.Add (f);
+ break;
+ }
+ }
+ root.SortChilds ();
+
+ rootItems = root.ChildNodes;
+ }
+
+ #region Project properties
+ public string ToolsVersion {
+ get { return nodeProject?.Attributes["ToolsVersion"]?.Value; }
+ }
+ public string DefaultTargets {
+ get { return nodeProject?.Attributes["DefaultTargets"]?.Value; }
+ }
+ public string ProjectGuid {
+ get { return solutionProject.ProjectGuid; }
+ }
+ public string AssemblyName {
+ get { return nodeProps["AssemblyName"]?.InnerText; }
+ }
+ public string OutputType {
+ get { return nodeProps["OutputType"]?.InnerText; }
+ }
+ public string RootNamespace {
+ get { return nodeProps["RootNamespace"]?.InnerText; }
+ }
+ public bool AllowUnsafeBlocks {
+ get {
+ return nodeProps["AllowUnsafeBlocks"] == null ? false :
+ bool.Parse (nodeProps["AllowUnsafeBlocks"]?.InnerText);
+ }
+ }
+ public bool NoStdLib {
+ get {
+ return nodeProps["NoStdLib"] == null ? false :
+ bool.Parse (nodeProps["NoStdLib"]?.InnerText);
+ }
+ }
+ public bool TreatWarningsAsErrors {
+ get {
+ return nodeProps["TreatWarningsAsErrors"] == null ? false :
+ bool.Parse (nodeProps["TreatWarningsAsErrors"]?.InnerText);
+ }
+ }
+ public bool SignAssembly {
+ get { return bool.Parse (nodeProps["SignAssembly"]?.InnerText); }
+ }
+ public string TargetFrameworkVersion {
+ get { return nodeProps["TargetFrameworkVersion"]?.InnerText; }
+ }
+ public string Description {
+ get { return nodeProps["Description"]?.InnerText; }
+ }
+ public string OutputPath {
+ get { return nodeProps["OutputPath"]?.InnerText; }
+ }
+ public string IntermediateOutputPath {
+ get { return nodeProps["IntermediateOutputPath"]?.InnerText; }
+ }
+ public string StartupObject {
+ get { return nodeProps["StartupObject"]?.InnerText; }
+ }
+ public bool DebugSymbols {
+ get { return nodeProps["DebugSymbols"] == null ? false : bool.Parse (nodeProps["DebugSymbols"]?.InnerText); }
+ }
+ public int WarningLevel {
+ get { return nodeProps["WarningLevel"] == null ? 0 : int.Parse (nodeProps["WarningLevel"]?.InnerText); }
+ }
+
+ #endregion
+
+
+ public void AddNewFile () {
+ Window.Show (CrowIDE.MainIFace, "#CrowIDE.ui.NewFile.crow", true).DataSource = this;
+ }
+
+ public void Load () {
+
+ xmlDoc = new XmlDocument ();
+ using (Stream ins = new FileStream (this.Path, FileMode.Open)) {
+ xmlDoc.Load (new XmlTextReader (ins) { Namespaces = false });
+ }
+
+ nodeProject = xmlDoc.SelectSingleNode ("Project");
+ XmlNodeList nodesProps = xmlDoc.SelectNodes ("/Project/PropertyGroup");
+
+ foreach (XmlNode n in nodesProps) {
+ if (n.Attributes["Condition"] == null)
+ nodeProps = n;
+ }
+ nodesItems = xmlDoc.SelectNodes ("/Project/ItemGroup");
+
+ if (ProjectGuid != solutionProject.ProjectGuid)
+ throw new Exception ("Project GUID not matching with solution");
+
+ buildTreeNodes ();
+
+ IsLoaded = true;
+ }
+
+ public void Save () {
+
+ }
+
+ void setAsStartupProject () {
+ solution.StartupProject = this;
+ }
+ static Regex regexDirTokens = new Regex (@"\$\(([^\)]*)\)|([^\$]*)");
+
+ string getDirectoryWithTokens (string dir) {
+ Match m = regexDirTokens.Match (dir);
+ string tmp = "";
+ while (m.Success) {
+ if (m.Value == @"$(SolutionDir)")
+ tmp = System.IO.Path.Combine (tmp, solution.SolutionFolder);
+ else if (m.Value == @"$(Configuration)")
+ tmp = System.IO.Path.Combine (tmp, "Debug");
+ else
+ tmp = System.IO.Path.Combine (tmp, m.Value);
+
+ if (tmp.EndsWith (@"\") || tmp.EndsWith (@"/"))
+ tmp = tmp.Remove (tmp.Length - 1);
+
+ m = m.NextMatch ();
+ }
+ return tmp;
+ }
+ public string Compile () {
+ if (ParentProject != null)
+ ParentProject.Compile ();
+
+ CSharpCodeProvider cp = new CSharpCodeProvider ();
+ CompilerParameters parameters = new CompilerParameters ();
+
+ foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
+ Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
+ if (p == null)
+ throw new Exception ("referenced project not found");
+ parameters.ReferencedAssemblies.Add (p.Compile ());
+ }
+
+ string outputDir = getDirectoryWithTokens (this.OutputPath);
+ string objDir = getDirectoryWithTokens (this.IntermediateOutputPath);
+
+ Directory.CreateDirectory (outputDir);
+ Directory.CreateDirectory (objDir);
+
+ parameters.OutputAssembly = System.IO.Path.Combine (outputDir, this.AssemblyName);
+
+ // True - exe file generation, false - dll file generation
+ if (this.OutputType == "Library") {
+ parameters.GenerateExecutable = false;
+ parameters.CompilerOptions += " /target:library";
+ parameters.OutputAssembly += ".dll";
+ } else {
+ parameters.GenerateExecutable = true;
+ parameters.CompilerOptions += " /target:exe";
+ parameters.OutputAssembly += ".exe";
+ parameters.MainClass = this.StartupObject;
+ }
+
+ parameters.GenerateInMemory = false;
+ parameters.IncludeDebugInformation = this.DebugSymbols;
+ parameters.TreatWarningsAsErrors = this.TreatWarningsAsErrors;
+ parameters.WarningLevel = this.WarningLevel;
+ parameters.CompilerOptions += " /noconfig";
+ if (this.AllowUnsafeBlocks)
+ parameters.CompilerOptions += " /unsafe";
+ parameters.CompilerOptions += " /delaysign+";
+ parameters.CompilerOptions += " /debug:full /debug+";
+ parameters.CompilerOptions += " /optimize-";
+ parameters.CompilerOptions += " /define:\"DEBUG;TRACE\"";
+ parameters.CompilerOptions += " /nostdlib";
+
+
+
+ foreach (ProjectItem pi in flattenNodes.Where (p => p.Type == ItemType.Reference)) {
+
+ if (string.IsNullOrEmpty (pi.HintPath)) {
+ parameters.CompilerOptions += " /reference:/usr/lib/mono/4.5/" + pi.Path + ".dll";
+ continue;
+ }
+ parameters.ReferencedAssemblies.Add (pi.Path);
+ string fullHintPath = System.IO.Path.GetFullPath (System.IO.Path.Combine (RootDir, pi.HintPath.Replace ('\\', '/')));
+ if (File.Exists (fullHintPath)) {
+ string outPath = System.IO.Path.Combine (outputDir, System.IO.Path.GetFileName (fullHintPath));
+ if (!File.Exists (outPath))
+ File.Copy (fullHintPath, outPath);
+ }
+ }
+ parameters.CompilerOptions += " /reference:/usr/lib/mono/4.5/System.Core.dll";
+ parameters.CompilerOptions += " /reference:/usr/lib/mono/4.5/mscorlib.dll";
+ //parameters.ReferencedAssemblies.Add ("System.Core");
+ //parameters.ReferencedAssemblies.Add ("mscorlib.dll");
+
+
+ IEnumerable<ProjectFile> pfs = flattenNodes.OfType<ProjectFile> ();
+
+ foreach (ProjectFile pi in pfs.Where (p => p.Type == ItemType.EmbeddedResource)) {
+
+ string absPath = pi.AbsolutePath;
+ string logicName = pi.LogicalName;
+ if (string.IsNullOrEmpty (logicName))
+ parameters.CompilerOptions += string.Format (" /resource:{0},{1}", absPath, this.Name + "." + pi.Path.Replace ('/', '.'));
+ else
+ parameters.CompilerOptions += string.Format (" /resource:{0},{1}", absPath, logicName);
+ }
+ foreach (ProjectFile pi in pfs.Where (p => p.Type == ItemType.None)) {
+ if (pi.CopyToOutputDirectory == CopyToOutputState.Never)
+ continue;
+ string source = pi.AbsolutePath;
+ string target = System.IO.Path.Combine (outputDir, pi.Path);
+ Directory.CreateDirectory (System.IO.Path.GetDirectoryName (target));
+
+ if (File.Exists (target)) {
+ if (pi.CopyToOutputDirectory == CopyToOutputState.PreserveNewest) {
+ if (DateTime.Compare (
+ System.IO.File.GetLastWriteTime (source),
+ System.IO.File.GetLastWriteTime (target)) < 0)
+ continue;
+ }
+ File.Delete (target);
+ }
+ System.Diagnostics.Debug.WriteLine ("copy " + source + " to " + target);
+ File.Copy (source, target);
+ }
+ string[] files = pfs.Where (p => p.Type == ItemType.Compile).Select (p => p.AbsolutePath).ToArray ();
+
+ System.Diagnostics.Debug.WriteLine ("---- start compilation of :" + parameters.OutputAssembly);
+ System.Diagnostics.Debug.WriteLine (parameters.CompilerOptions);
+
+ CompilationResults = cp.CompileAssemblyFromFile (parameters, files);
+
+ solution.UpdateErrorList ();
+
+ return parameters.OutputAssembly;
+ }
+
+ public bool TryGetProjectFileFromAbsolutePath (string absolutePath, out ProjectFile pi) {
+ pi = flattenNodes.OfType<ProjectFile> ().FirstOrDefault
+ (pp => pp.AbsolutePath == absolutePath);
+ return pi != null;
+ }
+ public bool TryGetProjectFileFromPath (string path, out ProjectFile pi) {
+ if (path.StartsWith ("#", StringComparison.Ordinal))
+ pi = flattenNodes.OfType<ProjectFile> ().FirstOrDefault
+ (pp => pp.Type == ItemType.EmbeddedResource && pp.ResourceID == path.Substring (1));
+ else
+ pi = flattenNodes.OfType<ProjectFile> ().FirstOrDefault (pp => pp.Path == path);
+
+ if (pi != null)
+ return true;
+
+ foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
+ Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
+ if (p == null)
+ throw new Exception ("referenced project not found");
+ if (p.TryGetProjectFileFromPath (path, out pi))
+ return true;
+ }
+ //TODO: search referenced assemblies
+ return false;
+ }
+
+ public void GetDefaultTemplates () {
+ IEnumerable<ProjectFile> tmpFiles =
+ flattenNodes.OfType<ProjectFile> ().Where (pp => pp.Extension == ".template");
+
+ foreach (ProjectFile pi in tmpFiles.Where (
+ pp => pp.Type == ItemType.None && pp.CopyToOutputDirectory != CopyToOutputState.Never)) {
+
+ string clsName = System.IO.Path.GetFileNameWithoutExtension (pi.Path);
+ if (solution.DefaultTemplates.ContainsKey (clsName))
+ continue;
+ solution.DefaultTemplates[clsName] = pi.AbsolutePath;
+ }
+ foreach (ProjectFile pi in tmpFiles.Where (pp => pp.Type == ItemType.EmbeddedResource)) {
+ string resId = pi.ResourceID;
+ string clsName = resId.Substring (0, resId.Length - 9);
+ if (solution.DefaultTemplates.ContainsKey (clsName))
+ continue;
+ solution.DefaultTemplates[clsName] = pi.Path;
+ }
+
+ foreach (Project p in ReferencedProjects)
+ p.GetDefaultTemplates ();
+ }
+ // void searchTemplatesIn(Assembly assembly){
+ // if (assembly == null)
+ // return;
+ // foreach (string resId in assembly
+ // .GetManifestResourceNames ()
+ // .Where (r => r.EndsWith (".template", StringComparison.OrdinalIgnoreCase))) {
+ // string clsName = resId.Substring (0, resId.Length - 9);
+ // if (DefaultTemplates.ContainsKey (clsName))
+ // continue;
+ // DefaultTemplates[clsName] = "#" + resId;
+ // }
+ // }
+
+ public List<Project> ReferencedProjects {
+ get {
+ List<Project> tmp = new List<Project> ();
+ foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
+ Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
+ if (p != null)
+ tmp.Add (p);
+ }
+ return tmp;
+ }
+ }
+
+ public void GetStyling () {
+ try {
+ foreach (ProjectFile pi in flattenNodes.OfType<ProjectFile> ().Where (pp => pp.Type == ItemType.EmbeddedResource && pp.Extension == ".style")) {
+ using (Stream s = new MemoryStream (System.Text.Encoding.UTF8.GetBytes (pi.Source))) {
+ new StyleReader (solution.Styling, s, pi.ResourceID);
+ }
+ }
+ } catch (Exception ex) {
+ Console.WriteLine (ex.ToString ());
+ }
+ foreach (ProjectReference pr in flattenNodes.OfType<ProjectReference> ()) {
+ Project p = solution.Projects.FirstOrDefault (pp => pp.ProjectGuid == pr.ProjectGUID);
+ if (p == null)
+ throw new Exception ("referenced project not found");
+ p.GetStyling ();
+ }
+
+ //TODO:get styling from referenced assemblies
+ }
+ }
+}
+
--- /dev/null
+//
+// ProjectNodes.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using Microsoft.CodeAnalysis;
+using Microsoft.CodeAnalysis.CSharp;
+using Microsoft.CodeAnalysis.CSharp.Syntax;
+
+namespace Crow.Coding
+{
+ public class CSProjectFile : ProjectFile
+ {
+ CSharpSyntaxTree tree;
+
+
+ #region CTOR
+ public CSProjectFile (ProjectItem pi) : base (pi){
+ }
+ #endregion
+
+ public override void UpdateSource(object sender, string newSrc)
+ {
+ base.UpdateSource(sender, newSrc);
+
+ tree = (CSharpSyntaxTree)CSharpSyntaxTree.ParseText (Source, CSharpParseOptions.Default);
+ }
+
+ public override void Open () {
+ base.Open ();
+
+ tree = (CSharpSyntaxTree)CSharpSyntaxTree.ParseText (Source, CSharpParseOptions.Default);
+
+ CompilationUnitSyntax root = (CompilationUnitSyntax)tree.GetRoot ();
+ MemberDeclarationSyntax firstMember = root.Members [0];
+
+ Console.WriteLine ( firstMember.GetType().FullName);
+
+ SyntaxToken tok = root.GetFirstToken();
+
+ while (tok.Value != null) {
+ Console.Write (tok.Text);
+ tok = tok.GetNextToken (true,true);
+ }
+ Console.Out.Flush ();
+ }
+
+
+ }
+}
+
--- /dev/null
+//
+// ProjectNodes.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Xml;
+using System.IO;
+using Crow;
+using System.Threading;
+
+namespace Crow.Coding
+{
+ public class ImlProjectItem : ProjectFile
+ {
+ #region CTOR
+ public ImlProjectItem (ProjectItem pi) : base (pi){
+ }
+ #endregion
+
+ Widget instance;
+ Measure designWidth, designHeight;
+
+ /// <summary>
+ /// instance created with an instantiator from the source by a DesignInterface,
+ /// for now, the one in ImlVisualEditor
+ /// </summary>
+ public Widget Instance {
+ get { return instance; }
+ set {
+ if (instance == value)
+ return;
+ instance = value;
+ NotifyValueChanged ("Instance", instance);
+ }
+ }
+
+ public Measure DesignWidth {
+ get { return designWidth; }
+ set {
+ if (designWidth == value)
+ return;
+ designWidth = value;
+ NotifyValueChanged ("DesignWidth", designWidth);
+ }
+ }
+ public Measure DesignHeight {
+ get { return designHeight; }
+ set {
+ if (designHeight == value)
+ return;
+ designHeight = value;
+ NotifyValueChanged ("DesignHeight", designHeight);
+ }
+ }
+
+
+ public List<Widget> GraphicTree {
+ get { return new List<Widget> (new Widget[] {instance}); }
+ }
+
+ void GTView_SelectedItemChanged (object sender, SelectionChangeEventArgs e){
+ SelectedItem = e.NewValue;
+ }
+ }
+}
+
--- /dev/null
+//
+// ProjectNodes.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Threading;
+using System.Xml;
+
+namespace Crow.Coding {
+ public class ProjectFile : ProjectItem {
+ bool isOpened = false;
+ DateTime accessTime;
+ string source;
+ string origSource;
+ object selectedItem;
+ int curLine, curColumn;
+
+ internal ReaderWriterLockSlim srcEditMtx = new ReaderWriterLockSlim();
+
+ public Dictionary<object, bool> RegisteredEditors = new Dictionary<object, bool>();
+ List<String> undoStack = new List<string>();
+ List<String> redoStack = new List<string>();
+
+ public Crow.Command cmdSave, cmdSaveAs, cmdOpen, cmdClose, cmdUndo, cmdRedo;
+
+ void initCommands (){
+ cmdSave = new Crow.Command (new Action (() => Save ()))
+ { Caption = "Save", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = false };
+ cmdSaveAs = new Crow.Command (new Action (() => SaveAs ()))
+ { Caption = "Save As ..", Icon = new SvgPicture ("#CrowIDE.icons.save.svg"), CanExecute = false };
+ cmdOpen = new Crow.Command (new Action (() => Open ()))
+ { Caption = "Open", Icon = new SvgPicture ("#CrowIDE.icons.open.svg"), CanExecute = true };
+ cmdClose = new Crow.Command (new Action (() => OnQueryClose (this,null)))
+ { Caption = "Close", Icon = new SvgPicture ("#CrowIDE.icons.open.svg"), CanExecute = false };
+ cmdUndo = new Crow.Command (new Action (() => Undo (null)))
+ { Caption = "Undo", Icon = new SvgPicture ("#CrowIDE.icons.undo.svg"), CanExecute = false };
+ cmdRedo = new Crow.Command (new Action (() => Redo (null)))
+ { Caption = "Redo", Icon = new SvgPicture ("#CrowIDE.icons.redo.svg"), CanExecute = false };
+
+ Commands.Insert (0, cmdOpen);
+ Commands.Insert (1, cmdSave);
+ Commands.Insert (2, cmdSaveAs);
+ Commands.Insert (3, cmdUndo);
+ Commands.Insert (4, cmdRedo);
+ Commands.Add (cmdClose);
+ }
+ public ProjectFile () {
+ initCommands();
+ }
+ public ProjectFile (ProjectItem pi)
+ : base (pi.Project, pi.node) {
+ initCommands ();
+ }
+
+ public string ResourceID {
+ get {
+ return Type != ItemType.EmbeddedResource ? null :
+ node.SelectSingleNode ("LogicalName") == null ?
+ Project.Name + "." + Path.Replace ('/', '.') :
+ LogicalName;
+ }
+ }
+ public string LogicalName {
+ get {
+ return node.SelectSingleNode ("LogicalName")?.InnerText;
+ }
+ }
+ public bool IsOpened {
+ get { return isOpened; }
+ set {
+ if (isOpened == value)
+ return;
+ isOpened = value;
+
+ cmdOpen.CanExecute = !isOpened;
+ cmdClose.CanExecute = isOpened;
+ cmdSave.CanExecute = isOpened && IsDirty;
+
+ if (isOpened)
+ Project.solution.OpenItem (this);
+ else
+ Project.solution.CloseItem (this);
+
+ NotifyValueChanged ("IsOpened", isOpened);
+ }
+ }
+
+ public void UnregisterEditor (object editor){
+ lock(RegisteredEditors){
+ RegisteredEditors.Remove (editor);
+ }
+ }
+ public void RegisterEditor (object editor) {
+ lock(RegisteredEditors){
+ RegisteredEditors.Add (editor, false);
+ }
+ }
+ public virtual void UpdateSource (object sender, string newSrc){
+ System.Diagnostics.Debug.WriteLine ("update source by {0}", sender);
+ Source = newSrc;
+ signalOtherRegisteredEditors (sender);
+ }
+ public void SignalEditorOfType<T> (){
+ lock (RegisteredEditors) {
+ object[] keys = RegisteredEditors.Keys.ToArray ();
+ foreach (object ed in keys) {
+ T editor = (T)ed;
+ if (editor == null)
+ continue;
+ RegisteredEditors [editor] = false;
+ break;
+ }
+ }
+ }
+ protected void signalOtherRegisteredEditors (object sender) {
+ lock (RegisteredEditors) {
+ object[] keys = RegisteredEditors.Keys.ToArray ();
+ foreach (object editor in keys) {
+ if (editor != sender)
+ RegisteredEditors [editor] = false;
+ }
+ }
+ }
+ public string Source {
+ get {
+ if (!IsOpened) {
+ using (StreamReader sr = new StreamReader (AbsolutePath))
+ source = sr.ReadToEnd ();
+
+ } else {
+ if (DateTime.Compare (
+ accessTime,
+ System.IO.File.GetLastWriteTime (AbsolutePath)) < 0)
+ Console.WriteLine ("File has been modified outside CrowIDE");
+ }
+ return source;
+ }
+ set {
+ if (source == value)
+ return;
+
+ srcEditMtx.EnterWriteLock ();
+
+ undoStack.Add (source);
+ cmdUndo.CanExecute = true;
+ redoStack.Clear ();
+ cmdRedo.CanExecute = false;
+ source = value;
+
+ NotifyValueChanged ("Source", source);
+ NotifyValueChanged ("IsDirty", IsDirty);
+
+ cmdSave.CanExecute = cmdSaveAs.CanExecute = IsDirty;
+
+ srcEditMtx.ExitWriteLock ();
+ }
+ }
+ public bool IsDirty {
+ get { return source != origSource; }
+ }
+ public int CurrentColumn{
+ get { return curColumn; }
+ set {
+ if (curColumn == value)
+ return;
+ curColumn = value;
+ NotifyValueChanged ("CurrentColumn", curColumn);
+ }
+ }
+ public int CurrentLine{
+ get { return curLine; }
+ set {
+ if (curLine == value)
+ return;
+ curLine = value;
+ NotifyValueChanged ("CurrentLine", curLine);
+ }
+ }
+
+ public object SelectedItem {
+ get { return selectedItem; }
+ set {
+ if (selectedItem == value)
+ return;
+ selectedItem= value;
+ Project.solution.SelectedItemElement = value;
+ NotifyValueChanged ("SelectedItem", selectedItem);
+ }
+ }
+
+ public CopyToOutputState CopyToOutputDirectory {
+ get {
+ XmlNode xn = node.SelectSingleNode ("CopyToOutputDirectory");
+ return xn == null ? CopyToOutputState.Never :
+ (CopyToOutputState)Enum.Parse (typeof(CopyToOutputState), xn.InnerText, true);
+ }
+ }
+
+ public virtual void Open () {
+ accessTime = System.IO.File.GetLastWriteTime (AbsolutePath);
+ using (StreamReader sr = new StreamReader (AbsolutePath)) {
+ source = sr.ReadToEnd ();
+ }
+ origSource = source;
+ IsOpened = true;
+ NotifyValueChanged ("IsDirty", false);
+ }
+ public virtual void Save () {
+ if (!IsDirty)
+ return;
+ using (StreamWriter sw = new StreamWriter (AbsolutePath)) {
+ sw.Write (source);
+ }
+ origSource = source;
+ NotifyValueChanged ("IsDirty", false);
+ }
+ public virtual void SaveAs () {
+ if (!IsDirty)
+ return;
+ using (StreamWriter sw = new StreamWriter (AbsolutePath)) {
+ sw.Write (source);
+ }
+ origSource = source;
+ NotifyValueChanged ("IsDirty", false);
+ }
+ public void Close () {
+ origSource = source = null;
+ IsOpened = false;
+ }
+ public void Undo(object sender){
+ undo();
+ signalOtherRegisteredEditors (sender);
+ }
+ public void Redo(object sender){
+ redo();
+ signalOtherRegisteredEditors (sender);
+ }
+
+ void undo () {
+ if (undoStack.Count == 0)
+ return;
+
+ srcEditMtx.EnterWriteLock ();
+ string step = undoStack [undoStack.Count -1];
+ redoStack.Add (source);
+ cmdRedo.CanExecute = true;
+ undoStack.RemoveAt(undoStack.Count -1);
+
+ source = step;
+
+ NotifyValueChanged ("Source", source);
+ NotifyValueChanged ("IsDirty", IsDirty);
+ cmdSave.CanExecute = IsDirty;
+
+ if (undoStack.Count == 0)
+ cmdUndo.CanExecute = false;
+ srcEditMtx.ExitWriteLock ();
+ }
+
+ void redo () {
+ if (redoStack.Count == 0)
+ return;
+ srcEditMtx.EnterWriteLock ();
+ string step = redoStack [redoStack.Count -1];
+ undoStack.Add (source);
+ cmdUndo.CanExecute = true;
+ redoStack.RemoveAt(redoStack.Count -1);
+ source = step;
+ NotifyValueChanged ("Source", source);
+ NotifyValueChanged ("IsDirty", IsDirty);
+ cmdSave.CanExecute = IsDirty;
+
+ if (redoStack.Count == 0)
+ cmdRedo.CanExecute = false;
+ srcEditMtx.ExitWriteLock ();
+
+ }
+
+ public void onDoubleClick (object sender, MouseButtonEventArgs e){
+ if (IsOpened)
+ return;
+ Open ();
+ }
+
+ public void onClick (object sender, MouseButtonEventArgs e){
+ IsSelected = true;
+ }
+ public void OnQueryClose (object sender, EventArgs e){
+ if (IsDirty) {
+ MessageBox mb = MessageBox.ShowModal (CrowIDE.MainIFace,
+ MessageBox.Type.YesNoCancel, $"{DisplayName} has unsaved changes.\nSave it now?");
+ mb.Yes += (object _sender, EventArgs _e) => { Save (); Close (); };
+ mb.No += (object _sender, EventArgs _e) => Close();
+ } else
+ Close ();
+ }
+ }
+}
+
--- /dev/null
+//
+// ProjectNodes.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Xml;
+using System.IO;
+using Crow;
+using System.Threading;
+
+namespace Crow.Coding
+{
+ public class ProjectItem : ProjectNode {
+ #region CTOR
+ public ProjectItem() {}
+ public ProjectItem (Project project, XmlNode _node) : base (project){
+ node = _node;
+ }
+ #endregion
+
+ public XmlNode node;
+
+ public override Picture Icon {
+ get {
+ switch (Extension)
+ {
+ case ".cs":
+ return new SvgPicture("#CrowIDE.icons.cs-file.svg");
+ case ".crow":
+ return new SvgPicture("#CrowIDE.icons.xml-file.svg");
+ case ".xml":
+ return new SvgPicture("#CrowIDE.icons.xml-file.svg");
+ default:
+ return base.Icon;
+ }
+ }
+ }
+
+ public string Extension {
+ get { return System.IO.Path.GetExtension (Path); }
+ }
+ public string Path {
+ get {
+ return node.Attributes["Include"]?.Value.Replace('\\','/');
+ }
+ }
+ public string AbsolutePath {
+ get {
+ return System.IO.Path.Combine (Project.RootDir, Path);
+ }
+ }
+ public override ItemType Type {
+ get {
+ return (ItemType)Enum.Parse (typeof(ItemType), node.Name, true);
+ }
+ }
+ public override string DisplayName {
+ get {
+ return Type == ItemType.Reference ?
+ Path :
+ Path.Split ('/').LastOrDefault();
+ }
+ }
+ public string HintPath {
+ get { return node.SelectSingleNode ("HintPath")?.InnerText; }
+ }
+
+ public override bool IsSelected {
+ get {
+ return isSelected;
+ }
+ set {
+ if (value == isSelected)
+ return;
+
+ isSelected = value;
+
+ NotifyValueChanged ("IsSelected", isSelected);
+
+ if (isSelected) {
+ Project.solution.SelectedItem = this;
+ Project.IsExpanded = true;
+ ProjectNode pn = Parent;
+ while (pn != null) {
+ pn.IsExpanded = true;
+ pn = pn.Parent;
+ }
+ }
+ }
+ }
+ }
+}
+
--- /dev/null
+//
+// ProjectNodes.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Xml;
+using System.IO;
+using Crow;
+using System.Threading;
+
+namespace Crow.Coding
+{
+ public enum ItemType {
+ ReferenceGroup,
+ Reference,
+ ProjectReference,
+ VirtualGroup,
+ Folder,
+ None,
+ Compile,
+ EmbeddedResource,
+ }
+ public enum CopyToOutputState {
+ Never,
+ Always,
+ PreserveNewest
+ }
+ public class ProjectNode : IValueChange
+ {
+ #region IValueChange implementation
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ public virtual void NotifyValueChanged(string MemberName, object _value)
+ {
+ ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
+ }
+ #endregion
+
+ #region CTOR
+ public ProjectNode (Project project, ItemType _type, string _name) : this(project){
+ type = _type;
+ name = _name;
+ initCommands ();
+ }
+ public ProjectNode (Project project){
+ Project = project;
+ initCommands ();
+ }
+ public ProjectNode (){
+ initCommands ();
+ }
+ #endregion
+
+ void initCommands () {
+ Commands = new List<Crow.Command> ();
+ }
+
+ ProjectNode parent;
+ bool isExpanded;
+ protected bool isSelected;
+ ItemType type;
+ string name;
+ List<ProjectNode> childNodes = new List<ProjectNode>();
+
+ public Project Project;
+ public List<Crow.Command> Commands;//list of command available for that node
+
+ public virtual Crow.Picture Icon {
+ get {
+ switch (Type) {
+ case ItemType.Reference:
+ return new SvgPicture ("#Crow.Icons.assembly.svg");
+ case ItemType.ProjectReference:
+ return new SvgPicture("#Crow.Icons.projectRef.svg");
+ default:
+ return new SvgPicture("#CrowIDE.icons.blank-file.svg");
+ }
+ }
+ }
+ public ProjectNode Parent {
+ get { return parent; }
+ set { parent = value; }
+ }
+ public virtual ItemType Type {
+ get { return type; }
+ }
+ public virtual string DisplayName {
+ get { return name; }
+ }
+ public List<ProjectNode> ChildNodes {
+ get { return childNodes; }
+ }
+ public void AddChild (ProjectNode pn) {
+ childNodes.Add(pn);
+ pn.Parent = this;
+ }
+ public void RemoveChild (ProjectNode pn){
+ pn.Parent = null;
+ childNodes.Remove (pn);
+ }
+ public void SortChilds () {
+ foreach (ProjectNode pn in childNodes)
+ pn.SortChilds ();
+ childNodes = childNodes.OrderBy(c=>c.Type).ThenBy(cn=>cn.DisplayName).ToList();
+ }
+
+ public bool IsExpanded
+ {
+ get { return isExpanded; }
+ set
+ {
+ if (value == isExpanded)
+ return;
+ isExpanded = value;
+ NotifyValueChanged ("IsExpanded", isExpanded);
+ }
+ }
+ public virtual bool IsSelected
+ {
+ get { return isSelected; }
+ set
+ {
+ if (value == isSelected)
+ return;
+
+ isSelected = value;
+
+ NotifyValueChanged ("IsSelected", isSelected);
+ }
+ }
+ public override string ToString ()
+ {
+ return DisplayName;
+ }
+ }
+}
+
--- /dev/null
+//
+// ProjectNodes.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Xml;
+using System.IO;
+using Crow;
+using System.Threading;
+
+namespace Crow.Coding
+{
+ public class ProjectReference : ProjectItem {
+ public ProjectReference (ProjectItem pi) : base (pi.Project, pi.node){
+ }
+ public string ProjectGUID {
+ get {
+ return node.SelectSingleNode ("Project")?.InnerText;
+ }
+ }
+ public override string DisplayName {
+ get {
+ return node.SelectSingleNode ("Name").InnerText;
+ }
+ }
+ }
+}
+
--- /dev/null
+//
+// ProjectNodes.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Xml;
+using System.IO;
+using Crow;
+using System.Threading;
+
+namespace Crow.Coding
+{
+ public class StyleProjectItem : ProjectFile
+ {
+ #region CTOR
+ public StyleProjectItem (ProjectItem pi) : base (pi){
+ }
+ #endregion
+
+ public override void UpdateSource (object sender, string newSrc)
+ {
+ base.UpdateSource (sender, newSrc);
+ Project.solution.ReloadStyling ();
+ }
+ }
+}
+
--- /dev/null
+//
+// Solution.cs
+//
+//code taken in project https://sourceforge.net/projects/syncproj/
+// no licence info was included, I took the liberty to modify it.
+// Author:
+// tarmopikaro
+// 2018 Jean-Philippe Bruyère
+//MIT-licenced
+
+using Microsoft.Win32;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Globalization;
+using System.IO;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Xml.Serialization;
+using Crow;
+
+namespace Crow.Coding{
+ public class SolutionProject {
+ public string ProjectHostGuid;
+ public string ProjectName;
+ public string RelativePath;
+ public string ProjectGuid;
+ }
+ public class StyleItemContainer {
+ public object Value;
+ public string Name;
+ public StyleItemContainer(string name, object _value){
+ Name = name;
+ Value = _value;
+ }
+ }
+ public class StyleContainer : IValueChange {
+ #region IValueChange implementation
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ public virtual void NotifyValueChanged(string MemberName, object _value)
+ {
+ ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
+ }
+ #endregion
+
+ Style style;
+ bool isExpanded;
+
+ public string Name;
+ public List<StyleItemContainer> Items;
+ public bool IsExpanded
+ {
+ get { return isExpanded; }
+ set
+ {
+ if (value == isExpanded)
+ return;
+ isExpanded = value;
+ NotifyValueChanged ("IsExpanded", isExpanded);
+ }
+ }
+ public StyleContainer(string name, Style _style){
+ Name = name;
+ style = _style;
+
+ Items = new List<StyleItemContainer> ();
+ foreach (string k in style.Keys) {
+ Items.Add(new StyleItemContainer(k, style[k]));
+ }
+ }
+ }
+
+
+ /// <summary>
+/// .sln loaded into class.
+/// </summary>
+ public class Solution: IValueChange
+ {
+ #region IValueChange implementation
+ public event EventHandler<ValueChangeEventArgs> ValueChanged;
+ public virtual void NotifyValueChanged(string MemberName, object _value)
+ {
+ ValueChanged.Raise(this, new ValueChangeEventArgs(MemberName, _value));
+ }
+ #endregion
+
+ ProjectItem selectedItem = null;
+ object selectedItemElement = null;
+ ObservableList<ProjectItem> openedItems = new ObservableList<ProjectItem>();
+ ObservableList<GraphicObjectDesignContainer> toolboxItems;
+
+ public Dictionary<string, Style> Styling;
+ public Dictionary<string, string> DefaultTemplates;
+
+ public List<Style> Styles { get { return Styling.Values.ToList(); }}
+ public List<StyleContainer> StylingContainers;
+ //TODO: check project dependencies if no startup proj
+
+ public void ReloadStyling () {
+ Styling = new Dictionary<string, Style> ();
+ if (StartupProject != null)
+ StartupProject.GetStyling ();
+// StylingContainers = new List<StyleContainer> ();
+// foreach (string k in Styling.Keys) {
+// StylingContainers.Add (new StyleContainer (k, Styling [k]));
+// }
+ foreach (ImlProjectItem pf in openedItems.OfType<ImlProjectItem>()) {
+ pf.SignalEditorOfType<ImlVisualEditor> ();
+ }
+ }
+ public string[] AvailaibleStyles {
+ get { return Styling == null ? new string[] {} : Styling.Keys.ToArray();}
+ }
+ public void ReloadDefaultTemplates () {
+ DefaultTemplates = new Dictionary<string, string>();
+ if (StartupProject != null)
+ StartupProject.GetDefaultTemplates ();
+ }
+ public void updateToolboxItems () {
+ Type[] crowItems = AppDomain.CurrentDomain.GetAssemblies ()
+ .SelectMany (t => t.GetTypes ())
+ .Where (t => t.IsClass && !t.IsAbstract && t.IsPublic &&
+ t.Namespace == "Crow" && t.IsSubclassOf(typeof(Widget)) &&
+ t.GetCustomAttribute<DesignIgnore>(false) == null).ToArray ();
+ ToolboxItems = new ObservableList<GraphicObjectDesignContainer> ();
+ foreach (Type ci in crowItems) {
+ toolboxItems.AddElement(new GraphicObjectDesignContainer(ci));
+ }
+ }
+ public bool GetProjectFileFromPath (string path, out ProjectFile pi){
+ pi = null;
+ return StartupProject == null ? false :
+ StartupProject.TryGetProjectFileFromPath (path, out pi);
+ }
+
+ public ObservableList<ProjectItem> OpenedItems {
+ get { return openedItems; }
+ set {
+ if (openedItems == value)
+ return;
+ openedItems = value;
+ NotifyValueChanged ("OpenedItems", openedItems);
+ }
+ }
+
+ public ObservableList<GraphicObjectDesignContainer> ToolboxItems {
+ get { return toolboxItems; }
+ set {
+ if (toolboxItems == value)
+ return;
+ toolboxItems = value;
+ NotifyValueChanged ("ToolboxItems", toolboxItems);
+ }
+ }
+ public ProjectItem SelectedItem {
+ get { return selectedItem; }
+ set {
+ if (selectedItem == value)
+ return;
+ if (SelectedItem != null)
+ SelectedItem.IsSelected = false;
+ selectedItem = value;
+ if (SelectedItem != null)
+ SelectedItem.IsSelected = true;
+
+ UserConfig.Set ("SelectedProjItems", SelectedItem?.AbsolutePath);
+
+ NotifyValueChanged ("SelectedItem", selectedItem);
+ }
+ }
+ public object SelectedItemElement {
+ get { return selectedItemElement; }
+ set {
+ if (selectedItemElement == value)
+ return;
+ selectedItemElement = value;
+ NotifyValueChanged ("SelectedItemElement", selectedItemElement);
+ }
+ }
+ public string DisplayName {
+ get { return name; }
+ }
+ /// <summary>
+ /// Gets solution path
+ /// </summary>
+ public String SolutionFolder
+ {
+ get { return Path.GetDirectoryName (path); }
+ }
+
+// public System.CodeDom.Compiler.CompilerErrorCollection CompilationErrors {
+// get {
+// System.CodeDom.Compiler.CompilerErrorCollection tmp = Projects.SelectMany<Project>
+// (p => p.CompilationResults.Errors);
+// return tmp;
+// }
+// }
+ public List<System.CodeDom.Compiler.CompilerError> CompilerErrors {
+ get {
+ int errCount = 0;
+ for (int i = 0; i < Projects.Count; i++) {
+ if (Projects [i].CompilationResults != null)
+ errCount += Projects [i].CompilationResults.Errors.Count;
+ }
+ System.CodeDom.Compiler.CompilerError[] tmp = new System.CodeDom.Compiler.CompilerError[errCount];
+
+ int ptr = 0;
+ for (int i = 0; i < Projects.Count; i++) {
+ if (Projects [i].CompilationResults == null)
+ continue;
+ Projects [i].CompilationResults.Errors.CopyTo (tmp,ptr);
+ ptr += Projects [i].CompilationResults.Errors.Count;
+ }
+ return new List<System.CodeDom.Compiler.CompilerError>(tmp);
+ }
+ }
+
+ public void UpdateErrorList () {
+ NotifyValueChanged ("CompilerErrors", CompilerErrors);
+ }
+
+ void saveOpenedItemsInUserConfig (){
+ if (openedItems.Count == 0)
+ UserConfig.Set ("OpenedItems", "");
+ else
+ UserConfig.Set ("OpenedItems", openedItems.Select(o => o.AbsolutePath).Aggregate((a,b)=>a + ";" + b));
+ }
+ public void ReopenItemsSavedInUserConfig () {
+ string tmp = UserConfig.Get<string> ("OpenedItems");
+ string sel = UserConfig.Get<string> ("SelectedProjItems");
+ ProjectFile selItem = null;
+ if (string.IsNullOrEmpty (tmp))
+ return;
+ foreach (string f in tmp.Split(';')) {
+ foreach (Project p in Projects) {
+ ProjectFile pi;
+ if (p.TryGetProjectFileFromAbsolutePath (f, out pi)) {
+ pi.Open ();
+ if (pi.AbsolutePath == sel)
+ selItem = pi;
+ break;
+ }
+ }
+ }
+ if (selItem == null)
+ return;
+ selItem.IsSelected = true;
+ }
+
+ /*void onSelectedItemChanged (object sender, SelectionChangeEventArgs e){
+ SelectedItem = e.NewValue as ProjectItem;
+ UserConfig.Set ("SelectedProjItems", SelectedItem?.AbsolutePath);
+ }*/
+
+ public void OpenItem (ProjectItem pi) {
+ if (!openedItems.Contains (pi)) {
+ openedItems.AddElement (pi);
+ saveOpenedItemsInUserConfig ();
+ }
+ }
+ public void CloseItem (ProjectItem pi) {
+ openedItems.RemoveElement (pi);
+ saveOpenedItemsInUserConfig ();
+ }
+
+ public void CloseSolution () {
+ while (openedItems.Count > 0) {
+ openedItems.RemoveElement (openedItems [0]);
+ }
+ while (toolboxItems.Count > 0) {
+ toolboxItems.RemoveElement (toolboxItems [0]);
+ }
+ NotifyValueChanged ("Projects", null);
+ }
+ /// <summary>
+ /// Solution name
+ /// </summary>
+ String name;
+ /// <summary>
+ /// File path from where solution was loaded.
+ /// </summary>
+ [XmlIgnore]
+ String path;
+
+ /// <summary>
+ /// Solution name for debugger.
+ /// </summary>
+ [ExcludeFromCodeCoverage]
+ public override string ToString()
+ {
+ return "Solution: " + name;
+ }
+
+ #region Solution properties
+ double slnVer; // 11.00 - vs2010, 12.00 - vs2015
+
+ /// <summary>
+ /// Visual studio version information used for generation, for example 2010, 2012, 2015 and so on...
+ /// </summary>
+ public int fileFormatVersion;
+
+ /// <summary>
+ /// null for old visual studio's
+ /// </summary>
+ public String VisualStudioVersion;
+
+ /// <summary>
+ /// null for old visual studio's
+ /// </summary>
+ public String MinimumVisualStudioVersion;
+
+ /// <summary>
+ /// List of project included into solution.
+ /// </summary>
+ public List<Project> Projects = new List<Project>();
+
+ /// <summary>
+ /// List of configuration list, in form "{Configuration}|{Platform}", for example "Release|Win32".
+ /// To extract individual platforms / configuration list, use following functions.
+ /// </summary>
+ public List<String> configurations = new List<string>();
+
+ /// <summary>
+ /// Extracts platfroms supported by solution
+ /// </summary>
+ public IEnumerable<String> getPlatforms()
+ {
+ return configurations.Select(x => x.Split('|')[1]).Distinct();
+ }
+
+ /// <summary>
+ /// Extracts configuration names supported by solution
+ /// </summary>
+ public IEnumerable<String> getConfigurations()
+ {
+ return configurations.Select(x => x.Split('|')[0]).Distinct();
+ }
+ #endregion
+
+ public Configuration UserConfig;
+
+ public Project StartupProject {
+ get { return Projects?.FirstOrDefault (p => p.ProjectGuid == UserConfig.Get<string> ("StartupProject")); }
+ set {
+ if (value == StartupProject)
+ return;
+ if (value == null)
+ UserConfig.Set ("StartupProject", "");
+ else {
+ UserConfig.Set ("StartupProject", value.ProjectGuid);
+ value.NotifyValueChanged("IsStartupProject", true);
+ }
+ NotifyValueChanged ("StartupProject", StartupProject);
+ ReloadStyling ();
+ ReloadDefaultTemplates ();
+ }
+ }
+
+ #region CTOR
+ /// <summary>
+ /// Creates new solution.
+ /// </summary>
+ public Solution() {
+ }
+
+ #endregion
+
+
+ #region Loading from SLN file
+ /// <summary>
+ /// Loads visual studio .sln solution
+ /// </summary>
+ /// <exception cref="System.IO.FileNotFoundException">The file specified in path was not found.</exception>
+ static public Solution LoadSolution(string path)
+ {
+ Solution s = new Solution();
+ s.path = path;
+
+ String slnTxt = File.ReadAllText(path);
+ //
+ // Extra line feed is used by Visual studio, cmake does not generate extra line feed.
+ //
+ s.slnVer = Double.Parse(Regex.Match(slnTxt, "[\r\n]?Microsoft Visual Studio Solution File, Format Version ([0-9.]+)", RegexOptions.Multiline).Groups[1].Value, CultureInfo.InvariantCulture);
+
+ int vsNumber = Int32.Parse(Regex.Match(slnTxt, "^\\# Visual Studio (Express )?([0-9]+)", RegexOptions.Multiline).Groups[2].Value);
+ if (vsNumber > 2000)
+ s.fileFormatVersion = vsNumber;
+ else
+ s.fileFormatVersion = vsNumber - 14 + 2015; // Visual Studio 14 => vs2015, formula might not be applicable for future vs versions.
+
+ foreach (String line in new String[] { "VisualStudioVersion", "MinimumVisualStudioVersion" })
+ {
+ var m = Regex.Match(slnTxt, "^" + line + " = ([0-9.]+)", RegexOptions.Multiline);
+ String v = null;
+ if (m.Success)
+ v = m.Groups[1].Value;
+
+ s.GetType().GetField(line).SetValue(s, v);
+ }
+
+ Regex reProjects = new Regex(
+ "Project\\(\"(?<ProjectHostGuid>{[A-F0-9-]+})\"\\) = \"(?<ProjectName>.*?)\", \"(?<RelativePath>.*?)\", \"(?<ProjectGuid>{[A-F0-9-]+})\"[\r\n]*(?<dependencies>.*?)EndProject[\r\n]+",
+ RegexOptions.Singleline);
+
+
+ reProjects.Replace(slnTxt, new MatchEvaluator(m =>
+ {
+ SolutionProject p = new SolutionProject ();
+
+ foreach (String g in reProjects.GetGroupNames())
+ {
+ if (g == "0") //"0" - RegEx special kind of group
+ continue;
+
+ //
+ // ProjectHostGuid, ProjectName, RelativePath, ProjectGuid fields/properties are set here.
+ //
+ String v = m.Groups[g].ToString();
+ if (g != "dependencies")
+ {
+ FieldInfo fi = p.GetType().GetField(g);
+ if (fi != null)
+ {
+ fi.SetValue(p, v);
+ }
+ else
+ {
+ p.GetType().GetProperty(g).SetValue(p, v);
+ }
+ continue;
+ }
+
+ if (v == "") // No dependencies set
+ continue;
+
+ String depsv = new Regex("ProjectSection\\(ProjectDependencies\\)[^\r\n]*?[\r\n]+" + "(.*?)" + "EndProjectSection", RegexOptions.Singleline).Match(v).Groups[1].Value;
+
+ //
+ // key is always equal to it's value.
+ // http://stackoverflow.com/questions/5629981/question-about-visual-studio-sln-file-format
+ //
+ var ProjectDependencies = new Regex("\\s*?({[A-F0-9-]+}) = ({[A-F0-9-]+})[\r\n]+", RegexOptions.Multiline).Matches(depsv).Cast<Match>().Select(x => x.Groups[1].Value).ToList();
+ } //foreach
+ s.Projects.Add(new Project (s, p));
+ return "";
+ }
+ )
+ );
+
+ new Regex("GlobalSection\\(SolutionConfigurationPlatforms\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m2 =>
+ {
+ s.configurations = new Regex("\\s*(.*)\\s+=").Matches(m2.Groups[1].ToString()).Cast<Match>().Select(x => x.Groups[1].Value).ToList();
+ return "";
+ }
+ ));
+
+ Console.WriteLine ("******** CONFIG ***************");
+
+ new Regex("GlobalSection\\(ProjectConfigurationPlatforms\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m2 =>
+ {
+ foreach (Match m3 in new Regex("\\s*({[A-F0-9-]+})\\.(.*?)\\.(.*?)\\s+=\\s+(.*?)[\r\n]+").Matches(m2.Groups[1].ToString()))
+ {
+ String guid = m3.Groups[1].Value;
+ String solutionConfig = m3.Groups[2].Value;
+ String action = m3.Groups[3].Value;
+ String projectConfig = m3.Groups[4].Value;
+
+ Project p = s.Projects.Where(x => x.ProjectGuid == guid).FirstOrDefault();
+ if (p == null)
+ continue;
+
+ Console.WriteLine ("{0},{1},{2},{3}",guid,solutionConfig,action,projectConfig);
+
+ int iConfigIndex = s.configurations.IndexOf(solutionConfig);
+ if (iConfigIndex == -1)
+ continue;
+
+// while (p.slnConfigurations.Count < s.configurations.Count)
+// {
+// p.slnConfigurations.Add(null);
+// p.slnBuildProject.Add(false);
+// }
+//
+// if (action == "ActiveCfg")
+// {
+// p.slnConfigurations[iConfigIndex] = projectConfig;
+// }
+// else
+// {
+// if (action.StartsWith("Build"))
+// {
+// p.slnBuildProject[iConfigIndex] = true;
+// }
+// else
+// {
+// if (action.StartsWith("Deploy"))
+// {
+// if (p.slnDeployProject == null) p.slnDeployProject = new List<bool?>();
+//
+// while (p.slnDeployProject.Count < s.configurations.Count)
+// p.slnDeployProject.Add(null);
+//
+// p.slnDeployProject[iConfigIndex] = true;
+// }
+// }
+// } //if-esle
+ }
+ return "";
+ }
+ ));
+
+ //
+ // Initializes parent-child relationship.
+ //
+ new Regex("GlobalSection\\(NestedProjects\\).*?[\r\n]+(.*?)EndGlobalSection[\r\n]+", RegexOptions.Singleline).Replace(slnTxt, new MatchEvaluator(m4 =>
+ {
+ String v = m4.Groups[1].Value;
+ new Regex("\\s*?({[A-F0-9-]+}) = ({[A-F0-9-]+})[\r\n]+", RegexOptions.Multiline).Replace(v, new MatchEvaluator(m5 =>
+ {
+ String[] args = m5.Groups.Cast<System.Text.RegularExpressions.Group>().Skip(1).Select(x => x.Value).ToArray();
+ Project child = s.Projects.Where(x => args[0] == x.ProjectGuid).FirstOrDefault();
+ Project parent = s.Projects.Where(x => args[1] == x.ProjectGuid).FirstOrDefault();
+ parent.dependantProjects.Add(child);
+ child.ParentProject = parent;
+ return "";
+ }));
+ return "";
+ }
+ ));
+
+ s.UserConfig = new Configuration (s.path + ".user");
+ s.ReloadStyling ();
+ s.ReloadDefaultTemplates ();
+ s.updateToolboxItems ();
+ return s;
+ } //LoadSolution
+ #endregion
+ }
+}
--- /dev/null
+//
+// SolutionControler.cs
+//
+// Author:
+// Jean-Philippe Bruyère <jp_bruyere@hotmail.com>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+
+namespace Crow.Coding
+{
+ public class SolutionControler
+ {
+ public SolutionControler ()
+ {
+ }
+ }
+}
+
--- /dev/null
+//
+// VerticalLine.cs
+//
+// Author:
+// jp <>
+//
+// Copyright (c) 2013-2017 Jean-Philippe Bruyère
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+using System;
+using Crow;
+using vkvg;
+
+namespace Crow.Coding
+{
+ public class VerticalLine : Widget
+ {
+ public VerticalLine () : base()
+ {
+ }
+
+ protected override void onDraw (Context gr)
+ {
+ base.onDraw (gr);
+ Foreground.SetAsSource (gr);
+ Rectangle r = ClientRectangle;
+ double x = r.Center.X - 0.5;
+ double y;
+ gr.LineWidth = 1;
+ gr.MoveTo (x, r.Y);
+ gr.LineTo (x, r.Bottom-8);
+
+ for (y = 8.5+r.Y; y < r.Bottom; y += 18) {
+ gr.MoveTo (x, y);
+ gr.LineTo (x * 2, y);
+ }
+
+ gr.Stroke ();
+ }
+ }
+}
+
--- /dev/null
+<?xml version="1.0"?>
+<Expandable Caption="{Name}" IsExpanded="{IsExpanded}" Background="Grey" Foreground="Black">
+ <Template>
+ <VerticalStack>
+ <HorizontalStack Spacing="1" Height="Fit" MouseDoubleClick="./onClickForExpand" Background="Grey">
+ <Container Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}">
+ <Image
+ Path="#Crow.Icons.expandable.svg"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"/>
+ </Container>
+ <Label Foreground="White" Text="{./Caption}"/>
+ </HorizontalStack>
+ <Container Name="Content" Visible="false"/>
+ </VerticalStack>
+ </Template>
+ <VerticalStack Spacing="1" Height="Fit" Name="ItemsContainer"
+ Margin="0" VerticalAlignment="Top"/>
+</Expandable>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!--<Window Height="Stretched" Width="Stretched" >-->
+ <VerticalStack DataSourceType="CrowIDE">
+ <Menu>
+ <MenuItem Caption="File" Width="Fit" PopWidth="120" DataSource="{CurrentSolution}">
+ <MenuItem Command="{CMDNew}" />
+ <MenuItem Command="{CMDOpen}" />
+ <MenuItem Command="{cmdCloseSolution}" />
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdSave}" />
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdSaveAs}" />
+ <MenuItem Command="{CMDQuit}" />
+ </MenuItem>
+ <MenuItem Caption="Edit" Name="edit" Width="Fit" PopWidth="100" DataSource="{CurrentSolution}">
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdUndo}" />
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdRedo}" />
+ <MenuItem Command="{CMDCut}" />
+ <MenuItem Command="{CMDCopy}" />
+ <MenuItem Command="{CMDPaste}" />
+ <MenuItem Command="{CMDOptions}"/>
+ </MenuItem>
+ <MenuItem Caption="View" Fit="true" PopWidth="150">
+ <MenuItem Command="{CMDViewSolution}"/>
+ <MenuItem Command="{CMDViewEditor}"/>
+ <MenuItem Command="{CMDViewProperties}"/>
+ <MenuItem Command="{CMDViewDesign}"/>
+ <MenuItem Command="{CMDViewStyling}"/>
+ <MenuItem Command="{CMDViewToolbox}"/>
+ <MenuItem Command="{CMDViewErrors}"/>
+ <MenuItem Command="{CMDViewGTExp}"/>
+ <MenuItem Command="{CMDViewSchema}"/>
+ </MenuItem>
+ <MenuItem Caption="Project" Fit="true" PopWidth="120">
+ <MenuItem Command="{CMDCompile}"/>
+ <MenuItem Command="{CMDViewProjProps}"/>
+ </MenuItem>
+ <MenuItem Caption="Help" Width="Fit" PopWidth="60">
+ <MenuItem Caption="About"/>
+ <MenuItem Command="{CMDHelp}"/>
+ </MenuItem>
+ </Menu>
+<!-- <Label DataSource="{CurrentSolution}" Text="{SelectedItemElement}" Width="Stretched"/>-->
+<!-- <Docker >-->
+ <DockStack Name="mainDock"/>
+<!-- <DockWindow DataSource="{CurrentSolution}" Name="winEditor" Caption="Edit View" Width="70%" Height="80%">
+ <Template>
+ <Border BorderWidth="1" Foreground="DimGrey" CornerRadius="{./CornerRadius}"
+ Background="{./Background}"
+ MouseEnter="./onBorderMouseEnter"
+ MouseLeave="./onBorderMouseLeave">
+ <Container Name="Content" MinimumSize="50,50"/>
+ </Border>
+ </Template>
+ <EditPane SelectedItem="{²SelectedItem}" SelectedItemElement="{²SelectedItemElement}" Data="{OpenedItems}" DataTest="Extension"
+ ItemTemplate="#Crow.Coding.ui.EditPaneItems.template"/>
+ </DockWindow>-->
+<!-- </Docker>-->
+ </VerticalStack>
+<!--</Window>-->
--- /dev/null
+<?xml version="1.0"?>
+<Expandable IsExpanded="{²IsExpanded}" MouseDoubleClick="/onClickForExpand">
+ <Template>
+ <VerticalStack>
+ <Border CornerRadius="2" Margin="0" Height="Fit"
+ Foreground="Transparent"
+ MouseEnter="{Foreground=DimGrey}"
+ MouseLeave="{Foreground=Transparent}">
+ <HorizontalStack Spacing="1">
+ <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ Path="{./Image}"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}"/>
+ <Border Width="16" Height="16" Foreground="Black" Background="DimGrey">
+ <Image Margin="2" Path="{GetIcon}" />
+ </Border>
+ <Label Text="{DesignName}"/>
+ </HorizontalStack>
+ </Border>
+ <Container Name="Content" Visible="false"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+</Expandable>
--- /dev/null
+<?xml version="1.0"?>
+<Border BorderWidth="1" Foreground="Black" CornerRadius="10"
+ Background="Grey"
+ MouseEnter="./onBorderMouseEnter"
+ MouseLeave="./onBorderMouseLeave">
+ <VerticalStack Spacing="0">
+ <HorizontalStack Background="MediumSeaGreen" Margin="0" Spacing="0" Height="Fit" Width="Stretched">
+ <Label Width="Stretched" Margin="0" TextAlignment="Center" Text="{./Caption}" />
+ </HorizontalStack>
+ <Widget Background="Black" Height="1"/>
+ <Container Margin="5" Name="Content" Width="Fit"/>
+ </VerticalStack>
+</Border>
--- /dev/null
+<?xml version="1.0"?>
+<Border Background="{./Background}" Name="Content"
+ Foreground="Transparent" CornerRadius="{./CornerRadius}" BorderWidth="1"
+ MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
+ MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}">
+ <Image Path="{./Caption}" Margin="2" Width="20" Height="20" />
+</Border>
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winDesign" Caption="Design" Width="200" Height="50%">
+ <VerticalStack DataSource="{SelectedItemElement}">
+ <ColorPicker SelectedColor="{²Background}"/>
+ <Group Fit="true">
+ <Border Foreground="Black" Left="25" Top="12" Width="34" Height="21" Background="{Background}"/>
+ <Border Foreground="Black" Left="1" Top="1" Width="34" Height="21" Background="{Foreground}"/>
+ </Group>
+ </VerticalStack>
+</DockWindow>
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow Name="winEditor" Caption="Edit View">
+ <EditPane DataSource="{CurrentSolution}"
+ SelectedItemElement="{²SelectedItemElement}" Data="{OpenedItems}" DataTest="Extension"
+ ItemTemplate="#Crow.Coding.EditPaneItems.template"/>
+</DockWindow>
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winErrors" Caption="Errors" Width="20%">
+ <ListBox Width="Stretched" Data="{CompilerErrors}">
+ <ItemTemplate>
+ <HorizontalStack Height="Fit" Margin="0" Focusable="true" Spacing="10"
+ MouseEnter="{Background=SteelBlue}"
+ MouseLeave="{Background=Transparent}">
+ <Image Width="10" Height="10" Path="#Crow.Icons.compiler_error.svg" SvgSub="{IsWarning}"/>
+ <Label Text="{Line}" Width="25" TextAlignment="Right"/>
+ <Label Text="{ErrorText}" Width="60%"/>
+ <Label Text="{FileName}" Width="Fit"/>
+ </HorizontalStack>
+ </ItemTemplate>
+ </ListBox>
+</DockWindow>
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow Name="winGTExplorer" Caption="Edit View" Width="40%" Height="80%">
+ <VerticalStack Name="vstack" DataSource="{CurrentSolution}">
+ <Button Caption="Expand All" MouseClick="../treeView.onExpandAll_MouseClick"/>
+ <TreeView DataSource="{SelectedItem}" IsRoot="true" Name="treeView" Data="{GraphicTree}"
+ SelectedItemChanged="../../vstack.DataSource.GTView_SelectedItemChanged">
+ <ItemTemplate>
+ <Border Width="Stretched" Focusable="true" Foreground="Transparent">
+ <HorizontalStack Spacing="5">
+ <Widget Width="5" Height="5"/>
+ <Border Width="16" Height="16" Foreground="Black" Background="DimGrey">
+ <Image Margin="2" Path="{GetIcon}" />
+ </Border>
+ <Label Text="{DesignName}" Width="Stretched"/>
+ </HorizontalStack>
+ </Border>
+ </ItemTemplate>
+ <ItemTemplate DataType="Crow.Group" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ <ItemTemplate DataType="Crow.Container" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ <ItemTemplate DataType="Crow.TemplatedContainer" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ <ItemTemplate DataType="Crow.TemplatedGroup" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ </TreeView>
+ </VerticalStack>
+</DockWindow>
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow Name="winProperties" Caption="Properties" Width="20%">
+ <MembersView DataSource="{CurrentSolution}" ProjectNode="{SelectedItem}"
+ Instance="{SelectedItemElement}" DataTest="Type"
+ ItemTemplate="#Crow.Coding.MembersItem.template"/>
+</DockWindow>
+
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winSchema" Caption="IML Schematic View" Height="60%" Width="80%">
+ <ImlSchematicEditor DataSource="{SelectedItem}" Data="{GraphicTree}">
+ <Template>
+ <Group Name="ItemsContainer"/>
+ </Template>
+ <ItemTemplate DataType="Crow.Widget">
+ <Window Style="WinSchema" Caption="{Name}">
+ <Label Text="test"/>
+ </Window>
+ </ItemTemplate>
+ <ItemTemplate DataType="Crow.Container" >
+ <Window Style="WinSchema" Caption="{Name}">
+ <Label Text="test"/>
+ </Window>
+ </ItemTemplate>
+ </ImlSchematicEditor>
+</DockWindow>
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow Name="winSolution" Caption="Solution" Width="20%">
+ <TreeView Name="treeview" IsRoot="true" DataSource="{CurrentSolution}"
+ Data="{Projects}" SelectedItemChanged="onSelectedItemChanged"
+ ItemTemplate="#Crow.Coding.ProjectTree.template"/>
+</DockWindow>
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winStyle" Caption="Styling" Width="20%">
+ <TreeView Data="{StylingContainers}">
+ <Template>
+ <VerticalStack Name="ItemsContainer" Spacing="1"/>
+ </Template>
+ <ItemTemplate DataType="Crow.Coding.StyleItemContainer">
+ <HorizontalStack Height="Fit" Spacing="1">
+ <Label Background="White" Foreground="Jet" Text="{Name}" Width="40%"/>
+ <Label Background="White" Foreground="Jet" Text="{Value}" Width="Stretched"/>
+ </HorizontalStack>
+ </ItemTemplate>
+ <ItemTemplate Path="#Crow.Coding.ui.CategoryExp.template" DataType="Crow.Coding.StyleContainer" Data="Items"/>
+ </TreeView>
+</DockWindow>
+
--- /dev/null
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winToolbox" Caption="Toolbox" Width="60">
+ <ListBox Margin="3" Data="{ToolboxItems}" SelectionBackground="SkyBlue">
+ <Template>
+ <Wrapper Name="ItemsContainer" Orientation="Vertical" Spacing="0"/>
+ </Template>
+ <ItemTemplate>
+ <Container Fit="true" Focusable="true" Tooltip="{DisplayName}" Margin="2" AllowDrag="true"
+ StartDrag="onStartDrag" EndDrag="onEndDrag" Drop="onDrop">
+ <Border Foreground="Black" Background="DimGrey" Margin="0" BorderWidth="1"
+ MouseEnter="{Foreground=White}"
+ MouseLeave="{Foreground=Black}">
+ <Image Path="{IconPath}" Margin="3" Width="20" Height="20" />
+ </Border>
+ </Container>
+ </ItemTemplate>
+ </ListBox>
+</DockWindow>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<Border Background="{./Background}" Name="Content"
+ BorderWidth="1" BorderStyle="Normal"
+ MouseDown="{BorderStyle=Sunken}"
+ MouseUp="{BorderStyle=Normal}">
+ <Image Margin="1" Path="#icons.blank-file" />
+</Border>
--- /dev/null
+<?xml version="1.0"?>
+<HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}" DataSourceType="PropertyContainer">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
+ <ComboBox Margin="0" Height="Stretched" Width="50%" Data="{Choices}"
+ SelectedItem="{²Value}">
+ <Template>
+ <Popper Name="popper" PopDirection="Bottom">
+ <Template>
+ <CheckBox Caption="{./Caption}" IsChecked="{²./IsPopped}" Foreground="{./Foreground}" Background="{./Background}">
+ <Template>
+ <Border CornerRadius="0" Foreground="LightGrey" Background="White">
+ <HorizontalStack Margin="0" Spacing="1">
+ <Label Width="Stretched" MinimumSize="80,10" Margin="1" Foreground = "{LabForeground}" Background="White"
+ Text="{../../../../../SelectedItem}"/>
+ <Button Width="12" Height="12" Focusable="false"
+ Template="#Crow.ArrowBut.template">
+ <Image Margin="1" Path="#Crow.Icons.updown.svg" SvgSub="down"/>
+ </Button>
+ </HorizontalStack>
+ </Border>
+ </Template>
+ </CheckBox>
+ </Template>
+ <Border Background="White" BorderWidth="1" Margin="1" Foreground="Black"
+ MinimumSize="{../../MinimumPopupSize}" Fit="true">
+ <Scroller Name="scroller1" Margin="2"
+ MaximumSize="0,200"
+ HorizontalAlignment="Left">
+ <VerticalStack LayoutChanged="../../../../_list_LayoutChanged"
+ MouseClick="../../../onMouseClick" Focusable="True"
+ Height="Fit" Name="ItemsContainer" Margin="0"
+ HorizontalAlignment="Left"
+ VerticalAlignment="Top"/>
+ </Scroller>
+ </Border>
+ </Popper>
+ </Template>
+ <ItemTemplate>
+ <Container Fit="true" Margin="0" Focusable="true"
+ HorizontalAlignment="Left"
+ MouseEnter="{Background=SteelBlue}"
+ MouseLeave="{Background=Transparent}">
+ <Label Text="{}" Foreground="Black"/>
+ </Container>
+ </ItemTemplate>
+ </ComboBox>
+</HorizontalStack>
--- /dev/null
+<?xml version="1.0"?>
+<HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
+ <Popper Height="Stretched" Caption="{Value}">
+ <Template>
+ <CheckBox Caption="{./Caption}" IsChecked="{²./IsPopped}">
+ <Template>
+ <HorizontalStack Margin="1" Height="Stretched" Spacing="3" Background="White">
+ <Border Foreground="{LabForeground}" Width="18" Height="12" CornerRadius="3"
+ Background="{Value}">
+ </Border>
+ <Label Width="Stretched" Text="{./Caption}" Foreground="{LabForeground}"/>
+ </HorizontalStack>
+ </Template>
+ </CheckBox>
+ </Template>
+ <ColorPicker SelectedColor="{²Value}" Background="DimGrey" Margin="5" Fit="True" />
+ </Popper>
+</HorizontalStack>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<Window Width="50%" Height="50%" Background="DimGrey">
+ <TreeView IsRoot="true" Name="treeView" Data="{LQIs}">
+ <ItemTemplate DataType="Crow.LayoutingQueueItem" Data="triggeredLQIs">
+ <Expandable>
+ <Template>
+ <VerticalStack Height="{./HeightPolicy}" Width="{./WidthPolicy}">
+ <VerticalStack Fit="true" Margin="3" Background="DimGrey"
+ HorizontalAlignment="Left"
+ MouseEnter="{Background=hgradient|0:RoyalBlue|1:Transparent}"
+ MouseLeave="{Background=DimGrey}">
+ <Label Text="{FullName}" Font="droid, 8" Background="LightGrey" Foreground="Black"/>
+ <HorizontalStack Fit="true" Spacing="10">
+ <Label Text="{LayoutingTries}" Foreground="SkyBlue"/>
+ <Label Text="{DiscardCount}" Foreground="Red"/>
+ <Label Text="{Name}" Font="droid bold"/>
+ <Label Text="{LayoutType}" Foreground="Maize"/>
+ <Label Text="{Width}"/>
+ <Label Text="{Height}"/>
+ </HorizontalStack>
+
+ <HorizontalStack Fit="true">
+ <Label Text="{Slot}"/>
+ <Label Text=" => "/>
+ <Label Text="{NewSlot}"/>
+ </HorizontalStack>
+ <Widget Background="SeaGreen" Height="3" Visible="{HasTriggeredLQIs}"/>
+ </VerticalStack>
+ <Container Name="Content" Visible="false" HorizontalAlignment="Left"
+ Fit="true"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit" Width="Fit">
+ <Widget Width="20" Height="10"/>
+ <TreeView Name="List" Height="Fit" Width="Fit"
+ Template="#Crow.Templates.treeList.crow" />
+ </HorizontalStack>
+ </Expandable>
+ </ItemTemplate>
+ <ItemTemplate DataType="Crow.LQIList" Data="GetRootLQIs">
+ <Expandable Caption="{}" >
+ <Template>
+ <VerticalStack Height="{./HeightPolicy}" Width="{./WidthPolicy}">
+ <HorizontalStack Spacing="1" Height="Fit" Width="{./WidthPolicy}"
+ MouseEnter="{Background=hgradient|0:RoyalBlue|1:Transparent}"
+ MouseLeave="{Background=Transparent}">
+ <Image Margin="2" Width="12" Height="12"
+
+ Path="{./Image}"
+ SvgSub="{./IsExpanded}"/>
+ <Label Text="{./Caption}" Width="{./WidthPolicy}"/>
+ </HorizontalStack>
+ <Container Name="Content" Visible="false"
+ Height="{./HeightPolicy}" Width="{./WidthPolicy}"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit" Width="{./WidthPolicy}">
+ <Widget Width="12" Height="10"/>
+ <TreeView Name="List" Height="Fit" Width="{./WidthPolicy}"
+ Template="#Crow.Templates.treeList.crow" />
+ </HorizontalStack>
+ </Expandable>
+ </ItemTemplate>
+ </TreeView>
+</Window>
--- /dev/null
+<?xml version="1.0"?>
+<Window Caption="Properties" Width="30%" Height="60%" AlwaysOnTop="true">
+ <MembersView Instance="{SelectedItem}" DataTest="Type"
+ ItemTemplate="#Crow.Coding.ui.MembersItem.template"/>
+</Window>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<ItemTemplate>
+ <HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}" DataSourceType="PropertyContainer">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
+ <TextBox Margin="1" Text="{²Value}" Height="Fit" Foreground = "{LabForeground}"/>
+ </HorizontalStack>
+</ItemTemplate>
+<ItemTemplate Path="#Crow.Coding.CategoryExp.template" DataType="Crow.Coding.CategoryContainer"
+ Data="Properties" DataTest="Type"/>
+<ItemTemplate DataType="System.Boolean" >
+ <HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}" />
+ <CheckBox Background="White" Foreground = "{LabForeground}" Height="Stretched" Caption="" IsChecked="{²Value}"/>
+ </HorizontalStack>
+</ItemTemplate>
+<ItemTemplate Path="#Crow.Coding.Enum.template" DataType="System.Enum" />
+<ItemTemplate Path="#Crow.Coding.Enum.template" DataType="Style" />
+<!--<ItemTemplate Path="#Crow.Coding.ui.ItemTemplates.Fill.template" DataType="Crow.Fill"/>-->
+
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<VerticalStack>
+ <Border Height="Fit">
+ <Label TextAlignment="Left" Text="{./SelectedItemName}" Width="Stretched"/>
+ </Border>
+ <HorizontalStack>
+ <Scroller Name="scroller1" Margin="1"
+ Background="{./Background}">
+ <VerticalStack Spacing="1"
+ Height="Fit" Name="ItemsContainer" Margin="0" VerticalAlignment="Top"/>
+ </Scroller>
+ <ScrollBar
+ Name="scrollbar1" Orientation="Vertical"
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
+ CursorSize="{../scroller1.ChildHeightRatio}"
+ Value="{²../scroller1.ScrollY}"
+ Maximum="{../scroller1.MaxScrollY}"/>
+ </HorizontalStack>
+</VerticalStack>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<Window Caption="Add New File..." Height="60%" Width="70%">
+ <Label/>
+</Window>
+
--- /dev/null
+<?xml version="1.0"?>
+<Window Caption="Crow IDE Options" Width="80%" Height="70%" Background="DimGrey" Modal="true">
+ <TabView>
+ <TabItem Caption="IML Visual Editor">
+ <VerticalStack Margin="10">
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ </VerticalStack>
+ </TabItem>
+ <TabItem Caption="Text Editor">
+ <VerticalStack Margin="10">
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ </VerticalStack>
+ </TabItem>
+
+ </TabView>
+</Window>
--- /dev/null
+<?xml version="1.0"?>
+<Window Caption="Project Properties" Width="60%" Height="70%" Modal="true">
+ <HorizontalStack>
+ <VerticalStack Height="Fit" Width="50%">
+ <HorizontalStack>
+ <Label Text="Tools Version" Width="30%"/>
+ <Label Text="{ToolsVersion}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Default Targets" Width="30%"/>
+ <Label Text="{DefaultTargets}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Project Guid" Width="30%"/>
+ <Label Text="{ProjectGuid}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Output Type" Width="30%"/>
+ <Label Text="{OutputType}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Root Namespace" Width="30%"/>
+ <Label Text="{RootNamespace}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Assembly Name" Width="30%"/>
+ <Label Text="{AssemblyName}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Allow Unsafe Blocks" Width="30%"/>
+ <CheckBox IsChecked="{AllowUnsafeBlocks}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="No Std Lib" Width="30%"/>
+ <CheckBox IsChecked="{NoStdLib}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Treat Warnings As Errors" Width="30%"/>
+ <CheckBox IsChecked="{TreatWarningsAsErrors}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Sign Assembly" Width="30%"/>
+ <CheckBox IsChecked="{SignAssembly}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Target Framework" Width="30%"/>
+ <Label Text="{TargetFrameworkVersion}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Description" Width="30%"/>
+ <Label Text="{Description}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Output Path" Width="30%"/>
+ <Label Text="{OutputPath}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Intermediate Output Path" Width="30%"/>
+ <Label Text="{IntermediateOutputPath}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ </VerticalStack>
+ <TreeView Width="50%" IsRoot="true" Name="treeView" Data="{RootItems}" DataTest="Type"
+ ItemTemplate="#Crow.Coding.ui.ProjectTree.template">
+ </TreeView>
+ </HorizontalStack>
+</Window>
--- /dev/null
+<?xml version="1.0"?>
+<ItemTemplate>
+ <Border DataSourceType="ProjectItem" Style="TreeItemBorder" ContextCommands="{Commands}" Focusable="true" MouseDown="onClick" MouseDoubleClick="onDoubleClick">
+ <Group>
+ <Widget Height="Stretched" Background="RoyalBlue" Visible="{IsSelected}"/>
+ <HorizontalStack>
+ <Widget Width="5" Height="5"/>
+ <Image Style="TreeIcon" Picture="{Icon}"/>
+ <Label Text="{DisplayName}" Width="Stretched"/>
+ </HorizontalStack>
+ </Group>
+ </Border>
+</ItemTemplate>
+<ItemTemplate DataType="Crow.Coding.Project" Data="RootItems" DataTest="Type">
+ <Expandable DataSourceType="Project" Caption="{Name}" ContextCommands="{Commands}" IsExpanded="{²IsExpanded}" MouseDoubleClick="/onClickForExpand">
+ <Template>
+ <VerticalStack>
+ <Border Style="TreeItemBorder" >
+ <HorizontalStack Spacing="1">
+ <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ Path="{./Image}"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}"/>
+ <Image Style="TreeIcon"
+ Path="#Crow.Icons.crowproj.svg"/>
+ <Widget Width="4" Height="9" Background="Green" Visible="{IsStartupProject}"/>
+ <Label Text="{./Caption}"/>
+ </HorizontalStack>
+ </Border>
+ <Container Name="Content" Visible="false"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+ </Expandable>
+</ItemTemplate>
+<ItemTemplate DataSourceType="ProjectNode" DataType="ReferenceGroup" Data="ChildNodes" DataTest="Type" >
+ <Expandable Caption="{DisplayName}" Template="#Crow.Coding.TreeExpandable.template" IsExpanded="{²IsExpanded}">
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+ </Expandable>
+</ItemTemplate>
+<ItemTemplate DataType="VirtualGroup" Data="ChildNodes" DataTest="Type">
+ <Expandable DataSourceType="ProjectNode" Caption="{DisplayName}" Template="#Crow.Coding.TreeExpandable.template" IsExpanded="{²IsExpanded}">
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+ </Expandable>
+</ItemTemplate>
+<ItemTemplate DataType="Folder" DataTest="Type">
+ <Border DataSourceType="ProjectNode" Style="TreeItemBorder" ContextCommands="{Commands}">
+ <HorizontalStack>
+ <Image Style="ProjTreeIcon"
+ Path="#Crow.Icons.folder.svg"/>
+ <Label Text="{DisplayName}" Width="Stretched"/>
+ </HorizontalStack>
+ </Border>
+</ItemTemplate>
--- /dev/null
+<?xml version="1.0"?>
+<VerticalStack>
+ <Border Style="TreeItemBorder" >
+ <HorizontalStack Spacing="5" Focusable="true" MouseDoubleClick="./onClickForExpand">
+ <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ Path="{./Image}"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}"/>
+ <Image Style="TreeIcon"
+ Path="#Crow.Icons.folder.svg" SvgSub="{./IsExpanded}"/>
+ <Label Text="{./Caption}"/>
+ </HorizontalStack>
+ </Border>
+ <Container Name="Content" Visible="false"/>
+</VerticalStack>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabView SelectedTab="{²./SelectedIndex}" Name="ItemsContainer" Orientation="Horizontal"/>
--- /dev/null
+<?xml version="1.0"?>
+<ItemTemplate>
+ <TabItem Caption="{DisplayName}" QueryClose="OnQueryClose">
+ <Label Text="Error" Background="Red"/>
+ </TabItem>
+</ItemTemplate>
+<ItemTemplate Path="#CrowIDE.ui.editors.SvgEdit.itemp" DataType=".svg"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.SrcEdit.itemp" DataType=".cs"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.SrcEdit.itemp" DataType=".style"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".crow"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".itemp"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".template"/>
+<ItemTemplate DataType=".goml">
+ <TabItem Caption="{DisplayName}" QueryClose="OnQueryClose">
+ <IMLContainer Path="#CrowIDE.ui.editors.TextEditor.crow"/>
+ </TabItem>
+</ItemTemplate>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<GenericStack Orientation="Vertical" Spacing="0" DataSourceType="ProjectFile"
+ MouseEnter="{caption.Font=hack bold, 10}"
+ MouseLeave="{caption.Font=hack, 10}">
+ <HorizontalStack Margin="2" Left="{./TabOffset}"
+ Name="TabTitle"
+ HorizontalAlignment="Left"
+ Height="{./TabHeight}"
+ Width="{./TabWidth}">
+ <Widget Width="5" Height="5" Background="Blue" Visible="{IsDirty}"/>
+ <Label Name="caption" Text="{DisplayName}" Foreground="Black" Width="Stretched"/>
+ <Border CornerRadius="5" BorderWidth="1" Foreground="Transparent" Height="12" Width="12"
+ MouseEnter="{Foreground=Black}" MouseLeave="{Foreground=Transparent}">
+ <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched" Path="#Crow.Icons.exit2.svg"
+ MouseClick="./butCloseTabClick"/>
+ </Border>
+ </HorizontalStack>
+ <Container Name="Content"/>
+</GenericStack>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabItem DataSourceType="ImlProjectItem" QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
+ <VerticalStack>
+ <VerticalStack Height="60%">
+ <Label DataSource="{../editor.HoverWidget}" Width="Stretched" Margin="2" Text="{Name}"/>
+ <VerticalStack Width="Stretched" Margin="0" MinimumSize="10,10">
+ <HorizontalStack>
+ <Scroller Name="scroller1" Margin="2" >
+ <ImlVisualEditor Foreground="SkyBlue" Name="editor" Background="Grey"
+ VerticalAlignment="Top" HorizontalAlignment="Left" Margin="4"
+ ContextCommands="{/Commands}"
+ AllowDrop="true" AllowDrag="true" Focusable="true"
+ UpdateEnabled="{IsSelected}"
+ ProjectNode="{}" SelectedItem="{²SelectedItem}"/>
+ </Scroller>
+ <ScrollBar Name="scrollbar1" Orientation="Vertical"
+ Value="{²../scroller1.ScrollY}" Maximum="{../scroller1.MaxScrollY}"
+ CursorSize="{../scroller1.ChildHeightRatio}"
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
+ />
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Orientation="Horizontal"
+ Value="{²../scroller1.ScrollX}" Maximum="{../scroller1.MaxScrollX}"
+ CursorSize="{../scroller1.ChildWidthRatio}"
+ LargeIncrement="{../scroller1.PageWidth}" SmallIncrement="30"/>
+ </VerticalStack>
+ <HorizontalStack Height="Fit" Margin="2" Spacing="5" Background="vgradient|0:0.8,0.8,0.8,1|1:Grey">
+ <HorizontalStack Width="Fit" Spacing="1">
+ <Label Text="Design Size:"/>
+ <TextBox Text="{²../../../editor.DesignWidth}" Width="40" TextAlignment="Right"/>
+ <Label Text="X"/>
+ <TextBox Text="{²../../../editor.DesignHeight}" Width="40" TextAlignment="Right"/>
+ </HorizontalStack>
+ <HorizontalStack Width="Fit" Spacing="1">
+ <Label Text="Zoom:"/>
+ <Slider Value="{²../../../editor.Zoom}" Width="100" Height="10" Minimum="10" Maximum="200" SmallIncrement="10" LargeIncrement="50"/>
+ <Label Text="{../../../editor.Zoom}"/>
+ </HorizontalStack>
+ <HorizontalStack Width="Fit" Spacing="1">
+ <Label Text="Grid Spacing:"/>
+ <Slider Value="{²../../../editor.GridSpacing}" Width="100" Height="10" Minimum="5" Maximum="100" SmallIncrement="5" LargeIncrement="20"/>
+ <TextBox Text="{../../../editor.GridSpacing}"/>
+ </HorizontalStack>
+ </HorizontalStack>
+ </VerticalStack>
+ <Splitter/>
+ <IMLContainer Path="#CrowIDE.ui.editors.SourceEditor.crow"/>
+ <Splitter Visible="{../editor.HasError}"/>
+ <Label DataSource="{../editor.Error}" Text="{}"
+ Visible="{../editor.HasError}"
+ Height="Fit" Width="Stretched" Background="DarkRed" Foreground="White"
+ TextAlignment="TopLeft" Multiline="true"/>
+ </VerticalStack>
+</TabItem>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<VerticalStack>
+ <HorizontalStack >
+ <SourceEditor Focusable="true" Name="editor" Font="monospace, 12" VerticalAlignment="Top" Margin="2"
+ CurrentLine="{²CurrentLine}" CurrentColumn="{²CurrentColumn}" HasFocus="{IsSelected}"
+ Foreground="Jet" Background="White" Width="Stretched" Height="Stretched"
+ ProjectNode="{}" KeyDown="textView_KeyDown"/>
+ <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
+ LargeIncrement="{../editor.VisibleLines}"
+ CursorSize="{../editor.ChildHeightRatio}"
+ Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
+ Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
+ LargeIncrement="{../editor.VisibleColumns}"
+ CursorSize="{../editor.ChildWidthRatio}"/>
+ <HorizontalStack Height="Fit">
+ <Label Text="{../../editor.HoverError}" Width="Stretched"/>
+ <Widget Background="Red" Width="5" Height="5" Visible="{IsDirty}"/>
+ <Label Text="Hover Line:" Foreground="Grey"/>
+ <Label Text="{../../editor.HoverLine}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="Line:" Foreground="Grey"/>
+ <Label Text="{CurrentLine}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="column:" Foreground="Grey"/>
+ <Label Text="{CurrentColumn}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="ScrollX:" Foreground="Grey"/>
+ <Label Text="{../../editor.ScrollX}"/>
+ </HorizontalStack>
+</VerticalStack>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabItem QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
+ <IMLContainer Path="#CrowIDE.ui.editors.SourceEditor.crow"/>
+</TabItem>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabItem QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
+ <VerticalStack>
+ <VerticalStack Height="50%">
+ <HorizontalStack >
+ <SvgEditor Margin="10" ProjectNode="{}" Focusable="true" Name="editor" MouseWheelSpeed="20" Foreground="Black"/>
+ <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
+ LargeIncrement="10"
+ CursorSize="{../editor.ChildHeightRatio}"
+ Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
+ Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
+ LargeIncrement="10"
+ CursorSize="{../editor.ChildWidthRatio}"/>
+ <HorizontalStack Height="Fit" Margin="3">
+ <Label Text="Zoom:"/>
+ <Label Text="{../../editor.Zoom}" Fit="true"/>
+ <!--<Spinner Name="sldZoom" Value="{²../../editor.Zoom}" Maximum="800" Minimum="1" SmallIncrement="10" LargeIncrement="50" Width="40" />-->
+ <Slider Value="{²../../editor.Zoom}" CursorSize="2" Height="8" Maximum="800" Minimum="1" SmallIncrement="1" LargeIncrement="10" Width="100" />
+ </HorizontalStack>
+ </VerticalStack>
+ <Splitter/>
+ <IMLContainer Path="#Crow.Coding.ui.editors.SourceEditor.crow"/>
+ <Label DataSource="{../editor.Error}" Text="{Message}"
+ Visible="{../editor.HasError}"
+ Height="Fit" Width="Stretched" Background="DarkRed" Foreground="White"
+ TextAlignment="TopLeft" Multiline="true"/>
+ </VerticalStack>
+</TabItem>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<VerticalStack>
+ <HorizontalStack >
+ <TextEditor Focusable="true" Name="editor" Font="monospace, 12" VerticalAlignment="Top" Margin="1"
+ CurrentLine="{²CurrentLine}" CurrentColumn="{²CurrentColumn}"
+ Foreground="DimGrey" Background="White" Width="Stretched" Height="Stretched"
+ ProjectNode="{}" KeyDown="textView_KeyDown"/>
+ <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
+ LargeIncrement="{../editor.VisibleLines}"
+ CursorSize="{../editor.ChildHeightRatio}"
+ Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
+ Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
+ LargeIncrement="{../editor.VisibleColumns}"
+ CursorSize="{../editor.ChildWidthRatio}"/>
+ <HorizontalStack Height="Fit">
+ <Widget Height="5" Width="Stretched"/>
+ <Widget Background="Red" Width="5" Height="5" Visible="{IsDirty}"/>
+ <Label Text="Line:" Foreground="Grey"/>
+ <Label Text="{CurrentLine}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="column:" Foreground="Grey"/>
+ <Label Text="{CurrentColumn}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="ScrollX:" Foreground="Grey"/>
+ <Label Text="{../../editor.ScrollX}"/>
+ </HorizontalStack>
+</VerticalStack>
--- /dev/null
+<Container Margin="20" Background="DimGrey">
+ <ImlVisualEditor Width="80%" Height="80%" Margin="0" MinimumSize="10,10" Foreground="SkyBlue"
+ Name="crowContainer" Background="DimGrey"/>
+</Container>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>Interfaces\%(RecursiveDir)%(Filename)%(Extension)</Link>
</None>
- </ItemGroup>
+ </ItemGroup>
+
<ItemGroup>
<PackageReference Include="CVKL" Version="0.1.3.2-beta" />
</ItemGroup>
<?xml version="1.0"?>
-<Container Background="Lust" Margin="10" Width="90%" Height="90%">
- <Widget Margin="10" Width="50%" Height="50%" Background="Maize"
+<Container Background="Yellow" Margin="10" Width="90%" Height="90%">
+ <Widget Margin="10" Width="50%" Height="50%" Background="Yellow"
MinimumSize="50,50"/>
</Container>
\ No newline at end of file
</DockStack>
</Window>
<!---
- <DockWindow Left="450" Top="450" Width="150" Height="150" Background="Maize"/>-->
+ <DockWindow Left="450" Top="450" Width="150" Height="150" Background="Yellow"/>-->
<!--<Group Background="DimGrey" Margin = "0" Focusable="true" >
<DockWindow Left="100" Top="100" Width="150" Height="150" Background="DarkRed"/>
<DockWindow Left="200" Top="200" Width="150" Height="150" Background="DarkGreen"/>
<DockWindow Left="300" Top="300" Width="150" Height="150" Background="Blue"/>
- <DockWindow Left="400" Top="400" Width="150" Height="150" Background="DarkYellow"/>
+ <DockWindow Left="400" Top="400" Width="150" Height="150" Background="Yellow"/>
<DockWindow Left="500" Top="500" Width="150" Height="150" Background="Yellow"/>
</Docker>
<!--<Group Background="DimGrey" Margin = "0" Focusable="true" >
<?xml version="1.0"?>
<HorizontalStack Fit="true">
<VerticalStack Fit="true" Name="vsFps" Spacing="10" >
- <ProgressBar CornerRadius="5" Background="DimGray" Margin="1" Maximum="1000" Value="{fps}" Width="200" Height="15"/>
+ <ProgressBar CornerRadius="5" Background="DimGrey" Margin="1" Maximum="1000" Value="{fps}" Width="200" Height="15"/>
<HorizontalStack Fit="true">
<Label Text="Memory:" Width="50" TextAlignment="Right"/>
<Label Text="{memory}" Font="droid,12" TextAlignment="Center"
- Background="vgradient|0:BlueCrayola|1:Black"/>
+ Background="vgradient|0:Blue|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
</VerticalStack>
<VerticalStack Fit="true" Name="vsFps" Spacing="10" >
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
</VerticalStack>
<VerticalStack Fit="true" Name="vsFps" Spacing="10" >
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
</VerticalStack>
<VerticalStack Fit="true" Name="vsFps" Spacing="10" >
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Update:" Width="50" TextAlignment="Right"/>
<Label Name="labUpdate" Text="{update}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Layouting:" Width="50" TextAlignment="Right"/>
<Label Name="labLayouting" Text="{layouting}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Drawing:" Width="50" TextAlignment="Right"/>
<Label Name="labDrawing" Text="{drawing}" Font="droid,12" Width="80" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Name="captionFps" Text="Fps:" Width="50" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Min:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMin}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
<HorizontalStack Fit="true">
<Label Text="Max:" Width="50" TextAlignment="Right"/>
<Label Text="{fpsMax}" Font="droid , 12" Width="50" TextAlignment="Center"
- Background="vgradient|0:AoEnglish|1:Black"/>
+ Background="vgradient|0:Green|1:Black"/>
</HorizontalStack>
</VerticalStack>
</HorizontalStack>
\ No newline at end of file
<?xml version="1.0"?>
-<VerticalStack Fit="true" Background="DimGray" Margin="5">
+<VerticalStack Fit="true" Background="DimGrey" Margin="5">
<!-- <RadioButton/>-->
<Label Text="a" Width="Stretched" Background="Red"/>
<Label Text="{fps}" HorizontalAlignment="Right" Background="LimeGreen"/>
<?xml version="1.0"?>
<VerticalStack Height="Fit" Width="Fit">
<Label Width="0"/>
- <Expandable Width="Fit" Background="Gray">
+ <Expandable Width="Fit" Background="Grey">
<Expandable Background="LightBlue">
<Expandable Background="Green">
<Expandable Background="LimeGreen">
- <Expandable Background="DimGray">
+ <Expandable Background="DimGrey">
<Expandable Width="0" Background="Yellow">
- <Expandable Background="NavyBlue">
+ <Expandable Background="Blue">
<Expandable Width="0" Background="Blue">
- <Expandable Width="0" Background="BlueCrayola">
+ <Expandable Width="0" Background="Blue">
<Expandable Width="0" Background="Green">
<Label Background="Red"/>
</Expandable>
</Expandable>
</Expandable>
</Expandable>
- <Expandable Width="0" Background="Gray">
+ <Expandable Width="0" Background="Grey">
<Expandable Width="0" Background="LightBlue">
<Expandable Width="0" Background="Green">
<Expandable Width="0" Background="LimeGreen">
- <Expandable Width="0" Background="DimGray">
+ <Expandable Width="0" Background="DimGrey">
<Expandable Width="0" Background="Yellow">
- <Expandable Width="0" Background="NavyBlue">
+ <Expandable Width="0" Background="Blue">
<Expandable Width="0" Background="Blue">
- <Expandable Width="0" Background="BlueCrayola">
+ <Expandable Width="0" Background="Blue">
<Expandable Width="0" Background="Green">
<Label Background="Red"/>
</Expandable>
<Splitter Thickness="3" />
<Border Fit="true" CornerRadius="10" BorderWidth="1" MaximumSize="150;150" MinimumSize="50;50">
<VerticalStack Margin="10">
- <Label Text="label 1" Background="hgradient|0:BlueCrayola|1:Transparent"/>
- <Label Text="label 2" Background="hgradient|0:BlueCrayola|1:Transparent"/>
- <Label Text="label 3" Background="hgradient|0:BlueCrayola|1:Transparent"/>
- <Label Text="label 4" Width="Stretched" Background="hgradient|0:BlueCrayola|1:Transparent"/>
+ <Label Text="label 1" Background="hgradient|0:Blue|1:Transparent"/>
+ <Label Text="label 2" Background="hgradient|0:Blue|1:Transparent"/>
+ <Label Text="label 3" Background="hgradient|0:Blue|1:Transparent"/>
+ <Label Text="label 4" Width="Stretched" Background="hgradient|0:Blue|1:Transparent"/>
</VerticalStack>
</Border>
<Splitter/>
<Border Fit="true" CornerRadius="10" BorderWidth="1">
<VerticalStack Margin="10">
<Button Caption="Button 1" Background="hgradient|0:Red|1:DarkRed" CornerRadius="5"/>
- <Button Caption="Button 2" Background="hgradient|0:AoEnglish|1:Arsenic" CornerRadius="3"/>
+ <Button Caption="Button 2" Background="hgradient|0:Green|1:Arsenic" CornerRadius="3"/>
<Button Caption="Button 3" Background="hgradient|0:DarkRed|1:Transparent" CornerRadius="0"/>
<Button Caption="Button 4" Background="hgradient|0:DarkRed|1:Transparent" CornerRadius="8"/>
</VerticalStack>
<HorizontalStack Height="Fit" Margin="5">
<Label Text="MouseEvents" Width="50%" Margin="3"
Background="Onyx"
- Foreground="DimGray"
+ Foreground="DimGrey"
TextAlignment="Center"
MouseEnter="{Foreground=White}"
- MouseLeave="{Foreground=DimGray}"
+ MouseLeave="{Foreground=DimGrey}"
MouseDown="{Background=DarkRed}"
MouseUp="{Background=Onyx}"/>
<Label Text="MouseEvents" Width="50%" Margin="3"
Background="Onyx"
- Foreground="DimGray"
+ Foreground="DimGrey"
TextAlignment="Center"
MouseEnter="{Foreground=White}"
- MouseLeave="{Foreground=DimGray}"
+ MouseLeave="{Foreground=DimGrey}"
MouseDown="{Background=Mantis}"
MouseUp="{Background=Onyx}"/>
</HorizontalStack>
<Spinner Fit="true"/>
</VerticalStack>
<VerticalStack Width="33%" Margin="5" Spacing="5">
- <Expandable Background="DimGray">
+ <Expandable Background="DimGrey">
<Image Path="#Crow.Icons.crow.svg"/>
</Expandable>
- <Popper Background="DimGray" PopDirection="Bottom">
- <Border Fit="True" Background="DimGray" CornerRadius="0" BorderWidth="1">
+ <Popper Background="DimGrey" PopDirection="Bottom">
+ <Border Fit="True" Background="DimGrey" CornerRadius="0" BorderWidth="1">
<Image Path="#Crow.Icons.crow.svg" Width="100" Height="100" Margin="10"
- MouseEnter="{Background=LightGray}"
+ MouseEnter="{Background=LightGrey}"
MouseLeave="{Background=Transparent}"/>
</Border>
</Popper>
<Slider Height="10" Width="90%"/>
<Container Height="Fit" Background="Onyx" Margin="2" CornerRadius="5">
- <ProgressBar Background="DimGray" Height="10" Value="50"/>
+ <ProgressBar Background="DimGrey" Height="10" Value="50"/>
</Container>
- <Image Path="#Crow.Icons.crow.svg" Width="60" Height="60" Background="LightGray" />
+ <Image Path="#Crow.Icons.crow.svg" Width="60" Height="60" Background="LightGrey" />
<TabView Name="tabview1"
Height="120" Orientation="Horizontal" Spacing="15">
<TabItem Name="TabItem1" Caption="Tab 1" Margin="0">
<CheckBox/>
</VerticalStack>
</TabItem>
- <TabItem Name="TabItem2" Caption="Tab 2" Background="Gray">
+ <TabItem Name="TabItem2" Caption="Tab 2" Background="Grey">
<VerticalStack Fit="true">
<RadioButton/>
<RadioButton/>
<RadioButton/>
</VerticalStack>
</TabItem>
- <TabItem Name="TabItem2" Caption="Tab 3" Background="Gray">
+ <TabItem Name="TabItem2" Caption="Tab 3" Background="Grey">
<Container Margin="5" CornerRadius="2">
<TextBox Height="Stretched" Margin="5" Multiline="true" TextAlignment="TopLeft"/>
</Container>
<Label Name="line3" Width="0" Text="Line3" Margin="0"/>
<Label Name="line4" Width="0" Text="Line4" Margin="0"/>
</VerticalStack>
- <Button Name="btOk" Background="Gray" Fit="True"
+ <Button Name="btOk" Background="Grey" Fit="True"
HorizontalAlignment="Right" VerticalAlignment="Bottom"
MouseClick="BtOk_MouseClick">
<Label Text="Ok" Margin="3" Foreground="White" />