geo_pattern 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +80 -16
  4. data/lib/geo_pattern/background.rb +9 -7
  5. data/lib/geo_pattern/background_generators/solid_generator.rb +4 -2
  6. data/lib/geo_pattern/color.rb +3 -1
  7. data/lib/geo_pattern/color_generators/base_color_generator.rb +10 -15
  8. data/lib/geo_pattern/color_generators/simple_generator.rb +2 -0
  9. data/lib/geo_pattern/color_preset.rb +7 -1
  10. data/lib/geo_pattern/errors.rb +2 -0
  11. data/lib/geo_pattern/geo_pattern_task.rb +11 -9
  12. data/lib/geo_pattern/helpers.rb +7 -5
  13. data/lib/geo_pattern/pattern.rb +6 -4
  14. data/lib/geo_pattern/pattern_generator.rb +14 -12
  15. data/lib/geo_pattern/pattern_helpers.rb +29 -11
  16. data/lib/geo_pattern/pattern_preset.rb +3 -1
  17. data/lib/geo_pattern/pattern_sieve.rb +5 -3
  18. data/lib/geo_pattern/pattern_store.rb +20 -18
  19. data/lib/geo_pattern/pattern_validator.rb +4 -2
  20. data/lib/geo_pattern/rake_task.rb +19 -16
  21. data/lib/geo_pattern/roles/comparable_metadata.rb +3 -1
  22. data/lib/geo_pattern/roles/named_generator.rb +3 -1
  23. data/lib/geo_pattern/seed.rb +2 -0
  24. data/lib/geo_pattern/structure.rb +9 -7
  25. data/lib/geo_pattern/structure_generators/base_generator.rb +17 -14
  26. data/lib/geo_pattern/structure_generators/chevrons_generator.rb +19 -17
  27. data/lib/geo_pattern/structure_generators/concentric_circles_generator.rb +19 -17
  28. data/lib/geo_pattern/structure_generators/diamonds_generator.rb +23 -17
  29. data/lib/geo_pattern/structure_generators/hexagons_generator.rb +25 -23
  30. data/lib/geo_pattern/structure_generators/mosaic_squares_generator.rb +35 -35
  31. data/lib/geo_pattern/structure_generators/nested_squares_generator.rb +23 -21
  32. data/lib/geo_pattern/structure_generators/octagons_generator.rb +12 -11
  33. data/lib/geo_pattern/structure_generators/overlapping_circles_generator.rb +13 -11
  34. data/lib/geo_pattern/structure_generators/overlapping_rings_generator.rb +15 -13
  35. data/lib/geo_pattern/structure_generators/plaid_generator.rb +18 -18
  36. data/lib/geo_pattern/structure_generators/plus_signs_generator.rb +24 -18
  37. data/lib/geo_pattern/structure_generators/sine_waves_generator.rb +17 -15
  38. data/lib/geo_pattern/structure_generators/squares_generator.rb +10 -9
  39. data/lib/geo_pattern/structure_generators/tessellation_generator.rb +36 -34
  40. data/lib/geo_pattern/structure_generators/triangles_generator.rb +22 -19
  41. data/lib/geo_pattern/structure_generators/xes_generator.rb +26 -19
  42. data/lib/geo_pattern/svg_image.rb +10 -8
  43. data/lib/geo_pattern/version.rb +3 -1
  44. data/lib/geo_pattern.rb +53 -51
  45. metadata +61 -139
  46. data/.gitignore +0 -18
  47. data/.rspec +0 -3
  48. data/.rubocop.yml +0 -71
  49. data/.simplecov +0 -25
  50. data/.travis.yml +0 -12
  51. data/Gemfile +0 -26
  52. data/Rakefile +0 -86
  53. data/fixtures/generated_patterns/chevrons.svg +0 -1
  54. data/fixtures/generated_patterns/concentric_circles.svg +0 -1
  55. data/fixtures/generated_patterns/diamonds.svg +0 -1
  56. data/fixtures/generated_patterns/diamonds_with_base_color.svg +0 -1
  57. data/fixtures/generated_patterns/diamonds_with_color.svg +0 -1
  58. data/fixtures/generated_patterns/hexagons.svg +0 -1
  59. data/fixtures/generated_patterns/mosaic_squares.svg +0 -1
  60. data/fixtures/generated_patterns/nested_squares.svg +0 -1
  61. data/fixtures/generated_patterns/octagons.svg +0 -1
  62. data/fixtures/generated_patterns/overlapping_circles.svg +0 -1
  63. data/fixtures/generated_patterns/overlapping_rings.svg +0 -1
  64. data/fixtures/generated_patterns/plaid.svg +0 -1
  65. data/fixtures/generated_patterns/plus_signs.svg +0 -1
  66. data/fixtures/generated_patterns/sine_waves.svg +0 -1
  67. data/fixtures/generated_patterns/squares.svg +0 -1
  68. data/fixtures/generated_patterns/tessellation.svg +0 -1
  69. data/fixtures/generated_patterns/triangles.svg +0 -1
  70. data/fixtures/generated_patterns/xes.svg +0 -1
  71. data/geo_pattern.gemspec +0 -29
  72. data/script/bootstrap +0 -30
  73. data/script/console +0 -8
  74. data/script/test +0 -21
  75. data/spec/background_generators/solid_generator_spec.rb +0 -50
  76. data/spec/background_spec.rb +0 -25
  77. data/spec/color_generators/base_color_generator_spec.rb +0 -31
  78. data/spec/color_generators/simple_generator_spec.rb +0 -12
  79. data/spec/color_preset_spec.rb +0 -53
  80. data/spec/color_spec.rb +0 -15
  81. data/spec/geo_pattern_spec.rb +0 -115
  82. data/spec/helpers_spec.rb +0 -65
  83. data/spec/pattern_preset_spec.rb +0 -41
  84. data/spec/pattern_sieve_spec.rb +0 -66
  85. data/spec/pattern_spec.rb +0 -72
  86. data/spec/pattern_store_spec.rb +0 -47
  87. data/spec/pattern_validator_spec.rb +0 -28
  88. data/spec/seed_spec.rb +0 -14
  89. data/spec/spec_helper.rb +0 -18
  90. data/spec/structure_generators/chevrons_generator_spec.rb +0 -5
  91. data/spec/structure_generators/concentric_circles_generator_spec.rb +0 -5
  92. data/spec/structure_generators/diamonds_generator_spec.rb +0 -5
  93. data/spec/structure_generators/hexagons_generator_spec.rb +0 -5
  94. data/spec/structure_generators/mosaic_squares_generator_spec.rb +0 -5
  95. data/spec/structure_generators/nested_squares_generator_spec.rb +0 -5
  96. data/spec/structure_generators/octagons_generator_spec.rb +0 -5
  97. data/spec/structure_generators/overlapping_circles_generator_spec.rb +0 -5
  98. data/spec/structure_generators/overlapping_rings_generator_spec.rb +0 -5
  99. data/spec/structure_generators/plaid_generator_spec.rb +0 -5
  100. data/spec/structure_generators/plus_signs_generator_spec.rb +0 -5
  101. data/spec/structure_generators/sine_waves_generator_spec.rb +0 -5
  102. data/spec/structure_generators/squares_generator_spec.rb +0 -5
  103. data/spec/structure_generators/tessellation_generator_spec.rb +0 -5
  104. data/spec/structure_generators/triangles_generator_spec.rb +0 -5
  105. data/spec/structure_generators/xes_generator_spec.rb +0 -5
  106. data/spec/structure_spec.rb +0 -38
  107. data/spec/support/aruba.rb +0 -24
  108. data/spec/support/helpers/fixtures.rb +0 -12
  109. data/spec/support/kernel.rb +0 -40
  110. data/spec/support/matchers/image.rb +0 -17
  111. data/spec/support/matchers/name.rb +0 -15
  112. data/spec/support/rspec.rb +0 -24
  113. data/spec/support/shared_examples/generator.rb +0 -46
  114. data/spec/support/shared_examples/pattern.rb +0 -31
  115. data/spec/support/shared_examples/pattern_name.rb +0 -7
  116. data/spec/support/shared_examples/structure.rb +0 -48
  117. data/spec/support/string.rb +0 -2
  118. data/spec/svg_spec.rb +0 -12
metadata CHANGED
@@ -1,78 +1,94 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geo_pattern
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Long
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2015-02-16 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: base64
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '0.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '0.1'
13
26
  - !ruby/object:Gem::Dependency
14
27
  name: color
15
28
  requirement: !ruby/object:Gem::Requirement
16
29
  requirements:
17
- - - "~>"
30
+ - - ">="
18
31
  - !ruby/object:Gem::Version
19
32
  version: '1.5'
20
33
  type: :runtime
21
34
  prerelease: false
22
35
  version_requirements: !ruby/object:Gem::Requirement
23
36
  requirements:
24
- - - "~>"
37
+ - - ">="
25
38
  - !ruby/object:Gem::Version
26
39
  version: '1.5'
40
+ - !ruby/object:Gem::Dependency
41
+ name: logger
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '1.4'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '1.4'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '12.0'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '12.0'
27
68
  - !ruby/object:Gem::Dependency
28
69
  name: bundler
29
70
  requirement: !ruby/object:Gem::Requirement
30
71
  requirements:
31
- - - "~>"
72
+ - - ">="
32
73
  - !ruby/object:Gem::Version
33
- version: '1.5'
74
+ version: '2.2'
34
75
  type: :development
35
76
  prerelease: false
36
77
  version_requirements: !ruby/object:Gem::Requirement
37
78
  requirements:
38
- - - "~>"
79
+ - - ">="
39
80
  - !ruby/object:Gem::Version
40
- version: '1.5'
41
- description: Generate SVG beautiful patterns
81
+ version: '2.2'
82
+ description: Generate deterministic, tiling SVG patterns from a string.
42
83
  email:
43
- - jlong@github.com
84
+ - jason@jasonlong.me
44
85
  executables: []
45
86
  extensions: []
46
87
  extra_rdoc_files: []
47
88
  files:
48
- - ".gitignore"
49
- - ".rspec"
50
- - ".rubocop.yml"
51
- - ".simplecov"
52
- - ".travis.yml"
53
- - Gemfile
89
+ - CHANGELOG.md
54
90
  - LICENSE.txt
55
91
  - README.md
56
- - Rakefile
57
- - fixtures/generated_patterns/chevrons.svg
58
- - fixtures/generated_patterns/concentric_circles.svg
59
- - fixtures/generated_patterns/diamonds.svg
60
- - fixtures/generated_patterns/diamonds_with_base_color.svg
61
- - fixtures/generated_patterns/diamonds_with_color.svg
62
- - fixtures/generated_patterns/hexagons.svg
63
- - fixtures/generated_patterns/mosaic_squares.svg
64
- - fixtures/generated_patterns/nested_squares.svg
65
- - fixtures/generated_patterns/octagons.svg
66
- - fixtures/generated_patterns/overlapping_circles.svg
67
- - fixtures/generated_patterns/overlapping_rings.svg
68
- - fixtures/generated_patterns/plaid.svg
69
- - fixtures/generated_patterns/plus_signs.svg
70
- - fixtures/generated_patterns/sine_waves.svg
71
- - fixtures/generated_patterns/squares.svg
72
- - fixtures/generated_patterns/tessellation.svg
73
- - fixtures/generated_patterns/triangles.svg
74
- - fixtures/generated_patterns/xes.svg
75
- - geo_pattern.gemspec
76
92
  - lib/geo_pattern.rb
77
93
  - lib/geo_pattern/background.rb
78
94
  - lib/geo_pattern/background_generators/solid_generator.rb
@@ -114,121 +130,27 @@ files:
114
130
  - lib/geo_pattern/structure_generators/xes_generator.rb
115
131
  - lib/geo_pattern/svg_image.rb
116
132
  - lib/geo_pattern/version.rb
117
- - script/bootstrap
118
- - script/console
119
- - script/test
120
- - spec/background_generators/solid_generator_spec.rb
121
- - spec/background_spec.rb
122
- - spec/color_generators/base_color_generator_spec.rb
123
- - spec/color_generators/simple_generator_spec.rb
124
- - spec/color_preset_spec.rb
125
- - spec/color_spec.rb
126
- - spec/geo_pattern_spec.rb
127
- - spec/helpers_spec.rb
128
- - spec/pattern_preset_spec.rb
129
- - spec/pattern_sieve_spec.rb
130
- - spec/pattern_spec.rb
131
- - spec/pattern_store_spec.rb
132
- - spec/pattern_validator_spec.rb
133
- - spec/seed_spec.rb
134
- - spec/spec_helper.rb
135
- - spec/structure_generators/chevrons_generator_spec.rb
136
- - spec/structure_generators/concentric_circles_generator_spec.rb
137
- - spec/structure_generators/diamonds_generator_spec.rb
138
- - spec/structure_generators/hexagons_generator_spec.rb
139
- - spec/structure_generators/mosaic_squares_generator_spec.rb
140
- - spec/structure_generators/nested_squares_generator_spec.rb
141
- - spec/structure_generators/octagons_generator_spec.rb
142
- - spec/structure_generators/overlapping_circles_generator_spec.rb
143
- - spec/structure_generators/overlapping_rings_generator_spec.rb
144
- - spec/structure_generators/plaid_generator_spec.rb
145
- - spec/structure_generators/plus_signs_generator_spec.rb
146
- - spec/structure_generators/sine_waves_generator_spec.rb
147
- - spec/structure_generators/squares_generator_spec.rb
148
- - spec/structure_generators/tessellation_generator_spec.rb
149
- - spec/structure_generators/triangles_generator_spec.rb
150
- - spec/structure_generators/xes_generator_spec.rb
151
- - spec/structure_spec.rb
152
- - spec/support/aruba.rb
153
- - spec/support/helpers/fixtures.rb
154
- - spec/support/kernel.rb
155
- - spec/support/matchers/image.rb
156
- - spec/support/matchers/name.rb
157
- - spec/support/rspec.rb
158
- - spec/support/shared_examples/generator.rb
159
- - spec/support/shared_examples/pattern.rb
160
- - spec/support/shared_examples/pattern_name.rb
161
- - spec/support/shared_examples/structure.rb
162
- - spec/support/string.rb
163
- - spec/svg_spec.rb
164
133
  homepage: https://github.com/jasonlong/geo_pattern
165
134
  licenses:
166
135
  - MIT
167
- metadata: {}
168
- post_install_message: |
169
- Class style pattern names are deprecated as of 1.3.1
136
+ metadata:
137
+ source_code_uri: https://github.com/jasonlong/geo_pattern
138
+ changelog_uri: https://github.com/jasonlong/geo_pattern/blob/main/CHANGELOG.md
170
139
  rdoc_options: []
171
140
  require_paths:
172
141
  - lib
173
142
  required_ruby_version: !ruby/object:Gem::Requirement
174
143
  requirements:
175
- - - "~>"
144
+ - - ">="
176
145
  - !ruby/object:Gem::Version
177
- version: '2'
146
+ version: '2.6'
178
147
  required_rubygems_version: !ruby/object:Gem::Requirement
179
148
  requirements:
180
149
  - - ">="
181
150
  - !ruby/object:Gem::Version
182
151
  version: '0'
183
152
  requirements: []
184
- rubyforge_project:
185
- rubygems_version: 2.2.0
186
- signing_key:
153
+ rubygems_version: 4.0.23
187
154
  specification_version: 4
188
- summary: Generate SVG beautiful patterns
189
- test_files:
190
- - spec/background_generators/solid_generator_spec.rb
191
- - spec/background_spec.rb
192
- - spec/color_generators/base_color_generator_spec.rb
193
- - spec/color_generators/simple_generator_spec.rb
194
- - spec/color_preset_spec.rb
195
- - spec/color_spec.rb
196
- - spec/geo_pattern_spec.rb
197
- - spec/helpers_spec.rb
198
- - spec/pattern_preset_spec.rb
199
- - spec/pattern_sieve_spec.rb
200
- - spec/pattern_spec.rb
201
- - spec/pattern_store_spec.rb
202
- - spec/pattern_validator_spec.rb
203
- - spec/seed_spec.rb
204
- - spec/spec_helper.rb
205
- - spec/structure_generators/chevrons_generator_spec.rb
206
- - spec/structure_generators/concentric_circles_generator_spec.rb
207
- - spec/structure_generators/diamonds_generator_spec.rb
208
- - spec/structure_generators/hexagons_generator_spec.rb
209
- - spec/structure_generators/mosaic_squares_generator_spec.rb
210
- - spec/structure_generators/nested_squares_generator_spec.rb
211
- - spec/structure_generators/octagons_generator_spec.rb
212
- - spec/structure_generators/overlapping_circles_generator_spec.rb
213
- - spec/structure_generators/overlapping_rings_generator_spec.rb
214
- - spec/structure_generators/plaid_generator_spec.rb
215
- - spec/structure_generators/plus_signs_generator_spec.rb
216
- - spec/structure_generators/sine_waves_generator_spec.rb
217
- - spec/structure_generators/squares_generator_spec.rb
218
- - spec/structure_generators/tessellation_generator_spec.rb
219
- - spec/structure_generators/triangles_generator_spec.rb
220
- - spec/structure_generators/xes_generator_spec.rb
221
- - spec/structure_spec.rb
222
- - spec/support/aruba.rb
223
- - spec/support/helpers/fixtures.rb
224
- - spec/support/kernel.rb
225
- - spec/support/matchers/image.rb
226
- - spec/support/matchers/name.rb
227
- - spec/support/rspec.rb
228
- - spec/support/shared_examples/generator.rb
229
- - spec/support/shared_examples/pattern.rb
230
- - spec/support/shared_examples/pattern_name.rb
231
- - spec/support/shared_examples/structure.rb
232
- - spec/support/string.rb
233
- - spec/svg_spec.rb
234
- has_rdoc:
155
+ summary: Generate beautiful SVG patterns
156
+ test_files: []
data/.gitignore DELETED
@@ -1,18 +0,0 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
18
- test.rb
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format Fuubar
2
- --order rand
3
- --color
data/.rubocop.yml DELETED
@@ -1,71 +0,0 @@
1
- AllCops:
2
- Exclude:
3
- - 'tmp/**/*'
4
- DisplayCopNames: true
5
-
6
- # Configuration parameters: MaxSlashes.
7
- Style/RegexpLiteral:
8
- MaxSlashes: 0
9
-
10
- Metrics/AbcSize:
11
- Enabled: false
12
-
13
- Lint/Debugger:
14
- Enabled: false
15
-
16
- # Offense count: 1
17
- # Configuration parameters: AllowSafeAssignment.
18
- Lint/AssignmentInCondition:
19
- Enabled: false
20
-
21
- # Offense count: 2
22
- Lint/Eval:
23
- Enabled: false
24
-
25
- # Offense count: 6
26
- Metrics/BlockNesting:
27
- Max: 4
28
-
29
- # Offense count: 8
30
- Metrics/CyclomaticComplexity:
31
- Max: 22
32
-
33
- # Offense count: 155
34
- # Configuration parameters: AllowURI, URISchemes.
35
- Metrics/LineLength:
36
- Max: 406
37
-
38
- # Offense count: 24
39
- # Configuration parameters: CountComments.
40
- Metrics/MethodLength:
41
- Max: 78
42
-
43
- # Offense count: 6
44
- Metrics/PerceivedComplexity:
45
- Max: 10
46
-
47
- # Offense count: 2
48
- Style/AccessorMethodName:
49
- Enabled: false
50
-
51
- # Offense count: 36
52
- Style/Documentation:
53
- Enabled: false
54
-
55
- # Offense count: 1
56
- Style/EmptyElse:
57
- Enabled: false
58
-
59
- # Offense count: 10
60
- Style/EvenOdd:
61
- Enabled: false
62
-
63
- # Offense count: 28
64
- # Configuration parameters: EnforcedStyle, SupportedStyles.
65
- Style/For:
66
- Enabled: false
67
-
68
- # Offense count: 3
69
- # Configuration parameters: MaxLineLength.
70
- Style/IfUnlessModifier:
71
- Enabled: false
data/.simplecov DELETED
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- class ExcludeRegexFilter < SimpleCov::Filter
4
- def matches?(source_file)
5
- source_file.filename !~ filter_argument
6
- end
7
- end
8
-
9
- class IncludeRegexFilter < SimpleCov::Filter
10
- def matches?(source_file)
11
- source_file.filename =~ filter_argument
12
- end
13
- end
14
-
15
- SimpleCov.start do
16
- add_filter "/features/"
17
- add_filter "/fixtures/"
18
- add_filter "/spec/"
19
- add_filter "/tmp"
20
- add_filter "/vendor"
21
-
22
- generator_filter = %r{/background_generators/|/structure_generators/}
23
- add_group "lib", ExcludeRegexFilter.new(generator_filter)
24
- add_group "generators", IncludeRegexFilter.new(generator_filter)
25
- end
data/.travis.yml DELETED
@@ -1,12 +0,0 @@
1
- sudo: false
2
- env:
3
- - CI=1
4
- language: ruby
5
- bundler_args: --without debug
6
- rvm:
7
- - 2.0.0
8
- - 2.1.5
9
- - 2.2.0
10
- install: script/bootstrap
11
- script: script/test
12
- cache: bundler
data/Gemfile DELETED
@@ -1,26 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- # Specify your gem's dependencies in geopatterns.gemspec
4
- gemspec
5
-
6
- group :development, :test do
7
- gem 'rspec'
8
- gem 'aruba'
9
- gem 'rake'
10
- gem 'rubocop'
11
- gem 'simplecov'
12
- gem 'fuubar'
13
- gem 'inch'
14
- gem 'activesupport'
15
- gem 'pry'
16
- gem 'pry-rescue'
17
- gem 'pry-stack_explorer'
18
-
19
- if RUBY_VERSION >= '2'
20
- gem 'byebug'
21
- gem 'pry-byebug'
22
- else
23
- gem 'debugger'
24
- gem 'pry-debugger'
25
- end
26
- end
data/Rakefile DELETED
@@ -1,86 +0,0 @@
1
- $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
2
-
3
- desc 'Default task running Tests'
4
- task default: :test
5
-
6
- desc 'Run test suite'
7
- task test: ['test:rubocop', 'test:rspec']
8
- task 'test:ci' => ['bootstrap:gem_requirements', :test]
9
- namespace :test do
10
- task :rspec do
11
- sh 'rspec'
12
- end
13
-
14
- task :rubocop do
15
- sh 'rubocop'
16
- end
17
-
18
- task 'rubocop:autocorrect' do
19
- sh 'rubocop --auto-correct'
20
- end
21
-
22
- task 'inch' do
23
- sh 'inch'
24
- end
25
- end
26
-
27
- namespace :gem do
28
- require 'bundler/gem_tasks'
29
- end
30
-
31
- unless ENV.key?('CI')
32
- require 'geo_pattern/geo_pattern_task'
33
-
34
- namespace :fixtures do
35
- string = 'Mastering Markdown'
36
-
37
- GeoPattern::GeoPatternTask.new(
38
- name: 'generate',
39
- description: 'Generate patterns to make them available as fixtures',
40
- data: {
41
- 'fixtures/generated_patterns/chevrons.svg' => { input: string, patterns: [:chevrons] },
42
- 'fixtures/generated_patterns/concentric_circles.svg' => { input: string, patterns: [:concentric_circles] },
43
- 'fixtures/generated_patterns/diamonds.svg' => { input: string, patterns: [:diamonds] },
44
- 'fixtures/generated_patterns/hexagons.svg' => { input: string, patterns: [:hexagons] },
45
- 'fixtures/generated_patterns/mosaic_squares.svg' => { input: string, patterns: [:mosaic_squares] },
46
- 'fixtures/generated_patterns/nested_squares.svg' => { input: string, patterns: [:nested_squares] },
47
- 'fixtures/generated_patterns/octagons.svg' => { input: string, patterns: [:octagons] },
48
- 'fixtures/generated_patterns/overlapping_circles.svg' => { input: string, patterns: [:overlapping_circles] },
49
- 'fixtures/generated_patterns/overlapping_rings.svg' => { input: string, patterns: [:overlapping_rings] },
50
- 'fixtures/generated_patterns/plaid.svg' => { input: string, patterns: [:plaid] },
51
- 'fixtures/generated_patterns/plus_signs.svg' => { input: string, patterns: [:plus_signs] },
52
- 'fixtures/generated_patterns/sine_waves.svg' => { input: string, patterns: [:sine_waves] },
53
- 'fixtures/generated_patterns/squares.svg' => { input: string, patterns: [:squares] },
54
- 'fixtures/generated_patterns/tessellation.svg' => { input: string, patterns: [:tessellation] },
55
- 'fixtures/generated_patterns/triangles.svg' => { input: string, patterns: [:triangles] },
56
- 'fixtures/generated_patterns/xes.svg' => { input: string, patterns: [:xes] },
57
- 'fixtures/generated_patterns/diamonds_with_color.svg' => { input: string, patterns: [:diamonds], color: '#00ff00' },
58
- 'fixtures/generated_patterns/diamonds_with_base_color.svg' => { input: string, patterns: [:diamonds], base_color: '#00ff00' }
59
- }
60
- )
61
- end
62
- end
63
-
64
- desc 'Bootstrap project'
65
- task bootstrap: %w(bootstrap:bundler)
66
-
67
- desc 'Bootstrap project for ci'
68
- task 'bootstrap:ci' do
69
- Rake::Task['bootstrap'].invoke
70
- end
71
-
72
- namespace :bootstrap do
73
- desc 'Bootstrap bundler'
74
- task :bundler do |t|
75
- puts t.comment
76
- sh 'gem install bundler'
77
- sh 'bundle install'
78
- end
79
-
80
- desc 'Require gems'
81
- task :gem_requirements do |t|
82
- puts t.comment
83
- require 'bundler'
84
- Bundler.require
85
- end
86
- end
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="459" height="303"><rect x="0" y="0" width="100%" height="100%" fill="rgb(63, 144, 77)" /><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.14133333333333334" stroke-width="1" transform="translate(0.0,-38.33333333333333)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.14133333333333334" stroke-width="1" transform="translate(0.0,265.26666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.08933333333333333" stroke-width="1" transform="translate(76.66666666666666,-38.33333333333333)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.08933333333333333" stroke-width="1" transform="translate(76.66666666666666,265.26666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.13266666666666665" stroke-width="1" transform="translate(153.33333333333331,-38.33333333333333)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.13266666666666665" stroke-width="1" transform="translate(153.33333333333331,265.26666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.15" stroke-width="1" transform="translate(229.99999999999997,-38.33333333333333)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.15" stroke-width="1" transform="translate(229.99999999999997,265.26666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.098" stroke-width="1" transform="translate(306.66666666666663,-38.33333333333333)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.098" stroke-width="1" transform="translate(306.66666666666663,265.26666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.07200000000000001" stroke-width="1" transform="translate(383.33333333333326,-38.33333333333333)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.07200000000000001" stroke-width="1" transform="translate(383.33333333333326,265.26666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.07200000000000001" stroke-width="1" transform="translate(0.0,12.266666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.08066666666666666" stroke-width="1" transform="translate(76.66666666666666,12.266666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.07200000000000001" stroke-width="1" transform="translate(153.33333333333331,12.266666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.08066666666666666" stroke-width="1" transform="translate(229.99999999999997,12.266666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.15" stroke-width="1" transform="translate(306.66666666666663,12.266666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.11533333333333334" stroke-width="1" transform="translate(383.33333333333326,12.266666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.13266666666666665" stroke-width="1" transform="translate(0.0,62.86666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.046" stroke-width="1" transform="translate(76.66666666666666,62.86666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.10666666666666667" stroke-width="1" transform="translate(153.33333333333331,62.86666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.046" stroke-width="1" transform="translate(229.99999999999997,62.86666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.08933333333333333" stroke-width="1" transform="translate(306.66666666666663,62.86666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.046" stroke-width="1" transform="translate(383.33333333333326,62.86666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.12400000000000001" stroke-width="1" transform="translate(0.0,113.46666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.06333333333333334" stroke-width="1" transform="translate(76.66666666666666,113.46666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.046" stroke-width="1" transform="translate(153.33333333333331,113.46666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.03733333333333333" stroke-width="1" transform="translate(229.99999999999997,113.46666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.028666666666666667" stroke-width="1" transform="translate(306.66666666666663,113.46666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.07200000000000001" stroke-width="1" transform="translate(383.33333333333326,113.46666666666665)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.08066666666666666" stroke-width="1" transform="translate(0.0,164.06666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.098" stroke-width="1" transform="translate(76.66666666666666,164.06666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.098" stroke-width="1" transform="translate(153.33333333333331,164.06666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.11533333333333334" stroke-width="1" transform="translate(229.99999999999997,164.06666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.14133333333333334" stroke-width="1" transform="translate(306.66666666666663,164.06666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.11533333333333334" stroke-width="1" transform="translate(383.33333333333326,164.06666666666666)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.05466666666666667" stroke-width="1" transform="translate(0.0,214.66666666666663)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.11533333333333334" stroke-width="1" transform="translate(76.66666666666666,214.66666666666663)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.05466666666666667" stroke-width="1" transform="translate(153.33333333333331,214.66666666666663)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#222" fill-opacity="0.06333333333333334" stroke-width="1" transform="translate(229.99999999999997,214.66666666666663)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.07200000000000001" stroke-width="1" transform="translate(306.66666666666663,214.66666666666663)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g><g stroke="#000" stroke-opacity="0.02" fill="#ddd" fill-opacity="0.05466666666666667" stroke-width="1" transform="translate(383.33333333333326,214.66666666666663)" ><polyline points="0,0,38.33333333333333,26.066666666666663,38.33333333333333,76.66666666666666,0,50.599999999999994,0,0" /><polyline points="38.33333333333333,26.066666666666663,76.66666666666666,0,76.66666666666666,50.599999999999994,38.33333333333333,76.66666666666666,38.33333333333333,26.066666666666663" /></g></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="408" height="408"><rect x="0" y="0" width="100%" height="100%" fill="rgb(63, 144, 77)" /><circle cx="34.0" cy="34.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.14133333333333334;stroke-width:11.333333333333332px;" /><circle cx="34.0" cy="34.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.05466666666666667" /><circle cx="102.0" cy="34.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.08933333333333333;stroke-width:11.333333333333332px;" /><circle cx="102.0" cy="34.0" r="14.166666666666666" fill="#222" fill-opacity="0.08066666666666666" /><circle cx="170.0" cy="34.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.13266666666666665;stroke-width:11.333333333333332px;" /><circle cx="170.0" cy="34.0" r="14.166666666666666" fill="#222" fill-opacity="0.11533333333333334" /><circle cx="238.0" cy="34.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.15;stroke-width:11.333333333333332px;" /><circle cx="238.0" cy="34.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.12400000000000001" /><circle cx="306.0" cy="34.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.098;stroke-width:11.333333333333332px;" /><circle cx="306.0" cy="34.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.05466666666666667" /><circle cx="374.0" cy="34.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.07200000000000001;stroke-width:11.333333333333332px;" /><circle cx="374.0" cy="34.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.07200000000000001" /><circle cx="34.0" cy="102.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.07200000000000001;stroke-width:11.333333333333332px;" /><circle cx="34.0" cy="102.0" r="14.166666666666666" fill="#222" fill-opacity="0.06333333333333334" /><circle cx="102.0" cy="102.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.08066666666666666;stroke-width:11.333333333333332px;" /><circle cx="102.0" cy="102.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.05466666666666667" /><circle cx="170.0" cy="102.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.07200000000000001;stroke-width:11.333333333333332px;" /><circle cx="170.0" cy="102.0" r="14.166666666666666" fill="#222" fill-opacity="0.11533333333333334" /><circle cx="238.0" cy="102.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.08066666666666666;stroke-width:11.333333333333332px;" /><circle cx="238.0" cy="102.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.05466666666666667" /><circle cx="306.0" cy="102.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.15;stroke-width:11.333333333333332px;" /><circle cx="306.0" cy="102.0" r="14.166666666666666" fill="#222" fill-opacity="0.11533333333333334" /><circle cx="374.0" cy="102.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.11533333333333334;stroke-width:11.333333333333332px;" /><circle cx="374.0" cy="102.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.14133333333333334" /><circle cx="34.0" cy="170.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.13266666666666665;stroke-width:11.333333333333332px;" /><circle cx="34.0" cy="170.0" r="14.166666666666666" fill="#222" fill-opacity="0.11533333333333334" /><circle cx="102.0" cy="170.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.046;stroke-width:11.333333333333332px;" /><circle cx="102.0" cy="170.0" r="14.166666666666666" fill="#222" fill-opacity="0.098" /><circle cx="170.0" cy="170.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.10666666666666667;stroke-width:11.333333333333332px;" /><circle cx="170.0" cy="170.0" r="14.166666666666666" fill="#222" fill-opacity="0.098" /><circle cx="238.0" cy="170.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.046;stroke-width:11.333333333333332px;" /><circle cx="238.0" cy="170.0" r="14.166666666666666" fill="#222" fill-opacity="0.08066666666666666" /><circle cx="306.0" cy="170.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.08933333333333333;stroke-width:11.333333333333332px;" /><circle cx="306.0" cy="170.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.07200000000000001" /><circle cx="374.0" cy="170.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.046;stroke-width:11.333333333333332px;" /><circle cx="374.0" cy="170.0" r="14.166666666666666" fill="#222" fill-opacity="0.028666666666666667" /><circle cx="34.0" cy="238.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.12400000000000001;stroke-width:11.333333333333332px;" /><circle cx="34.0" cy="238.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.03733333333333333" /><circle cx="102.0" cy="238.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.06333333333333334;stroke-width:11.333333333333332px;" /><circle cx="102.0" cy="238.0" r="14.166666666666666" fill="#222" fill-opacity="0.046" /><circle cx="170.0" cy="238.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.046;stroke-width:11.333333333333332px;" /><circle cx="170.0" cy="238.0" r="14.166666666666666" fill="#222" fill-opacity="0.06333333333333334" /><circle cx="238.0" cy="238.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.03733333333333333;stroke-width:11.333333333333332px;" /><circle cx="238.0" cy="238.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.12400000000000001" /><circle cx="306.0" cy="238.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.028666666666666667;stroke-width:11.333333333333332px;" /><circle cx="306.0" cy="238.0" r="14.166666666666666" fill="#222" fill-opacity="0.046" /><circle cx="374.0" cy="238.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.07200000000000001;stroke-width:11.333333333333332px;" /><circle cx="374.0" cy="238.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.08933333333333333" /><circle cx="34.0" cy="306.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.08066666666666666;stroke-width:11.333333333333332px;" /><circle cx="34.0" cy="306.0" r="14.166666666666666" fill="#222" fill-opacity="0.046" /><circle cx="102.0" cy="306.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.098;stroke-width:11.333333333333332px;" /><circle cx="102.0" cy="306.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.10666666666666667" /><circle cx="170.0" cy="306.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.098;stroke-width:11.333333333333332px;" /><circle cx="170.0" cy="306.0" r="14.166666666666666" fill="#222" fill-opacity="0.046" /><circle cx="238.0" cy="306.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.11533333333333334;stroke-width:11.333333333333332px;" /><circle cx="238.0" cy="306.0" r="14.166666666666666" fill="#222" fill-opacity="0.13266666666666665" /><circle cx="306.0" cy="306.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.14133333333333334;stroke-width:11.333333333333332px;" /><circle cx="306.0" cy="306.0" r="14.166666666666666" fill="#222" fill-opacity="0.11533333333333334" /><circle cx="374.0" cy="306.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.11533333333333334;stroke-width:11.333333333333332px;" /><circle cx="374.0" cy="306.0" r="14.166666666666666" fill="#222" fill-opacity="0.15" /><circle cx="34.0" cy="374.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.05466666666666667;stroke-width:11.333333333333332px;" /><circle cx="34.0" cy="374.0" r="14.166666666666666" fill="#222" fill-opacity="0.08066666666666666" /><circle cx="102.0" cy="374.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.11533333333333334;stroke-width:11.333333333333332px;" /><circle cx="102.0" cy="374.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.07200000000000001" /><circle cx="170.0" cy="374.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.05466666666666667;stroke-width:11.333333333333332px;" /><circle cx="170.0" cy="374.0" r="14.166666666666666" fill="#222" fill-opacity="0.08066666666666666" /><circle cx="238.0" cy="374.0" r="28.333333333333332" fill="none" stroke="#222" style="opacity:0.06333333333333334;stroke-width:11.333333333333332px;" /><circle cx="238.0" cy="374.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.07200000000000001" /><circle cx="306.0" cy="374.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.07200000000000001;stroke-width:11.333333333333332px;" /><circle cx="306.0" cy="374.0" r="14.166666666666666" fill="#ddd" fill-opacity="0.07200000000000001" /><circle cx="374.0" cy="374.0" r="28.333333333333332" fill="none" stroke="#ddd" style="opacity:0.05466666666666667;stroke-width:11.333333333333332px;" /><circle cx="374.0" cy="374.0" r="14.166666666666666" fill="#222" fill-opacity="0.098" /></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="284" height="94"><rect x="0" y="0" width="100%" height="100%" fill="rgb(63, 144, 77)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.14133333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(-23.666666666666668, -15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.14133333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(260.3333333333333, -15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.14133333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(-23.666666666666668, 78.33333333333333)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.14133333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(260.3333333333333, 78.33333333333333)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.08933333333333333" stroke="#000" stroke-opacity="0.02" transform="translate(23.666666666666668, -15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.08933333333333333" stroke="#000" stroke-opacity="0.02" transform="translate(23.666666666666668, 78.33333333333333)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.13266666666666665" stroke="#000" stroke-opacity="0.02" transform="translate(71.0, -15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.13266666666666665" stroke="#000" stroke-opacity="0.02" transform="translate(71.0, 78.33333333333333)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.15" stroke="#000" stroke-opacity="0.02" transform="translate(118.33333333333333, -15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.15" stroke="#000" stroke-opacity="0.02" transform="translate(118.33333333333333, 78.33333333333333)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.098" stroke="#000" stroke-opacity="0.02" transform="translate(165.66666666666669, -15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.098" stroke="#000" stroke-opacity="0.02" transform="translate(165.66666666666669, 78.33333333333333)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.07200000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(213.00000000000003, -15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.07200000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(213.00000000000003, 78.33333333333333)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.07200000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(0.0, 0.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.07200000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(284.0, 0.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.08066666666666666" stroke="#000" stroke-opacity="0.02" transform="translate(47.333333333333336, 0.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.07200000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(94.66666666666667, 0.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.08066666666666666" stroke="#000" stroke-opacity="0.02" transform="translate(142.0, 0.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.15" stroke="#000" stroke-opacity="0.02" transform="translate(189.33333333333334, 0.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.11533333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(236.66666666666669, 0.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.13266666666666665" stroke="#000" stroke-opacity="0.02" transform="translate(-23.666666666666668, 15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.13266666666666665" stroke="#000" stroke-opacity="0.02" transform="translate(260.3333333333333, 15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.046" stroke="#000" stroke-opacity="0.02" transform="translate(23.666666666666668, 15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.10666666666666667" stroke="#000" stroke-opacity="0.02" transform="translate(71.0, 15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.046" stroke="#000" stroke-opacity="0.02" transform="translate(118.33333333333333, 15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.08933333333333333" stroke="#000" stroke-opacity="0.02" transform="translate(165.66666666666669, 15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.046" stroke="#000" stroke-opacity="0.02" transform="translate(213.00000000000003, 15.666666666666666)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.12400000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(0.0, 31.333333333333336)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.12400000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(284.0, 31.333333333333336)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.06333333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(47.333333333333336, 31.333333333333336)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.046" stroke="#000" stroke-opacity="0.02" transform="translate(94.66666666666667, 31.333333333333336)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.03733333333333333" stroke="#000" stroke-opacity="0.02" transform="translate(142.0, 31.333333333333336)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.028666666666666667" stroke="#000" stroke-opacity="0.02" transform="translate(189.33333333333334, 31.333333333333336)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.07200000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(236.66666666666669, 31.333333333333336)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.08066666666666666" stroke="#000" stroke-opacity="0.02" transform="translate(-23.666666666666668, 47.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.08066666666666666" stroke="#000" stroke-opacity="0.02" transform="translate(260.3333333333333, 47.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.098" stroke="#000" stroke-opacity="0.02" transform="translate(23.666666666666668, 47.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.098" stroke="#000" stroke-opacity="0.02" transform="translate(71.0, 47.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.11533333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(118.33333333333333, 47.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.14133333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(165.66666666666669, 47.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.11533333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(213.00000000000003, 47.0)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.05466666666666667" stroke="#000" stroke-opacity="0.02" transform="translate(0.0, 62.666666666666664)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.05466666666666667" stroke="#000" stroke-opacity="0.02" transform="translate(284.0, 62.666666666666664)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.11533333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(47.333333333333336, 62.666666666666664)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.05466666666666667" stroke="#000" stroke-opacity="0.02" transform="translate(94.66666666666667, 62.666666666666664)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#222" fill-opacity="0.06333333333333334" stroke="#000" stroke-opacity="0.02" transform="translate(142.0, 62.666666666666664)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.07200000000000001" stroke="#000" stroke-opacity="0.02" transform="translate(189.33333333333334, 62.666666666666664)" /><polyline points="23.666666666666668, 0, 47.333333333333336, 15.666666666666666, 23.666666666666668, 31.333333333333332, 0, 15.666666666666666" fill="#ddd" fill-opacity="0.05466666666666667" stroke="#000" stroke-opacity="0.02" transform="translate(236.66666666666669, 62.666666666666664)" /></svg>