heatmap-builder 0.1.0 → 0.2.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 (40) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.gitignore +3 -0
  4. data/CHANGELOG.md +33 -2
  5. data/Gemfile.lock +9 -1
  6. data/README.md +340 -37
  7. data/Rakefile +15 -0
  8. data/bin/generate_examples +234 -0
  9. data/examples/calendar_blue_ocean.svg +1 -0
  10. data/examples/calendar_default.svg +1 -0
  11. data/examples/calendar_github_style.svg +1 -3
  12. data/examples/calendar_purple_vibes.svg +1 -0
  13. data/examples/calendar_red_to_green.svg +1 -0
  14. data/examples/calendar_rounded_corners.svg +1 -0
  15. data/examples/calendar_rounded_corners_max_radius.svg +1 -0
  16. data/examples/calendar_sunday_start.svg +1 -3
  17. data/examples/calendar_warm_sunset.svg +1 -0
  18. data/examples/calendar_with_outside_cells.svg +1 -3
  19. data/examples/large_cells.svg +1 -3
  20. data/examples/linear_blue_ocean.svg +1 -0
  21. data/examples/linear_github_green.svg +1 -0
  22. data/examples/linear_neon_gradient.svg +1 -0
  23. data/examples/linear_purple_vibes.svg +1 -0
  24. data/examples/linear_red_to_green.svg +1 -0
  25. data/examples/linear_rounded_corners.svg +1 -0
  26. data/examples/linear_rounded_corners_max_radius.svg +1 -0
  27. data/examples/linear_warm_sunset.svg +1 -0
  28. data/examples/weekly_progress.svg +1 -3
  29. data/heatmap-builder.gemspec +1 -0
  30. data/lib/heatmap-builder.rb +47 -3
  31. data/lib/heatmap_builder/builder.rb +100 -0
  32. data/lib/heatmap_builder/calendar_heatmap_builder.rb +177 -162
  33. data/lib/heatmap_builder/color_helpers.rb +170 -0
  34. data/lib/heatmap_builder/linear_heatmap_builder.rb +49 -103
  35. data/lib/heatmap_builder/svg_helpers.rb +75 -0
  36. data/lib/heatmap_builder/value_conversion.rb +64 -0
  37. data/lib/heatmap_builder/version.rb +1 -1
  38. metadata +36 -4
  39. data/examples/generate_samples.rb +0 -114
  40. data/mise.toml +0 -2
@@ -0,0 +1,234 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "date"
4
+ $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
5
+ require "heatmap-builder"
6
+
7
+ EXAMPLES_DIR = File.expand_path("../examples", __dir__)
8
+
9
+ def example_path(filename)
10
+ File.join(EXAMPLES_DIR, filename)
11
+ end
12
+
13
+ def generate_example(filename, description, force: false, &block)
14
+ puts "Generating #{description}..."
15
+
16
+ filepath = example_path(filename)
17
+ puts File.basename(filepath)
18
+
19
+ if File.exist?(filepath) && !force
20
+ puts "skipped - already exists"
21
+ else
22
+ svg = block.call
23
+ File.write(filepath, svg)
24
+ puts "created"
25
+ end
26
+
27
+ puts
28
+ end
29
+
30
+ def generate_sample_svgs(force: false)
31
+ Dir.mkdir(EXAMPLES_DIR) unless Dir.exist?(EXAMPLES_DIR)
32
+
33
+ weekly_scores = [0, 1, 3, 2, 4, 1, 0]
34
+ generate_example("weekly_progress.svg", "basic weekly progress", force: force) do
35
+ HeatmapBuilder.build_linear(scores: weekly_scores, cell_size: 18)
36
+ end
37
+
38
+ large_cell_scores = [1, 2, 3, 4, 5, 6, 7]
39
+ generate_example("large_cells.svg", "large cells example", force: force) do
40
+ HeatmapBuilder.build_linear(
41
+ scores: large_cell_scores,
42
+ cell_size: 35,
43
+ cell_spacing: 1,
44
+ font_size: 20
45
+ )
46
+ end
47
+
48
+ puts "Generating linear heatmaps with different palettes..."
49
+ puts
50
+
51
+ linear_scores = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
52
+
53
+ generate_example("linear_github_green.svg", "linear with GitHub Green palette", force: force) do
54
+ HeatmapBuilder.build_linear(
55
+ scores: linear_scores,
56
+ colors: HeatmapBuilder::GITHUB_GREEN,
57
+ cell_size: 18
58
+ )
59
+ end
60
+
61
+ generate_example("linear_blue_ocean.svg", "linear with Blue Ocean palette", force: force) do
62
+ HeatmapBuilder.build_linear(
63
+ scores: linear_scores,
64
+ colors: HeatmapBuilder::BLUE_OCEAN,
65
+ cell_size: 18
66
+ )
67
+ end
68
+
69
+ generate_example("linear_warm_sunset.svg", "linear with Warm Sunset palette", force: force) do
70
+ HeatmapBuilder.build_linear(
71
+ scores: linear_scores,
72
+ colors: HeatmapBuilder::WARM_SUNSET,
73
+ cell_size: 18
74
+ )
75
+ end
76
+
77
+ generate_example("linear_purple_vibes.svg", "linear with Purple Vibes palette", force: force) do
78
+ HeatmapBuilder.build_linear(
79
+ scores: linear_scores,
80
+ colors: HeatmapBuilder::PURPLE_VIBES,
81
+ cell_size: 18
82
+ )
83
+ end
84
+
85
+ generate_example("linear_red_to_green.svg", "linear with Red to Green palette", force: force) do
86
+ HeatmapBuilder.build_linear(
87
+ scores: linear_scores,
88
+ colors: HeatmapBuilder::RED_TO_GREEN,
89
+ cell_size: 18
90
+ )
91
+ end
92
+
93
+ generate_example("linear_neon_gradient.svg", "linear with neon gradient (OKLCH interpolation)", force: force) do
94
+ HeatmapBuilder.build_linear(
95
+ scores: linear_scores,
96
+ colors: {from: "#00FFFF", to: "#FF1493", steps: 5},
97
+ cell_size: 18
98
+ )
99
+ end
100
+
101
+ calendar_data = sample_calendar_data
102
+
103
+ generate_example("calendar_github_style.svg", "GitHub-style calendar", force: force) do
104
+ HeatmapBuilder.build_calendar(
105
+ scores: calendar_data,
106
+ cell_size: 14,
107
+ month_spacing: 0
108
+ )
109
+ end
110
+
111
+ generate_example("calendar_default.svg", "default colors calendar", force: force) do
112
+ HeatmapBuilder.build_calendar(
113
+ scores: calendar_data,
114
+ cell_size: 14,
115
+ month_spacing: 0
116
+ )
117
+ end
118
+
119
+ generate_example("calendar_blue_ocean.svg", "calendar with Blue Ocean palette", force: force) do
120
+ HeatmapBuilder.build_calendar(
121
+ scores: calendar_data,
122
+ colors: HeatmapBuilder::BLUE_OCEAN,
123
+ cell_size: 14,
124
+ month_spacing: 0
125
+ )
126
+ end
127
+
128
+ generate_example("calendar_warm_sunset.svg", "calendar with Warm Sunset palette", force: force) do
129
+ HeatmapBuilder.build_calendar(
130
+ scores: calendar_data,
131
+ colors: HeatmapBuilder::WARM_SUNSET,
132
+ cell_size: 14,
133
+ month_spacing: 0
134
+ )
135
+ end
136
+
137
+ generate_example("calendar_purple_vibes.svg", "calendar with Purple Vibes palette", force: force) do
138
+ HeatmapBuilder.build_calendar(
139
+ scores: calendar_data,
140
+ colors: HeatmapBuilder::PURPLE_VIBES,
141
+ cell_size: 14,
142
+ month_spacing: 0
143
+ )
144
+ end
145
+
146
+ generate_example("calendar_red_to_green.svg", "calendar with Red to Green palette", force: force) do
147
+ HeatmapBuilder.build_calendar(
148
+ scores: calendar_data,
149
+ colors: HeatmapBuilder::RED_TO_GREEN,
150
+ cell_size: 14,
151
+ month_spacing: 0
152
+ )
153
+ end
154
+
155
+ generate_example("calendar_sunday_start.svg", "calendar with Sunday start", force: force) do
156
+ HeatmapBuilder.build_calendar(
157
+ scores: calendar_data,
158
+ cell_size: 14,
159
+ start_of_week: :sunday,
160
+ month_spacing: 0
161
+ )
162
+ end
163
+
164
+ generate_example("calendar_with_outside_cells.svg", "calendar with outside cells", force: force) do
165
+ HeatmapBuilder.build_calendar(
166
+ scores: calendar_data,
167
+ cell_size: 14,
168
+ show_outside_cells: true,
169
+ month_spacing: 0
170
+ )
171
+ end
172
+
173
+ generate_example("linear_rounded_corners.svg", "linear with rounded corners", force: force) do
174
+ HeatmapBuilder.build_linear(
175
+ scores: linear_scores,
176
+ colors: HeatmapBuilder::GITHUB_GREEN,
177
+ cell_size: 18,
178
+ corner_radius: 2
179
+ )
180
+ end
181
+
182
+ generate_example("linear_rounded_corners_max_radius.svg", "linear with rounded corners (max radius)", force: force) do
183
+ HeatmapBuilder.build_linear(
184
+ scores: linear_scores,
185
+ colors: HeatmapBuilder::GITHUB_GREEN,
186
+ cell_size: 18,
187
+ corner_radius: 9
188
+ )
189
+ end
190
+
191
+ generate_example("calendar_rounded_corners.svg", "calendar with rounded corners", force: force) do
192
+ HeatmapBuilder.build_calendar(
193
+ scores: calendar_data,
194
+ cell_size: 14,
195
+ corner_radius: 2,
196
+ month_spacing: 0
197
+ )
198
+ end
199
+
200
+ generate_example("calendar_rounded_corners_max_radius.svg", "calendar with rounded corners (max radius)", force: force) do
201
+ HeatmapBuilder.build_calendar(
202
+ scores: calendar_data,
203
+ cell_size: 14,
204
+ corner_radius: 7,
205
+ month_spacing: 0
206
+ )
207
+ end
208
+
209
+ puts "Done"
210
+ end
211
+
212
+ def sample_calendar_data
213
+ srand(42)
214
+
215
+ current_year = Date.today.year
216
+ start_date = Date.new(current_year, 1, 1)
217
+ end_date = Date.new(current_year, 12, 31)
218
+
219
+ (start_date..end_date).each_with_object({}) do |date, data|
220
+ day_of_year = date.yday
221
+ seasonal_factor = Math.sin((day_of_year - 91.25) * 2 * Math::PI / 365) # Peak in summer
222
+ base_score = (seasonal_factor * 2.7 + 3.6).round
223
+
224
+ score = rand(0..base_score)
225
+ score = score / 2 if [0, 6].include?(date.wday) # Weekend reduction
226
+
227
+ data[date.to_s] = score
228
+ end
229
+ end
230
+
231
+ if __FILE__ == $0
232
+ force = ARGV.include?("--force")
233
+ generate_sample_svgs(force: force)
234
+ end
@@ -0,0 +1 @@
1
+ <svg width="811" height="118.0" xmlns="http://www.w3.org/2000/svg"><text x="8" y="22.8" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#666666">M</text><text x="8" y="37.8" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#666666">T</text><text x="8" y="52.8" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#666666">W</text><text x="8" y="67.8" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#666666">T</text><text x="8" y="82.8" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#666666">F</text><text x="8" y="97.8" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#666666">S</text><text x="8" y="112.8" text-anchor="middle" font-family="Arial, sans-serif" font-size="8" fill="#666666">S</text><rect x="16" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="16.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="16" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="16.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="16" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="16.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="16" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="16.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="16" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="16.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="31" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="31.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="31" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="31.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="31" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="31.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="31" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="31.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="31" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="31.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="31" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="31.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="31" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="31.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="46" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="46.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="46" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="46.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="46" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="46.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="46" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="46.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="46" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="46.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="46" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="46.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="46" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="46.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="61" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="61.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="61" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="61.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="61" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="61.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="61" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="61.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="61" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="61.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="61" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="61.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="61" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="61.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="76" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="76.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="76" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="76.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="76" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="76.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="76" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="76.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="76" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="76.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="76" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="76.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="76" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="76.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="91" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="91.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="91" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="91.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="91" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="91.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="91" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="91.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="91" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="91.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="91" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="91.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="91" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="91.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="106" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="106.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="106" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="106.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="106" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="106.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="106" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="106.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="106" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="106.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="106" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="106.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="106" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="106.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="121" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="121.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="121" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="121.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="121" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="121.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="121" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="121.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="121" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="121.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="121" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="121.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="121" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="121.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="136" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="136.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="136" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="136.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="136" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="136.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="136" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="136.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="136" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="136.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="136" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="136.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="136" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="136.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="151" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="151.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="151" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="151.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="151" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="151.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="151" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="151.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="151" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="151.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="151" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="151.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="151" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="151.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="166" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="166.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="166" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="166.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="166" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="166.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="166" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="166.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="166" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="166.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="166" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="166.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="166" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="166.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="181" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="181.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="181" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="181.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="181" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="181.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="181" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="181.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="181" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="181.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="181" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="181.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="181" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="181.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="196" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="196.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="196" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="196.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="196" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="196.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="196" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="196.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="196" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="196.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="196" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="196.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="196" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="196.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="211" y="13.0" width="14" height="14" fill="#0ea5e9"/><rect x="211.5" y="13.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="211" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="211.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="211" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="211.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="211" y="58.0" width="14" height="14" fill="#38bdf8"/><rect x="211.5" y="58.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="211" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="211.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="211" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="211.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="211" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="211.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="226" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="226.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="226" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="226.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="226" y="43.0" width="14" height="14" fill="#0ea5e9"/><rect x="226.5" y="43.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="226" y="58.0" width="14" height="14" fill="#0ea5e9"/><rect x="226.5" y="58.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="226" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="226.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="226" y="88.0" width="14" height="14" fill="#7dd3fc"/><rect x="226.5" y="88.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="226" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="226.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="241" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="241.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="241" y="28.0" width="14" height="14" fill="#38bdf8"/><rect x="241.5" y="28.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="241" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="241.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="241" y="58.0" width="14" height="14" fill="#38bdf8"/><rect x="241.5" y="58.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="241" y="73.0" width="14" height="14" fill="#0ea5e9"/><rect x="241.5" y="73.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="241" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="241.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="241" y="103.0" width="14" height="14" fill="#7dd3fc"/><rect x="241.5" y="103.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="256" y="13.0" width="14" height="14" fill="#0ea5e9"/><rect x="256.5" y="13.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="256" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="256.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="256" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="256.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="256" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="256.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="256" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="256.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="256" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="256.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="256" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="256.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="271" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="271.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="271" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="271.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="271" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="271.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="271" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="271.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="271" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="271.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="271" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="271.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="271" y="103.0" width="14" height="14" fill="#7dd3fc"/><rect x="271.5" y="103.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="286" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="286.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="286" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="286.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="286" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="286.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="286" y="58.0" width="14" height="14" fill="#38bdf8"/><rect x="286.5" y="58.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="286" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="286.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="286" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="286.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="286" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="286.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="301" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="301.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="301" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="301.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="301" y="43.0" width="14" height="14" fill="#0ea5e9"/><rect x="301.5" y="43.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="301" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="301.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="301" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="301.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="301" y="88.0" width="14" height="14" fill="#7dd3fc"/><rect x="301.5" y="88.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="301" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="301.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="316" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="316.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="316" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="316.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="316" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="316.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="316" y="58.0" width="14" height="14" fill="#0ea5e9"/><rect x="316.5" y="58.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="316" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="316.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="316" y="88.0" width="14" height="14" fill="#7dd3fc"/><rect x="316.5" y="88.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="316" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="316.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="331" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="331.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="331" y="28.0" width="14" height="14" fill="#0ea5e9"/><rect x="331.5" y="28.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="331" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="331.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="331" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="331.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="331" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="331.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="331" y="88.0" width="14" height="14" fill="#7dd3fc"/><rect x="331.5" y="88.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="331" y="103.0" width="14" height="14" fill="#38bdf8"/><rect x="331.5" y="103.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="346" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="346.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="346" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="346.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="346" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="346.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="346" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="346.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="346" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="346.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="346" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="346.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="346" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="346.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="361" y="13.0" width="14" height="14" fill="#0ea5e9"/><rect x="361.5" y="13.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="361" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="361.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="361" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="361.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="361" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="361.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="361" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="361.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="361" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="361.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="361" y="103.0" width="14" height="14" fill="#7dd3fc"/><rect x="361.5" y="103.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="376" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="376.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="376" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="376.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="376" y="43.0" width="14" height="14" fill="#0ea5e9"/><rect x="376.5" y="43.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="376" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="376.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="376" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="376.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="376" y="88.0" width="14" height="14" fill="#7dd3fc"/><rect x="376.5" y="88.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="376" y="103.0" width="14" height="14" fill="#38bdf8"/><rect x="376.5" y="103.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="391" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="391.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="391" y="28.0" width="14" height="14" fill="#0ea5e9"/><rect x="391.5" y="28.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="391" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="391.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="391" y="58.0" width="14" height="14" fill="#0ea5e9"/><rect x="391.5" y="58.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="391" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="391.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="391" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="391.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="391" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="391.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="406" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="406.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="406" y="28.0" width="14" height="14" fill="#38bdf8"/><rect x="406.5" y="28.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="406" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="406.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="406" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="406.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="406" y="73.0" width="14" height="14" fill="#0ea5e9"/><rect x="406.5" y="73.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="406" y="88.0" width="14" height="14" fill="#7dd3fc"/><rect x="406.5" y="88.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="406" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="406.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="421" y="13.0" width="14" height="14" fill="#0ea5e9"/><rect x="421.5" y="13.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="421" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="421.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="421" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="421.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="421" y="58.0" width="14" height="14" fill="#38bdf8"/><rect x="421.5" y="58.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="421" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="421.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="421" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="421.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="421" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="421.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="436" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="436.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="436" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="436.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="436" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="436.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="436" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="436.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="436" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="436.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="436" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="436.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="436" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="436.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="451" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="451.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="451" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="451.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="451" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="451.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="451" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="451.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="451" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="451.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="451" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="451.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="451" y="103.0" width="14" height="14" fill="#7dd3fc"/><rect x="451.5" y="103.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="466" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="466.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="466" y="28.0" width="14" height="14" fill="#38bdf8"/><rect x="466.5" y="28.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="466" y="43.0" width="14" height="14" fill="#0ea5e9"/><rect x="466.5" y="43.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="466" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="466.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="466" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="466.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="466" y="88.0" width="14" height="14" fill="#38bdf8"/><rect x="466.5" y="88.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="466" y="103.0" width="14" height="14" fill="#7dd3fc"/><rect x="466.5" y="103.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="481" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="481.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="481" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="481.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="481" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="481.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="481" y="58.0" width="14" height="14" fill="#0ea5e9"/><rect x="481.5" y="58.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="481" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="481.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="481" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="481.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="481" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="481.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="496" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="496.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="496" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="496.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="496" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="496.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="496" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="496.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="496" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="496.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="496" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="496.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="496" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="496.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="511" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="511.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="511" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="511.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="511" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="511.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="511" y="58.0" width="14" height="14" fill="#38bdf8"/><rect x="511.5" y="58.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="511" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="511.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="511" y="88.0" width="14" height="14" fill="#7dd3fc"/><rect x="511.5" y="88.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="511" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="511.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="526" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="526.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="526" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="526.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="526" y="43.0" width="14" height="14" fill="#0ea5e9"/><rect x="526.5" y="43.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="526" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="526.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="526" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="526.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="526" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="526.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="526" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="526.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="541" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="541.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="541" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="541.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="541" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="541.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="541" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="541.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="541" y="73.0" width="14" height="14" fill="#0ea5e9"/><rect x="541.5" y="73.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="541" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="541.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="541" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="541.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="556" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="556.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="556" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="556.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="556" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="556.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="556" y="58.0" width="14" height="14" fill="#0ea5e9"/><rect x="556.5" y="58.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="556" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="556.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="556" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="556.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="556" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="556.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="571" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="571.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="571" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="571.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="571" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="571.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="571" y="58.0" width="14" height="14" fill="#0ea5e9"/><rect x="571.5" y="58.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="571" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="571.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="571" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="571.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="571" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="571.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="586" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="586.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="586" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="586.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="586" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="586.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="586" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="586.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="586" y="73.0" width="14" height="14" fill="#0ea5e9"/><rect x="586.5" y="73.5" width="13" height="13" fill="none" stroke="#008fd2" stroke-width="1"/><rect x="586" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="586.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="586" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="586.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="601" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="601.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="601" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="601.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="601" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="601.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="601" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="601.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="601" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="601.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="601" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="601.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="601" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="601.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="616" y="13.0" width="14" height="14" fill="#7dd3fc"/><rect x="616.5" y="13.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="616" y="28.0" width="14" height="14" fill="#38bdf8"/><rect x="616.5" y="28.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="616" y="43.0" width="14" height="14" fill="#38bdf8"/><rect x="616.5" y="43.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="616" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="616.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="616" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="616.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="616" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="616.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="616" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="616.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="631" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="631.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="631" y="28.0" width="14" height="14" fill="#38bdf8"/><rect x="631.5" y="28.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="631" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="631.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="631" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="631.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="631" y="73.0" width="14" height="14" fill="#38bdf8"/><rect x="631.5" y="73.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="631" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="631.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="631" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="631.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="646" y="13.0" width="14" height="14" fill="#38bdf8"/><rect x="646.5" y="13.5" width="13" height="13" fill="none" stroke="#03a5df" stroke-width="1"/><rect x="646" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="646.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="646" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="646.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="646" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="646.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="646" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="646.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="646" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="646.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="646" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="646.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="661" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="661.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="661" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="661.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="661" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="661.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="661" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="661.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="661" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="661.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="661" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="661.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="661" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="661.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="676" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="676.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="676" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="676.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="676" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="676.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="676" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="676.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="676" y="73.0" width="14" height="14" fill="#7dd3fc"/><rect x="676.5" y="73.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="676" y="88.0" width="14" height="14" fill="#bae6fd"/><rect x="676.5" y="88.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="676" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="676.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="691" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="691.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="691" y="28.0" width="14" height="14" fill="#7dd3fc"/><rect x="691.5" y="28.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="691" y="43.0" width="14" height="14" fill="#7dd3fc"/><rect x="691.5" y="43.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="691" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="691.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="691" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="691.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="691" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="691.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="691" y="103.0" width="14" height="14" fill="#bae6fd"/><rect x="691.5" y="103.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="706" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="706.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="706" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="706.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="706" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="706.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="706" y="58.0" width="14" height="14" fill="#7dd3fc"/><rect x="706.5" y="58.5" width="13" height="13" fill="none" stroke="#62b8e0" stroke-width="1"/><rect x="706" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="706.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="706" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="706.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="706" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="706.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="721" y="13.0" width="14" height="14" fill="#f0f9ff"/><rect x="721.5" y="13.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="721" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="721.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="721" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="721.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="721" y="58.0" width="14" height="14" fill="#bae6fd"/><rect x="721.5" y="58.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="721" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="721.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="721" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="721.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="721" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="721.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="736" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="736.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="736" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="736.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="736" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="736.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="736" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="736.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="736" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="736.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="736" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="736.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="736" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="736.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="751" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="751.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="751" y="28.0" width="14" height="14" fill="#f0f9ff"/><rect x="751.5" y="28.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="751" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="751.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="751" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="751.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="751" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="751.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="751" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="751.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="751" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="751.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="766" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="766.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="766" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="766.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="766" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="766.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="766" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="766.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="766" y="73.0" width="14" height="14" fill="#f0f9ff"/><rect x="766.5" y="73.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="766" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="766.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="766" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="766.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="781" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="781.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="781" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="781.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="781" y="43.0" width="14" height="14" fill="#f0f9ff"/><rect x="781.5" y="43.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="781" y="58.0" width="14" height="14" fill="#f0f9ff"/><rect x="781.5" y="58.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="781" y="73.0" width="14" height="14" fill="#bae6fd"/><rect x="781.5" y="73.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="781" y="88.0" width="14" height="14" fill="#f0f9ff"/><rect x="781.5" y="88.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="781" y="103.0" width="14" height="14" fill="#f0f9ff"/><rect x="781.5" y="103.5" width="13" height="13" fill="none" stroke="#d0d9df" stroke-width="1"/><rect x="796" y="13.0" width="14" height="14" fill="#bae6fd"/><rect x="796.5" y="13.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="796" y="28.0" width="14" height="14" fill="#bae6fd"/><rect x="796.5" y="28.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><rect x="796" y="43.0" width="14" height="14" fill="#bae6fd"/><rect x="796.5" y="43.5" width="13" height="13" fill="none" stroke="#9dc9df" stroke-width="1"/><text x="17.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Jan</text><text x="77.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Feb</text><text x="137.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Mar</text><text x="212.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Apr</text><text x="272.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">May</text><text x="332.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Jun</text><text x="407.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Jul</text><text x="467.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Aug</text><text x="542.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Sep</text><text x="602.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Oct</text><text x="662.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Nov</text><text x="737.4" y="10.0" text-anchor="start" font-family="Arial, sans-serif" font-size="8" fill="#666666">Dec</text></svg>