sequenceserver 3.1.3 → 3.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 (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sequenceserver/api_errors.rb +18 -0
  3. data/lib/sequenceserver/blast/hit.rb +1 -2
  4. data/lib/sequenceserver/blast/job.rb +15 -5
  5. data/lib/sequenceserver/blast/report.rb +5 -1
  6. data/lib/sequenceserver/database.rb +5 -1
  7. data/lib/sequenceserver/job.rb +26 -10
  8. data/lib/sequenceserver/makeblastdb.rb +2 -1
  9. data/lib/sequenceserver/routes.rb +37 -12
  10. data/lib/sequenceserver/version.rb +1 -1
  11. data/lib/sequenceserver/zip_file_generator.rb +1 -1
  12. data/public/404.html +8 -16
  13. data/public/css/app.css +794 -111
  14. data/public/css/app.min.css +1 -1
  15. data/public/css/sequenceserver.min.css +1 -8
  16. data/public/js/circos.js +103 -96
  17. data/public/{packages/circosJS@1.7.0.js → js/circosjs.js} +156 -778
  18. data/public/js/cloud_share_modal.js +55 -58
  19. data/public/js/collapse_preferences.js +13 -15
  20. data/public/js/databases.js +4 -3
  21. data/public/js/databases_tree.js +51 -30
  22. data/public/js/error_modal.js +35 -22
  23. data/public/js/exporter.js +2 -0
  24. data/public/js/form.js +43 -7
  25. data/public/js/grapher.js +94 -92
  26. data/public/js/hit.js +21 -19
  27. data/public/js/hits.js +45 -38
  28. data/public/js/hits_overview.js +8 -27
  29. data/public/js/hsp.js +140 -144
  30. data/public/js/jquery_world.js +24 -15
  31. data/public/js/kablammo.js +14 -10
  32. data/public/js/length_distribution.js +23 -37
  33. data/public/js/null_plugins/report_plugins.js +3 -5
  34. data/public/js/options.js +17 -19
  35. data/public/js/query.js +36 -35
  36. data/public/js/report/alignment_results.js +18 -0
  37. data/public/js/report/graphical_overview.js +38 -0
  38. data/public/js/report/report_header.js +28 -0
  39. data/public/js/report/run_summary.js +43 -0
  40. data/public/js/report.js +62 -102
  41. data/public/js/report_root.js +3 -3
  42. data/public/js/search.js +5 -2
  43. data/public/js/search_button.js +85 -78
  44. data/public/js/sequence.js +11 -22
  45. data/public/js/sequence_modal.js +38 -37
  46. data/public/js/share_url.js +5 -5
  47. data/public/js/sidebar.js +148 -86
  48. data/public/js/svgExporter.js +8 -3
  49. data/public/js/tests/form.spec.js +1 -1
  50. data/public/js/tests/visualisation_helpers.spec.js +28 -0
  51. data/public/js/visualisation_helpers.js +24 -27
  52. data/public/sequenceserver-report.min.js +1 -1
  53. data/public/sequenceserver-report.min.js.LICENSE.txt +1 -88
  54. data/public/sequenceserver-report.min.js.map +1 -1
  55. data/public/sequenceserver-search.min.js +1 -1
  56. data/public/sequenceserver-search.min.js.LICENSE.txt +0 -30
  57. data/public/sequenceserver-search.min.js.map +1 -1
  58. data/views/error.erb +1 -1
  59. data/views/layout.erb +123 -130
  60. data/views/report.erb +3 -2
  61. data/views/search.erb +10 -14
  62. metadata +13 -26
  63. data/public/css/fonts.css +0 -31
  64. data/public/css/grapher.css +0 -670
  65. data/public/css/sequenceserver.css +0 -509
  66. data/public/vendor/github/mbostock/d3@3.5.6/d3.js +0 -9506
  67. data/public/vendor/github/mbostock/d3@3.5.6.js +0 -1
  68. data/views/search_layout.erb +0 -153
data/public/css/app.css CHANGED
@@ -2,120 +2,803 @@
2
2
  @tailwind components;
3
3
  @tailwind utilities;
4
4
 
5
+ @page {
6
+ margin: 0;
7
+ }
8
+ @media print {
9
+ html, body {
10
+ width: 255mm;
11
+ }
12
+ }
13
+
14
+ /* Stop the body scrolling while a modal is open */
15
+ body:has(dialog[open]) {
16
+ overflow: hidden;
17
+ }
18
+
19
+ @layer base {
20
+ html {
21
+ font-family: "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
22
+ }
23
+ }
24
+
25
+ /* Graph */
26
+ .grapher {
27
+ @apply m-0;
28
+ }
29
+
30
+ svg text {
31
+ @apply text-[10px];
32
+ }
33
+
34
+ svg .axis path,
35
+ .axis line {
36
+ @apply fill-none stroke-[black];
37
+ shape-rendering: crispEdges;
38
+ }
39
+
40
+ .grapher.circos .caption {
41
+ @apply text-base p-0;
42
+ }
43
+
44
+ .alignment-overview.svg-container {
45
+ @apply text-center;
46
+ }
47
+
48
+ .length-distribution.svg-container,
49
+ .kablammo.svg-container {
50
+ @apply h-[150px];
51
+ }
52
+
53
+ svg .bar:hover {
54
+ @apply fill-[orangered];
55
+ }
56
+
57
+ .polygon:hover {
58
+ @apply font-bold;
59
+ }
60
+
61
+ sup {
62
+ @apply static align-super;
63
+ }
64
+
65
+ /* Pre tag */
66
+ pre.indL,
67
+ pre.seqF {
68
+ @apply bg-[#f5f5f5] p-2.5 my-2.5 break-all break-words border border-[#ccc] text-[11px] text-[#333] md:text-[13px];
69
+ }
70
+
71
+ pre.seqF {
72
+ @apply border-l-0 rounded-r-md;
73
+ }
74
+
75
+ pre.indL {
76
+ @apply rounded-l-md pr-0;
77
+ }
78
+
79
+ .side-nav.active {
80
+ @apply text-seqorange font-bold;
81
+ }
82
+
83
+ .disabled {
84
+ @apply cursor-not-allowed pointer-events-none text-gray-400;
85
+ }
5
86
 
6
- /* Backported bootstrap tooltip styles */
87
+ li:hover .download-fasta-of-selected:not(.disabled),
88
+ li:hover .download-alignment-of-selected:not(.disabled) {
89
+ @apply bg-gray-200 text-seqorange;
90
+ }
91
+
92
+ /* Text size */
93
+ .hit-text,
94
+ .pre-text,
95
+ .search-button-text,
96
+ .side-tooltip-text {
97
+ font-size: 0.7rem;
98
+ }
99
+
100
+ /* HSP */
101
+ .pre-item {
102
+ font-size: 11px;
103
+ color: #333;
104
+ }
105
+
106
+ /* Override jQuery UI tooltip styles */
107
+ .ui-tooltip {
108
+ background-color: #000 !important;
109
+ border-radius: 8px !important;
110
+ padding: 10px !important;
111
+ box-shadow: none !important;
112
+ border: 1px solid #000 !important;
113
+ }
7
114
 
8
- .tooltip {
115
+ .ui-tooltip-content {
116
+ font-size: 11px;
117
+ text-align: center;
118
+ color: #fff;
119
+ }
120
+
121
+ .arrow {
122
+ width: 70px;
123
+ height: 16px;
124
+ overflow: hidden;
9
125
  position: absolute;
10
- z-index: 1070;
11
- display: block;
12
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
13
- font-style: normal;
14
- font-weight: 400;
15
- line-height: 1.42857143;
16
- line-break: auto;
17
- text-align: left;
18
- text-align: start;
19
- text-decoration: none;
20
- text-shadow: none;
21
- text-transform: none;
22
- letter-spacing: normal;
23
- word-break: normal;
24
- word-spacing: normal;
25
- word-wrap: normal;
26
- white-space: normal;
27
- font-size: 12px;
28
- filter: alpha(opacity=0);
29
- opacity: 0;
30
- }
31
- .tooltip.in {
32
- filter: alpha(opacity=90);
33
- opacity: 0.9;
34
- }
35
- .tooltip.top {
36
- padding: 5px 0;
37
- margin-top: -3px;
38
- }
39
- .tooltip.right {
40
- padding: 0 5px;
41
- margin-left: 3px;
42
- }
43
- .tooltip.bottom {
44
- padding: 5px 0;
45
- margin-top: 3px;
46
- }
47
- .tooltip.left {
48
- padding: 0 5px;
49
- margin-left: -3px;
50
- }
51
- .tooltip.top .tooltip-arrow {
52
- bottom: 0;
53
- left: 50%;
54
- margin-left: -5px;
55
- border-width: 5px 5px 0;
56
- border-top-color: #000;
57
- }
58
- .tooltip.top-left .tooltip-arrow {
59
- right: 5px;
60
- bottom: 0;
61
- margin-bottom: -5px;
62
- border-width: 5px 5px 0;
63
- border-top-color: #000;
64
- }
65
- .tooltip.top-right .tooltip-arrow {
66
- bottom: 0;
67
- left: 5px;
68
- margin-bottom: -5px;
69
- border-width: 5px 5px 0;
70
- border-top-color: #000;
71
- }
72
- .tooltip.right .tooltip-arrow {
73
- top: 50%;
74
- left: 0;
75
- margin-top: -5px;
76
- border-width: 5px 5px 5px 0;
77
- border-right-color: #000;
78
- }
79
- .tooltip.left .tooltip-arrow {
80
- top: 50%;
81
- right: 0;
82
- margin-top: -5px;
83
- border-width: 5px 0 5px 5px;
84
- border-left-color: #000;
85
- }
86
- .tooltip.bottom .tooltip-arrow {
87
- top: 0;
88
126
  left: 50%;
89
- margin-left: -5px;
90
- border-width: 0 5px 5px;
91
- border-bottom-color: #000;
92
- }
93
- .tooltip.bottom-left .tooltip-arrow {
94
- top: 0;
95
- right: 5px;
96
- margin-top: -5px;
97
- border-width: 0 5px 5px;
98
- border-bottom-color: #000;
99
- }
100
- .tooltip.bottom-right .tooltip-arrow {
101
- top: 0;
102
- left: 5px;
103
- margin-top: -5px;
104
- border-width: 0 5px 5px;
105
- border-bottom-color: #000;
106
- }
107
- .tooltip-inner {
108
- max-width: 200px;
109
- padding: 3px 8px;
110
- color: #fff;
111
- text-align: center;
112
- background-color: #000;
113
- border-radius: 4px;
127
+ margin-left: -32px;
128
+ bottom: -16px;
129
+ }
130
+
131
+ .arrow.top {
132
+ top: -16px;
133
+ bottom: auto;
134
+ }
135
+
136
+ .arrow.left {
137
+ left: 20%;
114
138
  }
115
- .tooltip-arrow {
139
+
140
+ .arrow::after {
141
+ content: "";
116
142
  position: absolute;
117
- width: 0;
118
- height: 0;
119
- border-color: transparent;
120
- border-style: solid;
121
- }
143
+ left: 20px;
144
+ top: -20px;
145
+ width: 25px;
146
+ height: 25px;
147
+ box-shadow: 6px 5px 9px -9px black;
148
+ transform: rotate(45deg);
149
+ background-color: #000;
150
+ border: 1px solide #000;
151
+ }
152
+
153
+ .arrow.top::after {
154
+ bottom: -20px;
155
+ top: auto;
156
+ }
157
+
158
+ .tooltip-wrap {
159
+ width: 300px;
160
+ }
161
+
162
+ .tooltip-arrow-rotate {
163
+ transform: rotate(270deg);
164
+ }
165
+
166
+ /* Modal */
167
+ ::backdrop {
168
+ @apply fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity;
169
+ }
170
+
171
+ /**
172
+ * See:
173
+ * http://stackoverflow.com/questions/11002820/why-should-we-include-ttf-eot-woff-svg-in-a-font-face
174
+ * */
175
+ @font-face {
176
+ font-family: 'Source Sans Pro';
177
+ font-style: normal;
178
+ font-weight: 400;
179
+ src:
180
+ local('Source Sans Pro'),
181
+ local('SourceSansPro-Regular'),
182
+ url('../fonts/Source_Sans_Pro_400.woff2') format('woff2'),
183
+ url('../fonts/Source_Sans_Pro_400.woff') format('woff'),
184
+ url('../fonts/Source_Sans_Pro_400.ttf') format('truetype'),
185
+ url('../fonts/Source_Sans_Pro_400.svg') format('svg'),
186
+ url('../fonts/Source_Sans_Pro_400.eot') format('embedded-opentype');
187
+ }
188
+
189
+ @font-face {
190
+ font-family: 'Source Sans Pro';
191
+ font-style: normal;
192
+ font-weight: 700;
193
+ src:
194
+ local('Source Sans Pro Bold'),
195
+ local('SourceSansPro-Bold'),
196
+ url('../fonts/Source_Sans_Pro_700.woff2') format('woff2'),
197
+ url('../fonts/Source_Sans_Pro_700.woff') format('woff'),
198
+ url('../fonts/Source_Sans_Pro_700.ttf') format('truetype'),
199
+ url('../fonts/Source_Sans_Pro_700.svg') format('svg'),
200
+ url('../fonts/Source_Sans_Pro_700.eot') format('embedded-opentype');
201
+ }
202
+
203
+
204
+ /**
205
+ * These are taken from Kablammo project I think and are necessary for
206
+ * downloading functionality.
207
+ */
208
+ svg .RdYlBu .q0-2 { fill: rgb(252, 141, 89); }
209
+ svg .RdYlBu .q1-2 { fill: rgb(255, 255, 191); }
210
+
211
+ svg .RdYlBu .q0-3 { fill: rgb(252, 141, 89); }
212
+ svg .RdYlBu .q1-3 { fill: rgb(255, 255, 191); }
213
+ svg .RdYlBu .q2-3 { fill: rgb(145, 191, 219); }
214
+
215
+ svg .RdYlBu .q0-4 { fill: rgb(215, 25, 28); }
216
+ svg .RdYlBu .q1-4 { fill: rgb(253, 174, 97); }
217
+ svg .RdYlBu .q2-4 { fill: rgb(171, 217, 233); }
218
+ svg .RdYlBu .q3-4 { fill: rgb(44, 123, 182); }
219
+
220
+ svg .RdYlBu .q0-5 { fill: rgb(215, 25, 28); }
221
+ svg .RdYlBu .q1-5 { fill: rgb(253, 174, 97); }
222
+ svg .RdYlBu .q2-5 { fill: rgb(255, 255, 191); }
223
+ svg .RdYlBu .q3-5 { fill: rgb(171, 217, 233); }
224
+ svg .RdYlBu .q4-5 { fill: rgb(44, 123, 182); }
225
+
226
+ svg .RdYlBu .q0-6 { fill: rgb(215, 48, 39); }
227
+ svg .RdYlBu .q1-6 { fill: rgb(252, 141, 89); }
228
+ svg .RdYlBu .q2-6 { fill: rgb(254, 224, 144); }
229
+ svg .RdYlBu .q3-6 { fill: rgb(224, 243, 248); }
230
+ svg .RdYlBu .q4-6 { fill: rgb(145, 191, 219); }
231
+ svg .RdYlBu .q5-6 { fill: rgb(69, 117, 180); }
232
+
233
+ svg .RdYlBu .q0-7 { fill: rgb(215, 48, 39); }
234
+ svg .RdYlBu .q1-7 { fill: rgb(252, 141, 89); }
235
+ svg .RdYlBu .q2-7 { fill: rgb(254, 224, 144); }
236
+ svg .RdYlBu .q3-7 { fill: rgb(255, 255, 191); }
237
+ svg .RdYlBu .q4-7 { fill: rgb(224, 243, 248); }
238
+ svg .RdYlBu .q5-7 { fill: rgb(145, 191, 219); }
239
+ svg .RdYlBu .q6-7 { fill: rgb(69, 117, 180); }
240
+
241
+ svg .RdYlBu .q0-8 { fill: rgb(215, 48, 39); }
242
+ svg .RdYlBu .q1-8 { fill: rgb(244, 109, 67); }
243
+ svg .RdYlBu .q2-8 { fill: rgb(253, 174, 97); }
244
+ svg .RdYlBu .q3-8 { fill: rgb(254, 224, 144); }
245
+ svg .RdYlBu .q4-8 { fill: rgb(224, 243, 248); }
246
+ svg .RdYlBu .q5-8 { fill: rgb(171, 217, 233); }
247
+ svg .RdYlBu .q6-8 { fill: rgb(116, 173, 209); }
248
+ svg .RdYlBu .q7-8 { fill: rgb(69, 117, 180); }
249
+
250
+ svg .RdYlBu .q0-9 { fill: rgb(215, 48, 39); }
251
+ svg .RdYlBu .q1-9 { fill: rgb(244, 109, 67); }
252
+ svg .RdYlBu .q2-9 { fill: rgb(253, 174, 97); }
253
+ svg .RdYlBu .q3-9 { fill: rgb(254, 224, 144); }
254
+ svg .RdYlBu .q4-9 { fill: rgb(255, 255, 191); }
255
+ svg .RdYlBu .q5-9 { fill: rgb(224, 243, 248); }
256
+ svg .RdYlBu .q6-9 { fill: rgb(171, 217, 233); }
257
+ svg .RdYlBu .q7-9 { fill: rgb(116, 173, 209); }
258
+ svg .RdYlBu .q8-9 { fill: rgb(69, 117, 180); }
259
+
260
+ svg .RdYlBu .q0-10 { fill: rgb(165, 0, 38); }
261
+ svg .RdYlBu .q1-10 { fill: rgb(215, 48, 39); }
262
+ svg .RdYlBu .q2-10 { fill: rgb(244, 109, 67); }
263
+ svg .RdYlBu .q3-10 { fill: rgb(253, 174, 97); }
264
+ svg .RdYlBu .q4-10 { fill: rgb(254, 224, 144); }
265
+ svg .RdYlBu .q5-10 { fill: rgb(224, 243, 248); }
266
+ svg .RdYlBu .q6-10 { fill: rgb(171, 217, 233); }
267
+ svg .RdYlBu .q7-10 { fill: rgb(116, 173, 209); }
268
+ svg .RdYlBu .q8-10 { fill: rgb(69, 117, 180); }
269
+ svg .RdYlBu .q9-10 { fill: rgb(49, 54, 149); }
270
+
271
+ svg .RdYlBu .q0-11 { fill: rgb(165, 0, 38); }
272
+ svg .RdYlBu .q1-11 { fill: rgb(215, 48, 39); }
273
+ svg .RdYlBu .q2-11 { fill: rgb(244, 109, 67); }
274
+ svg .RdYlBu .q3-11 { fill: rgb(253, 174, 97); }
275
+ svg .RdYlBu .q4-11 { fill: rgb(254, 224, 144); }
276
+ svg .RdYlBu .q5-11 { fill: rgb(255, 255, 191); }
277
+ svg .RdYlBu .q6-11 { fill: rgb(224, 243, 248); }
278
+ svg .RdYlBu .q7-11 { fill: rgb(171, 217, 233); }
279
+ svg .RdYlBu .q8-11 { fill: rgb(116, 173, 209); }
280
+ svg .RdYlBu .q9-11 { fill: rgb(69, 117, 180); }
281
+ svg .RdYlBu .q10-11 { fill: rgb(49, 54, 149); }
282
+
283
+ svg {
284
+ --a: #d50000;
285
+ --b: #b71c1c;
286
+ --c: #c62828;
287
+ --d: #d32f2f;
288
+ --e: #e53935;
289
+ --f: #f44336;
290
+ --g: #ff1744;
291
+ --h: #ef5350;
292
+ --i: #ff5252;
293
+ --j: #e65100;
294
+ --k: #ef6c00;
295
+ --l: #ffc107;
296
+ --m: #fbc02d;
297
+ --n: #ffd600;
298
+ --o: #fdd835;
299
+ --p: #ff0;
300
+ --q: #ffeb3b;
301
+ --r: #ffea00;
302
+ --s: #ffee58;
303
+ --t: #fff178;
304
+ --u: #fff59d;
305
+ --v: #fff9c4;
306
+ --w: #81d4fa;
307
+ --x: #4fc3f7;
308
+ --y: #64b5f6;
309
+ --z: #42a5f5;
310
+ --aa: #2196f3;
311
+ --ab: #3949ab;
312
+ --ac: #3040af;
313
+ --ad: #303f9f;
314
+ --ae: #0d47a1;
315
+ --af: #1a237e;
316
+ }
317
+
318
+ /* // Copy code from 30 to make 28.
319
+ // yellow deletes p,m,t,o,q,u,n,s
320
+ // red deletes g,f,d,h,k,i,c
321
+ // blue deletes ac,ad,ab,z,y,x */
322
+
323
+ svg .RdYlBu .q0-12 { fill: var(--a); }
324
+ svg .RdYlBu .q1-12 { fill: var(--b); }
325
+ svg .RdYlBu .q2-12 { fill: var(--e); }
326
+ svg .RdYlBu .q3-12 { fill: var(--j); }
327
+ svg .RdYlBu .q4-12 { fill: var(--l); }
328
+ svg .RdYlBu .q5-12 { fill: var(--p); }
329
+ svg .RdYlBu .q6-12 { fill: var(--r); }
330
+ svg .RdYlBu .q7-12 { fill: var(--v); }
331
+ svg .RdYlBu .q8-12 { fill: var(--w); }
332
+ svg .RdYlBu .q9-12 { fill: var(--aa); }
333
+ svg .RdYlBu .q10-12 { fill: var(--ae); }
334
+ svg .RdYlBu .q11-12 { fill: var(--af); }
335
+
336
+ svg .RdYlBu .q0-13 { fill: var(--a); }
337
+ svg .RdYlBu .q1-13 { fill: var(--b); }
338
+ svg .RdYlBu .q2-13 { fill: var(--e); }
339
+ svg .RdYlBu .q3-13 { fill: var(--j); }
340
+ svg .RdYlBu .q4-13 { fill: var(--l); }
341
+ svg .RdYlBu .q5-13 { fill: var(--n); }
342
+ svg .RdYlBu .q6-13 { fill: var(--r); }
343
+ svg .RdYlBu .q7-13 { fill: var(--s); }
344
+ svg .RdYlBu .q8-13 { fill: var(--v); }
345
+ svg .RdYlBu .q9-13 { fill: var(--w); }
346
+ svg .RdYlBu .q10-13 { fill: var(--aa); }
347
+ svg .RdYlBu .q11-13 { fill: var(--ae); }
348
+ svg .RdYlBu .q12-13 { fill: var(--af); }
349
+
350
+ svg .RdYlBu .q0-14 { fill: var(--a); }
351
+ svg .RdYlBu .q1-14 { fill: var(--b); }
352
+ svg .RdYlBu .q2-14 { fill: var(--e); }
353
+ svg .RdYlBu .q3-14 { fill: var(--j); }
354
+ svg .RdYlBu .q4-14 { fill: var(--l); }
355
+ svg .RdYlBu .q5-14 { fill: var(--n); }
356
+ svg .RdYlBu .q6-14 { fill: var(--p); }
357
+ svg .RdYlBu .q7-14 { fill: var(--r); }
358
+ svg .RdYlBu .q8-14 { fill: var(--s); }
359
+ svg .RdYlBu .q9-14 { fill: var(--v); }
360
+ svg .RdYlBu .q10-14 { fill: var(--w); }
361
+ svg .RdYlBu .q11-14 { fill: var(--aa); }
362
+ svg .RdYlBu .q12-14 { fill: var(--ae); }
363
+ svg .RdYlBu .q13-14 { fill: var(--af); }
364
+
365
+ svg .RdYlBu .q0-15 { fill: var(--a); }
366
+ svg .RdYlBu .q1-15 { fill: var(--b); }
367
+ svg .RdYlBu .q2-15 { fill: var(--c); }
368
+ svg .RdYlBu .q3-15 { fill: var(--e); }
369
+ svg .RdYlBu .q4-15 { fill: var(--j); }
370
+ svg .RdYlBu .q5-15 { fill: var(--l); }
371
+ svg .RdYlBu .q6-15 { fill: var(--n); }
372
+ svg .RdYlBu .q7-15 { fill: var(--r); }
373
+ svg .RdYlBu .q8-15 { fill: var(--s); }
374
+ svg .RdYlBu .q9-15 { fill: var(--v); }
375
+ svg .RdYlBu .q10-15 { fill: var(--w); }
376
+ svg .RdYlBu .q11-15 { fill: var(--x); }
377
+ svg .RdYlBu .q12-15 { fill: var(--aa); }
378
+ svg .RdYlBu .q13-15 { fill: var(--ae); }
379
+ svg .RdYlBu .q14-15 { fill: var(--af); }
380
+
381
+ svg .RdYlBu .q0-16 { fill: var(--a); }
382
+ svg .RdYlBu .q1-16 { fill: var(--b); }
383
+ svg .RdYlBu .q2-16 { fill: var(--c); }
384
+ svg .RdYlBu .q3-16 { fill: var(--e); }
385
+ svg .RdYlBu .q4-16 { fill: var(--j); }
386
+ svg .RdYlBu .q5-16 { fill: var(--l); }
387
+ svg .RdYlBu .q6-16 { fill: var(--n); }
388
+ svg .RdYlBu .q7-16 { fill: var(--p); }
389
+ svg .RdYlBu .q8-16 { fill: var(--r); }
390
+ svg .RdYlBu .q9-16 { fill: var(--s); }
391
+ svg .RdYlBu .q10-16 { fill: var(--v); }
392
+ svg .RdYlBu .q11-16 { fill: var(--w); }
393
+ svg .RdYlBu .q12-16 { fill: var(--x); }
394
+ svg .RdYlBu .q13-16 { fill: var(--aa); }
395
+ svg .RdYlBu .q14-16 { fill: var(--ae); }
396
+ svg .RdYlBu .q15-16 { fill: var(--af); }
397
+
398
+ svg .RdYlBu .q0-17 { fill: var(--a); }
399
+ svg .RdYlBu .q1-17 { fill: var(--b); }
400
+ svg .RdYlBu .q2-17 { fill: var(--c); }
401
+ svg .RdYlBu .q3-17 { fill: var(--e); }
402
+ svg .RdYlBu .q4-17 { fill: var(--i); }
403
+ svg .RdYlBu .q5-17 { fill: var(--j); }
404
+ svg .RdYlBu .q6-17 { fill: var(--l); }
405
+ svg .RdYlBu .q7-17 { fill: var(--n); }
406
+ svg .RdYlBu .q8-17 { fill: var(--r); }
407
+ svg .RdYlBu .q9-17 { fill: var(--s); }
408
+ svg .RdYlBu .q10-17 { fill: var(--v); }
409
+ svg .RdYlBu .q11-17 { fill: var(--w); }
410
+ svg .RdYlBu .q12-17 { fill: var(--x); }
411
+ svg .RdYlBu .q13-17 { fill: var(--y); }
412
+ svg .RdYlBu .q14-17 { fill: var(--aa); }
413
+ svg .RdYlBu .q15-17 { fill: var(--ae); }
414
+ svg .RdYlBu .q16-17 { fill: var(--af); }
415
+
416
+ svg .RdYlBu .q0-18 { fill: var(--a); }
417
+ svg .RdYlBu .q1-18 { fill: var(--b); }
418
+ svg .RdYlBu .q2-18 { fill: var(--c); }
419
+ svg .RdYlBu .q3-18 { fill: var(--e); }
420
+ svg .RdYlBu .q4-18 { fill: var(--i); }
421
+ svg .RdYlBu .q5-18 { fill: var(--j); }
422
+ svg .RdYlBu .q6-18 { fill: var(--l); }
423
+ svg .RdYlBu .q7-18 { fill: var(--n); }
424
+ svg .RdYlBu .q8-18 { fill: var(--p); }
425
+ svg .RdYlBu .q9-18 { fill: var(--r); }
426
+ svg .RdYlBu .q10-18 { fill: var(--s); }
427
+ svg .RdYlBu .q11-18 { fill: var(--v); }
428
+ svg .RdYlBu .q12-18 { fill: var(--w); }
429
+ svg .RdYlBu .q13-18 { fill: var(--x); }
430
+ svg .RdYlBu .q14-18 { fill: var(--y); }
431
+ svg .RdYlBu .q15-18 { fill: var(--aa); }
432
+ svg .RdYlBu .q16-18 { fill: var(--ae); }
433
+ svg .RdYlBu .q17-18 { fill: var(--af); }
434
+
435
+ svg .RdYlBu .q0-19 { fill: var(--a); }
436
+ svg .RdYlBu .q1-19 { fill: var(--b); }
437
+ svg .RdYlBu .q2-19 { fill: var(--c); }
438
+ svg .RdYlBu .q3-19 { fill: var(--e); }
439
+ svg .RdYlBu .q4-19 { fill: var(--i); }
440
+ svg .RdYlBu .q5-19 { fill: var(--j); }
441
+ svg .RdYlBu .q6-19 { fill: var(--k); }
442
+ svg .RdYlBu .q7-19 { fill: var(--l); }
443
+ svg .RdYlBu .q8-19 { fill: var(--n); }
444
+ svg .RdYlBu .q9-19 { fill: var(--r); }
445
+ svg .RdYlBu .q10-19 { fill: var(--s); }
446
+ svg .RdYlBu .q11-19 { fill: var(--u); }
447
+ svg .RdYlBu .q12-19 { fill: var(--v); }
448
+ svg .RdYlBu .q13-19 { fill: var(--w); }
449
+ svg .RdYlBu .q14-19 { fill: var(--x); }
450
+ svg .RdYlBu .q15-19 { fill: var(--y); }
451
+ svg .RdYlBu .q16-19 { fill: var(--aa); }
452
+ svg .RdYlBu .q17-19 { fill: var(--ae); }
453
+ svg .RdYlBu .q18-19 { fill: var(--af); }
454
+
455
+ svg .RdYlBu .q0-20 { fill: var(--a); }
456
+ svg .RdYlBu .q1-20 { fill: var(--b); }
457
+ svg .RdYlBu .q2-20 { fill: var(--c); }
458
+ svg .RdYlBu .q3-20 { fill: var(--e); }
459
+ svg .RdYlBu .q4-20 { fill: var(--i); }
460
+ svg .RdYlBu .q5-20 { fill: var(--j); }
461
+ svg .RdYlBu .q6-20 { fill: var(--k); }
462
+ svg .RdYlBu .q7-20 { fill: var(--l); }
463
+ svg .RdYlBu .q8-20 { fill: var(--n); }
464
+ svg .RdYlBu .q9-20 { fill: var(--p); }
465
+ svg .RdYlBu .q10-20 { fill: var(--r); }
466
+ svg .RdYlBu .q11-20 { fill: var(--s); }
467
+ svg .RdYlBu .q12-20 { fill: var(--u); }
468
+ svg .RdYlBu .q13-20 { fill: var(--v); }
469
+ svg .RdYlBu .q14-20 { fill: var(--w); }
470
+ svg .RdYlBu .q15-20 { fill: var(--x); }
471
+ svg .RdYlBu .q16-20 { fill: var(--y); }
472
+ svg .RdYlBu .q17-20 { fill: var(--aa); }
473
+ svg .RdYlBu .q18-20 { fill: var(--ae); }
474
+ svg .RdYlBu .q19-20 { fill: var(--af); }
475
+
476
+ svg .RdYlBu .q0-21 { fill: var(--a); }
477
+ svg .RdYlBu .q1-21 { fill: var(--b); }
478
+ svg .RdYlBu .q2-21 { fill: var(--c); }
479
+ svg .RdYlBu .q3-21 { fill: var(--e); }
480
+ svg .RdYlBu .q4-21 { fill: var(--i); }
481
+ svg .RdYlBu .q5-21 { fill: var(--j); }
482
+ svg .RdYlBu .q6-21 { fill: var(--k); }
483
+ svg .RdYlBu .q7-21 { fill: var(--l); }
484
+ svg .RdYlBu .q8-21 { fill: var(--n); }
485
+ svg .RdYlBu .q9-21 { fill: var(--o); }
486
+ svg .RdYlBu .q10-21 { fill: var(--q); }
487
+ svg .RdYlBu .q11-21 { fill: var(--r); }
488
+ svg .RdYlBu .q12-21 { fill: var(--s); }
489
+ svg .RdYlBu .q13-21 { fill: var(--u); }
490
+ svg .RdYlBu .q14-21 { fill: var(--v); }
491
+ svg .RdYlBu .q15-21 { fill: var(--w); }
492
+ svg .RdYlBu .q16-21 { fill: var(--x); }
493
+ svg .RdYlBu .q17-21 { fill: var(--y); }
494
+ svg .RdYlBu .q18-21 { fill: var(--aa); }
495
+ svg .RdYlBu .q19-21 { fill: var(--ae); }
496
+ svg .RdYlBu .q20-21 { fill: var(--af); }
497
+
498
+ svg .RdYlBu .q0-22 { fill: var(--a); }
499
+ svg .RdYlBu .q1-22 { fill: var(--b); }
500
+ svg .RdYlBu .q2-22 { fill: var(--c); }
501
+ svg .RdYlBu .q3-22 { fill: var(--e); }
502
+ svg .RdYlBu .q4-22 { fill: var(--i); }
503
+ svg .RdYlBu .q5-22 { fill: var(--j); }
504
+ svg .RdYlBu .q6-22 { fill: var(--k); }
505
+ svg .RdYlBu .q7-22 { fill: var(--l); }
506
+ svg .RdYlBu .q8-22 { fill: var(--n); }
507
+ svg .RdYlBu .q9-22 { fill: var(--o); }
508
+ svg .RdYlBu .q10-22 { fill: var(--p); }
509
+ svg .RdYlBu .q11-22 { fill: var(--q); }
510
+ svg .RdYlBu .q12-22 { fill: var(--r); }
511
+ svg .RdYlBu .q13-22 { fill: var(--s); }
512
+ svg .RdYlBu .q14-22 { fill: var(--u); }
513
+ svg .RdYlBu .q15-22 { fill: var(--v); }
514
+ svg .RdYlBu .q16-22 { fill: var(--w); }
515
+ svg .RdYlBu .q17-22 { fill: var(--x); }
516
+ svg .RdYlBu .q18-22 { fill: var(--y); }
517
+ svg .RdYlBu .q19-22 { fill: var(--aa); }
518
+ svg .RdYlBu .q20-22 { fill: var(--ae); }
519
+ svg .RdYlBu .q21-22 { fill: var(--af); }
520
+
521
+ svg .RdYlBu .q0-23 { fill: var(--a); }
522
+ svg .RdYlBu .q1-23 { fill: var(--b); }
523
+ svg .RdYlBu .q2-23 { fill: var(--c); }
524
+ svg .RdYlBu .q3-23 { fill: var(--e); }
525
+ svg .RdYlBu .q4-23 { fill: var(--i); }
526
+ svg .RdYlBu .q5-23 { fill: var(--j); }
527
+ svg .RdYlBu .q6-23 { fill: var(--k); }
528
+ svg .RdYlBu .q7-23 { fill: var(--l); }
529
+ svg .RdYlBu .q8-23 { fill: var(--m); }
530
+ svg .RdYlBu .q9-23 { fill: var(--n); }
531
+ svg .RdYlBu .q10-23 { fill: var(--o); }
532
+ svg .RdYlBu .q11-23 { fill: var(--q); }
533
+ svg .RdYlBu .q12-23 { fill: var(--r); }
534
+ svg .RdYlBu .q13-23 { fill: var(--s); }
535
+ svg .RdYlBu .q14-23 { fill: var(--t); }
536
+ svg .RdYlBu .q15-23 { fill: var(--u); }
537
+ svg .RdYlBu .q16-23 { fill: var(--v); }
538
+ svg .RdYlBu .q17-23 { fill: var(--w); }
539
+ svg .RdYlBu .q18-23 { fill: var(--x); }
540
+ svg .RdYlBu .q19-23 { fill: var(--y); }
541
+ svg .RdYlBu .q20-23 { fill: var(--aa); }
542
+ svg .RdYlBu .q21-23 { fill: var(--ae); }
543
+ svg .RdYlBu .q22-23 { fill: var(--af); }
544
+
545
+ svg .RdYlBu .q0-24 { fill: var(--a); }
546
+ svg .RdYlBu .q1-24 { fill: var(--b); }
547
+ svg .RdYlBu .q2-24 { fill: var(--c); }
548
+ svg .RdYlBu .q3-24 { fill: var(--e); }
549
+ svg .RdYlBu .q4-24 { fill: var(--i); }
550
+ svg .RdYlBu .q5-24 { fill: var(--j); }
551
+ svg .RdYlBu .q6-24 { fill: var(--k); }
552
+ svg .RdYlBu .q7-24 { fill: var(--l); }
553
+ svg .RdYlBu .q8-24 { fill: var(--m); }
554
+ svg .RdYlBu .q9-24 { fill: var(--n); }
555
+ svg .RdYlBu .q10-24 { fill: var(--o); }
556
+ svg .RdYlBu .q11-24 { fill: var(--p); }
557
+ svg .RdYlBu .q12-24 { fill: var(--q); }
558
+ svg .RdYlBu .q13-24 { fill: var(--r); }
559
+ svg .RdYlBu .q14-24 { fill: var(--s); }
560
+ svg .RdYlBu .q15-24 { fill: var(--t); }
561
+ svg .RdYlBu .q16-24 { fill: var(--u); }
562
+ svg .RdYlBu .q17-24 { fill: var(--v); }
563
+ svg .RdYlBu .q18-24 { fill: var(--w); }
564
+ svg .RdYlBu .q19-24 { fill: var(--x); }
565
+ svg .RdYlBu .q20-24 { fill: var(--y); }
566
+ svg .RdYlBu .q21-24 { fill: var(--aa); }
567
+ svg .RdYlBu .q22-24 { fill: var(--ae); }
568
+ svg .RdYlBu .q23-24 { fill: var(--af); }
569
+
570
+ svg .RdYlBu .q0-25 { fill: var(--a); }
571
+ svg .RdYlBu .q1-25 { fill: var(--b); }
572
+ svg .RdYlBu .q2-25 { fill: var(--c); }
573
+ svg .RdYlBu .q3-25 { fill: var(--e); }
574
+ svg .RdYlBu .q4-25 { fill: var(--h); }
575
+ svg .RdYlBu .q5-25 { fill: var(--i); }
576
+ svg .RdYlBu .q6-25 { fill: var(--j); }
577
+ svg .RdYlBu .q7-25 { fill: var(--k); }
578
+ svg .RdYlBu .q8-25 { fill: var(--l); }
579
+ svg .RdYlBu .q9-25 { fill: var(--m); }
580
+ svg .RdYlBu .q10-25 { fill: var(--n); }
581
+ svg .RdYlBu .q11-25 { fill: var(--o); }
582
+ svg .RdYlBu .q12-25 { fill: var(--q); }
583
+ svg .RdYlBu .q13-25 { fill: var(--r); }
584
+ svg .RdYlBu .q14-25 { fill: var(--s); }
585
+ svg .RdYlBu .q15-25 { fill: var(--t); }
586
+ svg .RdYlBu .q16-25 { fill: var(--u); }
587
+ svg .RdYlBu .q17-25 { fill: var(--v); }
588
+ svg .RdYlBu .q18-25 { fill: var(--w); }
589
+ svg .RdYlBu .q19-25 { fill: var(--x); }
590
+ svg .RdYlBu .q20-25 { fill: var(--y); }
591
+ svg .RdYlBu .q21-25 { fill: var(--z); }
592
+ svg .RdYlBu .q22-25 { fill: var(--aa); }
593
+ svg .RdYlBu .q23-25 { fill: var(--ae); }
594
+ svg .RdYlBu .q24-25 { fill: var(--af); }
595
+
596
+ svg .RdYlBu .q0-26 { fill: var(--a); }
597
+ svg .RdYlBu .q1-26 { fill: var(--b); }
598
+ svg .RdYlBu .q2-26 { fill: var(--c); }
599
+ svg .RdYlBu .q4-26 { fill: var(--e); }
600
+ svg .RdYlBu .q5-26 { fill: var(--h); }
601
+ svg .RdYlBu .q6-26 { fill: var(--i); }
602
+ svg .RdYlBu .q7-26 { fill: var(--j); }
603
+ svg .RdYlBu .q8-26 { fill: var(--k); }
604
+ svg .RdYlBu .q9-26 { fill: var(--l); }
605
+ svg .RdYlBu .q10-26 { fill: var(--m); }
606
+ svg .RdYlBu .q11-26 { fill: var(--n); }
607
+ svg .RdYlBu .q12-26 { fill: var(--o); }
608
+ svg .RdYlBu .q13-26 { fill: var(--p); }
609
+ svg .RdYlBu .q14-26 { fill: var(--q); }
610
+ svg .RdYlBu .q15-26 { fill: var(--r); }
611
+ svg .RdYlBu .q16-26 { fill: var(--s); }
612
+ svg .RdYlBu .q17-26 { fill: var(--t); }
613
+ svg .RdYlBu .q18-26 { fill: var(--u); }
614
+ svg .RdYlBu .q19-26 { fill: var(--v); }
615
+ svg .RdYlBu .q20-26 { fill: var(--w); }
616
+ svg .RdYlBu .q21-26 { fill: var(--x); }
617
+ svg .RdYlBu .q22-26 { fill: var(--y); }
618
+ svg .RdYlBu .q23-26 { fill: var(--z); }
619
+ svg .RdYlBu .q24-26 { fill: var(--aa); }
620
+ svg .RdYlBu .q26-26 { fill: var(--ae); }
621
+ svg .RdYlBu .q27-26 { fill: var(--af); }
622
+
623
+ svg .RdYlBu .q0-27 { fill: var(--a); }
624
+ svg .RdYlBu .q1-27 { fill: var(--b); }
625
+ svg .RdYlBu .q2-27 { fill: var(--c); }
626
+ svg .RdYlBu .q3-27 { fill: var(--d); }
627
+ svg .RdYlBu .q4-27 { fill: var(--e); }
628
+ svg .RdYlBu .q5-27 { fill: var(--h); }
629
+ svg .RdYlBu .q6-27 { fill: var(--i); }
630
+ svg .RdYlBu .q7-27 { fill: var(--j); }
631
+ svg .RdYlBu .q8-27 { fill: var(--k); }
632
+ svg .RdYlBu .q9-27 { fill: var(--l); }
633
+ svg .RdYlBu .q10-27 { fill: var(--m); }
634
+ svg .RdYlBu .q11-27 { fill: var(--n); }
635
+ svg .RdYlBu .q12-27 { fill: var(--o); }
636
+ svg .RdYlBu .q14-27 { fill: var(--q); }
637
+ svg .RdYlBu .q15-27 { fill: var(--r); }
638
+ svg .RdYlBu .q16-27 { fill: var(--s); }
639
+ svg .RdYlBu .q17-27 { fill: var(--t); }
640
+ svg .RdYlBu .q18-27 { fill: var(--u); }
641
+ svg .RdYlBu .q19-27 { fill: var(--v); }
642
+ svg .RdYlBu .q20-27 { fill: var(--w); }
643
+ svg .RdYlBu .q21-27 { fill: var(--x); }
644
+ svg .RdYlBu .q22-27 { fill: var(--y); }
645
+ svg .RdYlBu .q23-27 { fill: var(--z); }
646
+ svg .RdYlBu .q24-27 { fill: var(--aa); }
647
+ svg .RdYlBu .q25-27 { fill: var(--ab); }
648
+ svg .RdYlBu .q26-27 { fill: var(--ae); }
649
+ svg .RdYlBu .q27-27 { fill: var(--af); }
650
+
651
+ svg .RdYlBu .q0-28 { fill: var(--a); }
652
+ svg .RdYlBu .q1-28 { fill: var(--b); }
653
+ svg .RdYlBu .q2-28 { fill: var(--c); }
654
+ svg .RdYlBu .q3-28 { fill: var(--d); }
655
+ svg .RdYlBu .q4-28 { fill: var(--e); }
656
+ svg .RdYlBu .q5-28 { fill: var(--h); }
657
+ svg .RdYlBu .q6-28 { fill: var(--i); }
658
+ svg .RdYlBu .q7-28 { fill: var(--j); }
659
+ svg .RdYlBu .q8-28 { fill: var(--k); }
660
+ svg .RdYlBu .q9-28 { fill: var(--l); }
661
+ svg .RdYlBu .q10-28 { fill: var(--m); }
662
+ svg .RdYlBu .q11-28 { fill: var(--n); }
663
+ svg .RdYlBu .q12-28 { fill: var(--o); }
664
+ svg .RdYlBu .q13-28 { fill: var(--p); }
665
+ svg .RdYlBu .q14-28 { fill: var(--q); }
666
+ svg .RdYlBu .q15-28 { fill: var(--r); }
667
+ svg .RdYlBu .q16-28 { fill: var(--s); }
668
+ svg .RdYlBu .q17-28 { fill: var(--t); }
669
+ svg .RdYlBu .q18-28 { fill: var(--u); }
670
+ svg .RdYlBu .q19-28 { fill: var(--v); }
671
+ svg .RdYlBu .q20-28 { fill: var(--w); }
672
+ svg .RdYlBu .q21-28 { fill: var(--x); }
673
+ svg .RdYlBu .q22-28 { fill: var(--y); }
674
+ svg .RdYlBu .q23-28 { fill: var(--z); }
675
+ svg .RdYlBu .q24-28 { fill: var(--aa); }
676
+ svg .RdYlBu .q25-28 { fill: var(--ab); }
677
+ svg .RdYlBu .q26-28 { fill: var(--ae); }
678
+ svg .RdYlBu .q27-28 { fill: var(--af); }
679
+
680
+ svg .RdYlBu .q0-29 { fill: var(--a); }
681
+ svg .RdYlBu .q1-29 { fill: var(--b); }
682
+ svg .RdYlBu .q2-29 { fill: var(--c); }
683
+ svg .RdYlBu .q3-29 { fill: var(--d); }
684
+ svg .RdYlBu .q4-29 { fill: var(--e); }
685
+ svg .RdYlBu .q5-29 { fill: var(--f); }
686
+ svg .RdYlBu .q6-29 { fill: var(--h); }
687
+ svg .RdYlBu .q7-29 { fill: var(--i); }
688
+ svg .RdYlBu .q8-29 { fill: var(--j); }
689
+ svg .RdYlBu .q9-29 { fill: var(--k); }
690
+ svg .RdYlBu .q10-29 { fill: var(--l); }
691
+ svg .RdYlBu .q11-29 { fill: var(--m); }
692
+ svg .RdYlBu .q12-29 { fill: var(--n); }
693
+ svg .RdYlBu .q13-29 { fill: var(--o); }
694
+ svg .RdYlBu .q14-29 { fill: var(--q); }
695
+ svg .RdYlBu .q15-29 { fill: var(--r); }
696
+ svg .RdYlBu .q16-29 { fill: var(--s); }
697
+ svg .RdYlBu .q17-29 { fill: var(--t); }
698
+ svg .RdYlBu .q18-29 { fill: var(--u); }
699
+ svg .RdYlBu .q19-29 { fill: var(--v); }
700
+ svg .RdYlBu .q20-29 { fill: var(--w); }
701
+ svg .RdYlBu .q21-29 { fill: var(--x); }
702
+ svg .RdYlBu .q22-29 { fill: var(--y); }
703
+ svg .RdYlBu .q23-29 { fill: var(--z); }
704
+ svg .RdYlBu .q24-29 { fill: var(--aa); }
705
+ svg .RdYlBu .q25-29 { fill: var(--ab); }
706
+ svg .RdYlBu .q26-29 { fill: var(--ad); }
707
+ svg .RdYlBu .q27-29 { fill: var(--ae); }
708
+ svg .RdYlBu .q28-29 { fill: var(--af); }
709
+
710
+ svg .RdYlBu .q0-30 { fill: var(--a); }
711
+ svg .RdYlBu .q1-30 { fill: var(--b); }
712
+ svg .RdYlBu .q2-30 { fill: var(--c); }
713
+ svg .RdYlBu .q3-30 { fill: var(--d); }
714
+ svg .RdYlBu .q4-30 { fill: var(--e); }
715
+ svg .RdYlBu .q5-30 { fill: var(--f); }
716
+ svg .RdYlBu .q6-30 { fill: var(--h); }
717
+ svg .RdYlBu .q7-30 { fill: var(--i); }
718
+ svg .RdYlBu .q8-30 { fill: var(--j); }
719
+ svg .RdYlBu .q9-30 { fill: var(--k); }
720
+ svg .RdYlBu .q10-30 { fill: var(--l); }
721
+ svg .RdYlBu .q11-30 { fill: var(--m); }
722
+ svg .RdYlBu .q12-30 { fill: var(--n); }
723
+ svg .RdYlBu .q13-30 { fill: var(--o); }
724
+ svg .RdYlBu .q14-30 { fill: var(--p); }
725
+ svg .RdYlBu .q15-30 { fill: var(--q); }
726
+ svg .RdYlBu .q16-30 { fill: var(--r); }
727
+ svg .RdYlBu .q17-30 { fill: var(--s); }
728
+ svg .RdYlBu .q18-30 { fill: var(--t); }
729
+ svg .RdYlBu .q19-30 { fill: var(--u); }
730
+ svg .RdYlBu .q20-30 { fill: var(--v); }
731
+ svg .RdYlBu .q21-30 { fill: var(--w); }
732
+ svg .RdYlBu .q22-30 { fill: var(--x); }
733
+ svg .RdYlBu .q23-30 { fill: var(--y); }
734
+ svg .RdYlBu .q24-30 { fill: var(--z); }
735
+ svg .RdYlBu .q25-30 { fill: var(--aa); }
736
+ svg .RdYlBu .q26-30 { fill: var(--ab); }
737
+ svg .RdYlBu .q27-30 { fill: var(--ad); }
738
+ svg .RdYlBu .q28-30 { fill: var(--ae); }
739
+ svg .RdYlBu .q29-30 { fill: var(--af); }
740
+
741
+ svg .RdYlBu .q0-31 { fill: var(--a); }
742
+ svg .RdYlBu .q1-31 { fill: var(--b); }
743
+ svg .RdYlBu .q2-31 { fill: var(--c); }
744
+ svg .RdYlBu .q3-31 { fill: var(--d); }
745
+ svg .RdYlBu .q4-31 { fill: var(--e); }
746
+ svg .RdYlBu .q5-31 { fill: var(--f); }
747
+ svg .RdYlBu .q6-31 { fill: var(--g); }
748
+ svg .RdYlBu .q7-31 { fill: var(--h); }
749
+ svg .RdYlBu .q8-31 { fill: var(--i); }
750
+ svg .RdYlBu .q9-31 { fill: var(--j); }
751
+ svg .RdYlBu .q10-31 { fill: var(--k); }
752
+ svg .RdYlBu .q11-31 { fill: var(--l); }
753
+ svg .RdYlBu .q12-31 { fill: var(--m); }
754
+ svg .RdYlBu .q13-31 { fill: var(--n); }
755
+ svg .RdYlBu .q14-31 { fill: var(--o); }
756
+ svg .RdYlBu .q15-31 { fill: var(--q); }
757
+ svg .RdYlBu .q16-31 { fill: var(--r); }
758
+ svg .RdYlBu .q17-31 { fill: var(--s); }
759
+ svg .RdYlBu .q18-31 { fill: var(--t); }
760
+ svg .RdYlBu .q19-31 { fill: var(--u); }
761
+ svg .RdYlBu .q20-31 { fill: var(--v); }
762
+ svg .RdYlBu .q21-31 { fill: var(--w); }
763
+ svg .RdYlBu .q22-31 { fill: var(--x); }
764
+ svg .RdYlBu .q23-31 { fill: var(--y); }
765
+ svg .RdYlBu .q24-31 { fill: var(--z); }
766
+ svg .RdYlBu .q25-31 { fill: var(--aa); }
767
+ svg .RdYlBu .q26-31 { fill: var(--ab); }
768
+ svg .RdYlBu .q27-31 { fill: var(--ac); }
769
+ svg .RdYlBu .q28-31 { fill: var(--ad); }
770
+ svg .RdYlBu .q29-31 { fill: var(--ae); }
771
+ svg .RdYlBu .q30-31 { fill: var(--af); }
772
+
773
+ svg .RdYlBu .q0-32 { fill: var(--a); }
774
+ svg .RdYlBu .q1-32 { fill: var(--b); }
775
+ svg .RdYlBu .q2-32 { fill: var(--c); }
776
+ svg .RdYlBu .q3-32 { fill: var(--d); }
777
+ svg .RdYlBu .q4-32 { fill: var(--e); }
778
+ svg .RdYlBu .q5-32 { fill: var(--f); }
779
+ svg .RdYlBu .q6-32 { fill: var(--g); }
780
+ svg .RdYlBu .q7-32 { fill: var(--h); }
781
+ svg .RdYlBu .q8-32 { fill: var(--i); }
782
+ svg .RdYlBu .q9-32 { fill: var(--j); }
783
+ svg .RdYlBu .q10-32 { fill: var(--k); }
784
+ svg .RdYlBu .q11-32 { fill: var(--l); }
785
+ svg .RdYlBu .q12-32 { fill: var(--m); }
786
+ svg .RdYlBu .q13-32 { fill: var(--n); }
787
+ svg .RdYlBu .q14-32 { fill: var(--o); }
788
+ svg .RdYlBu .q15-32 { fill: var(--p); }
789
+ svg .RdYlBu .q16-32 { fill: var(--q); }
790
+ svg .RdYlBu .q17-32 { fill: var(--r); }
791
+ svg .RdYlBu .q18-32 { fill: var(--s); }
792
+ svg .RdYlBu .q19-32 { fill: var(--t); }
793
+ svg .RdYlBu .q20-32 { fill: var(--u); }
794
+ svg .RdYlBu .q21-32 { fill: var(--v); }
795
+ svg .RdYlBu .q22-32 { fill: var(--w); }
796
+ svg .RdYlBu .q23-32 { fill: var(--x); }
797
+ svg .RdYlBu .q24-32 { fill: var(--y); }
798
+ svg .RdYlBu .q25-32 { fill: var(--z); }
799
+ svg .RdYlBu .q26-32 { fill: var(--aa); }
800
+ svg .RdYlBu .q27-32 { fill: var(--ab); }
801
+ svg .RdYlBu .q28-32 { fill: var(--ac); }
802
+ svg .RdYlBu .q29-32 { fill: var(--ad); }
803
+ svg .RdYlBu .q30-32 { fill: var(--ae); }
804
+ svg .RdYlBu .q31-32 { fill: var(--af); }