@pepperi-addons/ngx-lib 0.2.48 → 0.2.51-beta.1

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 (54) hide show
  1. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  2. package/bundles/pepperi-addons-ngx-lib-form.umd.js +3405 -58
  3. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  4. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
  5. package/bundles/pepperi-addons-ngx-lib-icon.umd.js +9 -2
  6. package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +1 -1
  7. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  8. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  9. package/bundles/pepperi-addons-ngx-lib.umd.js +19 -4
  10. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  11. package/core/common/model/wapi.model.d.ts +1 -0
  12. package/core/customization/customization.model.d.ts +10 -0
  13. package/esm2015/checkbox/checkbox.component.js +1 -1
  14. package/esm2015/core/common/model/wapi.model.js +2 -1
  15. package/esm2015/core/common/services/utilities.service.js +2 -2
  16. package/esm2015/core/customization/customization.model.js +13 -1
  17. package/esm2015/form/field-generator.component.js +13 -3
  18. package/esm2015/form/form.component.js +36 -16
  19. package/esm2015/form/form.module.js +5 -1
  20. package/esm2015/form/internal-carusel.component.js +188 -0
  21. package/esm2015/form/internal-carusel.service.js +32 -0
  22. package/esm2015/form/internal-carusel.temp-data.js +3129 -0
  23. package/esm2015/form/internal-page.component.js +4 -39
  24. package/esm2015/form/pepperi-addons-ngx-lib-form.js +3 -1
  25. package/esm2015/group-buttons/group-buttons.component.js +1 -1
  26. package/esm2015/icon/icon-generated-all.model.js +2 -1
  27. package/esm2015/icon/icon-generated.model.js +5 -1
  28. package/esm2015/icon/icon-registry.service.js +3 -3
  29. package/esm2015/icon/icon.module.js +3 -1
  30. package/esm2015/ngx-lib.module.js +1 -4
  31. package/esm2015/slider/slider.component.js +1 -1
  32. package/esm2015/textbox/textbox.component.js +1 -1
  33. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  34. package/fesm2015/pepperi-addons-ngx-lib-form.js +3394 -56
  35. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  36. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  37. package/fesm2015/pepperi-addons-ngx-lib-icon.js +9 -3
  38. package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
  39. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  40. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  41. package/fesm2015/pepperi-addons-ngx-lib.js +15 -5
  42. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  43. package/form/field-generator.component.d.ts +5 -0
  44. package/form/form.component.d.ts +4 -2
  45. package/form/internal-carusel.component.d.ts +46 -0
  46. package/form/internal-carusel.service.d.ts +12 -0
  47. package/form/internal-carusel.temp-data.d.ts +62 -0
  48. package/form/pepperi-addons-ngx-lib-form.d.ts +2 -0
  49. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  50. package/icon/icon-generated-all.model.d.ts +1 -0
  51. package/icon/icon-generated.model.d.ts +5 -1
  52. package/icon/pepperi-addons-ngx-lib-icon.metadata.json +1 -1
  53. package/package.json +1 -1
  54. package/pepperi-addons-ngx-lib.metadata.json +1 -1
@@ -53,6 +53,7 @@ export declare enum FIELD_TYPE {
53
53
  'Duration' = 51,
54
54
  'ListOfObjects' = 52,
55
55
  'Package' = 53,
56
+ 'RelatedObjectsCards' = 54,
56
57
  'BooleanText' = 55,
57
58
  'RichTextHTML' = 56
58
59
  }
@@ -224,6 +224,16 @@ export declare class PepInternalPageField extends PepFieldBase {
224
224
  searchCode: string;
225
225
  constructor(options?: IPepInternalPageFieldOptions);
226
226
  }
227
+ interface IPepInternalCaruselFieldOptions extends IPepFieldBaseOptions {
228
+ objectId?: string;
229
+ searchCode?: string;
230
+ }
231
+ export declare class PepInternalCaruselField extends PepFieldBase {
232
+ controlType: string;
233
+ objectId: string;
234
+ searchCode: string;
235
+ constructor(options?: IPepInternalCaruselFieldOptions);
236
+ }
227
237
  interface IPepInternalMenuFieldOptions extends IPepFieldBaseOptions {
228
238
  options?: IPepOption[];
229
239
  }
@@ -146,4 +146,4 @@ PepCheckboxComponent.propDecorators = {
146
146
  visible: [{ type: Input }],
147
147
  valueChange: [{ type: Output }]
148
148
  };
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsR0FHYixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsdUJBQXVCLEVBR3ZCLDRCQUE0QixFQUU1QixnQkFBZ0IsR0FDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQVFqQyxNQUFNLE9BQU8sb0JBQW9CO0lBbUU3QixZQUNZLFFBQW1CLEVBQ25CLG9CQUE2QyxFQUM3QyxPQUFtQixFQUNuQixTQUEyQjtRQUgzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQXRFOUIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVaLFVBQUssR0FBeUIsVUFBVSxDQUFDLENBQUMsbUJBQW1CO1FBVTVELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBMkIsNEJBQTRCLENBQUM7UUFDbEUsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUViLHFCQUFnQixHQUFRLFNBQVMsQ0FBQztRQVUxQyxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUVoQixTQUFJLEdBQWMsSUFBSSxDQUFDO1FBQ3ZC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SztvQkFDTCxLQUFLO29CQUNMLEtBQUs7bUJBR0wsS0FBSzt3QkFTTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLO3NCQUNMLEtBQUs7OEJBR0wsS0FBSzttQkFXTCxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUNMLEtBQUs7c0JBR0wsS0FBSzswQkFtQkwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9uRGVzdHJveSxcbiAgICBSZW5kZXJlcjIsXG4gICAgRWxlbWVudFJlZixcbiAgICBPcHRpb25hbCxcbiAgICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1xuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgIFBlcExheW91dFR5cGUsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIFBlcENoZWNrYm94RmllbGRUeXBlLFxuICAgIFBlcENoZWNrYm94RmllbGQsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtY2hlY2tib3gnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGVwQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBrZXkgPSAnJztcbiAgICBASW5wdXQoKSB2YWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XG5cbiAgICBwcml2YXRlIF90eXBlOiBQZXBDaGVja2JveEZpZWxkVHlwZSA9ICdjaGVja2JveCc7IC8vIHx8ICdib29sZWFuVGV4dCdcbiAgICBASW5wdXQoKVxuICAgIHNldCB0eXBlKHZhbHVlOiBQZXBDaGVja2JveEZpZWxkVHlwZSkge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0QWRkaXRpb25hbFZhbHVlT2JqZWN0KCk7XG4gICAgfVxuICAgIGdldCB0eXBlKCk6IFBlcENoZWNrYm94RmllbGRUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuXG4gICAgQElucHV0KCkgbWFuZGF0b3J5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQgPSBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xuXG4gICAgcHJpdmF0ZSBfYWRkaXRpb25hbFZhbHVlOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KClcbiAgICBzZXQgYWRkaXRpb25hbFZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fYWRkaXRpb25hbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0QWRkaXRpb25hbFZhbHVlT2JqZWN0KCk7XG4gICAgfVxuICAgIGdldCBhZGRpdGlvbmFsVmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FkZGl0aW9uYWxWYWx1ZTtcbiAgICB9XG5cbiAgICBjb250cm9sVHlwZSA9ICdjaGVja2JveCc7XG5cbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgPSBudWxsO1xuICAgIEBJbnB1dCgpIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSByZW5kZXJUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcblxuICAgIHByaXZhdGUgX3Zpc2libGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHN0YW5kQWxvbmUgPSBmYWxzZTtcblxuICAgIGFkZGl0aW9uYWxWYWx1ZU9iamVjdDogYW55O1xuICAgIHB1YmxpYyBqc29uTGliID0gSlNPTjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIHByaXZhdGUgc2V0QWRkaXRpb25hbFZhbHVlT2JqZWN0KCkge1xuICAgICAgICBpZiAodGhpcy5hZGRpdGlvbmFsVmFsdWUgJiYgdGhpcy50eXBlID09PSAnYm9vbGVhblRleHQnKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZGRpdGlvbmFsVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbFZhbHVlT2JqZWN0ID0gSlNPTi5wYXJzZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbFZhbHVlXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRpdGlvbmFsVmFsdWVPYmplY3QgPSB0aGlzLmFkZGl0aW9uYWxWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZGl0aW9uYWxWYWx1ZU9iamVjdCA9IHtcbiAgICAgICAgICAgICAgICAgICAgQ2hlY2tlZFRleHQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0NIRUNLQk9YLlRSVUUnKSxcbiAgICAgICAgICAgICAgICAgICAgVW5jaGVja2VkVGV4dDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ0hFQ0tCT1guRkFMU0UnKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXREZWZhdWx0Rm9ybSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGVwRmllbGQgPSBuZXcgUGVwQ2hlY2tib3hGaWVsZCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICAgICAgICBtYW5kYXRvcnk6IHRoaXMubWFuZGF0b3J5LFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEZyb21Hcm91cChwZXBGaWVsZCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0gPT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfQ0xBU1NfTkFNRVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnNldERlZmF1bHRGb3JtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBvbk1hdGVyaWFsQ2hhbmdlKGU6IE1hdENoZWNrYm94Q2hhbmdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlVmFsdWUoZS5jaGVja2VkKTtcbiAgICB9XG5cbiAgICB0b2dnbGVDaGVja2VkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ2hlY2tlZDogYm9vbGVhbiA9XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gIWlzQ2hlY2tlZDtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKFxuICAgICAgICAgICAgdGhpcy5mb3JtLFxuICAgICAgICAgICAgdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIH1cbn0iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsR0FHYixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsdUJBQXVCLEVBR3ZCLDRCQUE0QixFQUU1QixnQkFBZ0IsR0FDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQVFqQyxNQUFNLE9BQU8sb0JBQW9CO0lBbUU3QixZQUNZLFFBQW1CLEVBQ25CLG9CQUE2QyxFQUM3QyxPQUFtQixFQUNuQixTQUEyQjtRQUgzQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBeUI7UUFDN0MsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQXRFOUIsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUNULFVBQUssR0FBRyxLQUFLLENBQUM7UUFDZCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVosVUFBSyxHQUF5QixVQUFVLENBQUMsQ0FBQyxtQkFBbUI7UUFVNUQsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUEyQiw0QkFBNEIsQ0FBQztRQUNsRSxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBRWIscUJBQWdCLEdBQVEsU0FBUyxDQUFDO1FBVTFDLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBRWhCLFNBQUksR0FBYyxJQUFJLENBQUM7UUFDdkIs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O29CQUNMLEtBQUs7b0JBQ0wsS0FBSzttQkFHTCxLQUFLO3dCQVNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3lCQUNMLEtBQUs7c0JBQ0wsS0FBSzs4QkFHTCxLQUFLO21CQVdMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLEtBQUs7eUJBQ0wsS0FBSztzQkFHTCxLQUFLOzBCQW1CTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgT25EZXN0cm95LFxuICAgIFJlbmRlcmVyMixcbiAgICBFbGVtZW50UmVmLFxuICAgIE9wdGlvbmFsLFxuICAgIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7XG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBQZXBIb3Jpem9udGFsQWxpZ25tZW50LFxuICAgIERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQsXG4gICAgUGVwQ2hlY2tib3hGaWVsZFR5cGUsXG4gICAgUGVwQ2hlY2tib3hGaWVsZCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1jaGVja2JveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBDaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuICAgIEBJbnB1dCgpIHZhbHVlID0gZmFsc2U7XG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAgIHByaXZhdGUgX3R5cGU6IFBlcENoZWNrYm94RmllbGRUeXBlID0gJ2NoZWNrYm94JzsgLy8gfHwgJ2Jvb2xlYW5UZXh0J1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHR5cGUodmFsdWU6IFBlcENoZWNrYm94RmllbGRUeXBlKSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRBZGRpdGlvbmFsVmFsdWVPYmplY3QoKTtcbiAgICB9XG4gICAgZ2V0IHR5cGUoKTogUGVwQ2hlY2tib3hGaWVsZFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBtYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XG4gICAgQElucHV0KCkgeEFsaWdubWVudDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9IERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQ7XG4gICAgQElucHV0KCkgcm93U3BhbiA9IDE7XG5cbiAgICBwcml2YXRlIF9hZGRpdGlvbmFsVmFsdWU6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBhZGRpdGlvbmFsVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9hZGRpdGlvbmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRBZGRpdGlvbmFsVmFsdWVPYmplY3QoKTtcbiAgICB9XG4gICAgZ2V0IGFkZGl0aW9uYWxWYWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWRkaXRpb25hbFZhbHVlO1xuICAgIH1cblxuICAgIGNvbnRyb2xUeXBlID0gJ2NoZWNrYm94JztcblxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XG4gICAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KClcbiAgICBzZXQgdmlzaWJsZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB2aXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmlzaWJsZTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgc3RhbmRBbG9uZSA9IGZhbHNlO1xuXG4gICAgYWRkaXRpb25hbFZhbHVlT2JqZWN0OiBhbnk7XG4gICAgcHVibGljIGpzb25MaWIgPSBKU09OO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHsgfVxuXG4gICAgcHJpdmF0ZSBzZXRBZGRpdGlvbmFsVmFsdWVPYmplY3QoKSB7XG4gICAgICAgIGlmICh0aGlzLmFkZGl0aW9uYWxWYWx1ZSAmJiB0aGlzLnR5cGUgPT09ICdib29sZWFuVGV4dCcpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFkZGl0aW9uYWxWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRpdGlvbmFsVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRpdGlvbmFsVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZGl0aW9uYWxWYWx1ZU9iamVjdCA9IHRoaXMuYWRkaXRpb25hbFZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkaXRpb25hbFZhbHVlT2JqZWN0ID0ge1xuICAgICAgICAgICAgICAgICAgICBDaGVja2VkVGV4dDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQ0hFQ0tCT1guVFJVRScpLFxuICAgICAgICAgICAgICAgICAgICBVbmNoZWNrZWRUZXh0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdDSEVDS0JPWC5GQUxTRScpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRGb3JtKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBDaGVja2JveEZpZWxkKHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgICAgIG1hbmRhdG9yeTogdGhpcy5tYW5kYXRvcnksXG4gICAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXREZWZhdWx0RnJvbUdyb3VwKHBlcEZpZWxkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9DTEFTU19OQU1FXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0YW5kQWxvbmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdEZvcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIG9uTWF0ZXJpYWxDaGFuZ2UoZTogTWF0Q2hlY2tib3hDaGFuZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VWYWx1ZShlLmNoZWNrZWQpO1xuICAgIH1cblxuICAgIHRvZ2dsZUNoZWNrZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgaXNDaGVja2VkOiBib29sZWFuID1cbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSAhaXNDaGVja2VkO1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UudXBkYXRlRm9ybUZpZWxkVmFsdWUoXG4gICAgICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgICAgICB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgfVxufSJdfQ==
@@ -72,6 +72,7 @@ export var FIELD_TYPE;
72
72
  FIELD_TYPE[FIELD_TYPE["Duration"] = 51] = "Duration";
73
73
  FIELD_TYPE[FIELD_TYPE["ListOfObjects"] = 52] = "ListOfObjects";
74
74
  FIELD_TYPE[FIELD_TYPE["Package"] = 53] = "Package";
75
+ FIELD_TYPE[FIELD_TYPE["RelatedObjectsCards"] = 54] = "RelatedObjectsCards";
75
76
  FIELD_TYPE[FIELD_TYPE["BooleanText"] = 55] = "BooleanText";
76
77
  FIELD_TYPE[FIELD_TYPE["RichTextHTML"] = 56] = "RichTextHTML";
77
78
  })(FIELD_TYPE || (FIELD_TYPE = {}));
@@ -152,4 +153,4 @@ export class SmartSearchResponse {
152
153
  }
153
154
  export class KeyValuePair {
154
155
  }
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FwaS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY29tbW9uL21vZGVsL3dhcGkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUEyRVg7QUEzRUQsV0FBWSxVQUFVO0lBQ2xCLHFCQUFxQjtJQUNyQixpREFBYSxDQUFBO0lBQ2IsaURBQWEsQ0FBQTtJQUNiLDJFQUEwQixDQUFBO0lBQzFCLDBCQUEwQjtJQUMxQixtREFBYyxDQUFBO0lBQ2QsdURBQWdCLENBQUE7SUFDaEIscUJBQXFCO0lBQ3JCLDJDQUFVLENBQUE7SUFDViw0QkFBNEI7SUFDNUIseURBQWlCLENBQUE7SUFDakIsd0JBQXdCO0lBQ3hCLDZEQUFtQixDQUFBO0lBQ25CLHdCQUF3QjtJQUN4Qix1REFBZ0IsQ0FBQTtJQUNoQix5QkFBeUI7SUFDekIsbURBQWMsQ0FBQTtJQUNkLHdCQUF3QjtJQUN4QixrREFBYyxDQUFBO0lBQ2QsaUNBQWlDO0lBQ2pDLG9EQUFlLENBQUE7SUFDZixpQ0FBaUM7SUFDakMsNERBQW1CLENBQUE7SUFDbkIsc0NBQXNDO0lBQ3RDLHNEQUFnQixDQUFBO0lBQ2hCLHdCQUF3QjtJQUN4QixrREFBYyxDQUFBO0lBQ2QsMkJBQTJCO0lBQzNCLHdEQUFpQixDQUFBO0lBQ2pCLDhEQUFvQixDQUFBO0lBQ3BCLDREQUFtQixDQUFBO0lBQ25CLHNCQUFzQjtJQUN0Qiw4Q0FBWSxDQUFBO0lBQ1osMERBQWtCLENBQUE7SUFDbEIsc0JBQXNCO0lBQ3RCLDhDQUFZLENBQUE7SUFDWixnRkFBNkIsQ0FBQTtJQUM3QixzRUFBd0IsQ0FBQTtJQUN4QixnREFBYSxDQUFBO0lBQ2IsMkJBQTJCO0lBQzNCLHdEQUFpQixDQUFBO0lBQ2pCLHNEQUFnQixDQUFBO0lBQ2hCLHFCQUFxQjtJQUNyQiw0Q0FBVyxDQUFBO0lBQ1gsMEJBQTBCO0lB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QUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLDBCQUEwQjtRQUMxQiw2QkFBNkI7SUFDakMsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU03QjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FNL0I7QUFFRCxNQUFNLE9BQU8sWUFBWTtDQUd4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZJRUxEX1RZUEUge1xuICAgIC8vIHNwZWNpZnkgdGV4dCBmaWVsZFxuICAgICdEZWZhdWx0JyA9IDAsXG4gICAgJ1RleHRCb3gnID0gMSxcbiAgICAnTGltaXRlZExlbmd0aFRleHRCb3gnID0gMixcbiAgICAvLyBzcGVjaWZ5IHRleHQgYXJlYSBmaWVsZFxuICAgICdUZXh0QXJlYScgPSAzLFxuICAgICdUZXh0SGVhZGVyJyA9IDQsXG4gICAgLy8gc3BlY2lmeSBkYXRlIGZpZWxkXG4gICAgJ0RhdGUnID0gNSxcbiAgICAvLyBzcGVjaWZ5IGRhdGUgJiB0aW1lIGZpZWxkXG4gICAgJ0RhdGVBbmRUaW1lJyA9IDYsXG4gICAgLy8gc3BlY2lmeSBpbnRlZ2VyIGZpZWxkXG4gICAgJ051bWJlckludGVnZXInID0gNyxcbiAgICAvLyBzcGVjaWZ5IGRlY2ltYWwgZmllbGRcbiAgICAnTnVtYmVyUmVhbCcgPSA4LFxuICAgIC8vIHNwZWNpZnkgY3VycmVuY3kgZmllbGRcbiAgICAnQ3VycmVuY3knID0gOSxcbiAgICAvLyBzcGVjaWZ5IGJvb2xlYW4gZmllbGRcbiAgICAnQm9vbGVhbicgPSAxMCxcbiAgICAvLyBzcGVjaWZ5IG11bHRpcGxlIG9wdGlvbnMgZmllbGRcbiAgICAnQ29tYm9Cb3gnID0gMTEsXG4gICAgLy8gc3BlY2lmeSBtdWx0aXBsZSBvcHRpb25zIGZpZWxkXG4gICAgJ011bHRpVGlja0JveCcgPSAxMixcbiAgICAvLyBzcGVjaWZ5IHNlcGFyYXRvciAodmlldyBvbmx5KSBmaWVsZFxuICAgICdTZXBhcmF0b3InID0gMTMsXG4gICAgLy8gc3BlY2lmeSBhZGRyZXNzIGZpZWxkXG4gICAgJ0FkZHJlc3MnID0gMTQsXG4gICAgLy8gc3BlY2lmeSBwZXJjZW50YWdlIGZpZWxkXG4gICAgJ1BlcmNlbnRhZ2UnID0gMTUsXG4gICAgJ0VtcHR5Q29tYm9Cb3gnID0gMTYsIC8vIEZvciBDYXRlZ29yeSwgQ1BJUHJpY2VMaXN0LCBTcGVjaWFsIFByaWNlIExpc3QgKENvbWJvQm94IFdpdGhvdXQgVmFsdWVzKVxuICAgICdJbnRlcm5hbExpbmsnID0gMTcsIC8vIGZvciByZXBzLCBDb250YWN0cywgTG9jYXRpb25zICYgQ2F0YWxvZ3NcbiAgICAvLyBzcGVjaWZ5IGVtYWlsIGZpZWxkXG4gICAgJ0VtYWlsJyA9IDE4LFxuICAgICdMaW1pdGVkRGF0ZScgPSAxOSxcbiAgICAvLyBzcGVjaWZ5IGltYWdlIGZpZWxkXG4gICAgJ0ltYWdlJyA9IDIwLFxuICAgICdNdWx0aVRpY2tCb3hUb0NvbWJvQm94JyA9IDIxLFxuICAgICdFbXB0eU11bHRpVGlja0JveCcgPSAyMixcbiAgICAnVG90YWxzJyA9IDIzLFxuICAgIC8vIHNwZWNpZnkgYXR0YWNobWVudCBmaWVsZFxuICAgICdBdHRhY2htZW50JyA9IDI0LFxuICAgICdTaWduYXR1cmUnID0gMjUsXG4gICAgLy8gc3BlY2lmeSBsaW5rIGZpZWxkXG4gICAgJ0xpbmsnID0gMjYsXG4gICAgLy8gc3BlY2lmeSBpbWFnZSB1cmwgZmllbGRcbiAgICAnSW1hZ2VVUkwnID0gMjcsXG4gICAgJ051bWJlckludGVnZXJRdWFudGl0eVNlbGVjdG9yJyA9IDI4LCAvLyBoYWNrIGZvciBxdWFudGl0eSBzZWxlY3RvciBpbiBjYXNlIG9mIGludGVnZXJcbiAgICAnTnVtYmVyUmVhbFF1YW50aXR5U2VsZWN0b3InID0gMjksIC8vIGhhY2sgZm9yIHF1YW50aXR5IHNlbGVjdG9yIGluIGNhc2Ugb2YgZG91YmxlXG4gICAgJ051bWJlckludGVnZXJGb3JNYXRyaXgnID0gMzAsIC8vIGhhY2sgZm9yIGludGVnZXIgaW4gbWF0cml4XG4gICAgJ051bWJlclJlYWxGb3JNYXRyaXgnID0gMzEsIC8vIGhhY2sgZm9yIGRvdWJsZSBpbiBtYXRyaXhcbiAgICAnSW1hZ2VzJyA9IDMyLCAvLyBoYWNrIGZvciBJbWFnZXMgKGZvciBmaWxtc3RyaXAgYW5kIHZhcmlhbnRzKVxuICAgICdJbmRpY2F0b3JzJyA9IDMzLCAvLyBJbmRpY2F0b3JzIGlzIGxpa2UgYWRkcmVzcyAoZ3JvdXAgZmllbGQgdGhhdCBjb25haW5zIGJvb2xlYW4gZmllbGRzKS5cbiAgICAnQ2FsY3VsYXRlZFJlYWwnID0gMzQsXG4gICAgJ0NhbGN1bGF0ZWRJbnQnID0gMzUsXG4gICAgJ0NhbGN1bGF0ZWRTdHJpbmcnID0gMzYsXG4gICAgJ0NhbGN1bGF0ZWREYXRlJyA9IDM3LFxuICAgICdDYWxjdWxhdGVkQm9vbCcgPSAzOCxcbiAgICAnTWFwRGF0YURyb3BEb3duJyA9IDM5LFxuICAgICdNYXBEYXRhUmVhbCcgPSA0MCxcbiAgICAnTWFwRGF0YVN0cmluZycgPSA0MSxcbiAgICAnTWFwRGF0YUludCcgPSA0MixcbiAgICAnU3VtJyA9IDQzLFxuICAgICdQaG9uZScgPSA0NCxcbiAgICAnVXJsRm9yQXBpJyA9IDQ1LFxuICAgICdNYW55VG9NYW55VXJsRm9yQXBpJyA9IDQ2LFxuICAgICdSZWZlcmVuY2VUeXBlJyA9IDQ3LFxuICAgICdHdWlkUmVmZXJlbmNlVHlwZScgPSA0OCxcbiAgICAnQnV0dG9uJyA9IDQ5LFxuICAgICdJbnRlcm5hbFBhZ2UnID0gNTAsIC8vIFRoZSBvbGQgdmFsdWUgd2FzIDQ1IC0gaW4gdGhlIGNwaSBwcm9qZWN0IHRoZSBcIkludGVybmFsUGFnZVwiIHZhbHVlIGlzIDUwIHNvIGkgZml4ZWQgaXQhISFcbiAgICAnRHVyYXRpb24nID0gNTEsXG4gICAgJ0xpc3RPZk9iamVjdHMnID0gNTIsXG4gICAgJ1BhY2thZ2UnID0gNTMsIC8vIFBhY2thZ2UgUXVhbnRpdHkgU2VsZWN0b3JcbiAgICAnQm9vbGVhblRleHQnID0gNTUsIC8vIEJvb2xlYW4gdGhhdCByZXR1cm4gYSBzdHJpbmcgZGVmaW5lZCBieSB0aGUgdXNlciBpbiBjYXNlIG9mIHRydWUvZmFsc2VcbiAgICAnUmljaFRleHRIVE1MJyA9IDU2LCAvLyBIdG1sIFRleHRcbn1cblxuZXhwb3J0IGVudW0gWF9BTElHTk1FTlRfVFlQRSB7XG4gICAgTm9uZSA9IDAsXG4gICAgTGVmdCA9IDEsXG4gICAgUmlnaHQgPSAyLFxuICAgIENlbnRlciA9IDMsXG59XG5cbmV4cG9ydCBlbnVtIFlfQUxJR05NRU5UX1RZUEUge1xuICAgIE5vbmUgPSAwLFxuICAgIFRvcCA9IDEsXG4gICAgQm90dG9tID0gMixcbiAgICBDZW50ZXIgPSAzLFxufVxuXG5leHBvcnQgY2xhc3MgRmllbGRMYXlvdXQge1xuICAgIFg6IG51bWJlcjtcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIFhBbGlnbm1lbnQ6IFhfQUxJR05NRU5UX1RZUEU7XG4gICAgWTogWV9BTElHTk1FTlRfVFlQRTtcbiAgICBIZWlnaHQ6IG51bWJlcjtcbiAgICBZQWxpZ25tZW50OiBZX0FMSUdOTUVOVF9UWVBFO1xuICAgIExpbmVOdW1iZXI6IG51bWJlcjtcblxuICAgIC8vIGNvbnN0cnVjdG9yKFxuICAgIC8vICAgICB4ID0gMCxcbiAgICAvLyAgICAgd2lkdGggPSAxLFxuICAgIC8vICAgICB4QWxpZ25tZW50OiBYX0FMSUdOTUVOVF9UWVBFID0gMSwgeTogWV9BTElHTk1FTlRfVFlQRSA9IDAsIGhlaWdodCA9IDEsIHlBbGlnbm1lbnQgPSAxLCBsaW5lTnVtYmVyID0gMSkge1xuICAgIC8vICAgICB0aGlzLlggPSB4O1xuICAgIC8vICAgICB0aGlzLldpZHRoID0gd2lkdGg7XG4gICAgLy8gICAgIHRoaXMuWEFsaWdubWVudCA9IHhBbGlnbm1lbnQ7XG4gICAgLy8gICAgIHRoaXMuWSA9IHk7XG4gICAgLy8gICAgIHRoaXMuSGVpZ2h0ID0gaGVpZ2h0O1xuICAgIC8vICAgICB0aGlzLllBbGlnbm1lbnQgPSB5QWxpZ25tZW50O1xuICAgIC8vICAgICB0aGlzLkxpbmVOdW1iZXIgPSBsaW5lTnVtYmVyO1xuICAgIC8vIH1cblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8RmllbGRMYXlvdXQ+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVUlDb250cm9sRmllbGQge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgTWFuZGF0b3J5RmllbGQgPSBmYWxzZTtcbiAgICBNYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBSZWFkT25seUZpZWxkOiBib29sZWFuO1xuICAgIFJlYWRPbmx5OiBib29sZWFuO1xuICAgIEZpZWxkQ29uZGl0aW9uczogYW55O1xuICAgIEN1c3RvbUZpZWxkOiBhbnk7XG4gICAgQXBpTmFtZTogc3RyaW5nO1xuICAgIEZpZWxkVHlwZTogRklFTERfVFlQRTtcbiAgICBPcHRpb25hbFZhbHVlczogQXJyYXk8S2V5VmFsdWVQYWlyPHN0cmluZz4+O1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBNYXhDaGFyYWN0ZXJzOiBudW1iZXI7XG4gICAgTWF4RmllbGRDaGFyYWN0ZXJzOiBudW1iZXI7XG4gICAgTWF4TGluZXM6IG51bWJlcjtcbiAgICBMYXlvdXQ6IEZpZWxkTGF5b3V0OyAvLyB7IFg6IG51bWJlcjsgSGVpZ2h0OiBudW1iZXI7IFk6IG51bWJlcjsgV2lkdGg6IG51bWJlcjsgWEFsaWdubWVudDogbnVtYmVyOyBZQWxpZ25tZW50OiBudW1iZXIgfTtcbiAgICBDb2x1bW5XaWR0aDogbnVtYmVyO1xuICAgIENvbHVtbldpZHRoVHlwZTogbnVtYmVyO1xuICAgIEZpZWxkTmFtZTogc3RyaW5nO1xuICAgIERlZmF1bHRWYWx1ZTogc3RyaW5nO1xuICAgIEhpZGRlbjogYm9vbGVhbjtcbiAgICBPYmplY3RUeXBlUmVmZXJlbmNlOiBhbnk7XG4gICAgUGFyZW50RmllbGQ6IHN0cmluZztcbiAgICBXcm50eUZpZWxkTmFtZTogc3RyaW5nO1xuICAgIEVkaXRvcjogYW55O1xuICAgIG1pbkZpZWxkV2lkdGggPSA0NTtcbiAgICBjYWxjQ29sdW1uV2lkdGggPSAxMDtcbiAgICBjYWxjVGl0bGVDb2x1bW5XaWR0aFN0cmluZyA9ICcxMDAlJztcbiAgICBjYWxjQ29sdW1uV2lkdGhTdHJpbmcgPSAnMTAwJSc7XG59XG5cbmV4cG9ydCBjbGFzcyBVSUNvbnRyb2wge1xuICAgIE9iamVjdElEOiBhbnk7XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIERpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkczogQXJyYXk8VUlDb250cm9sRmllbGQ+O1xuICAgIENvbHVtbnM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIE9iamVjdHNEYXRhUm93Q2VsbCB7XG4gICAgQWNjZXNzb3J5Pzogc3RyaW5nO1xuICAgIEFkZGl0aW9uYWxWYWx1ZT86IHN0cmluZztcbiAgICBBcGlOYW1lOiBzdHJpbmc7XG4gICAgQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIEVuYWJsZWQ/OiBib29sZWFuO1xuICAgIEZpZWxkVHlwZTogbnVtYmVyO1xuICAgIEZvcm1hdHRlZFZhbHVlOiBhbnk7XG4gICAgR3JvdXBGaWVsZHM/OiBBcnJheTxPYmplY3RzRGF0YVJvd0NlbGw+O1xuICAgIEhpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICBOb3RpZmljYXRpb25JbmZvPzogc3RyaW5nO1xuICAgIE9wdGlvbmFsVmFsdWVzPzogQXJyYXk8S2V5VmFsdWVQYWlyPHN0cmluZz4+O1xuICAgIFJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZT86IHN0cmluZztcbiAgICBSZWZlcmVuY2VPYmplY3RTdWJUeXBlPzogc3RyaW5nO1xuICAgIFJlZmVyZW5jZU9iamVjdFR5cGU/OiBzdHJpbmc7XG4gICAgVGV4dENvbG9yPzogc3RyaW5nO1xuICAgIFVpUGFnZUtleT86IHN0cmluZztcbiAgICAvLyBUeXBlPzogc3RyaW5nOyAvLyBUaGlzIGlzIGluIHRoZSBvYmplY3Q/P1xuICAgIFZhbHVlOiBhbnk7XG4gICAgVmlzaWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBPYmplY3RzRGF0YVJvdyB7XG4gICAgQWRkaXRpb25hbERhdGE/OiBhbnk7XG4gICAgQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIEV4dHJhSW5mbz86IEFycmF5PHsgS2V5OiBzdHJpbmc7IFZhbHVlOiBzdHJpbmcgfT47XG4gICAgRmllbGRzOiBBcnJheTxPYmplY3RzRGF0YVJvd0NlbGw+O1xuICAgIElzRWRpdGFibGUgPSB0cnVlO1xuICAgIElzU2VsZWN0YWJsZUZvckFjdGlvbnMgPSB0cnVlO1xuICAgIE1haW5BY3Rpb24/OiBzdHJpbmc7XG4gICAgUHJvZmlsZT86IGFueTtcbiAgICBUeXBlOiBudW1iZXI7XG4gICAgVUlEOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBPYmplY3RTaW5nbGVEYXRhIHtcbiAgICBEYXRhOiBPYmplY3RzRGF0YVJvdztcbiAgICBFcnJvckNvZGU6IHN0cmluZztcbiAgICBFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICBJc0VkaXRhYmxlOiBib29sZWFuO1xuICAgIFN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIFVJQ29udHJvbDogVUlDb250cm9sO1xuXG4gICAgY29uc3RydWN0b3IodWlDb250cm9sOiBVSUNvbnRyb2wgPSBudWxsLCBkYXRhOiBPYmplY3RzRGF0YVJvdyA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5TdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgdGhpcy5UeXBlID0gJyc7XG5cbiAgICAgICAgdGhpcy5VSUNvbnRyb2wgPSB1aUNvbnRyb2w7XG4gICAgICAgIHRoaXMuRGF0YSA9IGRhdGE7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT2JqZWN0c0RhdGEge1xuICAgIERhdGVGaWx0ZXI/OiBzdHJpbmc7XG4gICAgRXJyb3JDb2RlOiBzdHJpbmc7XG4gICAgRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgUm93czogQXJyYXk8T2JqZWN0c0RhdGFSb3c+O1xuICAgIFNlYXJjaENvZGU/OiBzdHJpbmc7XG4gICAgU2VjU21hcnRTZWFyY2hMaXN0PzogW107XG4gICAgU21hcnRTZWFyY2hMaXN0OiBBcnJheTxTbWFydFNlYXJjaFJlc3BvbnNlPjtcbiAgICBTdWNjZXNzOiBib29sZWFuO1xuICAgIFRvdGFsUm93czogbnVtYmVyO1xuICAgIFVJQ29udHJvbDogVUlDb250cm9sO1xuICAgIC8vIEFsbFJvd3M6IEFycmF5PE9iamVjdHNEYXRhUm93PjtcbiAgICAvLyBUb3RhbEFtb3VudDogYW55O1xuICAgIC8vIEN1cnJlbmN5U3ltYm9sOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgdGhpcy5TdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgLy8gdGhpcy5Ub3RhbEFtb3VudCA9ICcwJztcbiAgICAgICAgLy8gdGhpcy5DdXJyZW5jeVN5bWJvbCA9ICckJztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTbWFydFNlYXJjaFZhbHVlcyB7XG4gICAgQXBpTmFtZTogc3RyaW5nO1xuICAgIENvbXBhcmlzb25UeXBlOiBzdHJpbmc7XG4gICAgVmFsdWU6IHN0cmluZztcbiAgICBWYWx1ZVJhbmdlOiB7IFN0YXJ0OiBzdHJpbmc7IEVuZDogc3RyaW5nIH07XG4gICAgVmFsdWVzOiBBcnJheTxzdHJpbmc+O1xufVxuXG5leHBvcnQgY2xhc3MgU21hcnRTZWFyY2hSZXNwb25zZSB7XG4gICAgQXBpTmFtZTogc3RyaW5nO1xuICAgIEZpZWxkVHlwZTogYW55O1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgVmFsdWVzOiBBcnJheTxLZXlWYWx1ZVBhaXI8c3RyaW5nPj47XG4gICAgU21hcnRTZWFyY2hEYXRhOiBTbWFydFNlYXJjaFZhbHVlcztcbn1cblxuZXhwb3J0IGNsYXNzIEtleVZhbHVlUGFpcjxUPiB7XG4gICAgS2V5OiBzdHJpbmc7XG4gICAgVmFsdWU6IFQ7XG59XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FwaS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY29tbW9uL21vZGVsL3dhcGkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksVUE0RVg7QUE1RUQsV0FBWSxVQUFVO0lBQ2xCLHFCQUFxQjtJQUNyQixpREFBYSxDQUFBO0lBQ2IsaURBQWEsQ0FBQTtJQUNiLDJFQUEwQixDQUFBO0lBQzFCLDBCQUEwQjtJQUMxQixtREFBYyxDQUFBO0lBQ2QsdURBQWdCLENBQUE7SUFDaEIscUJBQXFCO0lBQ3JCLDJDQUFVLENBQUE7SUFDViw0QkFBNEI7SUFDNUIseURBQWlCLENBQUE7SUFDakIsd0JBQXdCO0lBQ3hCLDZEQUFtQixDQUFBO0lBQ25CLHdCQUF3QjtJQUN4Qix1REFBZ0IsQ0FBQTtJQUNoQix5QkFBeUI7SUFDekIsbURBQWMsQ0FBQTtJQUNkLHdCQUF3QjtJQUN4QixrREFBYyxDQUFBO0lBQ2QsaUNBQWlDO0lBQ2pDLG9EQUFlLENBQUE7SUFDZixpQ0FBaUM7SUFDakMsNERBQW1CLENBQUE7SUFDbkIsc0NBQXNDO0lBQ3RDLHNEQUFnQixDQUFBO0lBQ2hCLHdCQUF3QjtJQUN4QixrREFBYyxDQUFBO0lBQ2QsMkJBQTJCO0lBQzNCLHdEQUFpQixDQUFBO0lBQ2pCLDhEQUFvQixDQUFBO0lBQ3BCLDREQUFtQixDQUFBO0lBQ25CLHNCQUFzQjtJQUN0Qiw4Q0FBWSxDQUFBO0lBQ1osMERBQWtCLENBQUE7SUFDbEIsc0JBQXNCO0lBQ3RCLDhDQUFZLENBQUE7SUFDWixnRkFBNkIsQ0FBQTtJQUM3QixzRUFBd0IsQ0FBQTtJQUN4QixnREFBYSxDQUFBO0lBQ2IsMkJBQTJCO0lBQzNCLHdEQUFpQixDQUFBO0lBQ2pCLHNEQUFnQixDQUFBO0lBQ2hCLHFCQUFxQjtJQUNyQiw0Q0FBVyxDQUFBO0lBQ1gsMEJBQTBCO0lB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QyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLDBCQUEwQjtRQUMxQiw2QkFBNkI7SUFDakMsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGlCQUFpQjtDQU03QjtBQUVELE1BQU0sT0FBTyxtQkFBbUI7Q0FNL0I7QUFFRCxNQUFNLE9BQU8sWUFBWTtDQUd4QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZJRUxEX1RZUEUge1xuICAgIC8vIHNwZWNpZnkgdGV4dCBmaWVsZFxuICAgICdEZWZhdWx0JyA9IDAsXG4gICAgJ1RleHRCb3gnID0gMSxcbiAgICAnTGltaXRlZExlbmd0aFRleHRCb3gnID0gMixcbiAgICAvLyBzcGVjaWZ5IHRleHQgYXJlYSBmaWVsZFxuICAgICdUZXh0QXJlYScgPSAzLFxuICAgICdUZXh0SGVhZGVyJyA9IDQsXG4gICAgLy8gc3BlY2lmeSBkYXRlIGZpZWxkXG4gICAgJ0RhdGUnID0gNSxcbiAgICAvLyBzcGVjaWZ5IGRhdGUgJiB0aW1lIGZpZWxkXG4gICAgJ0RhdGVBbmRUaW1lJyA9IDYsXG4gICAgLy8gc3BlY2lmeSBpbnRlZ2VyIGZpZWxkXG4gICAgJ051bWJlckludGVnZXInID0gNyxcbiAgICAvLyBzcGVjaWZ5IGRlY2ltYWwgZmllbGRcbiAgICAnTnVtYmVyUmVhbCcgPSA4LFxuICAgIC8vIHNwZWNpZnkgY3VycmVuY3kgZmllbGRcbiAgICAnQ3VycmVuY3knID0gOSxcbiAgICAvLyBzcGVjaWZ5IGJvb2xlYW4gZmllbGRcbiAgICAnQm9vbGVhbicgPSAxMCxcbiAgICAvLyBzcGVjaWZ5IG11bHRpcGxlIG9wdGlvbnMgZmllbGRcbiAgICAnQ29tYm9Cb3gnID0gMTEsXG4gICAgLy8gc3BlY2lmeSBtdWx0aXBsZSBvcHRpb25zIGZpZWxkXG4gICAgJ011bHRpVGlja0JveCcgPSAxMixcbiAgICAvLyBzcGVjaWZ5IHNlcGFyYXRvciAodmlldyBvbmx5KSBmaWVsZFxuICAgICdTZXBhcmF0b3InID0gMTMsXG4gICAgLy8gc3BlY2lmeSBhZGRyZXNzIGZpZWxkXG4gICAgJ0FkZHJlc3MnID0gMTQsXG4gICAgLy8gc3BlY2lmeSBwZXJjZW50YWdlIGZpZWxkXG4gICAgJ1BlcmNlbnRhZ2UnID0gMTUsXG4gICAgJ0VtcHR5Q29tYm9Cb3gnID0gMTYsIC8vIEZvciBDYXRlZ29yeSwgQ1BJUHJpY2VMaXN0LCBTcGVjaWFsIFByaWNlIExpc3QgKENvbWJvQm94IFdpdGhvdXQgVmFsdWVzKVxuICAgICdJbnRlcm5hbExpbmsnID0gMTcsIC8vIGZvciByZXBzLCBDb250YWN0cywgTG9jYXRpb25zICYgQ2F0YWxvZ3NcbiAgICAvLyBzcGVjaWZ5IGVtYWlsIGZpZWxkXG4gICAgJ0VtYWlsJyA9IDE4LFxuICAgICdMaW1pdGVkRGF0ZScgPSAxOSxcbiAgICAvLyBzcGVjaWZ5IGltYWdlIGZpZWxkXG4gICAgJ0ltYWdlJyA9IDIwLFxuICAgICdNdWx0aVRpY2tCb3hUb0NvbWJvQm94JyA9IDIxLFxuICAgICdFbXB0eU11bHRpVGlja0JveCcgPSAyMixcbiAgICAnVG90YWxzJyA9IDIzLFxuICAgIC8vIHNwZWNpZnkgYXR0YWNobWVudCBmaWVsZFxuICAgICdBdHRhY2htZW50JyA9IDI0LFxuICAgICdTaWduYXR1cmUnID0gMjUsXG4gICAgLy8gc3BlY2lmeSBsaW5rIGZpZWxkXG4gICAgJ0xpbmsnID0gMjYsXG4gICAgLy8gc3BlY2lmeSBpbWFnZSB1cmwgZmllbGRcbiAgICAnSW1hZ2VVUkwnID0gMjcsXG4gICAgJ051bWJlckludGVnZXJRdWFudGl0eVNlbGVjdG9yJyA9IDI4LCAvLyBoYWNrIGZvciBxdWFudGl0eSBzZWxlY3RvciBpbiBjYXNlIG9mIGludGVnZXJcbiAgICAnTnVtYmVyUmVhbFF1YW50aXR5U2VsZWN0b3InID0gMjksIC8vIGhhY2sgZm9yIHF1YW50aXR5IHNlbGVjdG9yIGluIGNhc2Ugb2YgZG91YmxlXG4gICAgJ051bWJlckludGVnZXJGb3JNYXRyaXgnID0gMzAsIC8vIGhhY2sgZm9yIGludGVnZXIgaW4gbWF0cml4XG4gICAgJ051bWJlclJlYWxGb3JNYXRyaXgnID0gMzEsIC8vIGhhY2sgZm9yIGRvdWJsZSBpbiBtYXRyaXhcbiAgICAnSW1hZ2VzJyA9IDMyLCAvLyBoYWNrIGZvciBJbWFnZXMgKGZvciBmaWxtc3RyaXAgYW5kIHZhcmlhbnRzKVxuICAgICdJbmRpY2F0b3JzJyA9IDMzLCAvLyBJbmRpY2F0b3JzIGlzIGxpa2UgYWRkcmVzcyAoZ3JvdXAgZmllbGQgdGhhdCBjb25haW5zIGJvb2xlYW4gZmllbGRzKS5cbiAgICAnQ2FsY3VsYXRlZFJlYWwnID0gMzQsXG4gICAgJ0NhbGN1bGF0ZWRJbnQnID0gMzUsXG4gICAgJ0NhbGN1bGF0ZWRTdHJpbmcnID0gMzYsXG4gICAgJ0NhbGN1bGF0ZWREYXRlJyA9IDM3LFxuICAgICdDYWxjdWxhdGVkQm9vbCcgPSAzOCxcbiAgICAnTWFwRGF0YURyb3BEb3duJyA9IDM5LFxuICAgICdNYXBEYXRhUmVhbCcgPSA0MCxcbiAgICAnTWFwRGF0YVN0cmluZycgPSA0MSxcbiAgICAnTWFwRGF0YUludCcgPSA0MixcbiAgICAnU3VtJyA9IDQzLFxuICAgICdQaG9uZScgPSA0NCxcbiAgICAnVXJsRm9yQXBpJyA9IDQ1LFxuICAgICdNYW55VG9NYW55VXJsRm9yQXBpJyA9IDQ2LFxuICAgICdSZWZlcmVuY2VUeXBlJyA9IDQ3LFxuICAgICdHdWlkUmVmZXJlbmNlVHlwZScgPSA0OCxcbiAgICAnQnV0dG9uJyA9IDQ5LFxuICAgICdJbnRlcm5hbFBhZ2UnID0gNTAsIC8vIFRoZSBvbGQgdmFsdWUgd2FzIDQ1IC0gaW4gdGhlIGNwaSBwcm9qZWN0IHRoZSBcIkludGVybmFsUGFnZVwiIHZhbHVlIGlzIDUwIHNvIGkgZml4ZWQgaXQhISFcbiAgICAnRHVyYXRpb24nID0gNTEsXG4gICAgJ0xpc3RPZk9iamVjdHMnID0gNTIsXG4gICAgJ1BhY2thZ2UnID0gNTMsIC8vIFBhY2thZ2UgUXVhbnRpdHkgU2VsZWN0b3JcbiAgICAnUmVsYXRlZE9iamVjdHNDYXJkcycgPSA1NCxcbiAgICAnQm9vbGVhblRleHQnID0gNTUsIC8vIEJvb2xlYW4gdGhhdCByZXR1cm4gYSBzdHJpbmcgZGVmaW5lZCBieSB0aGUgdXNlciBpbiBjYXNlIG9mIHRydWUvZmFsc2VcbiAgICAnUmljaFRleHRIVE1MJyA9IDU2LCAvLyBIdG1sIFRleHRcbn1cblxuZXhwb3J0IGVudW0gWF9BTElHTk1FTlRfVFlQRSB7XG4gICAgTm9uZSA9IDAsXG4gICAgTGVmdCA9IDEsXG4gICAgUmlnaHQgPSAyLFxuICAgIENlbnRlciA9IDMsXG59XG5cbmV4cG9ydCBlbnVtIFlfQUxJR05NRU5UX1RZUEUge1xuICAgIE5vbmUgPSAwLFxuICAgIFRvcCA9IDEsXG4gICAgQm90dG9tID0gMixcbiAgICBDZW50ZXIgPSAzLFxufVxuXG5leHBvcnQgY2xhc3MgRmllbGRMYXlvdXQge1xuICAgIFg6IG51bWJlcjtcbiAgICBXaWR0aDogbnVtYmVyO1xuICAgIFhBbGlnbm1lbnQ6IFhfQUxJR05NRU5UX1RZUEU7XG4gICAgWTogWV9BTElHTk1FTlRfVFlQRTtcbiAgICBIZWlnaHQ6IG51bWJlcjtcbiAgICBZQWxpZ25tZW50OiBZX0FMSUdOTUVOVF9UWVBFO1xuICAgIExpbmVOdW1iZXI6IG51bWJlcjtcblxuICAgIC8vIGNvbnN0cnVjdG9yKFxuICAgIC8vICAgICB4ID0gMCxcbiAgICAvLyAgICAgd2lkdGggPSAxLFxuICAgIC8vICAgICB4QWxpZ25tZW50OiBYX0FMSUdOTUVOVF9UWVBFID0gMSwgeTogWV9BTElHTk1FTlRfVFlQRSA9IDAsIGhlaWdodCA9IDEsIHlBbGlnbm1lbnQgPSAxLCBsaW5lTnVtYmVyID0gMSkge1xuICAgIC8vICAgICB0aGlzLlggPSB4O1xuICAgIC8vICAgICB0aGlzLldpZHRoID0gd2lkdGg7XG4gICAgLy8gICAgIHRoaXMuWEFsaWdubWVudCA9IHhBbGlnbm1lbnQ7XG4gICAgLy8gICAgIHRoaXMuWSA9IHk7XG4gICAgLy8gICAgIHRoaXMuSGVpZ2h0ID0gaGVpZ2h0O1xuICAgIC8vICAgICB0aGlzLllBbGlnbm1lbnQgPSB5QWxpZ25tZW50O1xuICAgIC8vICAgICB0aGlzLkxpbmVOdW1iZXIgPSBsaW5lTnVtYmVyO1xuICAgIC8vIH1cblxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IFBhcnRpYWw8RmllbGRMYXlvdXQ+KSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZGF0YSk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVUlDb250cm9sRmllbGQge1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgTWFuZGF0b3J5RmllbGQgPSBmYWxzZTtcbiAgICBNYW5kYXRvcnkgPSBmYWxzZTtcbiAgICBSZWFkT25seUZpZWxkOiBib29sZWFuO1xuICAgIFJlYWRPbmx5OiBib29sZWFuO1xuICAgIEZpZWxkQ29uZGl0aW9uczogYW55O1xuICAgIEN1c3RvbUZpZWxkOiBhbnk7XG4gICAgQXBpTmFtZTogc3RyaW5nO1xuICAgIEZpZWxkVHlwZTogRklFTERfVFlQRTtcbiAgICBPcHRpb25hbFZhbHVlczogQXJyYXk8S2V5VmFsdWVQYWlyPHN0cmluZz4+O1xuICAgIE1pblZhbHVlOiBudW1iZXI7XG4gICAgTWF4VmFsdWU6IG51bWJlcjtcbiAgICBNYXhDaGFyYWN0ZXJzOiBudW1iZXI7XG4gICAgTWF4RmllbGRDaGFyYWN0ZXJzOiBudW1iZXI7XG4gICAgTWF4TGluZXM6IG51bWJlcjtcbiAgICBMYXlvdXQ6IEZpZWxkTGF5b3V0OyAvLyB7IFg6IG51bWJlcjsgSGVpZ2h0OiBudW1iZXI7IFk6IG51bWJlcjsgV2lkdGg6IG51bWJlcjsgWEFsaWdubWVudDogbnVtYmVyOyBZQWxpZ25tZW50OiBudW1iZXIgfTtcbiAgICBDb2x1bW5XaWR0aDogbnVtYmVyO1xuICAgIENvbHVtbldpZHRoVHlwZTogbnVtYmVyO1xuICAgIEZpZWxkTmFtZTogc3RyaW5nO1xuICAgIERlZmF1bHRWYWx1ZTogc3RyaW5nO1xuICAgIEhpZGRlbjogYm9vbGVhbjtcbiAgICBPYmplY3RUeXBlUmVmZXJlbmNlOiBhbnk7XG4gICAgUGFyZW50RmllbGQ6IHN0cmluZztcbiAgICBXcm50eUZpZWxkTmFtZTogc3RyaW5nO1xuICAgIEVkaXRvcjogYW55O1xuICAgIG1pbkZpZWxkV2lkdGggPSA0NTtcbiAgICBjYWxjQ29sdW1uV2lkdGggPSAxMDtcbiAgICBjYWxjVGl0bGVDb2x1bW5XaWR0aFN0cmluZyA9ICcxMDAlJztcbiAgICBjYWxjQ29sdW1uV2lkdGhTdHJpbmcgPSAnMTAwJSc7XG59XG5cbmV4cG9ydCBjbGFzcyBVSUNvbnRyb2wge1xuICAgIE9iamVjdElEOiBhbnk7XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIERpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkczogQXJyYXk8VUlDb250cm9sRmllbGQ+O1xuICAgIENvbHVtbnM6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIE9iamVjdHNEYXRhUm93Q2VsbCB7XG4gICAgQWNjZXNzb3J5Pzogc3RyaW5nO1xuICAgIEFkZGl0aW9uYWxWYWx1ZT86IHN0cmluZztcbiAgICBBcGlOYW1lOiBzdHJpbmc7XG4gICAgQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIEVuYWJsZWQ/OiBib29sZWFuO1xuICAgIEZpZWxkVHlwZTogbnVtYmVyO1xuICAgIEZvcm1hdHRlZFZhbHVlOiBhbnk7XG4gICAgR3JvdXBGaWVsZHM/OiBBcnJheTxPYmplY3RzRGF0YVJvd0NlbGw+O1xuICAgIEhpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICBOb3RpZmljYXRpb25JbmZvPzogc3RyaW5nO1xuICAgIE9wdGlvbmFsVmFsdWVzPzogQXJyYXk8S2V5VmFsdWVQYWlyPHN0cmluZz4+O1xuICAgIFJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZT86IHN0cmluZztcbiAgICBSZWZlcmVuY2VPYmplY3RTdWJUeXBlPzogc3RyaW5nO1xuICAgIFJlZmVyZW5jZU9iamVjdFR5cGU/OiBzdHJpbmc7XG4gICAgVGV4dENvbG9yPzogc3RyaW5nO1xuICAgIFVpUGFnZUtleT86IHN0cmluZztcbiAgICAvLyBUeXBlPzogc3RyaW5nOyAvLyBUaGlzIGlzIGluIHRoZSBvYmplY3Q/P1xuICAgIFZhbHVlOiBhbnk7XG4gICAgVmlzaWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBPYmplY3RzRGF0YVJvdyB7XG4gICAgQWRkaXRpb25hbERhdGE/OiBhbnk7XG4gICAgQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICAgIEV4dHJhSW5mbz86IEFycmF5PHsgS2V5OiBzdHJpbmc7IFZhbHVlOiBzdHJpbmcgfT47XG4gICAgRmllbGRzOiBBcnJheTxPYmplY3RzRGF0YVJvd0NlbGw+O1xuICAgIElzRWRpdGFibGUgPSB0cnVlO1xuICAgIElzU2VsZWN0YWJsZUZvckFjdGlvbnMgPSB0cnVlO1xuICAgIE1haW5BY3Rpb24/OiBzdHJpbmc7XG4gICAgUHJvZmlsZT86IGFueTtcbiAgICBUeXBlOiBudW1iZXI7XG4gICAgVUlEOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBPYmplY3RTaW5nbGVEYXRhIHtcbiAgICBEYXRhOiBPYmplY3RzRGF0YVJvdztcbiAgICBFcnJvckNvZGU6IHN0cmluZztcbiAgICBFcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgICBJc0VkaXRhYmxlOiBib29sZWFuO1xuICAgIFN1Y2Nlc3M6IGJvb2xlYW47XG4gICAgVHlwZTogc3RyaW5nO1xuICAgIFVJQ29udHJvbDogVUlDb250cm9sO1xuXG4gICAgY29uc3RydWN0b3IodWlDb250cm9sOiBVSUNvbnRyb2wgPSBudWxsLCBkYXRhOiBPYmplY3RzRGF0YVJvdyA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5TdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgdGhpcy5UeXBlID0gJyc7XG5cbiAgICAgICAgdGhpcy5VSUNvbnRyb2wgPSB1aUNvbnRyb2w7XG4gICAgICAgIHRoaXMuRGF0YSA9IGRhdGE7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT2JqZWN0c0RhdGEge1xuICAgIERhdGVGaWx0ZXI/OiBzdHJpbmc7XG4gICAgRXJyb3JDb2RlOiBzdHJpbmc7XG4gICAgRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gICAgUm93czogQXJyYXk8T2JqZWN0c0RhdGFSb3c+O1xuICAgIFNlYXJjaENvZGU/OiBzdHJpbmc7XG4gICAgU2VjU21hcnRTZWFyY2hMaXN0PzogW107XG4gICAgU21hcnRTZWFyY2hMaXN0OiBBcnJheTxTbWFydFNlYXJjaFJlc3BvbnNlPjtcbiAgICBTdWNjZXNzOiBib29sZWFuO1xuICAgIFRvdGFsUm93czogbnVtYmVyO1xuICAgIFVJQ29udHJvbDogVUlDb250cm9sO1xuICAgIC8vIEFsbFJvd3M6IEFycmF5PE9iamVjdHNEYXRhUm93PjtcbiAgICAvLyBUb3RhbEFtb3VudDogYW55O1xuICAgIC8vIEN1cnJlbmN5U3ltYm9sOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5FcnJvck1lc3NhZ2UgPSAnJztcbiAgICAgICAgdGhpcy5TdWNjZXNzID0gdHJ1ZTtcbiAgICAgICAgLy8gdGhpcy5Ub3RhbEFtb3VudCA9ICcwJztcbiAgICAgICAgLy8gdGhpcy5DdXJyZW5jeVN5bWJvbCA9ICckJztcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTbWFydFNlYXJjaFZhbHVlcyB7XG4gICAgQXBpTmFtZTogc3RyaW5nO1xuICAgIENvbXBhcmlzb25UeXBlOiBzdHJpbmc7XG4gICAgVmFsdWU6IHN0cmluZztcbiAgICBWYWx1ZVJhbmdlOiB7IFN0YXJ0OiBzdHJpbmc7IEVuZDogc3RyaW5nIH07XG4gICAgVmFsdWVzOiBBcnJheTxzdHJpbmc+O1xufVxuXG5leHBvcnQgY2xhc3MgU21hcnRTZWFyY2hSZXNwb25zZSB7XG4gICAgQXBpTmFtZTogc3RyaW5nO1xuICAgIEZpZWxkVHlwZTogYW55O1xuICAgIFRpdGxlOiBzdHJpbmc7XG4gICAgVmFsdWVzOiBBcnJheTxLZXlWYWx1ZVBhaXI8c3RyaW5nPj47XG4gICAgU21hcnRTZWFyY2hEYXRhOiBTbWFydFNlYXJjaFZhbHVlcztcbn1cblxuZXhwb3J0IGNsYXNzIEtleVZhbHVlUGFpcjxUPiB7XG4gICAgS2V5OiBzdHJpbmc7XG4gICAgVmFsdWU6IFQ7XG59XG4iXX0=
@@ -42,7 +42,7 @@ export class PepUtilitiesService {
42
42
  const year = Number(dateText[0]);
43
43
  const month = Number(dateText[1]) - 1;
44
44
  const day = Number(dateText[2]);
45
- retVal = new Date(year, month, day);
45
+ retVal = new Date(year, month, day, 0, retVal.getTimezoneOffset() * -1);
46
46
  }
47
47
  }
48
48
  }
@@ -140,4 +140,4 @@ PepUtilitiesService.decorators = [
140
140
  PepUtilitiesService.ctorParameters = () => [
141
141
  { type: TranslateService, decorators: [{ type: Optional }] }
142
142
  ];
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFJNUIsWUFBZ0MsWUFBOEIsSUFBSTs7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxxQkFBcUIsRUFBRSxLQUFJLE9BQU8sQ0FBQztRQUNsRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZELHFCQUFxQixFQUFFLENBQUM7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUN6RCxrQ0FBa0M7UUFDbEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxHQUFHLEVBQUU7WUFDcEMscUVBQXFFO1lBQ3JFLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN2RTtRQUVELE9BQU8sS0FBSyxDQUFD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RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQ3pDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFDMUIsSUFBSSxDQUNQLENBQUM7UUFFRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsS0FBVSxFQUFFLGFBQWEsR0FBRyxDQUFDO1FBQzlDLG1EQUFtRDtRQUNuRCxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNDLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Ozs7WUFuS0osVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFKUSxnQkFBZ0IsdUJBU1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcFV0aWxpdGllc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgbnVtYmVyRm9ybWF0dGVyOiBJbnRsLk51bWJlckZvcm1hdDtcbiAgICBwcml2YXRlIGN1bHR1cmUgPSAnZW4tVVMnO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UgPSBudWxsKSB7XG4gICAgICAgIHRoaXMuY3VsdHVyZSA9IHRoaXMudHJhbnNsYXRlPy5nZXRCcm93c2VyQ3VsdHVyZUxhbmcoKSB8fCAnZW4tVVMnO1xuICAgICAgICB0aGlzLm51bWJlckZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmN1bHR1cmUsIHtcbiAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKHZhbHVlOiBzdHJpbmcsIHJldmVyc2UgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIC8vIElmIHRoZSBkZWNpbWFsIHNlcGFyYXRvciBpcyAnLCdcbiAgICAgICAgaWYgKHRoaXMuZ2V0RGVjaW1hbFNlcGFyYXRvcigpID09PSAnLCcpIHtcbiAgICAgICAgICAgIC8vIElmIHJldmVyc2UgY2hhbmdlIHRoZSBudW1iZXIgZnJvbSAnLicgdG8gJywnIGVsc2UgZG8gdGhlIG9wcG9zaXRlLlxuICAgICAgICAgICAgdmFsdWUgPSByZXZlcnNlID8gdmFsdWUucmVwbGFjZSgnLicsICcsJykgOiB2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlY2ltYWxTZXBhcmF0b3IoKSB7XG4gICAgICAgIGNvbnN0IG51bWJlcldpdGhEZWNpbWFsU2VwYXJhdG9yID0gMS4xO1xuXG4gICAgICAgIHJldHVybiBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvclxuICAgICAgICAgICAgLnRvTG9jYWxlU3RyaW5nKHRoaXMuY3VsdHVyZSlcbiAgICAgICAgICAgIC5zdWJzdHJpbmcoMSwgMik7XG4gICAgfVxuXG4gICAgcGFyc2VEYXRlKGRhdGVTdHI6IHN0cmluZywgc2hvd1RpbWUgPSBmYWxzZSk6IERhdGUge1xuICAgICAgICBsZXQgcmV0VmFsOiBEYXRlID0gbnVsbDtcbiAgICAgICAgaWYgKGRhdGVTdHIgIT09ICcnKSB7XG4gICAgICAgICAgICByZXRWYWwgPSBuZXcgRGF0ZShkYXRlU3RyKTtcblxuICAgICAgICAgICAgLy8gQ29udmVydCB0byBkYXRlIHdpdGggbm8gb2Zmc2V0LlxuICAgICAgICAgICAgaWYgKCFzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZGF0ZVN0ci5pbmRleE9mKCdUJyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVTdHIgPSBkYXRlU3RyLnN1YnN0cmluZygwLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRleHQgPSBkYXRlU3RyLnNwbGl0KCctJyk7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGVUZXh0Lmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB5ZWFyID0gTnVtYmVyKGRhdGVUZXh0WzBdKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSBOdW1iZXIoZGF0ZVRleHRbMV0pIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5ID0gTnVtYmVyKGRhdGVUZXh0WzJdKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXRWYWwgJiYgaXNOYU4ocmV0VmFsLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgIHJldFZhbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICBzdHJpbmdpZnlEYXRlKGRhdGU6IERhdGUsIHNob3dUaW1lID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTsgLy8gaW5jbHVkZSAtIG9mZnNldFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVGV4dCA9IFtdO1xuICAgICAgICAgICAgICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgJy0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICAgICAgICAgICAgICAnLScsXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZVRleHQuam9pbignJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiAoZGF0ZSkge1xuICAgICAgICAvLyAgICAgY29uc3QgZGF0ZVRleHQgPSBbXTtcbiAgICAgICAgLy8gICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgIC8vICAgICAgICAgZGF0ZS5nZXRGdWxsWWVhcigpLFxuICAgICAgICAvLyAgICAgICAgICctJyxcbiAgICAgICAgLy8gICAgICAgICBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICAvLyAgICAgICAgICctJyxcbiAgICAgICAgLy8gICAgICAgICBkYXRlLmdldERhdGUoKVxuICAgICAgICAvLyAgICAgKTtcblxuICAgICAgICAvLyAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgIC8vICAgICAgICAgZGF0ZVRleHQucHVzaChcbiAgICAgICAgLy8gICAgICAgICAgICAgJ1QnLFxuICAgICAgICAvLyAgICAgICAgICAgICAoZGF0ZS5nZXRIb3VycygpIDwgMTAgPyAnMCcgOiAnJykgKyBkYXRlLmdldEhvdXJzKCksXG4gICAgICAgIC8vICAgICAgICAgICAgICc6JyxcbiAgICAgICAgLy8gICAgICAgICAgICAgKGRhdGUuZ2V0TWludXRlcygpIDwgMTAgPyAnMCcgOiAnJykgKyBkYXRlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgLy8gICAgICAgICAgICAgJzonLFxuICAgICAgICAvLyAgICAgICAgICAgICAoZGF0ZS5nZXRTZWNvbmRzKCkgPCAxMCA/ICcwJyA6ICcnKSArIGRhdGUuZ2V0U2Vjb25kcygpLFxuICAgICAgICAvLyAgICAgICAgICAgICAnWidcbiAgICAgICAgLy8gICAgICAgICApO1xuICAgICAgICAvLyAgICAgfVxuXG4gICAgICAgIC8vICAgICByZXR1cm4gZGF0ZVRleHQuam9pbignJyk7XG4gICAgICAgIC8vIH0gZWxzZSB7XG4gICAgICAgIC8vICAgICByZXR1cm4gJyc7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICBpc1ZhbHVlSHRtbCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCByZXMgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgUkVHRVhQID0gLzxcXC8/W2Etel1bXFxzXFxTXSo+L2k7XG4gICAgICAgIHJlcyA9IFJFR0VYUC50ZXN0KHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGlzSnNvblN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShzdHIpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0U3ZnRWxlbWVudEZyb21TdHJpbmcoZG9jdW1lbnQsIHN2Z0NvbnRlbnQ6IHN0cmluZyk6IFNWR0VsZW1lbnQge1xuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcbiAgICAgICAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQ7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBkaXYucXVlcnlTZWxlY3Rvcignc3ZnJykgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncGF0aCcpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZm9ybWF0TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyRm9ybWF0dGVyLmZvcm1hdChudW1iZXIpO1xuICAgIH1cblxuICAgIGluY3JlbWVudE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG51bWJlclZhbHVlID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG5ld051bWJlciA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcihcbiAgICAgICAgICAgICgrK251bWJlclZhbHVlKS50b1N0cmluZygpLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuZXdOdW1iZXI7XG4gICAgfVxuXG4gICAgZGVjcmVtZW50TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbnVtYmVyVmFsdWUgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyID0gdGhpcy5jaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKFxuICAgICAgICAgICAgKC0tbnVtYmVyVmFsdWUpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5ld051bWJlcjtcbiAgICB9XG5cbiAgICBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZTogYW55LCBmYWxsYmFja1ZhbHVlID0gMCk6IG51bWJlciB7XG4gICAgICAgIC8vIElmIHRoZSBkZWNpbWFsIHNlcGFyYXRvciBpcyAnLCcgY2hhbmdlIGl0IHRvICcuJ1xuICAgICAgICB2YWx1ZSA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBmYWxsYmFja1ZhbHVlKTtcbiAgICB9XG59XG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFJNUIsWUFBZ0MsWUFBOEIsSUFBSTs7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxxQkFBcUIsRUFBRSxLQUFJLE9BQU8sQ0FBQztRQUNsRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZELHFCQUFxQixFQUFFLENBQUM7U0FDM0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUN6RCxrQ0FBa0M7UUFDbEMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxHQUFHLEVBQUU7WUFDcEMscUVBQXFFO1lBQ3JFLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN2RTtRQUVELE9BQU8sS0FBSyxDQUFD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LFdBQVcsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUN6QyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQzFCLElBQUksQ0FDUCxDQUFDO1FBRUYsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQVUsRUFBRSxhQUFhLEdBQUcsQ0FBQztRQUM5QyxtREFBbUQ7UUFDbkQsS0FBSyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQyxPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7O1lBbktKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBSlEsZ0JBQWdCLHVCQVNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBVdGlsaXRpZXNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIG51bWJlckZvcm1hdHRlcjogSW50bC5OdW1iZXJGb3JtYXQ7XG4gICAgcHJpdmF0ZSBjdWx0dXJlID0gJ2VuLVVTJztcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlID0gbnVsbCkge1xuICAgICAgICB0aGlzLmN1bHR1cmUgPSB0aGlzLnRyYW5zbGF0ZT8uZ2V0QnJvd3NlckN1bHR1cmVMYW5nKCkgfHwgJ2VuLVVTJztcbiAgICAgICAgdGhpcy5udW1iZXJGb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCB7XG4gICAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZTogc3RyaW5nLCByZXZlcnNlID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICAvLyBJZiB0aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgJywnXG4gICAgICAgIGlmICh0aGlzLmdldERlY2ltYWxTZXBhcmF0b3IoKSA9PT0gJywnKSB7XG4gICAgICAgICAgICAvLyBJZiByZXZlcnNlIGNoYW5nZSB0aGUgbnVtYmVyIGZyb20gJy4nIHRvICcsJyBlbHNlIGRvIHRoZSBvcHBvc2l0ZS5cbiAgICAgICAgICAgIHZhbHVlID0gcmV2ZXJzZSA/IHZhbHVlLnJlcGxhY2UoJy4nLCAnLCcpIDogdmFsdWUucmVwbGFjZSgnLCcsICcuJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWNpbWFsU2VwYXJhdG9yKCkge1xuICAgICAgICBjb25zdCBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvciA9IDEuMTtcblxuICAgICAgICByZXR1cm4gbnVtYmVyV2l0aERlY2ltYWxTZXBhcmF0b3JcbiAgICAgICAgICAgIC50b0xvY2FsZVN0cmluZyh0aGlzLmN1bHR1cmUpXG4gICAgICAgICAgICAuc3Vic3RyaW5nKDEsIDIpO1xuICAgIH1cblxuICAgIHBhcnNlRGF0ZShkYXRlU3RyOiBzdHJpbmcsIHNob3dUaW1lID0gZmFsc2UpOiBEYXRlIHtcbiAgICAgICAgbGV0IHJldFZhbDogRGF0ZSA9IG51bGw7XG4gICAgICAgIGlmIChkYXRlU3RyICE9PSAnJykge1xuICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoZGF0ZVN0cik7XG5cbiAgICAgICAgICAgIC8vIENvbnZlcnQgdG8gZGF0ZSB3aXRoIG5vIG9mZnNldC5cbiAgICAgICAgICAgIGlmICghc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGRhdGVTdHIuaW5kZXhPZignVCcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlU3RyID0gZGF0ZVN0ci5zdWJzdHJpbmcoMCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVUZXh0ID0gZGF0ZVN0ci5zcGxpdCgnLScpO1xuICAgICAgICAgICAgICAgIGlmIChkYXRlVGV4dC5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeWVhciA9IE51bWJlcihkYXRlVGV4dFswXSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vbnRoID0gTnVtYmVyKGRhdGVUZXh0WzFdKSAtIDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRheSA9IE51bWJlcihkYXRlVGV4dFsyXSk7XG4gICAgICAgICAgICAgICAgICAgIHJldFZhbCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXksIDAsIHJldFZhbC5nZXRUaW1lem9uZU9mZnNldCgpICogLTEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocmV0VmFsICYmIGlzTmFOKHJldFZhbC5nZXRUaW1lKCkpKSB7XG4gICAgICAgICAgICByZXRWYWwgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXRWYWw7XG4gICAgfVxuXG4gICAgc3RyaW5naWZ5RGF0ZShkYXRlOiBEYXRlLCBzaG93VGltZSA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7IC8vIGluY2x1ZGUgLSBvZmZzZXRcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRleHQgPSBbXTtcbiAgICAgICAgICAgICAgICBkYXRlVGV4dC5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgICAgICAgICAgICctJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgICAgICAgICAgICAgICAgJy0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldERhdGUoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVUZXh0LmpvaW4oJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaWYgKGRhdGUpIHtcbiAgICAgICAgLy8gICAgIGNvbnN0IGRhdGVUZXh0ID0gW107XG4gICAgICAgIC8vICAgICBkYXRlVGV4dC5wdXNoKFxuICAgICAgICAvLyAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgLy8gICAgICAgICAnLScsXG4gICAgICAgIC8vICAgICAgICAgZGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgICAgLy8gICAgICAgICAnLScsXG4gICAgICAgIC8vICAgICAgICAgZGF0ZS5nZXREYXRlKClcbiAgICAgICAgLy8gICAgICk7XG5cbiAgICAgICAgLy8gICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAvLyAgICAgICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgIC8vICAgICAgICAgICAgICdUJyxcbiAgICAgICAgLy8gICAgICAgICAgICAgKGRhdGUuZ2V0SG91cnMoKSA8IDEwID8gJzAnIDogJycpICsgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAvLyAgICAgICAgICAgICAnOicsXG4gICAgICAgIC8vICAgICAgICAgICAgIChkYXRlLmdldE1pbnV0ZXMoKSA8IDEwID8gJzAnIDogJycpICsgZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICAgIC8vICAgICAgICAgICAgICc6JyxcbiAgICAgICAgLy8gICAgICAgICAgICAgKGRhdGUuZ2V0U2Vjb25kcygpIDwgMTAgPyAnMCcgOiAnJykgKyBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgLy8gICAgICAgICAgICAgJ1onXG4gICAgICAgIC8vICAgICAgICAgKTtcbiAgICAgICAgLy8gICAgIH1cblxuICAgICAgICAvLyAgICAgcmV0dXJuIGRhdGVUZXh0LmpvaW4oJycpO1xuICAgICAgICAvLyB9IGVsc2Uge1xuICAgICAgICAvLyAgICAgcmV0dXJuICcnO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgaXNWYWx1ZUh0bWwodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgcmVzID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IFJFR0VYUCA9IC88XFwvP1thLXpdW1xcc1xcU10qPi9pO1xuICAgICAgICByZXMgPSBSRUdFWFAudGVzdCh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBpc0pzb25TdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIEpTT04ucGFyc2Uoc3RyKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldFN2Z0VsZW1lbnRGcm9tU3RyaW5nKGRvY3VtZW50LCBzdmdDb250ZW50OiBzdHJpbmcpOiBTVkdFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnRElWJyk7XG4gICAgICAgIGRpdi5pbm5lckhUTUwgPSBzdmdDb250ZW50O1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgZGl2LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpIHx8XG4gICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3BhdGgnKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlckZvcm1hdHRlci5mb3JtYXQobnVtYmVyKTtcbiAgICB9XG5cbiAgICBpbmNyZW1lbnROdW1iZXIodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBudW1iZXJWYWx1ZSA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IoXG4gICAgICAgICAgICAoKytudW1iZXJWYWx1ZSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbmV3TnVtYmVyO1xuICAgIH1cblxuICAgIGRlY3JlbWVudE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG51bWJlclZhbHVlID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG5ld051bWJlciA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcihcbiAgICAgICAgICAgICgtLW51bWJlclZhbHVlKS50b1N0cmluZygpLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuZXdOdW1iZXI7XG4gICAgfVxuXG4gICAgY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWU6IGFueSwgZmFsbGJhY2tWYWx1ZSA9IDApOiBudW1iZXIge1xuICAgICAgICAvLyBJZiB0aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgJywnIGNoYW5nZSBpdCB0byAnLidcbiAgICAgICAgdmFsdWUgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgZmFsbGJhY2tWYWx1ZSk7XG4gICAgfVxufVxuIl19
@@ -248,6 +248,18 @@ export class PepInternalPageField extends PepFieldBase {
248
248
  this.searchCode = options.searchCode || '';
249
249
  }
250
250
  }
251
+ export class PepInternalCaruselField extends PepFieldBase {
252
+ constructor(options = {}) {
253
+ super(options);
254
+ this.controlType = 'internalCarusel';
255
+ this.objectId = '';
256
+ // parentId = '';
257
+ this.searchCode = '';
258
+ this.objectId = options.objectId || '';
259
+ // this.parentId = options.parentId || '';
260
+ this.searchCode = options.searchCode || '';
261
+ }
262
+ }
251
263
  export class PepInternalMenuField extends PepFieldBase {
252
264
  // hasSubMenu: boolean = false;
253
265
  constructor(options = {}) {
@@ -258,4 +270,4 @@ export class PepInternalMenuField extends PepFieldBase {
258
270
  // this.hasSubMenu = options['hasSubMenu'];
259
271
  }
260
272
  }
261
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9taXphdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY3VzdG9taXphdGlvbi9jdXN0b21pemF0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWdCekQsb0NBQW9DO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUEyQixNQUFNLENBQUM7QUFJM0Usb0NBQW9DO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUF5QixLQUFLLENBQUM7QUFvQ3RFLE1BQU0sT0FBTyxZQUFZO0lBMkJyQix1QkFBdUI7SUFFdkIsWUFBWSxVQUFnQyxFQUFFOztRQUMxQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRXJDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxPQUFPLENBQUMsS0FBSyxtQ0FBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBQSxPQUFPLENBQUMs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SiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKiogQWxsb3dlZCBsYXlvdXQgb3B0aW9ucyAqL1xuZXhwb3J0IHR5cGUgUGVwTGF5b3V0VHlwZSA9ICdmb3JtJyB8ICdjYXJkJyB8ICd0YWJsZSc7XG5cbi8qKiBBbGxvd2VkIHN0eWxlIG9wdGlvbnMgKi9cbmV4cG9ydCB0eXBlIFBlcFN0eWxlVHlwZSA9ICd3ZWFrJyB8ICd3ZWFrLWludmVydCcgfCAncmVndWxhcicgfCAnc3Ryb25nJztcblxuLyoqIEFsbG93ZWQgc3R5bGUgc3RhdGUgb3B0aW9ucyAqL1xuZXhwb3J0IHR5cGUgUGVwU3R5bGVTdGF0ZVR5cGUgPSAnc3lzdGVtJyB8ICdjYXV0aW9uJyB8ICdzdWNjZXNzJztcblxuLyoqIEFsbG93ZWQgc2l6ZSBvcHRpb25zICovXG5leHBvcnQgdHlwZSBQZXBTaXplVHlwZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuXG4vKiogQWxsb3dlZCBob3Jpem9udGFsIGFsaWdubWVudCBvcHRpb25zICovXG5leHBvcnQgdHlwZSBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuLyoqIERlZmF1bHQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9ICdsZWZ0JztcblxuLyoqIEFsbG93ZWQgdmVydGljYWwgYWxpZ25tZW50IG9wdGlvbnMgKi9cbmV4cG9ydCB0eXBlIFBlcFZlcnRpY2FsQWxpZ25tZW50ID0gJ3RvcCcgfCAnbWlkZGxlJyB8ICdib3R0b20nO1xuLyoqIERlZmF1bHQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9WRVJUSUNBTF9BTElHTk1FTlQ6IFBlcFZlcnRpY2FsQWxpZ25tZW50ID0gJ3RvcCc7XG5leHBvcnQgaW50ZXJmYWNlIElQZXBPcHRpb24ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8vIGV4cG9ydCB0eXBlIFBlcEZpZWxkQmFzZVR5cGUgPSAnJyB8IFBlcEludGVybmFsQnV0dG9uRmllbGRUeXBlIHwgUGVwVGV4dGJveEZpZWxkVHlwZSB8XG4vLyAgICAgUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkVHlwZSB8IFBlcERhdGVGaWVsZFR5cGUgfCBQZXBDaGVja2JveEZpZWxkVHlwZSB8IFBlcFNlbGVjdEZpZWxkVHlwZTtcbmludGVyZmFjZSBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgdmFsdWU/OiBhbnk7XG4gICAgZm9ybWF0dGVkVmFsdWU/OiBhbnk7XG4gICAgYWRkaXRpb25hbFZhbHVlPzogc3RyaW5nO1xuICAgIGtleT86IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBhY2Nlc3Nvcnk/OiBzdHJpbmc7XG4gICAgbWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIGNvbnRyb2xUeXBlPzogc3RyaW5nO1xuICAgIC8vIHR5cGU/OiBQZXBGaWVsZEJhc2VUeXBlO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGhpZGRlbj86IGJvb2xlYW47XG4gICAgcm93PzogbnVtYmVyO1xuICAgIHJvd1NwYW4/OiBudW1iZXI7XG4gICAgY29sPzogbnVtYmVyO1xuICAgIGNvbFNwYW4/OiBudW1iZXI7XG4gICAgeEFsaWdubWVudD86IFBlcEhvcml6b250YWxBbGlnbm1lbnQ7XG4gICAgeUFsaWdubWVudD86IFBlcFZlcnRpY2FsQWxpZ25tZW50O1xuICAgIG1heEZpZWxkQ2hhcmFjdGVycz86IG51bWJlcjtcbiAgICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgdmlzaWJsZT86IGJvb2xlYW47XG4gICAgLy8gbGFzdEZvY3VzRmllbGQ/OiBhbnk7XG59XG5leHBvcnQgY2xhc3MgUGVwRmllbGRCYXNlIHtcbiAgICB2YWx1ZTogYW55O1xuICAgIGZvcm1hdHRlZFZhbHVlOiBhbnk7XG4gICAgYWRkaXRpb25hbFZhbHVlOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBhY2Nlc3Nvcnk6IHN0cmluZztcbiAgICBtYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgb3JkZXI6IG51bWJlcjtcbiAgICAvLyB0eXBlOiBzdHJpbmc7XG4gICAgY29udHJvbFR5cGU6IHN0cmluZztcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIGhpZGRlbjogYm9vbGVhbjtcbiAgICByb3c6IG51bWJlcjtcbiAgICByb3dTcGFuOiBudW1iZXI7XG4gICAgY29sOiBudW1iZXI7XG4gICAgY29sU3BhbjogbnVtYmVyO1xuICAgIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQ7XG4gICAgeUFsaWdubWVudDogUGVwVmVydGljYWxBbGlnbm1lbnQ7XG4gICAgZ3JvdXBGaWVsZHM6IFBlcEZpZWxkQmFzZVtdO1xuICAgIG1heEZpZWxkQ2hhcmFjdGVyczogbnVtYmVyO1xuICAgIG1pblZhbHVlOiBudW1iZXI7XG4gICAgbWF4VmFsdWU6IG51bWJlcjtcbiAgICB0ZXh0Q29sb3I6IHN0cmluZztcbiAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgIC8vIGxhc3RGb2N1c0ZpZWxkOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHRoaXMua2V5ID0gb3B0aW9ucy5rZXkgfHwgJyc7XG4gICAgICAgIHRoaXMubGFiZWwgPSBvcHRpb25zLmxhYmVsIHx8ICcnO1xuICAgICAgICB0aGlzLmFjY2Vzc29yeSA9IG9wdGlvbnMuYWNjZXNzb3J5IHx8ICcnO1xuICAgICAgICB0aGlzLm1hbmRhdG9yeSA9ICEhb3B0aW9ucy5tYW5kYXRvcnk7XG5cbiAgICAgICAgdGhpcy5vcmRlciA9IG9wdGlvbnMub3JkZXIgPz8gMTtcbiAgICAgICAgdGhpcy5jb250cm9sVHlwZSA9IG9wdGlvbnMuY29udHJvbFR5cGUgfHwgJyc7XG4gICAgICAgIC8vIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZSB8fCAnJztcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IG9wdGlvbnMucGxhY2Vob2xkZXIgfHwgJyc7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gISFvcHRpb25zLmhpZGRlbjtcblxuICAgICAgICB0aGlzLnJvdyA9IG9wdGlvbnMucm93ID8/IDE7XG4gICAgICAgIHRoaXMucm93U3BhbiA9IG9wdGlvbnMucm93U3BhbiA/PyAxO1xuICAgICAgICB0aGlzLmNvbCA9IG9wdGlvbnMuY29sID8/IDE7XG4gICAgICAgIHRoaXMuY29sU3BhbiA9IG9wdGlvbnMuY29sU3BhbiA/PyAxO1xuXG4gICAgICAgIHRoaXMueEFsaWdubWVudCA9IG9wdGlvbnMueEFsaWdubWVudCA/PyBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgICAgICB0aGlzLnlBbGlnbm1lbnQgPSBvcHRpb25zLnlBbGlnbm1lbnQgPz8gREVGQVVMVF9WRVJUSUNBTF9BTElHTk1FTlQ7XG5cbiAgICAgICAgdGhpcy5tYXhGaWVsZENoYXJhY3RlcnMgPSBvcHRpb25zLm1heEZpZWxkQ2hhcmFjdGVycyA/PyAwO1xuICAgICAgICB0aGlzLm1pblZhbHVlID0gb3B0aW9ucy5taW5WYWx1ZSA/PyAwO1xuICAgICAgICB0aGlzLm1heFZhbHVlID0gb3B0aW9ucy5tYXhWYWx1ZSA/PyAwO1xuXG4gICAgICAgIHRoaXMudXBkYXRlKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRCYXNlVmFsaWRhdG9ycyhpc0NoZWNrYm94ID0gZmFsc2UpOiBWYWxpZGF0b3JGbltdIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLm1hbmRhdG9yeSAmJiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKGlzQ2hlY2tib3gpIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1heEZpZWxkQ2hhcmFjdGVycyA+IDApIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heEZpZWxkQ2hhcmFjdGVycykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSB0aGlzLmdldEJhc2VWYWxpZGF0b3JzKCk7XG4gICAgICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGUob3B0aW9uczogSVBlcEZpZWxkQmFzZU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMudmFsdWU7XG4gICAgICAgIHRoaXMuZm9ybWF0dGVkVmFsdWUgPSBvcHRpb25zLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxWYWx1ZSA9IG9wdGlvbnMuYWRkaXRpb25hbFZhbHVlO1xuXG4gICAgICAgIHRoaXMucmVhZG9ubHkgPSAhIW9wdGlvbnMucmVhZG9ubHk7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSAhIW9wdGlvbnMuZGlzYWJsZWQ7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9ICEhb3B0aW9ucy52aXNpYmxlO1xuICAgICAgICB0aGlzLnRleHRDb2xvciA9IG9wdGlvbnMudGV4dENvbG9yIHx8ICcnO1xuICAgICAgICAvLyB0aGlzLmxhc3RGb2N1c0ZpZWxkID0gb3B0aW9ucy5sYXN0Rm9jdXNGaWVsZCB8fCBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcFBsYWNlaG9sZGVyRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3BsYWNlaG9sZGVyJztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBGaWVsZEJhc2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGVwU2VwYXJhdG9yRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3NlcGFyYXRvcic7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcEF0dGFjaG1lbnRGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnYXR0YWNobWVudCc7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcEluZGljYXRvcnNGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnaW5kaWNhdG9ycyc7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUGVwVGV4dGJveEZpZWxkVHlwZSA9XG4gICAgfCAndGV4dCdcbiAgICB8ICdsaW5rJ1xuICAgIHwgJ2VtYWlsJ1xuICAgIHwgJ3Bob25lJ1xuICAgIHwgJ2R1cmF0aW9uJ1xuICAgIHwgJ2ludCdcbiAgICB8ICdwZXJjZW50YWdlJ1xuICAgIHwgJ2N1cnJlbmN5J1xuICAgIHwgJ3JlYWwnO1xuaW50ZXJmYWNlIElQZXBUZXh0Ym94RmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIHR5cGU/OiBQZXBUZXh0Ym94RmllbGRUeXBlO1xufVxuZXhwb3J0IGNsYXNzIFBlcFRleHRib3hGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAndGV4dGJveCc7XG4gICAgdHlwZTogUGVwVGV4dGJveEZpZWxkVHlwZSA9ICd0ZXh0JztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBUZXh0Ym94RmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICd0ZXh0JztcblxuICAgICAgICB0aGlzLnVwZGF0ZShvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlKG9wdGlvbnM6IElQZXBUZXh0Ym94RmllbGRPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZShvcHRpb25zKTtcblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbGluaycpIHtcbiAgICAgICAgICAgIC8vIERJLTExMjkyIC0gYWRkIGNoYW5nZXMgZm9yIGxpbmsgZmllbGQgZm9yIHRoZSBcIlJlYWQgT25seSBkaXNwbGF5IHZhbHVlXCIgcHJvcFxuICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmZvcm1hdHRlZFZhbHVlICYmIHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWYWxpZGF0b3JzKCk6IFZhbGlkYXRvckZuW10ge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzID0gc3VwZXIuZ2V0QmFzZVZhbGlkYXRvcnMoKTtcblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnZW1haWwnKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFxuICAgICAgICAgICAgICAgICAgICAvXigoW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKFxcW1swLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31dKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkL1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAncGhvbmUnKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW1xcZFxcLlxcLVxcK1xcKFxcKVxcKlxcI10rJC8pKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdpbnQnIHx8IHRoaXMudHlwZSA9PT0gJ3JlYWwnKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW1xcLixcXC1cXCtcXGRdKyQvKSk7XG5cbiAgICAgICAgICAgIGlmICghaXNOYU4odGhpcy5taW5WYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5taW5WYWx1ZSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWlzTmFOKHRoaXMubWF4VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4KHRoaXMubWF4VmFsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcFRleHRhcmVhRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3RleHRhcmVhJztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBGaWVsZEJhc2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIC8vIHRoaXMudHlwZSA9ICd0ZXh0YXJlYSc7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGVwUmljaEh0bWxUZXh0YXJlYUZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdyaWNoaHRtbHRleHRhcmVhJztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBGaWVsZEJhc2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIC8vIHRoaXMudHlwZSA9ICdyaWNoaHRtbHRleHRhcmVhJztcbiAgICB9XG59XG5cbmludGVyZmFjZSBJUGVwU2lnbmF0dXJlRmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIG9wdGlvbnM/OiBJUGVwT3B0aW9uW107XG59XG5leHBvcnQgY2xhc3MgUGVwU2lnbmF0dXJlRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3NpZ25hdHVyZSc7XG4gICAgb3B0aW9uczogSVBlcE9wdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwU2lnbmF0dXJlRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBJUGVwSW1hZ2VGaWVsZE9wdGlvbnMgZXh0ZW5kcyBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgaGFzQ2FtcGFpZ25GaWVsZD86IGFueTtcbiAgICBpbmRpY2F0b3JzRmllbGQ/OiBhbnk7XG4gICAgbWVudUZpZWxkPzogYW55O1xuICAgIG9wdGlvbnM/OiBJUGVwT3B0aW9uW107XG4gICAgc2l6ZUxpbWl0TUI/OiBudW1iZXI7XG59XG5leHBvcnQgY2xhc3MgUGVwSW1hZ2VGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnaW1hZ2UnO1xuICAgIGhhc0NhbXBhaWduRmllbGQgPSBudWxsO1xuICAgIGluZGljYXRvcnNGaWVsZCA9IG51bGw7XG4gICAgbWVudUZpZWxkID0gbnVsbDtcbiAgICBvcHRpb25zOiBJUGVwT3B0aW9uW10gPSBbXTtcbiAgICBzaXplTGltaXRNQiA9IDU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwSW1hZ2VGaWVsZE9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5oYXNDYW1wYWlnbkZpZWxkID0gb3B0aW9ucy5oYXNDYW1wYWlnbkZpZWxkIHx8IG51bGw7XG4gICAgICAgIHRoaXMuaW5kaWNhdG9yc0ZpZWxkID0gb3B0aW9ucy5pbmRpY2F0b3JzRmllbGQgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5tZW51RmllbGQgPSBvcHRpb25zLm1lbnVGaWVsZCB8fCBudWxsO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnMgfHwgW107XG4gICAgICAgIHRoaXMuc2l6ZUxpbWl0TUIgPSBvcHRpb25zLnNpemVMaW1pdE1CIHx8IDU7XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgSVBlcEltYWdlc0ZpZWxkT3B0aW9ucyBleHRlbmRzIElQZXBGaWVsZEJhc2VPcHRpb25zIHtcbiAgICBvcHRpb25zPzogSVBlcE9wdGlvbltdO1xufVxuZXhwb3J0IGNsYXNzIFBlcEltYWdlc0ZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdpbWFnZXMnO1xuICAgIG9wdGlvbnM6IElQZXBPcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSVBlcEltYWdlc0ZpZWxkT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnMgfHwgW107XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGRUeXBlID1cbiAgICB8ICdidXR0b24nXG4gICAgfCAncGFja2FnZUJ1dHRvbidcbiAgICB8ICdxcydcbiAgICB8ICdxc0Zvck1hdHJpeCc7XG5pbnRlcmZhY2UgSVBlcFF1YW50aXR5U2VsZWN0b3JGaWVsZE9wdGlvbnMgZXh0ZW5kcyBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgYWxsb3dEZWNpbWFsPzogYm9vbGVhbjtcbiAgICBub3RpZmljYXRpb25JbmZvPzogYW55O1xuICAgIHR5cGU/OiBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGRUeXBlO1xufVxuZXhwb3J0IGNsYXNzIFBlcFF1YW50aXR5U2VsZWN0b3JGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAncXMnO1xuICAgIGFsbG93RGVjaW1hbDogYm9vbGVhbjtcbiAgICBub3RpZmljYXRpb25JbmZvOiBhbnkgPSB7fTtcbiAgICB1cGRhdGVkRGF0YUNvdW50OiBudW1iZXI7XG4gICAgdHlwZTogUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBRdWFudGl0eVNlbGVjdG9yRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVkRGF0YUNvdW50ID0gMDtcbiAgICAgICAgdGhpcy5hbGxvd0RlY2ltYWwgPSBvcHRpb25zLmFsbG93RGVjaW1hbCB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICdxcyc7XG5cbiAgICAgICAgdGhpcy51cGRhdGUob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZShvcHRpb25zOiBJUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBzdXBlci51cGRhdGUob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25JbmZvID0gb3B0aW9ucy5ub3RpZmljYXRpb25JbmZvO1xuICAgICAgICB0aGlzLnVwZGF0ZWREYXRhQ291bnQgKz0gMTtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFBlcERhdGVGaWVsZFR5cGUgPSAnZGF0ZXRpbWUnIHwgJ2RhdGUnO1xuaW50ZXJmYWNlIElQZXBEYXRlRmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIHR5cGU/OiBQZXBEYXRlRmllbGRUeXBlO1xufVxuZXhwb3J0IGNsYXNzIFBlcERhdGVGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnZGF0ZSc7XG4gICAgdHlwZTogUGVwRGF0ZUZpZWxkVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBEYXRlRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICdkYXRlJztcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFBlcENoZWNrYm94RmllbGRUeXBlID0gJ2NoZWNrYm94JyB8ICdib29sZWFuVGV4dCc7XG5pbnRlcmZhY2UgSVBlcENoZWNrYm94RmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIHR5cGU/OiBQZXBDaGVja2JveEZpZWxkVHlwZTtcbn1cbmV4cG9ydCBjbGFzcyBQZXBDaGVja2JveEZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdjaGVja2JveCc7XG4gICAgdHlwZTogUGVwQ2hlY2tib3hGaWVsZFR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwQ2hlY2tib3hGaWVsZE9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcblxuICAgICAgICB0aGlzLnR5cGUgPSBvcHRpb25zLnR5cGUgfHwgJ2NoZWNrYm94JztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHN1cGVyLmdldEJhc2VWYWxpZGF0b3JzKHRydWUpO1xuICAgICAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFBlcFNlbGVjdEZpZWxkVHlwZSA9ICdzZWxlY3QnIHwgJ211bHRpJztcbmludGVyZmFjZSBJUGVwU2VsZWN0RmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIG9wdGlvbnM/OiBJUGVwT3B0aW9uW107XG4gICAgdHlwZT86IFBlcFNlbGVjdEZpZWxkVHlwZTtcbn1cbmV4cG9ydCBjbGFzcyBQZXBTZWxlY3RGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnc2VsZWN0JztcbiAgICBvcHRpb25zOiBJUGVwT3B0aW9uW10gPSBbXTtcbiAgICB0eXBlOiBQZXBTZWxlY3RGaWVsZFR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwU2VsZWN0RmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZSB8fCAnc2VsZWN0JztcblxuICAgICAgICB0aGlzLnVwZGF0ZShvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlKG9wdGlvbnM6IElQZXBTZWxlY3RGaWVsZE9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIudXBkYXRlKG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBJUGVwQWRkcmVzc0ZpZWxkT3B0aW9ucyBleHRlbmRzIElQZXBGaWVsZEJhc2VPcHRpb25zIHtcbiAgICBncm91cEZpZWxkcz86IFBlcEZpZWxkQmFzZVtdO1xufVxuZXhwb3J0IGNsYXNzIFBlcEFkZHJlc3NGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnYWRkcmVzcyc7XG4gICAgZ3JvdXBGaWVsZHM6IFBlcEZpZWxkQmFzZVtdID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBBZGRyZXNzRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMuZ3JvdXBGaWVsZHMgPSBvcHRpb25zLmdyb3VwRmllbGRzIHx8IG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkVHlwZSA9XG4gICAgfCAnYnV0dG9uJ1xuICAgIHwgJ3JlZmVyZW5jZSdcbiAgICB8ICdsaXN0b2ZvYmplY3RzJztcbmludGVyZmFjZSBJUGVwSW50ZXJuYWxCdXR0b25GaWVsZE9wdGlvbnMgZXh0ZW5kcyBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgcmVmZXJlbmNlT2JqZWN0VHlwZT86IGFueTtcbiAgICByZWZlcmVuY2VPYmplY3RTdWJUeXBlPzogc3RyaW5nO1xuICAgIHJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZT86IHN0cmluZztcbiAgICB0eXBlPzogUGVwSW50ZXJuYWxCdXR0b25GaWVsZFR5cGU7XG59XG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxCdXR0b25GaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnYnV0dG9uJztcbiAgICByZWZlcmVuY2VPYmplY3RUeXBlO1xuICAgIHJlZmVyZW5jZU9iamVjdFN1YlR5cGUgPSAnJztcbiAgICByZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGUgPSAnJztcbiAgICB0eXBlOiBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMucmVmZXJlbmNlT2JqZWN0VHlwZSA9IG9wdGlvbnMucmVmZXJlbmNlT2JqZWN0VHlwZSB8fCBudWxsO1xuICAgICAgICB0aGlzLnJlZmVyZW5jZU9iamVjdFN1YlR5cGUgPSBvcHRpb25zLnJlZmVyZW5jZU9iamVjdFN1YlR5cGUgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5yZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGUgPVxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGUgfHwgbnVsbDtcblxuICAgICAgICB0aGlzLnR5cGUgPSBvcHRpb25zLnR5cGUgfHwgJ2J1dHRvbic7XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgSVBlcEludGVybmFsUGFnZUZpZWxkT3B0aW9ucyBleHRlbmRzIElQZXBGaWVsZEJhc2VPcHRpb25zIHtcbiAgICBvYmplY3RJZD86IHN0cmluZztcbiAgICBwYXJlbnRJZD86IHN0cmluZztcbiAgICBzZWFyY2hDb2RlPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFBlcEludGVybmFsUGFnZUZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdpbnRlcm5hbFBhZ2UnO1xuICAgIG9iamVjdElkID0gJyc7XG4gICAgcGFyZW50SWQgPSAnJztcbiAgICBzZWFyY2hDb2RlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwSW50ZXJuYWxQYWdlRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub2JqZWN0SWQgPSBvcHRpb25zLm9iamVjdElkIHx8ICcnO1xuICAgICAgICB0aGlzLnBhcmVudElkID0gb3B0aW9ucy5wYXJlbnRJZCB8fCAnJztcbiAgICAgICAgdGhpcy5zZWFyY2hDb2RlID0gb3B0aW9ucy5zZWFyY2hDb2RlIHx8ICcnO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIElQZXBJbnRlcm5hbE1lbnVGaWVsZE9wdGlvbnMgZXh0ZW5kcyBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgb3B0aW9ucz86IElQZXBPcHRpb25bXTtcbn1cbmV4cG9ydCBjbGFzcyBQZXBJbnRlcm5hbE1lbnVGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnbWVudSc7XG4gICAgb3B0aW9uczogSVBlcE9wdGlvbltdID0gW107XG4gICAgLy8gaGFzU3ViTWVudTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSVBlcEludGVybmFsTWVudUZpZWxkT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnMgfHwgW107XG4gICAgICAgIC8vIHRoaXMuaGFzU3ViTWVudSA9IG9wdGlvbnNbJ2hhc1N1Yk1lbnUnXTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudCB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBjb250cm9sVHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGVwRmllbGRDbGlja0V2ZW50IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBjb250cm9sVHlwZT86IHN0cmluZztcbiAgICBldmVudFdoaWNoPzogYW55O1xuICAgIG90aGVyRGF0YT86IGFueTtcbn1cbiJdfQ==
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9taXphdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc3JjL2NvcmUvY3VzdG9taXphdGlvbi9jdXN0b21pemF0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWdCekQsb0NBQW9DO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUEyQixNQUFNLENBQUM7QUFJM0Usb0NBQW9DO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUF5QixLQUFLLENBQUM7QUFvQ3RFLE1BQU0sT0FBTyxZQUFZO0lBMkJyQix1QkFBdUI7SUFFdkIsWUFBWSxVQUFnQyxFQUFFOztRQUMxQyxJQUFJLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRXJDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBQSxPQUFPLENBQUMsS0FBSyxtQ0FBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxrQ0FBa0M7UUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBRS9CLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBQSxPQUFPLENBQUMs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Q3ZDLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO0lBQy9DLENBQUM7Q0FDSjtBQU9ELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxZQUFZO0lBR2xELCtCQUErQjtJQUUvQixZQUFZLFVBQXdDLEVBQUU7UUFDbEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBTG5CLGdCQUFXLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLFlBQU8sR0FBaUIsRUFBRSxDQUFDO1FBS3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsMkNBQTJDO0lBQy9DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKiogQWxsb3dlZCBsYXlvdXQgb3B0aW9ucyAqL1xuZXhwb3J0IHR5cGUgUGVwTGF5b3V0VHlwZSA9ICdmb3JtJyB8ICdjYXJkJyB8ICd0YWJsZSc7XG5cbi8qKiBBbGxvd2VkIHN0eWxlIG9wdGlvbnMgKi9cbmV4cG9ydCB0eXBlIFBlcFN0eWxlVHlwZSA9ICd3ZWFrJyB8ICd3ZWFrLWludmVydCcgfCAncmVndWxhcicgfCAnc3Ryb25nJztcblxuLyoqIEFsbG93ZWQgc3R5bGUgc3RhdGUgb3B0aW9ucyAqL1xuZXhwb3J0IHR5cGUgUGVwU3R5bGVTdGF0ZVR5cGUgPSAnc3lzdGVtJyB8ICdjYXV0aW9uJyB8ICdzdWNjZXNzJztcblxuLyoqIEFsbG93ZWQgc2l6ZSBvcHRpb25zICovXG5leHBvcnQgdHlwZSBQZXBTaXplVHlwZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnO1xuXG4vKiogQWxsb3dlZCBob3Jpem9udGFsIGFsaWdubWVudCBvcHRpb25zICovXG5leHBvcnQgdHlwZSBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnO1xuLyoqIERlZmF1bHQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9ICdsZWZ0JztcblxuLyoqIEFsbG93ZWQgdmVydGljYWwgYWxpZ25tZW50IG9wdGlvbnMgKi9cbmV4cG9ydCB0eXBlIFBlcFZlcnRpY2FsQWxpZ25tZW50ID0gJ3RvcCcgfCAnbWlkZGxlJyB8ICdib3R0b20nO1xuLyoqIERlZmF1bHQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9WRVJUSUNBTF9BTElHTk1FTlQ6IFBlcFZlcnRpY2FsQWxpZ25tZW50ID0gJ3RvcCc7XG5leHBvcnQgaW50ZXJmYWNlIElQZXBPcHRpb24ge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8vIGV4cG9ydCB0eXBlIFBlcEZpZWxkQmFzZVR5cGUgPSAnJyB8IFBlcEludGVybmFsQnV0dG9uRmllbGRUeXBlIHwgUGVwVGV4dGJveEZpZWxkVHlwZSB8XG4vLyAgICAgUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkVHlwZSB8IFBlcERhdGVGaWVsZFR5cGUgfCBQZXBDaGVja2JveEZpZWxkVHlwZSB8IFBlcFNlbGVjdEZpZWxkVHlwZTtcbmludGVyZmFjZSBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgdmFsdWU/OiBhbnk7XG4gICAgZm9ybWF0dGVkVmFsdWU/OiBhbnk7XG4gICAgYWRkaXRpb25hbFZhbHVlPzogc3RyaW5nO1xuICAgIGtleT86IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBhY2Nlc3Nvcnk/OiBzdHJpbmc7XG4gICAgbWFuZGF0b3J5PzogYm9vbGVhbjtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIG9yZGVyPzogbnVtYmVyO1xuICAgIGNvbnRyb2xUeXBlPzogc3RyaW5nO1xuICAgIC8vIHR5cGU/OiBQZXBGaWVsZEJhc2VUeXBlO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIGhpZGRlbj86IGJvb2xlYW47XG4gICAgcm93PzogbnVtYmVyO1xuICAgIHJvd1NwYW4/OiBudW1iZXI7XG4gICAgY29sPzogbnVtYmVyO1xuICAgIGNvbFNwYW4/OiBudW1iZXI7XG4gICAgeEFsaWdubWVudD86IFBlcEhvcml6b250YWxBbGlnbm1lbnQ7XG4gICAgeUFsaWdubWVudD86IFBlcFZlcnRpY2FsQWxpZ25tZW50O1xuICAgIG1heEZpZWxkQ2hhcmFjdGVycz86IG51bWJlcjtcbiAgICBtaW5WYWx1ZT86IG51bWJlcjtcbiAgICBtYXhWYWx1ZT86IG51bWJlcjtcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgdmlzaWJsZT86IGJvb2xlYW47XG4gICAgLy8gbGFzdEZvY3VzRmllbGQ/OiBhbnk7XG59XG5leHBvcnQgY2xhc3MgUGVwRmllbGRCYXNlIHtcbiAgICB2YWx1ZTogYW55O1xuICAgIGZvcm1hdHRlZFZhbHVlOiBhbnk7XG4gICAgYWRkaXRpb25hbFZhbHVlOiBzdHJpbmc7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBhY2Nlc3Nvcnk6IHN0cmluZztcbiAgICBtYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgb3JkZXI6IG51bWJlcjtcbiAgICAvLyB0eXBlOiBzdHJpbmc7XG4gICAgY29udHJvbFR5cGU6IHN0cmluZztcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIGhpZGRlbjogYm9vbGVhbjtcbiAgICByb3c6IG51bWJlcjtcbiAgICByb3dTcGFuOiBudW1iZXI7XG4gICAgY29sOiBudW1iZXI7XG4gICAgY29sU3BhbjogbnVtYmVyO1xuICAgIHhBbGlnbm1lbnQ6IFBlcEhvcml6b250YWxBbGlnbm1lbnQ7XG4gICAgeUFsaWdubWVudDogUGVwVmVydGljYWxBbGlnbm1lbnQ7XG4gICAgZ3JvdXBGaWVsZHM6IFBlcEZpZWxkQmFzZVtdO1xuICAgIG1heEZpZWxkQ2hhcmFjdGVyczogbnVtYmVyO1xuICAgIG1pblZhbHVlOiBudW1iZXI7XG4gICAgbWF4VmFsdWU6IG51bWJlcjtcbiAgICB0ZXh0Q29sb3I6IHN0cmluZztcbiAgICB2aXNpYmxlOiBib29sZWFuO1xuICAgIC8vIGxhc3RGb2N1c0ZpZWxkOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHRoaXMua2V5ID0gb3B0aW9ucy5rZXkgfHwgJyc7XG4gICAgICAgIHRoaXMubGFiZWwgPSBvcHRpb25zLmxhYmVsIHx8ICcnO1xuICAgICAgICB0aGlzLmFjY2Vzc29yeSA9IG9wdGlvbnMuYWNjZXNzb3J5IHx8ICcnO1xuICAgICAgICB0aGlzLm1hbmRhdG9yeSA9ICEhb3B0aW9ucy5tYW5kYXRvcnk7XG5cbiAgICAgICAgdGhpcy5vcmRlciA9IG9wdGlvbnMub3JkZXIgPz8gMTtcbiAgICAgICAgdGhpcy5jb250cm9sVHlwZSA9IG9wdGlvbnMuY29udHJvbFR5cGUgfHwgJyc7XG4gICAgICAgIC8vIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZSB8fCAnJztcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IG9wdGlvbnMucGxhY2Vob2xkZXIgfHwgJyc7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gISFvcHRpb25zLmhpZGRlbjtcblxuICAgICAgICB0aGlzLnJvdyA9IG9wdGlvbnMucm93ID8/IDE7XG4gICAgICAgIHRoaXMucm93U3BhbiA9IG9wdGlvbnMucm93U3BhbiA/PyAxO1xuICAgICAgICB0aGlzLmNvbCA9IG9wdGlvbnMuY29sID8/IDE7XG4gICAgICAgIHRoaXMuY29sU3BhbiA9IG9wdGlvbnMuY29sU3BhbiA/PyAxO1xuXG4gICAgICAgIHRoaXMueEFsaWdubWVudCA9IG9wdGlvbnMueEFsaWdubWVudCA/PyBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5UO1xuICAgICAgICB0aGlzLnlBbGlnbm1lbnQgPSBvcHRpb25zLnlBbGlnbm1lbnQgPz8gREVGQVVMVF9WRVJUSUNBTF9BTElHTk1FTlQ7XG5cbiAgICAgICAgdGhpcy5tYXhGaWVsZENoYXJhY3RlcnMgPSBvcHRpb25zLm1heEZpZWxkQ2hhcmFjdGVycyA/PyAwO1xuICAgICAgICB0aGlzLm1pblZhbHVlID0gb3B0aW9ucy5taW5WYWx1ZSA/PyAwO1xuICAgICAgICB0aGlzLm1heFZhbHVlID0gb3B0aW9ucy5tYXhWYWx1ZSA/PyAwO1xuXG4gICAgICAgIHRoaXMudXBkYXRlKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRCYXNlVmFsaWRhdG9ycyhpc0NoZWNrYm94ID0gZmFsc2UpOiBWYWxpZGF0b3JGbltdIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IFtdO1xuXG4gICAgICAgIGlmICh0aGlzLm1hbmRhdG9yeSAmJiAhdGhpcy5yZWFkb25seSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKGlzQ2hlY2tib3gpIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5udWxsVmFsaWRhdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1heEZpZWxkQ2hhcmFjdGVycyA+IDApIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aCh0aGlzLm1heEZpZWxkQ2hhcmFjdGVycykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbGlkYXRvcnM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSB0aGlzLmdldEJhc2VWYWxpZGF0b3JzKCk7XG4gICAgICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGUob3B0aW9uczogSVBlcEZpZWxkQmFzZU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMudmFsdWU7XG4gICAgICAgIHRoaXMuZm9ybWF0dGVkVmFsdWUgPSBvcHRpb25zLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxWYWx1ZSA9IG9wdGlvbnMuYWRkaXRpb25hbFZhbHVlO1xuXG4gICAgICAgIHRoaXMucmVhZG9ubHkgPSAhIW9wdGlvbnMucmVhZG9ubHk7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSAhIW9wdGlvbnMuZGlzYWJsZWQ7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9ICEhb3B0aW9ucy52aXNpYmxlO1xuICAgICAgICB0aGlzLnRleHRDb2xvciA9IG9wdGlvbnMudGV4dENvbG9yIHx8ICcnO1xuICAgICAgICAvLyB0aGlzLmxhc3RGb2N1c0ZpZWxkID0gb3B0aW9ucy5sYXN0Rm9jdXNGaWVsZCB8fCBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcFBsYWNlaG9sZGVyRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3BsYWNlaG9sZGVyJztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBGaWVsZEJhc2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGVwU2VwYXJhdG9yRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3NlcGFyYXRvcic7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcEF0dGFjaG1lbnRGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnYXR0YWNobWVudCc7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcEluZGljYXRvcnNGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnaW5kaWNhdG9ycyc7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwRmllbGRCYXNlT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUGVwVGV4dGJveEZpZWxkVHlwZSA9XG4gICAgfCAndGV4dCdcbiAgICB8ICdsaW5rJ1xuICAgIHwgJ2VtYWlsJ1xuICAgIHwgJ3Bob25lJ1xuICAgIHwgJ2R1cmF0aW9uJ1xuICAgIHwgJ2ludCdcbiAgICB8ICdwZXJjZW50YWdlJ1xuICAgIHwgJ2N1cnJlbmN5J1xuICAgIHwgJ3JlYWwnO1xuaW50ZXJmYWNlIElQZXBUZXh0Ym94RmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIHR5cGU/OiBQZXBUZXh0Ym94RmllbGRUeXBlO1xufVxuZXhwb3J0IGNsYXNzIFBlcFRleHRib3hGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAndGV4dGJveCc7XG4gICAgdHlwZTogUGVwVGV4dGJveEZpZWxkVHlwZSA9ICd0ZXh0JztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBUZXh0Ym94RmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICd0ZXh0JztcblxuICAgICAgICB0aGlzLnVwZGF0ZShvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlKG9wdGlvbnM6IElQZXBUZXh0Ym94RmllbGRPcHRpb25zKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnVwZGF0ZShvcHRpb25zKTtcblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbGluaycpIHtcbiAgICAgICAgICAgIC8vIERJLTExMjkyIC0gYWRkIGNoYW5nZXMgZm9yIGxpbmsgZmllbGQgZm9yIHRoZSBcIlJlYWQgT25seSBkaXNwbGF5IHZhbHVlXCIgcHJvcFxuICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmZvcm1hdHRlZFZhbHVlICYmIHRoaXMudmFsdWVcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmZvcm1hdHRlZFZhbHVlXG4gICAgICAgICAgICAgICAgICAgIDogdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWYWxpZGF0b3JzKCk6IFZhbGlkYXRvckZuW10ge1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JzID0gc3VwZXIuZ2V0QmFzZVZhbGlkYXRvcnMoKTtcblxuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnZW1haWwnKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFxuICAgICAgICAgICAgICAgICAgICAvXigoW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClcXFtcXF1cXFxcLiw7Olxcc0BcIl0rKSopfChcIi4rXCIpKUAoKFxcW1swLTldezEsM31cXC5bMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31dKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkL1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAncGhvbmUnKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW1xcZFxcLlxcLVxcK1xcKFxcKVxcKlxcI10rJC8pKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdpbnQnIHx8IHRoaXMudHlwZSA9PT0gJ3JlYWwnKSB7XG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW1xcLixcXC1cXCtcXGRdKyQvKSk7XG5cbiAgICAgICAgICAgIGlmICghaXNOYU4odGhpcy5taW5WYWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5taW4odGhpcy5taW5WYWx1ZSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWlzTmFOKHRoaXMubWF4VmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4KHRoaXMubWF4VmFsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFBlcFRleHRhcmVhRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3RleHRhcmVhJztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBGaWVsZEJhc2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIC8vIHRoaXMudHlwZSA9ICd0ZXh0YXJlYSc7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGVwUmljaEh0bWxUZXh0YXJlYUZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdyaWNoaHRtbHRleHRhcmVhJztcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBGaWVsZEJhc2VPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIC8vIHRoaXMudHlwZSA9ICdyaWNoaHRtbHRleHRhcmVhJztcbiAgICB9XG59XG5cbmludGVyZmFjZSBJUGVwU2lnbmF0dXJlRmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIG9wdGlvbnM/OiBJUGVwT3B0aW9uW107XG59XG5leHBvcnQgY2xhc3MgUGVwU2lnbmF0dXJlRmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ3NpZ25hdHVyZSc7XG4gICAgb3B0aW9uczogSVBlcE9wdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwU2lnbmF0dXJlRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBJUGVwSW1hZ2VGaWVsZE9wdGlvbnMgZXh0ZW5kcyBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgaGFzQ2FtcGFpZ25GaWVsZD86IGFueTtcbiAgICBpbmRpY2F0b3JzRmllbGQ/OiBhbnk7XG4gICAgbWVudUZpZWxkPzogYW55O1xuICAgIG9wdGlvbnM/OiBJUGVwT3B0aW9uW107XG4gICAgc2l6ZUxpbWl0TUI/OiBudW1iZXI7XG59XG5leHBvcnQgY2xhc3MgUGVwSW1hZ2VGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnaW1hZ2UnO1xuICAgIGhhc0NhbXBhaWduRmllbGQgPSBudWxsO1xuICAgIGluZGljYXRvcnNGaWVsZCA9IG51bGw7XG4gICAgbWVudUZpZWxkID0gbnVsbDtcbiAgICBvcHRpb25zOiBJUGVwT3B0aW9uW10gPSBbXTtcbiAgICBzaXplTGltaXRNQiA9IDU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwSW1hZ2VGaWVsZE9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5oYXNDYW1wYWlnbkZpZWxkID0gb3B0aW9ucy5oYXNDYW1wYWlnbkZpZWxkIHx8IG51bGw7XG4gICAgICAgIHRoaXMuaW5kaWNhdG9yc0ZpZWxkID0gb3B0aW9ucy5pbmRpY2F0b3JzRmllbGQgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5tZW51RmllbGQgPSBvcHRpb25zLm1lbnVGaWVsZCB8fCBudWxsO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnMgfHwgW107XG4gICAgICAgIHRoaXMuc2l6ZUxpbWl0TUIgPSBvcHRpb25zLnNpemVMaW1pdE1CIHx8IDU7XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgSVBlcEltYWdlc0ZpZWxkT3B0aW9ucyBleHRlbmRzIElQZXBGaWVsZEJhc2VPcHRpb25zIHtcbiAgICBvcHRpb25zPzogSVBlcE9wdGlvbltdO1xufVxuZXhwb3J0IGNsYXNzIFBlcEltYWdlc0ZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdpbWFnZXMnO1xuICAgIG9wdGlvbnM6IElQZXBPcHRpb25bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3Iob3B0aW9uczogSVBlcEltYWdlc0ZpZWxkT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zLm9wdGlvbnMgfHwgW107XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGRUeXBlID1cbiAgICB8ICdidXR0b24nXG4gICAgfCAncGFja2FnZUJ1dHRvbidcbiAgICB8ICdxcydcbiAgICB8ICdxc0Zvck1hdHJpeCc7XG5pbnRlcmZhY2UgSVBlcFF1YW50aXR5U2VsZWN0b3JGaWVsZE9wdGlvbnMgZXh0ZW5kcyBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgYWxsb3dEZWNpbWFsPzogYm9vbGVhbjtcbiAgICBub3RpZmljYXRpb25JbmZvPzogYW55O1xuICAgIHR5cGU/OiBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGRUeXBlO1xufVxuZXhwb3J0IGNsYXNzIFBlcFF1YW50aXR5U2VsZWN0b3JGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAncXMnO1xuICAgIGFsbG93RGVjaW1hbDogYm9vbGVhbjtcbiAgICBub3RpZmljYXRpb25JbmZvOiBhbnkgPSB7fTtcbiAgICB1cGRhdGVkRGF0YUNvdW50OiBudW1iZXI7XG4gICAgdHlwZTogUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBRdWFudGl0eVNlbGVjdG9yRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVkRGF0YUNvdW50ID0gMDtcbiAgICAgICAgdGhpcy5hbGxvd0RlY2ltYWwgPSBvcHRpb25zLmFsbG93RGVjaW1hbCB8fCBmYWxzZTtcbiAgICAgICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICdxcyc7XG5cbiAgICAgICAgdGhpcy51cGRhdGUob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZShvcHRpb25zOiBJUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBzdXBlci51cGRhdGUob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25JbmZvID0gb3B0aW9ucy5ub3RpZmljYXRpb25JbmZvO1xuICAgICAgICB0aGlzLnVwZGF0ZWREYXRhQ291bnQgKz0gMTtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFBlcERhdGVGaWVsZFR5cGUgPSAnZGF0ZXRpbWUnIHwgJ2RhdGUnO1xuaW50ZXJmYWNlIElQZXBEYXRlRmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIHR5cGU/OiBQZXBEYXRlRmllbGRUeXBlO1xufVxuZXhwb3J0IGNsYXNzIFBlcERhdGVGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnZGF0ZSc7XG4gICAgdHlwZTogUGVwRGF0ZUZpZWxkVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBEYXRlRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICAgICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8ICdkYXRlJztcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFBlcENoZWNrYm94RmllbGRUeXBlID0gJ2NoZWNrYm94JyB8ICdib29sZWFuVGV4dCc7XG5pbnRlcmZhY2UgSVBlcENoZWNrYm94RmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIHR5cGU/OiBQZXBDaGVja2JveEZpZWxkVHlwZTtcbn1cbmV4cG9ydCBjbGFzcyBQZXBDaGVja2JveEZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdjaGVja2JveCc7XG4gICAgdHlwZTogUGVwQ2hlY2tib3hGaWVsZFR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwQ2hlY2tib3hGaWVsZE9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcblxuICAgICAgICB0aGlzLnR5cGUgPSBvcHRpb25zLnR5cGUgfHwgJ2NoZWNrYm94JztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmFsaWRhdG9ycygpOiBWYWxpZGF0b3JGbltdIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHN1cGVyLmdldEJhc2VWYWxpZGF0b3JzKHRydWUpO1xuICAgICAgICByZXR1cm4gdmFsaWRhdG9ycztcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIFBlcFNlbGVjdEZpZWxkVHlwZSA9ICdzZWxlY3QnIHwgJ211bHRpJztcbmludGVyZmFjZSBJUGVwU2VsZWN0RmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIG9wdGlvbnM/OiBJUGVwT3B0aW9uW107XG4gICAgdHlwZT86IFBlcFNlbGVjdEZpZWxkVHlwZTtcbn1cbmV4cG9ydCBjbGFzcyBQZXBTZWxlY3RGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnc2VsZWN0JztcbiAgICBvcHRpb25zOiBJUGVwT3B0aW9uW10gPSBbXTtcbiAgICB0eXBlOiBQZXBTZWxlY3RGaWVsZFR5cGU7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwU2VsZWN0RmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZSB8fCAnc2VsZWN0JztcblxuICAgICAgICB0aGlzLnVwZGF0ZShvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlKG9wdGlvbnM6IElQZXBTZWxlY3RGaWVsZE9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIudXBkYXRlKG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBJUGVwQWRkcmVzc0ZpZWxkT3B0aW9ucyBleHRlbmRzIElQZXBGaWVsZEJhc2VPcHRpb25zIHtcbiAgICBncm91cEZpZWxkcz86IFBlcEZpZWxkQmFzZVtdO1xufVxuZXhwb3J0IGNsYXNzIFBlcEFkZHJlc3NGaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnYWRkcmVzcyc7XG4gICAgZ3JvdXBGaWVsZHM6IFBlcEZpZWxkQmFzZVtdID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBBZGRyZXNzRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMuZ3JvdXBGaWVsZHMgPSBvcHRpb25zLmdyb3VwRmllbGRzIHx8IG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgdHlwZSBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkVHlwZSA9XG4gICAgfCAnYnV0dG9uJ1xuICAgIHwgJ3JlZmVyZW5jZSdcbiAgICB8ICdsaXN0b2ZvYmplY3RzJztcbmludGVyZmFjZSBJUGVwSW50ZXJuYWxCdXR0b25GaWVsZE9wdGlvbnMgZXh0ZW5kcyBJUGVwRmllbGRCYXNlT3B0aW9ucyB7XG4gICAgcmVmZXJlbmNlT2JqZWN0VHlwZT86IGFueTtcbiAgICByZWZlcmVuY2VPYmplY3RTdWJUeXBlPzogc3RyaW5nO1xuICAgIHJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZT86IHN0cmluZztcbiAgICB0eXBlPzogUGVwSW50ZXJuYWxCdXR0b25GaWVsZFR5cGU7XG59XG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxCdXR0b25GaWVsZCBleHRlbmRzIFBlcEZpZWxkQmFzZSB7XG4gICAgY29udHJvbFR5cGUgPSAnYnV0dG9uJztcbiAgICByZWZlcmVuY2VPYmplY3RUeXBlO1xuICAgIHJlZmVyZW5jZU9iamVjdFN1YlR5cGUgPSAnJztcbiAgICByZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGUgPSAnJztcbiAgICB0eXBlOiBQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBJbnRlcm5hbEJ1dHRvbkZpZWxkT3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMucmVmZXJlbmNlT2JqZWN0VHlwZSA9IG9wdGlvbnMucmVmZXJlbmNlT2JqZWN0VHlwZSB8fCBudWxsO1xuICAgICAgICB0aGlzLnJlZmVyZW5jZU9iamVjdFN1YlR5cGUgPSBvcHRpb25zLnJlZmVyZW5jZU9iamVjdFN1YlR5cGUgfHwgbnVsbDtcbiAgICAgICAgdGhpcy5yZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGUgPVxuICAgICAgICAgICAgb3B0aW9ucy5yZWZlcmVuY2VPYmplY3RJbnRlcm5hbFR5cGUgfHwgbnVsbDtcblxuICAgICAgICB0aGlzLnR5cGUgPSBvcHRpb25zLnR5cGUgfHwgJ2J1dHRvbic7XG4gICAgfVxufVxuXG5pbnRlcmZhY2UgSVBlcEludGVybmFsUGFnZUZpZWxkT3B0aW9ucyBleHRlbmRzIElQZXBGaWVsZEJhc2VPcHRpb25zIHtcbiAgICBvYmplY3RJZD86IHN0cmluZztcbiAgICBwYXJlbnRJZD86IHN0cmluZztcbiAgICBzZWFyY2hDb2RlPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFBlcEludGVybmFsUGFnZUZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdpbnRlcm5hbFBhZ2UnO1xuICAgIG9iamVjdElkID0gJyc7XG4gICAgcGFyZW50SWQgPSAnJztcbiAgICBzZWFyY2hDb2RlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwSW50ZXJuYWxQYWdlRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub2JqZWN0SWQgPSBvcHRpb25zLm9iamVjdElkIHx8ICcnO1xuICAgICAgICB0aGlzLnBhcmVudElkID0gb3B0aW9ucy5wYXJlbnRJZCB8fCAnJztcbiAgICAgICAgdGhpcy5zZWFyY2hDb2RlID0gb3B0aW9ucy5zZWFyY2hDb2RlIHx8ICcnO1xuICAgIH1cbn1cblxuXG5pbnRlcmZhY2UgSVBlcEludGVybmFsQ2FydXNlbEZpZWxkT3B0aW9ucyBleHRlbmRzIElQZXBGaWVsZEJhc2VPcHRpb25zIHtcbiAgICBvYmplY3RJZD86IHN0cmluZztcbiAgICAvLyBwYXJlbnRJZD86IHN0cmluZztcbiAgICBzZWFyY2hDb2RlPzogc3RyaW5nO1xufVxuZXhwb3J0IGNsYXNzIFBlcEludGVybmFsQ2FydXNlbEZpZWxkIGV4dGVuZHMgUGVwRmllbGRCYXNlIHtcbiAgICBjb250cm9sVHlwZSA9ICdpbnRlcm5hbENhcnVzZWwnO1xuICAgIG9iamVjdElkID0gJyc7XG4gICAgLy8gcGFyZW50SWQgPSAnJztcbiAgICBzZWFyY2hDb2RlID0gJyc7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBJUGVwSW50ZXJuYWxDYXJ1c2VsRmllbGRPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIob3B0aW9ucyk7XG4gICAgICAgIHRoaXMub2JqZWN0SWQgPSBvcHRpb25zLm9iamVjdElkIHx8ICcnO1xuICAgICAgICAvLyB0aGlzLnBhcmVudElkID0gb3B0aW9ucy5wYXJlbnRJZCB8fCAnJztcbiAgICAgICAgdGhpcy5zZWFyY2hDb2RlID0gb3B0aW9ucy5zZWFyY2hDb2RlIHx8ICcnO1xuICAgIH1cbn1cblxuXG5cbmludGVyZmFjZSBJUGVwSW50ZXJuYWxNZW51RmllbGRPcHRpb25zIGV4dGVuZHMgSVBlcEZpZWxkQmFzZU9wdGlvbnMge1xuICAgIG9wdGlvbnM/OiBJUGVwT3B0aW9uW107XG59XG5leHBvcnQgY2xhc3MgUGVwSW50ZXJuYWxNZW51RmllbGQgZXh0ZW5kcyBQZXBGaWVsZEJhc2Uge1xuICAgIGNvbnRyb2xUeXBlID0gJ21lbnUnO1xuICAgIG9wdGlvbnM6IElQZXBPcHRpb25bXSA9IFtdO1xuICAgIC8vIGhhc1N1Yk1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnM6IElQZXBJbnRlcm5hbE1lbnVGaWVsZE9wdGlvbnMgPSB7fSkge1xuICAgICAgICBzdXBlcihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucy5vcHRpb25zIHx8IFtdO1xuICAgICAgICAvLyB0aGlzLmhhc1N1Yk1lbnUgPSBvcHRpb25zWydoYXNTdWJNZW51J107XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQZXBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgY29udHJvbFR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBlcEZpZWxkQ2xpY2tFdmVudCB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgdmFsdWU/OiBzdHJpbmc7XG4gICAgY29udHJvbFR5cGU/OiBzdHJpbmc7XG4gICAgZXZlbnRXaGljaD86IGFueTtcbiAgICBvdGhlckRhdGE/OiBhbnk7XG59XG4iXX0=
@@ -11,6 +11,8 @@ export class PepFieldGeneratorComponent {
11
11
  this.formValidationChange = new EventEmitter();
12
12
  this.elementClick = new EventEmitter();
13
13
  this.childClick = new EventEmitter();
14
+ this.formValueChange = new EventEmitter();
15
+ this.formFieldClick = new EventEmitter();
14
16
  }
15
17
  get isValid() {
16
18
  if (this.field.readonly || this.field.disabled) {
@@ -74,6 +76,12 @@ export class PepFieldGeneratorComponent {
74
76
  onChildClick(childClick) {
75
77
  this.childClick.emit(childClick);
76
78
  }
79
+ onFormValueChanged(event) {
80
+ this.formValueChange.emit(event);
81
+ }
82
+ onFormFieldClick(event) {
83
+ this.formFieldClick.emit(event);
84
+ }
77
85
  ngOnChanges(changes) {
78
86
  // debugger;
79
87
  // For testing.
@@ -83,7 +91,7 @@ export class PepFieldGeneratorComponent {
83
91
  PepFieldGeneratorComponent.decorators = [
84
92
  { type: Component, args: [{
85
93
  selector: 'pep-field-generator',
86
- template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (childClick)=\"onChildClick($event)\" (childChange)=\"onChildChanged($event)\">\n </pep-internal-page>\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>",
94
+ template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [allowDecimal]=\"field.allowDecimal\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (valueChange)=\"onValueChanged($event, field)\"\n (formValidationChange)=\"onFormValidationChanged($event)\" [isActive]=\"isActive\">\n </pep-select>\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" (formValidationChange)=\"onFormValidationChanged($event)\"\n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (childClick)=\"onChildClick($event)\" (childChange)=\"onChildChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (formValueChange)=\"onFormValueChanged($event)\" (formFieldClick)=\"onFormFieldClick($event)\">\n </pep-internal-carusel>\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>",
87
95
  encapsulation: ViewEncapsulation.Emulated,
88
96
  changeDetection: ChangeDetectionStrategy.OnPush,
89
97
  styles: [":host{width:100%;height:100%}"]
@@ -101,6 +109,8 @@ PepFieldGeneratorComponent.propDecorators = {
101
109
  childChange: [{ type: Output }],
102
110
  formValidationChange: [{ type: Output }],
103
111
  elementClick: [{ type: Output }],
104
- childClick: [{ type: Output }]
112
+ childClick: [{ type: Output }],
113
+ formValueChange: [{ type: Output }],
114
+ formFieldClick: [{ type: Output }]
105
115
  };
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ2VuZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvZm9ybS9maWVsZC1nZW5lcmF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQWdCdkIsTUFBTSxPQUFPLDBCQUEwQjtJQVB2QztRQVNhLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsUUFBRyxHQUFRLElBQUksQ0FBQztRQUVoQixlQUFVLEdBQWtCLE1BQU0sQ0FBQztRQUNuQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLG9CQUFlLEdBQVEsSUFBSSxDQUFDO1FBRXJDLGdCQUFXLEdBQTRDLElBQUksWUFBWSxFQUE2QixDQUFDO1FBQzNGLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbkUseUJBQW9CLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFMUUsaUJBQVksR0FBc0MsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDaEYsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBa0Z0RSxDQUFDO0lBaEZHLElBQUksT0FBTztRQUNQLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDNUMsT0FBTyxJQUFJLENBQUM7U0FDZjthQUFNO1lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRS9ELElBQUksV0FBVyxFQUFFO2dCQUNiLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQzthQUM1QjtpQkFBTTtnQkFDSCxPQUFPLEtBQUssQ0FBQzthQUNoQjtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQUksU0FBUztRQUNULE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBRUQsV0FBVztRQUNQLEVBQUU7SUFDTixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWEsRUFBRSxLQUFtQjtRQUM1QyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN2RCxNQUFNLGdCQUFnQixHQUFHO1lBQ3JCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLEtBQUssRUFBRSxLQUFLO1lBQ1osV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQ2pDLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxxQkFBcUIsQ0FDakIsV0FBc0MsRUFDdEMsS0FBbUI7UUFFbkIsTUFBTSxnQkFBZ0IsR0FBRztZQUNyQixHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7WUFDcEIsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLO1lBQ3hCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUNqQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVUsRUFBRSxLQUFtQjtRQUMxQyxNQUFNLGdCQUFnQixHQUFHO1lBQ3JCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLEtBQUssRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUNqQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQWdCO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxvQkFBeUI7UUFDN0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxPQUFPLENBQUMsWUFBaUI7UUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFlO1FBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBWTtRQUNwQixZQUFZO1FBQ1osZUFBZTtRQUNmLHFEQUFxRDtJQUN6RCxDQUFDOzs7WUF4R0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLHdvUkFBK0M7Z0JBRS9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxRQUFRO2dCQUN6QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztvQkFFSSxLQUFLO3VCQUNMLEtBQUs7a0JBQ0wsS0FBSzttQkFDTCxLQUFLO3lCQUNMLEtBQUs7d0JBQ0wsS0FBSzs4QkFFTCxLQUFLOzBCQUNMLE1BQU07MEJBRU4sTUFBTTttQ0FDTixNQUFNOzJCQUVOLE1BQU07eUJBRU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFBlcEZpZWxkQmFzZSxcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIElQZXBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQsXG4gICAgSVBlcEZpZWxkQ2xpY2tFdmVudCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1maWVsZC1nZW5lcmF0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9maWVsZC1nZW5lcmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZpZWxkLWdlbmVyYXRvci5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBGaWVsZEdlbmVyYXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBmaWVsZDogYW55O1xuICAgIEBJbnB1dCgpIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgQElucHV0KCkgdWlkOiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuICAgIEBJbnB1dCgpIHNob3dUaXRsZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBjaGVja0ZvckNoYW5nZXM6IGFueSA9IG51bGw7XG4gICAgQE91dHB1dCgpXG4gICAgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRWYWx1ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgY2hpbGRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgZm9ybVZhbGlkYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBlbGVtZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgY2hpbGRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5maWVsZC5yZWFkb25seSB8fCB0aGlzLmZpZWxkLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5rZXkpO1xuXG4gICAgICAgICAgICBpZiAoZm9ybUNvbnRyb2wpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybUNvbnRyb2wudmFsaWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBpc1RvdWNoZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5rZXkpO1xuICAgICAgICByZXR1cm4gZm9ybUNvbnRyb2wgPyBmb3JtQ29udHJvbC50b3VjaGVkIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0IGlzRGlydHkoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm1Db250cm9sID0gdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5rZXkpO1xuICAgICAgICByZXR1cm4gZm9ybUNvbnRyb2wgPyBmb3JtQ29udHJvbC5kaXJ0eSA6IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIG9uRmlsZUNoYW5nZWQoZmlsZURhdGE6IGFueSwgZmllbGQ6IFBlcEZpZWxkQmFzZSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGZpbGVEYXRhID8gSlNPTi5zdHJpbmdpZnkoZmlsZURhdGEpIDogJyc7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWVDaGFuZ2UgPSB7XG4gICAgICAgICAgICBrZXk6IGZpZWxkLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBmaWVsZC5jb250cm9sVHlwZSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGZpZWxkVmFsdWVDaGFuZ2UpO1xuICAgIH1cblxuICAgIG9uQWRkcmVzc1ZhbHVlQ2hhbmdlZChcbiAgICAgICAgdmFsdWVDaGFuZ2U6IElQZXBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQsXG4gICAgICAgIGZpZWxkOiBQZXBGaWVsZEJhc2VcbiAgICApIHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZUNoYW5nZSA9IHtcbiAgICAgICAgICAgIGtleTogdmFsdWVDaGFuZ2Uua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlQ2hhbmdlLnZhbHVlLFxuICAgICAgICAgICAgY29udHJvbFR5cGU6IGZpZWxkLmNvbnRyb2xUeXBlLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmllbGRWYWx1ZUNoYW5nZSk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZWQodmFsdWU6IGFueSwgZmllbGQ6IFBlcEZpZWxkQmFzZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAga2V5OiBmaWVsZC5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBmaWVsZC5jb250cm9sVHlwZSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGZpZWxkVmFsdWVDaGFuZ2UpO1xuICAgIH1cblxuICAgIG9uQ2hpbGRDaGFuZ2VkKGNoaWxkQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlsZENoYW5nZS5lbWl0KGNoaWxkQ2hhbmdlKTtcbiAgICB9XG5cbiAgICBvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZChmb3JtVmFsaWRhdGlvbkNoYW5nZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybVZhbGlkYXRpb25DaGFuZ2UuZW1pdChmb3JtVmFsaWRhdGlvbkNoYW5nZSk7XG4gICAgfVxuXG4gICAgb25DbGljayhmaWVsZENsaWNrZWQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KGZpZWxkQ2xpY2tlZCk7XG4gICAgfVxuXG4gICAgb25DaGlsZENsaWNrKGNoaWxkQ2xpY2s6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoaWxkQ2xpY2suZW1pdChjaGlsZENsaWNrKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIC8vIEZvciB0ZXN0aW5nLlxuICAgICAgICAvLyB0aGlzLmZpZWxkLmRpc2FibGVkID0gdGhpcy5maWVsZC5yZWFkb25seSA9IGZhbHNlO1xuICAgIH1cbn1cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ2VuZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvZm9ybS9maWVsZC1nZW5lcmF0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLHVCQUF1QixHQUUxQixNQUFNLGVBQWUsQ0FBQztBQWlCdkIsTUFBTSxPQUFPLDBCQUEwQjtJQVB2QztRQVNhLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsUUFBRyxHQUFRLElBQUksQ0FBQztRQUVoQixlQUFVLEdBQWtCLE1BQU0sQ0FBQztRQUNuQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLG9CQUFlLEdBQVEsSUFBSSxDQUFDO1FBRXJDLGdCQUFXLEdBQTRDLElBQUksWUFBWSxFQUE2QixDQUFDO1FBQzNGLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbkUseUJBQW9CLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFMUUsaUJBQVksR0FBc0MsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDaEYsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBR2xFLG9CQUFlLEdBQWdELElBQUksWUFBWSxFQUFpQyxDQUFDO1FBRWpILG1CQUFjLEdBQTBDLElBQUksWUFBWSxFQUEyQixDQUFDO0lBMEZ4RyxDQUFDO0lBeEZHLElBQUksT0FBTztRQUNQLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDNUMsT0FBTyxJQUFJLENBQUM7U0FDZjthQUFNO1lBQ0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENB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LENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFZO1FBQ3BCLFlBQVk7UUFDWixlQUFlO1FBQ2YscURBQXFEO0lBQ3pELENBQUM7OztZQXJISixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsaTJSQUErQztnQkFFL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7Z0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O29CQUVJLEtBQUs7dUJBQ0wsS0FBSztrQkFDTCxLQUFLO21CQUNMLEtBQUs7eUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzhCQUVMLEtBQUs7MEJBQ0wsTUFBTTswQkFFTixNQUFNO21DQUNOLE1BQU07MkJBRU4sTUFBTTt5QkFFTixNQUFNOzhCQUVOLE1BQU07NkJBRU4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIFBlcEZpZWxkQmFzZSxcbiAgICBQZXBMYXlvdXRUeXBlLFxuICAgIElQZXBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQsXG4gICAgSVBlcEZpZWxkQ2xpY2tFdmVudCxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSVBlcEZvcm1GaWVsZENsaWNrRXZlbnQsIElQZXBGb3JtRmllbGRWYWx1ZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mb3JtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZpZWxkLWdlbmVyYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZ2VuZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBlcEZpZWxkR2VuZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGZpZWxkOiBhbnk7XG4gICAgQElucHV0KCkgaXNBY3RpdmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSB1aWQ6IGFueSA9IG51bGw7XG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xuICAgIEBJbnB1dCgpIGxheW91dFR5cGU6IFBlcExheW91dFR5cGUgPSAnZm9ybSc7XG4gICAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIGNoZWNrRm9yQ2hhbmdlczogYW55ID0gbnVsbDtcbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRWYWx1ZUNoYW5nZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBjaGlsZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBmb3JtVmFsaWRhdGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKVxuICAgIGVsZW1lbnRDbGljazogRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBjaGlsZENsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgZm9ybVZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRm9ybUZpZWxkVmFsdWVDaGFuZ2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBmb3JtRmllbGRDbGljazogRXZlbnRFbWl0dGVyPElQZXBGb3JtRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZvcm1GaWVsZENsaWNrRXZlbnQ+KCk7XG5cbiAgICBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQucmVhZG9ubHkgfHwgdGhpcy5maWVsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQua2V5KTtcblxuICAgICAgICAgICAgaWYgKGZvcm1Db250cm9sKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1Db250cm9sLnZhbGlkO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgaXNUb3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQua2V5KTtcbiAgICAgICAgcmV0dXJuIGZvcm1Db250cm9sID8gZm9ybUNvbnRyb2wudG91Y2hlZCA6IGZhbHNlO1xuICAgIH1cblxuICAgIGdldCBpc0RpcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtQ29udHJvbCA9IHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQua2V5KTtcbiAgICAgICAgcmV0dXJuIGZvcm1Db250cm9sID8gZm9ybUNvbnRyb2wuZGlydHkgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBvbkZpbGVDaGFuZ2VkKGZpbGVEYXRhOiBhbnksIGZpZWxkOiBQZXBGaWVsZEJhc2UpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBmaWxlRGF0YSA/IEpTT04uc3RyaW5naWZ5KGZpbGVEYXRhKSA6ICcnO1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAga2V5OiBmaWVsZC5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICBjb250cm9sVHlwZTogZmllbGQuY29udHJvbFR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChmaWVsZFZhbHVlQ2hhbmdlKTtcbiAgICB9XG5cbiAgICBvbkFkZHJlc3NWYWx1ZUNoYW5nZWQoXG4gICAgICAgIHZhbHVlQ2hhbmdlOiBJUGVwRmllbGRWYWx1ZUNoYW5nZUV2ZW50LFxuICAgICAgICBmaWVsZDogUGVwRmllbGRCYXNlXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWVDaGFuZ2UgPSB7XG4gICAgICAgICAgICBrZXk6IHZhbHVlQ2hhbmdlLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZUNoYW5nZS52YWx1ZSxcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiBmaWVsZC5jb250cm9sVHlwZSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGZpZWxkVmFsdWVDaGFuZ2UpO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2VkKHZhbHVlOiBhbnksIGZpZWxkOiBQZXBGaWVsZEJhc2UpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZUNoYW5nZSA9IHtcbiAgICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBjb250cm9sVHlwZTogZmllbGQuY29udHJvbFR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChmaWVsZFZhbHVlQ2hhbmdlKTtcbiAgICB9XG5cbiAgICBvbkNoaWxkQ2hhbmdlZChjaGlsZENoYW5nZTogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hpbGRDaGFuZ2UuZW1pdChjaGlsZENoYW5nZSk7XG4gICAgfVxuXG4gICAgb25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoZm9ybVZhbGlkYXRpb25DaGFuZ2U6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1WYWxpZGF0aW9uQ2hhbmdlLmVtaXQoZm9ybVZhbGlkYXRpb25DaGFuZ2UpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soZmllbGRDbGlja2VkOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdChmaWVsZENsaWNrZWQpO1xuICAgIH1cblxuICAgIG9uQ2hpbGRDbGljayhjaGlsZENsaWNrOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGlsZENsaWNrLmVtaXQoY2hpbGRDbGljayk7XG4gICAgfVxuXG4gICAgb25Gb3JtVmFsdWVDaGFuZ2VkKGV2ZW50OiBJUGVwRm9ybUZpZWxkVmFsdWVDaGFuZ2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1WYWx1ZUNoYW5nZS5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkZvcm1GaWVsZENsaWNrKGV2ZW50OiBJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1GaWVsZENsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgLy8gRm9yIHRlc3RpbmcuXG4gICAgICAgIC8vIHRoaXMuZmllbGQuZGlzYWJsZWQgPSB0aGlzLmZpZWxkLnJlYWRvbmx5ID0gZmFsc2U7XG4gICAgfVxufVxuIl19