@kepler.gl/constants 3.3.0-alpha.5 → 3.3.0-alpha.7

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 (44) hide show
  1. package/dist/cjs/annotation.js +45 -0
  2. package/dist/cjs/color-palettes.js +461 -0
  3. package/dist/cjs/colors-by-theme.js +519 -0
  4. package/dist/cjs/dataset.js +82 -0
  5. package/dist/cjs/default-settings.js +1737 -0
  6. package/dist/cjs/gpu-parameters.js +125 -0
  7. package/dist/cjs/index.js +149 -0
  8. package/dist/cjs/keyevent.js +26 -0
  9. package/dist/cjs/layers.js +606 -0
  10. package/dist/{plot.js → cjs/plot.js} +1 -1
  11. package/dist/cjs/time.js +194 -0
  12. package/dist/cjs/tooltip.js +221 -0
  13. package/dist/cjs/user-feedbacks.js +15 -0
  14. package/dist/cjs/user-guides.js +19 -0
  15. package/dist/default-settings.d.ts +16 -0
  16. package/dist/esm/annotation.js +38 -0
  17. package/dist/esm/color-palettes.js +453 -0
  18. package/dist/esm/colors-by-theme.js +513 -0
  19. package/dist/esm/dataset.js +80 -0
  20. package/dist/esm/default-settings.js +1731 -0
  21. package/dist/esm/gpu-parameters.js +119 -0
  22. package/dist/esm/index.js +18 -0
  23. package/dist/esm/keyevent.js +19 -0
  24. package/dist/esm/layers.js +599 -0
  25. package/dist/esm/plot.js +9 -0
  26. package/dist/esm/time.js +190 -0
  27. package/dist/esm/tooltip.js +215 -0
  28. package/dist/esm/user-feedbacks.js +9 -0
  29. package/dist/esm/user-guides.js +13 -0
  30. package/dist/layers.d.ts +1 -0
  31. package/package.json +17 -8
  32. package/dist/annotation.js +0 -45
  33. package/dist/color-palettes.js +0 -461
  34. package/dist/colors-by-theme.js +0 -519
  35. package/dist/dataset.js +0 -82
  36. package/dist/default-settings.js +0 -1729
  37. package/dist/gpu-parameters.js +0 -125
  38. package/dist/index.js +0 -149
  39. package/dist/keyevent.js +0 -26
  40. package/dist/layers.js +0 -605
  41. package/dist/time.js +0 -194
  42. package/dist/tooltip.js +0 -221
  43. package/dist/user-feedbacks.js +0 -15
  44. package/dist/user-guides.js +0 -19
@@ -0,0 +1,599 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Copyright contributors to the kepler.gl project
3
+
4
+ import keyMirror from 'keymirror';
5
+ import { AGGREGATION_TYPES, DEFAULT_LAYER_COLOR_PALETTE, DEFAULT_LAYER_COLOR_PALETTE_STEPS } from './default-settings';
6
+ import { KEPLER_COLOR_PALETTES, colorPaletteToColorRange } from './color-palettes';
7
+ export var PROPERTY_GROUPS = keyMirror({
8
+ color: null,
9
+ stroke: null,
10
+ radius: null,
11
+ height: null,
12
+ angle: null,
13
+ scenegraph: null,
14
+ // for heatmap aggregation
15
+ cell: null,
16
+ precision: null,
17
+ display: null,
18
+ interaction: null
19
+ });
20
+ export var DEFAULT_LAYER_OPACITY = 0.8;
21
+ export var DEFAULT_HIGHLIGHT_COLOR = [252, 242, 26, 255];
22
+ export var DEFAULT_LAYER_LABEL = 'new layer';
23
+ export var DEFAULT_TEXT_LABEL = {
24
+ field: null,
25
+ color: [255, 255, 255],
26
+ size: 18,
27
+ weight: 400,
28
+ offset: [0, 0],
29
+ anchor: 'start',
30
+ alignment: 'center',
31
+ outlineWidth: 0,
32
+ outlineColor: [255, 0, 0, 255],
33
+ background: false,
34
+ backgroundColor: [0, 0, 200, 255]
35
+ };
36
+ var DEFAULT_COLOR_PALETTE = KEPLER_COLOR_PALETTES.find(function (_ref) {
37
+ var name = _ref.name;
38
+ return name === DEFAULT_LAYER_COLOR_PALETTE;
39
+ });
40
+ export var DEFAULT_COLOR_RANGE = colorPaletteToColorRange(DEFAULT_COLOR_PALETTE, {
41
+ reversed: false,
42
+ steps: DEFAULT_LAYER_COLOR_PALETTE_STEPS
43
+ });
44
+ export var DEFAULT_CUSTOM_PALETTE = {
45
+ name: 'color.customPalette',
46
+ type: 'custom',
47
+ category: 'Custom',
48
+ colors: []
49
+ };
50
+ export var UNKNOWN_COLOR_KEY = '__unknownColor__';
51
+ export var DEFAULT_COLOR_UI = {
52
+ // customPalette in edit
53
+ customPalette: DEFAULT_CUSTOM_PALETTE,
54
+ // show color sketcher modal
55
+ showSketcher: false,
56
+ // show color range selection panel
57
+ showDropdown: false,
58
+ // show color chart
59
+ showColorChart: false,
60
+ // color range selector config
61
+ colorRangeConfig: {
62
+ type: 'all',
63
+ steps: 6,
64
+ reversed: false,
65
+ colorBlindSafe: false,
66
+ custom: false,
67
+ customBreaks: false
68
+ }
69
+ };
70
+ export var LAYER_VIS_CONFIGS = {
71
+ thickness: {
72
+ type: 'number',
73
+ defaultValue: 2,
74
+ label: 'layerVisConfigs.strokeWidth',
75
+ isRanged: false,
76
+ range: [0, 100],
77
+ step: 0.1,
78
+ group: PROPERTY_GROUPS.stroke,
79
+ property: 'thickness',
80
+ allowCustomValue: true
81
+ },
82
+ strokeWidthRange: {
83
+ type: 'number',
84
+ defaultValue: [0, 10],
85
+ label: 'layerVisConfigs.strokeWidthRange',
86
+ isRanged: true,
87
+ range: [0, 200],
88
+ step: 0.1,
89
+ group: PROPERTY_GROUPS.stroke,
90
+ property: 'sizeRange',
91
+ allowCustomValue: true
92
+ },
93
+ trailLength: {
94
+ type: 'number',
95
+ defaultValue: 180,
96
+ label: 'layerVisConfigs.strokeWidth',
97
+ isRanged: false,
98
+ range: [1, 1000],
99
+ step: 1,
100
+ group: PROPERTY_GROUPS.stroke,
101
+ property: 'trailLength',
102
+ allowCustomValue: true
103
+ },
104
+ fadeTrail: {
105
+ defaultValue: true,
106
+ type: 'boolean',
107
+ label: 'layerVisConfigs.fadeTrail',
108
+ group: PROPERTY_GROUPS.stroke,
109
+ property: 'fadeTrail'
110
+ },
111
+ billboard: {
112
+ defaultValue: false,
113
+ type: 'boolean',
114
+ label: 'layerVisConfigs.billboard',
115
+ description: 'layerVisConfigs.billboardDescription',
116
+ group: PROPERTY_GROUPS.display,
117
+ property: 'billboard'
118
+ },
119
+ // radius is actually radiusScale in deck.gl
120
+ radius: {
121
+ type: 'number',
122
+ defaultValue: 10,
123
+ label: 'layerVisConfigs.radius',
124
+ isRanged: false,
125
+ range: [0, 100],
126
+ step: 0.1,
127
+ group: PROPERTY_GROUPS.radius,
128
+ property: 'radius',
129
+ allowCustomValue: true
130
+ },
131
+ fixedRadius: {
132
+ defaultValue: false,
133
+ type: 'boolean',
134
+ label: 'layerVisConfigs.fixedRadius',
135
+ description: 'layerVisConfigs.fixedRadiusDescription',
136
+ group: PROPERTY_GROUPS.radius,
137
+ property: 'fixedRadius'
138
+ },
139
+ fixedHeight: {
140
+ defaultValue: false,
141
+ type: 'boolean',
142
+ label: 'layerVisConfigs.fixedHeight',
143
+ description: 'layerVisConfigs.fixedHeightDescription',
144
+ group: PROPERTY_GROUPS.height,
145
+ property: 'fixedHeight'
146
+ },
147
+ radiusRange: {
148
+ type: 'number',
149
+ defaultValue: [0, 50],
150
+ isRanged: true,
151
+ range: [0, 500],
152
+ step: 0.1,
153
+ label: 'layerVisConfigs.radiusRange',
154
+ group: PROPERTY_GROUPS.radius,
155
+ property: 'radiusRange',
156
+ allowCustomValue: true
157
+ },
158
+ clusterRadius: {
159
+ type: 'number',
160
+ label: 'layerVisConfigs.clusterRadius',
161
+ defaultValue: 40,
162
+ isRanged: false,
163
+ range: [1, 500],
164
+ step: 0.1,
165
+ group: PROPERTY_GROUPS.radius,
166
+ property: 'clusterRadius',
167
+ allowCustomValue: true
168
+ },
169
+ clusterRadiusRange: {
170
+ type: 'number',
171
+ label: 'layerVisConfigs.radiusRangePixels',
172
+ defaultValue: [1, 40],
173
+ isRanged: true,
174
+ range: [1, 150],
175
+ step: 0.1,
176
+ group: PROPERTY_GROUPS.radius,
177
+ property: 'radiusRange',
178
+ allowCustomValue: true
179
+ },
180
+ opacity: {
181
+ type: 'number',
182
+ defaultValue: DEFAULT_LAYER_OPACITY,
183
+ label: 'layerVisConfigs.opacity',
184
+ isRanged: false,
185
+ range: [0, 1],
186
+ step: 0.01,
187
+ group: PROPERTY_GROUPS.color,
188
+ property: 'opacity',
189
+ allowCustomValue: false
190
+ },
191
+ coverage: {
192
+ type: 'number',
193
+ defaultValue: 1,
194
+ label: 'layerVisConfigs.coverage',
195
+ isRanged: false,
196
+ range: [0, 1],
197
+ step: 0.01,
198
+ group: PROPERTY_GROUPS.cell,
199
+ property: 'coverage',
200
+ allowCustomValue: false
201
+ },
202
+ // used in point layer
203
+ outline: {
204
+ type: 'boolean',
205
+ defaultValue: false,
206
+ label: 'layer.outline',
207
+ group: PROPERTY_GROUPS.display,
208
+ property: 'outline'
209
+ },
210
+ colorRange: {
211
+ type: 'color-range-select',
212
+ defaultValue: DEFAULT_COLOR_RANGE,
213
+ label: 'layerVisConfigs.colorRange',
214
+ group: PROPERTY_GROUPS.color,
215
+ property: 'colorRange'
216
+ },
217
+ strokeColorRange: {
218
+ type: 'color-range-select',
219
+ defaultValue: DEFAULT_COLOR_RANGE,
220
+ label: 'layerVisConfigs.strokeColorRange',
221
+ group: PROPERTY_GROUPS.color,
222
+ property: 'strokeColorRange'
223
+ },
224
+ targetColor: {
225
+ type: 'color-select',
226
+ label: 'layerVisConfigs.targetColor',
227
+ defaultValue: null,
228
+ group: PROPERTY_GROUPS.color,
229
+ property: 'targetColor'
230
+ },
231
+ strokeColor: {
232
+ type: 'color-select',
233
+ label: 'layerVisConfigs.strokeColor',
234
+ defaultValue: null,
235
+ group: PROPERTY_GROUPS.color,
236
+ property: 'strokeColor'
237
+ },
238
+ colorAggregation: {
239
+ type: 'select',
240
+ defaultValue: AGGREGATION_TYPES.average,
241
+ label: 'layerVisConfigs.colorAggregation',
242
+ // aggregation options are based on color field types
243
+ options: Object.keys(AGGREGATION_TYPES),
244
+ group: PROPERTY_GROUPS.color,
245
+ property: 'colorAggregation',
246
+ condition: function condition(config) {
247
+ return Boolean(config.colorField);
248
+ }
249
+ },
250
+ sizeAggregation: {
251
+ type: 'select',
252
+ defaultValue: AGGREGATION_TYPES.average,
253
+ label: 'layerVisConfigs.heightAggregation',
254
+ // aggregation options are based on color field types
255
+ options: Object.keys(AGGREGATION_TYPES),
256
+ group: PROPERTY_GROUPS.height,
257
+ property: 'sizeAggregation',
258
+ condition: function condition(config) {
259
+ return Boolean(config.sizeField);
260
+ }
261
+ },
262
+ percentile: {
263
+ type: 'number',
264
+ defaultValue: [0, 100],
265
+ label: function label(config) {
266
+ return "Filter by ".concat(config.colorField ? "".concat(config.visConfig.colorAggregation, " ").concat(config.colorField.name) : 'count', " percentile");
267
+ },
268
+ isRanged: true,
269
+ range: [0, 100],
270
+ step: 0.01,
271
+ group: PROPERTY_GROUPS.color,
272
+ property: 'percentile',
273
+ // percentile filter only makes sense with linear aggregation
274
+ condition: function condition(config) {
275
+ return config.colorScale !== 'ordinal';
276
+ },
277
+ allowCustomValue: false
278
+ },
279
+ elevationPercentile: {
280
+ type: 'number',
281
+ defaultValue: [0, 100],
282
+ label: function label(config) {
283
+ return "Filter by ".concat(config.sizeField ? "".concat(config.visConfig.sizeAggregation, " ").concat(config.sizeField.name) : 'count', " percentile");
284
+ },
285
+ isRanged: true,
286
+ range: [0, 100],
287
+ step: 0.01,
288
+ group: PROPERTY_GROUPS.height,
289
+ property: 'elevationPercentile',
290
+ // percentile filter only makes sense with linear aggregation
291
+ condition: function condition(config) {
292
+ return Boolean(config.visConfig.enable3d && (config.colorField || config.sizeField));
293
+ },
294
+ allowCustomValue: false
295
+ },
296
+ resolution: {
297
+ type: 'number',
298
+ defaultValue: 8,
299
+ label: 'layerVisConfigs.resolution',
300
+ isRanged: false,
301
+ range: [0, 13],
302
+ step: 1,
303
+ group: PROPERTY_GROUPS.cell,
304
+ property: 'resolution',
305
+ allowCustomValue: true
306
+ },
307
+ sizeScale: {
308
+ type: 'number',
309
+ defaultValue: 10,
310
+ label: 'layerVisConfigs.sizeScale',
311
+ isRanged: false,
312
+ range: [1, 1000],
313
+ step: 1,
314
+ group: PROPERTY_GROUPS.stroke,
315
+ property: 'sizeScale',
316
+ allowCustomValue: true
317
+ },
318
+ angle: {
319
+ type: 'number',
320
+ label: 'layerVisConfigs.angle',
321
+ defaultValue: 0,
322
+ isRanged: false,
323
+ range: [0, 360],
324
+ group: PROPERTY_GROUPS.angle,
325
+ step: 1,
326
+ property: 'angle',
327
+ allowCustomValue: true
328
+ },
329
+ worldUnitSize: {
330
+ type: 'number',
331
+ defaultValue: 1,
332
+ label: 'layerVisConfigs.worldUnitSize',
333
+ isRanged: false,
334
+ range: [0, 500],
335
+ step: 0.0001,
336
+ group: PROPERTY_GROUPS.cell,
337
+ property: 'worldUnitSize',
338
+ allowCustomValue: true
339
+ },
340
+ elevationScale: {
341
+ type: 'number',
342
+ defaultValue: 5,
343
+ label: 'layerVisConfigs.elevationScale',
344
+ isRanged: false,
345
+ range: [0, 1000],
346
+ step: 0.1,
347
+ group: PROPERTY_GROUPS.height,
348
+ property: 'elevationScale',
349
+ allowCustomValue: true
350
+ },
351
+ enableElevationZoomFactor: {
352
+ type: 'boolean',
353
+ defaultValue: true,
354
+ label: 'layerVisConfigs.enableElevationZoomFactor',
355
+ group: PROPERTY_GROUPS.height,
356
+ property: 'enableElevationZoomFactor',
357
+ description: 'layerVisConfigs.enableElevationZoomFactorDescription'
358
+ },
359
+ elevationRange: {
360
+ type: 'number',
361
+ defaultValue: [0, 500],
362
+ label: 'layerVisConfigs.heightScale',
363
+ isRanged: true,
364
+ range: [0, 1000],
365
+ step: 0.01,
366
+ group: PROPERTY_GROUPS.height,
367
+ property: 'sizeRange',
368
+ allowCustomValue: true
369
+ },
370
+ heightRange: {
371
+ type: 'number',
372
+ defaultValue: [0, 500],
373
+ label: 'Height Scale',
374
+ isRanged: true,
375
+ range: [0, 1000],
376
+ step: 0.01,
377
+ group: PROPERTY_GROUPS.height,
378
+ property: 'heightRange',
379
+ allowCustomValue: true
380
+ },
381
+ coverageRange: {
382
+ type: 'number',
383
+ defaultValue: [0, 1],
384
+ label: 'layerVisConfigs.coverageRange',
385
+ isRanged: true,
386
+ range: [0, 1],
387
+ step: 0.01,
388
+ group: PROPERTY_GROUPS.radius,
389
+ property: 'coverageRange',
390
+ allowCustomValue: false
391
+ },
392
+ // hi precision is deprecated by deck.gl
393
+ 'hi-precision': {
394
+ type: 'boolean',
395
+ defaultValue: false,
396
+ label: 'layerVisConfigs.highPrecisionRendering',
397
+ group: PROPERTY_GROUPS.precision,
398
+ property: 'hi-precision',
399
+ description: 'layerVisConfigs.highPrecisionRenderingDescription'
400
+ },
401
+ enable3d: {
402
+ type: 'boolean',
403
+ defaultValue: false,
404
+ label: 'layerVisConfigs.height',
405
+ group: PROPERTY_GROUPS.height,
406
+ property: 'enable3d',
407
+ description: 'layerVisConfigs.heightDescription'
408
+ },
409
+ stroked: {
410
+ type: 'boolean',
411
+ label: 'layerVisConfigs.stroke',
412
+ defaultValue: true,
413
+ group: PROPERTY_GROUPS.display,
414
+ property: 'stroked'
415
+ },
416
+ filled: {
417
+ type: 'boolean',
418
+ label: 'layerVisConfigs.fill',
419
+ defaultValue: false,
420
+ group: PROPERTY_GROUPS.display,
421
+ property: 'filled'
422
+ },
423
+ extruded: {
424
+ type: 'boolean',
425
+ defaultValue: false,
426
+ label: 'layerVisConfigs.enablePolygonHeight',
427
+ group: PROPERTY_GROUPS.display,
428
+ property: 'extruded'
429
+ },
430
+ wireframe: {
431
+ type: 'boolean',
432
+ defaultValue: false,
433
+ label: 'layerVisConfigs.showWireframe',
434
+ group: PROPERTY_GROUPS.display,
435
+ property: 'wireframe'
436
+ },
437
+ // used for heatmap
438
+ weight: {
439
+ type: 'number',
440
+ defaultValue: 1,
441
+ label: 'layerVisConfigs.weightIntensity',
442
+ isRanged: false,
443
+ range: [0.01, 500],
444
+ step: 0.01,
445
+ group: PROPERTY_GROUPS.cell,
446
+ property: 'weight',
447
+ condition: function condition(config) {
448
+ return Boolean(config.weightField);
449
+ },
450
+ allowCustomValue: true
451
+ },
452
+ heatmapRadius: {
453
+ type: 'number',
454
+ defaultValue: 20,
455
+ label: 'layerVisConfigs.radius',
456
+ isRanged: false,
457
+ range: [0, 100],
458
+ step: 0.1,
459
+ group: PROPERTY_GROUPS.cell,
460
+ property: 'radius',
461
+ allowCustomValue: true
462
+ },
463
+ darkBaseMapEnabled: {
464
+ type: 'boolean',
465
+ defaultValue: true,
466
+ label: 'layerVisConfigs.darkModeEnabled',
467
+ property: 'darkBaseMapEnabled',
468
+ group: PROPERTY_GROUPS.display
469
+ },
470
+ allowHover: {
471
+ type: 'boolean',
472
+ defaultValue: true,
473
+ label: 'layerVisConfigs.allowHover',
474
+ description: 'layerVisConfigs.allowHoverDescription',
475
+ group: PROPERTY_GROUPS.interaction,
476
+ property: 'allowHover'
477
+ },
478
+ showNeighborOnHover: {
479
+ type: 'boolean',
480
+ defaultValue: false,
481
+ label: 'layerVisConfigs.showNeighborOnHover',
482
+ group: PROPERTY_GROUPS.interaction,
483
+ property: 'showNeighborOnHover'
484
+ },
485
+ showHighlightColor: {
486
+ type: 'boolean',
487
+ defaultValue: true,
488
+ label: 'layerVisConfigs.showHighlightColor',
489
+ group: PROPERTY_GROUPS.interaction,
490
+ property: 'showHighlightColor'
491
+ },
492
+ scenegraph: {
493
+ defaultValue: null,
494
+ type: 'input',
495
+ label: 'layerVisConfigs.scenegraph',
496
+ group: PROPERTY_GROUPS.scenegraph,
497
+ property: 'scenegraph'
498
+ },
499
+ scenegraphEnabled: {
500
+ defaultValue: false,
501
+ type: 'boolean',
502
+ label: 'layerVisConfigs.scenegraphEnabled',
503
+ group: PROPERTY_GROUPS.scenegraph,
504
+ property: 'scenegraphEnabled'
505
+ },
506
+ scenegraphCustomModelUrl: {
507
+ defaultValue: '',
508
+ type: 'input',
509
+ label: 'layerVisConfigs.scenegraphCustomModelUrl',
510
+ group: PROPERTY_GROUPS.scenegraph,
511
+ property: 'scenegraphCustomModelUrl'
512
+ },
513
+ scenegraphColorEnabled: {
514
+ defaultValue: false,
515
+ type: 'boolean',
516
+ label: 'layerVisConfigs.scenegraphColorEnabled',
517
+ group: PROPERTY_GROUPS.scenegraph,
518
+ property: 'scenegraphColorEnabled'
519
+ },
520
+ scenegraphUseTrailColor: {
521
+ defaultValue: false,
522
+ type: 'boolean',
523
+ label: 'layerVisConfigs.scenegraphUseTrailColor',
524
+ group: PROPERTY_GROUPS.scenegraph,
525
+ property: 'scenegraphUseTrailColor'
526
+ },
527
+ scenegraphColor: {
528
+ defaultValue: null,
529
+ type: 'color-select',
530
+ label: 'layerVisConfigs.scenegraphColor',
531
+ group: PROPERTY_GROUPS.scenegraph,
532
+ property: 'scenegraphColor'
533
+ }
534
+ };
535
+ export var LAYER_TEXT_CONFIGS = {
536
+ fontSize: {
537
+ type: 'number',
538
+ range: [1, 100],
539
+ value0: 1,
540
+ step: 1,
541
+ isRanged: false,
542
+ label: 'Font size',
543
+ showInput: true
544
+ },
545
+ fontWeight: {
546
+ type: 'number',
547
+ range: [100, 900],
548
+ value0: 100,
549
+ step: 100,
550
+ isRanged: false,
551
+ label: 'Font weight',
552
+ showInput: true
553
+ },
554
+ outlineWidth: {
555
+ type: 'number',
556
+ range: [0, 1],
557
+ value0: 0,
558
+ step: 0.01,
559
+ isRanged: false,
560
+ label: 'Outline width',
561
+ showInput: true
562
+ },
563
+ textAnchor: {
564
+ type: 'select',
565
+ options: ['start', 'middle', 'end'],
566
+ multiSelect: false,
567
+ searchable: false
568
+ },
569
+ textAlignment: {
570
+ type: 'select',
571
+ options: ['top', 'center', 'bottom'],
572
+ multiSelect: false,
573
+ searchable: false
574
+ }
575
+ };
576
+ export var LAYER_TYPES = keyMirror({
577
+ point: null,
578
+ arc: null,
579
+ line: null,
580
+ grid: null,
581
+ hexagon: null,
582
+ geojson: null,
583
+ cluster: null,
584
+ icon: null,
585
+ heatmap: null,
586
+ hexagonId: null,
587
+ '3D': null,
588
+ trip: null,
589
+ s2: null,
590
+ a5: null,
591
+ flow: null,
592
+ vectorTile: null,
593
+ rasterTile: null,
594
+ wms: null,
595
+ tile3d: null,
596
+ bitmap: null
597
+ });
598
+ export var EDITOR_AVAILABLE_LAYERS = [LAYER_TYPES.point, LAYER_TYPES.icon, LAYER_TYPES.grid, LAYER_TYPES.hexagon, LAYER_TYPES.cluster, LAYER_TYPES.arc, LAYER_TYPES.line, LAYER_TYPES.hexagonId, LAYER_TYPES.geojson, LAYER_TYPES.heatmap];
599
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJrZXlNaXJyb3IiLCJBR0dSRUdBVElPTl9UWVBFUyIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURV9TVEVQUyIsIktFUExFUl9DT0xPUl9QQUxFVFRFUyIsImNvbG9yUGFsZXR0ZVRvQ29sb3JSYW5nZSIsIlBST1BFUlRZX0dST1VQUyIsImNvbG9yIiwic3Ryb2tlIiwicmFkaXVzIiwiaGVpZ2h0IiwiYW5nbGUiLCJzY2VuZWdyYXBoIiwiY2VsbCIsInByZWNpc2lvbiIsImRpc3BsYXkiLCJpbnRlcmFjdGlvbiIsIkRFRkFVTFRfTEFZRVJfT1BBQ0lUWSIsIkRFRkFVTFRfSElHSExJR0hUX0NPTE9SIiwiREVGQVVMVF9MQVlFUl9MQUJFTCIsIkRFRkFVTFRfVEVYVF9MQUJFTCIsImZpZWxkIiwic2l6ZSIsIndlaWdodCIsIm9mZnNldCIsImFuY2hvciIsImFsaWdubWVudCIsIm91dGxpbmVXaWR0aCIsIm91dGxpbmVDb2xvciIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJERUZBVUxUX0NPTE9SX1BBTEVUVEUiLCJmaW5kIiwiX3JlZiIsIm5hbWUiLCJERUZBVUxUX0NPTE9SX1JBTkdFIiwicmV2ZXJzZWQiLCJzdGVwcyIsIkRFRkFVTFRfQ1VTVE9NX1BBTEVUVEUiLCJ0eXBlIiwiY2F0ZWdvcnkiLCJjb2xvcnMiLCJVTktOT1dOX0NPTE9SX0tFWSIsIkRFRkFVTFRfQ09MT1JfVUkiLCJjdXN0b21QYWxldHRlIiwic2hvd1NrZXRjaGVyIiwic2hvd0Ryb3Bkb3duIiwic2hvd0NvbG9yQ2hhcnQiLCJjb2xvclJhbmdlQ29uZmlnIiwiY29sb3JCbGluZFNhZmUiLCJjdXN0b20iLCJjdXN0b21CcmVha3MiLCJMQVlFUl9WSVNfQ09ORklHUyIsInRoaWNrbmVzcyIsImRlZmF1bHRWYWx1ZSIsImxhYmVsIiwiaXNSYW5nZWQiLCJyYW5nZSIsInN0ZXAiLCJncm91cCIsInByb3BlcnR5IiwiYWxsb3dDdXN0b21WYWx1ZSIsInN0cm9rZVdpZHRoUmFuZ2UiLCJ0cmFpbExlbmd0aCIsImZhZGVUcmFpbCIsImJpbGxib2FyZCIsImRlc2NyaXB0aW9uIiwiZml4ZWRSYWRpdXMiLCJmaXhlZEhlaWdodCIsInJhZGl1c1JhbmdlIiwiY2x1c3RlclJhZGl1cyIsImNsdXN0ZXJSYWRpdXNSYW5nZSIsIm9wYWNpdHkiLCJjb3ZlcmFnZSIsIm91dGxpbmUiLCJjb2xvclJhbmdlIiwic3Ryb2tlQ29sb3JSYW5nZSIsInRhcmdldENvbG9yIiwic3Ryb2tlQ29sb3IiLCJjb2xvckFnZ3JlZ2F0aW9uIiwiYXZlcmFnZSIsIm9wdGlvbnMiLCJPYmplY3QiLCJrZXlzIiwiY29uZGl0aW9uIiwiY29uZmlnIiwiQm9vbGVhbiIsImNvbG9yRmllbGQiLCJzaXplQWdncmVnYXRpb24iLCJzaXplRmllbGQiLCJwZXJjZW50aWxlIiwiY29uY2F0IiwidmlzQ29uZmlnIiwiY29sb3JTY2FsZSIsImVsZXZhdGlvblBlcmNlbnRpbGUiLCJlbmFibGUzZCIsInJlc29sdXRpb24iLCJzaXplU2NhbGUiLCJ3b3JsZFVuaXRTaXplIiwiZWxldmF0aW9uU2NhbGUiLCJlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yIiwiZWxldmF0aW9uUmFuZ2UiLCJoZWlnaHRSYW5nZSIsImNvdmVyYWdlUmFuZ2UiLCJzdHJva2VkIiwiZmlsbGVkIiwiZXh0cnVkZWQiLCJ3aXJlZnJhbWUiLCJ3ZWlnaHRGaWVsZCIsImhlYXRtYXBSYWRpdXMiLCJkYXJrQmFzZU1hcEVuYWJsZWQiLCJhbGxvd0hvdmVyIiwic2hvd05laWdoYm9yT25Ib3ZlciIsInNob3dIaWdobGlnaHRDb2xvciIsInNjZW5lZ3JhcGhFbmFibGVkIiwic2NlbmVncmFwaEN1c3RvbU1vZGVsVXJsIiwic2NlbmVncmFwaENvbG9yRW5hYmxlZCIsInNjZW5lZ3JhcGhVc2VUcmFpbENvbG9yIiwic2NlbmVncmFwaENvbG9yIiwiTEFZRVJfVEVYVF9DT05GSUdTIiwiZm9udFNpemUiLCJ2YWx1ZTAiLCJzaG93SW5wdXQiLCJmb250V2VpZ2h0IiwidGV4dEFuY2hvciIsIm11bHRpU2VsZWN0Iiwic2VhcmNoYWJsZSIsInRleHRBbGlnbm1lbnQiLCJMQVlFUl9UWVBFUyIsInBvaW50IiwiYXJjIiwibGluZSIsImdyaWQiLCJoZXhhZ29uIiwiZ2VvanNvbiIsImNsdXN0ZXIiLCJpY29uIiwiaGVhdG1hcCIsImhleGFnb25JZCIsInRyaXAiLCJzMiIsImE1IiwiZmxvdyIsInZlY3RvclRpbGUiLCJyYXN0ZXJUaWxlIiwid21zIiwidGlsZTNkIiwiYml0bWFwIiwiRURJVE9SX0FWQUlMQUJMRV9MQVlFUlMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbGF5ZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBrZXlNaXJyb3IgZnJvbSAna2V5bWlycm9yJztcblxuaW1wb3J0IHtcbiAgQUdHUkVHQVRJT05fVFlQRVMsXG4gIERFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSxcbiAgREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFX1NURVBTXG59IGZyb20gJy4vZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge1xuICBDb2xvclJhbmdlLFxuICBDb2xvclVJLFxuICBMYXllclRleHRDb25maWcsXG4gIExheWVyVGV4dExhYmVsLFxuICBMYXllclZpc0NvbmZpZ1NldHRpbmdzLFxuICBSR0JBQ29sb3Jcbn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0NvbG9yUGFsZXR0ZSwgS0VQTEVSX0NPTE9SX1BBTEVUVEVTLCBjb2xvclBhbGV0dGVUb0NvbG9yUmFuZ2V9IGZyb20gJy4vY29sb3ItcGFsZXR0ZXMnO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblR5cGVzID0ga2V5b2YgdHlwZW9mIEFHR1JFR0FUSU9OX1RZUEVTO1xuXG5leHBvcnQgY29uc3QgUFJPUEVSVFlfR1JPVVBTID0ga2V5TWlycm9yKHtcbiAgY29sb3I6IG51bGwsXG4gIHN0cm9rZTogbnVsbCxcbiAgcmFkaXVzOiBudWxsLFxuICBoZWlnaHQ6IG51bGwsXG4gIGFuZ2xlOiBudWxsLFxuICBzY2VuZWdyYXBoOiBudWxsLFxuICAvLyBmb3IgaGVhdG1hcCBhZ2dyZWdhdGlvblxuICBjZWxsOiBudWxsLFxuICBwcmVjaXNpb246IG51bGwsXG4gIGRpc3BsYXk6IG51bGwsXG4gIGludGVyYWN0aW9uOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfT1BBQ0lUWSA9IDAuODtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0hJR0hMSUdIVF9DT0xPUjogUkdCQUNvbG9yID0gWzI1MiwgMjQyLCAyNiwgMjU1XTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0xBQkVMID0gJ25ldyBsYXllcic7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RFWFRfTEFCRUw6IExheWVyVGV4dExhYmVsID0ge1xuICBmaWVsZDogbnVsbCxcbiAgY29sb3I6IFsyNTUsIDI1NSwgMjU1XSxcbiAgc2l6ZTogMTgsXG4gIHdlaWdodDogNDAwLFxuICBvZmZzZXQ6IFswLCAwXSxcbiAgYW5jaG9yOiAnc3RhcnQnLFxuICBhbGlnbm1lbnQ6ICdjZW50ZXInLFxuICBvdXRsaW5lV2lkdGg6IDAsXG4gIG91dGxpbmVDb2xvcjogWzI1NSwgMCwgMCwgMjU1XSxcbiAgYmFja2dyb3VuZDogZmFsc2UsXG4gIGJhY2tncm91bmRDb2xvcjogWzAsIDAsIDIwMCwgMjU1XVxufTtcblxuY29uc3QgREVGQVVMVF9DT0xPUl9QQUxFVFRFID0gS0VQTEVSX0NPTE9SX1BBTEVUVEVTLmZpbmQoXG4gICh7bmFtZX0pID0+IG5hbWUgPT09IERFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURVxuKSBhcyBDb2xvclBhbGV0dGU7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTE9SX1JBTkdFID0gY29sb3JQYWxldHRlVG9Db2xvclJhbmdlKERFRkFVTFRfQ09MT1JfUEFMRVRURSwge1xuICByZXZlcnNlZDogZmFsc2UsXG4gIHN0ZXBzOiBERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEVfU1RFUFNcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DVVNUT01fUEFMRVRURTogQ29sb3JSYW5nZSA9IHtcbiAgbmFtZTogJ2NvbG9yLmN1c3RvbVBhbGV0dGUnLFxuICB0eXBlOiAnY3VzdG9tJyxcbiAgY2F0ZWdvcnk6ICdDdXN0b20nLFxuICBjb2xvcnM6IFtdXG59O1xuXG5leHBvcnQgY29uc3QgVU5LTk9XTl9DT0xPUl9LRVkgPSAnX191bmtub3duQ29sb3JfXyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTE9SX1VJOiBDb2xvclVJID0ge1xuICAvLyBjdXN0b21QYWxldHRlIGluIGVkaXRcbiAgY3VzdG9tUGFsZXR0ZTogREVGQVVMVF9DVVNUT01fUEFMRVRURSxcbiAgLy8gc2hvdyBjb2xvciBza2V0Y2hlciBtb2RhbFxuICBzaG93U2tldGNoZXI6IGZhbHNlLFxuICAvLyBzaG93IGNvbG9yIHJhbmdlIHNlbGVjdGlvbiBwYW5lbFxuICBzaG93RHJvcGRvd246IGZhbHNlLFxuICAvLyBzaG93IGNvbG9yIGNoYXJ0XG4gIHNob3dDb2xvckNoYXJ0OiBmYWxzZSxcbiAgLy8gY29sb3IgcmFuZ2Ugc2VsZWN0b3IgY29uZmlnXG4gIGNvbG9yUmFuZ2VDb25maWc6IHtcbiAgICB0eXBlOiAnYWxsJyxcbiAgICBzdGVwczogNixcbiAgICByZXZlcnNlZDogZmFsc2UsXG4gICAgY29sb3JCbGluZFNhZmU6IGZhbHNlLFxuICAgIGN1c3RvbTogZmFsc2UsXG4gICAgY3VzdG9tQnJlYWtzOiBmYWxzZVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgTEFZRVJfVklTX0NPTkZJR1M6IExheWVyVmlzQ29uZmlnU2V0dGluZ3MgPSB7XG4gIHRoaWNrbmVzczoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMixcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICd0aGlja25lc3MnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgc3Ryb2tlV2lkdGhSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwXSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aFJhbmdlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDIwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAnc2l6ZVJhbmdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIHRyYWlsTGVuZ3RoOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxODAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlV2lkdGgnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzEsIDEwMDBdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICd0cmFpbExlbmd0aCcsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBmYWRlVHJhaWw6IHtcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZhZGVUcmFpbCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICdmYWRlVHJhaWwnXG4gIH0sXG4gIGJpbGxib2FyZDoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmJpbGxib2FyZCcsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuYmlsbGJvYXJkRGVzY3JpcHRpb24nLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ2JpbGxib2FyZCdcbiAgfSxcbiAgLy8gcmFkaXVzIGlzIGFjdHVhbGx5IHJhZGl1c1NjYWxlIGluIGRlY2suZ2xcbiAgcmFkaXVzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxMCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXMnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAncmFkaXVzJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGZpeGVkUmFkaXVzOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZml4ZWRSYWRpdXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkUmFkaXVzRGVzY3JpcHRpb24nLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAnZml4ZWRSYWRpdXMnXG4gIH0sXG4gIGZpeGVkSGVpZ2h0OiB7XG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZml4ZWRIZWlnaHQnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmZpeGVkSGVpZ2h0RGVzY3JpcHRpb24nLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZml4ZWRIZWlnaHQnXG4gIH0sXG4gIHJhZGl1c1JhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgNTBdLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgNTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzUmFuZ2UnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAncmFkaXVzUmFuZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgY2x1c3RlclJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNsdXN0ZXJSYWRpdXMnLFxuICAgIGRlZmF1bHRWYWx1ZTogNDAsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgNTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdjbHVzdGVyUmFkaXVzJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGNsdXN0ZXJSYWRpdXNSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1c1JhbmdlUGl4ZWxzJyxcbiAgICBkZWZhdWx0VmFsdWU6IFsxLCA0MF0sXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFsxLCAxNTBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1c1JhbmdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIG9wYWNpdHk6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfTEFZRVJfT1BBQ0lUWSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5vcGFjaXR5JyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdvcGFjaXR5JyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiBmYWxzZVxuICB9LFxuICBjb3ZlcmFnZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb3ZlcmFnZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICdjb3ZlcmFnZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgLy8gdXNlZCBpbiBwb2ludCBsYXllclxuICBvdXRsaW5lOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllci5vdXRsaW5lJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdvdXRsaW5lJ1xuICB9LFxuICBjb2xvclJhbmdlOiB7XG4gICAgdHlwZTogJ2NvbG9yLXJhbmdlLXNlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0NPTE9SX1JBTkdFLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvbG9yUmFuZ2UnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdjb2xvclJhbmdlJ1xuICB9LFxuICBzdHJva2VDb2xvclJhbmdlOiB7XG4gICAgdHlwZTogJ2NvbG9yLXJhbmdlLXNlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBERUZBVUxUX0NPTE9SX1JBTkdFLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZUNvbG9yUmFuZ2UnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdzdHJva2VDb2xvclJhbmdlJ1xuICB9LFxuICB0YXJnZXRDb2xvcjoge1xuICAgIHR5cGU6ICdjb2xvci1zZWxlY3QnLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnRhcmdldENvbG9yJyxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3RhcmdldENvbG9yJ1xuICB9LFxuICBzdHJva2VDb2xvcjoge1xuICAgIHR5cGU6ICdjb2xvci1zZWxlY3QnLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZUNvbG9yJyxcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3N0cm9rZUNvbG9yJ1xuICB9LFxuICBjb2xvckFnZ3JlZ2F0aW9uOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvbG9yQWdncmVnYXRpb24nLFxuICAgIC8vIGFnZ3JlZ2F0aW9uIG9wdGlvbnMgYXJlIGJhc2VkIG9uIGNvbG9yIGZpZWxkIHR5cGVzXG4gICAgb3B0aW9uczogT2JqZWN0LmtleXMoQUdHUkVHQVRJT05fVFlQRVMpIGFzIEFnZ3JlZ2F0aW9uVHlwZXNbXSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnY29sb3JBZ2dyZWdhdGlvbicsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gQm9vbGVhbihjb25maWcuY29sb3JGaWVsZClcbiAgfSxcbiAgc2l6ZUFnZ3JlZ2F0aW9uOiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgZGVmYXVsdFZhbHVlOiBBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodEFnZ3JlZ2F0aW9uJyxcbiAgICAvLyBhZ2dyZWdhdGlvbiBvcHRpb25zIGFyZSBiYXNlZCBvbiBjb2xvciBmaWVsZCB0eXBlc1xuICAgIG9wdGlvbnM6IE9iamVjdC5rZXlzKEFHR1JFR0FUSU9OX1RZUEVTKSBhcyBBZ2dyZWdhdGlvblR5cGVzW10sXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdzaXplQWdncmVnYXRpb24nLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IEJvb2xlYW4oY29uZmlnLnNpemVGaWVsZClcbiAgfSxcbiAgcGVyY2VudGlsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDEwMF0sXG4gICAgbGFiZWw6IGNvbmZpZyA9PlxuICAgICAgYEZpbHRlciBieSAke1xuICAgICAgICBjb25maWcuY29sb3JGaWVsZFxuICAgICAgICAgID8gYCR7Y29uZmlnLnZpc0NvbmZpZy5jb2xvckFnZ3JlZ2F0aW9ufSAke2NvbmZpZy5jb2xvckZpZWxkLm5hbWV9YFxuICAgICAgICAgIDogJ2NvdW50J1xuICAgICAgfSBwZXJjZW50aWxlYCxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAncGVyY2VudGlsZScsXG5cbiAgICAvLyBwZXJjZW50aWxlIGZpbHRlciBvbmx5IG1ha2VzIHNlbnNlIHdpdGggbGluZWFyIGFnZ3JlZ2F0aW9uXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gY29uZmlnLmNvbG9yU2NhbGUgIT09ICdvcmRpbmFsJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiBmYWxzZVxuICB9LFxuICBlbGV2YXRpb25QZXJjZW50aWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMTAwXSxcbiAgICBsYWJlbDogY29uZmlnID0+XG4gICAgICBgRmlsdGVyIGJ5ICR7XG4gICAgICAgIGNvbmZpZy5zaXplRmllbGQgPyBgJHtjb25maWcudmlzQ29uZmlnLnNpemVBZ2dyZWdhdGlvbn0gJHtjb25maWcuc2l6ZUZpZWxkLm5hbWV9YCA6ICdjb3VudCdcbiAgICAgIH0gcGVyY2VudGlsZWAsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbGV2YXRpb25QZXJjZW50aWxlJyxcbiAgICAvLyBwZXJjZW50aWxlIGZpbHRlciBvbmx5IG1ha2VzIHNlbnNlIHdpdGggbGluZWFyIGFnZ3JlZ2F0aW9uXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT5cbiAgICAgIEJvb2xlYW4oY29uZmlnLnZpc0NvbmZpZy5lbmFibGUzZCAmJiAoY29uZmlnLmNvbG9yRmllbGQgfHwgY29uZmlnLnNpemVGaWVsZCkpLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IGZhbHNlXG4gIH0sXG4gIHJlc29sdXRpb246IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDgsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmVzb2x1dGlvbicsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTNdLFxuICAgIHN0ZXA6IDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAncmVzb2x1dGlvbicsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBzaXplU2NhbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNpemVTY2FsZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgMTAwMF0sXG4gICAgc3RlcDogMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3NpemVTY2FsZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBhbmdsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmFuZ2xlJyxcbiAgICBkZWZhdWx0VmFsdWU6IDAsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMzYwXSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmFuZ2xlLFxuICAgIHN0ZXA6IDEsXG4gICAgcHJvcGVydHk6ICdhbmdsZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICB3b3JsZFVuaXRTaXplOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLndvcmxkVW5pdFNpemUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDUwMF0sXG4gICAgc3RlcDogMC4wMDAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3dvcmxkVW5pdFNpemUnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgZWxldmF0aW9uU2NhbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZWxldmF0aW9uU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDEwMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VsZXZhdGlvblNjYWxlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3I6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVuYWJsZUVsZXZhdGlvblpvb21GYWN0b3InLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcicsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvckRlc2NyaXB0aW9uJ1xuICB9LFxuICBlbGV2YXRpb25SYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwMF0sXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0U2NhbGUnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ3NpemVSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBoZWlnaHRSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDUwMF0sXG4gICAgbGFiZWw6ICdIZWlnaHQgU2NhbGUnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2hlaWdodFJhbmdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGNvdmVyYWdlUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxXSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5jb3ZlcmFnZVJhbmdlJyxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdjb3ZlcmFnZVJhbmdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiBmYWxzZVxuICB9LFxuICAvLyBoaSBwcmVjaXNpb24gaXMgZGVwcmVjYXRlZCBieSBkZWNrLmdsXG4gICdoaS1wcmVjaXNpb24nOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGlnaFByZWNpc2lvblJlbmRlcmluZycsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5wcmVjaXNpb24sXG4gICAgcHJvcGVydHk6ICdoaS1wcmVjaXNpb24nLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmhpZ2hQcmVjaXNpb25SZW5kZXJpbmdEZXNjcmlwdGlvbidcbiAgfSxcbiAgZW5hYmxlM2Q6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZW5hYmxlM2QnLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodERlc2NyaXB0aW9uJ1xuICB9LFxuICBzdHJva2VkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZScsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ3N0cm9rZWQnXG4gIH0sXG4gIGZpbGxlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5maWxsJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ2ZpbGxlZCdcbiAgfSxcbiAgZXh0cnVkZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVQb2x5Z29uSGVpZ2h0JyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICdleHRydWRlZCdcbiAgfSxcbiAgd2lyZWZyYW1lOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2hvd1dpcmVmcmFtZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnd2lyZWZyYW1lJ1xuICB9LFxuICAvLyB1c2VkIGZvciBoZWF0bWFwXG4gIHdlaWdodDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy53ZWlnaHRJbnRlbnNpdHknLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAuMDEsIDUwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICd3ZWlnaHQnLFxuICAgIGNvbmRpdGlvbjogY29uZmlnID0+IEJvb2xlYW4oY29uZmlnLndlaWdodEZpZWxkKSxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGhlYXRtYXBSYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDIwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1cycsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAncmFkaXVzJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGRhcmtCYXNlTWFwRW5hYmxlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZGFya01vZGVFbmFibGVkJyxcbiAgICBwcm9wZXJ0eTogJ2RhcmtCYXNlTWFwRW5hYmxlZCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5XG4gIH0sXG4gIGFsbG93SG92ZXI6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmFsbG93SG92ZXInLFxuICAgIGRlc2NyaXB0aW9uOiAnbGF5ZXJWaXNDb25maWdzLmFsbG93SG92ZXJEZXNjcmlwdGlvbicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5pbnRlcmFjdGlvbixcbiAgICBwcm9wZXJ0eTogJ2FsbG93SG92ZXInXG4gIH0sXG4gIHNob3dOZWlnaGJvck9uSG92ZXI6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaG93TmVpZ2hib3JPbkhvdmVyJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmludGVyYWN0aW9uLFxuICAgIHByb3BlcnR5OiAnc2hvd05laWdoYm9yT25Ib3ZlcidcbiAgfSxcbiAgc2hvd0hpZ2hsaWdodENvbG9yOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaG93SGlnaGxpZ2h0Q29sb3InLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaW50ZXJhY3Rpb24sXG4gICAgcHJvcGVydHk6ICdzaG93SGlnaGxpZ2h0Q29sb3InXG4gIH0sXG4gIHNjZW5lZ3JhcGg6IHtcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdHlwZTogJ2lucHV0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zY2VuZWdyYXBoJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnNjZW5lZ3JhcGgsXG4gICAgcHJvcGVydHk6ICdzY2VuZWdyYXBoJ1xuICB9LFxuICBzY2VuZWdyYXBoRW5hYmxlZDoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNjZW5lZ3JhcGhFbmFibGVkJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnNjZW5lZ3JhcGgsXG4gICAgcHJvcGVydHk6ICdzY2VuZWdyYXBoRW5hYmxlZCdcbiAgfSxcbiAgc2NlbmVncmFwaEN1c3RvbU1vZGVsVXJsOiB7XG4gICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICB0eXBlOiAnaW5wdXQnLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNjZW5lZ3JhcGhDdXN0b21Nb2RlbFVybCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zY2VuZWdyYXBoLFxuICAgIHByb3BlcnR5OiAnc2NlbmVncmFwaEN1c3RvbU1vZGVsVXJsJ1xuICB9LFxuICBzY2VuZWdyYXBoQ29sb3JFbmFibGVkOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2NlbmVncmFwaENvbG9yRW5hYmxlZCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zY2VuZWdyYXBoLFxuICAgIHByb3BlcnR5OiAnc2NlbmVncmFwaENvbG9yRW5hYmxlZCdcbiAgfSxcbiAgc2NlbmVncmFwaFVzZVRyYWlsQ29sb3I6IHtcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zY2VuZWdyYXBoVXNlVHJhaWxDb2xvcicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zY2VuZWdyYXBoLFxuICAgIHByb3BlcnR5OiAnc2NlbmVncmFwaFVzZVRyYWlsQ29sb3InXG4gIH0sXG4gIHNjZW5lZ3JhcGhDb2xvcjoge1xuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICB0eXBlOiAnY29sb3Itc2VsZWN0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zY2VuZWdyYXBoQ29sb3InLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc2NlbmVncmFwaCxcbiAgICBwcm9wZXJ0eTogJ3NjZW5lZ3JhcGhDb2xvcidcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX1RFWFRfQ09ORklHUzogTGF5ZXJUZXh0Q29uZmlnID0ge1xuICBmb250U2l6ZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHJhbmdlOiBbMSwgMTAwXSxcbiAgICB2YWx1ZTA6IDEsXG4gICAgc3RlcDogMSxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdGb250IHNpemUnLFxuICAgIHNob3dJbnB1dDogdHJ1ZVxuICB9LFxuICBmb250V2VpZ2h0OiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgcmFuZ2U6IFsxMDAsIDkwMF0sXG4gICAgdmFsdWUwOiAxMDAsXG4gICAgc3RlcDogMTAwLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICBsYWJlbDogJ0ZvbnQgd2VpZ2h0JyxcbiAgICBzaG93SW5wdXQ6IHRydWVcbiAgfSxcbiAgb3V0bGluZVdpZHRoOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICB2YWx1ZTA6IDAsXG4gICAgc3RlcDogMC4wMSxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdPdXRsaW5lIHdpZHRoJyxcbiAgICBzaG93SW5wdXQ6IHRydWVcbiAgfSxcbiAgdGV4dEFuY2hvcjoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IFsnc3RhcnQnLCAnbWlkZGxlJywgJ2VuZCddLFxuICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgICBzZWFyY2hhYmxlOiBmYWxzZVxuICB9LFxuICB0ZXh0QWxpZ25tZW50OiB7XG4gICAgdHlwZTogJ3NlbGVjdCcsXG4gICAgb3B0aW9uczogWyd0b3AnLCAnY2VudGVyJywgJ2JvdHRvbSddLFxuICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgICBzZWFyY2hhYmxlOiBmYWxzZVxuICB9XG59O1xuZXhwb3J0IGNvbnN0IExBWUVSX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgcG9pbnQ6IG51bGwsXG4gIGFyYzogbnVsbCxcbiAgbGluZTogbnVsbCxcbiAgZ3JpZDogbnVsbCxcbiAgaGV4YWdvbjogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY2x1c3RlcjogbnVsbCxcbiAgaWNvbjogbnVsbCxcbiAgaGVhdG1hcDogbnVsbCxcbiAgaGV4YWdvbklkOiBudWxsLFxuICAnM0QnOiBudWxsLFxuICB0cmlwOiBudWxsLFxuICBzMjogbnVsbCxcbiAgYTU6IG51bGwsXG4gIGZsb3c6IG51bGwsXG4gIHZlY3RvclRpbGU6IG51bGwsXG4gIHJhc3RlclRpbGU6IG51bGwsXG4gIHdtczogbnVsbCxcbiAgdGlsZTNkOiBudWxsLFxuICBiaXRtYXA6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRURJVE9SX0FWQUlMQUJMRV9MQVlFUlM6IHN0cmluZ1tdID0gW1xuICBMQVlFUl9UWVBFUy5wb2ludCxcbiAgTEFZRVJfVFlQRVMuaWNvbixcbiAgTEFZRVJfVFlQRVMuZ3JpZCxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbixcbiAgTEFZRVJfVFlQRVMuY2x1c3RlcixcbiAgTEFZRVJfVFlQRVMuYXJjLFxuICBMQVlFUl9UWVBFUy5saW5lLFxuICBMQVlFUl9UWVBFUy5oZXhhZ29uSWQsXG4gIExBWUVSX1RZUEVTLmdlb2pzb24sXG4gIExBWUVSX1RZUEVTLmhlYXRtYXBcbl07XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsU0FBUyxNQUFNLFdBQVc7QUFFakMsU0FDRUMsaUJBQWlCLEVBQ2pCQywyQkFBMkIsRUFDM0JDLGlDQUFpQyxRQUM1QixvQkFBb0I7QUFTM0IsU0FBc0JDLHFCQUFxQixFQUFFQyx3QkFBd0IsUUFBTyxrQkFBa0I7QUFJOUYsT0FBTyxJQUFNQyxlQUFlLEdBQUdOLFNBQVMsQ0FBQztFQUN2Q08sS0FBSyxFQUFFLElBQUk7RUFDWEMsTUFBTSxFQUFFLElBQUk7RUFDWkMsTUFBTSxFQUFFLElBQUk7RUFDWkMsTUFBTSxFQUFFLElBQUk7RUFDWkMsS0FBSyxFQUFFLElBQUk7RUFDWEMsVUFBVSxFQUFFLElBQUk7RUFDaEI7RUFDQUMsSUFBSSxFQUFFLElBQUk7RUFDVkMsU0FBUyxFQUFFLElBQUk7RUFDZkMsT0FBTyxFQUFFLElBQUk7RUFDYkMsV0FB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