@ng-nest/ui 15.0.16 → 15.0.18

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 (83) hide show
  1. package/checkbox/checkbox.component.d.ts +2 -0
  2. package/checkbox/checkbox.module.d.ts +4 -3
  3. package/checkbox/checkbox.property.d.ts +42 -1
  4. package/core/config/config.d.ts +6 -2
  5. package/core/functions/date.d.ts +2 -0
  6. package/date-picker/date-picker-portal.component.d.ts +1 -0
  7. package/date-picker/date-picker.module.d.ts +18 -16
  8. package/date-picker/date-picker.property.d.ts +120 -1
  9. package/date-picker/date-quarter.pipe.d.ts +9 -0
  10. package/date-picker/picker-date.component.d.ts +1 -0
  11. package/date-picker/picker-quarter.component.d.ts +45 -0
  12. package/date-picker/public-api.d.ts +2 -0
  13. package/esm2020/checkbox/checkbox.component.mjs +21 -4
  14. package/esm2020/checkbox/checkbox.module.mjs +5 -4
  15. package/esm2020/checkbox/checkbox.property.mjs +28 -2
  16. package/esm2020/core/config/config.mjs +1 -1
  17. package/esm2020/core/functions/date.mjs +15 -1
  18. package/esm2020/date-picker/date-picker-portal.component.mjs +16 -4
  19. package/esm2020/date-picker/date-picker.component.mjs +12 -3
  20. package/esm2020/date-picker/date-picker.module.mjs +18 -6
  21. package/esm2020/date-picker/date-picker.property.mjs +154 -1
  22. package/esm2020/date-picker/date-quarter.pipe.mjs +19 -0
  23. package/esm2020/date-picker/date-range-portal.component.mjs +7 -6
  24. package/esm2020/date-picker/date-range.component.mjs +28 -4
  25. package/esm2020/date-picker/picker-date.component.mjs +6 -3
  26. package/esm2020/date-picker/picker-quarter.component.mjs +237 -0
  27. package/esm2020/date-picker/public-api.mjs +3 -1
  28. package/esm2020/empty/empty.property.mjs +4 -1
  29. package/esm2020/i18n/i18n.property.mjs +1 -1
  30. package/esm2020/i18n/languages/en_GB.mjs +4 -1
  31. package/esm2020/i18n/languages/en_US.mjs +4 -1
  32. package/esm2020/i18n/languages/zh_CN.mjs +4 -1
  33. package/esm2020/i18n/languages/zh_TW.mjs +4 -1
  34. package/esm2020/radio/radio.component.mjs +28 -6
  35. package/esm2020/radio/radio.module.mjs +5 -4
  36. package/esm2020/radio/radio.property.mjs +28 -3
  37. package/esm2020/table/table-body.component.mjs +3 -3
  38. package/esm2020/table/table.property.mjs +18 -2
  39. package/esm2020/tag/tag.component.mjs +4 -4
  40. package/esm2020/tag/tag.property.mjs +22 -2
  41. package/fesm2015/ng-nest-ui-checkbox.mjs +51 -7
  42. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  43. package/fesm2015/ng-nest-ui-core.mjs +15 -1
  44. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  45. package/fesm2015/ng-nest-ui-date-picker.mjs +468 -18
  46. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  47. package/fesm2015/ng-nest-ui-empty.mjs +3 -0
  48. package/fesm2015/ng-nest-ui-empty.mjs.map +1 -1
  49. package/fesm2015/ng-nest-ui-i18n.mjs +12 -0
  50. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  51. package/fesm2015/ng-nest-ui-radio.mjs +58 -10
  52. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  53. package/fesm2015/ng-nest-ui-table.mjs +19 -3
  54. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  55. package/fesm2015/ng-nest-ui-tag.mjs +24 -4
  56. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  57. package/fesm2020/ng-nest-ui-checkbox.mjs +51 -7
  58. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  59. package/fesm2020/ng-nest-ui-core.mjs +15 -1
  60. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  61. package/fesm2020/ng-nest-ui-date-picker.mjs +467 -18
  62. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  63. package/fesm2020/ng-nest-ui-empty.mjs +3 -0
  64. package/fesm2020/ng-nest-ui-empty.mjs.map +1 -1
  65. package/fesm2020/ng-nest-ui-i18n.mjs +12 -0
  66. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  67. package/fesm2020/ng-nest-ui-radio.mjs +58 -10
  68. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  69. package/fesm2020/ng-nest-ui-table.mjs +19 -3
  70. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  71. package/fesm2020/ng-nest-ui-tag.mjs +24 -4
  72. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  73. package/i18n/i18n.property.d.ts +3 -0
  74. package/i18n/languages/en_GB.d.ts +3 -0
  75. package/i18n/languages/en_US.d.ts +3 -0
  76. package/i18n/languages/zh_CN.d.ts +3 -0
  77. package/i18n/languages/zh_TW.d.ts +3 -0
  78. package/package.json +1 -1
  79. package/radio/radio.component.d.ts +2 -0
  80. package/radio/radio.module.d.ts +4 -3
  81. package/radio/radio.property.d.ts +38 -3
  82. package/table/table.property.d.ts +16 -1
  83. package/tag/tag.property.d.ts +8 -3
@@ -497,6 +497,159 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
497
497
  }], rangeDateClick: [{
498
498
  type: Output
499
499
  }] } });
500
+ /**
501
+ * PickerQuarter
502
+ * @selector x-picker-quarter
503
+ * @decorator component
504
+ */
505
+ export const XPickerQuarterPrefix = 'x-picker-quarter';
506
+ /**
507
+ * PickerQuarter Property
508
+ */
509
+ export class XPickerQuarterProperty extends XProperty {
510
+ constructor() {
511
+ super(...arguments);
512
+ /**
513
+ * @zh_CN 选择类型
514
+ * @en_US Select type
515
+ */
516
+ this.type = 'date';
517
+ /**
518
+ * @zh_CN 显示的日期
519
+ * @en_US Date displayed
520
+ */
521
+ this.display = new Date();
522
+ /**
523
+ * @zh_CN 显示切换按钮
524
+ * @en_US Display switch button
525
+ */
526
+ this.showHeader = true;
527
+ /**
528
+ * @zh_CN 上一年
529
+ * @en_US Last year
530
+ */
531
+ this.lastYearBtn = true;
532
+ /**
533
+ * @zh_CN 下一年
534
+ * @en_US Next year
535
+ */
536
+ this.nextYearBtn = true;
537
+ /**
538
+ * @zh_CN 范围月份
539
+ * @en_US Range date
540
+ */
541
+ this.rangeValue = [];
542
+ /**
543
+ * @zh_CN 选中的事件
544
+ * @en_US Selected event
545
+ */
546
+ this.modelChange = new EventEmitter();
547
+ /**
548
+ * @zh_CN 选择类型
549
+ * @en_US Select type
550
+ */
551
+ this.typeChange = new EventEmitter();
552
+ /**
553
+ * @zh_CN 范围变化的事件
554
+ * @en_US Scope change event
555
+ */
556
+ this.rangeChange = new EventEmitter();
557
+ /**
558
+ * @zh_CN 选年的事件
559
+ * @en_US Year change event
560
+ */
561
+ this.yearChange = new EventEmitter();
562
+ /**
563
+ * @zh_CN 选月的事件
564
+ * @en_US Month change event
565
+ */
566
+ this.monthChange = new EventEmitter();
567
+ /**
568
+ * @zh_CN 显示季度事件
569
+ * @en_US display date event
570
+ */
571
+ this.displayChange = new EventEmitter();
572
+ /**
573
+ * @zh_CN 范围季度 mouseenter 事件
574
+ * @en_US Date mouseenter event
575
+ */
576
+ this.rangeTdMouseenter = new EventEmitter();
577
+ /**
578
+ * @zh_CN 范围季度 mouseleave 事件
579
+ * @en_US Date mouseleave event
580
+ */
581
+ this.rangeTdMouseleave = new EventEmitter();
582
+ /**
583
+ * @zh_CN 范围中的季度点击事件
584
+ * @en_US Range date click event
585
+ */
586
+ this.rangeDateClick = new EventEmitter();
587
+ }
588
+ }
589
+ /** @nocollapse */ XPickerQuarterProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XPickerQuarterProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
590
+ /** @nocollapse */ XPickerQuarterProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.3", type: XPickerQuarterProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", quarterTemp: "quarterTemp", showHeader: "showHeader", rangePicker: "rangePicker", lastYearBtn: "lastYearBtn", nextYearBtn: "nextYearBtn", rangeValue: "rangeValue", rangeType: "rangeType", disabledDate: "disabledDate" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", displayChange: "displayChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave", rangeDateClick: "rangeDateClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
591
+ __decorate([
592
+ XInputBoolean()
593
+ ], XPickerQuarterProperty.prototype, "showHeader", void 0);
594
+ __decorate([
595
+ XInputBoolean()
596
+ ], XPickerQuarterProperty.prototype, "rangePicker", void 0);
597
+ __decorate([
598
+ XInputBoolean()
599
+ ], XPickerQuarterProperty.prototype, "lastYearBtn", void 0);
600
+ __decorate([
601
+ XInputBoolean()
602
+ ], XPickerQuarterProperty.prototype, "nextYearBtn", void 0);
603
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XPickerQuarterProperty, decorators: [{
604
+ type: Component,
605
+ args: [{ template: '' }]
606
+ }], propDecorators: { type: [{
607
+ type: Input
608
+ }], display: [{
609
+ type: Input
610
+ }], model: [{
611
+ type: Input
612
+ }], quarterTemp: [{
613
+ type: Input
614
+ }], showHeader: [{
615
+ type: Input
616
+ }], rangePicker: [{
617
+ type: Input
618
+ }], lastYearBtn: [{
619
+ type: Input
620
+ }], nextYearBtn: [{
621
+ type: Input
622
+ }], rangeValue: [{
623
+ type: Input
624
+ }], rangeType: [{
625
+ type: Input
626
+ }], disabledDate: [{
627
+ type: Input
628
+ }], modelChange: [{
629
+ type: Output
630
+ }], typeChange: [{
631
+ type: Output
632
+ }], rangeChange: [{
633
+ type: Output
634
+ }], yearChange: [{
635
+ type: Output
636
+ }], monthChange: [{
637
+ type: Output
638
+ }], displayChange: [{
639
+ type: Output
640
+ }], rangeTdMouseenter: [{
641
+ type: Output
642
+ }], rangeTdMouseleave: [{
643
+ type: Output
644
+ }], rangeDateClick: [{
645
+ type: Output
646
+ }] } });
647
+ /**
648
+ * DateQuarter
649
+ * @selector xDateQuarter
650
+ * @decorator pipe
651
+ */
652
+ export const XDateQuarterPrefix = 'xDateQuarter';
500
653
  /**
501
654
  * PickerYear
502
655
  * @selector x-picker-year
@@ -651,4 +804,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImpor
651
804
  }], rangeDateClick: [{
652
805
  type: Output
653
806
  }] } });
654
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBR1QsV0FBVyxFQUdYLFlBQVksRUFHYixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFDakQsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBRW5DOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHFCQUEwQjtJQURuRTs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQW9CLE1BQU0sQ0FBQztRQTBCeEM7OztXQUdHO1FBQ3NCLFdBQU0sR0FBNkIsRUFBRSxDQUFDO1FBZ0IvRDs7O1dBR0c7UUFDTyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQUNqRDs7bUlBeERZLG1CQUFtQjt1SEFBbkIsbUJBQW1CLHdWQURULEVBQUU7QUFXb0M7SUFBakQsV0FBVyxDQUFTLGFBQWEsRUFBRSxZQUFZLENBQUM7bURBQWlCO0FBS0w7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7c0RBQXNCO0FBSzdCO0lBQXBELFdBQVcsQ0FBVSxhQUFhLEVBQUUsY0FBYyxDQUFDO3NEQUFxQjtBQUs1QjtJQUE1QyxXQUFXLENBQVEsYUFBYSxFQUFFLFFBQVEsQ0FBQztpREFBdUI7QUFLTjtJQUE1RCxhQUFhLEVBQUU7SUFBRSxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztxREFBcUI7QUFLakU7SUFBZixZQUFZLEVBQUU7bURBQXVDOzJGQW5DcEQsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtxRCxNQUFNO3NCQUFoRSxLQUFLO2dCQUtnRSxTQUFTO3NCQUE5RSxLQUFLO2dCQUt3RCxTQUFTO3NCQUF0RSxLQUFLO2dCQUt5RCxJQUFJO3NCQUFsRSxLQUFLO2dCQUtnRSxRQUFRO3NCQUE3RSxLQUFLO2dCQUttQixNQUFNO3NCQUE5QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLFFBQVE7c0JBQWpCLE1BQU07O0FBdURUOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7QUFDL0MsTUFBTSxtQkFBbUIsR0FBRyxXQUFXLENBQUM7QUFFeEM7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEscUJBQTBCO0lBRGxFOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBb0IsTUFBTSxDQUFDO1FBMEJ4Qzs7O1dBR0c7UUFDc0IsV0FBTSxHQUE0QixFQUFFLENBQUM7UUFxQjlEOzs7V0FHRztRQUNPLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0tBQ25EOztrSUE3RFksa0JBQWtCO3NIQUFsQixrQkFBa0Isb1hBRFIsRUFBRTtBQVcwQztJQUF2RCxXQUFXLENBQVMsbUJBQW1CLEVBQUUsWUFBWSxDQUFDO2tEQUFpQjtBQUtMO0lBQWxFLFdBQVcsQ0FBVyxtQkFBbUIsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7cURBQXNCO0FBSzdCO0lBQTFELFdBQVcsQ0FBVSxtQkFBbUIsRUFBRSxjQUFjLENBQUM7cURBQXFCO0FBSzVCO0lBQWxELFdBQVcsQ0FBUSxtQkFBbUIsRUFBRSxRQUFRLENBQUM7Z0RBQXVCO0FBS1o7SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7b0RBQXFCO0FBS2pFO0lBQWYsWUFBWSxFQUFFO2tEQUFzQzsyRkFuQ25ELGtCQUFrQjtrQkFEOUIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLMkQsTUFBTTtzQkFBdEUsS0FBSztnQkFLc0UsU0FBUztzQkFBcEYsS0FBSztnQkFLOEQsU0FBUztzQkFBNUUsS0FBSztnQkFLK0QsSUFBSTtzQkFBeEUsS0FBSztnQkFLZ0UsUUFBUTtzQkFBN0UsS0FBSztnQkFLbUIsTUFBTTtzQkFBOUIsS0FBSztnQkFLWSxXQUFXO3NCQUE1QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLFFBQVE7c0JBQWpCLE1BQU07O0FBMEZUOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxzQkFBc0IsQ0FBQztBQUU5RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcscUJBQXFCLENBQUM7QUFFNUQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztBQUVqRDs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxTQUFTO0lBRGxEOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBb0IsTUFBTSxDQUFDO1FBQ3hDOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBVzlCOzs7V0FHRztRQUN1QixlQUFVLEdBQWEsSUFBSSxDQUFDO1FBTXREOzs7V0FHRztRQUN1QixnQkFBVyxHQUFhLElBQUksQ0FBQztRQUN2RDs7O1dBR0c7UUFDdUIsaUJBQVksR0FBYSxJQUFJLENBQUM7UUFDeEQ7OztXQUdHO1FBQ3VCLGdCQUFXLEdBQWEsSUFBSSxDQUFDO1FBQ3ZEOzs7V0FHRztRQUN1QixpQkFBWSxHQUFhLElBQUksQ0FBQztRQUN4RDs7O1dBR0c7UUFDdUIsZUFBVSxHQUFhLElBQUksQ0FBQztRQUN0RDs7O1dBR0c7UUFDTSxlQUFVLEdBQXNCLEVBQUUsQ0FBQztRQVc1Qzs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDM0Q7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pEOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNsRDs7O1dBR0c7UUFDTyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7OztXQUdHO1FBQ08sa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ25EOzs7V0FHRztRQUNPLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDNUQ7OztXQUdHO1FBQ08sc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM1RDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7S0FDMUQ7O21JQXBIWSxtQkFBbUI7dUhBQW5CLG1CQUFtQiwwdEJBRFQsRUFBRTtBQTBCRztJQUFoQixhQUFhLEVBQUU7dURBQTZCO0FBSzVCO0lBQWhCLGFBQWEsRUFBRTt3REFBd0I7QUFLdkI7SUFBaEIsYUFBYSxFQUFFO3dEQUE4QjtBQUs3QjtJQUFoQixhQUFhLEVBQUU7eURBQStCO0FBSzlCO0lBQWhCLGFBQWEsRUFBRTt3REFBOEI7QUFLN0I7SUFBaEIsYUFBYSxFQUFFO3lEQUErQjtBQUs5QjtJQUFoQixhQUFhLEVBQUU7dURBQTZCOzJGQXZEM0MsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLb0IsV0FBVztzQkFBcEMsS0FBSztnQkFLb0IsV0FBVztzQkFBcEMsS0FBSztnQkFLb0IsWUFBWTtzQkFBckMsS0FBSztnQkFLb0IsV0FBVztzQkFBcEMsS0FBSztnQkFLb0IsWUFBWTtzQkFBckMsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLSSxVQUFVO3NCQUFuQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTTtnQkFLRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBS0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUtHLGNBQWM7c0JBQXZCLE1BQU07O0FBd0lUOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUVuRDs7R0FFRztBQUVILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxTQUFTO0lBRG5EOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBb0IsTUFBTSxDQUFDO1FBQ3hDOzs7V0FHRztRQUNNLFlBQU8sR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBV3BDOzs7V0FHRztRQUN1QixlQUFVLEdBQWEsSUFBSSxDQUFDO1FBTXREOzs7V0FHRztRQUN1QixnQkFBVyxHQUFhLElBQUksQ0FBQztRQUN2RDs7O1dBR0c7UUFDdUIsZ0JBQVcsR0FBYSxJQUFJLENBQUM7UUFDdkQ7OztXQUdHO1FBQ00sZUFBVSxHQUFzQixFQUFFLENBQUM7UUFXNUM7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2pEOzs7V0FHRztRQUNPLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUMzRDs7O1dBR0c7UUFDTyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7OztXQUdHO1FBQ08sZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbEQ7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25EOzs7V0FHRztRQUNPLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQzVEOzs7V0FHRztRQUNPLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDNUQ7OztXQUdHO1FBQ08sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0tBQzFEOztvSUFyR1ksb0JBQW9CO3dIQUFwQixvQkFBb0Isc29CQURWLEVBQUU7QUEwQkc7SUFBaEIsYUFBYSxFQUFFO3dEQUE2QjtBQUs1QjtJQUFoQixhQUFhLEVBQUU7eURBQXdCO0FBS3ZCO0lBQWhCLGFBQWEsRUFBRTt5REFBOEI7QUFLN0I7SUFBaEIsYUFBYSxFQUFFO3lEQUE4QjsyRkF4QzVDLG9CQUFvQjtrQkFEaEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csS0FBSztzQkFBYixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS29CLFVBQVU7c0JBQW5DLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxVQUFVO3NCQUFuQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLGFBQWE7c0JBQXRCLE1BQU07Z0JBS0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUtHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFLRyxjQUFjO3NCQUF2QixNQUFNOztBQUdUOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFFakQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBUztJQURsRDs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQW9CLE1BQU0sQ0FBQztRQUN4Qzs7O1dBR0c7UUFDTSxZQUFPLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQVdwQzs7O1dBR0c7UUFDdUIsZUFBVSxHQUFhLElBQUksQ0FBQztRQU10RDs7O1dBR0c7UUFDdUIsZ0JBQVcsR0FBYSxJQUFJLENBQUM7UUFDdkQ7OztXQUdHO1FBQ3VCLGdCQUFXLEdBQWEsSUFBSSxDQUFDO1FBQ3ZEOzs7V0FHRztRQUNNLGVBQVUsR0FBc0IsRUFBRSxDQUFDO1FBVzVDOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNqRDs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDM0Q7OztXQUdHO1FBQ08sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ25EOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNuRDs7O1dBR0c7UUFDTyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUNsRDs7O1dBR0c7UUFDTyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDbkQ7OztXQUdHO1FBQ08sa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ25EOzs7V0FHRztRQUNPLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDNUQ7OztXQUdHO1FBQ08sc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUM1RDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7S0FDMUQ7O21JQTFHWSxtQkFBbUI7dUhBQW5CLG1CQUFtQixncUJBRFQsRUFBRTtBQTBCRztJQUFoQixhQUFhLEVBQUU7dURBQTZCO0FBSzVCO0lBQWhCLGFBQWEsRUFBRTt3REFBd0I7QUFLdkI7SUFBaEIsYUFBYSxFQUFFO3dEQUE4QjtBQUs3QjtJQUFoQixhQUFhLEVBQUU7d0RBQThCOzJGQXhDNUMsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLb0IsV0FBVztzQkFBcEMsS0FBSztnQkFLb0IsV0FBVztzQkFBcEMsS0FBSztnQkFLb0IsV0FBVztzQkFBcEMsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLSSxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFVBQVU7c0JBQW5CLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxhQUFhO3NCQUF0QixNQUFNO2dCQUtHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFLRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBS0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYUHJvcGVydHksXHJcbiAgWEJvb2xlYW4sXHJcbiAgWENvcm5lcixcclxuICBYV2l0aENvbmZpZyxcclxuICBYU2l6ZSxcclxuICBYVGVtcGxhdGUsXHJcbiAgWERhdGFDb252ZXJ0LFxyXG4gIFhEYXRhLFxyXG4gIFhJZGVudGl0eVByb3BlcnR5XHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgVGVtcGxhdGVSZWYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ29udHJvbFZhbHVlQWNjZXNzb3IsIFhGb3JtT3B0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyXHJcbiAqIEBzZWxlY3RvciB4LWRhdGUtcGlja2VyXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWERhdGVQaWNrZXJQcmVmaXggPSAneC1kYXRlLXBpY2tlcic7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAnZGF0ZVBpY2tlcic7XHJcblxyXG4vKipcclxuICogRGF0ZVBpY2tlciBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWERhdGVQaWNrZXJQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3Nvcjxhbnk+IGltcGxlbWVudHMgWERhdGVQaWNrZXJPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagvOW8j+WMluexu+Wei1xyXG4gICAqIEBlbl9VUyBGb3JtYXQgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUsICd5eXl5LU1NLWRkJykgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQ29ybmVyPihYX0NPTkZJR19OQU1FLCAnYm90dG9tLXN0YXJ0JykgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBvdmVycmlkZSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBib3JkZXJlZCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv6vmjbfpgInmi6nmjInpkq7vvIzoh6rlrprkuYnmiJbnm7TmjqXorr7nva7ku4rlpKnvvIh0b2Rhee+8iSzmmKjlpKnvvIh5ZXN0ZXJkYXnvvIks5piO5aSp77yIdG9tb3Jyb3fvvIlcclxuICAgKiBAZW5fVVMgUXVpY2sgc2VsZWN0aW9uIGJ1dHRvbiwgc3VwcG9ydCB0b2RheSwgeWVzdGVyZGF5LCB0b21vcnJvd1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBwcmVzZXQ6IFhEYXRhPFhEYXRlUGlja2VyUHJlc2V0PiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpobXohJpcclxuICAgKiBAZW5fVVMgRm9vdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZXh0cmFGb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlPzogWERhdGVQaWNrZXJEaXNhYmxlZERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXtumXtFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCB0aW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWRUaW1lPzogWERhdGVQaWNrZXJEaXNhYmxlZFRpbWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeCueWHu+eahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUGlja2VyT3B0aW9uIGV4dGVuZHMgWEZvcm1PcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgQ2hvb3NlIGEgdHlwZVxyXG4gICAqL1xyXG4gIHR5cGU/OiBYRGF0ZVBpY2tlclR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagvOW8j+WMluexu+Wei1xyXG4gICAqIEBlbl9VUyBGb3JtYXQgdHlwZVxyXG4gICAqL1xyXG4gIGZvcm1hdD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5riF6Zmk5oyJ6ZKuXHJcbiAgICogQGVuX1VTIENsZWFyIGJ1dHRvblxyXG4gICAqL1xyXG4gIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHBsYWNlbWVudD86IFhDb3JuZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgc2l6ZT86IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrovrnmoYZcclxuICAgKiBAZW5fVVMgRGlzcGxheSBCb3JkZXJcclxuICAgKi9cclxuICBib3JkZXJlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliY3nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQmVmb3JlIGxhYmVsXHJcbiAgICovXHJcbiAgYmVmb3JlPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlkI7nva7moIfnrb5cclxuICAgKiBAZW5fVVMgQWZ0ZXIgbGFiZWxcclxuICAgKi9cclxuICBhZnRlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBub2RlQ2xpY2s/OiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIERhdGVSYW5nZVxyXG4gKiBAc2VsZWN0b3IgeC1kYXRlLXJhbmdlXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWERhdGVSYW5nZVByZWZpeCA9ICd4LWRhdGUtcmFuZ2UnO1xyXG5jb25zdCBYX0NPTkZJR19SQU5HRV9OQU1FID0gJ2RhdGVSYW5nZSc7XHJcblxyXG4vKipcclxuICogRGF0ZVJhbmdlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVJhbmdlUHJvcGVydHkgZXh0ZW5kcyBYQ29udHJvbFZhbHVlQWNjZXNzb3I8YW55PiBpbXBsZW1lbnRzIFhEYXRlUmFuZ2VPcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagvOW8j+WMluexu+Wei1xyXG4gICAqIEBlbl9VUyBGb3JtYXQgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX1JBTkdFX05BTUUsICd5eXl5LU1NLWRkJykgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19SQU5HRV9OQU1FLCB0cnVlKSBAWElucHV0Qm9vbGVhbigpIGNsZWFyYWJsZT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXnpLrmlrnkvY1cclxuICAgKiBAZW5fVVMgRGlzcGxheSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQ29ybmVyPihYX0NPTkZJR19SQU5HRV9OQU1FLCAnYm90dG9tLXN0YXJ0JykgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX1JBTkdFX05BTUUsICdtZWRpdW0nKSBvdmVycmlkZSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBib3JkZXJlZCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlv6vmjbfpgInmi6nmjInpkq7vvIzoh6rlrprkuYnmiJbnm7TmjqXorr7nva7mnKzlkajvvIh0aGlzV2Vla++8ieOAgeS4iuWRqO+8iGxhc3RXZWVr77yJ44CB5LiL5ZGo77yIbmV4dFdlZWvvvInjgIHmnKzmnIjvvIh0aGlzTW9udGjvvInjgIHkuIrkuIDmnIjvvIhsYXN0TW9udGjvvInjgIHkuIvkuIDmnIjvvIhuZXh0TW9udGjvvInjgIHmnKzlubTvvIh0aGlzWWVhcu+8ieOAgeWOu+W5tO+8iGxhc3RZZWFy77yJ44CB5piO5bm077yIbmV4dFllYXLvvIlcclxuICAgKiBAZW5fVVMgUXVpY2sgc2VsZWN0aW9uIGJ1dHRvbiwgc3VwcG9ydCB0aGlzV2VlaywgbGFzdFdlZWssIG5leHRXZWVrLCB0aGlzTW9udGgsIGxhc3RNb250aCwgbmV4dE1vbnRoLCB0aGlzWWVhciwgbGFzdFllYXIsIG5leHRZZWFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIHByZXNldDogWERhdGE8WERhdGVSYW5nZVByZXNldD4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pel5pyf5o+Q56S65L+h5oGvXHJcbiAgICogQGVuX1VTIFBsYWNlaG9sZGVyIG9mIGRhdGUgaW5wdXRcclxuICAgKi9cclxuICBASW5wdXQoKSBvdmVycmlkZSBwbGFjZWhvbGRlcj86IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpobXohJpcclxuICAgKiBAZW5fVVMgRm9vdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZXh0cmFGb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlPzogWERhdGVQaWNrZXJEaXNhYmxlZERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXtumXtFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCB0aW1lXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWRUaW1lPzogWERhdGVQaWNrZXJEaXNhYmxlZFRpbWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeCueWHu+eahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVFbWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXJbXT4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERhdGVSYW5nZSBPcHRpb25cclxuICogQHVuZG9jdW1lbnQgdHJ1ZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRGF0ZVJhbmdlT3B0aW9uIGV4dGVuZHMgWEZvcm1PcHRpb24ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiB0YWIg6ZSu5o6n5Yi25qyh5bqPXHJcbiAgICogQGVuX1VTIFRhYiBrZXkgY29udHJvbCBvcmRlclxyXG4gICAqL1xyXG4gIHRhYmluZGV4PzogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDml6XmnJ/mj5DnpLrkv6Hmga9cclxuICAgKiBAZW5fVVMgUGxhY2Vob2xkZXIgb2YgZGF0ZSBpbnB1dFxyXG4gICAqL1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g56aB55So5pel5pyf55qE6Ieq5a6a5LmJ57G75Z6LXHJcbiAqIEBlbl9VUyDnpoHnlKjml6XmnJ/nmoToh6rlrprkuYnnsbvlnotcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyRGlzYWJsZWREYXRlID0gKGN1cnJlbnQ6IERhdGUpID0+IGJvb2xlYW47XHJcblxyXG4vKipcclxuICogQHpoX0NOIOemgeeUqOaXtumXtOeahOiHquWumuS5ieexu+Wei1xyXG4gKiBAZW5fVVMg56aB55So5pe26Ze055qE6Ieq5a6a5LmJ57G75Z6LXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYRGF0ZVBpY2tlckRpc2FibGVkVGltZSA9ICh0eXBlPzogWERhdGVQaWNrZXJSYW5nVHlwZSkgPT4gWERhdGVQaWNrZXJEaXNhYmxlZFRpbWVGbjtcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g56aB55So5pe26Ze055qE6Ieq5a6a5LmJ5Ye95pWwXHJcbiAqIEBlbl9VUyDnpoHnlKjml7bpl7TnmoToh6rlrprkuYnlh73mlbBcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyRGlzYWJsZWRUaW1lRm4gPSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOWwj+aXtueahOiHquWumuS5ieWHveaVsFxyXG4gICAqIEBlbl9VUyDnpoHnlKjlsI/ml7bnmoToh6rlrprkuYnlh73mlbBcclxuICAgKi9cclxuICBkaXNhYmxlZEhvdXJzPzogKCkgPT4gbnVtYmVyW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOWIhumSn+eahOiHquWumuS5ieWHveaVsFxyXG4gICAqIEBlbl9VUyDnpoHnlKjliIbpkp/nmoToh6rlrprkuYnlh73mlbBcclxuICAgKi9cclxuICBkaXNhYmxlZE1pbnV0ZXM/OiAoKSA9PiBudW1iZXJbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So56eS55qE6Ieq5a6a5LmJ5Ye95pWwXHJcbiAgICogQGVuX1VTIOemgeeUqOenkueahOiHquWumuS5ieWHveaVsFxyXG4gICAqL1xyXG4gIGRpc2FibGVkU2Vjb25kcz86ICgpID0+IG51bWJlcltdO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDlv6vmjbfpgInmi6nmjInpkq5cclxuICogQGVuX1VTIFF1aWNrIHNlbGVjdGlvbiBidXR0b25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVQaWNrZXJQcmVzZXQgZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWHveaVsFxyXG4gICAqIEBlbl9VUyBDdXN0b20gZnVuY3Rpb25cclxuICAgKi9cclxuICBmdW5jOiAoKSA9PiBEYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOW/q+aNt+iMg+WbtOmAieaLqeaMiemSrlxyXG4gKiBAZW5fVVMgUXVpY2sgcmFuZ2Ugc2VsZWN0aW9uIGJ1dHRvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRGF0ZVJhbmdlUHJlc2V0IGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlh73mlbBcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgZnVuYzogKCkgPT4gRGF0ZVtdO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaXpeacn+mAieaLqeexu+Wei1xyXG4gKiBAZW5fVVMgRGF0ZSBzZWxlY3Rpb24gdHlwZVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERhdGVQaWNrZXJUeXBlID0gJ2RhdGUnIHwgJ3dlZWsnIHwgJ21vbnRoJyB8ICd5ZWFyJyB8ICdkYXRlLXRpbWUnIHwgJ2RhdGUtaG91cicgfCAnZGF0ZS1taW51dGUnO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDml6XmnJ/mlbDmja7nsbvlnotcclxuICogQGVuX1VTIERhdGUgZGF0YSB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYRGF0ZVBpY2tlck1vZGVsVHlwZSA9ICdkYXRlJyB8ICdudW1iZXInIHwgJ3N0cmluZyc7XHJcblxyXG4vKipcclxuICogRGF0ZVBpY2tlciBQb3J0YWxcclxuICogQHNlbGVjdG9yIHgtZGF0ZS1waWNrZXItcG9ydGFsXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWERhdGVQaWNrZXJQb3J0YWxQcmVmaXggPSAneC1kYXRlLXBpY2tlci1wb3J0YWwnO1xyXG5cclxuLyoqXHJcbiAqIERhdGVSYW5nZSBQb3J0YWxcclxuICogQHNlbGVjdG9yIHgtZGF0ZS1yYW5nZS1wb3J0YWxcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRGF0ZVJhbmdlUG9ydGFsUHJlZml4ID0gJ3gtZGF0ZS1yYW5nZS1wb3J0YWwnO1xyXG5cclxuLyoqXHJcbiAqIFBpY2tlckRhdGVcclxuICogQHNlbGVjdG9yIHgtcGlja2VyLWRhdGVcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYUGlja2VyRGF0ZVByZWZpeCA9ICd4LXBpY2tlci1kYXRlJztcclxuXHJcbi8qKlxyXG4gKiBQaWNrZXJEYXRlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYUGlja2VyRGF0ZVByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHlwZTogWERhdGVQaWNrZXJUeXBlID0gJ2RhdGUnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGF0ZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNwbGF5ID0gbmV3IERhdGUoKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit55qE5pel5pyfXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBtb2RlbD86IERhdGUgfCBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDml6XmnJ/mmL7npLrmqKHmnb9cclxuICAgKiBAZW5fVVMgRGF0ZSBkaXNwbGF5IHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGF0ZVRlbXA/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIfmjaLmjInpkq5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBzd2l0Y2ggYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBzaG93SGVhZGVyOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOmAieaLqVxyXG4gICAqIEBlbl9VUyBSYW5nZSBwaWNrZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHJhbmdlUGlja2VyPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuS4gOW5tFxyXG4gICAqIEBlbl9VUyBMYXN0IHllYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxhc3RZZWFyQnRuOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuaciFxyXG4gICAqIEBlbl9VUyBMYXN0IG1vbnRoXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsYXN0TW9udGhCdG46IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5LiA5bm0XHJcbiAgICogQGVuX1VTIE5leHQgeWVhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbmV4dFllYXJCdG46IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5pyIXHJcbiAgICogQGVuX1VTIE5leHQgbW9udGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5leHRNb250aEJ0bjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7QgaG92ZXIg5pWI5p6cXHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyIHN0eWxlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSByYW5nZUhvdmVyOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaXpeacn1xyXG4gICAqIEBlbl9VUyBSYW5nZSBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmFuZ2VWYWx1ZTogKG51bWJlciB8IG51bGwpW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5oup55qE5piv5byA5aeLL+e7k+adn+aXpeacn1xyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudCBjaG9pY2UgaXMgdGhlIHN0YXJ0IC8gZW5kIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZVR5cGUhOiBYRGF0ZVBpY2tlclJhbmdUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZT86IFhEYXRlUGlja2VyRGlzYWJsZWREYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVQaWNrZXJUeXBlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTY29wZSBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5bm055qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFllYXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHllYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5pyI55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE1vbnRoIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrml6XmnJ/kuovku7ZcclxuICAgKiBAZW5fVVMgZGlzcGxheSBkYXRlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGRpc3BsYXlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaXpeacnyBtb3VzZWVudGVyIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEYXRlIG1vdXNlZW50ZXIgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VUZE1vdXNlZW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pel5pyfIG1vdXNlbGVhdmUg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VsZWF2ZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZVRkTW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVDZWxsPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TkuK3nmoTml6XmnJ/ngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgUmFuZ2UgZGF0ZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZURhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVDZWxsPigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOWNleS4quaXpeacn+aVsOaNruWvueixoVxyXG4gKiBAZW5fVVMg5Y2V5Liq5pel5pyf5pWw5o2u5a+56LGhXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlQ2VsbCB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaXpeacn1xyXG4gICAqIEBlbl9VUyBEYXRlXHJcbiAgICovXHJcbiAgZGF0ZT86IERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuS4quaciOaIluS4i+S4quaciOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEYXRlIG9mIHRoZSBwcmV2aW91cyBvciBuZXh0IG1vbnRoXHJcbiAgICovXHJcbiAgaXNMYXN0T3JOZXh0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5aSpXHJcbiAgICogQGVuX1VTIFNhbWUgZGF5XHJcbiAgICovXHJcbiAgaXNOb3c/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPmnIjnrKzkuIDlpKlcclxuICAgKiBAZW5fVVMgVGhlIGZpcnN0IGRheSBvZiB0aGUgbW9udGhcclxuICAgKi9cclxuICBpc0ZpcnN0RGF5PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5pyI5pyA5ZCO5LiA5aSpXHJcbiAgICogQGVuX1VTIFRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGhcclxuICAgKi9cclxuICBpc0xhc3REYXk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlhoXml6XmnJ9cclxuICAgKiBAZW5fVVMg6IyD5Zu05YaF5pel5pyfXHJcbiAgICovXHJcbiAgaXNJblJhbmdlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05YaFIGhvdmVyIOmAieS4rVxyXG4gICAqIEBlbl9VUyDojIPlm7TlhoUgaG92ZXIg6YCJ5LitXHJcbiAgICovXHJcbiAgaXNJblJhbmdlSG92ZXI/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlhoUgaG92ZXIg5b2T5YmN5pel5pyf5bem6L65XHJcbiAgICogQGVuX1VTIOiMg+WbtOWGhSBob3ZlciDlvZPliY3ml6XmnJ/lt6bovrlcclxuICAgKi9cclxuICBpc0luUmFuZ2VIb3ZlckxlZnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlhoUgaG92ZXIg5b2T5YmN5pel5pyf5Y+z6L65XHJcbiAgICogQGVuX1VTIOiMg+WbtOWGhSBob3ZlciDlvZPliY3ml6XmnJ/lj7PovrlcclxuICAgKi9cclxuICBpc0luUmFuZ2VIb3ZlclJpZ2h0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit5byA5aeL5bem6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIHN0YXJ0IGxlZnRcclxuICAgKi9cclxuICBpc1JhbmdlU3RhcnRMZWZ0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit5byA5aeL5Y+z6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIHN0YXJ0IHJpZ2h0XHJcbiAgICovXHJcbiAgaXNSYW5nZVN0YXJ0UmlnaHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nu5PmnZ/lt6bovrlcclxuICAgKiBAZW5fVVMgUmFuZ2Ugc3RhcnQgbGVmdFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VFbmRMZWZ0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit57uT5p2f5Y+z6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIHN0YXJ0IHJpZ2h0XHJcbiAgICovXHJcbiAgaXNSYW5nZUVuZFJpZ2h0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu0IGhvdmVyXHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyXHJcbiAgICovXHJcbiAgaXNSYW5nZUhvdmVyPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gaG92ZXIg5b2T5YmN5byA5aeLXHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyIHN0YXJ0XHJcbiAgICovXHJcbiAgaXNSYW5nZUhvdmVyU3RhcnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDlvZPliY3nu5PmnZ9cclxuICAgKiBAZW5fVVMgRW5kIGRhdGVcclxuICAgKi9cclxuICBpc1JhbmdlSG92ZXJFbmQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDlvIDlp4vlt6bovrlcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgc3RhcnQgbGVmdFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlclN0YXJ0TGVmdD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGhvdmVyIOW8gOWni+WPs+i+uVxyXG4gICAqIEBlbl9VUyBSYW5nZSBob3ZlciBzdGFydCByaWdodFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDnu5PmnZ/lt6bovrlcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgZW5kIGxlZnRcclxuICAgKi9cclxuICBpc1JhbmdlSG92ZXJFbmRMZWZ0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gaG92ZXIg57uT5p2f5Y+z6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyIGVuZCByaWdodFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlckVuZFJpZ2h0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5Lit5pel5pyfXHJcbiAgICogQGVuX1VTIEN1cnJlbnQgc2VsZWN0ZWQgZGF0ZVxyXG4gICAqL1xyXG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g57G75Z6LXHJcbiAgICogQGVuX1VTIFR5cGVcclxuICAgKi9cclxuICB0eXBlPzogWERhdGVQaWNrZXJUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnrKzlh6DlkahcclxuICAgKiBAZW5fVVMgV2Vla1xyXG4gICAqL1xyXG4gIHdlZWs/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5b2T5YmN6YCJ5oup55qE5piv5byA5aeLL+e7k+adn+aXpeacn1xyXG4gKiBAZW5fVVMgVGhlIGN1cnJlbnQgY2hvaWNlIGlzIHRoZSBzdGFydCAvIGVuZCBkYXRlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYRGF0ZVBpY2tlclJhbmdUeXBlID0gJ3N0YXJ0JyB8ICdlbmQnO1xyXG5cclxuLyoqXHJcbiAqIFBpY2tlck1vbnRoXHJcbiAqIEBzZWxlY3RvciB4LXBpY2tlci1tb250aFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhQaWNrZXJNb250aFByZWZpeCA9ICd4LXBpY2tlci1tb250aCc7XHJcblxyXG4vKipcclxuICogUGlja2VyTW9udGggUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJNb250aFByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHlwZTogWERhdGVQaWNrZXJUeXBlID0gJ2RhdGUnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGF0ZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNwbGF5OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit55qE5pel5pyfXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBtb2RlbD86IERhdGUgfCBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmnIjku73mmL7npLrmqKHmnb9cclxuICAgKiBAZW5fVVMgTW9udGggZGlzcGxheSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1vbnRoVGVtcD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWIh+aNouaMiemSrlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHN3aXRjaCBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHNob3dIZWFkZXI6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu06YCJ5oupXHJcbiAgICogQGVuX1VTIFJhbmdlIHBpY2tlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgcmFuZ2VQaWNrZXI/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5LiA5bm0XHJcbiAgICogQGVuX1VTIExhc3QgeWVhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGFzdFllYXJCdG46IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5LiA5bm0XHJcbiAgICogQGVuX1VTIE5leHQgeWVhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbmV4dFllYXJCdG46IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pyI5Lu9XHJcbiAgICogQGVuX1VTIFJhbmdlIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZVZhbHVlOiAobnVtYmVyIHwgbnVsbClbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInmi6nnmoTmmK/lvIDlp4sv57uT5p2f5pel5pyfXHJcbiAgICogQGVuX1VTIFRoZSBjdXJyZW50IGNob2ljZSBpcyB0aGUgc3RhcnQgLyBlbmQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhbmdlVHlwZSE6IFhEYXRlUGlja2VyUmFuZ1R5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlPzogWERhdGVQaWNrZXJEaXNhYmxlZERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4reeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHR5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlUGlja2VyVHlwZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNjb3BlIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInlubTnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgWWVhciBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgeWVhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmnIjnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgTW9udGggY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG1vbnRoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaciOS7veS6i+S7tlxyXG4gICAqIEBlbl9VUyBkaXNwbGF5IGRhdGUgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgZGlzcGxheUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pyI5Lu9IG1vdXNlZW50ZXIg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VlbnRlciBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZVRkTW91c2VlbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVDZWxsPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TmnIjku70gbW91c2VsZWF2ZSDkuovku7ZcclxuICAgKiBAZW5fVVMgRGF0ZSBtb3VzZWxlYXZlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlVGRNb3VzZWxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZUNlbGw+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOS4reeahOaciOS7veeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBSYW5nZSBkYXRlIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlRGF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZUNlbGw+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQaWNrZXJZZWFyXHJcbiAqIEBzZWxlY3RvciB4LXBpY2tlci15ZWFyXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFBpY2tlclllYXJQcmVmaXggPSAneC1waWNrZXIteWVhcic7XHJcblxyXG4vKipcclxuICogUGlja2VyWWVhciBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlclllYXJQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaLqeexu+Wei1xyXG4gICAqIEBlbl9VUyBTZWxlY3QgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHR5cGU6IFhEYXRlUGlja2VyVHlwZSA9ICdkYXRlJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S655qE5pel5pyfXHJcbiAgICogQGVuX1VTIERhdGUgZGlzcGxheWVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzcGxheTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4reeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9kZWw/OiBEYXRlIHwgbnVsbDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bm05Lu95pi+56S65qih5p2/XHJcbiAgICogQGVuX1VTIE1vbnRoIGRpc3BsYXkgdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSB5ZWFyVGVtcD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWIh+aNouaMiemSrlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHN3aXRjaCBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHNob3dIZWFkZXI6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu06YCJ5oupXHJcbiAgICogQGVuX1VTIFJhbmdlIHBpY2tlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgcmFuZ2VQaWNrZXI/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5LiA5bm0XHJcbiAgICogQGVuX1VTIExhc3QgeWVhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGFzdFllYXJCdG46IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiL5LiA5bm0XHJcbiAgICogQGVuX1VTIE5leHQgeWVhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbmV4dFllYXJCdG46IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05bm05Lu9XHJcbiAgICogQGVuX1VTIFJhbmdlIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZVZhbHVlOiAobnVtYmVyIHwgbnVsbClbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInmi6nnmoTmmK/lvIDlp4sv57uT5p2f5pel5pyfXHJcbiAgICogQGVuX1VTIFRoZSBjdXJyZW50IGNob2ljZSBpcyB0aGUgc3RhcnQgLyBlbmQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhbmdlVHlwZSE6IFhEYXRlUGlja2VyUmFuZ1R5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlPzogWERhdGVQaWNrZXJEaXNhYmxlZERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4reeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHR5cGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlUGlja2VyVHlwZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5aeL5bm05Lu95Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFN0YXJ0IHllYXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHN0YXJ0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTY29wZSBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5bm055qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFllYXIgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHllYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5pyI55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE1vbnRoIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtb250aENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrmnIjku73kuovku7ZcclxuICAgKiBAZW5fVVMgZGlzcGxheSBkYXRlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGRpc3BsYXlDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaciOS7vSBtb3VzZWVudGVyIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEYXRlIG1vdXNlZW50ZXIgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VUZE1vdXNlZW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pyI5Lu9IG1vdXNlbGVhdmUg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VsZWF2ZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZVRkTW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVDZWxsPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TkuK3nmoTmnIjku73ngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgUmFuZ2UgZGF0ZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZURhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVDZWxsPigpO1xyXG59XHJcbiJdfQ==
807
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIucHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBR1QsV0FBVyxFQUdYLFlBQVksRUFHYixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFDakQsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBRW5DOztHQUVHO0FBRUgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLHFCQUEwQjtJQURuRTs7UUFFRTs7O1dBR0c7UUFDTSxTQUFJLEdBQW9CLE1BQU0sQ0FBQztRQTBCeEM7OztXQUdHO1FBQ3NCLFdBQU0sR0FBNkIsRUFBRSxDQUFDO1FBZ0IvRDs7O1dBR0c7UUFDTyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQUNqRDs7bUlBeERZLG1CQUFtQjt1SEFBbkIsbUJBQW1CLHdWQURULEVBQUU7QUFXb0M7SUFBakQsV0FBVyxDQUFTLGFBQWEsRUFBRSxZQUFZLENBQUM7bURBQWlCO0FBS0w7SUFBNUQsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7SUFBRSxhQUFhLEVBQUU7c0RBQXNCO0FBSzdCO0lBQXBELFdBQVcsQ0FBVSxhQUFhLEVBQUUsY0FBYyxDQUFDO3NEQUFxQjtBQUs1QjtJQUE1QyxXQUFXLENBQVEsYUFBYSxFQUFFLFFBQVEsQ0FBQztpREFBdUI7QUFLTjtJQUE1RCxhQUFhLEVBQUU7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QjtJQUFoQixhQUFhLEVBQUU7d0RBQThCO0FBSzdCO0lBQWhCLGFBQWEsRUFBRTt3REFBOEI7MkZBeEM1QyxtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1oQixJQUFJO3NCQUFaLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtvQixVQUFVO3NCQUFuQyxLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxLQUFLO2dCQUtvQixXQUFXO3NCQUFwQyxLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtJLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLGFBQWE7c0JBQXRCLE1BQU07Z0JBS0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUtHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFLRyxjQUFjO3NCQUF2QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYSW5wdXRCb29sZWFuLFxyXG4gIFhQcm9wZXJ0eSxcclxuICBYQm9vbGVhbixcclxuICBYQ29ybmVyLFxyXG4gIFhXaXRoQ29uZmlnLFxyXG4gIFhTaXplLFxyXG4gIFhUZW1wbGF0ZSxcclxuICBYRGF0YUNvbnZlcnQsXHJcbiAgWERhdGEsXHJcbiAgWElkZW50aXR5UHJvcGVydHlcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDb250cm9sVmFsdWVBY2Nlc3NvciwgWEZvcm1PcHRpb24gfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuLyoqXHJcbiAqIERhdGVQaWNrZXJcclxuICogQHNlbGVjdG9yIHgtZGF0ZS1waWNrZXJcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRGF0ZVBpY2tlclByZWZpeCA9ICd4LWRhdGUtcGlja2VyJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdkYXRlUGlja2VyJztcclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVBpY2tlclByb3BlcnR5IGV4dGVuZHMgWENvbnRyb2xWYWx1ZUFjY2Vzc29yPGFueT4gaW1wbGVtZW50cyBYRGF0ZVBpY2tlck9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaLqeexu+Wei1xyXG4gICAqIEBlbl9VUyBTZWxlY3QgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHR5cGU6IFhEYXRlUGlja2VyVHlwZSA9ICdkYXRlJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC85byP5YyW57G75Z6LXHJcbiAgICogQGVuX1VTIEZvcm1hdCB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSwgJ3l5eXktTU0tZGQnKSBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4hemZpOaMiemSrlxyXG4gICAqIEBlbl9VUyBDbGVhciBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleekuuaWueS9jVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhDb3JuZXI+KFhfQ09ORklHX05BTUUsICdib3R0b20tc3RhcnQnKSBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfTkFNRSwgJ21lZGl1bScpIG92ZXJyaWRlIHNpemUhOiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/q+aNt+mAieaLqeaMiemSru+8jOiHquWumuS5ieaIluebtOaOpeiuvue9ruS7iuWkqe+8iHRvZGF577yJLOaYqOWkqe+8iHllc3RlcmRhee+8iSzmmI7lpKnvvIh0b21vcnJvd++8iVxyXG4gICAqIEBlbl9VUyBRdWljayBzZWxlY3Rpb24gYnV0dG9uLCBzdXBwb3J0IHRvZGF5LCB5ZXN0ZXJkYXksIHRvbW9ycm93XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIHByZXNldDogWERhdGE8WERhdGVQaWNrZXJQcmVzZXQ+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmhteiEmlxyXG4gICAqIEBlbl9VUyBGb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBleHRyYUZvb3Rlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZERhdGU/OiBYRGF0ZVBpY2tlckRpc2FibGVkRGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pe26Ze0XHJcbiAgICogQGVuX1VTIERpc2FibGVkIHRpbWVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZFRpbWU/OiBYRGF0ZVBpY2tlckRpc2FibGVkVGltZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZUVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERhdGVQaWNrZXIgT3B0aW9uXHJcbiAqIEB1bmRvY3VtZW50IHRydWVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVQaWNrZXJPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaLqeexu+Wei1xyXG4gICAqIEBlbl9VUyBDaG9vc2UgYSB0eXBlXHJcbiAgICovXHJcbiAgdHlwZT86IFhEYXRlUGlja2VyVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC85byP5YyW57G75Z6LXHJcbiAgICogQGVuX1VTIEZvcm1hdCB0eXBlXHJcbiAgICovXHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuIXpmaTmjInpkq5cclxuICAgKiBAZW5fVVMgQ2xlYXIgYnV0dG9uXHJcbiAgICovXHJcbiAgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleekuuaWueS9jVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgcGxhY2VtZW50PzogWENvcm5lcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBzaXplPzogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuui+ueahhlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IEJvcmRlclxyXG4gICAqL1xyXG4gIGJvcmRlcmVkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWJjee9ruagh+etvlxyXG4gICAqIEBlbl9VUyBCZWZvcmUgbGFiZWxcclxuICAgKi9cclxuICBiZWZvcmU/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWQjue9ruagh+etvlxyXG4gICAqIEBlbl9VUyBBZnRlciBsYWJlbFxyXG4gICAqL1xyXG4gIGFmdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnngrnlh7vnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIG5vZGVDbGljaz86ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xyXG59XHJcblxyXG4vKipcclxuICogRGF0ZVJhbmdlXHJcbiAqIEBzZWxlY3RvciB4LWRhdGUtcmFuZ2VcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRGF0ZVJhbmdlUHJlZml4ID0gJ3gtZGF0ZS1yYW5nZSc7XHJcbmNvbnN0IFhfQ09ORklHX1JBTkdFX05BTUUgPSAnZGF0ZVJhbmdlJztcclxuXHJcbi8qKlxyXG4gKiBEYXRlUmFuZ2UgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUmFuZ2VQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3Nvcjxhbnk+IGltcGxlbWVudHMgWERhdGVSYW5nZU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaLqeexu+Wei1xyXG4gICAqIEBlbl9VUyBTZWxlY3QgdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHR5cGU6IFhEYXRlUGlja2VyVHlwZSA9ICdkYXRlJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5qC85byP5YyW57G75Z6LXHJcbiAgICogQGVuX1VTIEZvcm1hdCB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfUkFOR0VfTkFNRSwgJ3l5eXktTU0tZGQnKSBmb3JtYXQ/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa4hemZpOaMiemSrlxyXG4gICAqIEBlbl9VUyBDbGVhciBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX1JBTkdFX05BTUUsIHRydWUpIEBYSW5wdXRCb29sZWFuKCkgY2xlYXJhYmxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleekuuaWueS9jVxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHBvc2l0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhDb3JuZXI+KFhfQ09ORklHX1JBTkdFX05BTUUsICdib3R0b20tc3RhcnQnKSBwbGFjZW1lbnQ/OiBYQ29ybmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsLrlr7hcclxuICAgKiBAZW5fVVMgU2l6ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYU2l6ZT4oWF9DT05GSUdfUkFOR0VfTkFNRSwgJ21lZGl1bScpIG92ZXJyaWRlIHNpemUhOiBYU2l6ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S66L655qGGXHJcbiAgICogQGVuX1VTIERpc3BsYXkgQm9yZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGJvcmRlcmVkITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW/q+aNt+mAieaLqeaMiemSru+8jOiHquWumuS5ieaIluebtOaOpeiuvue9ruacrOWRqO+8iHRoaXNXZWVr77yJ44CB5LiK5ZGo77yIbGFzdFdlZWvvvInjgIHkuIvlkajvvIhuZXh0V2Vla++8ieOAgeacrOaciO+8iHRoaXNNb250aO+8ieOAgeS4iuS4gOaciO+8iGxhc3RNb250aO+8ieOAgeS4i+S4gOaciO+8iG5leHRNb250aO+8ieOAgeacrOW5tO+8iHRoaXNZZWFy77yJ44CB5Y675bm077yIbGFzdFllYXLvvInjgIHmmI7lubTvvIhuZXh0WWVhcu+8iVxyXG4gICAqIEBlbl9VUyBRdWljayBzZWxlY3Rpb24gYnV0dG9uLCBzdXBwb3J0IHRoaXNXZWVrLCBsYXN0V2VlaywgbmV4dFdlZWssIHRoaXNNb250aCwgbGFzdE1vbnRoLCBuZXh0TW9udGgsIHRoaXNZZWFyLCBsYXN0WWVhciwgbmV4dFllYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWERhdGFDb252ZXJ0KCkgcHJlc2V0OiBYRGF0YTxYRGF0ZVJhbmdlUHJlc2V0PiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDml6XmnJ/mj5DnpLrkv6Hmga9cclxuICAgKiBAZW5fVVMgUGxhY2Vob2xkZXIgb2YgZGF0ZSBpbnB1dFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG92ZXJyaWRlIHBsYWNlaG9sZGVyPzogc3RyaW5nW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmhteiEmlxyXG4gICAqIEBlbl9VUyBGb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBleHRyYUZvb3Rlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZERhdGU/OiBYRGF0ZVBpY2tlckRpc2FibGVkRGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pe26Ze0XHJcbiAgICogQGVuX1VTIERpc2FibGVkIHRpbWVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZFRpbWU/OiBYRGF0ZVBpY2tlckRpc2FibGVkVGltZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye755qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZUVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcltdPigpO1xyXG59XHJcblxyXG4vKipcclxuICogRGF0ZVJhbmdlIE9wdGlvblxyXG4gKiBAdW5kb2N1bWVudCB0cnVlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VPcHRpb24gZXh0ZW5kcyBYRm9ybU9wdGlvbiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIHRhYiDplK7mjqfliLbmrKHluo9cclxuICAgKiBAZW5fVVMgVGFiIGtleSBjb250cm9sIG9yZGVyXHJcbiAgICovXHJcbiAgdGFiaW5kZXg/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaXpeacn+aPkOekuuS/oeaBr1xyXG4gICAqIEBlbl9VUyBQbGFjZWhvbGRlciBvZiBkYXRlIGlucHV0XHJcbiAgICovXHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDnpoHnlKjml6XmnJ/nmoToh6rlrprkuYnnsbvlnotcclxuICogQGVuX1VTIOemgeeUqOaXpeacn+eahOiHquWumuS5ieexu+Wei1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERhdGVQaWNrZXJEaXNhYmxlZERhdGUgPSAoY3VycmVudDogRGF0ZSkgPT4gYm9vbGVhbjtcclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g56aB55So5pe26Ze055qE6Ieq5a6a5LmJ57G75Z6LXHJcbiAqIEBlbl9VUyDnpoHnlKjml7bpl7TnmoToh6rlrprkuYnnsbvlnotcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyRGlzYWJsZWRUaW1lID0gKHR5cGU/OiBYRGF0ZVBpY2tlclJhbmdUeXBlKSA9PiBYRGF0ZVBpY2tlckRpc2FibGVkVGltZUZuO1xyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDnpoHnlKjml7bpl7TnmoToh6rlrprkuYnlh73mlbBcclxuICogQGVuX1VTIOemgeeUqOaXtumXtOeahOiHquWumuS5ieWHveaVsFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWERhdGVQaWNrZXJEaXNhYmxlZFRpbWVGbiA9IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So5bCP5pe255qE6Ieq5a6a5LmJ5Ye95pWwXHJcbiAgICogQGVuX1VTIOemgeeUqOWwj+aXtueahOiHquWumuS5ieWHveaVsFxyXG4gICAqL1xyXG4gIGRpc2FibGVkSG91cnM/OiAoKSA9PiBudW1iZXJbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So5YiG6ZKf55qE6Ieq5a6a5LmJ5Ye95pWwXHJcbiAgICogQGVuX1VTIOemgeeUqOWIhumSn+eahOiHquWumuS5ieWHveaVsFxyXG4gICAqL1xyXG4gIGRpc2FibGVkTWludXRlcz86ICgpID0+IG51bWJlcltdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnp5LnmoToh6rlrprkuYnlh73mlbBcclxuICAgKiBAZW5fVVMg56aB55So56eS55qE6Ieq5a6a5LmJ5Ye95pWwXHJcbiAgICovXHJcbiAgZGlzYWJsZWRTZWNvbmRzPzogKCkgPT4gbnVtYmVyW107XHJcbn07XHJcblxyXG4vKipcclxuICogQHpoX0NOIOW/q+aNt+mAieaLqeaMiemSrlxyXG4gKiBAZW5fVVMgUXVpY2sgc2VsZWN0aW9uIGJ1dHRvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYRGF0ZVBpY2tlclByZXNldCBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5Ye95pWwXHJcbiAgICogQGVuX1VTIEN1c3RvbSBmdW5jdGlvblxyXG4gICAqL1xyXG4gIGZ1bmM6ICgpID0+IERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5b+r5o236IyD5Zu06YCJ5oup5oyJ6ZKuXHJcbiAqIEBlbl9VUyBRdWljayByYW5nZSBzZWxlY3Rpb24gYnV0dG9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhEYXRlUmFuZ2VQcmVzZXQgZXh0ZW5kcyBYSWRlbnRpdHlQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWHveaVsFxyXG4gICAqIEBlbl9VUyBDdXN0b20gZnVuY3Rpb25cclxuICAgKi9cclxuICBmdW5jOiAoKSA9PiBEYXRlW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5pel5pyf6YCJ5oup57G75Z6LXHJcbiAqIEBlbl9VUyBEYXRlIHNlbGVjdGlvbiB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZScgfCAnd2VlaycgfCAnbW9udGgnIHwgJ3F1YXJ0ZXInIHwgJ3llYXInIHwgJ2RhdGUtdGltZScgfCAnZGF0ZS1ob3VyJyB8ICdkYXRlLW1pbnV0ZSc7XHJcblxyXG4vKipcclxuICogQHpoX0NOIOaXpeacn+aVsOaNruexu+Wei1xyXG4gKiBAZW5fVVMgRGF0ZSBkYXRhIHR5cGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyTW9kZWxUeXBlID0gJ2RhdGUnIHwgJ251bWJlcicgfCAnc3RyaW5nJztcclxuXHJcbi8qKlxyXG4gKiBEYXRlUGlja2VyIFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1kYXRlLXBpY2tlci1wb3J0YWxcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYRGF0ZVBpY2tlclBvcnRhbFByZWZpeCA9ICd4LWRhdGUtcGlja2VyLXBvcnRhbCc7XHJcblxyXG4vKipcclxuICogRGF0ZVJhbmdlIFBvcnRhbFxyXG4gKiBAc2VsZWN0b3IgeC1kYXRlLXJhbmdlLXBvcnRhbFxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhEYXRlUmFuZ2VQb3J0YWxQcmVmaXggPSAneC1kYXRlLXJhbmdlLXBvcnRhbCc7XHJcblxyXG4vKipcclxuICogUGlja2VyRGF0ZVxyXG4gKiBAc2VsZWN0b3IgeC1waWNrZXItZGF0ZVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhQaWNrZXJEYXRlUHJlZml4ID0gJ3gtcGlja2VyLWRhdGUnO1xyXG5cclxuLyoqXHJcbiAqIFBpY2tlckRhdGUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJEYXRlUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuueahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEYXRlIGRpc3BsYXllZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc3BsYXkgPSBuZXcgRGF0ZSgpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1vZGVsPzogRGF0ZSB8IG51bGw7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaXpeacn+aYvuekuuaooeadv1xyXG4gICAqIEBlbl9VUyBEYXRlIGRpc3BsYXkgdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBkYXRlVGVtcD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuWIh+aNouaMiemSrlxyXG4gICAqIEBlbl9VUyBEaXNwbGF5IHN3aXRjaCBidXR0b25cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHNob3dIZWFkZXI6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu06YCJ5oupXHJcbiAgICogQGVuX1VTIFJhbmdlIHBpY2tlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgcmFuZ2VQaWNrZXI/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5LiA5bm0XHJcbiAgICogQGVuX1VTIExhc3QgeWVhclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGFzdFllYXJCdG46IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5pyIXHJcbiAgICogQGVuX1VTIExhc3QgbW9udGhcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxhc3RNb250aEJ0bjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvkuIDlubRcclxuICAgKiBAZW5fVVMgTmV4dCB5ZWFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBuZXh0WWVhckJ0bjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIrmnIhcclxuICAgKiBAZW5fVVMgTmV4dCBtb250aFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbmV4dE1vbnRoQnRuOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtCBob3ZlciDmlYjmnpxcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgc3R5bGVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHJhbmdlSG92ZXI6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pel5pyfXHJcbiAgICogQGVuX1VTIFJhbmdlIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZVZhbHVlOiAobnVtYmVyIHwgbnVsbClbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInmi6nnmoTmmK/lvIDlp4sv57uT5p2f5pel5pyfXHJcbiAgICogQGVuX1VTIFRoZSBjdXJyZW50IGNob2ljZSBpcyB0aGUgc3RhcnQgLyBlbmQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhbmdlVHlwZSE6IFhEYXRlUGlja2VyUmFuZ1R5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqOeahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEaXNhYmxlZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlPzogWERhdGVQaWNrZXJEaXNhYmxlZERhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaLqeexu+Wei1xyXG4gICAqIEBlbl9VUyBTZWxlY3QgdHlwZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0eXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZVBpY2tlclR5cGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4reeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBtb2RlbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNjb3BlIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInlubTnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgWWVhciBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgeWVhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmnIjnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgTW9udGggY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG1vbnRoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaXpeacn+S6i+S7tlxyXG4gICAqIEBlbl9VUyBkaXNwbGF5IGRhdGUgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgZGlzcGxheUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05pel5pyfIG1vdXNlZW50ZXIg5LqL5Lu2XHJcbiAgICogQGVuX1VTIERhdGUgbW91c2VlbnRlciBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByYW5nZVRkTW91c2VlbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVDZWxsPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tml6XmnJ8gbW91c2VsZWF2ZSDkuovku7ZcclxuICAgKiBAZW5fVVMgRGF0ZSBtb3VzZWxlYXZlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlVGRNb3VzZWxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZUNlbGw+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOS4reeahOaXpeacn+eCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBSYW5nZSBkYXRlIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlRGF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZUNlbGw+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5Y2V5Liq5pel5pyf5pWw5o2u5a+56LGhXHJcbiAqIEBlbl9VUyDljZXkuKrml6XmnJ/mlbDmja7lr7nosaFcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWERhdGVDZWxsIHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pel5pyfXHJcbiAgICogQGVuX1VTIERhdGVcclxuICAgKi9cclxuICBkYXRlPzogRGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5LiK5Liq5pyI5oiW5LiL5Liq5pyI55qE5pel5pyfXHJcbiAgICogQGVuX1VTIERhdGUgb2YgdGhlIHByZXZpb3VzIG9yIG5leHQgbW9udGhcclxuICAgKi9cclxuICBpc0xhc3RPck5leHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPlpKlcclxuICAgKiBAZW5fVVMgU2FtZSBkYXlcclxuICAgKi9cclxuICBpc05vdz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+aciOesrOS4gOWkqVxyXG4gICAqIEBlbl9VUyBUaGUgZmlyc3QgZGF5IG9mIHRoZSBtb250aFxyXG4gICAqL1xyXG4gIGlzRmlyc3REYXk/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPmnIjmnIDlkI7kuIDlpKlcclxuICAgKiBAZW5fVVMgVGhlIGxhc3QgZGF5IG9mIHRoZSBtb250aFxyXG4gICAqL1xyXG4gIGlzTGFzdERheT86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOWGheaXpeacn1xyXG4gICAqIEBlbl9VUyDojIPlm7TlhoXml6XmnJ9cclxuICAgKi9cclxuICBpc0luUmFuZ2U/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlhoUgaG92ZXIg6YCJ5LitXHJcbiAgICogQGVuX1VTIOiMg+WbtOWGhSBob3ZlciDpgInkuK1cclxuICAgKi9cclxuICBpc0luUmFuZ2VIb3Zlcj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOWGhSBob3ZlciDlvZPliY3ml6XmnJ/lt6bovrlcclxuICAgKiBAZW5fVVMg6IyD5Zu05YaFIGhvdmVyIOW9k+WJjeaXpeacn+W3pui+uVxyXG4gICAqL1xyXG4gIGlzSW5SYW5nZUhvdmVyTGVmdD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOWGhSBob3ZlciDlvZPliY3ml6XmnJ/lj7PovrlcclxuICAgKiBAZW5fVVMg6IyD5Zu05YaFIGhvdmVyIOW9k+WJjeaXpeacn+WPs+i+uVxyXG4gICAqL1xyXG4gIGlzSW5SYW5nZUhvdmVyUmlnaHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3lvIDlp4vlt6bovrlcclxuICAgKiBAZW5fVVMgUmFuZ2Ugc3RhcnQgbGVmdFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VTdGFydExlZnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3lvIDlp4vlj7PovrlcclxuICAgKiBAZW5fVVMgUmFuZ2Ugc3RhcnQgcmlnaHRcclxuICAgKi9cclxuICBpc1JhbmdlU3RhcnRSaWdodD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4ree7k+adn+W3pui+uVxyXG4gICAqIEBlbl9VUyBSYW5nZSBzdGFydCBsZWZ0XHJcbiAgICovXHJcbiAgaXNSYW5nZUVuZExlZnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nu5PmnZ/lj7PovrlcclxuICAgKiBAZW5fVVMgUmFuZ2Ugc3RhcnQgcmlnaHRcclxuICAgKi9cclxuICBpc1JhbmdlRW5kUmlnaHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7QgaG92ZXJcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXJcclxuICAgKi9cclxuICBpc1JhbmdlSG92ZXI/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDlvZPliY3lvIDlp4tcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgc3RhcnRcclxuICAgKi9cclxuICBpc1JhbmdlSG92ZXJTdGFydD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGhvdmVyIOW9k+WJjee7k+adn1xyXG4gICAqIEBlbl9VUyBFbmQgZGF0ZVxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlckVuZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGhvdmVyIOW8gOWni+W3pui+uVxyXG4gICAqIEBlbl9VUyBSYW5nZSBob3ZlciBzdGFydCBsZWZ0XHJcbiAgICovXHJcbiAgaXNSYW5nZUhvdmVyU3RhcnRMZWZ0PzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gaG92ZXIg5byA5aeL5Y+z6L65XHJcbiAgICogQGVuX1VTIFJhbmdlIGhvdmVyIHN0YXJ0IHJpZ2h0XHJcbiAgICovXHJcbiAgaXNSYW5nZUhvdmVyU3RhcnRSaWdodD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGhvdmVyIOe7k+adn+W3pui+uVxyXG4gICAqIEBlbl9VUyBSYW5nZSBob3ZlciBlbmQgbGVmdFxyXG4gICAqL1xyXG4gIGlzUmFuZ2VIb3ZlckVuZExlZnQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBob3ZlciDnu5PmnZ/lj7PovrlcclxuICAgKiBAZW5fVVMgUmFuZ2UgaG92ZXIgZW5kIHJpZ2h0XHJcbiAgICovXHJcbiAgaXNSYW5nZUhvdmVyRW5kUmlnaHQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3pgInkuK3ml6XmnJ9cclxuICAgKiBAZW5fVVMgQ3VycmVudCBzZWxlY3RlZCBkYXRlXHJcbiAgICovXHJcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjml6XmnJ9cclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgZGF0ZVxyXG4gICAqL1xyXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnsbvlnotcclxuICAgKiBAZW5fVVMgVHlwZVxyXG4gICAqL1xyXG4gIHR5cGU/OiBYRGF0ZVBpY2tlclR5cGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOesrOWHoOWRqFxyXG4gICAqIEBlbl9VUyBXZWVrXHJcbiAgICovXHJcbiAgd2Vlaz86IG51bWJlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDlvZPliY3pgInmi6nnmoTmmK/lvIDlp4sv57uT5p2f5pel5pyfXHJcbiAqIEBlbl9VUyBUaGUgY3VycmVudCBjaG9pY2UgaXMgdGhlIHN0YXJ0IC8gZW5kIGRhdGVcclxuICovXHJcbmV4cG9ydCB0eXBlIFhEYXRlUGlja2VyUmFuZ1R5cGUgPSAnc3RhcnQnIHwgJ2VuZCc7XHJcblxyXG4vKipcclxuICogUGlja2VyTW9udGhcclxuICogQHNlbGVjdG9yIHgtcGlja2VyLW1vbnRoXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWFBpY2tlck1vbnRoUHJlZml4ID0gJ3gtcGlja2VyLW1vbnRoJztcclxuXHJcbi8qKlxyXG4gKiBQaWNrZXJNb250aCBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlck1vbnRoUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuueahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEYXRlIGRpc3BsYXllZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc3BsYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1vZGVsPzogRGF0ZSB8IG51bGw7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaciOS7veaYvuekuuaooeadv1xyXG4gICAqIEBlbl9VUyBNb250aCBkaXNwbGF5IHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbW9udGhUZW1wPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65YiH5o2i5oyJ6ZKuXHJcbiAgICogQGVuX1VTIERpc3BsYXkgc3dpdGNoIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgc2hvd0hlYWRlcjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TpgInmi6lcclxuICAgKiBAZW5fVVMgUmFuZ2UgcGlja2VyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSByYW5nZVBpY2tlcj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIrkuIDlubRcclxuICAgKiBAZW5fVVMgTGFzdCB5ZWFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsYXN0WWVhckJ0bjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvkuIDlubRcclxuICAgKiBAZW5fVVMgTmV4dCB5ZWFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBuZXh0WWVhckJ0bjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TmnIjku71cclxuICAgKiBAZW5fVVMgUmFuZ2UgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhbmdlVmFsdWU6IChudW1iZXIgfCBudWxsKVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieaLqeeahOaYr+W8gOWniy/nu5PmnZ/ml6XmnJ9cclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnQgY2hvaWNlIGlzIHRoZSBzdGFydCAvIGVuZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmFuZ2VUeXBlITogWERhdGVQaWNrZXJSYW5nVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZERhdGU/OiBYRGF0ZVBpY2tlckRpc2FibGVkRGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVQaWNrZXJUeXBlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2NvcGUgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieW5tOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBZZWFyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB5ZWFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaciOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBNb250aCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbW9udGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65pyI5Lu95LqL5Lu2XHJcbiAgICogQGVuX1VTIGRpc3BsYXkgZGF0ZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBkaXNwbGF5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TmnIjku70gbW91c2VlbnRlciDkuovku7ZcclxuICAgKiBAZW5fVVMgRGF0ZSBtb3VzZWVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlVGRNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZUNlbGw+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaciOS7vSBtb3VzZWxlYXZlIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEYXRlIG1vdXNlbGVhdmUgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VUZE1vdXNlbGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05Lit55qE5pyI5Lu954K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIFJhbmdlIGRhdGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VEYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFBpY2tlclF1YXJ0ZXJcclxuICogQHNlbGVjdG9yIHgtcGlja2VyLXF1YXJ0ZXJcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYUGlja2VyUXVhcnRlclByZWZpeCA9ICd4LXBpY2tlci1xdWFydGVyJztcclxuXHJcbi8qKlxyXG4gKiBQaWNrZXJRdWFydGVyIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYUGlja2VyUXVhcnRlclByb3BlcnR5IGV4dGVuZHMgWFByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5oup57G75Z6LXHJcbiAgICogQGVuX1VTIFNlbGVjdCB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHlwZTogWERhdGVQaWNrZXJUeXBlID0gJ2RhdGUnO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGF0ZSBkaXNwbGF5ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNwbGF5OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit55qE5pel5pyfXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBtb2RlbD86IERhdGUgfCBudWxsO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlraPluqbmmL7npLrmqKHmnb9cclxuICAgKiBAZW5fVVMgTW9udGggZGlzcGxheSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHF1YXJ0ZXJUZW1wPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65YiH5o2i5oyJ6ZKuXHJcbiAgICogQGVuX1VTIERpc3BsYXkgc3dpdGNoIGJ1dHRvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgc2hvd0hlYWRlcjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TpgInmi6lcclxuICAgKiBAZW5fVVMgUmFuZ2UgcGlja2VyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSByYW5nZVBpY2tlcj86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIrkuIDlubRcclxuICAgKiBAZW5fVVMgTGFzdCB5ZWFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsYXN0WWVhckJ0bjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvkuIDlubRcclxuICAgKiBAZW5fVVMgTmV4dCB5ZWFyXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBuZXh0WWVhckJ0bjogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TmnIjku71cclxuICAgKiBAZW5fVVMgUmFuZ2UgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHJhbmdlVmFsdWU6IChudW1iZXIgfCBudWxsKVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjemAieaLqeeahOaYr+W8gOWniy/nu5PmnZ/ml6XmnJ9cclxuICAgKiBAZW5fVVMgVGhlIGN1cnJlbnQgY2hvaWNlIGlzIHRoZSBzdGFydCAvIGVuZCBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmFuZ2VUeXBlITogWERhdGVQaWNrZXJSYW5nVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55So55qE5pel5pyfXHJcbiAgICogQGVuX1VTIERpc2FibGVkIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXNhYmxlZERhdGU/OiBYRGF0ZVBpY2tlckRpc2FibGVkRGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5Lit55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBAT3V0cHV0KCkgdHlwZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WERhdGVQaWNrZXJUeXBlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2NvcGUgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieW5tOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBZZWFyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB5ZWFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaciOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBNb250aCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbW9udGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65a2j5bqm5LqL5Lu2XHJcbiAgICogQGVuX1VTIGRpc3BsYXkgZGF0ZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBkaXNwbGF5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TlraPluqYgbW91c2VlbnRlciDkuovku7ZcclxuICAgKiBAZW5fVVMgRGF0ZSBtb3VzZWVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlVGRNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZUNlbGw+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOWto+W6piBtb3VzZWxlYXZlIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEYXRlIG1vdXNlbGVhdmUgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VUZE1vdXNlbGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05Lit55qE5a2j5bqm54K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIFJhbmdlIGRhdGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VEYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERhdGVRdWFydGVyXHJcbiAqIEBzZWxlY3RvciB4RGF0ZVF1YXJ0ZXJcclxuICogQGRlY29yYXRvciBwaXBlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWERhdGVRdWFydGVyUHJlZml4ID0gJ3hEYXRlUXVhcnRlcic7XHJcblxyXG4vKipcclxuICogUGlja2VyWWVhclxyXG4gKiBAc2VsZWN0b3IgeC1waWNrZXIteWVhclxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhQaWNrZXJZZWFyUHJlZml4ID0gJ3gtcGlja2VyLXllYXInO1xyXG5cclxuLyoqXHJcbiAqIFBpY2tlclllYXIgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJZZWFyUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInmi6nnsbvlnotcclxuICAgKiBAZW5fVVMgU2VsZWN0IHR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKSB0eXBlOiBYRGF0ZVBpY2tlclR5cGUgPSAnZGF0ZSc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuueahOaXpeacn1xyXG4gICAqIEBlbl9VUyBEYXRlIGRpc3BsYXllZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc3BsYXk6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1vZGVsPzogRGF0ZSB8IG51bGw7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW5tOS7veaYvuekuuaooeadv1xyXG4gICAqIEBlbl9VUyBNb250aCBkaXNwbGF5IHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgeWVhclRlbXA/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrliIfmjaLmjInpkq5cclxuICAgKiBAZW5fVVMgRGlzcGxheSBzd2l0Y2ggYnV0dG9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBzaG93SGVhZGVyOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOmAieaLqVxyXG4gICAqIEBlbl9VUyBSYW5nZSBwaWNrZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIHJhbmdlUGlja2VyPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4iuS4gOW5tFxyXG4gICAqIEBlbl9VUyBMYXN0IHllYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxhc3RZZWFyQnRuOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS4i+S4gOW5tFxyXG4gICAqIEBlbl9VUyBOZXh0IHllYXJcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5leHRZZWFyQnRuOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOW5tOS7vVxyXG4gICAqIEBlbl9VUyBSYW5nZSBkYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcmFuZ2VWYWx1ZTogKG51bWJlciB8IG51bGwpW10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN6YCJ5oup55qE5piv5byA5aeLL+e7k+adn+aXpeacn1xyXG4gICAqIEBlbl9VUyBUaGUgY3VycmVudCBjaG9pY2UgaXMgdGhlIHN0YXJ0IC8gZW5kIGRhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSByYW5nZVR5cGUhOiBYRGF0ZVBpY2tlclJhbmdUeXBlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKjnmoTml6XmnJ9cclxuICAgKiBAZW5fVVMgRGlzYWJsZWQgZGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkRGF0ZT86IFhEYXRlUGlja2VyRGlzYWJsZWREYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK3nmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2VsZWN0ZWQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaLqeexu+Wei1xyXG4gICAqIEBlbl9VUyBTZWxlY3QgdHlwZVxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB0eXBlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZVBpY2tlclR5cGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWni+W5tOS7veWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBTdGFydCB5ZWFyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBzdGFydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7Tlj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgU2NvcGUgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieW5tOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBZZWFyIGNoYW5nZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSB5ZWFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieaciOeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBNb250aCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbW9udGhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65pyI5Lu95LqL5Lu2XHJcbiAgICogQGVuX1VTIGRpc3BsYXkgZGF0ZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBkaXNwbGF5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDojIPlm7TmnIjku70gbW91c2VlbnRlciDkuovku7ZcclxuICAgKiBAZW5fVVMgRGF0ZSBtb3VzZWVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJhbmdlVGRNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxYRGF0ZUNlbGw+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiMg+WbtOaciOS7vSBtb3VzZWxlYXZlIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBEYXRlIG1vdXNlbGVhdmUgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VUZE1vdXNlbGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IyD5Zu05Lit55qE5pyI5Lu954K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIFJhbmdlIGRhdGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmFuZ2VEYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFhEYXRlQ2VsbD4oKTtcclxufVxyXG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { XDateQuarter, XDateYearQuarter } from '@ng-nest/ui/core';
3
+ import { XDateQuarterPrefix } from './date-picker.property';
4
+ import * as i0 from "@angular/core";
5
+ export class XDateQuarterPipe {
6
+ constructor() { }
7
+ transform(input, includeYear = false) {
8
+ if (!input)
9
+ return '';
10
+ return !includeYear ? XDateQuarter(input) : XDateYearQuarter(input);
11
+ }
12
+ }
13
+ /** @nocollapse */ XDateQuarterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XDateQuarterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ /** @nocollapse */ XDateQuarterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.3", ngImport: i0, type: XDateQuarterPipe, name: "xDateQuarter" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: XDateQuarterPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{ name: `${XDateQuarterPrefix}` }]
18
+ }], ctorParameters: function () { return []; } });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1xdWFydGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXF1YXJ0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQVMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRzVELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsZ0JBQWUsQ0FBQztJQUNoQixTQUFTLENBQUMsS0FBYSxFQUFFLFdBQVcsR0FBRyxLQUFLO1FBQzFDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUUsQ0FBQztJQUN4RSxDQUFDOztnSUFMVSxnQkFBZ0I7OEhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsa0JBQWtCLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWERhdGUsIFhEYXRlUXVhcnRlciwgWERhdGVZZWFyUXVhcnRlciB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVF1YXJ0ZXJQcmVmaXggfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuXHJcbkBQaXBlKHsgbmFtZTogYCR7WERhdGVRdWFydGVyUHJlZml4fWAgfSlcclxuZXhwb3J0IGNsYXNzIFhEYXRlUXVhcnRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcbiAgdHJhbnNmb3JtKGlucHV0PzogWERhdGUsIGluY2x1ZGVZZWFyID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFpbnB1dCkgcmV0dXJuICcnO1xyXG4gICAgcmV0dXJuICFpbmNsdWRlWWVhciA/IFhEYXRlUXVhcnRlcihpbnB1dCkhIDogWERhdGVZZWFyUXVhcnRlcihpbnB1dCkhO1xyXG4gIH1cclxufVxyXG4iXX0=