barsa-novin-ray-core 1.0.256 → 1.0.258

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 (31) hide show
  1. package/esm2020/lib/abstract-classes/field-base.mjs +1 -1
  2. package/esm2020/lib/abstract-classes/models.mjs +1 -1
  3. package/esm2020/lib/auth-guard.mjs +1 -1
  4. package/esm2020/lib/barsa-novin-ray-core.module.mjs +10 -5
  5. package/esm2020/lib/constants.mjs +16 -2
  6. package/esm2020/lib/directives/dynamic-command.directive.mjs +3 -4
  7. package/esm2020/lib/directives/index.mjs +2 -1
  8. package/esm2020/lib/directives/workflow-choice-command.directive.mjs +60 -0
  9. package/esm2020/lib/dynamic-component/base-dynamic.component.mjs +1 -1
  10. package/esm2020/lib/injdection-tokens.mjs +2 -1
  11. package/esm2020/lib/redirect-home-guard.mjs +2 -2
  12. package/esm2020/lib/services/barsa-storage.service.mjs +3 -2
  13. package/esm2020/lib/services/index.mjs +2 -1
  14. package/esm2020/lib/services/notification-sw.service.mjs +135 -0
  15. package/esm2020/lib/services/notification.service.mjs +132 -95
  16. package/esm2020/lib/services/portal.service.mjs +16 -2
  17. package/fesm2015/barsa-novin-ray-core.mjs +358 -103
  18. package/fesm2015/barsa-novin-ray-core.mjs.map +1 -1
  19. package/fesm2020/barsa-novin-ray-core.mjs +362 -109
  20. package/fesm2020/barsa-novin-ray-core.mjs.map +1 -1
  21. package/lib/abstract-classes/models.d.ts +49 -0
  22. package/lib/barsa-novin-ray-core.module.d.ts +13 -12
  23. package/lib/constants.d.ts +4 -0
  24. package/lib/directives/index.d.ts +1 -0
  25. package/lib/directives/workflow-choice-command.directive.d.ts +14 -0
  26. package/lib/injdection-tokens.d.ts +1 -0
  27. package/lib/services/index.d.ts +1 -0
  28. package/lib/services/notification-sw.service.d.ts +31 -0
  29. package/lib/services/notification.service.d.ts +23 -12
  30. package/lib/services/portal.service.d.ts +1 -0
  31. package/package.json +1 -1
@@ -192,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
192
192
  }], formmatedValue: [{
193
193
  type: Output
194
194
  }] } });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQTZCdkMsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxhQUFhO0lBbUMxRCxZQUNjLGNBQTZCLEVBQzdCLFFBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQXlCLEVBQ3pCLEdBQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNyQixlQUErQixFQUMvQixhQUEyQixFQUNTLGNBQW1CLEVBQ25DLGNBQTZCLEVBQzdCLFlBQXlCLEVBQ3pCLGNBQXFDLEVBQ3JDLGFBQW9DO1FBRWxFLEtBQUssRUFBRSxDQUFDO1FBZkUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQXdCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUNTLG1CQUFjLEdBQWQsY0FBYyxDQUFLO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUF4QzVELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFXbkQsaUJBQVksR0FBUTtZQUNoQixLQUFLLEVBQUUsUUFBUTtZQUNmLGlCQUFpQixFQUFFLE9BQU87WUFDMUIsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUU7Z0JBQ1YsU0FBUyxFQUFFLFFBQVE7YUFDdEI7U0FDSixDQUFDO1FBQ00sbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ3BDLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDekMsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDNUQsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFtQmpFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUI7YUFDckMsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLHNCQUFzQjthQUN2QyxZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6RSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUNqRCxvQkFBb0IsRUFBRSxDQUN6QixDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0RyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RHO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUE0QixDQUFDO1lBQ3BELE1BQU0saUJBQWlCLEdBQTRCLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDckUsMkVBQTJFLENBQzlFLENBQUM7WUFDRixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDcEIsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBZSxFQUFFLEVBQUU7Z0JBQzFDLE1BQU0sT0FBTyxHQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDdkQsSUFDSSxDQUFDLE9BQU87b0JBQ1IsRUFBRSxDQUFDLFdBQVcsR0FBRyxDQUFDO29CQUNsQixFQUFFLENBQUMsWUFBWSxHQUFHLENBQUM7b0JBQ25CLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTTtvQkFDdEMsRUFBRSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLE1BQU07b0JBQ2pELENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFDNUI7b0JBQ0UsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNYLE9BQU8sR0FBRyxJQUFJLENBQUM7aUJBQ2xCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsS0FBVSxFQUFFLE1BQVksRUFBRSxNQUFZO1FBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDUyxnQkFBZ0I7UUFDdEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN2QyxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsNkJBQTZCLENBQUM7UUFDakUsWUFBWSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RixZQUFZLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsWUFBWSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDUyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWixtQkFBbUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQzlDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDbEQsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNwRCxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQzlDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUNTLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN2RDtJQUNMLENBQUM7SUFDUyxTQUFTLENBQUMsS0FBSztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNTLFdBQVcsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUNTLFdBQVcsQ0FBQyxLQUFLLEVBQUUsWUFBWSxHQUFHLElBQUk7UUFDNUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLFlBQVksRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBQ1MsWUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLEdBQUcsSUFBSTtRQUM3QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksWUFBWSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7OytHQTlKaUIsa0JBQWtCLDhSQTZDWixjQUFjO21HQTdDcEIsa0JBQWtCLHVVQUgxQixFQUFFOzJGQUdNLGtCQUFrQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQThDUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWM7OzBCQUNqQyxJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixJQUFJOzswQkFBSSxRQUFROzRDQWhEWixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIENvbXBvbmVudCxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIE9uSW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIFJlbmRlcmVyMixcclxuICAgIFNlbGYsXHJcbiAgICBPcHRpb25hbCxcclxuICAgIEluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgRElBTE9HX1NFUlZJQ0UgfSBmcm9tICcuLi9pbmpkZWN0aW9uLXRva2Vucyc7XHJcbmltcG9ydCB7IEJiYlRyYW5zbGF0ZVBpcGUsIE51bWVyYWxQaXBlLCBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xyXG5pbXBvcnQgeyBBdWRpb1JlY29yZGluZ1NlcnZpY2UsIFBvcnRhbFNlcnZpY2UsIFVwbG9hZFNlcnZpY2UsIFZpZGVvUmVjb3JkaW5nU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XHJcbmltcG9ydCB7IEdlbmVyYWxDb250cm9sSW5mb01vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkU2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBDb250cm9sRmllbGRDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBDb250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDogc3RyaW5nO1xyXG4gICAgQ29udHJvbEZpZWxkRGVmSWQ6IHN0cmluZztcclxuICAgIENvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgICBSZWxhdGVkRmllbGRMaXN0OiBbXTtcclxuICAgIEhpZGU6IGJvb2xlYW47XHJcbiAgICB4dHlwZTogc3RyaW5nO1xyXG4gICAgTGFiZWxQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgSXNNYW5kYXRvcnk6IGJvb2xlYW47XHJcbiAgICBJc1Zpc2libGU6IGJvb2xlYW47XHJcbiAgICBTaG93TGFiZWw6IGJvb2xlYW47XHJcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gICAgSXNFbmFibGVkOiBib29sZWFuO1xyXG4gICAgSXNCb2xkOiBib29sZWFuO1xyXG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XHJcbiAgICBKc29uRXh0cmFQcm9wOiBhbnkgfCBudWxsO1xyXG4gICAgRmllbGRJY29uOiBzdHJpbmc7XHJcbiAgICBJc0x0cjogYm9vbGVhbjtcclxufVxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1maWVsZC1iYXNlJyxcclxuICAgIHRlbXBsYXRlOiAnJyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGaWVsZEJhc2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gICAgQElucHV0KCkgY29udGV4dDogYW55O1xyXG4gICAgQElucHV0KCkgZm9jdXNDb250cm9sOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbGF5b3V0SW5mbzogYW55O1xyXG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcclxuICAgIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGlubGluZUVkaXQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgZm9ybW1hdGVkVmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEpzb25FeHRyYVByb3A6IGFueTtcclxuICAgIHBhcmFtZXRlcnM6IGFueTtcclxuICAgIFNldHRpbmc6IEdlbmVyYWxDb250cm9sSW5mb01vZGVsO1xyXG4gICAgcmVmcmVzaCQ6IE9ic2VydmFibGU8YW55PjtcclxuICAgIHZhbHVlJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgZGlzYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICByZWFkb25seSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBkaXNhYmxlT3JSZWFkb25seSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBkZXZpY2VTaXplJDogT2JzZXJ2YWJsZTxBYmJyZXZhdGlvbkRldmljZVNpemU+O1xyXG4gICAgZWw6IGFueTtcclxuICAgIG1vYmlsZUNvbmZpZzogYW55ID0ge1xyXG4gICAgICAgIHRpdGxlOiAn2KfZhtiq2K7Yp9ioJyxcclxuICAgICAgICBhcHByb3ZlQnV0dG9uVGV4dDogJ9iq2KfbjNuM2K8nLFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICfYp9mG2LXYsdin2YEnLFxyXG4gICAgICAgIGhhc0Nsb3NlQnV0dG9uOiB0cnVlLFxyXG4gICAgICAgIGRpYWxvZ0NvbmZpZzoge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICfYp9mG2KrYrtin2KgnXHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuICAgIHByaXZhdGUgX3JlZnJlc2hTb3VyY2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF92YWx1ZUNoYW5nZWRTb3VyY2UgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF9kaXNhYmxlQ2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgcHJpdmF0ZSBfcmVhZG9ubHlDaGFuZ2VkU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfYmJiUGlwZTogQmJiVHJhbnNsYXRlUGlwZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX3BpY0ZpZWxkU3JjOiBQaWN0dXJlRmllbGRTb3VyY2VQaXBlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfbnVtZXJhbFBpcGU6IE51bWVyYWxQaXBlLFxyXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByb3RlY3RlZCBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERJQUxPR19TRVJWSUNFKSBwcm90ZWN0ZWQgX2RpYWxvZ1NlcnZpY2U6IGFueSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSxcclxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfZGF0ZVNlcnZpY2U6IERhdGVTZXJ2aWNlLFxyXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF9hdWRpb1JlY29yZGVyOiBBdWRpb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICAgICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3ZpZGVvUmVjb2RlcjogVmlkZW9SZWNvcmRpbmdTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIHRoaXMucmVmcmVzaCQgPSB0aGlzLl9yZWZyZXNoU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcclxuICAgICAgICB0aGlzLnZhbHVlJCA9IHRoaXMuX3ZhbHVlQ2hhbmdlZFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XHJcbiAgICAgICAgdGhpcy5kZXZpY2VTaXplJCA9IHRoaXMuX3BvcnRhbFNlcnZpY2UuZGV2aWNlU2l6ZSQ7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlJCA9IHRoaXMuX2Rpc2FibGVDaGFuZ2VkU291cmNlXHJcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHRoaXMucmVhZG9ubHkkID0gdGhpcy5fcmVhZG9ubHlDaGFuZ2VkU291cmNlXHJcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZU9yUmVhZG9ubHkkID0gY29tYmluZUxhdGVzdChbdGhpcy5yZWFkb25seSQsIHRoaXMuZGlzYWJsZSRdKS5waXBlKFxyXG4gICAgICAgICAgICBtYXAoKFtkaXNhYmxlLCByZWFkb25seV0pID0+IGRpc2FibGUgfHwgcmVhZG9ubHkpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLmVsID0gX2VsO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dCkge1xyXG4gICAgICAgICAgICB0aGlzLlNldHRpbmcgPSB0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQuU2V0dGluZyA6IG51bGw7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlYWRvbmx5ID0gdGhpcy5jb250ZXh0Py5yZWFkT25seTtcclxuICAgICAgICAgICAgdGhpcy5fc2V0UmVhZG9ubHkocmVhZG9ubHksIGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fc2V0RGlzYWJsZSh0aGlzLmNvbnRleHQuZGlzYWJsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkN1c3RvbVVpLlBhcmFtZXRlcnMnLCBudWxsKTtcclxuICAgICAgICAgICAgdGhpcy5Kc29uRXh0cmFQcm9wID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5Kc29uRXh0cmFQcm9wJywgbnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX2FkZExpc3RlbmVyKCk7XHJcbiAgICAgICAgdGhpcy5fc2V0TW9iaWxlQ29uZmlnKCk7XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVyKCk7XHJcbiAgICB9XHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNDb250cm9sKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsRG9tID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICAgICAgY29uc3QgZm9jdXNhYmxlTm9kZUxpc3Q6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+ID0gZWxEb20ucXVlcnlTZWxlY3RvckFsbChcclxuICAgICAgICAgICAgICAgICcgYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg94oCdLTHigLNdKSdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgbGV0IGZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgZm9jdXNhYmxlTm9kZUxpc3QuZm9yRWFjaCgoZWw6IEhUTUxFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdOYW1lOiBzdHJpbmcgPSBlbC50YWdOYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgIWZvY3VzZWQgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5vZmZzZXRXaWR0aCA+IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5vZmZzZXRIZWlnaHQgPiAwICYmXHJcbiAgICAgICAgICAgICAgICAgICAgZWwuZ2V0QXR0cmlidXRlKCdkaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcclxuICAgICAgICAgICAgICAgICAgICBlbC5nZXRBdHRyaWJ1dGUoJ25nLXJlZmxlY3QtZGlzYWJsZWQnKSAhPT0gJ3RydWUnICYmXHJcbiAgICAgICAgICAgICAgICAgICAgIXRhZ05hbWUuc3RhcnRzV2l0aCgnZmRwJylcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgIGVsLmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaXJlQ29udGV4dEV2ZW50KGV2ZW50OiBzdHJpbmcsIHZhbHVlOiBhbnksIHZhbHVlMT86IGFueSwgdmFsdWUyPzogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudChldmVudCwgdmFsdWUsIHZhbHVlMSwgdmFsdWUyKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0TW9iaWxlQ29uZmlnKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IG1vYmlsZUNvbmZpZyA9IHRoaXMubW9iaWxlQ29uZmlnO1xyXG4gICAgICAgIG1vYmlsZUNvbmZpZy50aXRsZSA9IHRoaXMuU2V0dGluZz8uQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ7XHJcbiAgICAgICAgbW9iaWxlQ29uZmlnLmRpYWxvZ0NvbmZpZyAmJiAobW9iaWxlQ29uZmlnLmRpYWxvZ0NvbmZpZy5hcmlhTGFiZWwgPSBtb2JpbGVDb25maWcudGl0bGUpO1xyXG4gICAgICAgIG1vYmlsZUNvbmZpZy5hcHByb3ZlQnV0dG9uVGV4dCA9IHRoaXMuX2JiYlBpcGUudHJhbnNmb3JtKCdPaycpO1xyXG4gICAgICAgIG1vYmlsZUNvbmZpZy5jYW5jZWxCdXR0b25UZXh0ID0gdGhpcy5fYmJiUGlwZS50cmFuc2Zvcm0oJ0NhbmNlbCcpO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9hZGRMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5vbikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQub24oe1xyXG4gICAgICAgICAgICAgICAgQ29udHJvbFZhbHVlQ2hhbmdlZDogdGhpcy5fc2V0VmFsdWUuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIENvbnRyb2xEaXNhYmxlQ2hhbmdlZDogdGhpcy5fc2V0RGlzYWJsZS5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgICAgICAgQ29udHJvbFJlYWRvbmx5Q2hhbmdlZDogdGhpcy5fc2V0UmVhZG9ubHkuYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIENvbnRyb2xSZWZyZXNoOiB0aGlzLl9zZXRSZWZyZXNoLmJpbmQodGhpcylcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9yZW1vdmVMaXN0ZW5lcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC51bikge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudW4oJ0NvbnRyb2xWYWx1ZUNoYW5nZWQnLCB0aGlzLl9zZXRWYWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbERpc2FibGVDaGFuZ2VkJywgdGhpcy5fc2V0RGlzYWJsZSk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFJlYWRvbmx5Q2hhbmdlZCcsIHRoaXMuX3NldFJlYWRvbmx5KTtcclxuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sUmVmcmVzaCcsIHRoaXMuX3NldFJlZnJlc2gpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldFJlZnJlc2godmFsdWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZWZyZXNoU291cmNlLm5leHQodmFsdWUpO1xyXG4gICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX3NldERpc2FibGUodmFsdWUsIGNoYW5nZURldGVjdCA9IHRydWUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kaXNhYmxlQ2hhbmdlZFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9zZXRSZWFkb25seSh2YWx1ZSwgY2hhbmdlRGV0ZWN0ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3JlYWRvbmx5Q2hhbmdlZFNvdXJjZS5uZXh0KHZhbHVlKTtcclxuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9maWVsZC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBTVQsdUJBQXVCLEVBRXZCLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQTZCdkMsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxhQUFhO0lBbUMxRCxZQUNjLGNBQTZCLEVBQzdCLFFBQTBCLEVBQzFCLFlBQW9DLEVBQ3BDLFlBQXlCLEVBQ3pCLEdBQWUsRUFDZixJQUF1QixFQUN2QixVQUFxQixFQUNyQixlQUErQixFQUMvQixhQUEyQixFQUNTLGNBQW1CLEVBQ25DLGNBQTZCLEVBQzdCLFlBQXlCLEVBQ3pCLGNBQXFDLEVBQ3JDLGFBQW9DO1FBRWxFLEtBQUssRUFBRSxDQUFDO1FBZkUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFDMUIsaUJBQVksR0FBWixZQUFZLENBQXdCO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFhO1FBQ3pCLFFBQUcsR0FBSCxHQUFH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QUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBQ1MsWUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLEdBQUcsSUFBSTtRQUM3QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksWUFBWSxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM3QjtJQUNMLENBQUM7OytHQTlKaUIsa0JBQWtCLDhSQTZDWixjQUFjO21HQTdDcEIsa0JBQWtCLHVVQUgxQixFQUFFOzJGQUdNLGtCQUFrQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQThDUSxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGNBQWM7OzBCQUNqQyxJQUFJOzswQkFBSSxRQUFROzswQkFDaEIsSUFBSTs7MEJBQUksUUFBUTs7MEJBQ2hCLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixJQUFJOzswQkFBSSxRQUFROzRDQWhEWixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgUmVuZGVyZXIyLFxuICAgIFNlbGYsXG4gICAgT3B0aW9uYWwsXG4gICAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vZGF0ZS1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBESUFMT0dfU0VSVklDRSB9IGZyb20gJy4uL2luamRlY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IEJiYlRyYW5zbGF0ZVBpcGUsIE51bWVyYWxQaXBlLCBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLCBQb3J0YWxTZXJ2aWNlLCBVcGxvYWRTZXJ2aWNlLCBWaWRlb1JlY29yZGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcbmltcG9ydCB7IEdlbmVyYWxDb250cm9sSW5mb01vZGVsLCBBYmJyZXZhdGlvbkRldmljZVNpemUgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTZXR0aW5nIHtcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgQ29udHJvbEZpZWxkQ2FwdGlvbjogc3RyaW5nO1xuICAgIENvbnRyb2xGaWVsZENhcHRpb25UcmFuc2xhdGVkOiBzdHJpbmc7XG4gICAgQ29udHJvbEZpZWxkRGVmSWQ6IHN0cmluZztcbiAgICBDb250cm9sTmFtZTogc3RyaW5nO1xuICAgIFJlbGF0ZWRGaWVsZExpc3Q6IFtdO1xuICAgIEhpZGU6IGJvb2xlYW47XG4gICAgeHR5cGU6IHN0cmluZztcbiAgICBMYWJlbFBvc2l0aW9uOiBzdHJpbmc7XG4gICAgSXNNYW5kYXRvcnk6IGJvb2xlYW47XG4gICAgSXNWaXNpYmxlOiBib29sZWFuO1xuICAgIFNob3dMYWJlbDogYm9vbGVhbjtcbiAgICBJc1JlYWRPbmx5OiBib29sZWFuO1xuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcbiAgICBJc0JvbGQ6IGJvb2xlYW47XG4gICAgSXNBdXRvbWF0aWM6IGJvb2xlYW47XG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcbiAgICBGaWVsZEljb246IHN0cmluZztcbiAgICBJc0x0cjogYm9vbGVhbjtcbn1cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1maWVsZC1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRmllbGRCYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoKSBjb250ZXh0OiBhbnk7XG4gICAgQElucHV0KCkgZm9jdXNDb250cm9sOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxheW91dEluZm86IGFueTtcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICAgIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XG4gICAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG4gICAgQElucHV0KCkgaW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmb3JtbWF0ZWRWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEpzb25FeHRyYVByb3A6IGFueTtcbiAgICBwYXJhbWV0ZXJzOiBhbnk7XG4gICAgU2V0dGluZzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWw7XG4gICAgcmVmcmVzaCQ6IE9ic2VydmFibGU8YW55PjtcbiAgICB2YWx1ZSQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBkaXNhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICByZWFkb25seSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZGlzYWJsZU9yUmVhZG9ubHkkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPEFiYnJldmF0aW9uRGV2aWNlU2l6ZT47XG4gICAgZWw6IGFueTtcbiAgICBtb2JpbGVDb25maWc6IGFueSA9IHtcbiAgICAgICAgdGl0bGU6ICfYp9mG2KrYrtin2KgnLFxuICAgICAgICBhcHByb3ZlQnV0dG9uVGV4dDogJ9iq2KfbjNuM2K8nLFxuICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn2KfZhti12LHYp9mBJyxcbiAgICAgICAgaGFzQ2xvc2VCdXR0b246IHRydWUsXG4gICAgICAgIGRpYWxvZ0NvbmZpZzoge1xuICAgICAgICAgICAgYXJpYUxhYmVsOiAn2KfZhtiq2K7Yp9ioJ1xuICAgICAgICB9XG4gICAgfTtcbiAgICBwcml2YXRlIF9yZWZyZXNoU291cmNlID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICAgIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZFNvdXJjZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBwcml2YXRlIF9kaXNhYmxlQ2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX3JlYWRvbmx5Q2hhbmdlZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9iYmJQaXBlOiBCYmJUcmFuc2xhdGVQaXBlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BpY0ZpZWxkU3JjOiBQaWN0dXJlRmllbGRTb3VyY2VQaXBlLFxuICAgICAgICBwcm90ZWN0ZWQgX251bWVyYWxQaXBlOiBOdW1lcmFsUGlwZSxcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJvdGVjdGVkIF9kb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChESUFMT0dfU0VSVklDRSkgcHJvdGVjdGVkIF9kaWFsb2dTZXJ2aWNlOiBhbnksXG4gICAgICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfZGF0ZVNlcnZpY2U6IERhdGVTZXJ2aWNlLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfYXVkaW9SZWNvcmRlcjogQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLFxuICAgICAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBfdmlkZW9SZWNvZGVyOiBWaWRlb1JlY29yZGluZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoJCA9IHRoaXMuX3JlZnJlc2hTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLnZhbHVlJCA9IHRoaXMuX3ZhbHVlQ2hhbmdlZFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmRldmljZVNpemUkO1xuICAgICAgICB0aGlzLmRpc2FibGUkID0gdGhpcy5fZGlzYWJsZUNoYW5nZWRTb3VyY2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5yZWFkb25seSQgPSB0aGlzLl9yZWFkb25seUNoYW5nZWRTb3VyY2VcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlT3JSZWFkb25seSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnJlYWRvbmx5JCwgdGhpcy5kaXNhYmxlJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtkaXNhYmxlLCByZWFkb25seV0pID0+IGRpc2FibGUgfHwgcmVhZG9ubHkpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmVsID0gX2VsO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLlNldHRpbmcgPSB0aGlzLmNvbnRleHQgPyB0aGlzLmNvbnRleHQuU2V0dGluZyA6IG51bGw7XG4gICAgICAgICAgICBjb25zdCByZWFkb25seSA9IHRoaXMuY29udGV4dD8ucmVhZE9ubHk7XG4gICAgICAgICAgICB0aGlzLl9zZXRSZWFkb25seShyZWFkb25seSwgZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5fc2V0RGlzYWJsZSh0aGlzLmNvbnRleHQuZGlzYWJsZSwgZmFsc2UpO1xuICAgICAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LCAnU2V0dGluZy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLkpzb25FeHRyYVByb3AgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLkpzb25FeHRyYVByb3AnLCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9hZGRMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLl9zZXRNb2JpbGVDb25maWcoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX3JlbW92ZUxpc3RlbmVyKCk7XG4gICAgfVxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzQ29udHJvbCkge1xuICAgICAgICAgICAgY29uc3QgZWxEb20gPSB0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZm9jdXNhYmxlTm9kZUxpc3Q6IE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+ID0gZWxEb20ucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAnIGJ1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PeKAnS0x4oCzXSknXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgbGV0IGZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGZvY3VzYWJsZU5vZGVMaXN0LmZvckVhY2goKGVsOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ05hbWU6IHN0cmluZyA9IGVsLnRhZ05hbWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICFmb2N1c2VkICYmXG4gICAgICAgICAgICAgICAgICAgIGVsLm9mZnNldFdpZHRoID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICBlbC5vZmZzZXRIZWlnaHQgPiAwICYmXG4gICAgICAgICAgICAgICAgICAgIGVsLmdldEF0dHJpYnV0ZSgnZGlzYWJsZWQnKSAhPT0gJ3RydWUnICYmXG4gICAgICAgICAgICAgICAgICAgIGVsLmdldEF0dHJpYnV0ZSgnbmctcmVmbGVjdC1kaXNhYmxlZCcpICE9PSAndHJ1ZScgJiZcbiAgICAgICAgICAgICAgICAgICAgIXRhZ05hbWUuc3RhcnRzV2l0aCgnZmRwJylcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgZWwuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgZm9jdXNlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmaXJlQ29udGV4dEV2ZW50KGV2ZW50OiBzdHJpbmcsIHZhbHVlOiBhbnksIHZhbHVlMT86IGFueSwgdmFsdWUyPzogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoZXZlbnQsIHZhbHVlLCB2YWx1ZTEsIHZhbHVlMik7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0TW9iaWxlQ29uZmlnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBtb2JpbGVDb25maWcgPSB0aGlzLm1vYmlsZUNvbmZpZztcbiAgICAgICAgbW9iaWxlQ29uZmlnLnRpdGxlID0gdGhpcy5TZXR0aW5nPy5Db250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDtcbiAgICAgICAgbW9iaWxlQ29uZmlnLmRpYWxvZ0NvbmZpZyAmJiAobW9iaWxlQ29uZmlnLmRpYWxvZ0NvbmZpZy5hcmlhTGFiZWwgPSBtb2JpbGVDb25maWcudGl0bGUpO1xuICAgICAgICBtb2JpbGVDb25maWcuYXBwcm92ZUJ1dHRvblRleHQgPSB0aGlzLl9iYmJQaXBlLnRyYW5zZm9ybSgnT2snKTtcbiAgICAgICAgbW9iaWxlQ29uZmlnLmNhbmNlbEJ1dHRvblRleHQgPSB0aGlzLl9iYmJQaXBlLnRyYW5zZm9ybSgnQ2FuY2VsJyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfYWRkTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRleHQgJiYgdGhpcy5jb250ZXh0Lm9uKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRleHQub24oe1xuICAgICAgICAgICAgICAgIENvbnRyb2xWYWx1ZUNoYW5nZWQ6IHRoaXMuX3NldFZhbHVlLmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgQ29udHJvbERpc2FibGVDaGFuZ2VkOiB0aGlzLl9zZXREaXNhYmxlLmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgQ29udHJvbFJlYWRvbmx5Q2hhbmdlZDogdGhpcy5fc2V0UmVhZG9ubHkuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBDb250cm9sUmVmcmVzaDogdGhpcy5fc2V0UmVmcmVzaC5iaW5kKHRoaXMpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3JlbW92ZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC51bikge1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sVmFsdWVDaGFuZ2VkJywgdGhpcy5fc2V0VmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5jb250ZXh0LnVuKCdDb250cm9sRGlzYWJsZUNoYW5nZWQnLCB0aGlzLl9zZXREaXNhYmxlKTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFJlYWRvbmx5Q2hhbmdlZCcsIHRoaXMuX3NldFJlYWRvbmx5KTtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC51bignQ29udHJvbFJlZnJlc2gnLCB0aGlzLl9zZXRSZWZyZXNoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFZhbHVlKHZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldFJlZnJlc2godmFsdWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNvdXJjZS5uZXh0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXREaXNhYmxlKHZhbHVlLCBjaGFuZ2VEZXRlY3QgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0UmVhZG9ubHkodmFsdWUsIGNoYW5nZURldGVjdCA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVhZG9ubHlDaGFuZ2VkU291cmNlLm5leHQodmFsdWUpO1xuICAgICAgICBpZiAoY2hhbmdlRGV0ZWN0KSB7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -169,4 +169,4 @@ export const DateRanges = [
169
169
  'DateR_NextMonth',
170
170
  'DateR_NextYear'
171
171
  ];
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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QUFPLFdBQVc7SUFJcEIsWUFBbUIsTUFBd0IsRUFBUyxJQUFTO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBSztRQUN6RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztDQUNKO0FBK0ZELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlSW5mbyBhcyBEYXRlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2VzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBDb250cm9sRmllbGRDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBDb250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDogc3RyaW5nO1xyXG4gICAgQ29udHJvbEZpZWxkRGVmSWQ6IHN0cmluZztcclxuICAgIENvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgICBSZWxhdGVkRmllbGRMaXN0OiBbXTtcclxuICAgIEhpZGU6IGJvb2xlYW47XHJcbiAgICB4dHlwZTogc3RyaW5nO1xyXG4gICAgTGFiZWxQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgSXNNYW5kYXRvcnk6IGJvb2xlYW47XHJcbiAgICBJc1Zpc2libGU6IGJvb2xlYW47XHJcbiAgICBTaG93TGFiZWwgPSB0cnVlO1xyXG4gICAgSXNSZWFkT25seTogYm9vbGVhbjtcclxuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcclxuICAgIElzQm9sZDogYm9vbGVhbjtcclxuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xyXG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcclxuICAgIENvbXBvbmVudDogc3RyaW5nO1xyXG4gICAgSW5mbzogQ29udHJvbEluZm9UeXBlcztcclxuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xyXG4gICAgSXNMdHI6IGJvb2xlYW47XHJcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUF0dGFjaG1lbnRJbmZvIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBJc05ldzogYm9vbGVhbjtcclxuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcclxuICAgIFR5cGU6IHN0cmluZztcclxuICAgIEZpbGVOYW1lPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgTWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgICBNaW5MZW5ndGg6IG51bWJlcjtcclxuICAgIFJlZ3VsYXJFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgICBJc1Bhc3N3b3JkOiBib29sZWFuO1xyXG4gICAgSXNNdWx0aUxpbmU6IGJvb2xlYW47XHJcbiAgICBOdWxsVGV4dDogc3RyaW5nO1xyXG4gICAgQWxsb3dlZFN0cmluZ0NoYXJzOiBzdHJpbmc7XHJcbiAgICBPbmx5QWNjZXB0Q3VycmVudEN1bHR1cmU6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJpY2hTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBJc0h0bWxWaWV3ZXI6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIE51bWJlckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xyXG4gICAgTWF4VmFsdWU6IG51bWJlcjtcclxuICAgIERlY2ltYWxQcmVjaXNpb246IG51bWJlcjtcclxuICAgIFNob3dUaG91c2FuZFNlcGVyYXRvcjogYm9vbGVhbjtcclxuICAgIE51bWJlclR5cGU6IHN0cmluZztcclxuICAgIEN1cnJlbmN5U3ltYm9sOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEZpbGVQaWN0dXJlSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgRXh0OiBzdHJpbmc7XHJcbiAgICBGaWxlSWQ6IHN0cmluZztcclxuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBDYW5EZWxldGU6IGJvb2xlYW47XHJcbiAgICBDYW5TYXZlOiBib29sZWFuO1xyXG4gICAgQ2FuVmlldzogYm9vbGVhbjtcclxuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBNYXhGaWxlQ291bnQ6IG51bWJlcjtcclxuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcclxuICAgIE9mZmljZU9ubGluZTogYm9vbGVhbjtcclxuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xyXG4gICAgVmlld1R5cGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBNZW51TmFtZTogc3RyaW5nO1xyXG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcclxuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XHJcbiAgICBEeW5hbWljQ29tbWFuZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBJY29uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHt9XHJcbmV4cG9ydCBjbGFzcyBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBTaXplTW9kZTogbnVtYmVyO1xyXG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xyXG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEdhdWdlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xyXG4gICAgTWF4VmFsdWU6IG51bWJlcjtcclxuICAgIE1heFZhbHVlMjogbnVtYmVyO1xyXG4gICAgTWluVmFsdWU6IG51bWJlcjtcclxuICAgIE1pblZhbHVlMjogbnVtYmVyO1xyXG4gICAgVmFsdWU6IG51bWJlcjtcclxufVxyXG5leHBvcnQgdHlwZSBSZWxhdGlvbkxpc3RUeXBlcyA9XHJcbiAgICB8IFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbDtcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcclxufVxyXG5leHBvcnQgY2xhc3MgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xyXG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEF1dG9TYXZlO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZWxhdGVkUmVwb3J0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xyXG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xyXG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XHJcbn1cclxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgRXh0cmFUZXh0OiBzdHJpbmc7XHJcbiAgICBTdWdnZXN0aW9uczogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBFbnVtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBTaG93QXNSYWRpb0J1dHRvbjogYm9vbGVhbjtcclxuICAgIEljb25EaXNwbGF5VHlwZTogc3RyaW5nO1xyXG4gICAgRGF0YVNvdXJjZToge1xyXG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcclxuICAgIH07XHJcbiAgICBFbXB0eVJvd0RhdGE6IFJvd0RhdGFPcHRpb247XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJvd0RhdGFPcHRpb24ge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIElzRW1wdHk6IGJvb2xlYW47XHJcbiAgICB0eHQ6IHN0cmluZztcclxuICAgIHR4dF9zYWZlPzogc3RyaW5nO1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIENhbGVuZGFyVHlwZTogc3RyaW5nO1xyXG4gICAgRGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gICAgU2hvd0RhdGUxOiBib29sZWFuO1xyXG4gICAgU2hvd1RpbWUxOiBib29sZWFuO1xyXG4gICAgVGltZUZvcm1hdDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBCb29sQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEZhbHNlQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgVHJ1ZUNhcHRpb246IHN0cmluZztcclxuICAgIFRydWVJY29uOiBzdHJpbmc7XHJcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xyXG4gICAgRmFsc2VJY29uOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBJbm5lckN0cmxyOiBDb250cm9sSW5mb1R5cGVzO1xyXG4gICAgRXhlY3V0YWlvblRpbWU6IHN0cmluZztcclxuICAgIEVkaXRUeXBlOiBzdHJpbmc7XHJcbiAgICBEb250U2hvd1JlY2FsY3VsYXRlQnV0dG9uOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFR5cGVEZWZJZDogYW55O1xyXG4gICAgVHlwZURlZkljb246IHN0cmluZztcclxuICAgIElzQ29tcG9zZWRSZWxhdGlvbjogc3RyaW5nO1xyXG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgVHlwZVZpZXdJZDogc3RyaW5nO1xyXG4gICAgRm9ybVBhbmVsU2V0dGluZzogRm9ybVNldHRpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvIHtcclxuICAgIGZpbGVJZDogc3RyaW5nO1xyXG4gICAgZmlsZVVybDogc3RyaW5nO1xyXG4gICAgdmlld0luQnJvd3NlcjogYm9vbGVhbjtcclxuICAgIGNvbnZlcnRUbzogc3RyaW5nO1xyXG4gICAgaXNPZmZpY2VPbmxpbmU6IGJvb2xlYW47XHJcbiAgICBmb3JPY3g6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvUmVzdWx0IHtcclxuICAgIGZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgICBjb250ZW50OiBzdHJpbmc7XHJcbiAgICBjb250ZW50VHlwZTogc3RyaW5nO1xyXG4gICAgc3VjY2VlZDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgTGluZWFyTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBEZWZhdWx0RmllbGQ6IHN0cmluZztcclxuICAgIEV4dHJhSnNvblByb3BGaWVsZDogc3RyaW5nO1xyXG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xyXG4gICAgSXNHZW5lcmFsSW5mbzogYm9vbGVhbjtcclxuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBSZWxhdGlvbjogTGlzdFJlbGF0aW9uTW9kZWw7XHJcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBSb3dJY29uOiBzdHJpbmc7XHJcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgTGlzdFJlbGF0aW9uTW9kZWwge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgQ2hpbGRGZElkOiBzdHJpbmc7XHJcbiAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xyXG4gICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcclxuICAgIFBhcmVudE1vSWQ6IHN0cmluZztcclxuICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xyXG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xyXG4gICAgSGlkZUNvbWJvOiBib29sZWFuO1xyXG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xyXG4gICAgUGFzc1BhcmVudEZvcm06IGJvb2xlYW47XHJcbiAgICBTaG93TmV3QnV0dG9uOiBib29sZWFuO1xyXG4gICAgU2hvd09rQ2FuY2VsOiBib29sZWFuO1xyXG4gICAgVmlld1JlbGF0ZWRGb3JtVHlwZTogc3RyaW5nO1xyXG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XHJcbiAgICBEYXRhU291cmNlOiB7XHJcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xyXG4gICAgfTtcclxuICAgIFByZXZpZXdGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIFByZXZpZXdGaWVsZElkOiBzdHJpbmc7XHJcbiAgICBQcmV2aWV3RmllbGROYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnRyb2xJbmZvVHlwZXMgPVxyXG4gICAgfCBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IEJvb2xDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IEVudW1Db250cm9sSW5mb01vZGVsXHJcbiAgICB8IEljb25Db250cm9sSW5mb01vZGVsXHJcbiAgICB8IEZpbGVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBOdW1iZXJDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IFN0cmluZ0NvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IEdhdWdlQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBDb21tYW5kQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBDb2RlRWRpdG9yQ29udHJvbEluZm9Nb2RlbDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXdTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIExheW91dDk0OiBhbnk7XHJcbiAgICBDb250cm9sSW5mbzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIERhdGE6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICAgICAgTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICB9O1xyXG4gICAgVmlldzogRm9ybVZpZXdTZXR0aW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICAkRmllbGREaWN0PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgICRSZXBvcnRJZD86IHN0cmluZztcclxuICAgICRUeXBlPzogc3RyaW5nO1xyXG4gICAgJFN0eWxlSW5kZXg/OiBudW1iZXJbXTtcclxuICAgICRDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICAkSWNvbj86IHN0cmluZztcclxuICAgICRTdGF0ZT86IHN0cmluZztcclxuICAgICRUeXBlRGVmSWQ/OiBzdHJpbmc7XHJcbiAgICAkVHlwZURlZk5hbWU/OiBzdHJpbmc7XHJcbiAgICAkQ2hpbGRyZW4/OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIENhbGVuZGFyTWV0YW9iamVjdERhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgJENvbG9yOiBzdHJpbmc7XHJcbiAgICAkTW9tZW50U3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICAkTW9tZW50RW5kRGF0ZTogc3RyaW5nO1xyXG4gICAgJFN0YXJ0VGltZXM6IHN0cmluZztcclxuICAgICRFbmRUaW1lczogc3RyaW5nO1xyXG4gICAgJFRpdGxlOiBzdHJpbmc7XHJcbiAgICAkTm90ZXM6IHN0cmluZztcclxuICAgICRTdGFydERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xyXG4gICAgJEVuZERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTW9Gb3JSZXBvcnRNb2RlbCB7XHJcbiAgICAkVHlwZT86IHN0cmluZztcclxuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ6IHN0cmluZztcclxuICAgIEljb24/OiBzdHJpbmc7XHJcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcclxuICAgIERlbGV0ZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xyXG4gICAgQWRkZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xyXG4gICAgUGFnaW5nOiBQYWdpbmdTZXR0aW5nO1xyXG4gICAgUmVsYXRpb24/OiB7XHJcbiAgICAgICAgUmVsYXRpb25UeXBlOiBzdHJpbmc7XHJcbiAgICAgICAgUGFyZW50TW9JZDogc3RyaW5nO1xyXG4gICAgICAgIFBhcmVudEZkSWQ6IHN0cmluZztcclxuICAgICAgICBDaGlsZEZkSWQ6IHN0cmluZztcclxuICAgICAgICBQYXJlbnRGZE5hbWU6IHN0cmluZztcclxuICAgICAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XHJcbiAgICAgICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcclxuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFBhcmVudEZvcm1zOiBib29sZWFuO1xyXG4gICAgICAgIElzQXV0b1NhdmVfUmVsb2FkUm9vdFBhcmVudExpc3Q6IGJvb2xlYW47XHJcbiAgICB9O1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5EZWxldGVkTGlzdCA9IHRoaXMuQWRkZWRMaXN0ID0gdGhpcy5Nb0RhdGFMaXN0ID0gW107XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VJbmZvIHtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBGb2xkZXJJZDogc3RyaW5nO1xyXG4gICAgSWNvblVybDogc3RyaW5nO1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0RXh0cmFJbmZvIGV4dGVuZHMgUmVwb3J0QmFzZUluZm8ge1xyXG4gICAgVHlwZURlZklkOiBzdHJpbmc7XHJcbiAgICBUeXBlRGVmQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgUmVwb3J0VHlwZTogc3RyaW5nO1xyXG4gICAgSGlkZVRvb2xiYXI6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbCBleHRlbmRzIExpc3RSZWxhdGlvbk1vZGVsIHtcclxuICAgIFBhcmVudEZkSWQ6IHN0cmluZztcclxuICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEZpZWxkSW5mb1R5cGVFbnVtIHtcclxuICAgIEludEluZm8gPSAwLFxyXG4gICAgU3RyaW5nSW5mbyA9IDIsXHJcbiAgICBEYXRlSW5mbyA9IDMsXHJcbiAgICBCb29sSW5mbyA9IDUsXHJcbiAgICBFbnVtSW5mbyA9IDYsXHJcbiAgICBVc2VySW5mbyA9IDcsXHJcbiAgICBDYXRlZ29yeUluZm8gPSA4LFxyXG4gICAgTWV0YU9iamVjdEluZm8gPSA5LFxyXG4gICAgQ29tbWFuZEluZm8gPSAxMCwgLy8gMHgwMDAwMDAwQVxyXG4gICAgUGljdHVyZXNJbmZvID0gMTEsIC8vIDB4MDAwMDAwMEJcclxuICAgIFJlbGF0aW9uSW5mbyA9IDEyLCAvLyAweDAwMDAwMDBDXHJcbiAgICBIaXN0b3J5SW5mbyA9IDEzLCAvLyAweDAwMDAwMDBEXHJcbiAgICBSZWxhdGlvbkluZm9SZXZlcnNlX0Frc0xpc3RpID0gMTQsIC8vIDB4MDAwMDAwMEVcclxuICAgIENyZWF0b3JVc2VySW5mbyA9IDE1LCAvLyAweDAwMDAwMDBGXHJcbiAgICBDcmVhdGlvbkRhdGVJbmZvID0gMTYsIC8vIDB4MDAwMDAwMTBcclxuICAgIExhc3RVcGRhdGVEYXRlSW5mbyA9IDE3LCAvLyAweDAwMDAwMDExXHJcbiAgICBSZW1pbmRlckluZm8gPSAxOCwgLy8gMHgwMDAwMDAxMlxyXG4gICAgUmljaFN0cmluZ0luZm8gPSAxOSwgLy8gMHgwMDAwMDAxM1xyXG4gICAgQ29udmVydENvbW1hbmRJbmZvID0gMjAsIC8vIDB4MDAwMDAwMTRcclxuICAgIFJlbGF0aW9uSW5mb1NpbmdsZVJldmVyc2VfQWtzVGFraUxpc3RpID0gMjEsIC8vIDB4MDAwMDAwMTVcclxuICAgIERpYWxDb21tYW5kSW5mbyA9IDIyLCAvLyAweDAwMDAwMDE2XHJcbiAgICBGaW5kQ29udGFjdENvbW1hbmRJbmZvID0gMjMsIC8vIDB4MDAwMDAwMTdcclxuICAgIFNlcXVlbmNlQ29tbWFuZEluZm8gPSAyNCwgLy8gMHgwMDAwMDAxOFxyXG4gICAgQ3VycmVuY3lJbmZvID0gMjUsIC8vIDB4MDAwMDAwMTlcclxuICAgIFNpbmdsZVBpY3R1cmVJbmZvID0gMjYsIC8vIDB4MDAwMDAwMUFcclxuICAgIFdvcmRSZXBvcnRDb21tYW5kSW5mbyA9IDI3LCAvLyAweDAwMDAwMDFCXHJcbiAgICBIaWVyYXJjaGljYWxJbmZvID0gMjgsIC8vIDB4MDAwMDAwMUNcclxuICAgIFRpbWVTcGFuSW5mbyA9IDI5LCAvLyAweDAwMDAwMDFEXHJcbiAgICBSZXBvcnRJbmZvID0gMzAsIC8vIDB4MDAwMDAwMUVcclxuICAgIEZpbGVJbmZvID0gMzEsIC8vIDB4MDAwMDAwMUZcclxuICAgIFdvcmRGaWxlSW5mbyA9IDMyLCAvLyAweDAwMDAwMDIwXHJcbiAgICBQaWN0dXJlRmlsZUluZm8gPSAzMywgLy8gMHgwMDAwMDAyMVxyXG4gICAgR2F1Z2VJbmZvID0gMzQsIC8vIDB4MDAwMDAwMjJcclxuICAgIENvZGVJbmZvID0gMzUsIC8vIDB4MDAwMDAwMjNcclxuICAgIFdvcmtDZW50ZXJJbmZvID0gMzYsIC8vIDB4MDAwMDAwMjRcclxuICAgIElzRGVsZXRlZEluZm8gPSAzNywgLy8gMHgwMDAwMDAyNVxyXG4gICAgUm93TnVtYmVySW5mbyA9IDM4LCAvLyAweDAwMDAwMDI2XHJcbiAgICBCaW5hcnlJbmZvID0gMzksIC8vIDB4MDAwMDAwMjdcclxuICAgIFJldmVyc2VNZXRhT2JqZWN0SW5mb19Ba3NUYWtpVGFraSA9IDQwLCAvLyAweDAwMDAwMDI4XHJcbiAgICBDb2xvckluZm8gPSA0MSwgLy8gMHgwMDAwMDAyOVxyXG4gICAgSWNvbkluZm8gPSA0MiwgLy8gMHgwMDAwMDAyQVxyXG4gICAgUmVmcmVzaEZpZWxkQ29tbWFuZEluZm8gPSA0MywgLy8gMHgwMDAwMDAyQlxyXG4gICAgUmVmZXJlbmNlRmllbGRJbmZvID0gNDQsIC8vIDB4MDAwMDAwMkNcclxuICAgIFNlYXJjaENvbW1hbmRJbmZvID0gNDUsIC8vIDB4MDAwMDAwMkRcclxuICAgIE9yZGVySW5mbyA9IDQ2IC8vIDB4MDAwMDAwMkVcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENsYXNzTmFtZXNNb2RlbCB7XHJcbiAgICBDb21tYW5kQmFyQ2xhc3M6IHN0cmluZztcclxuICAgIERhdGFDbGFzczogc3RyaW5nO1xyXG4gICAgU2VsZWN0aW9uQ2xhc3M6IHN0cmluZztcclxuICAgIFZpZXdlckNsYXNzOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBFeHRyYU1vZGVsIHtcclxuICAgIEN1c3RvbUNvbW1hbmRzPzogQ3VzdG9tQ29tbWFuZFtdO1xyXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzPzogRGVmYXVsdENvbW1hbmRzQWNjZXNzO1xyXG4gICAgUGFyZW50VWx2Q29uZmlnPzogYW55O1xyXG4gICAgUmVsYXRpb24/OiBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbDtcclxuICAgIFJlcG9ydD86IFJlcG9ydEV4dHJhSW5mbztcclxuICAgIEV4dHJhSnNvblByb3BSZXBvcnQ/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgQ2xhc3NOYW1lczogQ2xhc3NOYW1lc01vZGVsO1xyXG4gICAgRXh0cmE6IEV4dHJhTW9kZWw7XHJcbiAgICBWaWV3OiBWaWV3VHlwZXM7XHJcbiAgICBTZWFyY2hQYW5lbDogYW55O1xyXG4gICAgRGVmYXVsdEl0ZW1Db21wb25lbnQgPSAnUmVwb3J0RGVmYXVsdEl0ZW1Db21wb25lbnQnO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdENvbW1hbmRzQWNjZXNzIHtcclxuICAgIEFkZDogYm9vbGVhbjtcclxuICAgIEFkZFRvTGlzdDogYm9vbGVhbjtcclxuICAgIERlbGV0ZTogYm9vbGVhbjtcclxuICAgIEVkaXQ6IGJvb2xlYW47XHJcbiAgICBFeHBvcnQ6IGJvb2xlYW47XHJcbiAgICBQcmludDogYm9vbGVhbjtcclxuICAgIFJlZnJlc2g6IGJvb2xlYW47XHJcbiAgICBSZW1vdmVGcm9tTGlzdDogYm9vbGVhbjtcclxuICAgIFZpZXc6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbW1hbmQge1xyXG4gICAgRGF0YTogYW55O1xyXG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcclxuICAgIEhpZGVEaXNhYmxlOiBib29sZWFuO1xyXG4gICAgSWNvblVybDogc3RyaW5nO1xyXG4gICAgSXNMYXJnZTogYm9vbGVhbjtcclxuICAgIE15dHlwZTogc3RyaW5nO1xyXG4gICAgT3JkZXI6IG51bWJlcjtcclxuICAgIFNob3dPbkNvbnRleHQ6IGJvb2xlYW47XHJcbiAgICBTaG93T25Ub29sYmFyOiBib29sZWFuO1xyXG4gICAgVGV4dDogc3RyaW5nO1xyXG4gICAgVXNlQWx3YXlzOiBib29sZWFuO1xyXG4gICAgVXNlRm9yTXVsdGk6IGJvb2xlYW47XHJcbiAgICBVc2VGb3JTaW5nbGU6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydE1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIERhdGE6IE1vRm9yUmVwb3J0TW9kZWw7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRMaXN0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgVmlldzogR3JpZFZpZXc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydEZvcm1Nb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBGb3JtVmlldztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3IHtcclxuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XHJcbiAgICBQYXJlbnRJZERiTmFtZTogc3RyaW5nO1xyXG4gICAgU2hvd1NlbGVjdGlvbkNoZWNrczogYm9vbGVhbjtcclxuICAgIFRyZWVBdXRvT3BlbkxldmVsczogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRWaWV3IHtcclxuICAgIEFsbG93R3JpZENvbHVtblNvcnQ6IGJvb2xlYW47XHJcbiAgICBBdXRvSW5saW5lRWRpdDogYm9vbGVhbjtcclxuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XHJcbiAgICBDb2x1bW5zOiBBcnJheTxSZXBvcnRWaWV3Q29sdW1uPjtcclxuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XHJcbiAgICBEaXNhYmxlUm93UmVsb2FkOiBib29sZWFuO1xyXG4gICAgR3JpZFNldHRpbmc6IEdyaWRTZXR0aW5nO1xyXG4gICAgR3JpZF9GcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xyXG4gICAgR3JpZF9HcmlkTGluZXM6IHN0cmluZztcclxuICAgIEdyaWRfSGlkZUhlYWRlcjogYm9vbGVhbjtcclxuICAgIEdyaWRfU2hvd1Jvd051bWJlcjogYm9vbGVhbjtcclxuICAgIEhhc0NvbmRpdGlvbmFsRm9ybWF0OiBib29sZWFuO1xyXG4gICAgSGFzU3VtbWFyeVJvdzogYm9vbGVhbjtcclxuICAgIEhpZGVJY29uOiBib29sZWFuO1xyXG4gICAgSXNDaGVja0xpc3Q6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclZpZXcge1xyXG4gICAgQ2FsZW5kYXJGaWVsZHM6IENhbGVuZGFyRmllbGRzO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXcge1xyXG4gICAgRm9ybVBhbmVsU2V0dGluZzogYW55O1xyXG59XHJcbmV4cG9ydCB0eXBlIFZpZXdUeXBlcyA9IEdyaWRWaWV3IHwgQ2FsZW5kYXJWaWV3IHwgVHJlZVZpZXcgfCBGb3JtVmlldztcclxuXHJcbmV4cG9ydCB0eXBlIFJlcG9ydE1vZGVsVHlwZXMgPSBSZXBvcnRMaXN0TW9kZWwgfCBSZXBvcnRDYWxlbmRhck1vZGVsIHwgUmVwb3J0Rm9ybU1vZGVsIHwgUmVwb3J0VHJlZU1vZGVsO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydENhbGVuZGFyTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgVmlldzogQ2FsZW5kYXJWaWV3O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRUcmVlTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgVmlldzogVHJlZVZpZXc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckZpZWxkcyB7XHJcbiAgICBFbmREYXRlOiBzdHJpbmc7XHJcbiAgICBOb3Rlczogc3RyaW5nO1xyXG4gICAgU3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgQ29sb3I6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdDb2x1bW4ge1xyXG4gICAgQWxpYXM6IHN0cmluZztcclxuICAgIENhcHRpb246IHN0cmluZztcclxuICAgIEZpZWxkRGVmSWQ6IHN0cmluZztcclxuICAgIEZpZWxkVHlwZUlkOiBudW1iZXI7XHJcbiAgICBGaWVsZFR5cGU6IHN0cmluZztcclxuICAgIEhhc1N1bW1hcnk6IGJvb2xlYW47XHJcbiAgICBIaWRkZW46IGJvb2xlYW47XHJcbiAgICBJc0x0cjogYm9vbGVhbjtcclxuICAgIElzUHJldmlldzogYm9vbGVhbjtcclxuICAgIE1ldGFGaWVsZFR5cGVJZDogc3RyaW5nO1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxuICAgIFRhZz86IHN0cmluZztcclxuICAgIEljb246IHN0cmluZztcclxuICAgIE9ubHlJbWFnZT86IGJvb2xlYW47XHJcbiAgICBFeHRyYT86IGFueTtcclxuICAgICRXaWR0aDogc3RyaW5nO1xyXG4gICAgJFdpZHRoMj86IHN0cmluZztcclxuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xyXG4gICAgJENTU0NsYXNzTmFtZT86IHN0cmluZztcclxuICAgICRDdXN0b21Db21wb25lbnQ/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgR3JpZFNldHRpbmcge1xyXG4gICAgQ29sU2V0dGluZ0xpc3Q6IEFycmF5PENvbFNldHRpbmc+O1xyXG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XHJcbiAgICBBdXRvU2l6ZUNvbHVtbnM6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxuICAgIElzSGlkZGVuOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTb3J0U2V0dGluZyB7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBTb3J0RGlyZWN0aW9uOiBzdHJpbmc7XHJcbiAgICBJc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRGaWVsZCB7XHJcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbHVtbi5OYW1lO1xyXG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IGNvbHVtbi5DYXB0aW9uO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5EYXRlSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWUgKyAnJENhcHRpb24nXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5JY29uSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWVdLlVybDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXN1bHQge1xyXG4gICAgZGF0YTogeyBzdGg6IHN0cmluZyB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFBsYWNlSG9sZGVycz86IFBsYWNlSG9sZGVyRGF0YU1vZGVsW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQbGFjZUhvbGRlckRhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIElzUGFnZTogYm9vbGVhbjtcclxuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUGxhY2VIb2xkZXI6IFBsYWNlSG9sZGVyRGF0YU1vZGVsO1xyXG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XHJcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xyXG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xyXG4gICAgTW9kdWxlTGlzdDogTW9kdWxlTGlzdFJlcG9ydE1vZGVsO1xyXG4gICAgQ2hpbGRQYWdlTGlzdDogUGFnZUxpc3RSZXBvcnRNb2RlbDtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBSb3V0ZTogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0Um91dGU6IGJvb2xlYW47XHJcbiAgICBJc0xvZ2luUm91dGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9ydGFsRGF0YU1vZGVsIGV4dGVuZHMgUGFnZURhdGFNb2RlbCB7XHJcbiAgICBJc0FjdGl2ZTogYm9vbGVhbjtcclxuICAgIElzUHdhOiBib29sZWFuO1xyXG4gICAgUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZpc2liaWxpdHkge1xyXG4gICAgZW5hYmxlOiBib29sZWFuO1xyXG4gICAgdmlzaWJsZTogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJMYXlvdXQge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIFN1YnRpdGxlOiBzdHJpbmc7XHJcbiAgICBBdmF0YXI6IGFueTtcclxuICAgIEZhY2V0TGlzdDogeyBNb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZW51SXRlbSB7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBpdGVtSWQ6IHN0cmluZztcclxuICAgIERhdGE6IGFueTtcclxuICAgIENvbW1hbmQ6IGFueTtcclxuICAgIGhhbmRsZXI6ICgpID0+IHZvaWQ7XHJcbiAgICBJc0J1aWx0aW4/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5nU2V0dGluZyB7XHJcbiAgICBFbmRJbmRleDogbnVtYmVyO1xyXG4gICAgSGFzUGFnaW5nOiBib29sZWFuO1xyXG4gICAgUGFnZTogbnVtYmVyO1xyXG4gICAgUGFnZVNpemU6IG51bWJlcjtcclxuICAgIFJvd0NvdW50OiBudW1iZXI7XHJcbiAgICBTdGFydEluZGV4OiBudW1iZXI7XHJcbiAgICBUb3RhbFBhZ2VzOiBudW1iZXI7XHJcbiAgICBUb3RhbFJvd3M6IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkluZm9UeXBlIHtcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIEhpZGRlbjogYm9vbGVhbjtcclxuICAgIENhcHRpb246IHN0cmluZztcclxuICAgIElzTWFuZGF0b3J5PzogYm9vbGVhbjtcclxuICAgIFdpZHRoOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ6IHN0cmluZztcclxuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcclxuICAgIElzUHVibGljOiBib29sZWFuO1xyXG4gICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBib29sZWFuO1xyXG4gICAgU2VhcmNoTW8/OiBzdHJpbmc7XHJcbiAgICBGaWVsZHNTZXR0aW5nPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGV2aWNlU2l6ZSA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnIHwgJ3RhYmxldCc7XHJcbmV4cG9ydCBjb25zdCBEYXRlUmFuZ2VzID0gW1xyXG4gICAgJ0RhdGVSX05vbmUnLFxyXG4gICAgJ0RhdGVSX1NwZWNpZmljUmFuZ2UnLFxyXG4gICAgJ0RhdGVSX1RvZGF5JyxcclxuICAgICdEYXRlUl9UaGlzV2VlaycsXHJcbiAgICAnRGF0ZVJfVGhpc01vbnRoJyxcclxuICAgICdEYXRlUl9UaGlzWWVhcicsXHJcbiAgICAnRGF0ZVJfRGF5c0JlZm9yZScsXHJcbiAgICAnRGF0ZVJfUHJldldlZWsnLFxyXG4gICAgJ0RhdGVSX1ByZXZNb250aCcsXHJcbiAgICAnRGF0ZVJfUHJldlllYXInLFxyXG4gICAgJ0RhdGVSX0RheXNBZnRlcicsXHJcbiAgICAnRGF0ZVJfTmV4dFdlZWsnLFxyXG4gICAgJ0RhdGVSX05leHRNb250aCcsXHJcbiAgICAnRGF0ZVJfTmV4dFllYXInXHJcbl07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2Uge1xyXG4gICAgVWlDb21wb25lbnQ6IHtcclxuICAgICAgICBDb21wb25lbnQ6IGJvb2xlYW47XHJcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XHJcbiAgICAgICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcclxuICAgICAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcclxuICAgICAgICBTZXR0aW5nczogVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc7XHJcbiAgICB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgVHlwZTogc3RyaW5nO1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xyXG4gICAgSGlkZGVuOiBib29sZWFuO1xyXG4gICAgRW5hYmxlU2VhcmNoOiBib29sZWFuO1xyXG4gICAgRGlzYWJsZVJlc3BvbnNpdmU/OiBib29sZWFuO1xyXG4gICAgRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU/OiBib29sZWFuO1xyXG4gICAgSG9yaXpvbnRhbEdyb3VwQnk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0U2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBUaXRsZT86IHN0cmluZztcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBUZXh0VmlzaWJsZT86IGJvb2xlYW47XHJcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xyXG4gICAgSXNSb290PzogYm9vbGVhbjtcclxuICAgIFNlbGVjdGVkVGFiUGFnZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBYmJyZXZhdGlvbkRldmljZVNpemUgPSAncycgfCAnbScgfCAnbCcgfCAneGwnO1xyXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVOb2RlT2JqIHtcclxuICAgIGlzRXhwYW5kOiBib29sZWFuO1xyXG4gICAgdmlzaWJpbGl0eTogYm9vbGVhbjtcclxuICAgIGV4cGFuZDogKCkgPT4gdm9pZDtcclxuICAgIGNvbGxhcHNlOiAoKSA9PiB2b2lkO1xyXG4gICAgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIGNoaWxkcmVuOiBUcmVlTm9kZU9ialtdO1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBsZWFmOiBib29sZWFuO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgbGV2ZWw6IG51bWJlcjtcclxuICAgIGxvYWRpbmc/OiBib29sZWFuO1xyXG4gICAgaGFzT25lRGVwdGhMZXZlbD86IGJvb2xlYW47XHJcbiAgICBwYXJlbnROb2RlOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBmaXJzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBsYXN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIHByZXZpb3VzU2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xyXG4gICAgbmV4dFNpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIGF0dHJpYnV0ZXM6IHsgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwgfTtcclxuICAgIGhhc0NoaWxkTm9kZXM6ICgpID0+IGJvb2xlYW47XHJcbiAgICBub0Ryb3A6IGJvb2xlYW47XHJcbiAgICAkQ2hpbGRyZW4/OiBUcmVlTm9kZU9ialtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblJlc2l6ZWRBcmdzIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IHR5cGUgY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MgPSB7IGNvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+OyByZXNpemVkOiBBcnJheTxDb2x1bW5SZXNpemVkQXJncz4gfTtcclxuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBTb3VyY2VUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XHJcbiAgICBHcm91cENhcHRpb246IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEVqcmF5T2xnbyA9IHtcclxuICAgIE1vZHVsZTogc3RyaW5nO1xyXG4gICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgICBQYXJhbWV0ZXJzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIFNldHRpbmdzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVwbG9hZGluZ1N0YXRlIHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdXBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgc3RhdGU6ICdVcGxvYWRpbmcnIHwgJ0Vycm9yJyB8ICdDb21wbGV0ZScgfCAnU3RhcnQnO1xyXG4gICAgcHJvZ3Jlc3M6IGFueTtcclxufVxyXG5leHBvcnQgdHlwZSBHcm91cEJ5SXRlbSA9IHsgW2tleTogc3RyaW5nXTogYW55OyBpZDogc3RyaW5nOyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueVtdIH07XHJcbmV4cG9ydCB0eXBlIE5vdGlmeU9wdGlvbnMgPSB7XHJcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxyXG4gICAgSW1hZ2U6IHN0cmluZyB8IG51bGw7IC8vIEltYWdlIHNvdXJjZSBzdHJpbmdcclxuICAgIFRpdGxlOiBzdHJpbmcgfCBudWxsOyAvLyBUaXRsZSBvZiBub3RpZmljYXRpb24uIElmIHlvdSBkbyBub3QgaW5jbHVkZSB0aGUgdGl0bGUgaW4gb3B0aW9ucyBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgdGFrZXMgaXRzIHZhbHVlXHJcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xyXG4gICAgRGVsYXk6IG51bWJlcjsgLy8gSGlkZSBub3RpZmljYXRpb24gYWZ0ZXIgdGhpcyB0aW1lIChpbiBtaWxpc2Vjb25kcylcclxuICAgIENsb3NhYmxlOiBib29sZWFuOyAvLyBNYWtlIG5vdGlmaWNhdGlvbnMgY2xvc2FibGVcclxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxyXG4gICAgQ2xvc2VPbkNsaWNrOiBib29sZWFuOyAvLyBDbG9zZSBub3RpZmljYXRpb25zIGJ5IGNsaWNraW5nIG9uIHRoZW1cclxuICAgIElzUnRsOiBib29sZWFuO1xyXG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcclxuICAgIFNvdW5kUGF0aDogc3RyaW5nOyAvLyBUaGUgZm9sZGVyIHBhdGggd2hlcmUgc291bmRzIGFyZSBsb2NhdGVkXHJcbiAgICBTaXplOiBzdHJpbmc7IC8vIG5vcm1hbCwgbWluaSwgbGFyZ2VcclxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXHJcbiAgICBXaWR0aDogbnVtYmVyOyAvLyBXaWR0aCBvZiBub3RpZmljYXRpb24gYm94XHJcbiAgICBNZXNzYWdlSGVpZ2h0OiBudW1iZXI7IC8vIE5vdGlmaWNhdGlvbiBtZXNzYWdlIG1heGltdW0gaGVpZ2h0LlxyXG59O1xyXG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBWUksY0FBUyxHQUFHLElBQUksQ0FBQztJQVdyQixDQUFDO0NBQUE7QUFTRCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsdUJBQXVCO0NBU2xFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHNCQUFzQjtDQUVyRTtBQUNELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7Q0FPbEU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBSWhFO0FBQ0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtDQVVoRTtBQUNELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSx1QkFBdUI7Q0FLbkU7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsdUJBQXVCO0NBQUc7QUFDcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHVCQUF1QjtDQUl2RTtBQUNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSx1QkFBdUI7Q0FPakU7QUFNRCxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsdUJBQXVCO0NBR3hFO0FBQ0QsTUFBTSxPQUFPLHVCQUF3QixTQUFRLDRCQUE0QjtDQUd4RTtBQUNELE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSw0QkFBNEI7Q0FFckY7QUFDRCxNQUFNLE9BQU8sNkJBQThCLFNBQVEsdUJBQXVCO0NBSXpFO0FBQ0QsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtDQUd0RTtBQUNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx1QkFBdUI7Q0FRaEU7QUFDRCxNQUFNLE9BQU8sYUFBYTtDQU16QjtBQUNELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx1QkFBdUI7Q0FNcEU7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QUFPLFdBQVc7SUFJcEIsWUFBbUIsTUFBd0IsRUFBUyxJQUFTO1FBQTFDLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQVMsU0FBSSxHQUFKLElBQUksQ0FBSztRQUN6RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtZQUMzRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztDQUNKO0FBK0ZELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBEYXRlSW5mbyBhcyBEYXRlSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9kYXRlLXNlcnZpY2VzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBDb250cm9sRmllbGRDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBDb250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDogc3RyaW5nO1xyXG4gICAgQ29udHJvbEZpZWxkRGVmSWQ6IHN0cmluZztcclxuICAgIENvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgICBSZWxhdGVkRmllbGRMaXN0OiBbXTtcclxuICAgIEhpZGU6IGJvb2xlYW47XHJcbiAgICB4dHlwZTogc3RyaW5nO1xyXG4gICAgTGFiZWxQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgSXNNYW5kYXRvcnk6IGJvb2xlYW47XHJcbiAgICBJc1Zpc2libGU6IGJvb2xlYW47XHJcbiAgICBTaG93TGFiZWwgPSB0cnVlO1xyXG4gICAgSXNSZWFkT25seTogYm9vbGVhbjtcclxuICAgIElzRW5hYmxlZDogYm9vbGVhbjtcclxuICAgIElzQm9sZDogYm9vbGVhbjtcclxuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xyXG4gICAgSnNvbkV4dHJhUHJvcDogYW55IHwgbnVsbDtcclxuICAgIENvbXBvbmVudDogc3RyaW5nO1xyXG4gICAgSW5mbzogQ29udHJvbEluZm9UeXBlcztcclxuICAgIEZpZWxkSWNvbjogc3RyaW5nO1xyXG4gICAgSXNMdHI6IGJvb2xlYW47XHJcbiAgICBEaXNwbGF5VHlwZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUF0dGFjaG1lbnRJbmZvIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBJc05ldzogYm9vbGVhbjtcclxuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcclxuICAgIFR5cGU6IHN0cmluZztcclxuICAgIEZpbGVOYW1lPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgTWF4TGVuZ3RoOiBudW1iZXI7XHJcbiAgICBNaW5MZW5ndGg6IG51bWJlcjtcclxuICAgIFJlZ3VsYXJFeHByZXNzaW9uOiBzdHJpbmc7XHJcbiAgICBJc1Bhc3N3b3JkOiBib29sZWFuO1xyXG4gICAgSXNNdWx0aUxpbmU6IGJvb2xlYW47XHJcbiAgICBOdWxsVGV4dDogc3RyaW5nO1xyXG4gICAgQWxsb3dlZFN0cmluZ0NoYXJzOiBzdHJpbmc7XHJcbiAgICBPbmx5QWNjZXB0Q3VycmVudEN1bHR1cmU6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJpY2hTdHJpbmdDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgU3RyaW5nQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBJc0h0bWxWaWV3ZXI6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIE51bWJlckNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBNaW5WYWx1ZTogbnVtYmVyO1xyXG4gICAgTWF4VmFsdWU6IG51bWJlcjtcclxuICAgIERlY2ltYWxQcmVjaXNpb246IG51bWJlcjtcclxuICAgIFNob3dUaG91c2FuZFNlcGVyYXRvcjogYm9vbGVhbjtcclxuICAgIE51bWJlclR5cGU6IHN0cmluZztcclxuICAgIEN1cnJlbmN5U3ltYm9sOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEZpbGVQaWN0dXJlSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgRXh0OiBzdHJpbmc7XHJcbiAgICBGaWxlSWQ6IHN0cmluZztcclxuICAgIElzRGVsZXRlZDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBDYW5EZWxldGU6IGJvb2xlYW47XHJcbiAgICBDYW5TYXZlOiBib29sZWFuO1xyXG4gICAgQ2FuVmlldzogYm9vbGVhbjtcclxuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBNYXhGaWxlQ291bnQ6IG51bWJlcjtcclxuICAgIE1heEZpbGVTaXplS2I6IG51bWJlcjtcclxuICAgIE9mZmljZU9ubGluZTogYm9vbGVhbjtcclxuICAgIFZhbGlkRXh0ZW5zaW9uczogc3RyaW5nO1xyXG4gICAgVmlld1R5cGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgQ29tbWFuZENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBNZW51TmFtZTogc3RyaW5nO1xyXG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcclxuICAgIERpc3BsYXlUeXBlOiBzdHJpbmc7XHJcbiAgICBEeW5hbWljQ29tbWFuZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBJY29uQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHt9XHJcbmV4cG9ydCBjbGFzcyBQaWN0dXJlRmlsZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBTaXplTW9kZTogbnVtYmVyO1xyXG4gICAgTWF4RmlsZVNpemVLYjogbnVtYmVyO1xyXG4gICAgVmFsaWRFeHRlbnNpb25zOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEdhdWdlQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElzQXV0b21hdGljOiBib29sZWFuO1xyXG4gICAgTWF4VmFsdWU6IG51bWJlcjtcclxuICAgIE1heFZhbHVlMjogbnVtYmVyO1xyXG4gICAgTWluVmFsdWU6IG51bWJlcjtcclxuICAgIE1pblZhbHVlMjogbnVtYmVyO1xyXG4gICAgVmFsdWU6IG51bWJlcjtcclxufVxyXG5leHBvcnQgdHlwZSBSZWxhdGlvbkxpc3RUeXBlcyA9XHJcbiAgICB8IFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgUmFiZXRlaEFrc2VUYWtpTGlzdGlDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IFNpbmdsZVJlbGF0aW9uQ29udHJvbEluZm9Nb2RlbDtcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBVbHZTZXR0aW5nOiBSZXBvcnRNb2RlbDtcclxufVxyXG5leHBvcnQgY2xhc3MgSGlzdG9yeUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xyXG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSYWJldGVoQWtzZVRha2lMaXN0aUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBSZWxhdGlvbkxpc3RDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEF1dG9TYXZlO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZWxhdGVkUmVwb3J0Q29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEhhc0V4dGVybmFsUGFyYW1ldGVyOiBib29sZWFuO1xyXG4gICAgUGFyYW1OYW1lMTogc3RyaW5nO1xyXG4gICAgVWx2U2V0dGluZzogUmVwb3J0TW9kZWw7XHJcbn1cclxuZXhwb3J0IGNsYXNzIENvZGVFZGl0b3JDb250cm9sSW5mb01vZGVsIGV4dGVuZHMgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWwge1xyXG4gICAgRXh0cmFUZXh0OiBzdHJpbmc7XHJcbiAgICBTdWdnZXN0aW9uczogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBFbnVtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBTaG93QXNSYWRpb0J1dHRvbjogYm9vbGVhbjtcclxuICAgIEljb25EaXNwbGF5VHlwZTogc3RyaW5nO1xyXG4gICAgRGF0YVNvdXJjZToge1xyXG4gICAgICAgIFJvd3M6IFJvd0RhdGFPcHRpb25bXTtcclxuICAgIH07XHJcbiAgICBFbXB0eVJvd0RhdGE6IFJvd0RhdGFPcHRpb247XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJvd0RhdGFPcHRpb24ge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIElzRW1wdHk6IGJvb2xlYW47XHJcbiAgICB0eHQ6IHN0cmluZztcclxuICAgIHR4dF9zYWZlPzogc3RyaW5nO1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIENhbGVuZGFyVHlwZTogc3RyaW5nO1xyXG4gICAgRGF0ZUZvcm1hdDogc3RyaW5nO1xyXG4gICAgU2hvd0RhdGUxOiBib29sZWFuO1xyXG4gICAgU2hvd1RpbWUxOiBib29sZWFuO1xyXG4gICAgVGltZUZvcm1hdDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBCb29sQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIEZhbHNlQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgVHJ1ZUNhcHRpb246IHN0cmluZztcclxuICAgIFRydWVJY29uOiBzdHJpbmc7XHJcbiAgICBWaWV3VHlwZTogc3RyaW5nO1xyXG4gICAgRmFsc2VJY29uOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBJbm5lckN0cmxyOiBDb250cm9sSW5mb1R5cGVzO1xyXG4gICAgRXhlY3V0YWlvblRpbWU6IHN0cmluZztcclxuICAgIEVkaXRUeXBlOiBzdHJpbmc7XHJcbiAgICBEb250U2hvd1JlY2FsY3VsYXRlQnV0dG9uOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbCBleHRlbmRzIEdlbmVyYWxDb250cm9sSW5mb01vZGVsIHtcclxuICAgIFR5cGVEZWZJZDogYW55O1xyXG4gICAgVHlwZURlZkljb246IHN0cmluZztcclxuICAgIElzQ29tcG9zZWRSZWxhdGlvbjogc3RyaW5nO1xyXG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgVHlwZVZpZXdJZDogc3RyaW5nO1xyXG4gICAgRm9ybVBhbmVsU2V0dGluZzogRm9ybVNldHRpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvIHtcclxuICAgIGZpbGVJZDogc3RyaW5nO1xyXG4gICAgZmlsZVVybDogc3RyaW5nO1xyXG4gICAgdmlld0luQnJvd3NlcjogYm9vbGVhbjtcclxuICAgIGNvbnZlcnRUbzogc3RyaW5nO1xyXG4gICAgaXNPZmZpY2VPbmxpbmU6IGJvb2xlYW47XHJcbiAgICBmb3JPY3g6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZEZpbGVJbmZvUmVzdWx0IHtcclxuICAgIGZpbGVuYW1lOiBzdHJpbmc7XHJcbiAgICBjb250ZW50OiBzdHJpbmc7XHJcbiAgICBjb250ZW50VHlwZTogc3RyaW5nO1xyXG4gICAgc3VjY2VlZDogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgY2xhc3MgTGluZWFyTGlzdENvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBEZWZhdWx0RmllbGQ6IHN0cmluZztcclxuICAgIEV4dHJhSnNvblByb3BGaWVsZDogc3RyaW5nO1xyXG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xyXG4gICAgSXNHZW5lcmFsSW5mbzogYm9vbGVhbjtcclxuICAgIElzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XHJcbiAgICBSZWxhdGlvbjogTGlzdFJlbGF0aW9uTW9kZWw7XHJcbiAgICBSZWxhdGlvblZpZXdUeXBlOiBzdHJpbmc7XHJcbiAgICBSb3dJY29uOiBzdHJpbmc7XHJcbiAgICBUYXJnZXRUeXBlRGVmSWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgTGlzdFJlbGF0aW9uTW9kZWwge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgQ2hpbGRGZElkOiBzdHJpbmc7XHJcbiAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xyXG4gICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcclxuICAgIFBhcmVudE1vSWQ6IHN0cmluZztcclxuICAgIFJlbGF0aW9uVHlwZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTaW5nbGVSZWxhdGlvbkNvbnRyb2xJbmZvTW9kZWwgZXh0ZW5kcyBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbCB7XHJcbiAgICBDb2x1bW5SZXF1ZXN0RW51bTogc3RyaW5nO1xyXG4gICAgRHJvcERvd25SZXBvcnRJZDogc3RyaW5nO1xyXG4gICAgRmlsbEJlZm9yZURyb3BEb3duOiBib29sZWFuO1xyXG4gICAgSGlkZUNvbWJvOiBib29sZWFuO1xyXG4gICAgUmVsYXRpb25WaWV3VHlwZTogc3RyaW5nO1xyXG4gICAgUGFzc1BhcmVudEZvcm06IGJvb2xlYW47XHJcbiAgICBTaG93TmV3QnV0dG9uOiBib29sZWFuO1xyXG4gICAgU2hvd09rQ2FuY2VsOiBib29sZWFuO1xyXG4gICAgVmlld1JlbGF0ZWRGb3JtVHlwZTogc3RyaW5nO1xyXG4gICAgVGFyZ2V0VHlwZURlZklkOiBzdHJpbmc7XHJcbiAgICBEYXRhU291cmNlOiB7XHJcbiAgICAgICAgUm93czogUm93RGF0YU9wdGlvbltdO1xyXG4gICAgfTtcclxuICAgIFByZXZpZXdGaWVsZENhcHRpb246IHN0cmluZztcclxuICAgIFByZXZpZXdGaWVsZElkOiBzdHJpbmc7XHJcbiAgICBQcmV2aWV3RmllbGROYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbnRyb2xJbmZvVHlwZXMgPVxyXG4gICAgfCBTdWJmb3JtQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBDYWxjdWxhdGVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IEJvb2xDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IEVudW1Db250cm9sSW5mb01vZGVsXHJcbiAgICB8IEljb25Db250cm9sSW5mb01vZGVsXHJcbiAgICB8IEZpbGVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IERhdGVUaW1lQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBOdW1iZXJDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IFN0cmluZ0NvbnRyb2xJbmZvTW9kZWxcclxuICAgIHwgUGljdHVyZUZpbGVDb250cm9sSW5mb01vZGVsXHJcbiAgICB8IEdhdWdlQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBDb21tYW5kQ29udHJvbEluZm9Nb2RlbFxyXG4gICAgfCBDb2RlRWRpdG9yQ29udHJvbEluZm9Nb2RlbDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXdTZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIExheW91dDk0OiBhbnk7XHJcbiAgICBDb250cm9sSW5mbzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TZXR0aW5nIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICAgIERhdGE6IHtcclxuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICAgICAgTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbiAgICB9O1xyXG4gICAgVmlldzogRm9ybVZpZXdTZXR0aW5nO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICAkRmllbGREaWN0PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcclxuICAgICRSZXBvcnRJZD86IHN0cmluZztcclxuICAgICRUeXBlPzogc3RyaW5nO1xyXG4gICAgJFN0eWxlSW5kZXg/OiBudW1iZXJbXTtcclxuICAgICRDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICAkSWNvbj86IHN0cmluZztcclxuICAgICRTdGF0ZT86IHN0cmluZztcclxuICAgICRUeXBlRGVmSWQ/OiBzdHJpbmc7XHJcbiAgICAkVHlwZURlZk5hbWU/OiBzdHJpbmc7XHJcbiAgICAkQ2hpbGRyZW4/OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIGNsYXNzIENhbGVuZGFyTWV0YW9iamVjdERhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgJENvbG9yOiBzdHJpbmc7XHJcbiAgICAkTW9tZW50U3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICAkTW9tZW50RW5kRGF0ZTogc3RyaW5nO1xyXG4gICAgJFN0YXJ0VGltZXM6IHN0cmluZztcclxuICAgICRFbmRUaW1lczogc3RyaW5nO1xyXG4gICAgJFRpdGxlOiBzdHJpbmc7XHJcbiAgICAkTm90ZXM6IHN0cmluZztcclxuICAgICRTdGFydERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xyXG4gICAgJEVuZERhdGVJbmZvPzogRGF0ZUluZm9TZXJ2aWNlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTW9Gb3JSZXBvcnRNb2RlbCB7XHJcbiAgICAkVHlwZT86IHN0cmluZztcclxuICAgIFR5cGVEZWZJZDogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ6IHN0cmluZztcclxuICAgIEljb24/OiBzdHJpbmc7XHJcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxNZXRhb2JqZWN0RGF0YU1vZGVsPjtcclxuICAgIERlbGV0ZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xyXG4gICAgQWRkZWRMaXN0OiBBcnJheTx7IElkOiBzdHJpbmc7IFR5cGVEZWZJZDogc3RyaW5nIH0+O1xyXG4gICAgUGFnaW5nOiBQYWdpbmdTZXR0aW5nO1xyXG4gICAgUmVsYXRpb24/OiB7XHJcbiAgICAgICAgUmVsYXRpb25UeXBlOiBzdHJpbmc7XHJcbiAgICAgICAgUGFyZW50TW9JZDogc3RyaW5nO1xyXG4gICAgICAgIFBhcmVudEZkSWQ6IHN0cmluZztcclxuICAgICAgICBDaGlsZEZkSWQ6IHN0cmluZztcclxuICAgICAgICBQYXJlbnRGZE5hbWU6IHN0cmluZztcclxuICAgICAgICBDaGlsZEZkTmFtZTogc3RyaW5nO1xyXG4gICAgICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XHJcbiAgICAgICAgSXNBdXRvU2F2ZTogYm9vbGVhbjtcclxuICAgICAgICBJc0F1dG9TYXZlX1JlbG9hZFBhcmVudEZvcm1zOiBib29sZWFuO1xyXG4gICAgICAgIElzQXV0b1NhdmVfUmVsb2FkUm9vdFBhcmVudExpc3Q6IGJvb2xlYW47XHJcbiAgICB9O1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5EZWxldGVkTGlzdCA9IHRoaXMuQWRkZWRMaXN0ID0gdGhpcy5Nb0RhdGFMaXN0ID0gW107XHJcbiAgICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydEJhc2VJbmZvIHtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBDYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBGb2xkZXJJZDogc3RyaW5nO1xyXG4gICAgSWNvblVybDogc3RyaW5nO1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ6IHN0cmluZztcclxufVxyXG5leHBvcnQgY2xhc3MgUmVwb3J0RXh0cmFJbmZvIGV4dGVuZHMgUmVwb3J0QmFzZUluZm8ge1xyXG4gICAgVHlwZURlZklkOiBzdHJpbmc7XHJcbiAgICBUeXBlRGVmQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgUmVwb3J0VHlwZTogc3RyaW5nO1xyXG4gICAgSGlkZVRvb2xiYXI6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbCBleHRlbmRzIExpc3RSZWxhdGlvbk1vZGVsIHtcclxuICAgIFBhcmVudEZkSWQ6IHN0cmluZztcclxuICAgIFBhc3NQYXJlbnRNb0ZpZWxkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEZpZWxkSW5mb1R5cGVFbnVtIHtcclxuICAgIEludEluZm8gPSAwLFxyXG4gICAgU3RyaW5nSW5mbyA9IDIsXHJcbiAgICBEYXRlSW5mbyA9IDMsXHJcbiAgICBCb29sSW5mbyA9IDUsXHJcbiAgICBFbnVtSW5mbyA9IDYsXHJcbiAgICBVc2VySW5mbyA9IDcsXHJcbiAgICBDYXRlZ29yeUluZm8gPSA4LFxyXG4gICAgTWV0YU9iamVjdEluZm8gPSA5LFxyXG4gICAgQ29tbWFuZEluZm8gPSAxMCwgLy8gMHgwMDAwMDAwQVxyXG4gICAgUGljdHVyZXNJbmZvID0gMTEsIC8vIDB4MDAwMDAwMEJcclxuICAgIFJlbGF0aW9uSW5mbyA9IDEyLCAvLyAweDAwMDAwMDBDXHJcbiAgICBIaXN0b3J5SW5mbyA9IDEzLCAvLyAweDAwMDAwMDBEXHJcbiAgICBSZWxhdGlvbkluZm9SZXZlcnNlX0Frc0xpc3RpID0gMTQsIC8vIDB4MDAwMDAwMEVcclxuICAgIENyZWF0b3JVc2VySW5mbyA9IDE1LCAvLyAweDAwMDAwMDBGXHJcbiAgICBDcmVhdGlvbkRhdGVJbmZvID0gMTYsIC8vIDB4MDAwMDAwMTBcclxuICAgIExhc3RVcGRhdGVEYXRlSW5mbyA9IDE3LCAvLyAweDAwMDAwMDExXHJcbiAgICBSZW1pbmRlckluZm8gPSAxOCwgLy8gMHgwMDAwMDAxMlxyXG4gICAgUmljaFN0cmluZ0luZm8gPSAxOSwgLy8gMHgwMDAwMDAxM1xyXG4gICAgQ29udmVydENvbW1hbmRJbmZvID0gMjAsIC8vIDB4MDAwMDAwMTRcclxuICAgIFJlbGF0aW9uSW5mb1NpbmdsZVJldmVyc2VfQWtzVGFraUxpc3RpID0gMjEsIC8vIDB4MDAwMDAwMTVcclxuICAgIERpYWxDb21tYW5kSW5mbyA9IDIyLCAvLyAweDAwMDAwMDE2XHJcbiAgICBGaW5kQ29udGFjdENvbW1hbmRJbmZvID0gMjMsIC8vIDB4MDAwMDAwMTdcclxuICAgIFNlcXVlbmNlQ29tbWFuZEluZm8gPSAyNCwgLy8gMHgwMDAwMDAxOFxyXG4gICAgQ3VycmVuY3lJbmZvID0gMjUsIC8vIDB4MDAwMDAwMTlcclxuICAgIFNpbmdsZVBpY3R1cmVJbmZvID0gMjYsIC8vIDB4MDAwMDAwMUFcclxuICAgIFdvcmRSZXBvcnRDb21tYW5kSW5mbyA9IDI3LCAvLyAweDAwMDAwMDFCXHJcbiAgICBIaWVyYXJjaGljYWxJbmZvID0gMjgsIC8vIDB4MDAwMDAwMUNcclxuICAgIFRpbWVTcGFuSW5mbyA9IDI5LCAvLyAweDAwMDAwMDFEXHJcbiAgICBSZXBvcnRJbmZvID0gMzAsIC8vIDB4MDAwMDAwMUVcclxuICAgIEZpbGVJbmZvID0gMzEsIC8vIDB4MDAwMDAwMUZcclxuICAgIFdvcmRGaWxlSW5mbyA9IDMyLCAvLyAweDAwMDAwMDIwXHJcbiAgICBQaWN0dXJlRmlsZUluZm8gPSAzMywgLy8gMHgwMDAwMDAyMVxyXG4gICAgR2F1Z2VJbmZvID0gMzQsIC8vIDB4MDAwMDAwMjJcclxuICAgIENvZGVJbmZvID0gMzUsIC8vIDB4MDAwMDAwMjNcclxuICAgIFdvcmtDZW50ZXJJbmZvID0gMzYsIC8vIDB4MDAwMDAwMjRcclxuICAgIElzRGVsZXRlZEluZm8gPSAzNywgLy8gMHgwMDAwMDAyNVxyXG4gICAgUm93TnVtYmVySW5mbyA9IDM4LCAvLyAweDAwMDAwMDI2XHJcbiAgICBCaW5hcnlJbmZvID0gMzksIC8vIDB4MDAwMDAwMjdcclxuICAgIFJldmVyc2VNZXRhT2JqZWN0SW5mb19Ba3NUYWtpVGFraSA9IDQwLCAvLyAweDAwMDAwMDI4XHJcbiAgICBDb2xvckluZm8gPSA0MSwgLy8gMHgwMDAwMDAyOVxyXG4gICAgSWNvbkluZm8gPSA0MiwgLy8gMHgwMDAwMDAyQVxyXG4gICAgUmVmcmVzaEZpZWxkQ29tbWFuZEluZm8gPSA0MywgLy8gMHgwMDAwMDAyQlxyXG4gICAgUmVmZXJlbmNlRmllbGRJbmZvID0gNDQsIC8vIDB4MDAwMDAwMkNcclxuICAgIFNlYXJjaENvbW1hbmRJbmZvID0gNDUsIC8vIDB4MDAwMDAwMkRcclxuICAgIE9yZGVySW5mbyA9IDQ2IC8vIDB4MDAwMDAwMkVcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENsYXNzTmFtZXNNb2RlbCB7XHJcbiAgICBDb21tYW5kQmFyQ2xhc3M6IHN0cmluZztcclxuICAgIERhdGFDbGFzczogc3RyaW5nO1xyXG4gICAgU2VsZWN0aW9uQ2xhc3M6IHN0cmluZztcclxuICAgIFZpZXdlckNsYXNzOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBFeHRyYU1vZGVsIHtcclxuICAgIEN1c3RvbUNvbW1hbmRzPzogQ3VzdG9tQ29tbWFuZFtdO1xyXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzPzogRGVmYXVsdENvbW1hbmRzQWNjZXNzO1xyXG4gICAgUGFyZW50VWx2Q29uZmlnPzogYW55O1xyXG4gICAgUmVsYXRpb24/OiBNZXRhb2JqZWN0UmVsYXRpb25Nb2RlbDtcclxuICAgIFJlcG9ydD86IFJlcG9ydEV4dHJhSW5mbztcclxuICAgIEV4dHJhSnNvblByb3BSZXBvcnQ/OiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgQ2xhc3NOYW1lczogQ2xhc3NOYW1lc01vZGVsO1xyXG4gICAgRXh0cmE6IEV4dHJhTW9kZWw7XHJcbiAgICBWaWV3OiBWaWV3VHlwZXM7XHJcbiAgICBTZWFyY2hQYW5lbDogYW55O1xyXG4gICAgRGVmYXVsdEl0ZW1Db21wb25lbnQgPSAnUmVwb3J0RGVmYXVsdEl0ZW1Db21wb25lbnQnO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdENvbW1hbmRzQWNjZXNzIHtcclxuICAgIEFkZDogYm9vbGVhbjtcclxuICAgIEFkZFRvTGlzdDogYm9vbGVhbjtcclxuICAgIERlbGV0ZTogYm9vbGVhbjtcclxuICAgIEVkaXQ6IGJvb2xlYW47XHJcbiAgICBFeHBvcnQ6IGJvb2xlYW47XHJcbiAgICBQcmludDogYm9vbGVhbjtcclxuICAgIFJlZnJlc2g6IGJvb2xlYW47XHJcbiAgICBSZW1vdmVGcm9tTGlzdDogYm9vbGVhbjtcclxuICAgIFZpZXc6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIEN1c3RvbUNvbW1hbmQge1xyXG4gICAgRGF0YTogYW55O1xyXG4gICAgRGlzYWJsZVdoZW5SZWFkb25seTogYm9vbGVhbjtcclxuICAgIEhpZGVEaXNhYmxlOiBib29sZWFuO1xyXG4gICAgSWNvblVybDogc3RyaW5nO1xyXG4gICAgSXNMYXJnZTogYm9vbGVhbjtcclxuICAgIE15dHlwZTogc3RyaW5nO1xyXG4gICAgT3JkZXI6IG51bWJlcjtcclxuICAgIFNob3dPbkNvbnRleHQ6IGJvb2xlYW47XHJcbiAgICBTaG93T25Ub29sYmFyOiBib29sZWFuO1xyXG4gICAgVGV4dDogc3RyaW5nO1xyXG4gICAgVXNlQWx3YXlzOiBib29sZWFuO1xyXG4gICAgVXNlRm9yTXVsdGk6IGJvb2xlYW47XHJcbiAgICBVc2VGb3JTaW5nbGU6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydE1vZGVsIGV4dGVuZHMgQmFzZVJlcG9ydE1vZGVsIHtcclxuICAgIERhdGE6IE1vRm9yUmVwb3J0TW9kZWw7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRMaXN0TW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgVmlldzogR3JpZFZpZXc7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFJlcG9ydEZvcm1Nb2RlbCBleHRlbmRzIEJhc2VSZXBvcnRNb2RlbCB7XHJcbiAgICBWaWV3OiBGb3JtVmlldztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3IHtcclxuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XHJcbiAgICBQYXJlbnRJZERiTmFtZTogc3RyaW5nO1xyXG4gICAgU2hvd1NlbGVjdGlvbkNoZWNrczogYm9vbGVhbjtcclxuICAgIFRyZWVBdXRvT3BlbkxldmVsczogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRWaWV3IHtcclxuICAgIEFsbG93R3JpZENvbHVtblNvcnQ6IGJvb2xlYW47XHJcbiAgICBBdXRvSW5saW5lRWRpdDogYm9vbGVhbjtcclxuICAgIENvbHVtblJlcXVlc3RFbnVtOiBzdHJpbmc7XHJcbiAgICBDb2x1bW5zOiBBcnJheTxSZXBvcnRWaWV3Q29sdW1uPjtcclxuICAgIENvbmRpdGlvbmFsRm9ybWF0czogW107XHJcbiAgICBEaXNhYmxlUm93UmVsb2FkOiBib29sZWFuO1xyXG4gICAgR3JpZFNldHRpbmc6IEdyaWRTZXR0aW5nO1xyXG4gICAgR3JpZF9GcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xyXG4gICAgR3JpZF9HcmlkTGluZXM6IHN0cmluZztcclxuICAgIEdyaWRfSGlkZUhlYWRlcjogYm9vbGVhbjtcclxuICAgIEdyaWRfU2hvd1Jvd051bWJlcjogYm9vbGVhbjtcclxuICAgIEhhc0NvbmRpdGlvbmFsRm9ybWF0OiBib29sZWFuO1xyXG4gICAgSGFzU3VtbWFyeVJvdzogYm9vbGVhbjtcclxuICAgIEhpZGVJY29uOiBib29sZWFuO1xyXG4gICAgSXNDaGVja0xpc3Q6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclZpZXcge1xyXG4gICAgQ2FsZW5kYXJGaWVsZHM6IENhbGVuZGFyRmllbGRzO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybVZpZXcge1xyXG4gICAgRm9ybVBhbmVsU2V0dGluZzogYW55O1xyXG59XHJcbmV4cG9ydCB0eXBlIFZpZXdUeXBlcyA9IEdyaWRWaWV3IHwgQ2FsZW5kYXJWaWV3IHwgVHJlZVZpZXcgfCBGb3JtVmlldztcclxuXHJcbmV4cG9ydCB0eXBlIFJlcG9ydE1vZGVsVHlwZXMgPSBSZXBvcnRMaXN0TW9kZWwgfCBSZXBvcnRDYWxlbmRhck1vZGVsIHwgUmVwb3J0Rm9ybU1vZGVsIHwgUmVwb3J0VHJlZU1vZGVsO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydENhbGVuZGFyTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgVmlldzogQ2FsZW5kYXJWaWV3O1xyXG59XHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRUcmVlTW9kZWwgZXh0ZW5kcyBCYXNlUmVwb3J0TW9kZWwge1xyXG4gICAgVmlldzogVHJlZVZpZXc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckZpZWxkcyB7XHJcbiAgICBFbmREYXRlOiBzdHJpbmc7XHJcbiAgICBOb3Rlczogc3RyaW5nO1xyXG4gICAgU3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgQ29sb3I6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcG9ydFZpZXdDb2x1bW4ge1xyXG4gICAgQWxpYXM6IHN0cmluZztcclxuICAgIENhcHRpb246IHN0cmluZztcclxuICAgIEZpZWxkRGVmSWQ6IHN0cmluZztcclxuICAgIEZpZWxkVHlwZUlkOiBudW1iZXI7XHJcbiAgICBGaWVsZFR5cGU6IHN0cmluZztcclxuICAgIEhhc1N1bW1hcnk6IGJvb2xlYW47XHJcbiAgICBIaWRkZW46IGJvb2xlYW47XHJcbiAgICBJc0x0cjogYm9vbGVhbjtcclxuICAgIElzUHJldmlldzogYm9vbGVhbjtcclxuICAgIE1ldGFGaWVsZFR5cGVJZDogc3RyaW5nO1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxuICAgIFRhZz86IHN0cmluZztcclxuICAgIEljb246IHN0cmluZztcclxuICAgIE9ubHlJbWFnZT86IGJvb2xlYW47XHJcbiAgICBFeHRyYT86IGFueTtcclxuICAgICRXaWR0aDogc3RyaW5nO1xyXG4gICAgJFdpZHRoMj86IHN0cmluZztcclxuICAgICRNZXJnZWRGaWVsZHNUb0NvbHVtbj86IHN0cmluZ1tdO1xyXG4gICAgJENTU0NsYXNzTmFtZT86IHN0cmluZztcclxuICAgICRDdXN0b21Db21wb25lbnQ/OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgR3JpZFNldHRpbmcge1xyXG4gICAgQ29sU2V0dGluZ0xpc3Q6IEFycmF5PENvbFNldHRpbmc+O1xyXG4gICAgU29ydFNldHRpbmdMaXN0OiBBcnJheTxTb3J0U2V0dGluZz47XHJcbiAgICBBdXRvU2l6ZUNvbHVtbnM6IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGNsYXNzIENvbFNldHRpbmcge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgV2lkdGg6IG51bWJlcjtcclxuICAgIElzSGlkZGVuOiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBjbGFzcyBTb3J0U2V0dGluZyB7XHJcbiAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICBTb3J0RGlyZWN0aW9uOiBzdHJpbmc7XHJcbiAgICBJc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRGaWVsZCB7XHJcbiAgICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcclxuICAgIHB1YmxpYyBjYXB0aW9uOiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uLCBwdWJsaWMgaXRlbTogYW55KSB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbHVtbi5OYW1lO1xyXG4gICAgICAgIHRoaXMuY2FwdGlvbiA9IGNvbHVtbi5DYXB0aW9uO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLml0ZW1bbmFtZV07XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5EYXRlSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWUgKyAnJENhcHRpb24nXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE51bWJlcihjb2x1bW4uRmllbGRUeXBlSWQpID09PSBGaWVsZEluZm9UeXBlRW51bS5JY29uSW5mbykge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5pdGVtW25hbWVdLlVybDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXN1bHQge1xyXG4gICAgZGF0YTogeyBzdGg6IHN0cmluZyB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFBsYWNlSG9sZGVycz86IFBsYWNlSG9sZGVyRGF0YU1vZGVsW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnREYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgICBTZXR0aW5nczogQ29tcG9uZW50U2V0dGluZ3NEYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQbGFjZUhvbGRlckRhdGFNb2RlbCBleHRlbmRzIE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgTmFtZTogc3RyaW5nO1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIElzUGFnZTogYm9vbGVhbjtcclxuICAgIE9yZGVyTnVtYmVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kdWxlRGF0YU1vZGVsIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUGxhY2VIb2xkZXI6IFBsYWNlSG9sZGVyRGF0YU1vZGVsO1xyXG4gICAgQ29tcG9uZW50OiBDb21wb25lbnREYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlTGlzdFJlcG9ydE1vZGVsIGV4dGVuZHMgTW9Gb3JSZXBvcnRNb2RlbCB7XHJcbiAgICBNb0RhdGFMaXN0OiBBcnJheTxQYWdlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE1vZHVsZUxpc3RSZXBvcnRNb2RlbCBleHRlbmRzIE1vRm9yUmVwb3J0TW9kZWwge1xyXG4gICAgTW9EYXRhTGlzdDogQXJyYXk8TW9kdWxlRGF0YU1vZGVsPjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VEYXRhTW9kZWwgZXh0ZW5kcyBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcclxuICAgIENvbXBvbmVudDogQ29tcG9uZW50RGF0YU1vZGVsO1xyXG4gICAgTW9kdWxlTGlzdDogTW9kdWxlTGlzdFJlcG9ydE1vZGVsO1xyXG4gICAgQ2hpbGRQYWdlTGlzdDogUGFnZUxpc3RSZXBvcnRNb2RlbDtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBSb3V0ZTogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0Um91dGU6IGJvb2xlYW47XHJcbiAgICBJc0xvZ2luUm91dGU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9ydGFsRGF0YU1vZGVsIGV4dGVuZHMgUGFnZURhdGFNb2RlbCB7XHJcbiAgICBJc0FjdGl2ZTogYm9vbGVhbjtcclxuICAgIElzUHdhOiBib29sZWFuO1xyXG4gICAgUG9ydGFsU2V0dGluZ3M6IE1ldGFvYmplY3REYXRhTW9kZWw7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cFZpc2liaWxpdHkge1xyXG4gICAgZW5hYmxlOiBib29sZWFuO1xyXG4gICAgdmlzaWJsZTogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJMYXlvdXQge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgVGl0bGU6IHN0cmluZztcclxuICAgIFN1YnRpdGxlOiBzdHJpbmc7XHJcbiAgICBBdmF0YXI6IGFueTtcclxuICAgIEZhY2V0TGlzdDogeyBNb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gfTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZW51SXRlbSB7XHJcbiAgICBpY29uOiBzdHJpbmc7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBpdGVtSWQ6IHN0cmluZztcclxuICAgIERhdGE6IGFueTtcclxuICAgIENvbW1hbmQ6IGFueTtcclxuICAgIGhhbmRsZXI6ICgpID0+IHZvaWQ7XHJcbiAgICBJc0J1aWx0aW4/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5nU2V0dGluZyB7XHJcbiAgICBFbmRJbmRleDogbnVtYmVyO1xyXG4gICAgSGFzUGFnaW5nOiBib29sZWFuO1xyXG4gICAgUGFnZTogbnVtYmVyO1xyXG4gICAgUGFnZVNpemU6IG51bWJlcjtcclxuICAgIFJvd0NvdW50OiBudW1iZXI7XHJcbiAgICBTdGFydEluZGV4OiBudW1iZXI7XHJcbiAgICBUb3RhbFBhZ2VzOiBudW1iZXI7XHJcbiAgICBUb3RhbFJvd3M6IG51bWJlcjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbkluZm9UeXBlIHtcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIEhpZGRlbjogYm9vbGVhbjtcclxuICAgIENhcHRpb246IHN0cmluZztcclxuICAgIElzTWFuZGF0b3J5PzogYm9vbGVhbjtcclxuICAgIFdpZHRoOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hQYW5lbFNldHRpbmdzIGV4dGVuZHMgTWV0YW9iamVjdERhdGFNb2RlbCB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgUmVwb3J0SWQ6IHN0cmluZztcclxuICAgIElzRGVmYXVsdDogYm9vbGVhbjtcclxuICAgIElzUHVibGljOiBib29sZWFuO1xyXG4gICAgQXBwbHlBdXRvbWF0aWNhbGx5OiBib29sZWFuO1xyXG4gICAgU2VhcmNoTW8/OiBzdHJpbmc7XHJcbiAgICBGaWVsZHNTZXR0aW5nPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgRGV2aWNlU2l6ZSA9ICdkZXNrdG9wJyB8ICdtb2JpbGUnIHwgJ3RhYmxldCc7XHJcbmV4cG9ydCBjb25zdCBEYXRlUmFuZ2VzID0gW1xyXG4gICAgJ0RhdGVSX05vbmUnLFxyXG4gICAgJ0RhdGVSX1NwZWNpZmljUmFuZ2UnLFxyXG4gICAgJ0RhdGVSX1RvZGF5JyxcclxuICAgICdEYXRlUl9UaGlzV2VlaycsXHJcbiAgICAnRGF0ZVJfVGhpc01vbnRoJyxcclxuICAgICdEYXRlUl9UaGlzWWVhcicsXHJcbiAgICAnRGF0ZVJfRGF5c0JlZm9yZScsXHJcbiAgICAnRGF0ZVJfUHJldldlZWsnLFxyXG4gICAgJ0RhdGVSX1ByZXZNb250aCcsXHJcbiAgICAnRGF0ZVJfUHJldlllYXInLFxyXG4gICAgJ0RhdGVSX0RheXNBZnRlcicsXHJcbiAgICAnRGF0ZVJfTmV4dFdlZWsnLFxyXG4gICAgJ0RhdGVSX05leHRNb250aCcsXHJcbiAgICAnRGF0ZVJfTmV4dFllYXInXHJcbl07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVpUmVwb3J0Vmlld0Jhc2Uge1xyXG4gICAgVWlDb21wb25lbnQ6IHtcclxuICAgICAgICBDb21wb25lbnQ6IGJvb2xlYW47XHJcbiAgICAgICAgTW9kdWxlOiBzdHJpbmc7XHJcbiAgICAgICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcclxuICAgICAgICBOYW1lOiBzdHJpbmc7XHJcbiAgICAgICAgU2VsZWN0b3I6IHN0cmluZztcclxuICAgICAgICBTZXR0aW5nczogVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc7XHJcbiAgICB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gICAgVHlwZTogc3RyaW5nO1xyXG4gICAgSWNvbjogc3RyaW5nO1xyXG4gICAgSXNEZWZhdWx0OiBib29sZWFuO1xyXG4gICAgSGlkZGVuOiBib29sZWFuO1xyXG4gICAgRW5hYmxlU2VhcmNoOiBib29sZWFuO1xyXG4gICAgRGlzYWJsZVJlc3BvbnNpdmU/OiBib29sZWFuO1xyXG4gICAgRGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU/OiBib29sZWFuO1xyXG4gICAgSG9yaXpvbnRhbEdyb3VwQnk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0U2V0dGluZyB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbiAgICBUaXRsZT86IHN0cmluZztcclxuICAgIHh0eXBlOiBzdHJpbmc7XHJcbiAgICBUZXh0VmlzaWJsZT86IGJvb2xlYW47XHJcbiAgICBpdGVtczogTGF5b3V0U2V0dGluZ1tdO1xyXG4gICAgSXNSb290PzogYm9vbGVhbjtcclxuICAgIFNlbGVjdGVkVGFiUGFnZU5hbWU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBBYmJyZXZhdGlvbkRldmljZVNpemUgPSAncycgfCAnbScgfCAnbCcgfCAneGwnO1xyXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVOb2RlT2JqIHtcclxuICAgIGlzRXhwYW5kOiBib29sZWFuO1xyXG4gICAgdmlzaWJpbGl0eTogYm9vbGVhbjtcclxuICAgIGV4cGFuZDogKCkgPT4gdm9pZDtcclxuICAgIGNvbGxhcHNlOiAoKSA9PiB2b2lkO1xyXG4gICAgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIGNoaWxkcmVuOiBUcmVlTm9kZU9ialtdO1xyXG4gICAgaWNvbjogc3RyaW5nO1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBsZWFmOiBib29sZWFuO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gICAgbGV2ZWw6IG51bWJlcjtcclxuICAgIGxvYWRpbmc/OiBib29sZWFuO1xyXG4gICAgaGFzT25lRGVwdGhMZXZlbD86IGJvb2xlYW47XHJcbiAgICBwYXJlbnROb2RlOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBmaXJzdENoaWxkOiBUcmVlTm9kZU9iaiB8IG51bGw7XHJcbiAgICBsYXN0Q2hpbGQ6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIHByZXZpb3VzU2libGluZzogVHJlZU5vZGVPYmogfCBudWxsO1xyXG4gICAgbmV4dFNpYmxpbmc6IFRyZWVOb2RlT2JqIHwgbnVsbDtcclxuICAgIGF0dHJpYnV0ZXM6IHsgRGF0YTogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGwgfTtcclxuICAgIGhhc0NoaWxkTm9kZXM6ICgpID0+IGJvb2xlYW47XHJcbiAgICBub0Ryb3A6IGJvb2xlYW47XHJcbiAgICAkQ2hpbGRyZW4/OiBUcmVlTm9kZU9ialtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtblJlc2l6ZWRBcmdzIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IHR5cGUgY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MgPSB7IGNvbHVtbnM6IEFycmF5PFJlcG9ydFZpZXdDb2x1bW4+OyByZXNpemVkOiBBcnJheTxDb2x1bW5SZXNpemVkQXJncz4gfTtcclxuZXhwb3J0IHR5cGUgUmVsYXRpb25JdGVtVHlwZSA9IHtcclxuICAgIElkOiBzdHJpbmc7XHJcbiAgICBTb3VyY2VUeXBlRGVmSWQ6IHN0cmluZztcclxuICAgIE9iamVjdEluUmVsYXRpb25OYW1lOiBzdHJpbmc7XHJcbiAgICBHcm91cENhcHRpb246IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEVqcmF5T2xnbyA9IHtcclxuICAgIE1vZHVsZTogc3RyaW5nO1xyXG4gICAgTW9kdWxlRmlsZU5hbWU6IHN0cmluZztcclxuICAgIE5hbWU6IHN0cmluZztcclxuICAgIFNlbGVjdG9yOiBzdHJpbmc7XHJcbiAgICBQYXJhbWV0ZXJzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxuICAgIFNldHRpbmdzPzogTWV0YW9iamVjdERhdGFNb2RlbDtcclxufTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVVwbG9hZGluZ1N0YXRlIHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgdXBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgc3RhdGU6ICdVcGxvYWRpbmcnIHwgJ0Vycm9yJyB8ICdDb21wbGV0ZScgfCAnU3RhcnQnO1xyXG4gICAgcHJvZ3Jlc3M6IGFueTtcclxufVxyXG5leHBvcnQgdHlwZSBHcm91cEJ5SXRlbSA9IHsgW2tleTogc3RyaW5nXTogYW55OyBpZDogc3RyaW5nOyBrZXk6IHN0cmluZzsgdmFsdWU6IGFueVtdIH07XHJcbmV4cG9ydCB0eXBlIE5vdGlmeU9wdGlvbnMgPSB7XHJcbiAgICBTb3VuZDogYm9vbGVhbjsgLy8gU291bmQgb2Ygbm90aWZpY2F0aW9uLiBTZXQgdGhpcyBmYWxzZSB0byBkaXNhYmxlIHNvdW5kLlxyXG4gICAgSW1hZ2U6IHN0cmluZyB8IG51bGw7IC8vIEltYWdlIHNvdXJjZSBzdHJpbmdcclxuICAgIFRpdGxlOiBzdHJpbmcgfCBudWxsOyAvLyBUaXRsZSBvZiBub3RpZmljYXRpb24uIElmIHlvdSBkbyBub3QgaW5jbHVkZSB0aGUgdGl0bGUgaW4gb3B0aW9ucyBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgdGFrZXMgaXRzIHZhbHVlXHJcbiAgICBJY29uOiBib29sZWFuOyAvLyBJY29uIG9mIG5vdGlmaWNhdGlvbi4gTGVhdmUgYXMgaXMgZm9yIGRlZmF1bHQgaWNvbiBvciBzZXQgY3VzdG9tIHN0cmluZ1xyXG4gICAgRGVsYXk6IG51bWJlcjsgLy8gSGlkZSBub3RpZmljYXRpb24gYWZ0ZXIgdGhpcyB0aW1lIChpbiBtaWxpc2Vjb25kcylcclxuICAgIENsb3NhYmxlOiBib29sZWFuOyAvLyBNYWtlIG5vdGlmaWNhdGlvbnMgY2xvc2FibGVcclxuICAgIERlbGF5SW5kaWNhdG9yOiBib29sZWFuOyAvLyBTaG93IHRpbWVyIGluZGljYXRvclxyXG4gICAgQ2xvc2VPbkNsaWNrOiBib29sZWFuOyAvLyBDbG9zZSBub3RpZmljYXRpb25zIGJ5IGNsaWNraW5nIG9uIHRoZW1cclxuICAgIElzUnRsOiBib29sZWFuO1xyXG4gICAgUG9zaXRpb246IHN0cmluZyB8IG9iamVjdDsgLy8gQXZhaWxhYmxlIG9wdGlvbnM6IFwidG9wIGxlZnRcIiwgXCJ0b3AgcmlnaHRcIiwgXCJib3R0b20gbGVmdFwiLCBcImJvdHRvbSByaWdodFwiLCBcImNlbnRlciB0b3BcIiwgXCJjZW50ZXIgYm90dG9tXCJcclxuICAgIFNvdW5kUGF0aDogc3RyaW5nOyAvLyBUaGUgZm9sZGVyIHBhdGggd2hlcmUgc291bmRzIGFyZSBsb2NhdGVkXHJcbiAgICBTaXplOiBzdHJpbmc7IC8vIG5vcm1hbCwgbWluaSwgbGFyZ2VcclxuICAgIENvbnRpbnVlRGVsYXlPbkluYWN0aXZlVGFiOiBib29sZWFuOyAvLyBDb250aW51ZSBkZWxheSB3aGVuIGJyb3dzZXIgdGFiIGlzIGluYWN0aXZlXHJcbiAgICBXaWR0aDogbnVtYmVyOyAvLyBXaWR0aCBvZiBub3RpZmljYXRpb24gYm94XHJcbiAgICBNZXNzYWdlSGVpZ2h0OiBudW1iZXI7IC8vIE5vdGlmaWNhdGlvbiBtZXNzYWdlIG1heGltdW0gaGVpZ2h0LlxyXG4gICAgTm90aWZpY2F0aW9uSXRlbT86IE5vdGlmaWNhdGlvbkl0ZW07XHJcbn07XHJcbmV4cG9ydCB0eXBlIENob2ljZURlZiA9IHtcclxuICAgIEFjdGl2aXR5RGVmSWQ6IHN0cmluZztcclxuICAgIEFjdGl2aXR5UnVuSWQ6IHN0cmluZztcclxuICAgIENob2ljZURlZklkOiBzdHJpbmc7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG59O1xyXG5leHBvcnQgdHlwZSBXb3JrZmxvd0V4ZWN1dGVDaG9pY2VTdGF0dXMgPSB7XHJcbiAgICBsb2FkaW5nOiBib29sZWFuO1xyXG4gICAgcmVzdWx0OiBhbnk7XHJcbiAgICBlcnJvcjogYW55O1xyXG4gICAgY2hvaWNlPzogQ2hvaWNlRGVmO1xyXG59O1xyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QYXlsb2FkID0ge1xyXG4gICAgbXNnOiBzdHJpbmc7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgdHlwZTogc3RyaW5nO1xyXG4gICAgaW1hZ2U6IHN0cmluZztcclxuICAgIG1vO1xyXG4gICAgdWlPcHRpb25zOiBOb3RpZnlPcHRpb25zO1xyXG4gICAgb3RoZXJPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG59O1xyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25BY3Rpb24gPSB7XHJcbiAgICBUaXRsZTogc3RyaW5nO1xyXG4gICAgSWQ6IHN0cmluZztcclxuICAgIEljb246IHN0cmluZztcclxuICAgIFN0YXR1czogc3RyaW5nIHwgYW55O1xyXG59O1xyXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25JdGVtID0gTWV0YW9iamVjdERhdGFNb2RlbCAmIHtcclxuICAgIFRpdGxlOiBzdHJpbmc7XHJcbiAgICBVbnJlYWQ6IGJvb2xlYW47XHJcbiAgICBDb250ZW50OiBzdHJpbmc7XHJcbiAgICAkU2FmZUNvbnRlbnQ/OiBTYWZlSHRtbDtcclxuICAgIFByaW9yaXR5OiBudW1iZXI7XHJcbiAgICBTdWJqZWN0OiBzdHJpbmc7XHJcbiAgICBUYWc6IHN0cmluZztcclxuICAgIEljb246IHN0cmluZztcclxuICAgIEltYWdlOiBzdHJpbmc7XHJcbiAgICBDcmVhdGlvbkRhdGU6IERhdGU7XHJcbiAgICBDcmVhdGlvbkRhdGUkQ2FwdGlvbjogc3RyaW5nO1xyXG4gICAgVWlBY3Rpb25zPzogTm90aWZpY2F0aW9uQWN0aW9uW107XHJcbiAgICAkQ2hvaWNlRGVmU3RhdHVzPzogV29ya2Zsb3dFeGVjdXRlQ2hvaWNlU3RhdHVzO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRXhOb3RpZmljYXRpb25QYXlsb2FkID0ge1xyXG4gICAgbGFuZzogc3RyaW5nO1xyXG4gICAgaXNSdGw6IGJvb2xlYW47XHJcbiAgICBub3RpZmljYXRpb25JdGVtOiBOb3RpZmljYXRpb25JdGVtO1xyXG59O1xyXG4iXX0=
@@ -34,4 +34,4 @@ AuthGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: AuthGuard, decorators: [{
35
35
  type: Injectable
36
36
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.PortalService }]; } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYXV0aC1ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUl4RCxNQUFNLE9BQU8sU0FBUztJQUNsQixZQUFvQixNQUFjLEVBQVksYUFBNEI7UUFBdEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFZLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUU5RSxXQUFXLENBQ1Asc0JBQThDO0lBRTlDLGdDQUFnQzs7UUFFaEMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFFLHNCQUE4QixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RSxJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEVBQUUsWUFBWSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3BGLE1BQU0sYUFBYSxHQUNmLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztnQkFDOUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUN2QixPQUFPLGFBQWEsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFDOUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNoQixNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkYsTUFBTSxVQUFVLEdBQUcsU0FBUyxFQUFFLEtBQUssSUFBSSxPQUFPLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUN0QztRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUMxQyxDQUFDO0lBQ04sQ0FBQzs7c0dBN0JRLFNBQVM7MEdBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xyXG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wb3J0YWwuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSkge31cclxuXHJcbiAgICBjYW5BY3RpdmF0ZShcclxuICAgICAgICBhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90XHJcblxyXG4gICAgICAgIC8vICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XHJcbiAgICApOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+IHwgYm9vbGVhbiB8IFVybFRyZWUge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGRlY29kZVVSSSgoYWN0aXZhdGVkUm91dGVTbmFwc2hvdCBhcyBhbnkpLl9yb3V0ZXJTdGF0ZS51cmwpO1xyXG4gICAgICAgIGxldCB1cmwyID0gdXJsLnNwbGl0KCcvJykuZmluZCgoYykgPT4gYyAmJiAhYy5zdGFydHNXaXRoKCcoJykpID8/ICcnO1xyXG4gICAgICAgIHVybDIgPSAnLycgKyB1cmwyO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2UuZ2V0UGFnZURhdGEodXJsMiwgZmFsc2UpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocGFnZURhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VOZWVkQXV0aG9yaXplID0gcGFnZURhdGE/Lkhhc0F1dGhvcml6ZSB8fCBwYWdlRGF0YSA9PSBudWxsID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzQXV0aG9yaXplZDogYm9vbGVhbiA9XHJcbiAgICAgICAgICAgICAgICAgICAgKCFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzICYmIEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW4pIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgIXBhZ2VOZWVkQXV0aG9yaXplO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhc0F1dGhvcml6ZWQ7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnBvcnRhbFNlcnZpY2UucG9ydGFsRGF0YSQpLFxyXG4gICAgICAgICAgICB0YXAoKFtoYXNBdXRob3JpemVkLCBwb3J0YWxEYXRhXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFoYXNBdXRob3JpemVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbG9naW5QYWdlID0gcG9ydGFsRGF0YT8uQ2hpbGRQYWdlTGlzdC5Nb0RhdGFMaXN0LmZpbmQoKGMpID0+IGMuSXNMb2dpblJvdXRlKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2dpblJvdXRlID0gbG9naW5QYWdlPy5Sb3V0ZSB8fCAnbG9naW4nO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtsb2dpblJvdXRlXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICBtYXAoKFtoYXNBdXRob3JpemVkXSkgPT4gaGFzQXV0aG9yaXplZClcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYXV0aC1ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUl4RCxNQUFNLE9BQU8sU0FBUztJQUNsQixZQUFvQixNQUFjLEVBQVksYUFBNEI7UUFBdEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFZLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUU5RSxXQUFXLENBQ1Asc0JBQThDO0lBRTlDLGdDQUFnQzs7UUFFaEMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFFLHNCQUE4QixDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RSxJQUFJLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRSxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2IsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLEVBQUUsWUFBWSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ3BGLE1BQU0sYUFBYSxHQUNmLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQztnQkFDOUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUN2QixPQUFPLGFBQWEsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFDOUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUNoQixNQUFNLFNBQVMsR0FBRyxVQUFVLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkYsTUFBTSxVQUFVLEdBQUcsU0FBUyxFQUFFLEtBQUssSUFBSSxPQUFPLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUN0QztRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUMxQyxDQUFDO0lBQ04sQ0FBQzs7c0dBN0JRLFNBQVM7MEdBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9hYnN0cmFjdC1jbGFzc2VzL2JhcnNhLWFwaSc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wb3J0YWwuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJvdGVjdGVkIHBvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UpIHt9XG5cbiAgICBjYW5BY3RpdmF0ZShcbiAgICAgICAgYWN0aXZhdGVkUm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuXG4gICAgICAgIC8vICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4gICAgKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgVXJsVHJlZT4gfCBQcm9taXNlPGJvb2xlYW4gfCBVcmxUcmVlPiB8IGJvb2xlYW4gfCBVcmxUcmVlIHtcbiAgICAgICAgY29uc3QgdXJsID0gZGVjb2RlVVJJKChhY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IGFzIGFueSkuX3JvdXRlclN0YXRlLnVybCk7XG4gICAgICAgIGxldCB1cmwyID0gdXJsLnNwbGl0KCcvJykuZmluZCgoYykgPT4gYyAmJiAhYy5zdGFydHNXaXRoKCcoJykpID8/ICcnO1xuICAgICAgICB1cmwyID0gJy8nICsgdXJsMjtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydGFsU2VydmljZS5nZXRQYWdlRGF0YSh1cmwyLCBmYWxzZSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocGFnZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYWdlTmVlZEF1dGhvcml6ZSA9IHBhZ2VEYXRhPy5IYXNBdXRob3JpemUgfHwgcGFnZURhdGEgPT0gbnVsbCA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNBdXRob3JpemVkOiBib29sZWFuID1cbiAgICAgICAgICAgICAgICAgICAgKCFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzICYmIEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNVc2VyTG9nZ2VkSW4pIHx8XG4gICAgICAgICAgICAgICAgICAgICFwYWdlTmVlZEF1dGhvcml6ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzQXV0aG9yaXplZDtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5wb3J0YWxTZXJ2aWNlLnBvcnRhbERhdGEkKSxcbiAgICAgICAgICAgIHRhcCgoW2hhc0F1dGhvcml6ZWQsIHBvcnRhbERhdGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNBdXRob3JpemVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2luUGFnZSA9IHBvcnRhbERhdGE/LkNoaWxkUGFnZUxpc3QuTW9EYXRhTGlzdC5maW5kKChjKSA9PiBjLklzTG9naW5Sb3V0ZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2luUm91dGUgPSBsb2dpblBhZ2U/LlJvdXRlIHx8ICdsb2dpbic7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtsb2dpblJvdXRlXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKFtoYXNBdXRob3JpemVkXSkgPT4gaGFzQXV0aG9yaXplZClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -23,8 +23,8 @@ import { EmptyPageWithRouterAndRouterOutletComponent } from './empty-page-with-r
23
23
  import { EmptyPageComponent } from './empty-page/empty-page.component';
24
24
  import { BarsaApi } from './abstract-classes/barsa-api';
25
25
  import { FormPageComponent } from './abstract-classes/form-page.component';
26
- import { BreadcrumbService, UploadService, ApiService, LogService, BarsaDialogService, PortalService, UiService, LayoutService, DynamicComponentService, NetworkStatusService, AudioRecordingService, VideoRecordingService, PromptUpdateService, BarsaStorageService, LocalStorageService, IndexedDbService, NotificationService } from './services';
27
- import { DynamicCommandDirective, ItemsRendererDirective, NumbersOnlyInputDirective, PlaceHolderDirective, RenderUlvPaginDirective, ImageLazyDirective, UntilInViewDirective, IntersectionObserverDirective, EllipsifyDirective, TableResizerDirective, ColumnResizerDirective, AttrRtlDirective, RenderUlvViewerDirective, UlvCommandDirective } from './directives';
26
+ import { BreadcrumbService, UploadService, ApiService, LogService, BarsaDialogService, PortalService, UiService, LayoutService, DynamicComponentService, NetworkStatusService, AudioRecordingService, VideoRecordingService, PromptUpdateService, BarsaStorageService, LocalStorageService, IndexedDbService, NotificationService, ServiceWorkerNotificationService } from './services';
27
+ import { DynamicCommandDirective, ItemsRendererDirective, NumbersOnlyInputDirective, PlaceHolderDirective, RenderUlvPaginDirective, ImageLazyDirective, UntilInViewDirective, IntersectionObserverDirective, EllipsifyDirective, TableResizerDirective, ColumnResizerDirective, AttrRtlDirective, RenderUlvViewerDirective, UlvCommandDirective, WorfkflowwChoiceCommandDirective } from './directives';
28
28
  import { NumeralPipe, CanUploadFilePipe, RemoveNewlinePipe, ConvertToStylePipe, FilterPipe, FilterTabPipe, FilterStringPipe, FioriIconPipe, SortPipe, GroupByPipe, MultipleGroupByPipe, MoValuePipe, MoReportValuePipe, HeaderFacetValuePipe, PictureFieldSourcePipe, TlbButtonsPipe, SeperatorFixPipe, MoReportValueConcatPipe, ContextMenuPipe, BbbTranslatePipe, BarsaIconDictPipe, FileInfoCountPipe, ControlUiPipe, VisibleValuePipe, DateTimeToCaptionPipe, FilterToolbarControlPipe, ListCountPipe, TotalSummaryPipe, MergeFieldsToColumnsPipe, FindColumnByDbNamePipe, FilterColumnsByDetailsPipe, MoInfoUlvMoListPipe } from './pipes';
29
29
  import { BarsaSapUiFormPageModule } from './form-page-routing';
30
30
  import * as i0 from "@angular/core";
@@ -58,6 +58,7 @@ const directives = [
58
58
  ItemsRendererDirective,
59
59
  UlvCommandDirective,
60
60
  DynamicCommandDirective,
61
+ WorfkflowwChoiceCommandDirective,
61
62
  ImageLazyDirective,
62
63
  UntilInViewDirective,
63
64
  IntersectionObserverDirective,
@@ -128,6 +129,7 @@ export class BarsaNovinRayCoreModule extends BaseModule {
128
129
  RedirectHomeGuard,
129
130
  PromptUpdateService,
130
131
  NotificationService,
132
+ ServiceWorkerNotificationService,
131
133
  LocalStorageService,
132
134
  IndexedDbService,
133
135
  BbbTranslatePipe,
@@ -138,9 +140,10 @@ export class BarsaNovinRayCoreModule extends BaseModule {
138
140
  },
139
141
  {
140
142
  provide: APP_INITIALIZER,
141
- useFactory: (swPushService) => () => {
143
+ useFactory: (notificationService) => () => {
142
144
  BarsaApi.Ul.NotificationManager.on({
143
- ShowPopup: swPushService.showNotification.bind(swPushService)
145
+ ShowPopup: notificationService.addNotification.bind(notificationService),
146
+ PublishEvent: notificationService.handleTopic.bind(notificationService)
144
147
  });
145
148
  },
146
149
  deps: [NotificationService],
@@ -254,6 +257,7 @@ BarsaNovinRayCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
254
257
  ItemsRendererDirective,
255
258
  UlvCommandDirective,
256
259
  DynamicCommandDirective,
260
+ WorfkflowwChoiceCommandDirective,
257
261
  ImageLazyDirective,
258
262
  UntilInViewDirective,
259
263
  IntersectionObserverDirective,
@@ -316,6 +320,7 @@ BarsaNovinRayCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
316
320
  ItemsRendererDirective,
317
321
  UlvCommandDirective,
318
322
  DynamicCommandDirective,
323
+ WorfkflowwChoiceCommandDirective,
319
324
  ImageLazyDirective,
320
325
  UntilInViewDirective,
321
326
  IntersectionObserverDirective,
@@ -333,4 +338,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
333
338
  schemas: [NO_ERRORS_SCHEMA]
334
339
  }]
335
340
  }], ctorParameters: function () { return [{ type: i1.DynamicComponentService }, { type: i0.ComponentFactoryResolver }]; } });
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etbm92aW4tcmF5LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9iYXJzYS1ub3Zpbi1yYXktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixZQUFZLEVBRVosUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0Isc0JBQXNCLEVBQ3pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxF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LDhCQUE4QixFQUFFLHdCQUF3QjsyRkFJekYsdUJBQXVCO2tCQU5uQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQThCLEVBQUUsd0JBQXdCLENBQUM7b0JBQ25HLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUNqRCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgRXJyb3JIYW5kbGVyLFxyXG4gICAgTW9kdWxlV2l0aFByb3ZpZGVycyxcclxuICAgIE5nTW9kdWxlLFxyXG4gICAgTk9fRVJST1JTX1NDSEVNQVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuaW1wb3J0IHsgRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS9mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpZWxkVWlDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkLXVpL2ZpZWxkLXVpLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1jb250YWluZXIvcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbmNob3JTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYW5jaG9yLXNjcm9sbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYU5vdmluUmF5Q29yZVJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2JhcnNhLW5vdmluLXJheS1jb3JlLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgTW9kYWxSb290Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1yb290LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1OZXdDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tbmV3L2Zvcm0tbmV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvb3RQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3Jvb3QtcG9ydGFsL3Jvb3QtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4vYXV0aC1ndWFyZCc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgICBEeW5hbWljSXRlbUNvbXBvbmVudCxcclxuICAgIEJhc2VEeW5hbWljQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0Zvcm1Ub29sYmFyaXRlbUNvbXBvbmVudCxcclxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnRcclxufSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVkaXJlY3RIb21lR3VhcmQgfSBmcm9tICcuL3JlZGlyZWN0LWhvbWUtZ3VhcmQnO1xyXG5pbXBvcnQgeyBOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb290UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcm9vdC1wYWdlL3Jvb3QtcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNlTW9kdWxlIH0gZnJvbSAnLi9iYXNlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcnRhbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3BvcnRhbC1wYWdlL3BvcnRhbC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdsb2JhbEVycm9ySGFuZGxlciB9IGZyb20gJy4vZ2xvYmFsLWVycm9yLWhhbmRsZXInO1xyXG5cclxuaW1wb3J0IHsgUmVkaXJlY3RSZXBvcnROYXZpZ2F0b3JDb21tYW5kQ29tcG9uZW50IH0gZnJvbSAnLi9yZWRpcmVjdC1yZXBvcnQtbmF2aWdhdG9yLWNvbW1hbmQvcmVkaXJlY3QtcmVwb3J0LW5hdmlnYXRvci1jb21tYW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVtcHR5UGFnZVdpdGhSb3V0ZXJBbmRSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXBhZ2Utd2l0aC1yb3V0ZXItYW5kLXJvdXRlci1vdXRsZXQvZW1wdHktcGFnZS13aXRoLXJvdXRlci1hbmQtcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbXB0eVBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXBhZ2UvZW1wdHktcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xyXG5pbXBvcnQgeyBGb3JtUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9mb3JtLXBhZ2UuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBCcmVhZGNydW1iU2VydmljZSxcclxuICAgIFVwbG9hZFNlcnZpY2UsXHJcbiAgICBBcGlTZXJ2aWNlLFxyXG4gICAgTG9nU2VydmljZSxcclxuICAgIEJhcnNhRGlhbG9nU2VydmljZSxcclxuICAgIFBvcnRhbFNlcnZpY2UsXHJcbiAgICBVaVNlcnZpY2UsXHJcbiAgICBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBOZXR3b3JrU3RhdHVzU2VydmljZSxcclxuICAgIEF1ZGlvUmVjb3JkaW5nU2VydmljZSxcclxuICAgIFZpZGVvUmVjb3JkaW5nU2VydmljZSxcclxuICAgIFByb21wdFVwZGF0ZVNlcnZpY2UsXHJcbiAgICBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgIEluZGV4ZWREYlNlcnZpY2UsXHJcbiAgICBOb3RpZmljYXRpb25TZXJ2aWNlXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIEl0ZW1zUmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBOdW1iZXJzT25seUlucHV0RGlyZWN0aXZlLFxyXG4gICAgUGxhY2VIb2xkZXJEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZQYWdpbkRpcmVjdGl2ZSxcclxuICAgIEltYWdlTGF6eURpcmVjdGl2ZSxcclxuICAgIFVudGlsSW5WaWV3RGlyZWN0aXZlLFxyXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXHJcbiAgICBFbGxpcHNpZnlEaXJlY3RpdmUsXHJcbiAgICBUYWJsZVJlc2l6ZXJEaXJlY3RpdmUsXHJcbiAgICBDb2x1bW5SZXNpemVyRGlyZWN0aXZlLFxyXG4gICAgQXR0clJ0bERpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlZpZXdlckRpcmVjdGl2ZSxcclxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmVcclxufSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgTnVtZXJhbFBpcGUsXHJcbiAgICBDYW5VcGxvYWRGaWxlUGlwZSxcclxuICAgIFJlbW92ZU5ld2xpbmVQaXBlLFxyXG4gICAgQ29udmVydFRvU3R5bGVQaXBlLFxyXG4gICAgRmlsdGVyUGlwZSxcclxuICAgIEZpbHRlclRhYlBpcGUsXHJcbiAgICBGaWx0ZXJTdHJpbmdQaXBlLFxyXG4gICAgRmlvcmlJY29uUGlwZSxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgR3JvdXBCeVBpcGUsXHJcbiAgICBNdWx0aXBsZUdyb3VwQnlQaXBlLFxyXG4gICAgTW9WYWx1ZVBpcGUsXHJcbiAgICBNb1JlcG9ydFZhbHVlUGlwZSxcclxuICAgIEhlYWRlckZhY2V0VmFsdWVQaXBlLFxyXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZSxcclxuICAgIFRsYkJ1dHRvbnNQaXBlLFxyXG4gICAgU2VwZXJhdG9yRml4UGlwZSxcclxuICAgIE1vUmVwb3J0VmFsdWVDb25jYXRQaXBlLFxyXG4gICAgQ29udGV4dE1lbnVQaXBlLFxyXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcclxuICAgIEJhcnNhSWNvbkRpY3RQaXBlLFxyXG4gICAgRmlsZUluZm9Db3VudFBpcGUsXHJcbiAgICBDb250cm9sVWlQaXBlLFxyXG4gICAgVmlzaWJsZVZhbHVlUGlwZSxcclxuICAgIERhdGVUaW1lVG9DYXB0aW9uUGlwZSxcclxuICAgIEZpbHRlclRvb2xiYXJDb250cm9sUGlwZSxcclxuICAgIExpc3RDb3VudFBpcGUsXHJcbiAgICBUb3RhbFN1bW1hcnlQaXBlLFxyXG4gICAgTWVyZ2VGaWVsZHNUb0NvbHVtbnNQaXBlLFxyXG4gICAgRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcclxuICAgIEZpbHRlckNvbHVtbnNCeURldGFpbHNQaXBlLFxyXG4gICAgTW9JbmZvVWx2TW9MaXN0UGlwZVxyXG59IGZyb20gJy4vcGlwZXMnO1xyXG5pbXBvcnQgeyBCYXJzYVNhcFVpRm9ybVBhZ2VNb2R1bGUgfSBmcm9tICcuL2Zvcm0tcGFnZS1yb3V0aW5nJztcclxuXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12YXJcclxuZGVjbGFyZSB2YXIgQkJCOiBhbnk7XHJcblxyXG5jb25zdCBjb21wb25lbnRzID0gW1xyXG4gICAgRm9ybUNvbXBvbmVudCxcclxuICAgIEZpZWxkVWlDb21wb25lbnQsXHJcbiAgICBOb3RGb3VuZENvbXBvbmVudCxcclxuICAgIFJvb3RQYWdlQ29tcG9uZW50LFxyXG4gICAgUm9vdFBvcnRhbENvbXBvbmVudCxcclxuICAgIFJlcG9ydENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIEZvcm1OZXdDb21wb25lbnQsXHJcbiAgICBNb2RhbFJvb3RDb21wb25lbnQsXHJcbiAgICBQb3J0YWxQYWdlQ29tcG9uZW50LFxyXG4gICAgUmVkaXJlY3RSZXBvcnROYXZpZ2F0b3JDb21tYW5kQ29tcG9uZW50LFxyXG4gICAgRW1wdHlQYWdlV2l0aFJvdXRlckFuZFJvdXRlck91dGxldENvbXBvbmVudCxcclxuICAgIER5bmFtaWNJdGVtQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgICBCYXNlRHluYW1pY0NvbXBvbmVudCxcclxuICAgIER5bmFtaWNGb3JtVG9vbGJhcml0ZW1Db21wb25lbnQsXHJcbiAgICBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgRW1wdHlQYWdlQ29tcG9uZW50LFxyXG4gICAgRm9ybVBhZ2VDb21wb25lbnRcclxuXTtcclxuY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIFBsYWNlSG9sZGVyRGlyZWN0aXZlLFxyXG4gICAgTnVtYmVyc09ubHlJbnB1dERpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlZpZXdlckRpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlBhZ2luRGlyZWN0aXZlLFxyXG4gICAgQW5jaG9yU2Nyb2xsRGlyZWN0aXZlLFxyXG4gICAgSXRlbXNSZW5kZXJlckRpcmVjdGl2ZSxcclxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIEltYWdlTGF6eURpcmVjdGl2ZSxcclxuICAgIFVudGlsSW5WaWV3RGlyZWN0aXZlLFxyXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXHJcbiAgICBFbGxpcHNpZnlEaXJlY3RpdmUsXHJcbiAgICBUYWJsZVJlc2l6ZXJEaXJlY3RpdmUsXHJcbiAgICBDb2x1bW5SZXNpemVyRGlyZWN0aXZlLFxyXG4gICAgQXR0clJ0bERpcmVjdGl2ZVxyXG5dO1xyXG5jb25zdCBwaXBlcyA9IFtcclxuICAgIE51bWVyYWxQaXBlLFxyXG4gICAgQ2FuVXBsb2FkRmlsZVBpcGUsXHJcbiAgICBSZW1vdmVOZXdsaW5lUGlwZSxcclxuICAgIENvbnZlcnRUb1N0eWxlUGlwZSxcclxuICAgIEZpbHRlclBpcGUsXHJcbiAgICBGaWx0ZXJUYWJQaXBlLFxyXG4gICAgRmlsdGVyU3RyaW5nUGlwZSxcclxuICAgIEZpb3JpSWNvblBpcGUsXHJcbiAgICBTb3J0UGlwZSxcclxuICAgIEdyb3VwQnlQaXBlLFxyXG4gICAgTXVsdGlwbGVHcm91cEJ5UGlwZSxcclxuICAgIE1vVmFsdWVQaXBlLFxyXG4gICAgTW9SZXBvcnRWYWx1ZVBpcGUsXHJcbiAgICBIZWFkZXJGYWNldFZhbHVlUGlwZSxcclxuICAgIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUsXHJcbiAgICBUbGJCdXR0b25zUGlwZSxcclxuICAgIFNlcGVyYXRvckZpeFBpcGUsXHJcbiAgICBNb1JlcG9ydFZhbHVlQ29uY2F0UGlwZSxcclxuICAgIENvbnRleHRNZW51UGlwZSxcclxuICAgIEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICBCYXJzYUljb25EaWN0UGlwZSxcclxuICAgIEZpbGVJbmZvQ291bnRQaXBlLFxyXG4gICAgQ29udHJvbFVpUGlwZSxcclxuICAgIFZpc2libGVWYWx1ZVBpcGUsXHJcbiAgICBEYXRlVGltZVRvQ2FwdGlvblBpcGUsXHJcbiAgICBGaWx0ZXJUb29sYmFyQ29udHJvbFBpcGUsXHJcbiAgICBMaXN0Q291bnRQaXBlLFxyXG4gICAgVG90YWxTdW1tYXJ5UGlwZSxcclxuICAgIE1lcmdlRmllbGRzVG9Db2x1bW5zUGlwZSxcclxuICAgIEZpbmRDb2x1bW5CeURiTmFtZVBpcGUsXHJcbiAgICBGaWx0ZXJDb2x1bW5zQnlEZXRhaWxzUGlwZSxcclxuICAgIE1vSW5mb1Vsdk1vTGlzdFBpcGVcclxuXTtcclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLmNvbXBvbmVudHMsIC4uLnBpcGVzLCAuLi5kaXJlY3RpdmVzXSxcclxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEh0dHBDbGllbnRNb2R1bGUsIEJhcnNhTm92aW5SYXlDb3JlUm91dGluZ01vZHVsZSwgQmFyc2FTYXBVaUZvcm1QYWdlTW9kdWxlXSxcclxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzLCAuLi5waXBlcywgLi4uZGlyZWN0aXZlc10sXHJcbiAgICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlIGV4dGVuZHMgQmFzZU1vZHVsZSB7XHJcbiAgICBwcm90ZWN0ZWQgZHluYW1pY0NvbXBvbmVudHMgPSBbLi4uY29tcG9uZW50c107XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZGNtOiBEeW5hbWljQ29tcG9uZW50U2VydmljZSwgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7XHJcbiAgICAgICAgc3VwZXIoZGNtLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsICdCYXJzYU5vdmluUmF5Q29yZU1vZHVsZScpO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxCYXJzYU5vdmluUmF5Q29yZU1vZHVsZT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG5nTW9kdWxlOiBCYXJzYU5vdmluUmF5Q29yZU1vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAuLi5waXBlcyxcclxuICAgICAgICAgICAgICAgIFVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBBcGlTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgTG9nU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEJhcnNhRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBVaVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBMYXlvdXRTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBCcmVhZGNydW1iU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEF1dGhHdWFyZCxcclxuICAgICAgICAgICAgICAgIE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgVmlkZW9SZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgUmVkaXJlY3RIb21lR3VhcmQsXHJcbiAgICAgICAgICAgICAgICBQcm9tcHRVcGRhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgICAgICAgICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBJbmRleGVkRGJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQmJiVHJhbnNsYXRlUGlwZSxcclxuICAgICAgICAgICAgICAgIEJhcnNhU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUNsYXNzOiBHbG9iYWxFcnJvckhhbmRsZXJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChzd1B1c2hTZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSA9PiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLlVsLk5vdGlmaWNhdGlvbk1hbmFnZXIub24oe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hvd1BvcHVwOiBzd1B1c2hTZXJ2aWNlLnNob3dOb3RpZmljYXRpb24uYmluZChzd1B1c2hTZXJ2aWNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtOb3RpZmljYXRpb25TZXJ2aWNlXSxcclxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgKHByb21wdFVwZGF0ZVNlcnZpY2U6IFByb21wdFVwZGF0ZVNlcnZpY2UsIGJhcnNhU3RvcmFnZVNlcnZpY2U6IEJhcnNhU3RvcmFnZVNlcnZpY2UpID0+ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21wdFVwZGF0ZVNlcnZpY2UuY2hlY2tGb3JVcGRhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhcnNhU3RvcmFnZVNlcnZpY2UuaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtQcm9tcHRVcGRhdGVTZXJ2aWNlLCBCYXJzYVN0b3JhZ2VTZXJ2aWNlXSxcclxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DdWx0dXJlID09PSAnZmEtSVInKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZldGNoKGAvTG9jYWxpemF0aW9uL1RyYW5zbGF0aW9uL2RhdGFfJHtCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmV9Lmpzb25gKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXMuanNvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQkJCKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJCQiA9IHsgLi4uQmFyc2FBcGkuQkJCLCAuLi5yZXMgfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtdLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAocG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSwgdGl0bGVTZXJ2aWNlOiBUaXRsZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLmxvYWRVc2VyUG9ydGFsU2V0dGluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLmxvYWRQb3J0YWxEYXRhU3luYygpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocG9ydGFsU2VydmljZS5wb3J0YWxEYXRhPy5UaXRsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVTZXJ2aWNlLnNldFRpdGxlKHBvcnRhbFNlcnZpY2UucG9ydGFsRGF0YT8uVGl0bGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzICYmICFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzU2VydmljZURlc2spIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWxTZXJ2aWNlLmxvYWRTeXN0ZW0oQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Qb3J0YWxTeXN0ZW1JZCk7IC8vIGxvZ2luIGZvcm0gbmVlZCBqdXN0IHBvcnRhbCBzeXN0ZW1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWxTZXJ2aWNlLmxvYWRTeXN0ZW0oKTsgLy8gbG9hZCBhbGwgc3lzdGVtcyBpZiB1c2VyIGlzIGxvZ2dlZCBpblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbUG9ydGFsU2VydmljZSwgVGl0bGVdLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etbm92aW4tcmF5LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9iYXJzYS1ub3Zpbi1yYXktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixZQUFZLEVBRVosUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXpDLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQiwrQkFBK0IsRUFDL0Isc0JBQXNCLEVBQ3pCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxF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Q3ZCLGdDQUFnQztRQUNoQyxrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLDZCQUE2QjtRQUM3QixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0QixnQkFBZ0I7cUhBMENQLHVCQUF1QixZQUp0QixZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQThCLEVBQUUsd0JBQXdCOzJGQUl6Rix1QkFBdUI7a0JBTm5DLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUM7b0JBQ3RELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsQ0FBQztvQkFDbkcsT0FBTyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxVQUFVLENBQUM7b0JBQ2pELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBUFBfSU5JVElBTElaRVIsXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBFcnJvckhhbmRsZXIsXHJcbiAgICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gICAgTmdNb2R1bGUsXHJcbiAgICBOT19FUlJPUlNfU0NIRU1BXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmllbGRVaUNvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtdWkvZmllbGQtdWkuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFJlcG9ydENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LWNvbnRhaW5lci9yZXBvcnQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFuY2hvclNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hbmNob3Itc2Nyb2xsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJhcnNhTm92aW5SYXlDb3JlUm91dGluZ01vZHVsZSB9IGZyb20gJy4vYmFyc2Etbm92aW4tcmF5LWNvcmUtcm91dGluZy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNb2RhbFJvb3RDb21wb25lbnQgfSBmcm9tICcuL21vZGFsLXJvb3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybU5ld0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1uZXcvZm9ybS1uZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm9vdFBvcnRhbENvbXBvbmVudCB9IGZyb20gJy4vcm9vdC1wb3J0YWwvcm9vdC1wb3J0YWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9hdXRoLWd1YXJkJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBEeW5hbWljRm9ybUNvbXBvbmVudCxcclxuICAgIER5bmFtaWNJdGVtQ29tcG9uZW50LFxyXG4gICAgQmFzZUR5bmFtaWNDb21wb25lbnQsXHJcbiAgICBEeW5hbWljRm9ybVRvb2xiYXJpdGVtQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudFxyXG59IGZyb20gJy4vZHluYW1pYy1jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWRpcmVjdEhvbWVHdWFyZCB9IGZyb20gJy4vcmVkaXJlY3QtaG9tZS1ndWFyZCc7XHJcbmltcG9ydCB7IE5vdEZvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9ub3QtZm91bmQvbm90LWZvdW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvb3RQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9yb290LXBhZ2Uvcm9vdC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2VNb2R1bGUgfSBmcm9tICcuL2Jhc2UubW9kdWxlJztcclxuaW1wb3J0IHsgUG9ydGFsUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcG9ydGFsLXBhZ2UvcG9ydGFsLXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2xvYmFsRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9nbG9iYWwtZXJyb3ItaGFuZGxlcic7XHJcblxyXG5pbXBvcnQgeyBSZWRpcmVjdFJlcG9ydE5hdmlnYXRvckNvbW1hbmRDb21wb25lbnQgfSBmcm9tICcuL3JlZGlyZWN0LXJlcG9ydC1uYXZpZ2F0b3ItY29tbWFuZC9yZWRpcmVjdC1yZXBvcnQtbmF2aWdhdG9yLWNvbW1hbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW1wdHlQYWdlV2l0aFJvdXRlckFuZFJvdXRlck91dGxldENvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktcGFnZS13aXRoLXJvdXRlci1hbmQtcm91dGVyLW91dGxldC9lbXB0eS1wYWdlLXdpdGgtcm91dGVyLWFuZC1yb3V0ZXItb3V0bGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVtcHR5UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktcGFnZS9lbXB0eS1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9hYnN0cmFjdC1jbGFzc2VzL2JhcnNhLWFwaSc7XHJcbmltcG9ydCB7IEZvcm1QYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tcGFnZS5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgVXBsb2FkU2VydmljZSxcclxuICAgIEFwaVNlcnZpY2UsXHJcbiAgICBMb2dTZXJ2aWNlLFxyXG4gICAgQmFyc2FEaWFsb2dTZXJ2aWNlLFxyXG4gICAgUG9ydGFsU2VydmljZSxcclxuICAgIFVpU2VydmljZSxcclxuICAgIExheW91dFNlcnZpY2UsXHJcbiAgICBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcclxuICAgIE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxyXG4gICAgQXVkaW9SZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgVmlkZW9SZWNvcmRpbmdTZXJ2aWNlLFxyXG4gICAgUHJvbXB0VXBkYXRlU2VydmljZSxcclxuICAgIEJhcnNhU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgSW5kZXhlZERiU2VydmljZSxcclxuICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICBTZXJ2aWNlV29ya2VyTm90aWZpY2F0aW9uU2VydmljZVxyXG59IGZyb20gJy4vc2VydmljZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgRHluYW1pY0NvbW1hbmREaXJlY3RpdmUsXHJcbiAgICBJdGVtc1JlbmRlcmVyRGlyZWN0aXZlLFxyXG4gICAgTnVtYmVyc09ubHlJbnB1dERpcmVjdGl2ZSxcclxuICAgIFBsYWNlSG9sZGVyRGlyZWN0aXZlLFxyXG4gICAgUmVuZGVyVWx2UGFnaW5EaXJlY3RpdmUsXHJcbiAgICBJbWFnZUxhenlEaXJlY3RpdmUsXHJcbiAgICBVbnRpbEluVmlld0RpcmVjdGl2ZSxcclxuICAgIEludGVyc2VjdGlvbk9ic2VydmVyRGlyZWN0aXZlLFxyXG4gICAgRWxsaXBzaWZ5RGlyZWN0aXZlLFxyXG4gICAgVGFibGVSZXNpemVyRGlyZWN0aXZlLFxyXG4gICAgQ29sdW1uUmVzaXplckRpcmVjdGl2ZSxcclxuICAgIEF0dHJSdGxEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZWaWV3ZXJEaXJlY3RpdmUsXHJcbiAgICBVbHZDb21tYW5kRGlyZWN0aXZlLFxyXG4gICAgV29yZmtmbG93d0Nob2ljZUNvbW1hbmREaXJlY3RpdmVcclxufSBmcm9tICcuL2RpcmVjdGl2ZXMnO1xyXG5pbXBvcnQge1xyXG4gICAgTnVtZXJhbFBpcGUsXHJcbiAgICBDYW5VcGxvYWRGaWxlUGlwZSxcclxuICAgIFJlbW92ZU5ld2xpbmVQaXBlLFxyXG4gICAgQ29udmVydFRvU3R5bGVQaXBlLFxyXG4gICAgRmlsdGVyUGlwZSxcclxuICAgIEZpbHRlclRhYlBpcGUsXHJcbiAgICBGaWx0ZXJTdHJpbmdQaXBlLFxyXG4gICAgRmlvcmlJY29uUGlwZSxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgR3JvdXBCeVBpcGUsXHJcbiAgICBNdWx0aXBsZUdyb3VwQnlQaXBlLFxyXG4gICAgTW9WYWx1ZVBpcGUsXHJcbiAgICBNb1JlcG9ydFZhbHVlUGlwZSxcclxuICAgIEhlYWRlckZhY2V0VmFsdWVQaXBlLFxyXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZSxcclxuICAgIFRsYkJ1dHRvbnNQaXBlLFxyXG4gICAgU2VwZXJhdG9yRml4UGlwZSxcclxuICAgIE1vUmVwb3J0VmFsdWVDb25jYXRQaXBlLFxyXG4gICAgQ29udGV4dE1lbnVQaXBlLFxyXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcclxuICAgIEJhcnNhSWNvbkRpY3RQaXBlLFxyXG4gICAgRmlsZUluZm9Db3VudFBpcGUsXHJcbiAgICBDb250cm9sVWlQaXBlLFxyXG4gICAgVmlzaWJsZVZhbHVlUGlwZSxcclxuICAgIERhdGVUaW1lVG9DYXB0aW9uUGlwZSxcclxuICAgIEZpbHRlclRvb2xiYXJDb250cm9sUGlwZSxcclxuICAgIExpc3RDb3VudFBpcGUsXHJcbiAgICBUb3RhbFN1bW1hcnlQaXBlLFxyXG4gICAgTWVyZ2VGaWVsZHNUb0NvbHVtbnNQaXBlLFxyXG4gICAgRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcclxuICAgIEZpbHRlckNvbHVtbnNCeURldGFpbHNQaXBlLFxyXG4gICAgTW9JbmZvVWx2TW9MaXN0UGlwZVxyXG59IGZyb20gJy4vcGlwZXMnO1xyXG5pbXBvcnQgeyBCYXJzYVNhcFVpRm9ybVBhZ2VNb2R1bGUgfSBmcm9tICcuL2Zvcm0tcGFnZS1yb3V0aW5nJztcclxuXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12YXJcclxuZGVjbGFyZSB2YXIgQkJCOiBhbnk7XHJcblxyXG5jb25zdCBjb21wb25lbnRzID0gW1xyXG4gICAgRm9ybUNvbXBvbmVudCxcclxuICAgIEZpZWxkVWlDb21wb25lbnQsXHJcbiAgICBOb3RGb3VuZENvbXBvbmVudCxcclxuICAgIFJvb3RQYWdlQ29tcG9uZW50LFxyXG4gICAgUm9vdFBvcnRhbENvbXBvbmVudCxcclxuICAgIFJlcG9ydENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIEZvcm1OZXdDb21wb25lbnQsXHJcbiAgICBNb2RhbFJvb3RDb21wb25lbnQsXHJcbiAgICBQb3J0YWxQYWdlQ29tcG9uZW50LFxyXG4gICAgUmVkaXJlY3RSZXBvcnROYXZpZ2F0b3JDb21tYW5kQ29tcG9uZW50LFxyXG4gICAgRW1wdHlQYWdlV2l0aFJvdXRlckFuZFJvdXRlck91dGxldENvbXBvbmVudCxcclxuICAgIER5bmFtaWNJdGVtQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgICBCYXNlRHluYW1pY0NvbXBvbmVudCxcclxuICAgIER5bmFtaWNGb3JtVG9vbGJhcml0ZW1Db21wb25lbnQsXHJcbiAgICBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgRW1wdHlQYWdlQ29tcG9uZW50LFxyXG4gICAgRm9ybVBhZ2VDb21wb25lbnRcclxuXTtcclxuY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIFBsYWNlSG9sZGVyRGlyZWN0aXZlLFxyXG4gICAgTnVtYmVyc09ubHlJbnB1dERpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlZpZXdlckRpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlBhZ2luRGlyZWN0aXZlLFxyXG4gICAgQW5jaG9yU2Nyb2xsRGlyZWN0aXZlLFxyXG4gICAgSXRlbXNSZW5kZXJlckRpcmVjdGl2ZSxcclxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIFdvcmZrZmxvd3dDaG9pY2VDb21tYW5kRGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VMYXp5RGlyZWN0aXZlLFxyXG4gICAgVW50aWxJblZpZXdEaXJlY3RpdmUsXHJcbiAgICBJbnRlcnNlY3Rpb25PYnNlcnZlckRpcmVjdGl2ZSxcclxuICAgIEVsbGlwc2lmeURpcmVjdGl2ZSxcclxuICAgIFRhYmxlUmVzaXplckRpcmVjdGl2ZSxcclxuICAgIENvbHVtblJlc2l6ZXJEaXJlY3RpdmUsXHJcbiAgICBBdHRyUnRsRGlyZWN0aXZlXHJcbl07XHJcbmNvbnN0IHBpcGVzID0gW1xyXG4gICAgTnVtZXJhbFBpcGUsXHJcbiAgICBDYW5VcGxvYWRGaWxlUGlwZSxcclxuICAgIFJlbW92ZU5ld2xpbmVQaXBlLFxyXG4gICAgQ29udmVydFRvU3R5bGVQaXBlLFxyXG4gICAgRmlsdGVyUGlwZSxcclxuICAgIEZpbHRlclRhYlBpcGUsXHJcbiAgICBGaWx0ZXJTdHJpbmdQaXBlLFxyXG4gICAgRmlvcmlJY29uUGlwZSxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgR3JvdXBCeVBpcGUsXHJcbiAgICBNdWx0aXBsZUdyb3VwQnlQaXBlLFxyXG4gICAgTW9WYWx1ZVBpcGUsXHJcbiAgICBNb1JlcG9ydFZhbHVlUGlwZSxcclxuICAgIEhlYWRlckZhY2V0VmFsdWVQaXBlLFxyXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZSxcclxuICAgIFRsYkJ1dHRvbnNQaXBlLFxyXG4gICAgU2VwZXJhdG9yRml4UGlwZSxcclxuICAgIE1vUmVwb3J0VmFsdWVDb25jYXRQaXBlLFxyXG4gICAgQ29udGV4dE1lbnVQaXBlLFxyXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcclxuICAgIEJhcnNhSWNvbkRpY3RQaXBlLFxyXG4gICAgRmlsZUluZm9Db3VudFBpcGUsXHJcbiAgICBDb250cm9sVWlQaXBlLFxyXG4gICAgVmlzaWJsZVZhbHVlUGlwZSxcclxuICAgIERhdGVUaW1lVG9DYXB0aW9uUGlwZSxcclxuICAgIEZpbHRlclRvb2xiYXJDb250cm9sUGlwZSxcclxuICAgIExpc3RDb3VudFBpcGUsXHJcbiAgICBUb3RhbFN1bW1hcnlQaXBlLFxyXG4gICAgTWVyZ2VGaWVsZHNUb0NvbHVtbnNQaXBlLFxyXG4gICAgRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcclxuICAgIEZpbHRlckNvbHVtbnNCeURldGFpbHNQaXBlLFxyXG4gICAgTW9JbmZvVWx2TW9MaXN0UGlwZVxyXG5dO1xyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50cywgLi4ucGlwZXMsIC4uLmRpcmVjdGl2ZXNdLFxyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSHR0cENsaWVudE1vZHVsZSwgQmFyc2FOb3ZpblJheUNvcmVSb3V0aW5nTW9kdWxlLCBCYXJzYVNhcFVpRm9ybVBhZ2VNb2R1bGVdLFxyXG4gICAgZXhwb3J0czogWy4uLmNvbXBvbmVudHMsIC4uLnBpcGVzLCAuLi5kaXJlY3RpdmVzXSxcclxuICAgIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUgZXh0ZW5kcyBCYXNlTW9kdWxlIHtcclxuICAgIHByb3RlY3RlZCBkeW5hbWljQ29tcG9uZW50cyA9IFsuLi5jb21wb25lbnRzXTtcclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkY206IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLCBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICAgICAgICBzdXBlcihkY20sIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgJ0JhcnNhTm92aW5SYXlDb3JlTW9kdWxlJyk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIC4uLnBpcGVzLFxyXG4gICAgICAgICAgICAgICAgVXBsb2FkU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEFwaVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBMb2dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQmFyc2FEaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgUG9ydGFsU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFVpU2VydmljZSxcclxuICAgICAgICAgICAgICAgIExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcclxuICAgICAgICAgICAgICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQXV0aEd1YXJkLFxyXG4gICAgICAgICAgICAgICAgTmV0d29ya1N0YXR1c1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBBdWRpb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBWaWRlb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBSZWRpcmVjdEhvbWVHdWFyZCxcclxuICAgICAgICAgICAgICAgIFByb21wdFVwZGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgU2VydmljZVdvcmtlck5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgSW5kZXhlZERiU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgICAgICAgICBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcclxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogR2xvYmFsRXJyb3JIYW5kbGVyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAobm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5VbC5Ob3RpZmljYXRpb25NYW5hZ2VyLm9uKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNob3dQb3B1cDogbm90aWZpY2F0aW9uU2VydmljZS5hZGROb3RpZmljYXRpb24uYmluZChub3RpZmljYXRpb25TZXJ2aWNlKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1Ymxpc2hFdmVudDogbm90aWZpY2F0aW9uU2VydmljZS5oYW5kbGVUb3BpYy5iaW5kKG5vdGlmaWNhdGlvblNlcnZpY2UpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW05vdGlmaWNhdGlvblNlcnZpY2VdLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAocHJvbXB0VXBkYXRlU2VydmljZTogUHJvbXB0VXBkYXRlU2VydmljZSwgYmFyc2FTdG9yYWdlU2VydmljZTogQmFyc2FTdG9yYWdlU2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbXB0VXBkYXRlU2VydmljZS5jaGVja0ZvclVwZGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFyc2FTdG9yYWdlU2VydmljZS5pbml0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1Byb21wdFVwZGF0ZVNlcnZpY2UsIEJhcnNhU3RvcmFnZVNlcnZpY2VdLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAoKSA9PiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmUgPT09ICdmYS1JUicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmV0Y2goYC9Mb2NhbGl6YXRpb24vVHJhbnNsYXRpb24vZGF0YV8ke0JhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZX0uanNvbmApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcy5qc29uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChCQkIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkJCID0geyAuLi5CYXJzYUFwaS5CQkIsIC4uLnJlcyB9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLCB0aXRsZVNlcnZpY2U6IFRpdGxlKSA9PiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRhbFNlcnZpY2UubG9hZFVzZXJQb3J0YWxTZXR0aW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRhbFNlcnZpY2UubG9hZFBvcnRhbERhdGFTeW5jKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwb3J0YWxTZXJ2aWNlLnBvcnRhbERhdGE/LlRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZVNlcnZpY2Uuc2V0VGl0bGUocG9ydGFsU2VydmljZS5wb3J0YWxEYXRhPy5UaXRsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNBbm9ueW1vdXMgJiYgIUJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNTZXJ2aWNlRGVzaykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBvcnRhbFNlcnZpY2UubG9hZFN5c3RlbShCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLlBvcnRhbFN5c3RlbUlkKTsgLy8gbG9naW4gZm9ybSBuZWVkIGp1c3QgcG9ydGFsIHN5c3RlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBvcnRhbFNlcnZpY2UubG9hZFN5c3RlbSgpOyAvLyBsb2FkIGFsbCBzeXN0ZW1zIGlmIHVzZXIgaXMgbG9nZ2VkIGluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtQb3J0YWxTZXJ2aWNlLCBUaXRsZV0sXHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19