Skip to content

Instantly share code, notes, and snippets.

@yohm
Last active December 26, 2016 06:14
Show Gist options
  • Save yohm/d192676f5fce8d60eb5e9b2c773df5b4 to your computer and use it in GitHub Desktop.
Save yohm/d192676f5fce8d60eb5e9b2c773df5b4 to your computer and use it in GitHub Desktop.
A sample of parameter optimization using OACIS and Differential Evolution algorithm.

A sample of optimzation of parameters

This is a sample of optimizing parameters using OACIS watcher. This program iteratively search for parameters which minimizes the results of the simulations. For the optimization, we adopted a differential evolutiion algorithm.

Prerequisites

Register simulator as follows.

  • Name: "de_optimize_test"
  • Parameter Definitions:
    • "p1", Float, 0.0
    • "p2", Float, 0.0
  • Command:
    • ruby -r json -e 'j=JSON.load(File.read("_input.json")); f=(j["p1"]-1.0)**2+(j["p2"]-2.0)**2; puts({"f"=>f}.to_json)' > _output.json
  • Input type: JSON
  • Executable_on : localhost

The following command will register this simulator in your OACIS.

oacis_ruby prepare_simulator.rb

What does this sample code do?

Search a pair of ("p1","p2") which minimizes the result of the simulations.

"de_optimizer.rb" is an optimization engine implementing a differential evolution algorithm. This is a generic routine independent of OACIS APIs.

"optimize_with_oacis.rb" combines OACIS and "de_optimizer.rb". It iteratively finds optimal parameters using the optimizer as a subroutine.

How to run

Specify the parameters for Differential Evolution algorithm as command line arguments.

oacis_ruby optimize_with_oacis.rb <num_iterations> <population size> <f> <cr> <seed>

For example, run the following.

oacis_ruby optimize_with_oacis.rb 10 20 0.8 0.9 1234

A sample output

A scatter plot of the sampled parameters is in scatter_plot.svg. Color scale indicates the simulation outputs. As you see in the figure, region close to the optimal point is more intensively sampled.

require 'pp'
class DE_Optimizer
class Domain
attr_reader :min, :max, :eps
def initialize(h)
@min, @max, @eps = h[:min], h[:max], h[:eps].to_r
raise "invalid range : [#{@min}, #{@max}]" if @min > @max
end
def round(x)
rounded = ( @eps * (x / @eps).round ).to_f
rounded = (rounded > @max) ? @max : rounded
rounded = (rounded < @min) ? @min : rounded
end
def scale(r) # give [0,1] value and return a value scaled in [min,max]
round( r * (@max - @min) + @min )
end
end
attr_reader :best_point, :best_f, :t, :population
attr_accessor :map_func
def initialize( map_func, domains, n: nil, f: 0.8, cr: 0.9, rand_seed: nil )
@n, @f, @cr = (n || domains.size*10), f, cr
@rng = Random.new( rand_seed || Random.new_seed )
@domains = domains.map {|h| Domain.new(h) }
@map_func = map_func
@t = 0
@best_point = nil
@best_f = Float::INFINITY
generate_initial_points
end
def generate_initial_points
@population = Array.new(@n) {|i| @domains.map {|d| d.scale( @rng.rand ) } }
@current_fs = @map_func.call( @population )
end
def average_f
@current_fs.inject(:+) / @current_fs.size
end
def proceed
new_positions = []
@n.times do |i|
new_pos = generate_candidate(i)
new_positions << new_pos
end
new_fs = @map_func.call( new_positions )
# selection
@n.times do |i|
if new_fs[i] < @current_fs[i]
@population[i] = new_positions[i]
@current_fs[i] = new_fs[i]
if new_fs[i] < @best_f
@best_point = new_positions[i]
@best_f = new_fs[i]
end
end
end
@t += 1
end
private
# generate a candidate for @population[i]
# based on DE/rand/1/binom algorithm
def generate_candidate(i)
# randomly pick a,b,c
begin
a = @rng.rand( @n )
end while ( a == i )
begin
b = @rng.rand( @n )
end while ( b == i || b == a )
begin
c = @rng.rand( @n )
end while ( c == i || c == a || c == b )
# compute the new position
new_pos = @population[i].dup
# pick a random index r
dim = @domains.size
r = @rng.rand( dim )
dim.times do |d|
if( d == r || @rng.rand < @cr )
new_pos[d] = @domains[d].round( @population[a][d] + @f * (@population[b][d] - @population[c][d]) )
end
end
new_pos
end
end
if $0 == __FILE__
domains = [
{min: -10.0, max: 10.0, eps: Rational(1,10)},
{min: -10.0, max: 10.0, eps: Rational(1,10)},
{min: -10.0, max: 10.0, eps: Rational(1,10)}
]
f = lambda {|x| (x[0]-1.0)**2+(x[1]-2.0)**2+(x[2]-3.0)**2 }
map_agents = lambda {|points| points.map(&f) }
=begin
domains = [
{min: -5.0, max: 5.0, eps: Rational(1,10)},
{min: -5.0, max: 5.0, eps: Rational(1,10)}
]
f = lambda{|x|
arg1 = -0.2 * Math.sqrt(0.5 * (x[0] ** 2 + x[1] ** 2))
arg2 = 0.5 * ( Math.cos(2. * Math::PI * x[0]) + Math.cos(2. * Math::PI * x[1]))
-20.0 * Math.exp(arg1) - Math.exp(arg2) + 20.0 + Math::E
}
=end
opt = DE_Optimizer.new(map_agents, domains, n: 30, f: 0.8, cr: 0.9, rand_seed: 1234)
20.times do |t|
opt.proceed
puts "#{opt.t} #{opt.best_point} #{opt.best_f} #{opt.average_f}"
end
end
require_relative "de_optimizer"
# parsing inputs
unless ARGV.size == 5
$stderr.puts "Usage: ruby #{__FILE__} <num_iterations> <population size> <f> <cr> <seed>"
raise "invalid arguments"
end
num_iteration = ARGV[0].to_i
n = ARGV[1].to_i
f = ARGV[2].to_f
cr = ARGV[3].to_f
seed = ARGV[4].to_i
logger = Logger.new($stderr)
domains = [
{min: -10.0, max: 10.0, eps: Rational(1,10)},
{min: -10.0, max: 10.0, eps: Rational(1,10)}
]
sim = Simulator.where(name: "de_optimize_test").first
host = Host.where(name:"localhost").first
map_agents = lambda {|agents|
parameter_sets = agents.map do |x|
ps = sim.find_or_create_parameter_set( p1:x[0], p2:x[1] )
ps.find_or_create_runs_upto(1, submitted_to: host, host_param: host.default_host_parameters)
logger.info "Created a new PS: #{ps.v}"
ps
end
OacisWatcher::start( logger: logger ) {|w| w.watch_all_ps( parameter_sets ) {} }
parameter_sets.map {|ps| ps.runs.first.result["f"] }
}
opt = DE_Optimizer.new(map_agents, domains, n: n, f: f, cr: cr, rand_seed: 1234)
num_iteration.times do |t|
opt.proceed
puts "#{opt.t} #{opt.best_point} #{opt.best_f} #{opt.average_f}"
end
if sim = Simulator.where(name: "de_optimize_test").first
$stderr.puts "already Simulator '#{sim.name}' exists. Deleting this."
sim.discard
end
command = <<EOS.chomp
ruby -r json -e 'j=JSON.load(File.read("_input.json")); f=(j["p1"]-1.0)**2+(j["p2"]-2.0)**2; puts({"f"=>f}.to_json)' > _output.json
EOS
sim = Simulator.create!(
name: "de_optimize_test",
parameter_definitions: [
ParameterDefinition.new(key: "p1", type: "Float", default: 0.0),
ParameterDefinition.new(key: "p2", type: "Float", default: 0.0)
],
command: command,
executable_on: [Host.where(name: "localhost").first]
)
$stderr.puts "A new simulator #{sim.id} is created."
Display the source blob
Display the rendered blob
Raw
<svg width="780" height="570" xmlns="http://www.w3.org/2000/svg"><g transform="translate(120,10)"><defs><clipPath id="clip"><rect x="-5" y="-5" width="570" height="470"></rect></clipPath><pattern id="TrianglePattern" patternUnits="userSpaceOnUse" x="0" y="0" width="4" height="4"><rect x="1" y="1" width="2" height="2" fill="black"></rect></pattern></defs><g transform="translate(560,10)" id="color-map-group"><text x="10" y="20" dx="0.1em" dy="-0.4em">Result</text><rect x="10" y="20" width="19" height="19" fill="#ff2800"></rect><rect x="10" y="40" width="19" height="19" fill="#ff7e66"></rect><rect x="10" y="60" width="19" height="19" fill="#ffd4cc"></rect><rect x="10" y="80" width="19" height="19" fill="#ffffff"></rect><rect x="10" y="100" width="19" height="19" fill="#ccd9ff"></rect><rect x="10" y="120" width="19" height="19" fill="#668dff"></rect><rect x="10" y="140" width="19" height="19" fill="#0041ff"></rect><text id="result-range-max" x="30" y="40" dx="0.2em" dy="-0.3em">200</text><text id="result-range-middle" x="30" y="100" dx="0.2em" dy="-0.3em">100</text><text id="result-range-min" x="30" y="160" dx="0.2em" dy="-0.3em">0</text></g><g id="plot-group"><g id="voronoi-group"><path fill="#0747ff" d="M333.7478840947164,153.63992339221647L341.51118259007245,163.05695576195922L355.78874023833384,152.22076584745471L357.15721160767595,148.97588316167707L355.09654753482346,140.521251732579Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0a48ff" d="M334.737542662113,224.0478187352L334.7383610477585,224.17086475055007L342.48065241494174,224.14986567483973L347.9942232679038,206.19631008394327L342.835820950415,203.29399107313552Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#7094ff" d="M208.66930865961285,35.90801701454222L228.76707381354169,64.61323722182959L234.90079048795667,69.97652636732997L235.47802350272724,70.21157828614741L240.81159877652019,70.00484894317535L247.77931750273993,59.27744896139724L239.7231441130541,7.697596988447003Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0545ff" d="M312.62592798384236,151.49514751276902L312.6714243555851,151.60117642443458L326.66343522466786,154.13807498620508L327.92275294588455,151.770516535585L327.5276662512966,149.08479734268494Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0343ff" d="M266.0879251422542,188.38031575401558L266.52843724910633,192.68673565389014L282.9310503874926,189.17178028004824L278.99228849778166,180.58314338933954L276.32353613583865,177.46988966447552L272.157607556903,177.3865351473118Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4575ff" d="M146.9430506286835,170.94634323860592L153.17022128957575,196.06062820834745L174.0672897418902,183.98224891050484L173.6752345842776,170.4002174156206L161.9013724747216,160.32393734834523L150.43496803440402,168.03436658821073Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#85a4ff" d="M454.3527850832079,77.77355258813677L463.91855969552086,112.89046309866664L475.8735836955042,114.54945097080018L499.5516405564415,89.76993884585781L470.63959596490145,64.76055517324981L461.5938044571982,65.70320220711834L456.76606437781015,70.81253794942887Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3669ff" d="M187.23594772890127,266.65586424660785L192.83013207072008,270.7838793428509L227.64698293593878,259.02186209369273L221.4723232772471,248.10075824894847L210.84605692441093,250.26553744166307L187.46301601411662,262.4829903966499Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#5581ff" d="M141.19716384475302,233.13184554522994L155.35717067119447,240.677174325731L171.58949499032252,237.68065906890993L146.26074692459105,208.16703354445633Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#a7bdff" d="M141.2680239948596,46.20376204393507L155.35327854266004,61.73401413270433L174.25828689734394,62.71726838565243L177.58310235396263,61.6505940937834L197.46183200740705,35.10157717615932L191.96410594125703,29.07730091820798L171.36190674320395,21.526185062826123L158.5468981854377,18.7630597330823L144.91241756749923,24.291764188767253Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#114eff" d="M315.2868246853158,116.47051068309601L317.31810953350634,133.69949650695395L328.1693037020978,131.77810528894332L327.25485527763556,108.93440974165125Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#fdfeff" d="M0,266.7905429559992L65.88894376346374,260.50306942114355L77.07149259947084,242.32845444638107L63.419288667992475,199.94103135495757L50.009487374510165,187.5544998273418L0,219.901014029108Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#92aeff" d="M88.87228191280917,365.8147243742071L89.52623451479931,367.096178069156L156.1369204444946,316.4470324088903L157.21486301772518,287.9008915318639L129.40315374034012,285.21903136603447L89.1792034237792,363.38654046648384Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#5782ff" d="M142.45074408654264,133.75626294976487L150.43496803440402,168.03436658821073L161.9013724747216,160.32393734834523L168.09614460243216,126.449761613797L158.8784985729652,124.74104532478785Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#9db6ff" d="M495.391472728842,144.71670297557702L501.777441613558,151.40701227548806L560,145.9287861777747L560,142.5027708543132L528.8509524080757,107.37401553787805L495.56964877536086,138.23384463368407Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0c4aff" d="M328.1838066737866,233.51420963344313L328.25173998883093,235.86072347770002L350.61821676882437,254.0501188834106L352.49367781334854,242.855213457672L342.48065241494174,224.14986567483973L334.7383610477585,224.17086475055007Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2f64ff" d="M394.29142097191334,197.4369800774227L394.8916448339038,201.08191668649445L413.54066124415164,221.50584354948464L463.051959616622,207.87839151485096L456.21002621883997,164.71253186537461L436.7926395195599,161.83788386675326L394.62235046585465,187.31203278428436Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0c4aff" d="M342.48065241494174,224.14986567483973L352.49367781334854,242.855213457672L365.23371767017187,211.07427166808574L347.9942232679038,206.19631008394327Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#235bff" d="M210.361474267269,149.40307933598842L253.2895698911279,132.50125721501203L255.7286057727176,130.2958738538965L257.03916257687115,124.3576336499693L239.0865589467928,114.49184060197038L222.41157004139643,118.63482843573834Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3266ff" d="M190.42323533739554,137.57802717407586L203.22558950121572,149.12159262057426L209.88689889538747,149.8456549487573L210.361474267269,149.40307933598842L222.41157004139643,118.63482843573834L212.33818670462048,109.89995187503783Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0d4bff" d="M247.61479381758102,204.18230181431966L255.93362918262164,216.3360275894016L257.35408548296283,216.34158095688946L263.97715908504046,214.50781833675484L268.26565787625486,210.7147721617963L265.1832317884974,200.4554448789866L264.20027040792036,198.94860211854845L253.2419500007301,199.30553861616082Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#9cb5ff" d="M89.52623451479931,367.096178069156L121.33988475984042,456.4479658577595L187.7992962290102,362.31305884201413L178.95187777949752,310.32131292525366L175.39081259623558,307.5990109611302L156.1369204444946,316.4470324088903Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3468ff" d="M210.32846587878913,104.54732147670545L212.33818670462048,109.89995187503783L222.41157004139643,118.63482843573834L239.0865589467928,114.49184060197038L233.617808572282,98.72653730827078Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3d6fff" d="M168.22044301599928,207.71316596134625L172.51179295605783,237.75040709308573L180.07196647309897,241.14417517312305L193.33215508765744,215.944346115699L192.87222970638953,210.92803171875667L190.92299491037747,206.9148522075316Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0545ff" d="M312.6714243555851,151.60117642443458L312.87227080308065,152.5402624011894L314.781280099977,155.98304114089444L314.9138763668266,156.08771209964146L326.63874204733196,154.21337988806792L326.66343522466786,154.13807498620508Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4b79ff" d="M145.8224382184539,202.81883867714538L146.26074692459105,208.16703354445633L171.58949499032252,237.68065906890993L172.51179295605783,237.75040709308573L168.22044301599928,207.71316596134625L152.69302508916647,197.28348730533668L146.04313974228492,202.2836609726361Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#7e9fff" d="M66.74844906379538,116.5691740201871L116.46231933103455,145.74470444510033L142.45074408654264,133.75626294976487L158.8784985729652,124.74104532478785L151.0770369227407,114.60896865185157L128.12924527270502,91.6711920437782L72.08107927462672,85.75354494483418Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6c92ff" d="M170.0624002797132,286.8344884876371L175.39081259623558,307.5990109611302L178.95187777949752,310.32131292525366L219.7603046349581,299.24928523819904L192.83013207072008,270.7838793428509L187.23594772890127,266.65586424660785L185.22111620565852,268.00538065131235Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#89a7ff" d="M63.419288667992475,199.94103135495757L77.07149259947084,242.32845444638107L110.5223255408473,245.81954199362514L111.92454231510149,244.3514358002173L120.04242345357454,215.4475468802048L104.87096464055449,194.667576863716L88.56120700858864,194.91976795063152Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3e6fff" d="M359.3512970861846,91.3417433398438L383.21162251097263,97.92027634414892L383.821067669186,82.70593398377008L379.53913780612504,75.65346579279893L359.9825600123688,79.9584512406212Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6089ff" d="M147.0132756922692,261.555407681133L185.22111620565852,268.00538065131235L187.23594772890127,266.65586424660785L187.46301601411662,262.4829903966499L182.7344227431541,245.63739993806226L180.07196647309897,241.14417517312305L172.51179295605783,237.75040709308573L171.58949499032252,237.68065906890993L155.35717067119447,240.677174325731Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0d4bff" d="M245.3027325368662,156.84922446623057L257.0888862858014,161.41445154457145L263.34634142709126,157.17531550151404L265.80532690845916,146.16585607570863L255.7286057727176,130.2958738538965L253.2895698911279,132.50125721501203Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1651ff" d="M354.6425921158235,136.33616469158903L355.09654753482346,140.521251732579L357.15721160767595,148.97588316167707L380.4732044804218,159.22638930629674L383.2984168175002,141.34117213656472L383.29033625955776,141.3337462187463L369.02468619235896,131.4196364687316L363.4855913222693,128.0310586874736Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff8e79" d="M0,60.77078299988764L48.682675285449086,60.07816135794612L44.75213930057613,52.99723271288666L0,52.77809960187597Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6d92ff" d="M110.5223255408473,245.81954199362514L128.48912864452106,272.83459928541623L147.0132756922692,261.555407681133L155.35717067119447,240.677174325731L141.19716384475302,233.13184554522994L111.92454231510149,244.3514358002173Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1c56ff" d="M217.3241681501043,226.73925581295458L225.06459310523977,238.14709895192036L230.00278586571346,238.04520019972622L242.86623628963247,226.7131443408841L235.41171426940758,220.80096568388296L218.33834276977498,225.06579430239435Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2a60ff" d="M353.6154839985941,98.04118268479873L364.9793899209773,124.71100806129463L393.5578966825939,109.30889301015966L383.21162251097263,97.92027634414892L359.3512970861846,91.3417433398438Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0f4cff" d="M244.64944607533968,205.9262457222149L247.72094979613948,220.29111719072884L255.93362918262164,216.3360275894016L247.61479381758102,204.18230181431966Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#628aff" d="M177.58310235396263,61.6505940937834L191.07394186548788,81.86530979770923L193.45641344036238,82.4171507738283L228.76707381354169,64.61323722182959L208.66930865961285,35.90801701454222L197.46183200740705,35.10157717615932Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3b6dff" d="M192.83013207072008,270.7838793428509L219.7603046349581,299.24928523819904L234.78514502139174,306.79597506565165L236.69580920590616,273.1442887532069L235.62015955260867,265.09260163513943L227.64698293593878,259.02186209369273Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4e7bff" d="M176.5165521870504,112.42477722197276L208.40718786927656,102.3995793516935L208.51202845628384,95.51494481820545L193.45641344036238,82.4171507738283L191.07394186548788,81.86530979770923L176.52434551589783,112.31531885834157Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#5681ff" d="M240.81159877652019,70.00484894317535L271.93666212008844,84.29967412776598L308.68819159052606,0L291.320092127187,0L247.77931750273993,59.27744896139724Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#527eff" d="M193.45641344036238,82.4171507738283L208.51202845628384,95.51494481820545L234.90079048795667,69.97652636732997L228.76707381354169,64.61323722182959Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#245bff" d="M192.87222970638953,210.92803171875667L193.33215508765744,215.944346115699L216.58516994676987,226.81477541054045L217.3241681501043,226.73925581295458L218.33834276977498,225.06579430239435L219.8443255601191,213.46494316430886L218.33770329097325,205.80419916588377Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#eef2ff" d="M526.2186184376311,90.9958318976381L528.8509524080757,107.37401553787805L560,142.5027708543132L560,82.43022764558943L543.6079540685329,82.5062906192911Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0243ff" d="M320.7498312289874,202.58156191750868L323.52611457068537,204.93073364335794L333.6521199212334,205.2269873226986L342.6842393237955,203.1218868562965L342.04536825106777,200.97831919594182L334.91590657178455,193.80771385495166L324.4220799838622,193.51075163923664Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2d63ff" d="M209.05626306399,233.81669644278782L210.84605692441093,250.26553744166307L221.4723232772471,248.10075824894847L225.06459310523977,238.14709895192036L217.3241681501043,226.73925581295458L216.58516994676987,226.81477541054045Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#81a1ff" d="M178.95187777949752,310.32131292525366L187.7992962290102,362.31305884201413L243.904814918748,318.3239970131603L234.78514502139174,306.79597506565165L219.7603046349581,299.24928523819904Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0444ff" d="M281.7677587591532,213.5774079570127L298.18993547644254,219.3723578173872L303.95628944087167,208.67182852103835L303.94070657589725,207.0064349402054L292.2733693521706,201.84276761058928L285.9360440184626,200.40145896957088Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#628aff" d="M125.93953613442119,174.6391358765177L135.65543873095746,196.20968227132778L146.04313974228492,202.2836609726361L152.69302508916647,197.28348730533668L153.17022128957575,196.06062820834745L146.9430506286835,170.94634323860592L128.41681525505447,163.5089140390947Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0243ff" d="M323.86168494014737,174.0521734925617L330.99924609326996,184.94566195165783L333.8724300867178,187.85710615443205L341.28601621316284,173.70939239244072L339.43294439992434,170.88213171275362Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0142ff" d="M296.2631631829547,166.535626305647L297.5900006829415,175.11757775558806L299.51666686110104,175.86417453721916L305.65980025104955,175.73310320072628L308.8554304098347,169.17852542739158L306.66534692574265,166.37706687405287Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0646ff" d="M309.6626813260455,146.8315109085904L312.62592798384236,151.49514751276902L327.5276662512966,149.08479734268494L327.48897452051693,146.64194399172067L316.00271080027704,138.56003824444977Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3165ff" d="M182.7344227431541,245.63739993806226L187.46301601411662,262.4829903966499L210.84605692441093,250.26553744166307L209.05626306399,233.81669644278782Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1954ff" d="M218.33834276977498,225.06579430239435L235.41171426940758,220.80096568388296L235.5054988797673,212.7611853617752L219.8443255601191,213.46494316430886Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1c56ff" d="M329.8116705690428,106.68967544987909L348.35338259554436,134.20473434782357L354.6425921158235,136.33616469158903L363.4855913222693,128.0310586874736L364.9793899209773,124.71100806129463L353.6154839985941,98.04118268479873L331.7445560699035,100.53329502630571Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4675ff" d="M383.21162251097263,97.92027634414892L393.5578966825939,109.30889301015966L399.21511074586743,110.28728921526162L403.01614304512236,110.05714219190902L413.85700674061843,104.2467830581343L415.2648267732864,99.76794435874312L408.7735983617638,76.11213744306087L383.821067669186,82.70593398377008Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#f3f6ff" d="M431.15670600262547,0L431.1955892998082,15.390131502801825L442.70286927396137,22.057592634061013L492.6876219496669,14.295383262501876L492.8050813117812,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#93afff" d="M315.3482885217326,0L333.4515568116783,32.57490917206658L337.90099445563334,35.43303396900246L391.18600054616735,48.26504720816486L402.6014161310398,47.073999263583545L415.34249892310925,26.484849997808865L374.38413637718327,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3c6eff" d="M169.75745004423223,126.02131927962712L190.42323533739554,137.57802717407586L212.33818670462048,109.89995187503783L210.32846587878913,104.54732147670545L208.40718786927656,102.3995793516935L176.5165521870504,112.42477722197276Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0746ff" d="M298.18993547644254,219.3723578173872L298.9932037228952,231.55237558940902L321.8275112450037,221.4163963958106L321.8585507930921,219.32935400259984L320.43233963646475,216.5051776517468L318.8514217984334,214.9313036816094L303.95628944087167,208.67182852103835Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#dce5ff" d="M171.36190674320395,21.526185062826123L191.96410594125703,29.07730091820798L191.80362793470673,0L173.92070461440386,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0343ff" d="M264.20027040792036,198.94860211854845L265.1832317884974,200.4554448789866L285.75598018201015,200.17459832008328L285.15293148703495,189.69576365957826L282.9310503874926,189.17178028004824L266.52843724910633,192.68673565389014Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6c91ff" d="M111.92454231510149,244.3514358002173L141.19716384475302,233.13184554522994L146.26074692459105,208.16703354445633L145.8224382184539,202.81883867714538L120.04242345357454,215.4475468802048Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#799bff" d="M143.7538277607394,79.67207213696331L158.26807789951087,88.37233832442534L167.464563435487,88.41308284131158L174.25828689734394,62.71726838565243L155.35327854266004,61.73401413270433Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0444ff" d="M314.9138763668266,156.08771209964146L315.8844450151307,157.49487030375815L326.0119030566583,158.62651338113366L326.63874204733196,154.21337988806792Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6c91ff" d="M111.94544060270056,192.19844754271418L135.65543873095746,196.20968227132778L125.93953613442119,174.6391358765177Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0f4cff" d="M255.7731396063743,225.5197391822681L260.8014020582642,225.4096337636259L263.97715908504046,214.50781833675484L257.35408548296283,216.34158095688946Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0d4bff" d="M355.78874023833384,152.22076584745471L358.46882161798993,168.74258350063417L393.8579946148465,184.5984834668351L393.03906160687563,174.86544694002345L380.4732044804218,159.22638930629674L357.15721160767595,148.97588316167707Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1f58ff" d="M277.86152856984506,107.37320703456557L284.32377802408075,112.67140872177052L285.38490495151365,113.37298086592946L315.2868246853158,116.47051068309601L327.25485527763556,108.93440974165125L329.8116705690428,106.68967544987909L331.7445560699035,100.53329502630571L319.3591537596807,80.13938509650836L278.70427103596217,96.11987990893238Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#658cff" d="M167.464563435487,88.41308284131158L176.52434551589783,112.31531885834157L191.07394186548788,81.86530979770923L177.58310235396263,61.6505940937834L174.25828689734394,62.71726838565243Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3367ff" d="M403.01614304512236,110.05714219190902L403.7644601775224,115.94540626692107L414.32882490740275,147.09898005186773L420.155203230957,147.04776814064866L435.3729333630882,121.50950426579796L413.85700674061843,104.2467830581343Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0847ff" d="M327.48897452051693,146.64194399172067L327.5276662512966,149.08479734268494L327.92275294588455,151.770516535585L333.7478840947164,153.63992339221647L355.09654753482346,140.521251732579L354.6425921158235,136.33616469158903L348.35338259554436,134.20473434782357L341.412425559501,135.78882423146774Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3266ff" d="M173.6752345842776,170.4002174156206L174.0672897418902,183.98224891050484L192.15038670786865,190.4539058095158L197.39949053855426,157.8152427569607Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0a49ff" d="M301.5909563447528,148.2290943026265L309.6626813260455,146.8315109085904L316.00271080027704,138.56003824444977L315.9550436636782,136.48425511278006L302.35048763966785,132.09961336046052Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6e93ff" d="M151.0770369227407,114.60896865185157L158.8784985729652,124.74104532478785L168.09614460243216,126.449761613797L169.75745004423223,126.02131927962712L176.5165521870504,112.42477722197276L176.52434551589783,112.31531885834157L167.464563435487,88.41308284131158L158.26807789951087,88.37233832442534Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0c4aff" d="M255.7286057727176,130.2958738538965L265.80532690845916,146.16585607570863L282.53029401262995,153.19974393646604L284.32377802408075,112.67140872177052L277.86152856984506,107.37320703456557L257.03916257687115,124.3576336499693Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#c4d3ff" d="M191.80362793470673,0L191.96410594125703,29.07730091820798L197.46183200740705,35.10157717615932L208.66930865961285,35.90801701454222L239.7231441130541,7.697596988447003L247.68090987765703,-8.881784197001252e-16Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1b55ff" d="M242.69468419201678,246.69926323978422L244.1237731354853,253.3033058216581L254.05060948128545,253.35859805099057L257.46347257734953,241.4151252066077L243.92373522884068,244.75900106866496Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4e7bff" d="M379.53913780612504,75.65346579279893L383.821067669186,82.70593398377008L408.7735983617638,76.11213744306087L408.3481732750905,57.828718578693056L402.6014161310398,47.073999263583545L391.18600054616735,48.26504720816486Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#104dff" d="M245.68556595092966,226.78167655427953L247.26824849653775,228.19987266255663L255.7731396063743,225.5197391822681L257.35408548296283,216.34158095688946L255.93362918262164,216.3360275894016L247.72094979613948,220.29111719072884Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1450ff" d="M235.41171426940758,220.80096568388296L242.86623628963247,226.7131443408841L245.68556595092966,226.78167655427953L247.72094979613948,220.29111719072884L244.64944607533968,205.9262457222149L239.277957179789,205.9739779912986L235.5054988797673,212.7611853617752Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#134fff" d="M218.20640991023143,181.49876081725512L220.69078253231265,182.60348297787232L237.90178927027432,186.98171989060378L243.18500538897538,184.174779465127L243.19470316848574,184.14475454726585L237.87216513821357,166.19187721557307L237.65009989462519,165.93319065705657L219.58142948205014,162.4165936914699Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#124fff" d="M247.26824849653775,228.19987266255663L248.94776476546423,232.21626688367485L259.4838016410783,238.08040294086283L270.1816751767541,236.64922165086668L260.8014020582642,225.4096337636259L255.7731396063743,225.5197391822681Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0141ff" d="M305.65980025104955,175.73310320072628L312.81020983262243,179.44352287011336L319.9681471474522,174.2536466668087L313.9578277455284,169.2201041326114L308.8554304098347,169.17852542739158Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0746ff" d="M263.34634142709126,157.17531550151404L268.6869642507455,168.96214031363363L284.9846720298813,159.72026063155775L287.23237982108634,156.5391151273894L282.53029401262995,153.19974393646604L265.80532690845916,146.16585607570863Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#8daaff" d="M156.1369204444946,316.4470324088903L175.39081259623558,307.5990109611302L170.0624002797132,286.8344884876371L157.21486301772518,287.9008915318639Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#86a5ff" d="M402.6014161310398,47.073999263583545L408.3481732750905,57.828718578693056L456.76606437781015,70.81253794942887L461.5938044571982,65.70320220711834L442.70286927396137,22.057592634061013L431.1955892998082,15.390131502801825L415.34249892310925,26.484849997808865Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#e3eaff" d="M520.851616480417,237.4882962859027L533.6506327247384,316.25425558287793L560,316.2117610348302L560,237.91888968389515Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6990ff" d="M456.21002621883997,164.71253186537461L463.051959616622,207.87839151485096L477.44111219507386,214.86554987657698L500.1309422617803,214.82330608377188L510.53655294600964,188.87071544592942L501.777441613558,151.40701227548806L495.391472728842,144.71670297557702L456.5610308525805,164.02175931555576Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0041ff" d="M310.619084520697,191.33938099298348L319.6433884223689,191.00177062731717L321.81047458375514,185.84202593153597L322.5600686143312,173.93272262290202L319.9681471474522,174.2536466668087L312.81020983262243,179.44352287011336Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6f94ff" d="M128.48912864452106,272.83459928541623L129.40315374034012,285.21903136603447L157.21486301772518,287.9008915318639L170.0624002797132,286.8344884876371L185.22111620565852,268.00538065131235L147.0132756922692,261.555407681133Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0847ff" d="M342.04536825106777,200.97831919594182L342.6842393237955,203.1218868562965L342.79390810501786,203.25975388442265L342.835820950415,203.29399107313552L347.9942232679038,206.19631008394327L365.23371767017187,211.07427166808574L394.8916448339038,201.08191668649445L394.29142097191334,197.4369800774227L367.20846028412757,187.2314033523109L346.4106791048806,192.2422500774594Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0343ff" d="M307.63811666720943,160.07622059755897L309.2358106786113,162.17657422909093L310.6069310761834,162.26892957765102L314.781280099977,155.98304114089444L312.87227080308065,152.5402624011894Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4071ff" d="M271.93666212008844,84.29967412776598L278.70427103596217,96.11987990893238L319.3591537596807,80.13938509650836L333.4515568116783,32.57490917206658L315.3482885217326,0L308.68819159052606,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0544ff" d="M265.1832317884974,200.4554448789866L268.26565787625486,210.7147721617963L274.0214722197814,215.0385147943207L281.7677587591532,213.5774079570127L285.9360440184626,200.40145896957088L285.75598018201015,200.17459832008328Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#c2d1ff" d="M536.2739088027424,217.07387596197603L560,210.79057239871L560,160.6706448523974Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#235bff" d="M192.15038670786865,190.4539058095158L192.80374403035532,191.33992118456598L212.94418996842137,188.81992863146195L218.20640991023143,181.49876081725512L219.58142948205014,162.4165936914699L209.88689889538747,149.8456549487573L203.22558950121572,149.12159262057426L197.39949053855426,157.8152427569607Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#becfff" d="M442.70286927396137,22.057592634061013L461.5938044571982,65.70320220711834L470.63959596490145,64.76055517324981L505.5509466737831,31.921246021142586L492.6876219496669,14.295383262501876Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#7a9cff" d="M105.53073256492794,194.26471045077344L111.94544060270056,192.19844754271418L125.93953613442119,174.6391358765177L128.41681525505447,163.5089140390947L117.96568431752073,149.42946505381875Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0948ff" d="M274.0214722197814,215.0385147943207L274.9559898083934,237.72981687693485L288.28150242610405,250.54597405247597L293.51088231145206,249.53951465437055L296.9883484151515,244.249267399495L298.9932037228952,231.55237558940902L298.18993547644254,219.3723578173872L281.7677587591532,213.5774079570127Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff8a74" d="M0,52.77809960187597L44.75213930057613,52.99723271288666L39.796546415909944,42.88327428782825L0,42.33239309112257Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#5c85ff" d="M413.85700674061843,104.2467830581343L435.3729333630882,121.50950426579796L449.3251429858431,124.48425612795134L463.91855969552086,112.89046309866664L454.3527850832079,77.77355258813677L415.2648267732864,99.76794435874312Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff330d" d="M121.55785923075359,460L121.33988475984042,456.4479658577595L89.52623451479931,367.096178069156L88.87228191280917,365.8147243742071L0,326.28200456195776L0,460Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffebe8" d="M543.6079540685329,82.5062906192911L560,82.43022764558943L560,30.804393157330917L554.4531702104416,30.736608445556477Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#678eff" d="M408.3481732750905,57.828718578693056L408.7735983617638,76.11213744306087L415.2648267732864,99.76794435874312L454.3527850832079,77.77355258813677L456.76606437781015,70.81253794942887Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#f9fbff" d="M107.15183250154249,0L144.91241756749923,24.291764188767253L158.5468981854377,18.7630597330823L158.17129720812937,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0948ff" d="M296.9883484151515,244.249267399495L328.25173998883093,235.86072347770002L328.1838066737866,233.51420963344313L321.8275112450037,221.4163963958106L298.9932037228952,231.55237558940902Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#5c86ff" d="M361.5441117036519,303.7203904955224L364.72654930882106,321.67358395504016L467.5382163301296,300.6181750122135L460.8835739584889,282.6476408754496L407.8782173506037,246.4561186905228L364.301938758772,295.32123954687273Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0847ff" d="M321.8275112450037,221.4163963958106L328.1838066737866,233.51420963344313L334.7383610477585,224.17086475055007L334.737542662113,224.0478187352L329.8745225920935,216.9787984588759L321.8585507930921,219.32935400259984Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffe6e2" d="M0,326.28200456195776L88.87228191280917,365.8147243742071L89.1792034237792,363.38654046648384L65.88894376346374,260.50306942114355L0,266.7905429559992Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffd0c8" d="M492.6876219496669,14.295383262501876L505.5509466737831,31.921246021142586L511.15698550416016,33.78765041112943L540.7061320350513,25.205350262604767L540.5462916005022,0L492.8050813117812,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0242ff" d="M285.15293148703495,189.69576365957826L285.75598018201015,200.17459832008328L285.9360440184626,200.40145896957088L292.2733693521706,201.84276761058928L293.0283454888808,187.77557987147998L292.9223957572746,187.6944636943909L285.4688682145734,189.50385920333844Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0142ff" d="M285.4688682145734,189.50385920333844L292.9223957572746,187.6944636943909L295.12234488997893,177.50610249276812L287.0810364392886,177.01709744214875L285.5427010229973,180.37495578470077Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffc8be" d="M34.491394753396165,22.291865639298305L39.796546415909944,42.88327428782825L44.75213930057613,52.99723271288666L48.682675285449086,60.07816135794612L54.964318884080335,68.80570294131438L70.9729555725624,81.1588052418153L82.41077106026789,66.53402337045942L105.56305101348211,0L40.153829376154796,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#b0c4ff" d="M500.1309422617803,214.82330608377188L516.5051340770946,227.59778554399455L536.2739088027424,217.07387596197603L560,160.6706448523974L560,159.99014725987732L510.53655294600964,188.87071544592942Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff4826" d="M0,17.294418430529714L4.6416363401856,17.29713394567873L3.221509897962821,0L0,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff775e" d="M0,42.33239309112257L39.796546415909944,42.88327428782825L34.491394753396165,22.291865639298305L4.6416363401856,17.29713394567873L0,17.294418430529714Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#5a84ff" d="M116.46231933103455,145.74470444510033L117.16091050437267,147.88155598059853L117.96568431752073,149.42946505381875L128.41681525505447,163.5089140390947L146.9430506286835,170.94634323860592L150.43496803440402,168.03436658821073L142.45074408654264,133.75626294976487Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1551ff" d="M209.88689889538747,149.8456549487573L219.58142948205014,162.4165936914699L237.65009989462519,165.93319065705657L245.3027325368662,156.84922446623057L253.2895698911279,132.50125721501203L210.361474267269,149.40307933598842Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0142ff" d="M321.81047458375514,185.84202593153597L330.99924609326996,184.94566195165783L323.86168494014737,174.0521734925617L322.8811335020221,173.78846910233995L322.5600686143312,173.93272262290202Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#275eff" d="M221.4723232772471,248.10075824894847L227.64698293593878,259.02186209369273L235.62015955260867,265.09260163513943L244.1237731354853,253.3033058216581L242.69468419201678,246.69926323978422L230.00278586571346,238.04520019972622L225.06459310523977,238.14709895192036Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6189ff" d="M449.3251429858431,124.48425612795134L456.5610308525805,164.02175931555576L495.391472728842,144.71670297557702L495.56964877536086,138.23384463368407L475.8735836955042,114.54945097080018L463.91855969552086,112.89046309866664Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff9e8c" d="M540.5462916005022,0L540.7061320350513,25.205350262604767L554.4531702104416,30.736608445556477L560,30.804393157330917L560,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2c62ff" d="M234.78514502139174,306.79597506565165L243.904814918748,318.3239970131603L244.6318322632637,318.49227433340803L270.08485838268757,291.9423324367388L277.21218745290236,262.2622235991292L266.91751733820774,259.8770914661756L236.69580920590616,273.1442887532069Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0746ff" d="M339.43294439992434,170.88213171275362L341.28601621316284,173.70939239244072L350.8826430988618,178.74032790436945L358.46882161798993,168.74258350063417L355.78874023833384,152.22076584745471L341.51118259007245,163.05695576195922L340.0775225812174,165.59846784403157Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0948ff" d="M254.5240662225946,169.54871702302694L257.1047296435603,172.7177913541651L268.55994160604155,169.3969272235484L268.6869642507455,168.96214031363363L263.34634142709126,157.17531550151404L257.0888862858014,161.41445154457145Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#5580ff" d="M407.8782173506037,246.4561186905228L460.8835739584889,282.6476408754496L477.44111219507386,214.86554987657698L463.051959616622,207.87839151485096L413.54066124415164,221.50584354948464Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2f64ff" d="M233.617808572282,98.72653730827078L239.0865589467928,114.49184060197038L257.03916257687115,124.3576336499693L277.86152856984506,107.37320703456557L278.70427103596217,96.11987990893238L271.93666212008844,84.29967412776598L240.81159877652019,70.00484894317535L235.47802350272724,70.21157828614741Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#bdceff" d="M374.38413637718327,0L415.34249892310925,26.484849997808865L431.1955892998082,15.390131502801825L431.15670600262547,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1c56ff" d="M230.00278586571346,238.04520019972622L242.69468419201678,246.69926323978422L243.92373522884068,244.75900106866496L248.94776476546423,232.21626688367485L247.26824849653775,228.19987266255663L245.68556595092966,226.78167655427953L242.86623628963247,226.7131443408841Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1450ff" d="M220.69078253231265,182.60348297787232L233.15549644300503,198.85056003593533L237.90178927027432,186.98171989060378Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0242ff" d="M306.66534692574265,166.37706687405287L308.8554304098347,169.17852542739158L313.9578277455284,169.2201041326114L313.2025907521274,163.9130644886153L310.6069310761834,162.26892957765102L309.2358106786113,162.17657422909093Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff4826" d="M560,457.6141461190899L505.0906962458806,404.23467492074604L410.888035171376,460L560,460Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#85a4ff" d="M88.56120700858864,194.91976795063152L104.87096464055449,194.667576863716L105.53073256492794,194.26471045077344L117.96568431752073,149.42946505381875L117.16091050437267,147.88155598059853Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3c6eff" d="M420.155203230957,147.04776814064866L436.7926395195599,161.83788386675326L456.21002621883997,164.71253186537461L456.5610308525805,164.02175931555576L449.3251429858431,124.48425612795134L435.3729333630882,121.50950426579796Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#8eabff" d="M475.8735836955042,114.54945097080018L495.56964877536086,138.23384463368407L528.8509524080757,107.37401553787805L526.2186184376311,90.9958318976381L524.8553855317731,90.0412768924017L499.5516405564415,89.76993884585781Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#285fff" d="M397.53370715779766,143.97460573479867L403.8586261450942,153.45947012303435L414.32882490740275,147.09898005186773L403.7644601775224,115.94540626692107Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0444ff" d="M292.92858614677357,154.0169537601078L307.63811666720943,160.07622059755897L312.87227080308065,152.5402624011894L312.6714243555851,151.60117642443458L312.62592798384236,151.49514751276902L309.6626813260455,146.8315109085904L301.5909563447528,148.2290943026265L294.83162233165194,151.39109702412676Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0948ff" d="M243.18500538897538,184.174779465127L253.2419500007301,199.30553861616082L264.20027040792036,198.94860211854845L266.52843724910633,192.68673565389014L266.0879251422542,188.38031575401558L256.0800019027028,178.94219482121503L243.19470316848574,184.14475454726585Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#e0e8ff" d="M158.17129720812937,0L158.5468981854377,18.7630597330823L171.36190674320395,21.526185062826123L173.92070461440386,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2f64ff" d="M180.07196647309897,241.14417517312305L182.7344227431541,245.63739993806226L209.05626306399,233.81669644278782L216.58516994676987,226.81477541054045L193.33215508765744,215.944346115699Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2960ff" d="M393.03906160687563,174.86544694002345L393.8579946148465,184.5984834668351L394.62235046585465,187.31203278428436L436.7926395195599,161.83788386675326L420.155203230957,147.04776814064866L414.32882490740275,147.09898005186773L403.8586261450942,153.45947012303435Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0343ff" d="M303.94070657589725,207.0064349402054L303.95628944087167,208.67182852103835L318.8514217984334,214.9313036816094L323.52611457068537,204.93073364335794L320.7498312289874,202.58156191750868L305.9912195049499,202.5192537998322Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#b4c7ff" d="M65.88894376346374,260.50306942114355L89.1792034237792,363.38654046648384L129.40315374034012,285.21903136603447L128.48912864452106,272.83459928541623L110.5223255408473,245.81954199362514L77.07149259947084,242.32845444638107Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#f9faff" d="M511.15698550416016,33.78765041112943L524.8553855317731,90.0412768924017L526.2186184376311,90.9958318976381L543.6079540685329,82.5062906192911L554.4531702104416,30.736608445556477L540.7061320350513,25.205350262604767Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#a4bbff" d="M70.9729555725624,81.1588052418153L72.08107927462672,85.75354494483418L128.12924527270502,91.6711920437782L143.7538277607394,79.67207213696331L155.35327854266004,61.73401413270433L141.2680239948596,46.20376204393507L82.41077106026789,66.53402337045942Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0243ff" d="M276.32353613583865,177.46988966447552L278.99228849778166,180.58314338933954L285.5427010229973,180.37495578470077L287.0810364392886,177.01709744214875L282.70245589824214,173.3707212364603Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1c56ff" d="M380.4732044804218,159.22638930629674L393.03906160687563,174.86544694002345L403.8586261450942,153.45947012303435L397.53370715779766,143.97460573479867L389.02903529986463,139.87414147537908L383.2984168175002,141.34117213656472Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff856e" d="M500.88537598196,352.6414898415677L505.0906962458806,404.23467492074604L560,457.6141461190899L560,316.2117610348302L533.6506327247384,316.25425558287793L510.21328186458584,329.9514469001939Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#7699ff" d="M128.12924527270502,91.6711920437782L151.0770369227407,114.60896865185157L158.26807789951087,88.37233832442534L143.7538277607394,79.67207213696331Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#90adff" d="M45.6486375986859,142.4704102655199L50.009487374510165,187.5544998273418L63.419288667992475,199.94103135495757L88.56120700858864,194.91976795063152L117.16091050437267,147.88155598059853L116.46231933103455,145.74470444510033L66.74844906379538,116.5691740201871Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0242ff" d="M313.2025907521274,163.9130644886153L313.9578277455284,169.2201041326114L319.9681471474522,174.2536466668087L322.5600686143312,173.93272262290202L322.8811335020221,173.78846910233995L323.29428517338016,164.52400589942766L317.1030500001035,161.77851304059467Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1651ff" d="M212.94418996842137,188.81992863146195L219.26761826552763,203.1957695235764L232.895179803393,200.7385325299079L233.15549644300503,198.85056003593533L220.69078253231265,182.60348297787232L218.20640991023143,181.49876081725512Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffd2c9" d="M0,219.901014029108L50.009487374510165,187.5544998273418L45.6486375986859,142.4704102655199L2.5429848057540907,138.12787474884968L0,138.09996141956321Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#a2b9ff" d="M353.4016658813217,380.100050811293L500.88537598196,352.6414898415677L510.21328186458584,329.9514469001939L467.5382163301296,300.6181750122135L364.72654930882106,321.67358395504016Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffb3a5" d="M0,138.09996141956321L2.5429848057540907,138.12787474884968L4.8159005888387965,81.45546155824402L0,81.48933868719686Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0a49ff" d="M289.2045457142765,120.335129558564L294.83162233165194,151.39109702412676L301.5909563447528,148.2290943026265L302.35048763966785,132.09961336046052Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0948ff" d="M350.8826430988618,178.74032790436945L351.07499399161117,179.296221226662L367.20846028412757,187.2314033523109L394.29142097191334,197.4369800774227L394.62235046585465,187.31203278428436L393.8579946148465,184.5984834668351L358.46882161798993,168.74258350063417Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffae9f" d="M378.7502107789443,460L351.13426152077994,384.08400904609675L307.37940689210177,380.98867107654854L174.48049847878457,460Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#d8e2ff" d="M516.5051340770946,227.59778554399455L520.851616480417,237.4882962859027L560,237.91888968389515L560,210.79057239871L536.2739088027424,217.07387596197603Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff5231" d="M3.221509897962821,0L4.6416363401856,17.29713394567873L34.491394753396165,22.291865639298305L40.153829376154796,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0c4aff" d="M237.87216513821357,166.19187721557307L243.19470316848574,184.14475454726585L256.0800019027028,178.94219482121503L257.1047296435603,172.7177913541651L254.5240662225946,169.54871702302694Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0142ff" d="M292.2733693521706,201.84276761058928L303.94070657589725,207.0064349402054L305.9912195049499,202.5192537998322L306.767819411295,195.08421125279824L293.0283454888808,187.77557987147998Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#235bff" d="M190.92299491037747,206.9148522075316L192.87222970638953,210.92803171875667L218.33770329097325,205.80419916588377L219.26761826552763,203.1957695235764L212.94418996842137,188.81992863146195L192.80374403035532,191.33992118456598Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#b6c8ff" d="M121.33988475984042,456.4479658577595L121.55785923075359,460L174.48049847878457,460L307.37940689210177,380.98867107654854L244.6318322632637,318.49227433340803L243.904814918748,318.3239970131603L187.7992962290102,362.31305884201413Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4877ff" d="M244.6318322632637,318.49227433340803L307.37940689210177,380.98867107654854L351.13426152077994,384.08400904609675L353.4016658813217,380.100050811293L364.72654930882106,321.67358395504016L361.5441117036519,303.7203904955224L338.671411800846,292.3867700949055L270.08485838268757,291.9423324367388Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0243ff" d="M278.99228849778166,180.58314338933954L282.9310503874926,189.17178028004824L285.15293148703495,189.69576365957826L285.4688682145734,189.50385920333844L285.5427010229973,180.37495578470077Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1550ff" d="M293.51088231145206,249.53951465437055L338.671411800846,292.3867700949055L361.5441117036519,303.7203904955224L364.301938758772,295.32123954687273L350.61821676882437,254.0501188834106L328.25173998883093,235.86072347770002L296.9883484151515,244.249267399495Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#7195ff" d="M104.87096464055449,194.667576863716L120.04242345357454,215.4475468802048L145.8224382184539,202.81883867714538L146.04313974228492,202.2836609726361L135.65543873095746,196.20968227132778L111.94544060270056,192.19844754271418L105.53073256492794,194.26471045077344Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0d4bff" d="M260.8014020582642,225.4096337636259L270.1816751767541,236.64922165086668L274.9559898083934,237.72981687693485L274.0214722197814,215.0385147943207L268.26565787625486,210.7147721617963L263.97715908504046,214.50781833675484Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0242ff" d="M282.70245589824214,173.3707212364603L287.0810364392886,177.01709744214875L295.12234488997893,177.50610249276812L297.5900006829415,175.11757775558806L296.2631631829547,166.535626305647L290.3096516955445,156.28531710192837L287.23237982108634,156.5391151273894L284.9846720298813,159.72026063155775Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2059ff" d="M363.4855913222693,128.0310586874736L369.02468619235896,131.4196364687316L385.16390169038675,132.1502789352789L393.40396475802726,124.05994922843564L399.21511074586743,110.28728921526162L393.5578966825939,109.30889301015966L364.9793899209773,124.71100806129463Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#124eff" d="M327.25485527763556,108.93440974165125L328.1693037020978,131.77810528894332L341.412425559501,135.78882423146774L348.35338259554436,134.20473434782357L329.8116705690428,106.68967544987909Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0444ff" d="M333.8724300867178,187.85710615443205L334.91590657178455,193.80771385495166L342.04536825106777,200.97831919594182L346.4106791048806,192.2422500774594L351.07499399161117,179.296221226662L350.8826430988618,178.74032790436945L341.28601621316284,173.70939239244072Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0142ff" d="M305.9912195049499,202.5192537998322L320.7498312289874,202.58156191750868L324.4220799838622,193.51075163923664L319.6433884223689,191.00177062731717L310.619084520697,191.33938099298348L307.7649874470374,193.6912368490156L306.767819411295,195.08421125279824Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1a54ff" d="M243.92373522884068,244.75900106866496L257.46347257734953,241.4151252066077L259.4838016410783,238.08040294086283L248.94776476546423,232.21626688367485Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0041ff" d="M299.51666686110104,175.86417453721916L307.7649874470374,193.6912368490156L310.619084520697,191.33938099298348L312.81020983262243,179.44352287011336L305.65980025104955,175.73310320072628Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2c61ff" d="M270.08485838268757,291.9423324367388L338.671411800846,292.3867700949055L293.51088231145206,249.53951465437055L288.28150242610405,250.54597405247597L277.21218745290236,262.2622235991292Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#245cff" d="M389.02903529986463,139.87414147537908L397.53370715779766,143.97460573479867L403.7644601775224,115.94540626692107L403.01614304512236,110.05714219190902L399.21511074586743,110.28728921526162L393.40396475802726,124.05994922843564Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1a54ff" d="M254.05060948128545,253.35859805099057L266.91751733820774,259.8770914661756L277.21218745290236,262.2622235991292L288.28150242610405,250.54597405247597L274.9559898083934,237.72981687693485L270.1816751767541,236.64922165086668L259.4838016410783,238.08040294086283L257.46347257734953,241.4151252066077Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0041ff" d="M292.9223957572746,187.6944636943909L293.0283454888808,187.77557987147998L306.767819411295,195.08421125279824L307.7649874470374,193.6912368490156L299.51666686110104,175.86417453721916L297.5900006829415,175.11757775558806L295.12234488997893,177.50610249276812Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ff9a87" d="M0,81.48933868719686L4.8159005888387965,81.45546155824402L54.964318884080335,68.80570294131438L48.682675285449086,60.07816135794612L0,60.77078299988764Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0645ff" d="M320.43233963646475,216.5051776517468L321.8585507930921,219.32935400259984L329.8745225920935,216.9787984588759L342.79390810501786,203.25975388442265L342.6842393237955,203.1218868562965L333.6521199212334,205.2269873226986Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0545ff" d="M326.0119030566583,158.62651338113366L326.0525416155674,160.05213761720327L340.0775225812174,165.59846784403157L341.51118259007245,163.05695576195922L333.7478840947164,153.63992339221647L327.92275294588455,151.770516535585L326.66343522466786,154.13807498620508L326.63874204733196,154.21337988806792Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1752ff" d="M218.33770329097325,205.80419916588377L219.8443255601191,213.46494316430886L235.5054988797673,212.7611853617752L239.277957179789,205.9739779912986L232.895179803393,200.7385325299079L219.26761826552763,203.1957695235764Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffeeeb" d="M351.13426152077994,384.08400904609675L378.7502107789443,460L410.888035171376,460L505.0906962458806,404.23467492074604L500.88537598196,352.6414898415677L353.4016658813217,380.100050811293Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#84a4ff" d="M460.8835739584889,282.6476408754496L467.5382163301296,300.6181750122135L510.21328186458584,329.9514469001939L533.6506327247384,316.25425558287793L520.851616480417,237.4882962859027L516.5051340770946,227.59778554399455L500.1309422617803,214.82330608377188L477.44111219507386,214.86554987657698Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#396cff" d="M152.69302508916647,197.28348730533668L168.22044301599928,207.71316596134625L190.92299491037747,206.9148522075316L192.80374403035532,191.33992118456598L192.15038670786865,190.4539058095158L174.0672897418902,183.98224891050484L153.17022128957575,196.06062820834745Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#2059ff" d="M383.29033625955776,141.3337462187463L383.2984168175002,141.34117213656472L389.02903529986463,139.87414147537908L393.40396475802726,124.05994922843564L385.16390169038675,132.1502789352789Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#285fff" d="M235.62015955260867,265.09260163513943L236.69580920590616,273.1442887532069L266.91751733820774,259.8770914661756L254.05060948128545,253.35859805099057L244.1237731354853,253.3033058216581Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0142ff" d="M319.6433884223689,191.00177062731717L324.4220799838622,193.51075163923664L334.91590657178455,193.80771385495166L333.8724300867178,187.85710615443205L330.99924609326996,184.94566195165783L321.81047458375514,185.84202593153597Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0444ff" d="M318.8514217984334,214.9313036816094L320.43233963646475,216.5051776517468L333.6521199212334,205.2269873226986L323.52611457068537,204.93073364335794Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#4d7bff" d="M337.90099445563334,35.43303396900246L359.9825600123688,79.9584512406212L379.53913780612504,75.65346579279893L391.18600054616735,48.26504720816486Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0444ff" d="M268.55994160604155,169.3969272235484L272.157607556903,177.3865351473118L276.32353613583865,177.46988966447552L282.70245589824214,173.3707212364603L284.9846720298813,159.72026063155775L268.6869642507455,168.96214031363363Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0344ff" d="M315.8844450151307,157.49487030375815L317.1030500001035,161.77851304059467L323.29428517338016,164.52400589942766L326.0525416155674,160.05213761720327L326.0119030566583,158.62651338113366Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0746ff" d="M256.0800019027028,178.94219482121503L266.0879251422542,188.38031575401558L272.157607556903,177.3865351473118L268.55994160604155,169.3969272235484L257.1047296435603,172.7177913541651Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0b4aff" d="M315.9550436636782,136.48425511278006L316.00271080027704,138.56003824444977L327.48897452051693,146.64194399172067L341.412425559501,135.78882423146774L328.1693037020978,131.77810528894332L317.31810953350634,133.69949650695395Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1f58ff" d="M369.02468619235896,131.4196364687316L383.29033625955776,141.3337462187463L385.16390169038675,132.1502789352789Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0243ff" d="M290.3096516955445,156.28531710192837L296.2631631829547,166.535626305647L306.66534692574265,166.37706687405287L309.2358106786113,162.17657422909093L307.63811666720943,160.07622059755897L292.92858614677357,154.0169537601078Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#ffc1b5" d="M2.5429848057540907,138.12787474884968L45.6486375986859,142.4704102655199L66.74844906379538,116.5691740201871L72.08107927462672,85.75354494483418L70.9729555725624,81.1588052418153L54.964318884080335,68.80570294131438L4.8159005888387965,81.45546155824402Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#b8caff" d="M470.63959596490145,64.76055517324981L499.5516405564415,89.76993884585781L524.8553855317731,90.0412768924017L511.15698550416016,33.78765041112943L505.5509466737831,31.921246021142586Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0c4aff" d="M237.65009989462519,165.93319065705657L237.87216513821357,166.19187721557307L254.5240662225946,169.54871702302694L257.0888862858014,161.41445154457145L245.3027325368662,156.84922446623057Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0b49ff" d="M282.53029401262995,153.19974393646604L287.23237982108634,156.5391151273894L290.3096516955445,156.28531710192837L292.92858614677357,154.0169537601078L294.83162233165194,151.39109702412676L289.2045457142765,120.335129558564L285.38490495151365,113.37298086592946L284.32377802408075,112.67140872177052Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0f4cff" d="M285.38490495151365,113.37298086592946L289.2045457142765,120.335129558564L302.35048763966785,132.09961336046052L315.9550436636782,136.48425511278006L317.31810953350634,133.69949650695395L315.2868246853158,116.47051068309601Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#9ab4ff" d="M501.777441613558,151.40701227548806L510.53655294600964,188.87071544592942L560,159.99014725987732L560,145.9287861777747Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0847ff" d="M329.8745225920935,216.9787984588759L334.737542662113,224.0478187352L342.835820950415,203.29399107313552L342.79390810501786,203.25975388442265Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0343ff" d="M310.6069310761834,162.26892957765102L313.2025907521274,163.9130644886153L317.1030500001035,161.77851304059467L315.8844450151307,157.49487030375815L314.9138763668266,156.08771209964146L314.781280099977,155.98304114089444Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3b6dff" d="M161.9013724747216,160.32393734834523L173.6752345842776,170.4002174156206L197.39949053855426,157.8152427569607L203.22558950121572,149.12159262057426L190.42323533739554,137.57802717407586L169.75745004423223,126.02131927962712L168.09614460243216,126.449761613797Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0343ff" d="M322.8811335020221,173.78846910233995L323.86168494014737,174.0521734925617L339.43294439992434,170.88213171275362L340.0775225812174,165.59846784403157L326.0525416155674,160.05213761720327L323.29428517338016,164.52400589942766Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3d6fff" d="M208.40718786927656,102.3995793516935L210.32846587878913,104.54732147670545L233.617808572282,98.72653730827078L235.47802350272724,70.21157828614741L234.90079048795667,69.97652636732997L208.51202845628384,95.51494481820545Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#3669ff" d="M319.3591537596807,80.13938509650836L331.7445560699035,100.53329502630571L353.6154839985941,98.04118268479873L359.3512970861846,91.3417433398438L359.9825600123688,79.9584512406212L337.90099445563334,35.43303396900246L333.4515568116783,32.57490917206658Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0f4cff" d="M232.895179803393,200.7385325299079L239.277957179789,205.9739779912986L244.64944607533968,205.9262457222149L247.61479381758102,204.18230181431966L253.2419500007301,199.30553861616082L243.18500538897538,184.174779465127L237.90178927027432,186.98171989060378L233.15549644300503,198.85056003593533Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#0747ff" d="M346.4106791048806,192.2422500774594L367.20846028412757,187.2314033523109L351.07499399161117,179.296221226662Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#dbe4ff" d="M82.41077106026789,66.53402337045942L141.2680239948596,46.20376204393507L144.91241756749923,24.291764188767253L107.15183250154249,0L105.56305101348211,0Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#1853ff" d="M350.61821676882437,254.0501188834106L364.301938758772,295.32123954687273L407.8782173506037,246.4561186905228L413.54066124415164,221.50584354948464L394.8916448339038,201.08191668649445L365.23371767017187,211.07427166808574L352.49367781334854,242.855213457672Z" style="fill-opacity: 0.7; stroke: none;"></path><path fill="#6e93ff" d="M239.7231441130541,7.697596988447003L247.77931750273993,59.27744896139724L291.320092127187,0L247.68090987765703,-8.881784197001252e-16Z" style="fill-opacity: 0.7; stroke: none;"></path></g><g id="point-group"><circle clip-path="url(#clip)" r="3" cx="338.8" cy="154.1" style="fill: rgb(4, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="338.8" cy="220.79999999999998" style="fill: rgb(5, 68, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="243.59999999999997" cy="41.400000000000034" style="fill: rgb(59, 96, 203);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="151.79999999999998" style="fill: rgb(3, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="277.2" cy="184" style="fill: rgb(2, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="162.39999999999998" cy="174.8" style="fill: rgb(37, 84, 223);"></circle><circle clip-path="url(#clip)" r="3" cx="476" cy="91.99999999999999" style="fill: rgb(71, 102, 193);"></circle><circle clip-path="url(#clip)" r="3" cx="215.6" cy="257.59999999999997" style="fill: rgb(29, 80, 230);"></circle><circle clip-path="url(#clip)" r="3" cx="154" cy="225.4" style="fill: rgb(46, 89, 215);"></circle><circle clip-path="url(#clip)" r="3" cx="162.39999999999998" cy="41.400000000000034" style="fill: rgb(89, 111, 177);"></circle><circle clip-path="url(#clip)" r="3" cx="324.79999999999995" cy="126.50000000000001" style="fill: rgb(9, 70, 247);"></circle><circle clip-path="url(#clip)" r="3" cx="36.40000000000002" cy="236.9" style="fill: rgb(135, 136, 137);"></circle><circle clip-path="url(#clip)" r="3" cx="154" cy="303.6" style="fill: rgb(78, 106, 187);"></circle><circle clip-path="url(#clip)" r="3" cx="148.4" cy="154.1" style="fill: rgb(46, 89, 214);"></circle><circle clip-path="url(#clip)" r="3" cx="520.8000000000001" cy="138.00000000000003" style="fill: rgb(84, 109, 182);"></circle><circle clip-path="url(#clip)" r="3" cx="338.8" cy="227.7" style="fill: rgb(7, 68, 249);"></circle><circle clip-path="url(#clip)" r="3" cx="428.40000000000003" cy="179.4" style="fill: rgb(25, 78, 233);"></circle><circle clip-path="url(#clip)" r="3" cx="347.2" cy="223.1" style="fill: rgb(7, 68, 249);"></circle><circle clip-path="url(#clip)" r="3" cx="229.6" cy="128.8" style="fill: rgb(18, 75, 239);"></circle><circle clip-path="url(#clip)" r="3" cx="210" cy="121.9" style="fill: rgb(27, 79, 232);"></circle><circle clip-path="url(#clip)" r="3" cx="254.79999999999998" cy="211.6" style="fill: rgb(7, 69, 249);"></circle><circle clip-path="url(#clip)" r="3" cx="168" cy="322" style="fill: rgb(83, 108, 182);"></circle><circle clip-path="url(#clip)" r="3" cx="224" cy="105.8" style="fill: rgb(28, 80, 231);"></circle><circle clip-path="url(#clip)" r="3" cx="176.4" cy="216.2" style="fill: rgb(33, 82, 226);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="154.1" style="fill: rgb(3, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="162.39999999999998" cy="218.5" style="fill: rgb(40, 86, 220);"></circle><circle clip-path="url(#clip)" r="3" cx="128.79999999999998" cy="117.3" style="fill: rgb(67, 100, 196);"></circle><circle clip-path="url(#clip)" r="3" cx="187.60000000000002" cy="296.7" style="fill: rgb(58, 95, 204);"></circle><circle clip-path="url(#clip)" r="3" cx="106.4" cy="213.90000000000003" style="fill: rgb(73, 103, 191);"></circle><circle clip-path="url(#clip)" r="3" cx="375.20000000000005" cy="85.09999999999998" style="fill: rgb(33, 82, 226);"></circle><circle clip-path="url(#clip)" r="3" cx="159.60000000000002" cy="255.29999999999998" style="fill: rgb(51, 92, 210);"></circle><circle clip-path="url(#clip)" r="3" cx="254.79999999999998" cy="156.40000000000003" style="fill: rgb(7, 69, 249);"></circle><circle clip-path="url(#clip)" r="3" cx="375.20000000000005" cy="144.90000000000003" style="fill: rgb(12, 71, 245);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="55.199999999999946" style="fill: rgb(198, 86, 65);"></circle><circle clip-path="url(#clip)" r="3" cx="142.8" cy="248.4" style="fill: rgb(58, 95, 204);"></circle><circle clip-path="url(#clip)" r="3" cx="232.40000000000003" cy="227.7" style="fill: rgb(15, 73, 242);"></circle><circle clip-path="url(#clip)" r="3" cx="369.59999999999997" cy="105.8" style="fill: rgb(22, 77, 235);"></circle><circle clip-path="url(#clip)" r="3" cx="252" cy="213.90000000000003" style="fill: rgb(8, 69, 248);"></circle><circle clip-path="url(#clip)" r="3" cx="201.6" cy="71.30000000000001" style="fill: rgb(52, 92, 209);"></circle><circle clip-path="url(#clip)" r="3" cx="218.4" cy="266.79999999999995" style="fill: rgb(32, 81, 227);"></circle><circle clip-path="url(#clip)" r="3" cx="196" cy="96.59999999999998" style="fill: rgb(41, 87, 219);"></circle><circle clip-path="url(#clip)" r="3" cx="266" cy="55.199999999999946" style="fill: rgb(46, 89, 215);"></circle><circle clip-path="url(#clip)" r="3" cx="207.2" cy="82.80000000000003" style="fill: rgb(44, 88, 217);"></circle><circle clip-path="url(#clip)" r="3" cx="210" cy="213.90000000000003" style="fill: rgb(19, 75, 238);"></circle><circle clip-path="url(#clip)" r="3" cx="560" cy="103.49999999999999" style="fill: rgb(127, 131, 144);"></circle><circle clip-path="url(#clip)" r="3" cx="324.79999999999995" cy="200.09999999999997" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="212.8" cy="241.5" style="fill: rgb(24, 78, 234);"></circle><circle clip-path="url(#clip)" r="3" cx="193.20000000000002" cy="317.4" style="fill: rgb(69, 101, 195);"></circle><circle clip-path="url(#clip)" r="3" cx="288.40000000000003" cy="206.99999999999997" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="134.4" cy="181.70000000000002" style="fill: rgb(52, 92, 209);"></circle><circle clip-path="url(#clip)" r="3" cx="333.2" cy="179.4" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="305.20000000000005" cy="170.2" style="fill: rgb(1, 65, 255);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="149.49999999999997" style="fill: rgb(3, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="207.2" cy="241.5" style="fill: rgb(26, 79, 232);"></circle><circle clip-path="url(#clip)" r="3" cx="229.6" cy="216.2" style="fill: rgb(13, 72, 243);"></circle><circle clip-path="url(#clip)" r="3" cx="347.2" cy="115" style="fill: rgb(15, 73, 242);"></circle><circle clip-path="url(#clip)" r="3" cx="392" cy="85.09999999999998" style="fill: rgb(37, 85, 222);"></circle><circle clip-path="url(#clip)" r="3" cx="464.80000000000007" cy="0" style="fill: rgb(130, 133, 142);"></circle><circle clip-path="url(#clip)" r="3" cx="383.59999999999997" cy="20.699999999999967" style="fill: rgb(78, 106, 186);"></circle><circle clip-path="url(#clip)" r="3" cx="201.6" cy="115" style="fill: rgb(32, 82, 227);"></circle><circle clip-path="url(#clip)" r="3" cx="313.59999999999997" cy="220.79999999999998" style="fill: rgb(4, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="176.4" cy="0" style="fill: rgb(117, 126, 153);"></circle><circle clip-path="url(#clip)" r="3" cx="280" cy="195.50000000000003" style="fill: rgb(2, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="131.6" cy="220.79999999999998" style="fill: rgb(57, 95, 205);"></circle><circle clip-path="url(#clip)" r="3" cx="159.60000000000002" cy="82.80000000000003" style="fill: rgb(65, 99, 199);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="156.40000000000003" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="126" cy="186.3" style="fill: rgb(57, 95, 205);"></circle><circle clip-path="url(#clip)" r="3" cx="257.59999999999997" cy="220.79999999999998" style="fill: rgb(8, 69, 248);"></circle><circle clip-path="url(#clip)" r="3" cx="366.8" cy="165.6" style="fill: rgb(7, 69, 249);"></circle><circle clip-path="url(#clip)" r="3" cx="310.79999999999995" cy="103.49999999999999" style="fill: rgb(17, 74, 240);"></circle><circle clip-path="url(#clip)" r="3" cx="176.4" cy="87.40000000000002" style="fill: rgb(54, 93, 208);"></circle><circle clip-path="url(#clip)" r="3" cx="417.2" cy="133.4" style="fill: rgb(27, 79, 231);"></circle><circle clip-path="url(#clip)" r="3" cx="336" cy="149.49999999999997" style="fill: rgb(4, 67, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="184.79999999999998" cy="174.8" style="fill: rgb(27, 79, 232);"></circle><circle clip-path="url(#clip)" r="3" cx="305.20000000000005" cy="138.00000000000003" style="fill: rgb(5, 68, 250);"></circle><circle clip-path="url(#clip)" r="3" cx="159.60000000000002" cy="94.29999999999998" style="fill: rgb(59, 96, 203);"></circle><circle clip-path="url(#clip)" r="3" cx="280" cy="140.29999999999998" style="fill: rgb(6, 68, 250);"></circle><circle clip-path="url(#clip)" r="3" cx="207.2" cy="0" style="fill: rgb(105, 120, 163);"></circle><circle clip-path="url(#clip)" r="3" cx="252" cy="243.8" style="fill: rgb(15, 73, 242);"></circle><circle clip-path="url(#clip)" r="3" cx="389.20000000000005" cy="75.90000000000002" style="fill: rgb(41, 87, 219);"></circle><circle clip-path="url(#clip)" r="3" cx="254.79999999999998" cy="220.79999999999998" style="fill: rgb(8, 69, 248);"></circle><circle clip-path="url(#clip)" r="3" cx="240.79999999999998" cy="216.2" style="fill: rgb(10, 70, 246);"></circle><circle clip-path="url(#clip)" r="3" cx="232.40000000000003" cy="179.4" style="fill: rgb(10, 70, 246);"></circle><circle clip-path="url(#clip)" r="3" cx="257.59999999999997" cy="230" style="fill: rgb(10, 70, 246);"></circle><circle clip-path="url(#clip)" r="3" cx="310.79999999999995" cy="172.5" style="fill: rgb(0, 65, 255);"></circle><circle clip-path="url(#clip)" r="3" cx="271.59999999999997" cy="161" style="fill: rgb(4, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="159.60000000000002" cy="303.6" style="fill: rgb(75, 104, 189);"></circle><circle clip-path="url(#clip)" r="3" cx="434" cy="52.9" style="fill: rgb(72, 102, 192);"></circle><circle clip-path="url(#clip)" r="3" cx="560" cy="248.4" style="fill: rgb(121, 128, 149);"></circle><circle clip-path="url(#clip)" r="3" cx="487.19999999999993" cy="170.2" style="fill: rgb(56, 94, 206);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="184" style="fill: rgb(0, 65, 255);"></circle><circle clip-path="url(#clip)" r="3" cx="156.79999999999998" cy="271.40000000000003" style="fill: rgb(59, 96, 203);"></circle><circle clip-path="url(#clip)" r="3" cx="355.6" cy="190.9" style="fill: rgb(4, 67, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="310.79999999999995" cy="158.7" style="fill: rgb(2, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="296.8" cy="69.00000000000001" style="fill: rgb(34, 83, 225);"></circle><circle clip-path="url(#clip)" r="3" cx="280" cy="204.70000000000002" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="551.6" cy="195.50000000000003" style="fill: rgb(103, 119, 165);"></circle><circle clip-path="url(#clip)" r="3" cx="204.4" cy="177.1" style="fill: rgb(19, 75, 239);"></circle><circle clip-path="url(#clip)" r="3" cx="470.40000000000003" cy="36.80000000000003" style="fill: rgb(101, 118, 166);"></circle><circle clip-path="url(#clip)" r="3" cx="114.8" cy="177.1" style="fill: rgb(65, 99, 198);"></circle><circle clip-path="url(#clip)" r="3" cx="282.8" cy="223.1" style="fill: rgb(5, 68, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="50.599999999999994" style="fill: rgb(201, 84, 62);"></circle><circle clip-path="url(#clip)" r="3" cx="442.40000000000003" cy="101.19999999999999" style="fill: rgb(49, 91, 212);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="381.79999999999995" style="fill: rgb(249, 45, 7);"></circle><circle clip-path="url(#clip)" r="3" cx="560" cy="62.1" style="fill: rgb(147, 127, 124);"></circle><circle clip-path="url(#clip)" r="3" cx="428.40000000000003" cy="75.90000000000002" style="fill: rgb(55, 94, 207);"></circle><circle clip-path="url(#clip)" r="3" cx="145.6" cy="0" style="fill: rgb(133, 134, 139);"></circle><circle clip-path="url(#clip)" r="3" cx="316.40000000000003" cy="227.7" style="fill: rgb(5, 68, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="425.6" cy="282.9" style="fill: rgb(49, 91, 212);"></circle><circle clip-path="url(#clip)" r="3" cx="330.40000000000003" cy="220.79999999999998" style="fill: rgb(4, 67, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="42" cy="289.8" style="fill: rgb(150, 125, 120);"></circle><circle clip-path="url(#clip)" r="3" cx="520.8000000000001" cy="0" style="fill: rgb(162, 115, 106);"></circle><circle clip-path="url(#clip)" r="3" cx="291.2" cy="195.50000000000003" style="fill: rgb(1, 65, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="288.40000000000003" cy="181.70000000000002" style="fill: rgb(1, 65, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="70" cy="16.099999999999962" style="fill: rgb(166, 111, 101);"></circle><circle clip-path="url(#clip)" r="3" cx="540.4000000000001" cy="190.9" style="fill: rgb(94, 114, 173);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="0" style="fill: rgb(237, 54, 20);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="34.49999999999998" style="fill: rgb(211, 75, 50);"></circle><circle clip-path="url(#clip)" r="3" cx="145.6" cy="154.1" style="fill: rgb(48, 90, 213);"></circle><circle clip-path="url(#clip)" r="3" cx="238" cy="151.79999999999998" style="fill: rgb(11, 71, 245);"></circle><circle clip-path="url(#clip)" r="3" cx="324.79999999999995" cy="184" style="fill: rgb(0, 65, 255);"></circle><circle clip-path="url(#clip)" r="3" cx="232.40000000000003" cy="248.4" style="fill: rgb(21, 76, 237);"></circle><circle clip-path="url(#clip)" r="3" cx="470.40000000000003" cy="135.70000000000002" style="fill: rgb(52, 92, 210);"></circle><circle clip-path="url(#clip)" r="3" cx="560" cy="0" style="fill: rgb(190, 93, 75);"></circle><circle clip-path="url(#clip)" r="3" cx="254.79999999999998" cy="269.09999999999997" style="fill: rgb(24, 77, 234);"></circle><circle clip-path="url(#clip)" r="3" cx="350" cy="167.9" style="fill: rgb(4, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="260.40000000000003" cy="165.6" style="fill: rgb(5, 68, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="448" cy="250.70000000000002" style="fill: rgb(45, 89, 215);"></circle><circle clip-path="url(#clip)" r="3" cx="246.40000000000003" cy="98.90000000000003" style="fill: rgb(25, 78, 233);"></circle><circle clip-path="url(#clip)" r="3" cx="397.59999999999997" cy="0" style="fill: rgb(101, 118, 167);"></circle><circle clip-path="url(#clip)" r="3" cx="240.79999999999998" cy="236.9" style="fill: rgb(15, 73, 242);"></circle><circle clip-path="url(#clip)" r="3" cx="229.6" cy="190.9" style="fill: rgb(11, 71, 246);"></circle><circle clip-path="url(#clip)" r="3" cx="310.79999999999995" cy="165.6" style="fill: rgb(1, 65, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="487.19999999999993" cy="460" style="fill: rgb(237, 54, 20);"></circle><circle clip-path="url(#clip)" r="3" cx="106.4" cy="174.8" style="fill: rgb(71, 102, 193);"></circle><circle clip-path="url(#clip)" r="3" cx="434" cy="142.59999999999997" style="fill: rgb(32, 82, 227);"></circle><circle clip-path="url(#clip)" r="3" cx="498.40000000000003" cy="112.7" style="fill: rgb(76, 105, 189);"></circle><circle clip-path="url(#clip)" r="3" cx="403.2" cy="138.00000000000003" style="fill: rgb(21, 76, 236);"></circle><circle clip-path="url(#clip)" r="3" cx="308" cy="156.40000000000003" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="254.79999999999998" cy="186.3" style="fill: rgb(5, 68, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="170.79999999999998" cy="0" style="fill: rgb(120, 127, 150);"></circle><circle clip-path="url(#clip)" r="3" cx="201.6" cy="230" style="fill: rgb(25, 78, 233);"></circle><circle clip-path="url(#clip)" r="3" cx="417.2" cy="161" style="fill: rgb(22, 77, 236);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="206.99999999999997" style="fill: rgb(2, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="100.8" cy="276" style="fill: rgb(96, 115, 171);"></circle><circle clip-path="url(#clip)" r="3" cx="537.6" cy="57.5" style="fill: rgb(133, 134, 139);"></circle><circle clip-path="url(#clip)" r="3" cx="134.4" cy="66.69999999999996" style="fill: rgb(88, 111, 178);"></circle><circle clip-path="url(#clip)" r="3" cx="282.8" cy="179.4" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="389.20000000000005" cy="147.20000000000002" style="fill: rgb(15, 73, 242);"></circle><circle clip-path="url(#clip)" r="3" cx="560" cy="384.09999999999997" style="fill: rgb(203, 82, 59);"></circle><circle clip-path="url(#clip)" r="3" cx="154" cy="91.99999999999999" style="fill: rgb(63, 98, 200);"></circle><circle clip-path="url(#clip)" r="3" cx="98" cy="170.2" style="fill: rgb(77, 105, 188);"></circle><circle clip-path="url(#clip)" r="3" cx="316.40000000000003" cy="165.6" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="226.79999999999998" cy="193.20000000000002" style="fill: rgb(12, 71, 245);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="179.4" style="fill: rgb(161, 116, 107);"></circle><circle clip-path="url(#clip)" r="3" cx="436.8" cy="333.5" style="fill: rgb(86, 110, 180);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="96.59999999999998" style="fill: rgb(178, 102, 88);"></circle><circle clip-path="url(#clip)" r="3" cx="299.59999999999997" cy="138.00000000000003" style="fill: rgb(6, 68, 250);"></circle><circle clip-path="url(#clip)" r="3" cx="361.2" cy="177.1" style="fill: rgb(5, 68, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="282.8" cy="453.09999999999997" style="fill: rgb(181, 100, 85);"></circle><circle clip-path="url(#clip)" r="3" cx="560" cy="227.7" style="fill: rgb(115, 125, 154);"></circle><circle clip-path="url(#clip)" r="3" cx="5.59999999999998" cy="0" style="fill: rgb(232, 59, 26);"></circle><circle clip-path="url(#clip)" r="3" cx="249.20000000000002" cy="174.8" style="fill: rgb(6, 68, 250);"></circle><circle clip-path="url(#clip)" r="3" cx="294" cy="195.50000000000003" style="fill: rgb(1, 65, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="207.2" cy="202.40000000000003" style="fill: rgb(18, 75, 239);"></circle><circle clip-path="url(#clip)" r="3" cx="232.40000000000003" cy="368" style="fill: rgb(97, 116, 170);"></circle><circle clip-path="url(#clip)" r="3" cx="294" cy="305.90000000000003" style="fill: rgb(39, 85, 221);"></circle><circle clip-path="url(#clip)" r="3" cx="282.8" cy="181.70000000000002" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="322" cy="248.4" style="fill: rgb(11, 71, 245);"></circle><circle clip-path="url(#clip)" r="3" cx="123.20000000000002" cy="202.40000000000003" style="fill: rgb(60, 96, 202);"></circle><circle clip-path="url(#clip)" r="3" cx="266" cy="223.1" style="fill: rgb(7, 69, 249);"></circle><circle clip-path="url(#clip)" r="5" cx="288.40000000000003" cy="172.5" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="383.59999999999997" cy="131.09999999999997" style="fill: rgb(17, 74, 240);"></circle><circle clip-path="url(#clip)" r="3" cx="330.40000000000003" cy="126.50000000000001" style="fill: rgb(9, 70, 247);"></circle><circle clip-path="url(#clip)" r="3" cx="341.59999999999997" cy="184" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="197.79999999999998" style="fill: rgb(1, 65, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="252" cy="241.5" style="fill: rgb(14, 72, 243);"></circle><circle clip-path="url(#clip)" r="3" cx="305.20000000000005" cy="181.70000000000002" style="fill: rgb(0, 65, 255);"></circle><circle clip-path="url(#clip)" r="3" cx="294" cy="278.3" style="fill: rgb(23, 77, 235);"></circle><circle clip-path="url(#clip)" r="3" cx="394.79999999999995" cy="135.70000000000002" style="fill: rgb(19, 75, 238);"></circle><circle clip-path="url(#clip)" r="3" cx="260.40000000000003" cy="246.09999999999997" style="fill: rgb(14, 72, 243);"></circle><circle clip-path="url(#clip)" r="3" cx="299.59999999999997" cy="184" style="fill: rgb(0, 65, 255);"></circle><circle clip-path="url(#clip)" r="3" cx="0" cy="66.69999999999996" style="fill: rgb(192, 91, 72);"></circle><circle clip-path="url(#clip)" r="3" cx="327.59999999999997" cy="213.90000000000003" style="fill: rgb(3, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="333.2" cy="158.7" style="fill: rgb(3, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="229.6" cy="209.29999999999998" style="fill: rgb(12, 71, 244);"></circle><circle clip-path="url(#clip)" r="3" cx="448" cy="393.3" style="fill: rgb(145, 129, 125);"></circle><circle clip-path="url(#clip)" r="3" cx="487.19999999999993" cy="259.90000000000003" style="fill: rgb(71, 102, 193);"></circle><circle clip-path="url(#clip)" r="3" cx="176.4" cy="197.79999999999998" style="fill: rgb(31, 81, 228);"></circle><circle clip-path="url(#clip)" r="3" cx="386.40000000000003" cy="133.4" style="fill: rgb(17, 74, 240);"></circle><circle clip-path="url(#clip)" r="3" cx="252" cy="262.20000000000005" style="fill: rgb(21, 76, 236);"></circle><circle clip-path="url(#clip)" r="3" cx="324.79999999999995" cy="186.3" style="fill: rgb(1, 65, 255);"></circle><circle clip-path="url(#clip)" r="3" cx="324.79999999999995" cy="209.29999999999998" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="372.40000000000003" cy="69.00000000000001" style="fill: rgb(41, 87, 219);"></circle><circle clip-path="url(#clip)" r="3" cx="277.2" cy="170.2" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="319.20000000000005" cy="158.7" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="263.2" cy="177.1" style="fill: rgb(4, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="327.59999999999997" cy="138.00000000000003" style="fill: rgb(6, 68, 250);"></circle><circle clip-path="url(#clip)" r="3" cx="383.59999999999997" cy="133.4" style="fill: rgb(16, 74, 241);"></circle><circle clip-path="url(#clip)" r="3" cx="305.20000000000005" cy="163.29999999999998" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="8.40000000000002" cy="96.59999999999998" style="fill: rgb(170, 108, 97);"></circle><circle clip-path="url(#clip)" r="3" cx="498.40000000000003" cy="66.69999999999996" style="fill: rgb(98, 116, 169);"></circle><circle clip-path="url(#clip)" r="3" cx="252" cy="163.29999999999998" style="fill: rgb(7, 68, 249);"></circle><circle clip-path="url(#clip)" r="3" cx="285.6" cy="140.29999999999998" style="fill: rgb(6, 68, 250);"></circle><circle clip-path="url(#clip)" r="3" cx="308" cy="128.8" style="fill: rgb(8, 69, 248);"></circle><circle clip-path="url(#clip)" r="3" cx="523.6" cy="161" style="fill: rgb(82, 108, 183);"></circle><circle clip-path="url(#clip)" r="3" cx="333.2" cy="218.5" style="fill: rgb(4, 67, 251);"></circle><circle clip-path="url(#clip)" r="3" cx="313.59999999999997" cy="161" style="fill: rgb(1, 66, 254);"></circle><circle clip-path="url(#clip)" r="3" cx="176.4" cy="158.7" style="fill: rgb(32, 82, 227);"></circle><circle clip-path="url(#clip)" r="3" cx="330.40000000000003" cy="165.6" style="fill: rgb(2, 66, 253);"></circle><circle clip-path="url(#clip)" r="3" cx="221.20000000000002" cy="96.59999999999998" style="fill: rgb(33, 82, 226);"></circle><circle clip-path="url(#clip)" r="3" cx="344.4" cy="82.80000000000003" style="fill: rgb(29, 80, 230);"></circle><circle clip-path="url(#clip)" r="3" cx="240.79999999999998" cy="195.50000000000003" style="fill: rgb(8, 69, 248);"></circle><circle clip-path="url(#clip)" r="3" cx="355.6" cy="188.59999999999997" style="fill: rgb(4, 67, 252);"></circle><circle clip-path="url(#clip)" r="3" cx="123.20000000000002" cy="34.49999999999998" style="fill: rgb(117, 126, 153);"></circle><circle clip-path="url(#clip)" r="3" cx="369.59999999999997" cy="232.3" style="fill: rgb(13, 72, 244);"></circle><circle clip-path="url(#clip)" r="3" cx="246.40000000000003" cy="41.400000000000034" style="fill: rgb(59, 96, 203);"></circle></g></g><g class="x axis" transform="translate(0,460)"><text x="280" y="50" style="text-anchor: middle;">p1</text><g class="tick" transform="translate(0,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">-10</text></g><g class="tick" transform="translate(56,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">-8</text></g><g class="tick" transform="translate(112,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">-6</text></g><g class="tick" transform="translate(168,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">-4</text></g><g class="tick" transform="translate(224,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">-2</text></g><g class="tick" transform="translate(280,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">0</text></g><g class="tick" transform="translate(336,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">2</text></g><g class="tick" transform="translate(392,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">4</text></g><g class="tick" transform="translate(448,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">6</text></g><g class="tick" transform="translate(504,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">8</text></g><g class="tick" transform="translate(560,0)" style="opacity: 1;"><line y2="6" x2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".71em" y="9" x="0" style="text-anchor: middle;">10</text></g><path class="domain" d="M0,6V0H560V6" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></path></g><g class="y axis"><text transform="rotate(-90)" x="-230" y="-50" style="text-anchor: middle;">p2</text><g class="tick" transform="translate(0,460)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">-10</text></g><g class="tick" transform="translate(0,414)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">-8</text></g><g class="tick" transform="translate(0,368)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">-6</text></g><g class="tick" transform="translate(0,322)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">-4</text></g><g class="tick" transform="translate(0,276)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">-2</text></g><g class="tick" transform="translate(0,230)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">0</text></g><g class="tick" transform="translate(0,184)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">2</text></g><g class="tick" transform="translate(0,138.00000000000003)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">4</text></g><g class="tick" transform="translate(0,91.99999999999999)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">6</text></g><g class="tick" transform="translate(0,45.99999999999999)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">8</text></g><g class="tick" transform="translate(0,0)" style="opacity: 1;"><line x2="-6" y2="0" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></line><text dy=".32em" x="-9" y="0" style="text-anchor: end;">10</text></g><path class="domain" d="M-6,0H0V460H-6" style="fill: none; stroke: rgb(0, 0, 0); shape-rendering: crispEdges;"></path></g></g></svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment