coverband 5.2.1.rc.1 → 5.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -1
- data/changes.md +9 -0
- data/coverband.gemspec +1 -1
- data/diagram.svg +1 -1
- data/lib/coverband/adapters/hash_redis_store.rb +3 -3
- data/lib/coverband/integrations/background.rb +2 -0
- data/lib/coverband/version.rb +1 -1
- data/test/coverband/integrations/resque_worker_test.rb +37 -32
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 462b2cd367311f51a377ec76be8d73e4df260b6e473430c5eca87b5f834e6e98
|
4
|
+
data.tar.gz: f62521bd4123a1da8f07988d192e2655767d9357c0929d414d006260f6b32f41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48d7f783030a72a077b228d3358ed8cce0d04fd17f3b452efa30f7e6e9ba4b7904eb8c9ed2d2b5c6a54400f41af9e33c9b505c36a350157f9b97626315651233
|
7
|
+
data.tar.gz: 3c6b884f98122c7f5d383ddff9b31e424c4c69e12e13e868bd6c0ddab1a3913525d7d9bb3d832cd4f5fa8e5501c188da6aae957d3b0059f6a4e5cf7a683f3b68
|
data/README.md
CHANGED
@@ -251,7 +251,7 @@ end
|
|
251
251
|
|
252
252
|
### Avoiding Cache Stampede
|
253
253
|
|
254
|
-
If you have many servers and they all hit Redis at the same time you can see spikes in your Redis CPU, and memory. This is
|
254
|
+
If you have many servers and they all hit Redis at the same time you can see spikes in your Redis CPU, and memory. This is due to a concept called [cache stampede](https://en.wikipedia.org/wiki/Cache_stampede). It is better to spread out the reporting across your servers. A simple way to do this is to add a random wiggle on your background reporting. This configuration option allows a wiggle. The right amount of wiggle depends on the numbers of servers you have and how willing you are to have delays in your coverage reporting. I would recommend at least 1 second per server. Note, the default wiggle is set to 30 seconds.
|
255
255
|
|
256
256
|
Add a wiggle (in seconds) to the background thread to avoid all your servers reporting at the same time:
|
257
257
|
|
@@ -339,6 +339,10 @@ gem 'coverband', require: ['alternative_coverband_patch']
|
|
339
339
|
|
340
340
|
This conflict happens when a ruby method is patched twice, once using module prepend, and once using method aliasing. See this ruby issue for details. The fix is to apply all patches the same way. Coverband by default will apply its patch using prepend, but you can change that to method aliasing by adding require: ['alternative_coverband_patch'] to the gem line as shown above.
|
341
341
|
|
342
|
+
### Redis Sizing Info
|
343
|
+
|
344
|
+
A few folks have asked about what size of Redis is. needed to run coverband. I have some of our largest services with hundreds of servers on cache.m3.medium with plenty of room to spare. I run most apps on the smallest AWS Redis instances available and bump up only if needed or if I am forced to be on a shared Redis instance, which I try to avoid. On Heroku, I have used it with most of the 3rd party and also been fine on the smallest Redis instances, if you have hundreds of dynos you would likely need to scale up. Also note there is a tradeoff one can make, `Coverband::Adapters::HashRedisStore` will use LUA on Redis and increase the Redis load, while being nicer to your app servers and avoid potential lost data during race conditions. While the `Coverband::Adapters::RedisStore` uses in app memory and merging and has lower load on Redis.
|
345
|
+
|
342
346
|
# Newer Features
|
343
347
|
|
344
348
|
### Dead Method Scanning (ruby 2.6+)
|
data/changes.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
### Coverband 5.2.3
|
2
|
+
|
3
|
+
- fix for thread error bubbling up
|
4
|
+
- additional documentation around Redis
|
5
|
+
|
6
|
+
### Coverband 5.2.2
|
7
|
+
|
8
|
+
- fix for deprecated redis pipeline usage by @casperisfine
|
9
|
+
|
1
10
|
### Coverband 5.2.1
|
2
11
|
|
3
12
|
- fix for `can't add a new key into hash during iteration` https://github.com/danmayer/coverband/issues/436
|
data/coverband.gemspec
CHANGED
@@ -55,5 +55,5 @@ Gem::Specification.new do |spec|
|
|
55
55
|
# redis now. I was reluctant to add this, but until we offer another production
|
56
56
|
# quality adapter, I think this is more honest about requirements and reduces confusion
|
57
57
|
# without this there was a race condition on calling coverband configure before redis was loaded
|
58
|
-
spec.add_runtime_dependency "redis"
|
58
|
+
spec.add_runtime_dependency "redis", ">= 3.0"
|
59
59
|
end
|
data/diagram.svg
CHANGED
@@ -1 +1 @@
|
|
1
|
-
<svg width="1000" height="1000" style="background:white;font-family:sans-serif;overflow:visible" xmlns="http://www.w3.org/2000/svg"><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="4" result="coloredBlur"></feGaussianBlur><feMerge><feMergeNode in="coloredBlur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(320.00612713573406, 687.2198622231437)"><circle r="41.02836011911288" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(661.4430539975464, 565.1971458820385)"><circle r="305.55664287251915" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(288.90225953017944, 583.342381404345)"><circle r="51.431002761270165" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(198.2674333465526, 337.65351269934234)"><circle r="194.44335712748088" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(208.8559603568583, 675.5911309430885)"><circle r="54.71139231128383" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(467.62285005827374, 199.5050980291588)"><circle r="92.27321821656155" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(310.0453070999502, 685.7487861972327)"><circle style="transition:all 0.5s ease-out" r="13.301469568224098" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(345.97079193669504, 685.9103241587441)"><circle style="transition:all 0.5s ease-out" r="12.030692758975125" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(328.9012592327577, 706.7811828362729)"><circle style="transition:all 0.5s ease-out" r="11.745793973078548" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(328.9906330367501, 668.2014287736802)"><circle style="transition:all 0.5s ease-out" r="9.31760069097745" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(309.01852998732795, 660.327472933539)"><circle style="transition:all 0.5s ease-out" r="8.977923069056143" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(305.71931566689, 710.3858020752415)"><circle style="transition:all 0.5s ease-out" r="8.512461619911566" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(345.66018068614113, 666.4351119642287)"><circle style="transition:all 0.5s ease-out" r="4.2452658347361085" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(344.7727563464441, 702.5702159887434)"><circle style="transition:all 0.5s ease-out" r="1.4748230405423377" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(703.8139667594772, 527.1557713436447)"><circle style="transition:all 0.5s ease-out" r="16.536067250557842" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(778.8621990400645, 570.0854043526708)"><circle r="61.70172260960654" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(717.5497323686651, 693.1410767346827)"><circle r="61.86175651346099" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(725.4786248202122, 443.3503603598813)"><circle r="61.70172260960655" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(815.9255796199952, 665.2156778676149)"><circle r="26.457891906861885" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(830.9874716327288, 473.39307041316243)"><circle r="34.077322847649405" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(896.6002602399889, 619.8132053020164)"><circle r="52.168797786598724" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(853.6314842076881, 527.4166478938434)"><circle style="transition:all 0.5s ease-out" r="15.964332930227892" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(526.6781412802869, 561.9831724861978)"><circle r="155.78475878682949" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(917.8142998307578, 514.6164507209025)"><circle r="41.243377971831976" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(856.6144727025027, 560.7986085603115)"><circle style="transition:all 0.5s ease-out" r="8.027776443517636" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(871.1979721299496, 548.2872313784734)"><circle style="transition:all 0.5s ease-out" r="8.008399692008762" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(851.9451419704934, 574.3018675351781)"><circle style="transition:all 0.5s ease-out" r="3.073460851218337" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(718.5717760925035, 611.372467138263)"><circle style="transition:all 0.5s ease-out" r="2.7982799722851834" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(792.2671086813739, 498.57330372624637)"><circle style="transition:all 0.5s ease-out" r="2.3911113739020915" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(728.3581505248196, 518.041146589911)"><circle style="transition:all 0.5s ease-out" r="2.173265009607865" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(271.09659053239136, 583.342381404345)"><circle r="29.927086668478605" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(320.67846974615975, 583.342381404345)"><circle style="transition:all 0.5s ease-out" r="15.956545450286352" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(304.5879348819669, 601.0046961046318)"><circle style="transition:all 0.5s ease-out" r="4.2379400901324145" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(24.10530148796255, 337.65351269934234)"><circle style="transition:all 0.5s ease-out" r="16.582978173887366" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(216.6995350679417, 337.65351269934234)"><circle r="172.31300831108828" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(39.162058795060716, 354.5160683323725)"><circle style="transition:all 0.5s ease-out" r="2.325227860290965" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(181.6174925329217, 668.8661822807057)"><circle style="transition:all 0.5s ease-out" r="23.655037168334218" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(235.25964076788532, 666.0924002361269)"><circle style="transition:all 0.5s ease-out" r="23.65109608528102" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(210.66402066765136, 709.4689523573954)"><circle r="17.785357089538007" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.5175141387861, 634.3371548057266)"><circle style="transition:all 0.5s ease-out" r="9.557945701792354" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(196.00848014520005, 637.0406468104854)"><circle style="transition:all 0.5s ease-out" r="8.050966987092512" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(207.80242421434411, 655.7034054899063)"><circle style="transition:all 0.5s ease-out" r="2.590703843132601" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(208.55003338501703, 680.6847390060004)"><circle style="transition:all 0.5s ease-out" r="2.578681950686416" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(235.94393651106697, 695.4894819767502)"><circle style="transition:all 0.5s ease-out" r="2.5666037486861444" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(211.85180233036147, 648.3994953853786)"><circle style="transition:all 0.5s ease-out" r="2.5544684383925436" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(232.6083316194594, 636.799561572871)"><circle style="transition:all 0.5s ease-out" r="2.530023202006531" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(203.0751171993935, 648.8406831768349)"><circle style="transition:all 0.5s ease-out" r="2.517711580516173" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#f1e05a;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(414.79764353617486, 225.18973221407245)"><circle style="transition:all 0.5s ease-out" r="30.53479061320098" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#563d7c;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(512.7910567200302, 234.72113105345306)"><circle style="transition:all 0.5s ease-out" r="30.531737592085197" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(459.1689427145097, 257.52296748208977)"><circle style="transition:all 0.5s ease-out" r="21.235110665819438" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#f1e05a;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(463.62162140235665, 209.85675505439912)"><circle style="transition:all 0.5s ease-out" r="17.643364541120967" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(429.97707922932756, 163.47274453132013)"><circle r="24.555321990630024" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(500.1865499855529, 164.97508910938438)"><circle r="31.81043206832132" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(450.8113175809985, 229.50956510873348)"><circle style="transition:all 0.5s ease-out" r="2.614581802674051" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(477.0786898934024, 228.88295829986134)"><circle style="transition:all 0.5s ease-out" r="2.578681950686416" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(469.5034581256702, 232.54388794737457)"><circle style="transition:all 0.5s ease-out" r="2.5666037486861444" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(432.1882475860826, 257.02682062638047)"><circle style="transition:all 0.5s ease-out" r="2.5544684383925436" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(476.72794923767975, 237.1965299803462)"><circle style="transition:all 0.5s ease-out" r="2.542275202002629" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(320.1615724594394, 804.9875239262728)"><circle style="transition:all 0.5s ease-out" r="30.541913142306747" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(392.23035259112, 805.8219336390632)"><circle style="transition:all 0.5s ease-out" r="29.283952850675167" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(367.34422716445727, 852.8636618355339)"><circle style="transition:all 0.5s ease-out" r="14.435195443346567" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(357.5205254400021, 775.1921244857833)"><circle style="transition:all 0.5s ease-out" r="13.861991692422615" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(331.95801662079356, 760.1979925812761)"><circle style="transition:all 0.5s ease-out" r="12.576210123344019" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(343.2575132663266, 841.0833119950216)"><circle style="transition:all 0.5s ease-out" r="9.162913064921083" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#cb171e;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(381.75146532305627, 765.7569764071274)"><circle style="transition:all 0.5s ease-out" r="8.943245754961069" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(356.66117873557556, 825.4561565122851)"><circle style="transition:all 0.5s ease-out" r="8.226589586727627" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#199f4b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(323.5059960183611, 846.7736839717282)"><circle style="transition:all 0.5s ease-out" r="8.192524887250588" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(398.08984669972006, 769.2095819314433)"><circle style="transition:all 0.5s ease-out" r="4.555951844425858" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000000;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(392.4529209350979, 842.494046836109)"><circle style="transition:all 0.5s ease-out" r="4.1937168964290805" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(356.73506157778695, 803.2215968544747)"><circle style="transition:all 0.5s ease-out" r="3.278905824283532" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(314.742802057446, 768.344908753919)"><circle style="transition:all 0.5s ease-out" r="3.269415483613904" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(369.17410173034506, 832.4259130160951)"><circle style="transition:all 0.5s ease-out" r="2.896494951407224" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(382.798077666883, 839.6427821647144)"><circle style="transition:all 0.5s ease-out" r="2.6733437869089967" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(359.28695687171626, 794.6203582125373)"><circle style="transition:all 0.5s ease-out" r="2.4929059353720087" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(352.7091556518035, 792.7536887180717)"><circle style="transition:all 0.5s ease-out" r="1.142393014924692" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(753.5596362032686, 535.6407941484)"><circle style="transition:all 0.5s ease-out" r="15.962386416420713" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(798.663927272489, 548.1192330205217)"><circle r="19.787384039127627" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(766.2883984415773, 588.9606368525184)"><circle r="36.021888760704144" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(769.0371260106745, 545.4545693588735)"><circle style="transition:all 0.5s ease-out" r="3.755941507256401" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(778.6753794152045, 548.3701311197663)"><circle style="transition:all 0.5s ease-out" r="3.113638515318736" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(696.0239805223454, 656.0331535622186)"><circle style="transition:all 0.5s ease-out" r="15.962386416420713" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(737.5020999043074, 671.8422464849526)"><circle r="20.304869232203533" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(703.4897781061118, 711.1561413592167)"><circle r="36.00951663875224" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(711.4775362285071, 668.637710226765)"><circle style="transition:all 0.5s ease-out" r="3.755941507256401" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(719.0744447884382, 673.369965605528)"><circle style="transition:all 0.5s ease-out" r="1.9943247482976065" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(700.1760619834164, 408.90575015561035)"><circle style="transition:all 0.5s ease-out" r="15.962386416420713" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(745.2803530526367, 421.38418902773225)"><circle r="19.787384039127627" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(712.9048242217251, 462.2255928597289)"><circle r="36.021888760704144" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(715.6535517908222, 418.7195253660841)"><circle style="transition:all 0.5s ease-out" r="3.755941507256401" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(725.2918051953521, 421.6350871269768)"><circle style="transition:all 0.5s ease-out" r="3.113638515318736" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(803.6657752472271, 665.2156778676149)"><circle style="transition:all 0.5s ease-out" r="10.499840439090226" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(828.2745436065871, 665.2156778676149)"><circle style="transition:all 0.5s ease-out" r="10.41068082526645" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(814.8825126291322, 471.90146473333544)"><circle style="transition:all 0.5s ease-out" r="14.205189639172145" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(842.9458791781934, 471.90146473333544)"><circle style="transition:all 0.5s ease-out" r="10.15992981488562" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(832.663483767615, 493.57336789975994)"><circle style="transition:all 0.5s ease-out" r="10.129299869346372" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(832.4682487822087, 451.839688777434)"><circle style="transition:all 0.5s ease-out" r="8.774887248983598" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(884.8899766088306, 619.8145418044999)"><circle r="37.45851407917242" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(936.6061057709903, 619.8692027466999)"><circle style="transition:all 0.5s ease-out" r="9.162913064921083" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(931.2311553367786, 633.1154808281372)"><circle style="transition:all 0.5s ease-out" r="3.0633340993018727" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(930.7492409079523, 607.9361807812561)"><circle style="transition:all 0.5s ease-out" r="2.2297228532018036" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(927.9986814777565, 601.2905429812851)"><circle style="transition:all 0.5s ease-out" r="1.7627506917617402" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(927.1411380544627, 639.8270113763991)"><circle style="transition:all 0.5s ease-out" r="1.596238641642071" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(924.6831244424144, 596.1969734465586)"><circle style="transition:all 0.5s ease-out" r="1.1148614266009016" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(509.4249285356709, 562.1946222515398)"><circle style="transition:all 0.5s ease-out" r="16.91506025174909" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(594.3124503916213, 565.9835650658096)"><circle r="57.33198252525729" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(458.0907571193274, 593.129206614701)"><circle r="35.252814814403905" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(414.88568361282705, 523.3619964530683)"><circle r="34.50902657809285" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(524.6137748126333, 653.8856447809602)"><circle r="42.50018379580438" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(504.25999184598646, 488.51027072087953)"><circle r="49.115071088006374" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(583.0010716685043, 639.976747361837)"><circle style="transition:all 0.5s ease-out" r="9.751055021892693" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(527.6526899395637, 545.4475095935842)"><circle style="transition:all 0.5s ease-out" r="4.670457772978104" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(907.9869266011095, 514.4932006928734)"><circle style="transition:all 0.5s ease-out" r="26.6938896210276" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(946.8516863127405, 512.6733510830553)"><circle style="transition:all 0.5s ease-out" r="9.002117708299163" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(941.3453524686072, 531.7603643529651)"><circle style="transition:all 0.5s ease-out" r="7.663405315177631" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(934.2807649769983, 492.7714582676559)"><circle style="transition:all 0.5s ease-out" r="4.201119756376969" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(937.438579361238, 501.8101004126548)"><circle style="transition:all 0.5s ease-out" r="2.173265009607865" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000000;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(930.215575674129, 536.031153298642)"><circle style="transition:all 0.5s ease-out" r="1.057650415057044" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(259.5187438703285, 583.342381404345)"><circle style="transition:all 0.5s ease-out" r="14.65099291141227" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(287.5967069913054, 583.342381404345)"><circle style="transition:all 0.5s ease-out" r="9.728723114561118" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(277.2354541695483, 598.6899217127464)"><circle style="transition:all 0.5s ease-out" r="5.090657974259925" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(276.74830482283, 571.9396680396128)"><circle style="transition:all 0.5s ease-out" r="2.3118258589796876" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(145.25770319262406, 347.7543374102044)"><circle style="transition:all 0.5s ease-out" r="23.17598217176223" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(238.1868617862446, 347.7543374102044)"><circle r="66.05492932685485" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(150.4031362089642, 415.6689140940736)"><circle r="41.23498602070316" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(157.28916806113872, 295.9475676297178)"><circle r="26.311271971547786" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(227.17287036599689, 461.4004553176366)"><circle r="44.42540354143982" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(207.22035577093106, 225.65294906289324)"><circle r="56.21377770158369" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(127.76804995506325, 318.54725671525404)"><circle style="transition:all 0.5s ease-out" r="7.169001089524915" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(248.68869763442007, 274.54949216731)"><circle style="transition:all 0.5s ease-out" r="4.201119756376969" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(207.52084777414646, 708.694654095818)"><circle style="transition:all 0.5s ease-out" r="2.5666037486861444" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(215.57240372456067, 710.7954246705635)"><circle style="transition:all 0.5s ease-out" r="2.5544684383925436" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(209.7443295886597, 716.7004755537)"><circle style="transition:all 0.5s ease-out" r="2.542275202002629" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(213.36419138389064, 702.8048897808061)"><circle style="transition:all 0.5s ease-out" r="2.530023202006531" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(200.14763069230088, 704.9177037219811)"><circle style="transition:all 0.5s ease-out" r="2.517711580516173" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(201.69567670979723, 714.5676526516689)"><circle style="transition:all 0.5s ease-out" r="2.5053394585642716" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(221.3206479684425, 704.8812717823117)"><circle style="transition:all 0.5s ease-out" r="2.4929059353720087" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(425.64221289616967, 162.4417101302195)"><circle style="transition:all 0.5s ease-out" r="2.6382436587484763" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(434.10386655575115, 162.67105152186505)"><circle style="transition:all 0.5s ease-out" r="2.6264393773510966" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(429.68911749605496, 169.8654956810905)"><circle style="transition:all 0.5s ease-out" r="2.614581802674051" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(430.08317061578765, 155.26282973053543)"><circle style="transition:all 0.5s ease-out" r="2.602670206316613" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(421.694430184682, 154.9880144338188)"><circle style="transition:all 0.5s ease-out" r="2.590703843132601" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(421.2980568094946, 169.65093653011388)"><circle style="transition:all 0.5s ease-out" r="2.578681950686416" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(438.44925132512213, 155.48975873655468)"><circle style="transition:all 0.5s ease-out" r="2.5666037486861444" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(438.3144201485417, 169.9172836272831)"><circle style="transition:all 0.5s ease-out" r="2.5544684383925436" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(417.27084542557867, 162.04988626374876)"><circle style="transition:all 0.5s ease-out" r="2.542275202002629" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(413.00481685301054, 169.1373344007977)"><circle style="transition:all 0.5s ease-out" r="2.530023202006531" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(442.4476913074979, 162.74504497757232)"><circle style="transition:all 0.5s ease-out" r="2.517711580516173" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(446.5766610043661, 169.85631614604367)"><circle style="transition:all 0.5s ease-out" r="2.5053394585642716" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(434.49575079210956, 148.23812350808512)"><circle style="transition:all 0.5s ease-out" r="2.4929059353720087" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(495.7269340955641, 164.9374030222777)"><circle style="transition:all 0.5s ease-out" r="23.652409852596865" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(525.607614245171, 164.9374030222777)"><circle style="transition:all 0.5s ease-out" r="2.530023202006531" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(524.3065986094563, 173.5735652300114)"><circle style="transition:all 0.5s ease-out" r="2.5053394585642716" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(524.297809462657, 156.31514541142144)"><circle style="transition:all 0.5s ease-out" r="2.4929059353720087" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(794.3115613128424, 548.388436942926)"><circle style="transition:all 0.5s ease-out" r="4.480300593536103" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(806.090997584447, 549.4891618456534)"><circle style="transition:all 0.5s ease-out" r="4.149022367647345" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#cb171e;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(799.6722206022181, 557.8141231135595)"><circle style="transition:all 0.5s ease-out" r="3.1631430262014573" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(801.3136512701137, 540.2001579826486)"><circle style="transition:all 0.5s ease-out" r="3.09361490881202" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(788.3084762609665, 539.7064741966078)"><circle style="transition:all 0.5s ease-out" r="2.874959374230404" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(788.3068341671309, 556.6463946748052)"><circle style="transition:all 0.5s ease-out" r="2.530023202006531" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(809.9366658474975, 540.5975789120288)"><circle style="transition:all 0.5s ease-out" r="2.3385530574052478" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(749.1121721239189, 588.9606368525184)"><circle r="9.230219996036654" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(780.3263396611185, 588.9606368525184)"><circle r="12.368505094153935" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(729.4399067074291, 672.5408595467397)"><circle style="transition:all 0.5s ease-out" r="7.059811018784864" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(748.672961964086, 671.6170669833243)"><circle style="transition:all 0.5s ease-out" r="6.13173784630496" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(740.2393797952969, 682.438649202839)"><circle style="transition:all 0.5s ease-out" r="4.38921382574377" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(739.2477133163064, 661.9911233336304)"><circle style="transition:all 0.5s ease-out" r="4.141526386154246" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(730.0658421306389, 660.3025268945792)"><circle style="transition:all 0.5s ease-out" r="1.9943247482976065" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(686.3259239104052, 711.1561413592167)"><circle r="9.230219996036654" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(717.5277193256529, 711.1561413592167)"><circle r="12.35613297220203" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(740.9279870929902, 421.6533929501368)"><circle style="transition:all 0.5s ease-out" r="4.480300593536103" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(752.7074233645948, 422.7541178528639)"><circle style="transition:all 0.5s ease-out" r="4.149022367647345" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#cb171e;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(746.2886463823661, 431.0790791207701)"><circle style="transition:all 0.5s ease-out" r="3.1631430262014573" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(747.9300770502614, 413.46511398985916)"><circle style="transition:all 0.5s ease-out" r="3.09361490881202" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(734.9249020411144, 412.9714302038184)"><circle style="transition:all 0.5s ease-out" r="2.874959374230404" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(734.9232599472784, 429.9113506820158)"><circle style="transition:all 0.5s ease-out" r="2.530023202006531" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(756.553091627645, 413.86253491923924)"><circle style="transition:all 0.5s ease-out" r="2.3385530574052478" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(695.7285979040666, 462.2255928597289)"><circle r="9.230219996036654" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(726.9427654412663, 462.2255928597289)"><circle r="12.368505094153935" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(867.086255074948, 619.8145418044999)"><circle style="transition:all 0.5s ease-out" r="15.956545450286352" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(902.6956456066187, 619.8145418044999)"><circle style="transition:all 0.5s ease-out" r="15.954597986380852" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(580.3985974226803, 567.2505525402743)"><circle style="transition:all 0.5s ease-out" r="16.95542600234146" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(615.5545821073408, 566.3818509002894)"><circle style="transition:all 0.5s ease-out" r="15.011351401347813" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(600.5794310987294, 595.879613408147)"><circle style="transition:all 0.5s ease-out" r="14.869927924942006" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(599.1052831344834, 539.3232677931717)"><circle style="transition:all 0.5s ease-out" r="13.454765530328514" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(569.36668124332, 535.6573946180355)"><circle style="transition:all 0.5s ease-out" r="13.308475873460122" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(568.5312068735408, 596.4887631787901)"><circle style="transition:all 0.5s ease-out" r="11.399424014161312" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(626.7590081078288, 539.4140266471192)"><circle style="transition:all 0.5s ease-out" r="10.99142553315067" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(628.5411640038969, 591.6545739409814)"><circle style="transition:all 0.5s ease-out" r="10.202657254057275" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(552.5682365265502, 555.9939497900814)"><circle style="transition:all 0.5s ease-out" r="9.865106326893764" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(553.1673695732865, 578.277624832587)"><circle style="transition:all 0.5s ease-out" r="9.223751960876431" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(639.3524486248735, 557.3512787898463)"><circle style="transition:all 0.5s ease-out" r="7.242310074972877" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(639.12974698968, 574.5259712391785)"><circle style="transition:all 0.5s ease-out" r="6.730846025504424" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(443.1279472755571, 589.7088549887079)"><circle style="transition:all 0.5s ease-out" r="16.20580608641313" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(476.178386647584, 589.7088549887079)"><circle style="transition:all 0.5s ease-out" r="13.146386190610224" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(462.3452575333221, 613.5371221746896)"><circle style="transition:all 0.5s ease-out" r="10.707894333070794" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(462.00715344906456, 570.4633844599538)"><circle style="transition:all 0.5s ease-out" r="7.055408267487435" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(405.5669969338585, 526.6734910382361)"><circle style="transition:all 0.5s ease-out" r="10.371806971074559" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(436.4675237211515, 522.2722882384153)"><circle style="transition:all 0.5s ease-out" r="9.899693259955423" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(423.6077246539719, 540.2193604303922)"><circle style="transition:all 0.5s ease-out" r="8.988300174892293" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(419.1810429974093, 509.1329499380173)"><circle style="transition:all 0.5s ease-out" r="8.62487812269121" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(399.72855800316916, 506.0403913677029)"><circle style="transition:all 0.5s ease-out" r="7.871426975209228" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(408.7064085222642, 542.8940167350438)"><circle style="transition:all 0.5s ease-out" r="2.949646081084676" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(506.42345303817325, 644.0395112565723)"><circle style="transition:all 0.5s ease-out" r="18.117784515166804" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(544.6851078263724, 644.0395112565723)"><circle style="transition:all 0.5s ease-out" r="16.445623178028775" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(527.1882488770407, 676.1313150264031)"><circle style="transition:all 0.5s ease-out" r="16.40779100650647" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(485.9731269470969, 488.27720333997144)"><circle style="transition:all 0.5s ease-out" r="19.06380440921506" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(534.2784964584923, 486.02063368609726)"><circle style="transition:all 0.5s ease-out" r="15.99350220894569" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(513.5526324378004, 512.4812144881761)"><circle style="transition:all 0.5s ease-out" r="14.426582557470393" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(511.1976439682404, 467.82133526899156)"><circle style="transition:all 0.5s ease-out" r="10.208746575550782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(490.83327163021863, 456.4822124281175)"><circle style="transition:all 0.5s ease-out" r="9.899693259955423" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(488.9917656387054, 517.9160951748636)"><circle style="transition:all 0.5s ease-out" r="7.528410829904972" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(218.93456647739896, 348.95346774867727)"><circle style="transition:all 0.5s ease-out" r="23.242922355571967" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(263.9351146143282, 348.95346774867727)"><circle style="transition:all 0.5s ease-out" r="18.059378686353792" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(245.79475504059423, 379.18737663918176)"><circle style="transition:all 0.5s ease-out" r="13.500875211505324" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(245.67652815520734, 319.99725473301277)"><circle style="transition:all 0.5s ease-out" r="12.474497315139766" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(219.20676560046564, 309.8311201792327)"><circle style="transition:all 0.5s ease-out" r="12.182125038859112" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.85334832909015, 387.9696099446971)"><circle style="transition:all 0.5s ease-out" r="12.089951267952136" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(273.5461571960082, 316.7072627926079)"><circle style="transition:all 0.5s ease-out" r="11.890403485981688" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(274.11469022449046, 380.2367931703688)"><circle style="transition:all 0.5s ease-out" r="11.14024966740788" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(194.96164799158748, 320.20519148937746)"><circle style="transition:all 0.5s ease-out" r="10.490958576139553" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(194.7097295808662, 376.751245947732)"><circle style="transition:all 0.5s ease-out" r="9.931031398674971" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(239.82245273904243, 294.9614051717944)"><circle style="transition:all 0.5s ease-out" r="9.538419745338016" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(236.49583067150013, 402.33674439957764)"><circle style="transition:all 0.5s ease-out" r="7.7480863976366114" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(286.93538480073465, 333.5474011873252)"><circle style="transition:all 0.5s ease-out" r="5.925569762880476" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(285.9540780332441, 364.2512866572633)"><circle style="transition:all 0.5s ease-out" r="5.0539018402358575" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(132.7815798274131, 415.6689140940736)"><circle style="transition:all 0.5s ease-out" r="19.915182544148596" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(172.16744230061454, 415.6689140940736)"><circle style="transition:all 0.5s ease-out" r="15.772432834049347" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(155.7260393865442, 439.3651503492228)"><circle style="transition:all 0.5s ease-out" r="9.3708065521022" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(155.31546154243387, 397.2863936896255)"><circle style="transition:all 0.5s ease-out" r="5.467369551490778" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(149.09952327779519, 295.90826067905243)"><circle style="transition:all 0.5s ease-out" r="10.208746575550782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(169.93751279456075, 295.90826067905243)"><circle style="transition:all 0.5s ease-out" r="6.930995846211308" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(162.46249084986022, 311.26251712993724)"><circle style="transition:all 0.5s ease-out" r="6.447909755686791" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(162.12403303662282, 283.19141081459196)"><circle style="transition:all 0.5s ease-out" r="4.2961962953012955" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(151.30362831345965, 278.2281554238702)"><circle style="transition:all 0.5s ease-out" r="3.909970179736407" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(205.3859573359487, 457.9701469690593)"><circle style="transition:all 0.5s ease-out" r="18.671848814367277" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(243.05039178277679, 457.9701469690593)"><circle style="transition:all 0.5s ease-out" r="15.294338537457342" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(227.37547914039808, 487.5993668659219)"><circle style="transition:all 0.5s ease-out" r="14.527461474350465" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(227.09619780504383, 432.08644417178897)"><circle style="transition:all 0.5s ease-out" r="11.413045029910652" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(195.4949717848822, 225.25565528648127)"><circle style="transition:all 0.5s ease-out" r="19.712881259810555" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(237.16227513721788, 225.25565528648127)"><circle style="transition:all 0.5s ease-out" r="18.256174997521647" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.7249332280996, 259.31035007471127)"><circle style="transition:all 0.5s ease-out" r="17.256960153086474" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.64206569946936, 194.0110563317906)"><circle style="transition:all 0.5s ease-out" r="14.886635714397634" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(187.07262029166048, 190.69162712344013)"><circle style="transition:all 0.5s ease-out" r="12.16425706166288" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(190.03876620617808, 255.20722078859342)"><circle style="transition:all 0.5s ease-out" r="7.033353170486991" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(242.86209766288516, 197.05345644503836)"><circle style="transition:all 0.5s ease-out" r="6.817995190636699" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(745.669318783846, 587.1343190816833)"><circle style="transition:all 0.5s ease-out" r="1.6347077418069518" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#2b2b2b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(752.5985122622985, 587.1343190816833)"><circle style="transition:all 0.5s ease-out" r="1.596238641642071" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ece2a9;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(749.1717199151203, 592.9964269045536)"><circle style="transition:all 0.5s ease-out" r="1.4957435612232048" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(775.9595045331006, 588.9606368525184)"><circle style="transition:all 0.5s ease-out" r="4.303422871132548" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(786.4788860797528, 588.9606368525184)"><circle style="transition:all 0.5s ease-out" r="2.517711580516173" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(682.8830705703324, 709.3298235883816)"><circle style="transition:all 0.5s ease-out" r="1.6347077418069518" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#2b2b2b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(689.8122640487849, 709.3298235883816)"><circle style="transition:all 0.5s ease-out" r="1.596238641642071" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ece2a9;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(686.3854717016067, 715.1919314112519)"><circle style="transition:all 0.5s ease-out" r="1.4957435612232048" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(713.1732563195869, 711.1561413592167)"><circle style="transition:all 0.5s ease-out" r="4.303422871132548" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(723.6802657442872, 711.1561413592167)"><circle style="transition:all 0.5s ease-out" r="2.5053394585642716" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(692.2857445639938, 460.39927508889383)"><circle style="transition:all 0.5s ease-out" r="1.6347077418069518" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#2b2b2b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(699.2149380424463, 460.39927508889383)"><circle style="transition:all 0.5s ease-out" r="1.596238641642071" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ece2a9;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(695.7881456952681, 466.2613829117641)"><circle style="transition:all 0.5s ease-out" r="1.4957435612232048" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(722.5759303132484, 462.2255928597289)"><circle style="transition:all 0.5s ease-out" r="4.303422871132548" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(733.0953118599006, 462.2255928597289)"><circle style="transition:all 0.5s ease-out" r="2.517711580516173" stroke-width="0" stroke="#374151"></circle></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(320.00612713573406, 687.2198622231437)"><path fill="none" d="M 0 46.02836011911288 A 46.02836011911288 46.02836011911288 0 0 1 0 -46.02836011911288 A 46.02836011911288 46.02836011911288 0 0 1 0 46.02836011911288" id="CircleText--1" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--1" startOffset="50%">views</textPath></text><path fill="none" d="M 0 46.02836011911288 A 46.02836011911288 46.02836011911288 0 0 1 0 -46.02836011911288 A 46.02836011911288 46.02836011911288 0 0 1 0 46.02836011911288" id="CircleText--2" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--2" startOffset="50%">views</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(661.4430539975464, 565.1971458820385)"><path fill="none" d="M 0 310.55664287251915 A 310.55664287251915 310.55664287251915 0 0 1 0 -310.55664287251915 A 310.55664287251915 310.55664287251915 0 0 1 0 310.55664287251915" id="CircleText--3" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--3" startOffset="50%">test</textPath></text><path fill="none" d="M 0 310.55664287251915 A 310.55664287251915 310.55664287251915 0 0 1 0 -310.55664287251915 A 310.55664287251915 310.55664287251915 0 0 1 0 310.55664287251915" id="CircleText--4" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--4" startOffset="50%">test</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(288.90225953017944, 583.342381404345)"><path fill="none" d="M 0 56.431002761270165 A 56.431002761270165 56.431002761270165 0 0 1 0 -56.431002761270165 A 56.431002761270165 56.431002761270165 0 0 1 0 56.431002761270165" id="CircleText--5" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--5" startOffset="50%">lua</textPath></text><path fill="none" d="M 0 56.431002761270165 A 56.431002761270165 56.431002761270165 0 0 1 0 -56.431002761270165 A 56.431002761270165 56.431002761270165 0 0 1 0 56.431002761270165" id="CircleText--6" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--6" startOffset="50%">lua</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(198.2674333465526, 337.65351269934234)"><path fill="none" d="M 0 199.44335712748088 A 199.44335712748088 199.44335712748088 0 0 1 0 -199.44335712748088 A 199.44335712748088 199.44335712748088 0 0 1 0 199.44335712748088" id="CircleText--7" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--7" startOffset="50%">lib</textPath></text><path fill="none" d="M 0 199.44335712748088 A 199.44335712748088 199.44335712748088 0 0 1 0 -199.44335712748088 A 199.44335712748088 199.44335712748088 0 0 1 0 199.44335712748088" id="CircleText--8" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--8" startOffset="50%">lib</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(208.8559603568583, 675.5911309430885)"><path fill="none" d="M 0 59.71139231128383 A 59.71139231128383 59.71139231128383 0 0 1 0 -59.71139231128383 A 59.71139231128383 59.71139231128383 0 0 1 0 59.71139231128383" id="CircleText--9" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--9" startOffset="50%">docs</textPath></text><path fill="none" d="M 0 59.71139231128383 A 59.71139231128383 59.71139231128383 0 0 1 0 -59.71139231128383 A 59.71139231128383 59.71139231128383 0 0 1 0 59.71139231128383" id="CircleText--10" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--10" startOffset="50%">docs</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(467.62285005827374, 199.5050980291588)"><path fill="none" d="M 0 97.27321821656155 A 97.27321821656155 97.27321821656155 0 0 1 0 -97.27321821656155 A 97.27321821656155 97.27321821656155 0 0 1 0 97.27321821656155" id="CircleText--11" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--11" startOffset="50%">public</textPath></text><path fill="none" d="M 0 97.27321821656155 A 97.27321821656155 97.27321821656155 0 0 1 0 -97.27321821656155 A 97.27321821656155 97.27321821656155 0 0 1 0 97.27321821656155" id="CircleText--12" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--12" startOffset="50%">public</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(778.8621990400645, 570.0854043526708)"><path fill="none" d="M 0 62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 -62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 62.70172260960655" id="CircleText--13" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--13" startOffset="50%">rails6_dummy</textPath></text><path fill="none" d="M 0 62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 -62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 62.70172260960655" id="CircleText--14" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--14" startOffset="50%">rails6_dummy</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(717.5497323686651, 693.1410767346827)"><path fill="none" d="M 0 62.86175651346099 A 62.86175651346099 62.86175651346099 0 0 1 0 -62.86175651346099 A 62.86175651346099 62.86175651346099 0 0 1 0 62.86175651346099" id="CircleText--15" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--15" startOffset="50%">rails5_dummy</textPath></text><path fill="none" d="M 0 62.86175651346099 A 62.86175651346099 62.86175651346099 0 0 1 0 -62.86175651346099 A 62.86175651346099 62.86175651346099 0 0 1 0 62.86175651346099" id="CircleText--16" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--16" startOffset="50%">rails5_dummy</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(725.4786248202122, 443.3503603598813)"><path fill="none" d="M 0 62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 -62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 62.70172260960655" id="CircleText--17" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--17" startOffset="50%">rails4_dummy</textPath></text><path fill="none" d="M 0 62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 -62.70172260960655 A 62.70172260960655 62.70172260960655 0 0 1 0 62.70172260960655" id="CircleText--18" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--18" startOffset="50%">rails4_dummy</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(815.9255796199952, 665.2156778676149)"><path fill="none" d="M 0 27.45789190686189 A 27.45789190686189 27.45789190686189 0 0 1 0 -27.45789190686189 A 27.45789190686189 27.45789190686189 0 0 1 0 27.45789190686189" id="CircleText--19" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--19" startOffset="50%">integration</textPath></text><path fill="none" d="M 0 27.45789190686189 A 27.45789190686189 27.45789190686189 0 0 1 0 -27.45789190686189 A 27.45789190686189 27.45789190686189 0 0 1 0 27.45789190686189" id="CircleText--20" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--20" startOffset="50%">integration</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(830.9874716327288, 473.39307041316243)"><path fill="none" d="M 0 35.077322847649405 A 35.077322847649405 35.077322847649405 0 0 1 0 -35.077322847649405 A 35.077322847649405 35.077322847649405 0 0 1 0 35.077322847649405" id="CircleText--21" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--21" startOffset="50%">forked</textPath></text><path fill="none" d="M 0 35.077322847649405 A 35.077322847649405 35.077322847649405 0 0 1 0 -35.077322847649405 A 35.077322847649405 35.077322847649405 0 0 1 0 35.077322847649405" id="CircleText--22" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--22" startOffset="50%">forked</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(896.6002602399889, 619.8132053020164)"><path fill="none" d="M 0 53.16879778659873 A 53.16879778659873 53.16879778659873 0 0 1 0 -53.16879778659873 A 53.16879778659873 53.16879778659873 0 0 1 0 53.16879778659873" id="CircleText--23" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--23" startOffset="50%">fixtures</textPath></text><path fill="none" d="M 0 53.16879778659873 A 53.16879778659873 53.16879778659873 0 0 1 0 -53.16879778659873 A 53.16879778659873 53.16879778659873 0 0 1 0 53.16879778659873" id="CircleText--24" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--24" startOffset="50%">fixtures</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(526.6781412802869, 561.9831724861978)"><path fill="none" d="M 0 156.78475878682949 A 156.78475878682949 156.78475878682949 0 0 1 0 -156.78475878682949 A 156.78475878682949 156.78475878682949 0 0 1 0 156.78475878682949" id="CircleText--25" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--25" startOffset="50%">coverband</textPath></text><path fill="none" d="M 0 156.78475878682949 A 156.78475878682949 156.78475878682949 0 0 1 0 -156.78475878682949 A 156.78475878682949 156.78475878682949 0 0 1 0 156.78475878682949" id="CircleText--26" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--26" startOffset="50%">coverband</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(917.8142998307578, 514.6164507209025)"><path fill="none" d="M 0 42.243377971831976 A 42.243377971831976 42.243377971831976 0 0 1 0 -42.243377971831976 A 42.243377971831976 42.243377971831976 0 0 1 0 42.243377971831976" id="CircleText--27" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--27" startOffset="50%">benchmarks</textPath></text><path fill="none" d="M 0 42.243377971831976 A 42.243377971831976 42.243377971831976 0 0 1 0 -42.243377971831976 A 42.243377971831976 42.243377971831976 0 0 1 0 42.243377971831976" id="CircleText--28" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--28" startOffset="50%">benchmarks</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(271.09659053239136, 583.342381404345)"><path fill="none" d="M 0 30.92708666847861 A 30.92708666847861 30.92708666847861 0 0 1 0 -30.92708666847861 A 30.92708666847861 30.92708666847861 0 0 1 0 30.92708666847861" id="CircleText--29" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--29" startOffset="50%">test</textPath></text><path fill="none" d="M 0 30.92708666847861 A 30.92708666847861 30.92708666847861 0 0 1 0 -30.92708666847861 A 30.92708666847861 30.92708666847861 0 0 1 0 30.92708666847861" id="CircleText--30" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--30" startOffset="50%">test</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(216.6995350679417, 337.65351269934234)"><path fill="none" d="M 0 173.31300831108828 A 173.31300831108828 173.31300831108828 0 0 1 0 -173.31300831108828 A 173.31300831108828 173.31300831108828 0 0 1 0 173.31300831108828" id="CircleText--31" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--31" startOffset="50%">coverband</textPath></text><path fill="none" d="M 0 173.31300831108828 A 173.31300831108828 173.31300831108828 0 0 1 0 -173.31300831108828 A 173.31300831108828 173.31300831108828 0 0 1 0 173.31300831108828" id="CircleText--32" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--32" startOffset="50%">coverband</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(429.97707922932756, 163.47274453132013)"><path fill="none" d="M 0 25.55532199063002 A 25.55532199063002 25.55532199063002 0 0 1 0 -25.55532199063002 A 25.55532199063002 25.55532199063002 0 0 1 0 25.55532199063002" id="CircleText--33" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--33" startOffset="50%">images</textPath></text><path fill="none" d="M 0 25.55532199063002 A 25.55532199063002 25.55532199063002 0 0 1 0 -25.55532199063002 A 25.55532199063002 25.55532199063002 0 0 1 0 25.55532199063002" id="CircleText--34" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--34" startOffset="50%">images</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(500.1865499855529, 164.97508910938438)"><path fill="none" d="M 0 32.81043206832132 A 32.81043206832132 32.81043206832132 0 0 1 0 -32.81043206832132 A 32.81043206832132 32.81043206832132 0 0 1 0 32.81043206832132" id="CircleText--35" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--35" startOffset="50%">colorbox</textPath></text><path fill="none" d="M 0 32.81043206832132 A 32.81043206832132 32.81043206832132 0 0 1 0 -32.81043206832132 A 32.81043206832132 32.81043206832132 0 0 1 0 32.81043206832132" id="CircleText--36" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--36" startOffset="50%">colorbox</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(798.663927272489, 548.1192330205217)"><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--37" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--37" startOffset="50%">config</textPath></text><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--38" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--38" startOffset="50%">config</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(766.2883984415773, 588.9606368525184)"><path fill="none" d="M 0 33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 -33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 33.021888760704144" id="CircleText--39" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--39" startOffset="50%">app</textPath></text><path fill="none" d="M 0 33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 -33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 33.021888760704144" id="CircleText--40" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--40" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(737.5020999043074, 671.8422464849526)"><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--41" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--41" startOffset="50%">config</textPath></text><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--42" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--42" startOffset="50%">config</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(703.4897781061118, 711.1561413592167)"><path fill="none" d="M 0 33.00951663875224 A 33.00951663875224 33.00951663875224 0 0 1 0 -33.00951663875224 A 33.00951663875224 33.00951663875224 0 0 1 0 33.00951663875224" id="CircleText--43" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--43" startOffset="50%">app</textPath></text><path fill="none" d="M 0 33.00951663875224 A 33.00951663875224 33.00951663875224 0 0 1 0 -33.00951663875224 A 33.00951663875224 33.00951663875224 0 0 1 0 33.00951663875224" id="CircleText--44" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--44" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(745.2803530526367, 421.38418902773225)"><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--45" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--45" startOffset="50%">config</textPath></text><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--46" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--46" startOffset="50%">config</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(712.9048242217251, 462.2255928597289)"><path fill="none" d="M 0 33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 -33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 33.021888760704144" id="CircleText--47" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--47" startOffset="50%">app</textPath></text><path fill="none" d="M 0 33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 -33.021888760704144 A 33.021888760704144 33.021888760704144 0 0 1 0 33.021888760704144" id="CircleText--48" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--48" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(884.8899766088306, 619.8145418044999)"><path fill="none" d="M 0 34.45851407917242 A 34.45851407917242 34.45851407917242 0 0 1 0 -34.45851407917242 A 34.45851407917242 34.45851407917242 0 0 1 0 34.45851407917242" id="CircleText--49" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--49" startOffset="50%">app</textPath></text><path fill="none" d="M 0 34.45851407917242 A 34.45851407917242 34.45851407917242 0 0 1 0 -34.45851407917242 A 34.45851407917242 34.45851407917242 0 0 1 0 34.45851407917242" id="CircleText--50" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--50" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(594.3124503916213, 565.9835650658096)"><path fill="none" d="M 0 54.33198252525729 A 54.33198252525729 54.33198252525729 0 0 1 0 -54.33198252525729 A 54.33198252525729 54.33198252525729 0 0 1 0 54.33198252525729" id="CircleText--51" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--51" startOffset="50%">utils</textPath></text><path fill="none" d="M 0 54.33198252525729 A 54.33198252525729 54.33198252525729 0 0 1 0 -54.33198252525729 A 54.33198252525729 54.33198252525729 0 0 1 0 54.33198252525729" id="CircleText--52" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--52" startOffset="50%">utils</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(458.0907571193274, 593.129206614701)"><path fill="none" d="M 0 32.252814814403905 A 32.252814814403905 32.252814814403905 0 0 1 0 -32.252814814403905 A 32.252814814403905 32.252814814403905 0 0 1 0 32.252814814403905" id="CircleText--53" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--53" startOffset="50%">reporters</textPath></text><path fill="none" d="M 0 32.252814814403905 A 32.252814814403905 32.252814814403905 0 0 1 0 -32.252814814403905 A 32.252814814403905 32.252814814403905 0 0 1 0 32.252814814403905" id="CircleText--54" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--54" startOffset="50%">reporters</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(414.88568361282705, 523.3619964530683)"><path fill="none" d="M 0 31.50902657809285 A 31.50902657809285 31.50902657809285 0 0 1 0 -31.50902657809285 A 31.50902657809285 31.50902657809285 0 0 1 0 31.50902657809285" id="CircleText--55" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--55" startOffset="50%">integrations</textPath></text><path fill="none" d="M 0 31.50902657809285 A 31.50902657809285 31.50902657809285 0 0 1 0 -31.50902657809285 A 31.50902657809285 31.50902657809285 0 0 1 0 31.50902657809285" id="CircleText--56" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--56" startOffset="50%">integrations</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(524.6137748126333, 653.8856447809602)"><path fill="none" d="M 0 39.50018379580438 A 39.50018379580438 39.50018379580438 0 0 1 0 -39.50018379580438 A 39.50018379580438 39.50018379580438 0 0 1 0 39.50018379580438" id="CircleText--57" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--57" startOffset="50%">collectors</textPath></text><path fill="none" d="M 0 39.50018379580438 A 39.50018379580438 39.50018379580438 0 0 1 0 -39.50018379580438 A 39.50018379580438 39.50018379580438 0 0 1 0 39.50018379580438" id="CircleText--58" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--58" startOffset="50%">collectors</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(504.25999184598646, 488.51027072087953)"><path fill="none" d="M 0 46.115071088006374 A 46.115071088006374 46.115071088006374 0 0 1 0 -46.115071088006374 A 46.115071088006374 46.115071088006374 0 0 1 0 46.115071088006374" id="CircleText--59" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--59" startOffset="50%">adapters</textPath></text><path fill="none" d="M 0 46.115071088006374 A 46.115071088006374 46.115071088006374 0 0 1 0 -46.115071088006374 A 46.115071088006374 46.115071088006374 0 0 1 0 46.115071088006374" id="CircleText--60" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--60" startOffset="50%">adapters</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(238.1868617862446, 347.7543374102044)"><path fill="none" d="M 0 63.05492932685485 A 63.05492932685485 63.05492932685485 0 0 1 0 -63.05492932685485 A 63.05492932685485 63.05492932685485 0 0 1 0 63.05492932685485" id="CircleText--61" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--61" startOffset="50%">utils</textPath></text><path fill="none" d="M 0 63.05492932685485 A 63.05492932685485 63.05492932685485 0 0 1 0 -63.05492932685485 A 63.05492932685485 63.05492932685485 0 0 1 0 63.05492932685485" id="CircleText--62" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--62" startOffset="50%">utils</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(150.4031362089642, 415.6689140940736)"><path fill="none" d="M 0 38.23498602070316 A 38.23498602070316 38.23498602070316 0 0 1 0 -38.23498602070316 A 38.23498602070316 38.23498602070316 0 0 1 0 38.23498602070316" id="CircleText--63" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--63" startOffset="50%">reporters</textPath></text><path fill="none" d="M 0 38.23498602070316 A 38.23498602070316 38.23498602070316 0 0 1 0 -38.23498602070316 A 38.23498602070316 38.23498602070316 0 0 1 0 38.23498602070316" id="CircleText--64" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--64" startOffset="50%">reporters</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(157.28916806113872, 295.9475676297178)"><path fill="none" d="M 0 23.311271971547782 A 23.311271971547782 23.311271971547782 0 0 1 0 -23.311271971547782 A 23.311271971547782 23.311271971547782 0 0 1 0 23.311271971547782" id="CircleText--65" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--65" startOffset="50%">integrations</textPath></text><path fill="none" d="M 0 23.311271971547782 A 23.311271971547782 23.311271971547782 0 0 1 0 -23.311271971547782 A 23.311271971547782 23.311271971547782 0 0 1 0 23.311271971547782" id="CircleText--66" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--66" startOffset="50%">integrations</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(227.17287036599689, 461.4004553176366)"><path fill="none" d="M 0 41.42540354143982 A 41.42540354143982 41.42540354143982 0 0 1 0 -41.42540354143982 A 41.42540354143982 41.42540354143982 0 0 1 0 41.42540354143982" id="CircleText--67" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--67" startOffset="50%">collectors</textPath></text><path fill="none" d="M 0 41.42540354143982 A 41.42540354143982 41.42540354143982 0 0 1 0 -41.42540354143982 A 41.42540354143982 41.42540354143982 0 0 1 0 41.42540354143982" id="CircleText--68" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--68" startOffset="50%">collectors</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(207.22035577093106, 225.65294906289324)"><path fill="none" d="M 0 53.213777701583695 A 53.213777701583695 53.213777701583695 0 0 1 0 -53.213777701583695 A 53.213777701583695 53.213777701583695 0 0 1 0 53.213777701583695" id="CircleText--69" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--69" startOffset="50%">adapters</textPath></text><path fill="none" d="M 0 53.213777701583695 A 53.213777701583695 53.213777701583695 0 0 1 0 -53.213777701583695 A 53.213777701583695 53.213777701583695 0 0 1 0 53.213777701583695" id="CircleText--70" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--70" startOffset="50%">adapters</textPath></text></g><g style="fill:#CED6E0;transition:transform 0s ease-out" transform="translate(181.6174925329217, 668.8661822807057)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">coverban...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">coverban...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">coverban...</text></g><g style="fill:#CED6E0;transition:transform 0s ease-out" transform="translate(235.25964076788532, 666.0924002361269)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">coverban...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">coverban...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">coverban...</text></g><g style="fill:#f1e05a;transition:transform 0s ease-out" transform="translate(414.79764353617486, 225.18973221407245)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">dependenci...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">dependenci...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">dependenci...</text></g><g style="fill:#563d7c;transition:transform 0s ease-out" transform="translate(512.7910567200302, 234.72113105345306)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">applicatio...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">applicatio...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">applicatio...</text></g><g style="fill:#083fa1;transition:transform 0s ease-out" transform="translate(320.1615724594394, 804.9875239262728)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">README.md</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">README.md</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">README.md</text></g><g style="fill:#083fa1;transition:transform 0s ease-out" transform="translate(392.23035259112, 805.8219336390632)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">changes.md</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">changes.md</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">changes.md</text></g><g style="fill:#701516;transition:transform 0s ease-out" transform="translate(907.9869266011095, 514.4932006928734)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">benchmark...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">benchmark...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">benchmark...</text></g><g style="fill:#701516;transition:transform 0s ease-out" transform="translate(145.25770319262406, 347.7543374102044)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">configur...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">configur...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">configur...</text></g><g style="fill:#CED6E0;transition:transform 0s ease-out" transform="translate(495.7269340955641, 164.9374030222777)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">loading.gif</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">loading.gif</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">loading.gif</text></g><g style="fill:#701516;transition:transform 0s ease-out" transform="translate(218.93456647739896, 348.95346774867727)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">source_f...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">source_f...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">source_f...</text></g><g transform="translate(940, 740)"><g transform="translate(0, 0)"><circle r="5" fill="#563d7c"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.css</text></g><g transform="translate(0, 15)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.erb</text></g><g transform="translate(0, 30)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.gemspec</text></g><g transform="translate(0, 45)"><circle r="5" fill="#000000"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.gitignore</text></g><g transform="translate(0, 60)"><circle r="5" fill="#ece2a9"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.haml</text></g><g transform="translate(0, 75)"><circle r="5" fill="#f1e05a"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.js</text></g><g transform="translate(0, 90)"><circle r="5" fill="#000080"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.lua</text></g><g transform="translate(0, 105)"><circle r="5" fill="#083fa1"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.md</text></g><g transform="translate(0, 120)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.rake</text></g><g transform="translate(0, 135)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.rb</text></g><g transform="translate(0, 150)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.ru</text></g><g transform="translate(0, 165)"><circle r="5" fill="#89e051"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.sh</text></g><g transform="translate(0, 180)"><circle r="5" fill="#2b2b2b"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.slim</text></g><g transform="translate(0, 195)"><circle r="5" fill="#ff9900"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.svg</text></g><g transform="translate(0, 210)"><circle r="5" fill="#199f4b"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.txt</text></g><g transform="translate(0, 225)"><circle r="5" fill="#cb171e"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.yml</text></g><g fill="#9CA3AF" style="font-weight:300;font-style:italic;font-size:12px">each dot sized by file size</g></g></svg>
|
1
|
+
<svg width="1000" height="1000" style="background:white;font-family:sans-serif;overflow:visible" xmlns="http://www.w3.org/2000/svg"><defs><filter id="glow" x="-50%" y="-50%" width="200%" height="200%"><feGaussianBlur stdDeviation="4" result="coloredBlur"></feGaussianBlur><feMerge><feMergeNode in="coloredBlur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(320.0440955851615, 687.1095098202745)"><circle r="41.02236906512809" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(661.4804553274951, 565.090051603168)"><circle r="305.5611201285023" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(288.9428814644706, 583.2452646411239)"><circle r="51.42382489927201" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(198.29056803988027, 337.57526920658273)"><circle r="194.43887987149768" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(208.90653735006168, 675.48393390541)"><circle r="54.70448277314051" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(467.6257278331589, 199.4263523617063)"><circle r="92.25990031514063" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(310.0829618723833, 685.6384827820034)"><circle style="transition:all 0.5s ease-out" r="13.299028563894717" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(346.0050009856998, 685.8005401247327)"><circle style="transition:all 0.5s ease-out" r="12.02848495983237" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(328.9366533715195, 706.6667327359944)"><circle style="transition:all 0.5s ease-out" r="11.74363845681824" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(329.02658201816666, 668.0954026167576)"><circle style="transition:all 0.5s ease-out" r="9.315890781894888" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(309.0581746982697, 660.221127683734)"><circle style="transition:all 0.5s ease-out" r="8.976275495532931" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(305.75853103690565, 710.2717082656537)"><circle style="transition:all 0.5s ease-out" r="8.51089946502625" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(345.69354681131415, 666.3283315944778)"><circle style="transition:all 0.5s ease-out" r="4.2444867695186295" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(344.80620435875534, 702.4578918669062)"><circle style="transition:all 0.5s ease-out" r="1.4745523900395063" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(704.0130009267006, 526.8945922551309)"><circle style="transition:all 0.5s ease-out" r="16.533032652648004" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(779.026580496945, 569.8306716213199)"><circle r="61.69816687266827" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(717.8942018035817, 692.9668225846455)"><circle r="61.8583199246666" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(725.623487075414, 443.09660872398206)"><circle r="61.69816687266827" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(816.2248010855254, 664.9010560509214)"><circle r="26.454166736894674" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(831.1291944101946, 473.1163753017442)"><circle r="34.07246111008901" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(896.8247901002761, 619.3863730582293)"><circle r="52.16148452897064" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(853.7454304870963, 527.1382548108799)"><circle style="transition:all 0.5s ease-out" r="15.96140325350319" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(526.9232224004262, 561.9278965746462)"><circle r="155.8010872216729" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(917.7984642878176, 514.1842004195438)"><circle r="41.23693945990571" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(703.6822329006822, 591.1144869647255)"><circle style="transition:all 0.5s ease-out" r="8.026303235091047" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(856.5806107543644, 559.1658102392851)"><circle style="transition:all 0.5s ease-out" r="8.00693003948508" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(852.3173687321352, 572.7976878502546)"><circle style="transition:all 0.5s ease-out" r="3.07289682848344" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(770.9108070466519, 642.4415481089172)"><circle style="transition:all 0.5s ease-out" r="2.7977664490618936" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(792.2668738614019, 498.29098670104577)"><circle style="transition:all 0.5s ease-out" r="2.3906725717693056" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(773.5169038017948, 497.53945196380073)"><circle style="transition:all 0.5s ease-out" r="2.1728661853072757" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(271.1401033139684, 583.2452646411239)"><circle r="29.922724853109983" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(320.71476726541044, 583.2452646411239)"><circle style="transition:all 0.5s ease-out" r="15.953617202672337" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(304.6269882462287, 600.9051778674213)"><circle style="transition:all 0.5s ease-out" r="4.237162369290773" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(24.12994503121425, 337.57526920658273)"><circle style="transition:all 0.5s ease-out" r="16.579934967171834" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(216.719663954882, 337.57526920658273)"><circle r="172.31146206083613" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(39.18389976549216, 354.4357756737938)"><circle style="transition:all 0.5s ease-out" r="2.3248011486975844" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(181.8982561622141, 667.8965963156105)"><circle style="transition:all 0.5s ease-out" r="23.650696140612176" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(235.1520986860007, 665.5639261363586)"><circle style="transition:all 0.5s ease-out" r="23.64675578080243" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(212.80154791821997, 709.1802046668536)"><circle r="17.783843472641195" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(215.9534882395659, 634.7817767621241)"><circle style="transition:all 0.5s ease-out" r="9.556191686063611" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(195.14095699914515, 635.77303724355)"><circle style="transition:all 0.5s ease-out" r="8.049489522879224" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(208.3529374060717, 674.2562664837939)"><circle style="transition:all 0.5s ease-out" r="2.590228413010779" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(204.79546338036494, 682.4001409768266)"><circle style="transition:all 0.5s ease-out" r="2.5782087267487572" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(213.09470902755046, 681.5338103668984)"><circle style="transition:all 0.5s ease-out" r="2.566132741266234" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(231.19931411133774, 636.1785242497068)"><circle style="transition:all 0.5s ease-out" r="2.553999657970545" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(207.9973875429042, 656.8696010522781)"><circle style="transition:all 0.5s ease-out" r="2.529558907624782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(211.35726725704902, 649.3382854007114)"><circle style="transition:all 0.5s ease-out" r="2.5172495454878896" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#f1e05a;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(414.822024149365, 225.1375475360698)"><circle style="transition:all 0.5s ease-out" r="30.52918705521055" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#563d7c;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(512.6954159742601, 234.6698595934178)"><circle style="transition:all 0.5s ease-out" r="30.526134594366525" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(459.0940177954422, 257.5911969133917)"><circle style="transition:all 0.5s ease-out" r="21.23121372820632" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#f1e05a;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(463.6290000039323, 209.78308702984737)"><circle style="transition:all 0.5s ease-out" r="17.640126738785757" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(429.99486304915393, 163.42743119638348)"><circle r="24.553137938561655" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(500.1972119486214, 164.9155590044101)"><circle r="31.80574943627837" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(450.83125597788154, 229.43982132343692)"><circle style="transition:all 0.5s ease-out" r="2.614101990615157" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(476.60271187728233, 237.18056876273243)"><circle style="transition:all 0.5s ease-out" r="2.5782087267487572" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(477.00311069307025, 228.84520809619744)"><circle style="transition:all 0.5s ease-out" r="2.566132741266234" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(432.1192265551085, 257.0192509884513)"><circle style="transition:all 0.5s ease-out" r="2.553999657970545" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(469.5138689451535, 232.44150452301645)"><circle style="transition:all 0.5s ease-out" r="2.5418086592087867" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(319.7591050031551, 805.6688459724203)"><circle style="transition:all 0.5s ease-out" r="30.536308277233342" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(392.15237940306065, 806.6964709054038)"><circle style="transition:all 0.5s ease-out" r="29.60353121887948" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(366.1919841019905, 854.7688005881294)"><circle style="transition:all 0.5s ease-out" r="14.432546384579645" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(375.9300563425951, 760.067764214663)"><circle style="transition:all 0.5s ease-out" r="13.859447824501745" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(341.7319739365578, 764.8739874722235)"><circle style="transition:all 0.5s ease-out" r="12.598581143164461" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(342.6585355847883, 841.9277659917558)"><circle style="transition:all 0.5s ease-out" r="9.161231543165423" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#cb171e;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(356.77744480612085, 784.5181793927717)"><circle style="transition:all 0.5s ease-out" r="8.941604545206417" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(356.1917826404681, 826.4169117568251)"><circle style="transition:all 0.5s ease-out" r="8.225079893329147" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#199f4b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(322.8693120249139, 847.47566533598)"><circle style="transition:all 0.5s ease-out" r="8.19102144519738" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(405.0869268832444, 771.6320580842195)"><circle style="transition:all 0.5s ease-out" r="4.555115764012363" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000000;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(390.9446194715079, 843.6694978899668)"><circle style="transition:all 0.5s ease-out" r="4.192947291157432" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(394.6337541296222, 768.1041266999964)"><circle style="transition:all 0.5s ease-out" r="3.278304099543897" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(368.75402375765964, 834.0392904428885)"><circle style="transition:all 0.5s ease-out" r="3.2688155004835355" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(381.1135215721857, 840.6320399819576)"><circle style="transition:all 0.5s ease-out" r="2.8959634043717517" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(370.4444099615016, 778.8012060714246)"><circle style="transition:all 0.5s ease-out" r="2.672853191210206" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#083fa1;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(359.26435481885363, 770.08690702449)"><circle style="transition:all 0.5s ease-out" r="2.492448452523984" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(388.73716311701133, 772.9313451400715)"><circle style="transition:all 0.5s ease-out" r="1.1421833699466701" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(753.7289101917189, 535.383245151049)"><circle style="transition:all 0.5s ease-out" r="15.959457096908318" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(798.8291935675396, 547.8666020954927)"><circle r="19.785508043185732" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(766.4509352230351, 588.7020287174994)"><circle r="36.02053532290673" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(769.2045379114992, 545.1978480712344)"><circle style="transition:all 0.5s ease-out" r="3.7552522398462784" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(778.8413147628411, 548.1139368728195)"><circle style="transition:all 0.5s ease-out" r="3.1130671194246933" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(696.3721539993563, 655.8573374059548)"><circle style="transition:all 0.5s ease-out" r="15.959457096908318" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(737.847577305749, 671.6696925563696)"><circle r="20.30267160976593" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(703.8331610124205, 710.97839359905)"><circle r="36.008165471410976" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(711.8237424971337, 668.4618130482022)"><circle style="transition:all 0.5s ease-out" r="3.7552522398462784" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(719.4196606166051, 673.1936625895116)"><circle style="transition:all 0.5s ease-out" r="1.9939587620191872" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(700.3258167701882, 408.6491822537109)"><circle style="transition:all 0.5s ease-out" r="15.959457096908318" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(745.4261001460089, 421.1325391981552)"><circle r="19.785508043185732" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(713.0478418015039, 461.96796582016145)"><circle r="36.02053532290673" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(715.8014444899684, 418.4637851738964)"><circle style="transition:all 0.5s ease-out" r="3.7552522398462784" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(725.4382213413104, 421.3798739754816)"><circle style="transition:all 0.5s ease-out" r="3.1130671194246933" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(803.9668698168914, 664.9010560509214)"><circle style="transition:all 0.5s ease-out" r="10.497913572600913" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(828.5718756059563, 664.9010560509214)"><circle style="transition:all 0.5s ease-out" r="10.408770320804072" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(815.0265494402951, 471.62504630626694)"><circle style="transition:all 0.5s ease-out" r="14.202582789663447" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(843.0855194523331, 471.62504630626694)"><circle style="transition:all 0.5s ease-out" r="10.15806532671481" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(832.8046422103039, 493.29363138790137)"><circle style="transition:all 0.5s ease-out" r="10.127441002195804" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(832.6094482949999, 451.56629178366535)"><circle style="transition:all 0.5s ease-out" r="8.773276935352106" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(885.1160757896747, 619.3877075929283)"><circle r="37.45277014231552" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(936.8250038534794, 619.4423965038998)"><circle style="transition:all 0.5s ease-out" r="9.161231543165423" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(931.4512126875003, 632.6868783605914)"><circle style="transition:all 0.5s ease-out" r="3.0627719349665417" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(930.9693990649138, 607.5109014969184)"><circle style="transition:all 0.5s ease-out" r="2.2293136681031145" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(928.2191424895046, 600.8659312975525)"><circle style="transition:all 0.5s ease-out" r="1.7624272025376257" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(927.3617271272765, 639.3977315754129)"><circle style="transition:all 0.5s ease-out" r="1.5959457096908318" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(924.9038923038595, 595.772792128751)"><circle style="transition:all 0.5s ease-out" r="1.1146568340515572" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(509.21012744025904, 561.1285898554693)"><circle style="transition:all 0.5s ease-out" r="16.911956103361995" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(594.0351154989643, 566.3657633746082)"><circle r="57.32332841316584" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(458.8500617878015, 593.611303270355)"><circle r="35.247515503957146" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(415.74389402939596, 523.1522317988723)"><circle r="35.05392064923874" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(524.9928948663716, 654.7638039861382)"><circle r="42.49357187372217" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(505.3304213924775, 487.37955101909495)"><circle r="49.1076007272085" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(583.2685923837623, 640.4296318393756)"><circle style="transition:all 0.5s ease-out" r="9.749265567922786" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(527.7361726360538, 544.7034088431642)"><circle style="transition:all 0.5s ease-out" r="4.669600679137039" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(907.9725663811307, 514.0609705067272)"><circle style="transition:all 0.5s ease-out" r="26.688990921692263" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(946.8307843176603, 512.2414949050196)"><circle style="transition:all 0.5s ease-out" r="9.000465694723758" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#89e051;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(941.325229612083, 531.3255498964002)"><circle style="transition:all 0.5s ease-out" r="7.661998973911636" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(934.2614963692529, 492.34219145618545)"><circle style="transition:all 0.5s ease-out" r="4.200348792577747" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(937.4192093747498, 501.3796298903495)"><circle style="transition:all 0.5s ease-out" r="2.1728661853072757" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000000;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(930.1970141604473, 535.5959404396514)"><circle style="transition:all 0.5s ease-out" r="1.0574563215225752" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(259.56400460733227, 583.2452646411239)"><circle style="transition:all 0.5s ease-out" r="14.648304250814054" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(287.63756851261235, 583.2452646411239)"><circle style="transition:all 0.5s ease-out" r="9.726937758806239" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(277.27787378114874, 598.5906657828165)"><circle style="transition:all 0.5s ease-out" r="5.089723767848308" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#000080;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(276.7908269055428, 571.8439180468595)"><circle style="transition:all 0.5s ease-out" r="2.3114016068396066" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(145.2385972306276, 347.69864762740275)"><circle style="transition:all 0.5s ease-out" r="23.171729057282757" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(238.15357248072655, 347.69864762740275)"><circle r="66.04492429715643" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(150.38239997180202, 415.6027021128269)"><circle r="41.228549048816426" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(157.24689592365561, 295.84920760056417)"><circle r="26.351783556943573" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(227.14146867600607, 461.32995075917034)"><circle r="44.42040599836763" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(207.28791388730727, 225.57708296821903)"><circle r="56.21851560501154" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(127.72494526061453, 318.5123581058506)"><circle style="transition:all 0.5s ease-out" r="7.167685478298116" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(248.71569839782774, 274.5132888766575)"><circle style="transition:all 0.5s ease-out" r="4.200348792577747" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(209.6587164610557, 708.4060817754527)"><circle style="transition:all 0.5s ease-out" r="2.566132741266234" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.70939100092366, 710.5065080121926)"><circle style="transition:all 0.5s ease-out" r="2.553999657970545" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(211.8820524185861, 716.4109707092169)"><circle style="transition:all 0.5s ease-out" r="2.5418086592087867" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(215.50132171831822, 702.5169024375011)"><circle style="transition:all 0.5s ease-out" r="2.529558907624782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(202.28641573585247, 704.6293890665054)"><circle style="transition:all 0.5s ease-out" r="2.5172495454878896" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ff9900;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(203.83410301726474, 714.2783224421288)"><circle style="transition:all 0.5s ease-out" r="2.5048796939921276" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(223.4569140180461, 704.5929458355394)"><circle style="transition:all 0.5s ease-out" r="2.492448452523984" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(425.66049366015926, 162.39649640191806)"><circle style="transition:all 0.5s ease-out" r="2.6377595044104964" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(434.12118166124395, 162.62580740679155)"><circle style="transition:all 0.5s ease-out" r="2.625957389262631" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(429.7069387239328, 169.81943369228375)"><circle style="transition:all 0.5s ease-out" r="2.614101990615157" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(430.1009400527608, 155.21843081970536)"><circle style="transition:all 0.5s ease-out" r="2.6021925802010184" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(421.71315191966335, 154.9436535842554)"><circle style="transition:all 0.5s ease-out" r="2.590228413010779" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(421.31683064278315, 169.60490214928686)"><circle style="transition:all 0.5s ease-out" r="2.5782087267487572" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(438.4660725930112, 155.4453296012825)"><circle style="transition:all 0.5s ease-out" r="2.566132741266234" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(438.3312464170354, 169.8712239491243)"><circle style="transition:all 0.5s ease-out" r="2.553999657970545" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(417.2900751365735, 162.00473209595316)"><circle style="transition:all 0.5s ease-out" r="2.5418086592087867" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(413.02452491120454, 169.09138170580974)"><circle style="transition:all 0.5s ease-out" r="2.529558907624782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(442.46406239831924, 162.69979859714763)"><circle style="transition:all 0.5s ease-out" r="2.5172495454878896" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(446.5925587713497, 169.81027867422085)"><circle style="transition:all 0.5s ease-out" r="2.5048796939921276" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(434.5130140198094, 148.19451091724866)"><circle style="transition:all 0.5s ease-out" r="2.492448452523984" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(495.73801288091903, 164.87788235205613)"><circle style="transition:all 0.5s ease-out" r="23.64806930702374" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(525.6139629912273, 164.87788235205613)"><circle style="transition:all 0.5s ease-out" r="2.529558907624782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(524.3129980601925, 173.51319335693688)"><circle style="transition:all 0.5s ease-out" r="2.5048796939921276" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#CED6E0;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(524.304210747948, 156.25647345379974)"><circle style="transition:all 0.5s ease-out" r="2.492448452523984" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(794.4774479504854, 548.1356811114009)"><circle style="transition:all 0.5s ease-out" r="4.4794783961774085" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(806.255294297982, 549.2363929693084)"><circle style="transition:all 0.5s ease-out" r="4.148260964442219" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#cb171e;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(799.8372622639662, 557.5602341790793)"><circle style="transition:all 0.5s ease-out" r="3.162562545542399" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(801.4786873752438, 539.9485036455734)"><circle style="transition:all 0.5s ease-out" r="3.0930471875277576" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(788.4745740435021, 539.455213429993)"><circle style="transition:all 0.5s ease-out" r="2.874431779272321" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(788.4732586671391, 556.3924392930171)"><circle style="transition:all 0.5s ease-out" r="2.529558907624782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(810.1007008170392, 540.3459939717353)"><circle style="transition:all 0.5s ease-out" r="2.338123900453203" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(749.2757512364083, 588.7020287174994)"><circle r="9.22971440756445" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(780.4884680949573, 588.7020287174994)"><circle r="12.367365522269084" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(729.7865604298584, 672.3683017873487)"><circle style="transition:all 0.5s ease-out" r="7.058515445451927" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(749.0173675912397, 671.44455308851)"><circle style="transition:all 0.5s ease-out" r="6.130612587283563" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(740.5847191672299, 682.2644158391965)"><circle style="transition:all 0.5s ease-out" r="4.388408344071519" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(739.5931479164079, 661.8202396954221)"><circle style="transition:all 0.5s ease-out" r="4.140766358565791" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(730.4124242287339, 660.1316291284222)"><circle style="transition:all 0.5s ease-out" r="1.9939587620191872" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(686.6703468772895, 710.97839359905)"><circle r="9.22971440756445" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(717.8706938843427, 710.97839359905)"><circle r="12.354995670773324" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(741.0743545289548, 421.40161821406343)"><circle style="transition:all 0.5s ease-out" r="4.4794783961774085" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(752.8522008764514, 422.502330071971)"><circle style="transition:all 0.5s ease-out" r="4.148260964442219" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#cb171e;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(746.4341688424355, 430.8261712817417)"><circle style="transition:all 0.5s ease-out" r="3.162562545542399" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(748.0755939537135, 413.21444074823603)"><circle style="transition:all 0.5s ease-out" r="3.0930471875277576" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(735.0714806219714, 412.72115053265554)"><circle style="transition:all 0.5s ease-out" r="2.874431779272321" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(735.0701652456079, 429.658376395679)"><circle style="transition:all 0.5s ease-out" r="2.529558907624782" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(756.6976073955087, 413.611931074398)"><circle style="transition:all 0.5s ease-out" r="2.338123900453203" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(695.872657814877, 461.96796582016145)"><circle r="9.22971440756445" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(727.085374673426, 461.96796582016145)"><circle r="12.367365522269084" style="transition:all 0.5s ease-out" stroke="#290819" stroke-opacity="0.2" stroke-width="1" fill="white"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(867.3152447456913, 619.3877075929283)"><circle style="transition:all 0.5s ease-out" r="15.953617202672337" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(902.918853940177, 619.3877075929283)"><circle style="transition:all 0.5s ease-out" r="15.951670096153496" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(580.123458762755, 567.6325186033815)"><circle style="transition:all 0.5s ease-out" r="16.952314446278734" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(615.2735824498056, 566.7641061144058)"><circle style="transition:all 0.5s ease-out" r="15.008596609963854" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(600.3007787596391, 596.2569104543842)"><circle style="transition:all 0.5s ease-out" r="14.867199086729345" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(598.8271096185131, 539.7099184699974)"><circle style="transition:all 0.5s ease-out" r="13.452296394061888" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(569.0933881773474, 536.0445989253673)"><circle style="transition:all 0.5s ease-out" r="13.306033583376461" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(568.2584133381023, 596.8660652970806)"><circle style="transition:all 0.5s ease-out" r="11.397332061597101" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(626.4763468789304, 539.8007588601215)"><circle style="transition:all 0.5s ease-out" r="10.989408453971947" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(628.2579893022776, 592.0327445313276)"><circle style="transition:all 0.5s ease-out" r="10.200784924808195" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(552.2976241489423, 556.3778517552)"><circle style="transition:all 0.5s ease-out" r="9.86329594292602" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(552.8967784177418, 578.6580210690794)"><circle style="transition:all 0.5s ease-out" r="9.22205927433874" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(639.0675234171691, 557.7346999545606)"><circle style="transition:all 0.5s ease-out" r="7.240981010529503" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(638.845008471981, 574.9068297375159)"><circle style="transition:all 0.5s ease-out" r="6.729610821814757" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(443.88962403047987, 590.1913451163624)"><circle style="transition:all 0.5s ease-out" r="16.202832096011907" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(476.9347516683852, 590.1913451163624)"><circle style="transition:all 0.5s ease-out" r="13.14397364623365" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(463.10379275933326, 614.0158968815783)"><circle style="transition:all 0.5s ease-out" r="10.705929285803535" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(462.76575842975365, 570.9487362547126)"><circle style="transition:all 0.5s ease-out" r="7.054113502120483" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(405.94961107315004, 526.553257281977)"><circle style="transition:all 0.5s ease-out" r="11.000708619892158" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(437.41240207548543, 522.3322595881415)"><circle style="transition:all 0.5s ease-out" r="10.36990360050411" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(424.3252674403928, 540.6949999273658)"><circle style="transition:all 0.5s ease-out" r="8.986650697026096" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(420.01452020373466, 508.5684750556067)"><circle style="transition:all 0.5s ease-out" r="8.623295337816963" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(400.62258698719825, 505.13508345765666)"><circle style="transition:all 0.5s ease-out" r="7.869982459080664" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(409.4227128204277, 543.347793895688)"><circle style="transition:all 0.5s ease-out" r="2.9491047800790127" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(506.80553497308193, 644.9192608937549)"><circle style="transition:all 0.5s ease-out" r="18.11445965018001" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(545.0609216967836, 644.9192608937549)"><circle style="transition:all 0.5s ease-out" r="16.44260517786188" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(527.5668976759181, 677.0058285714975)"><circle style="transition:all 0.5s ease-out" r="16.40477994906827" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(487.0464859929721, 487.14655564690855)"><circle style="transition:all 0.5s ease-out" r="19.060305936444163" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(535.3444159754515, 484.8904068083557)"><circle style="transition:all 0.5s ease-out" r="15.990567179253391" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(514.6215824497657, 511.34627206023634)"><circle style="transition:all 0.5s ease-out" r="14.4239350792876" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(512.2670926647514, 466.6943960134845)"><circle style="transition:all 0.5s ease-out" r="10.20687312882667" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(491.9060631394056, 455.35685513243317)"><circle style="transition:all 0.5s ease-out" r="9.897876528805293" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(490.0647162076588, 516.7805837985553)"><circle style="transition:all 0.5s ease-out" r="7.527029262001147" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(218.90470517807438, 348.8975640701663)"><circle style="transition:all 0.5s ease-out" r="23.23865695663944" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(263.897748570021, 348.8975640701663)"><circle style="transition:all 0.5s ease-out" r="18.05606453964743" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(245.76035505439432, 379.1265855503461)"><circle style="transition:all 0.5s ease-out" r="13.498397613472063" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(245.64215184481685, 319.9460017676966)"><circle style="transition:all 0.5s ease-out" r="12.47220807169964" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(219.1764754285743, 309.7816398615529)"><circle style="transition:all 0.5s ease-out" r="12.179889449790673" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.82331208444106, 387.9072896837602)"><circle style="transition:all 0.5s ease-out" r="12.087732594050301" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(273.50742457921007, 316.65660888731003)"><circle style="transition:all 0.5s ease-out" r="11.888221431868157" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(274.07584697736354, 380.17581373920433)"><circle style="transition:all 0.5s ease-out" r="11.138205276934404" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(194.9352318121711, 320.1543781794356)"><circle style="transition:all 0.5s ease-out" r="10.489033339595398" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(194.68337547949145, 376.69042265362174)"><circle style="transition:all 0.5s ease-out" r="9.92920891654132" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(239.7888653880401, 294.91403954957343)"><circle style="transition:all 0.5s ease-out" r="9.53666931289336" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(236.46285094518214, 402.2724021048593)"><circle style="transition:all 0.5s ease-out" r="7.746664516216363" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(286.89465648365, 333.49425264004566)"><circle style="transition:all 0.5s ease-out" r="5.92448233856461" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(285.91353475897836, 364.1926532269883)"><circle style="transition:all 0.5s ease-out" r="5.052974379085117" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(132.76370065031568, 415.6027021128269)"><circle style="transition:all 0.5s ease-out" r="19.911527831670302" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(172.14308875130223, 415.6027021128269)"><circle style="transition:all 0.5s ease-out" r="15.769538373656433" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(155.70434337214175, 439.295257297826)"><circle style="transition:all 0.5s ease-out" r="9.369086879005469" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(155.29384872926983, 397.22285551485203)"><circle style="transition:all 0.5s ease-out" r="5.466366213274872" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(148.9120602090983, 295.84263621148966)"><circle style="transition:all 0.5s ease-out" r="10.309822540958223" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(169.84992855796722, 295.84263621148966)"><circle style="transition:all 0.5s ease-out" r="6.929723912250872" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(162.41028784794446, 311.21142258549554)"><circle style="transition:all 0.5s ease-out" r="6.4467264747306245" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(162.06299036290415, 283.11184426322336)"><circle style="transition:all 0.5s ease-out" r="4.295407883637237" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(151.2750764089282, 278.0817445488249)"><circle style="transition:all 0.5s ease-out" r="3.9092526459265127" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(205.3645645694763, 457.90013177250404)"><circle style="transition:all 0.5s ease-out" r="18.676739679308827" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(243.03115795845014, 457.90013177250404)"><circle style="transition:all 0.5s ease-out" r="15.291531814005214" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(227.36204096469748, 487.52631078998905)"><circle style="transition:all 0.5s ease-out" r="14.52479548348593" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(227.0821905370906, 432.01887717557355)"><circle style="transition:all 0.5s ease-out" r="11.410950577700952" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(195.5543597710991, 225.18179724881696)"><circle style="transition:all 0.5s ease-out" r="19.731315121137225" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(237.23682152385618, 225.18179724881696)"><circle style="transition:all 0.5s ease-out" r="18.252824735960072" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.81242379766425, 259.2364604388091)"><circle style="transition:all 0.5s ease-out" r="17.253793261320908" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(217.72836305316252, 193.93694184605778)"><circle style="transition:all 0.5s ease-out" r="14.883903810073651" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(187.16654924717847, 190.59262232295407)"><circle style="transition:all 0.5s ease-out" r="12.162024751616316" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(190.1273135630443, 255.1561580262486)"><circle style="transition:all 0.5s ease-out" r="7.032062452536528" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(242.94369730632405, 196.98564325854085)"><circle style="transition:all 0.5s ease-out" r="6.816743993865343" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(745.8331530170916, 586.8758283634883)"><circle style="transition:all 0.5s ease-out" r="1.6344077502417678" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#2b2b2b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(752.761828372684, 586.8758283634883)"><circle style="transition:all 0.5s ease-out" r="1.5959457096908318" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ece2a9;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(749.3352882215776, 592.7375129962556)"><circle style="transition:all 0.5s ease-out" r="1.4954690715143903" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(776.1220576016395, 588.7020287174994)"><circle style="transition:all 0.5s ease-out" r="4.302633133291499" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(786.6402621760786, 588.7020287174994)"><circle style="transition:all 0.5s ease-out" r="2.5172495454878896" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(683.2277486579728, 709.1521932450389)"><circle style="transition:all 0.5s ease-out" r="1.6344077502417678" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#2b2b2b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(690.1564240135652, 709.1521932450389)"><circle style="transition:all 0.5s ease-out" r="1.5959457096908318" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ece2a9;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(686.7298838624588, 715.0138778778063)"><circle style="transition:all 0.5s ease-out" r="1.4954690715143903" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(713.5166532425206, 710.97839359905)"><circle style="transition:all 0.5s ease-out" r="4.302633133291499" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(724.022487965464, 710.97839359905)"><circle style="transition:all 0.5s ease-out" r="2.5048796939921276" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(692.4300595955604, 460.14176546615033)"><circle style="transition:all 0.5s ease-out" r="1.6344077502417678" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#2b2b2b;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(699.3587349511528, 460.14176546615033)"><circle style="transition:all 0.5s ease-out" r="1.5959457096908318" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#ece2a9;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(695.9321948000463, 466.0034500989177)"><circle style="transition:all 0.5s ease-out" r="1.4954690715143903" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(722.7189641801083, 461.96796582016145)"><circle style="transition:all 0.5s ease-out" r="4.302633133291499" stroke-width="0" stroke="#374151"></circle></g><g style="fill:#701516;transition:transform 0s ease-out, fill 0.1s ease-out" transform="translate(733.2371687545474, 461.96796582016145)"><circle style="transition:all 0.5s ease-out" r="2.5172495454878896" stroke-width="0" stroke="#374151"></circle></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(320.0440955851615, 687.1095098202745)"><path fill="none" d="M 0 46.02236906512809 A 46.02236906512809 46.02236906512809 0 0 1 0 -46.02236906512809 A 46.02236906512809 46.02236906512809 0 0 1 0 46.02236906512809" id="CircleText--1" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--1" startOffset="50%">views</textPath></text><path fill="none" d="M 0 46.02236906512809 A 46.02236906512809 46.02236906512809 0 0 1 0 -46.02236906512809 A 46.02236906512809 46.02236906512809 0 0 1 0 46.02236906512809" id="CircleText--2" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--2" startOffset="50%">views</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(661.4804553274951, 565.090051603168)"><path fill="none" d="M 0 310.5611201285023 A 310.5611201285023 310.5611201285023 0 0 1 0 -310.5611201285023 A 310.5611201285023 310.5611201285023 0 0 1 0 310.5611201285023" id="CircleText--3" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--3" startOffset="50%">test</textPath></text><path fill="none" d="M 0 310.5611201285023 A 310.5611201285023 310.5611201285023 0 0 1 0 -310.5611201285023 A 310.5611201285023 310.5611201285023 0 0 1 0 310.5611201285023" id="CircleText--4" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--4" startOffset="50%">test</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(288.9428814644706, 583.2452646411239)"><path fill="none" d="M 0 56.42382489927201 A 56.42382489927201 56.42382489927201 0 0 1 0 -56.42382489927201 A 56.42382489927201 56.42382489927201 0 0 1 0 56.42382489927201" id="CircleText--5" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--5" startOffset="50%">lua</textPath></text><path fill="none" d="M 0 56.42382489927201 A 56.42382489927201 56.42382489927201 0 0 1 0 -56.42382489927201 A 56.42382489927201 56.42382489927201 0 0 1 0 56.42382489927201" id="CircleText--6" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--6" startOffset="50%">lua</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(198.29056803988027, 337.57526920658273)"><path fill="none" d="M 0 199.43887987149768 A 199.43887987149768 199.43887987149768 0 0 1 0 -199.43887987149768 A 199.43887987149768 199.43887987149768 0 0 1 0 199.43887987149768" id="CircleText--7" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--7" startOffset="50%">lib</textPath></text><path fill="none" d="M 0 199.43887987149768 A 199.43887987149768 199.43887987149768 0 0 1 0 -199.43887987149768 A 199.43887987149768 199.43887987149768 0 0 1 0 199.43887987149768" id="CircleText--8" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--8" startOffset="50%">lib</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(208.90653735006168, 675.48393390541)"><path fill="none" d="M 0 59.70448277314051 A 59.70448277314051 59.70448277314051 0 0 1 0 -59.70448277314051 A 59.70448277314051 59.70448277314051 0 0 1 0 59.70448277314051" id="CircleText--9" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--9" startOffset="50%">docs</textPath></text><path fill="none" d="M 0 59.70448277314051 A 59.70448277314051 59.70448277314051 0 0 1 0 -59.70448277314051 A 59.70448277314051 59.70448277314051 0 0 1 0 59.70448277314051" id="CircleText--10" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--10" startOffset="50%">docs</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(467.6257278331589, 199.4263523617063)"><path fill="none" d="M 0 97.25990031514063 A 97.25990031514063 97.25990031514063 0 0 1 0 -97.25990031514063 A 97.25990031514063 97.25990031514063 0 0 1 0 97.25990031514063" id="CircleText--11" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--11" startOffset="50%">public</textPath></text><path fill="none" d="M 0 97.25990031514063 A 97.25990031514063 97.25990031514063 0 0 1 0 -97.25990031514063 A 97.25990031514063 97.25990031514063 0 0 1 0 97.25990031514063" id="CircleText--12" transform="rotate(1)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:15px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--12" startOffset="50%">public</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(779.026580496945, 569.8306716213199)"><path fill="none" d="M 0 62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 -62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 62.69816687266827" id="CircleText--13" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--13" startOffset="50%">rails6_dummy</textPath></text><path fill="none" d="M 0 62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 -62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 62.69816687266827" id="CircleText--14" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--14" startOffset="50%">rails6_dummy</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(717.8942018035817, 692.9668225846455)"><path fill="none" d="M 0 62.8583199246666 A 62.8583199246666 62.8583199246666 0 0 1 0 -62.8583199246666 A 62.8583199246666 62.8583199246666 0 0 1 0 62.8583199246666" id="CircleText--15" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--15" startOffset="50%">rails5_dummy</textPath></text><path fill="none" d="M 0 62.8583199246666 A 62.8583199246666 62.8583199246666 0 0 1 0 -62.8583199246666 A 62.8583199246666 62.8583199246666 0 0 1 0 62.8583199246666" id="CircleText--16" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--16" startOffset="50%">rails5_dummy</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(725.623487075414, 443.09660872398206)"><path fill="none" d="M 0 62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 -62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 62.69816687266827" id="CircleText--17" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--17" startOffset="50%">rails4_dummy</textPath></text><path fill="none" d="M 0 62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 -62.69816687266827 A 62.69816687266827 62.69816687266827 0 0 1 0 62.69816687266827" id="CircleText--18" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--18" startOffset="50%">rails4_dummy</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(816.2248010855254, 664.9010560509214)"><path fill="none" d="M 0 27.454166736894678 A 27.454166736894678 27.454166736894678 0 0 1 0 -27.454166736894678 A 27.454166736894678 27.454166736894678 0 0 1 0 27.454166736894678" id="CircleText--19" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--19" startOffset="50%">integration</textPath></text><path fill="none" d="M 0 27.454166736894678 A 27.454166736894678 27.454166736894678 0 0 1 0 -27.454166736894678 A 27.454166736894678 27.454166736894678 0 0 1 0 27.454166736894678" id="CircleText--20" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--20" startOffset="50%">integration</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(831.1291944101946, 473.1163753017442)"><path fill="none" d="M 0 35.07246111008901 A 35.07246111008901 35.07246111008901 0 0 1 0 -35.07246111008901 A 35.07246111008901 35.07246111008901 0 0 1 0 35.07246111008901" id="CircleText--21" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--21" startOffset="50%">forked</textPath></text><path fill="none" d="M 0 35.07246111008901 A 35.07246111008901 35.07246111008901 0 0 1 0 -35.07246111008901 A 35.07246111008901 35.07246111008901 0 0 1 0 35.07246111008901" id="CircleText--22" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--22" startOffset="50%">forked</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(896.8247901002761, 619.3863730582293)"><path fill="none" d="M 0 53.16148452897065 A 53.16148452897065 53.16148452897065 0 0 1 0 -53.16148452897065 A 53.16148452897065 53.16148452897065 0 0 1 0 53.16148452897065" id="CircleText--23" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--23" startOffset="50%">fixtures</textPath></text><path fill="none" d="M 0 53.16148452897065 A 53.16148452897065 53.16148452897065 0 0 1 0 -53.16148452897065 A 53.16148452897065 53.16148452897065 0 0 1 0 53.16148452897065" id="CircleText--24" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--24" startOffset="50%">fixtures</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(526.9232224004262, 561.9278965746462)"><path fill="none" d="M 0 156.8010872216729 A 156.8010872216729 156.8010872216729 0 0 1 0 -156.8010872216729 A 156.8010872216729 156.8010872216729 0 0 1 0 156.8010872216729" id="CircleText--25" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--25" startOffset="50%">coverband</textPath></text><path fill="none" d="M 0 156.8010872216729 A 156.8010872216729 156.8010872216729 0 0 1 0 -156.8010872216729 A 156.8010872216729 156.8010872216729 0 0 1 0 156.8010872216729" id="CircleText--26" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--26" startOffset="50%">coverband</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(917.7984642878176, 514.1842004195438)"><path fill="none" d="M 0 42.23693945990571 A 42.23693945990571 42.23693945990571 0 0 1 0 -42.23693945990571 A 42.23693945990571 42.23693945990571 0 0 1 0 42.23693945990571" id="CircleText--27" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--27" startOffset="50%">benchmarks</textPath></text><path fill="none" d="M 0 42.23693945990571 A 42.23693945990571 42.23693945990571 0 0 1 0 -42.23693945990571 A 42.23693945990571 42.23693945990571 0 0 1 0 42.23693945990571" id="CircleText--28" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--28" startOffset="50%">benchmarks</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(271.1401033139684, 583.2452646411239)"><path fill="none" d="M 0 30.922724853109983 A 30.922724853109983 30.922724853109983 0 0 1 0 -30.922724853109983 A 30.922724853109983 30.922724853109983 0 0 1 0 30.922724853109983" id="CircleText--29" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--29" startOffset="50%">test</textPath></text><path fill="none" d="M 0 30.922724853109983 A 30.922724853109983 30.922724853109983 0 0 1 0 -30.922724853109983 A 30.922724853109983 30.922724853109983 0 0 1 0 30.922724853109983" id="CircleText--30" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--30" startOffset="50%">test</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(216.719663954882, 337.57526920658273)"><path fill="none" d="M 0 173.31146206083613 A 173.31146206083613 173.31146206083613 0 0 1 0 -173.31146206083613 A 173.31146206083613 173.31146206083613 0 0 1 0 173.31146206083613" id="CircleText--31" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--31" startOffset="50%">coverband</textPath></text><path fill="none" d="M 0 173.31146206083613 A 173.31146206083613 173.31146206083613 0 0 1 0 -173.31146206083613 A 173.31146206083613 173.31146206083613 0 0 1 0 173.31146206083613" id="CircleText--32" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--32" startOffset="50%">coverband</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(429.99486304915393, 163.42743119638348)"><path fill="none" d="M 0 25.553137938561655 A 25.553137938561655 25.553137938561655 0 0 1 0 -25.553137938561655 A 25.553137938561655 25.553137938561655 0 0 1 0 25.553137938561655" id="CircleText--33" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--33" startOffset="50%">images</textPath></text><path fill="none" d="M 0 25.553137938561655 A 25.553137938561655 25.553137938561655 0 0 1 0 -25.553137938561655 A 25.553137938561655 25.553137938561655 0 0 1 0 25.553137938561655" id="CircleText--34" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--34" startOffset="50%">images</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(500.1972119486214, 164.9155590044101)"><path fill="none" d="M 0 32.80574943627837 A 32.80574943627837 32.80574943627837 0 0 1 0 -32.80574943627837 A 32.80574943627837 32.80574943627837 0 0 1 0 32.80574943627837" id="CircleText--35" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--35" startOffset="50%">colorbox</textPath></text><path fill="none" d="M 0 32.80574943627837 A 32.80574943627837 32.80574943627837 0 0 1 0 -32.80574943627837 A 32.80574943627837 32.80574943627837 0 0 1 0 32.80574943627837" id="CircleText--36" transform="rotate(2)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:14px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--36" startOffset="50%">colorbox</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(798.8291935675396, 547.8666020954927)"><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--37" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--37" startOffset="50%">config</textPath></text><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--38" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--38" startOffset="50%">config</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(766.4509352230351, 588.7020287174994)"><path fill="none" d="M 0 33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 -33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 33.02053532290673" id="CircleText--39" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--39" startOffset="50%">app</textPath></text><path fill="none" d="M 0 33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 -33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 33.02053532290673" id="CircleText--40" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--40" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(737.847577305749, 671.6696925563696)"><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--41" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--41" startOffset="50%">config</textPath></text><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--42" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--42" startOffset="50%">config</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(703.8331610124205, 710.97839359905)"><path fill="none" d="M 0 33.008165471410976 A 33.008165471410976 33.008165471410976 0 0 1 0 -33.008165471410976 A 33.008165471410976 33.008165471410976 0 0 1 0 33.008165471410976" id="CircleText--43" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--43" startOffset="50%">app</textPath></text><path fill="none" d="M 0 33.008165471410976 A 33.008165471410976 33.008165471410976 0 0 1 0 -33.008165471410976 A 33.008165471410976 33.008165471410976 0 0 1 0 33.008165471410976" id="CircleText--44" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--44" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(745.4261001460089, 421.1325391981552)"><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--45" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--45" startOffset="50%">config</textPath></text><path fill="none" d="M 0 20 A 20 20 0 0 1 0 -20 A 20 20 0 0 1 0 20" id="CircleText--46" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--46" startOffset="50%">config</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(713.0478418015039, 461.96796582016145)"><path fill="none" d="M 0 33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 -33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 33.02053532290673" id="CircleText--47" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--47" startOffset="50%">app</textPath></text><path fill="none" d="M 0 33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 -33.02053532290673 A 33.02053532290673 33.02053532290673 0 0 1 0 33.02053532290673" id="CircleText--48" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--48" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(885.1160757896747, 619.3877075929283)"><path fill="none" d="M 0 34.45277014231552 A 34.45277014231552 34.45277014231552 0 0 1 0 -34.45277014231552 A 34.45277014231552 34.45277014231552 0 0 1 0 34.45277014231552" id="CircleText--49" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--49" startOffset="50%">app</textPath></text><path fill="none" d="M 0 34.45277014231552 A 34.45277014231552 34.45277014231552 0 0 1 0 -34.45277014231552 A 34.45277014231552 34.45277014231552 0 0 1 0 34.45277014231552" id="CircleText--50" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--50" startOffset="50%">app</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(594.0351154989643, 566.3657633746082)"><path fill="none" d="M 0 54.32332841316584 A 54.32332841316584 54.32332841316584 0 0 1 0 -54.32332841316584 A 54.32332841316584 54.32332841316584 0 0 1 0 54.32332841316584" id="CircleText--51" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--51" startOffset="50%">utils</textPath></text><path fill="none" d="M 0 54.32332841316584 A 54.32332841316584 54.32332841316584 0 0 1 0 -54.32332841316584 A 54.32332841316584 54.32332841316584 0 0 1 0 54.32332841316584" id="CircleText--52" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--52" startOffset="50%">utils</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(458.8500617878015, 593.611303270355)"><path fill="none" d="M 0 32.247515503957146 A 32.247515503957146 32.247515503957146 0 0 1 0 -32.247515503957146 A 32.247515503957146 32.247515503957146 0 0 1 0 32.247515503957146" id="CircleText--53" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--53" startOffset="50%">reporters</textPath></text><path fill="none" d="M 0 32.247515503957146 A 32.247515503957146 32.247515503957146 0 0 1 0 -32.247515503957146 A 32.247515503957146 32.247515503957146 0 0 1 0 32.247515503957146" id="CircleText--54" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--54" startOffset="50%">reporters</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(415.74389402939596, 523.1522317988723)"><path fill="none" d="M 0 32.05392064923874 A 32.05392064923874 32.05392064923874 0 0 1 0 -32.05392064923874 A 32.05392064923874 32.05392064923874 0 0 1 0 32.05392064923874" id="CircleText--55" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--55" startOffset="50%">integrations</textPath></text><path fill="none" d="M 0 32.05392064923874 A 32.05392064923874 32.05392064923874 0 0 1 0 -32.05392064923874 A 32.05392064923874 32.05392064923874 0 0 1 0 32.05392064923874" id="CircleText--56" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--56" startOffset="50%">integrations</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(524.9928948663716, 654.7638039861382)"><path fill="none" d="M 0 39.49357187372217 A 39.49357187372217 39.49357187372217 0 0 1 0 -39.49357187372217 A 39.49357187372217 39.49357187372217 0 0 1 0 39.49357187372217" id="CircleText--57" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--57" startOffset="50%">collectors</textPath></text><path fill="none" d="M 0 39.49357187372217 A 39.49357187372217 39.49357187372217 0 0 1 0 -39.49357187372217 A 39.49357187372217 39.49357187372217 0 0 1 0 39.49357187372217" id="CircleText--58" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--58" startOffset="50%">collectors</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(505.3304213924775, 487.37955101909495)"><path fill="none" d="M 0 46.1076007272085 A 46.1076007272085 46.1076007272085 0 0 1 0 -46.1076007272085 A 46.1076007272085 46.1076007272085 0 0 1 0 46.1076007272085" id="CircleText--59" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--59" startOffset="50%">adapters</textPath></text><path fill="none" d="M 0 46.1076007272085 A 46.1076007272085 46.1076007272085 0 0 1 0 -46.1076007272085 A 46.1076007272085 46.1076007272085 0 0 1 0 46.1076007272085" id="CircleText--60" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--60" startOffset="50%">adapters</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(238.15357248072655, 347.69864762740275)"><path fill="none" d="M 0 63.04492429715643 A 63.04492429715643 63.04492429715643 0 0 1 0 -63.04492429715643 A 63.04492429715643 63.04492429715643 0 0 1 0 63.04492429715643" id="CircleText--61" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--61" startOffset="50%">utils</textPath></text><path fill="none" d="M 0 63.04492429715643 A 63.04492429715643 63.04492429715643 0 0 1 0 -63.04492429715643 A 63.04492429715643 63.04492429715643 0 0 1 0 63.04492429715643" id="CircleText--62" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--62" startOffset="50%">utils</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(150.38239997180202, 415.6027021128269)"><path fill="none" d="M 0 38.228549048816426 A 38.228549048816426 38.228549048816426 0 0 1 0 -38.228549048816426 A 38.228549048816426 38.228549048816426 0 0 1 0 38.228549048816426" id="CircleText--63" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--63" startOffset="50%">reporters</textPath></text><path fill="none" d="M 0 38.228549048816426 A 38.228549048816426 38.228549048816426 0 0 1 0 -38.228549048816426 A 38.228549048816426 38.228549048816426 0 0 1 0 38.228549048816426" id="CircleText--64" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--64" startOffset="50%">reporters</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(157.24689592365561, 295.84920760056417)"><path fill="none" d="M 0 23.351783556943573 A 23.351783556943573 23.351783556943573 0 0 1 0 -23.351783556943573 A 23.351783556943573 23.351783556943573 0 0 1 0 23.351783556943573" id="CircleText--65" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--65" startOffset="50%">integrations</textPath></text><path fill="none" d="M 0 23.351783556943573 A 23.351783556943573 23.351783556943573 0 0 1 0 -23.351783556943573 A 23.351783556943573 23.351783556943573 0 0 1 0 23.351783556943573" id="CircleText--66" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--66" startOffset="50%">integrations</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(227.14146867600607, 461.32995075917034)"><path fill="none" d="M 0 41.42040599836763 A 41.42040599836763 41.42040599836763 0 0 1 0 -41.42040599836763 A 41.42040599836763 41.42040599836763 0 0 1 0 41.42040599836763" id="CircleText--67" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--67" startOffset="50%">collectors</textPath></text><path fill="none" d="M 0 41.42040599836763 A 41.42040599836763 41.42040599836763 0 0 1 0 -41.42040599836763 A 41.42040599836763 41.42040599836763 0 0 1 0 41.42040599836763" id="CircleText--68" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--68" startOffset="50%">collectors</textPath></text></g><g style="pointer-events:none;transition:all 0.5s ease-out" transform="translate(207.28791388730727, 225.57708296821903)"><path fill="none" d="M 0 53.21851560501153 A 53.21851560501153 53.21851560501153 0 0 1 0 -53.21851560501153 A 53.21851560501153 53.21851560501153 0 0 1 0 53.21851560501153" id="CircleText--69" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151" stroke="white" stroke-width="6"><textPath href="#CircleText--69" startOffset="50%">adapters</textPath></text><path fill="none" d="M 0 53.21851560501153 A 53.21851560501153 53.21851560501153 0 0 1 0 -53.21851560501153 A 53.21851560501153 53.21851560501153 0 0 1 0 53.21851560501153" id="CircleText--70" transform="rotate(3)" style="pointer-events:none"></path><text text-anchor="middle" style="font-size:13px;transition:all 0.5s ease-out" fill="#374151"><textPath href="#CircleText--70" startOffset="50%">adapters</textPath></text></g><g style="fill:#CED6E0;transition:transform 0s ease-out" transform="translate(181.8982561622141, 667.8965963156105)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">coverban...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">coverban...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">coverban...</text></g><g style="fill:#CED6E0;transition:transform 0s ease-out" transform="translate(235.1520986860007, 665.5639261363586)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">coverban...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">coverban...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">coverban...</text></g><g style="fill:#f1e05a;transition:transform 0s ease-out" transform="translate(414.822024149365, 225.1375475360698)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">dependenci...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">dependenci...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">dependenci...</text></g><g style="fill:#563d7c;transition:transform 0s ease-out" transform="translate(512.6954159742601, 234.6698595934178)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">applicatio...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">applicatio...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">applicatio...</text></g><g style="fill:#083fa1;transition:transform 0s ease-out" transform="translate(319.7591050031551, 805.6688459724203)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">README.md</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">README.md</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">README.md</text></g><g style="fill:#083fa1;transition:transform 0s ease-out" transform="translate(392.15237940306065, 806.6964709054038)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">changes.md</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">changes.md</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">changes.md</text></g><g style="fill:#701516;transition:transform 0s ease-out" transform="translate(907.9725663811307, 514.0609705067272)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">benchmark...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">benchmark...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">benchmark...</text></g><g style="fill:#701516;transition:transform 0s ease-out" transform="translate(145.2385972306276, 347.69864762740275)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">configur...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">configur...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">configur...</text></g><g style="fill:#CED6E0;transition:transform 0s ease-out" transform="translate(495.73801288091903, 164.87788235205613)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">loading.gif</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">loading.gif</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">loading.gif</text></g><g style="fill:#701516;transition:transform 0s ease-out" transform="translate(218.90470517807438, 348.8975640701663)"><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;transition:all 0.5s ease-out" fill="#4B5563" text-anchor="middle" dominant-baseline="middle" stroke="white" stroke-width="3" stroke-linejoin="round">source_f...</text><text style="pointer-events:none;opacity:1;font-size:14px;font-weight:500;transition:all 0.5s ease-out" text-anchor="middle" dominant-baseline="middle">source_f...</text><text style="pointer-events:none;opacity:0.9;font-size:14px;font-weight:500;mix-blend-mode:color-burn;transition:all 0.5s ease-out" fill="#110101" text-anchor="middle" dominant-baseline="middle">source_f...</text></g><g transform="translate(940, 740)"><g transform="translate(0, 0)"><circle r="5" fill="#563d7c"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.css</text></g><g transform="translate(0, 15)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.erb</text></g><g transform="translate(0, 30)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.gemspec</text></g><g transform="translate(0, 45)"><circle r="5" fill="#000000"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.gitignore</text></g><g transform="translate(0, 60)"><circle r="5" fill="#ece2a9"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.haml</text></g><g transform="translate(0, 75)"><circle r="5" fill="#f1e05a"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.js</text></g><g transform="translate(0, 90)"><circle r="5" fill="#000080"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.lua</text></g><g transform="translate(0, 105)"><circle r="5" fill="#083fa1"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.md</text></g><g transform="translate(0, 120)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.rake</text></g><g transform="translate(0, 135)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.rb</text></g><g transform="translate(0, 150)"><circle r="5" fill="#701516"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.ru</text></g><g transform="translate(0, 165)"><circle r="5" fill="#89e051"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.sh</text></g><g transform="translate(0, 180)"><circle r="5" fill="#2b2b2b"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.slim</text></g><g transform="translate(0, 195)"><circle r="5" fill="#ff9900"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.svg</text></g><g transform="translate(0, 210)"><circle r="5" fill="#199f4b"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.txt</text></g><g transform="translate(0, 225)"><circle r="5" fill="#cb171e"></circle><text x="10" style="font-size:14px;font-weight:300" dominant-baseline="middle">.yml</text></g><g fill="#9CA3AF" style="font-weight:300;font-style:italic;font-size:12px">each dot sized by file size</g></g></svg>
|
@@ -88,9 +88,9 @@ module Coverband
|
|
88
88
|
|
89
89
|
def coverage(local_type = nil)
|
90
90
|
files_set = files_set(local_type)
|
91
|
-
@redis.pipelined {
|
92
|
-
files_set.
|
93
|
-
|
91
|
+
@redis.pipelined { |pipeline|
|
92
|
+
files_set.each do |key|
|
93
|
+
pipeline.hgetall(key)
|
94
94
|
end
|
95
95
|
}.each_with_object({}) do |data_from_redis, hash|
|
96
96
|
add_coverage_for_file(data_from_redis, hash)
|
data/lib/coverband/version.rb
CHANGED
@@ -3,45 +3,50 @@
|
|
3
3
|
require File.expand_path("../../test_helper", File.dirname(__FILE__))
|
4
4
|
|
5
5
|
class ResqueWorkerTest < Minitest::Test
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
6
|
+
# NOTE: It appears there are some bugs in resque for JRUBY, not coverband, so excluding these tests on JRUBY
|
7
|
+
# if folks hit issues with Coverband and resque this could be a resque issue, reach out with details.
|
8
|
+
# I also highly recommend moving to sidekiq.
|
9
|
+
unless RUBY_PLATFORM == "java"
|
10
|
+
def enqueue_and_run_job
|
11
|
+
Resque.enqueue(TestResqueJob)
|
12
|
+
ENV["QUEUE"] = "resque_coverband"
|
13
|
+
worker = Resque::Worker.new
|
14
|
+
worker.startup
|
15
|
+
worker.work_one_job
|
16
|
+
end
|
13
17
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
+
def setup
|
19
|
+
super
|
20
|
+
Coverband.configure do |config|
|
21
|
+
config.background_reporting_enabled = false
|
22
|
+
end
|
23
|
+
Coverband.start
|
24
|
+
redis = Coverband.configuration.store.instance_eval { @redis }
|
25
|
+
Resque.redis = redis
|
18
26
|
end
|
19
|
-
Coverband.start
|
20
|
-
redis = Coverband.configuration.store.instance_eval { @redis }
|
21
|
-
Resque.redis = redis
|
22
|
-
end
|
23
27
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
+
test "resque job coverage" do
|
29
|
+
relative_job_file = "./test/coverband/integrations/test_resque_job.rb"
|
30
|
+
resque_job_file = File.expand_path("./test_resque_job.rb", File.dirname(__FILE__))
|
31
|
+
require resque_job_file
|
28
32
|
|
29
|
-
|
33
|
+
enqueue_and_run_job
|
30
34
|
|
31
|
-
|
35
|
+
assert !Coverband::Background.running?
|
32
36
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
+
# TODO: There is a test only type issue where the test is looking at eager data
|
38
|
+
# it merged eager and eager for merged and runtime is eager
|
39
|
+
Coverband.runtime_coverage!
|
40
|
+
report = Coverband.configuration.store.get_coverage_report
|
37
41
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
if RUBY_PLATFORM == "java"
|
43
|
+
# NOTE: the todo test only issue seems to be slightly different in JRuby
|
44
|
+
# were nothing is showing up as runtime Coverage... This appears to be a test only issue
|
45
|
+
assert_equal 1, report[Coverband::EAGER_TYPE][relative_job_file]["data"][6]
|
46
|
+
else
|
47
|
+
assert_equal 0, report[Coverband::EAGER_TYPE][relative_job_file]["data"][6]
|
48
|
+
assert_equal 1, report[Coverband::RUNTIME_TYPE][relative_job_file]["data"][6]
|
49
|
+
end
|
45
50
|
end
|
46
51
|
end
|
47
52
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coverband
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.2.
|
4
|
+
version: 5.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Mayer
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-04-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: benchmark-ips
|
@@ -255,14 +255,14 @@ dependencies:
|
|
255
255
|
requirements:
|
256
256
|
- - ">="
|
257
257
|
- !ruby/object:Gem::Version
|
258
|
-
version: '0'
|
258
|
+
version: '3.0'
|
259
259
|
type: :runtime
|
260
260
|
prerelease: false
|
261
261
|
version_requirements: !ruby/object:Gem::Requirement
|
262
262
|
requirements:
|
263
263
|
- - ">="
|
264
264
|
- !ruby/object:Gem::Version
|
265
|
-
version: '0'
|
265
|
+
version: '3.0'
|
266
266
|
description: Rack middleware to measure production code usage (LOC runtime usage)
|
267
267
|
email:
|
268
268
|
- dan@mayerdan.com
|
@@ -495,9 +495,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
495
495
|
version: '2.3'
|
496
496
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
497
497
|
requirements:
|
498
|
-
- - "
|
498
|
+
- - ">="
|
499
499
|
- !ruby/object:Gem::Version
|
500
|
-
version:
|
500
|
+
version: '0'
|
501
501
|
requirements: []
|
502
502
|
rubygems_version: 3.0.3
|
503
503
|
signing_key:
|