@colijnit/sharedcomponents 260.1.14 → 260.1.16

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 (27) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +53 -49
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +2 -2
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +3 -3
  6. package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +1 -2
  7. package/esm2015/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.js +8 -25
  8. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +23 -17
  9. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +59 -48
  10. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +4 -3
  11. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +120 -110
  12. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +1 -1
  13. package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +2 -1
  14. package/esm2015/lib/enum/icon.enum.js +1 -1
  15. package/esm2015/lib/model/icon-svg.js +1 -1
  16. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  17. package/esm2015/lib/service/shared-connector.service.js +1 -1
  18. package/fesm2015/colijnit-sharedcomponents.js +212 -200
  19. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  20. package/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.d.ts +2 -2
  21. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +2 -3
  22. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +3 -0
  23. package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +10 -0
  24. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +2 -0
  25. package/lib/components/send-method-dialog/service/send-method.service.d.ts +1 -0
  26. package/lib/res/dictionary/dictionaries.d.ts +1 -0
  27. package/package.json +1 -1
@@ -83,7 +83,7 @@ export { SendMethodEmailComponent as ɵs } from './lib/components/send-method-di
83
83
  export { SendMethodEmailModule as ɵi } from './lib/components/send-method-dialog/components/send-method-email/send-method-email.module';
84
84
  export { SendMethodPdfComponent as ɵz } from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component';
85
85
  export { SendMethodPdfModule as ɵy } from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module';
86
- export { SendMethodPrinterComponent as ɵx } from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component';
86
+ export { SendMethodPrinterComponent as ɵw } from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component';
87
87
  export { SendMethodPrinterModule as ɵt } from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module';
88
88
  export { SignatureButtonComponent as ɵn } from './lib/components/send-method-dialog/components/signature-button/signature-button.component';
89
89
  export { SignatureButtonModule as ɵm } from './lib/components/send-method-dialog/components/signature-button/signature-button.module';
@@ -128,7 +128,7 @@ export { AlignWithDirective as ɵew } from './lib/directives/align-with.directiv
128
128
  export { ClickOutsideDirective as ɵex } from './lib/directives/click-outside.directive';
129
129
  export { DirectivesModule as ɵet } from './lib/directives/directives.module';
130
130
  export { Icon as ɵcd } from './lib/enum/icon.enum';
131
- export { LanguageCode as ɵw } from './lib/enum/language-code.enum';
131
+ export { LanguageCode as ɵx } from './lib/enum/language-code.enum';
132
132
  export { SendMethod as ɵcc } from './lib/model/send-method';
133
133
  export { ArrayNumberPipe as ɵcz } from './lib/pipe/array-number.pipe';
134
134
  export { FileTypeImagePipe as ɵdb } from './lib/pipe/file-type-image.pipe';
@@ -141,4 +141,4 @@ export { OptionsService as ɵe } from './lib/service/options.service';
141
141
  export { SharedConnectorService as ɵd } from './lib/service/shared-connector.service';
142
142
  export { StockService as ɵg } from './lib/service/stock.service';
143
143
  export { SharedLocalizePipe as ɵk } from './lib/translation/shared-localize.pipe';
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saWpuaXQtc2hhcmVkY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2NvbGlqbml0LXNoYXJlZGNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDeEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEdBQUcsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ2xILE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw4RkFBOEYsQ0FBQztBQUMvSSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sd0ZBQXdGLENBQUM7QUFDcEksT0FBTyxFQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBQyxNQUFNLHFGQUFxRixDQUFDO0FBQzlILE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxHQUFHLEVBQUMsTUFBTSxvRkFBb0YsQ0FBQztBQUM3SSxPQUFPLEVBQUMsK0JBQStCLElBQUksR0FBRyxFQUFDLE1BQU0saUZBQWlGLENBQUM7QUFDdkksT0FBTyxFQUFDLDZCQUE2QixJQUFJLEdBQUcsRUFBQyxNQUFNLDBGQUEwRixDQUFDO0FBQzlJLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFD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QUFJLEdBQUcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxlQUFlLElBQUksR0FBRyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxHQUFHLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsK0JBQStCLElBQUksR0FBRyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDekcsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWN0aXZpdHlMaXN0SGVhZGVyQ29tcG9uZW50IGFzIMm1ZmR9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbGlzdC1oZWFkZXIvYWN0aXZpdHktbGlzdC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aXZpdHlMaXN0SGVhZGVyTW9kdWxlIGFzIMm1ZXJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbGlzdC1oZWFkZXIvYWN0aXZpdHktbGlzdC1oZWFkZXIubW9kdWxlJztcbmV4cG9ydCB7UGVyaW9kRmlsdGVyUG9wdXBDb21wb25lbnQgYXMgybVmY30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0LWhlYWRlci9jb21wb25lbnRzL3BlcmlvZC1maWx0ZXIvcGVyaW9kLWZpbHRlci1wb3B1cC5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJpb2RGaWx0ZXJDb21wb25lbnQgYXMgybVmYn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0LWhlYWRlci9jb21wb25lbnRzL3BlcmlvZC1maWx0ZXIvcGVyaW9kLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJpb2RGaWx0ZXJNb2R1bGUgYXMgybVmYX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0LWhlYWRlci9jb21wb25lbnRzL3BlcmlvZC1maWx0ZXIvcGVyaW9kLWZpbHRlci5tb2R1bGUnO1xuZXhwb3J0IHtDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50IGFzIMm1ZXF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktb3ZlcnZpZXctY29tcG9uZW50L2NvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3TW9kdWxlIGFzIMm1ZHl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktb3ZlcnZpZXctY29tcG9uZW50L2NvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldy5tb2R1bGUnO1xuZXhwb3J0IHtCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCBhcyDJtWR1fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnRzL2Jhc2UtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwRmlsZURyb3B6b25lQ29tcG9uZW50IGFzIMm1ZHB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwLWZpbGUtZHJvcHpvbmUvYXBwLWZpbGUtZHJvcHpvbmUuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwRmlsZURyb3B6b25lTW9kdWxlIGFzIMm1ZG99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwLWZpbGUtZHJvcHpvbmUvYXBwLWZpbGUtZHJvcHpvbmUubW9kdWxlJztcbmV4cG9ydCB7Q3VzdG9tUGRmRGlhbG9nQ29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jdXN0b20tcGRmL2N1c3RvbS1wZGYtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge0N1c3RvbVBkZkRpYWxvZ01vZHVsZSBhcyDJtXB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3VzdG9tLXBkZi9jdXN0b20tcGRmLWRpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHtBZ2VuZGFCYXNlVmlld0NvbXBvbmVudCBhcyDJtWNtfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2FnZW5kYS9hZ2VuZGEtYmFzZS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYURheVZpZXdDb21wb25lbnQgYXMgybVjbn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWRheS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYUV2ZW50Q29tcG9uZW50IGFzIMm1Y3Z9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFFdmVudHNDb21wb25lbnQgYXMgybVjdX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWV2ZW50cy5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFIYWxmSG91ckNlbGxDb21wb25lbnQgYXMgybVjdH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhhbGYtaG91ci1jZWxsLmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYUhlYWRlckNvbXBvbmVudCBhcyDJtWNqfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2FnZW5kYS9hZ2VuZGEtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYUhvdXJDZWxsQ29tcG9uZW50IGFzIMm1Y3J9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS1ob3VyLWNlbGwuY29tcG9uZW50JztcbmV4cG9ydCB7QWdlbmRhSG91clZpZXdMYWJlbHNDb21wb25lbnQgYXMgybVjc30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhvdXItdmlldy1sYWJlbHMuY29tcG9uZW50JztcbmV4cG9ydCB7QWdlbmRhSG91clZpZXdDb21wb25lbnQgYXMgybVjcX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhvdXItdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFNb250aFZpZXdDb21wb25lbnQgYXMgybVjbH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLW1vbnRoLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7QWdlbmRhU2VsZWN0RXZlbnRDb21wb25lbnQgYXMgybVjeH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLXNlbGVjdC1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFWaWV3Q29tcG9uZW50IGFzIMm1Y2t9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYVdlZWtTZWxlY3RWaWV3Q29tcG9uZW50IGFzIMm1Y3B9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS13ZWVrLXNlbGVjdC12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYVdlZWtWaWV3Q29tcG9uZW50IGFzIMm1Y299IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS13ZWVrLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7Vmlld1NlbGVjdENvbXBvbmVudCBhcyDJtWN3fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2FnZW5kYS92aWV3LXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtDYWxlbmRhckFsbE1vbnRoc0NvbXBvbmVudCBhcyDJtWNmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2NhbGVuZGFyL2NhbGVuZGFyLWFsbC1tb250aHMuY29tcG9uZW50JztcbmV4cG9ydCB7Q2FsZW5kYXJBbGxZZWFyc0NvbXBvbmVudCBhcyDJtWNlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2NhbGVuZGFyL2NhbGVuZGFyLWFsbC15ZWFycy5jb21wb25lbnQnO1xuZXhwb3J0IHtDYWxlbmRhckhlYWRlckNvbXBvbmVudCBhcyDJtWNnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2NhbGVuZGFyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtDYWxlbmRhclZpZXdDb21wb25lbnQgYXMgybVjaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9jYWxlbmRhci9jYWxlbmRhci12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0NhbGVuZGFyQ29tcG9uZW50IGFzIMm1Y2h9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50JztcbmV4cG9ydCB7U2lnbmF0dXJlQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kb2NzaWduL2NvbXBvbmVudC9zaWduYXR1cmUvc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5leHBvcnQge1NpZ25hdHVyZXNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RvY3NpZ24vY29tcG9uZW50L3NpZ25hdHVyZXMvc2lnbmF0dXJlcy5jb21wb25lbnQnO1xuZXhwb3J0IHtFbWFpbFNlbGVjdG9yQ29tcG9uZW50IGFzIMm1ZW99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZW1haWwtc2VsZWN0b3IvZW1haWwtc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7RW1haWxTZWxlY3Rvck1vZHVsZSBhcyDJtWVufSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2VtYWlsLXNlbGVjdG9yL2VtYWlsLXNlbGVjdG9yLm1vZHVsZSc7XG5leHBvcnQge0ZpbGVVcGxvYWRQb3B1cENvbXBvbmVudCBhcyDJtWRufSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLXBvcHVwL2ZpbGUtdXBsb2FkLXBvcHVwLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVVcGxvYWRQb3B1cE1vZHVsZSBhcyDJtWRrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLXBvcHVwL2ZpbGUtdXBsb2FkLXBvcHVwLm1vZHVsZSc7XG5leHBvcnQge0ZpbGVVcGxvYWRDb21wb25lbnQgYXMgybVkan0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVXBsb2FkTW9kdWxlIGFzIMm1ZGd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQubW9kdWxlJztcbmV4cG9ydCB7QmFzZUZpbGVVcGxvYWRDb21wb25lbnQgYXMgybVkY30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQge0RyYWdEcm9wQ29udGFpbmVyQ29tcG9uZW50IGFzIMm1ZHF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsZXMtdXBsb2FkL2NvbXBvbmVudHMvZHJhZy1kcm9wLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtVc2VyRm9ybUlucHV0U2NhbGVDb21wb25lbnQgYXMgybVmaH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9jb21wb25lbnRzL3VzZXItZm9ybS1pbnB1dC1zY2FsZS91c2VyLWZvcm0taW5wdXQtc2NhbGUuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlckZvcm1JbnB1dFNjYWxlTW9kdWxlIGFzIMm1Zmd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS1idWlsZGVyL2Zvcm0tYnVpbGRlci11c2VyLWZvcm0vY29tcG9uZW50cy91c2VyLWZvcm0taW5wdXQtc2NhbGUvdXNlci1mb3JtLWlucHV0LXNjYWxlLm1vZHVsZSc7XG5leHBvcnQge0Zvcm1CdWlsZGVyUXVlc3Rpb25Db21wb25lbnQgYXMgybVmaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9mb3JtLWJ1aWxkZXItcXVlc3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7SW1hZ2VEaXNwbGF5Q29tcG9uZW50IGFzIMm1ZGZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvaW1hZ2UtZGlzcGxheS9pbWFnZS1kaXNwbGF5LmNvbXBvbmVudCc7XG5leHBvcnQge0ltYWdlRGlzcGxheU1vZHVsZSBhcyDJtWRlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ltYWdlLWRpc3BsYXkvaW1hZ2UtZGlzcGxheS5tb2R1bGUnO1xuZXhwb3J0IHtBY3Rpdml0eVN1bW1hcnlCbG9ja0NvbXBvbmVudCBhcyDJtWVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9hY3Rpdml0eS1zdW1tYXJ5LWJsb2NrL2FjdGl2aXR5LXN1bW1hcnktYmxvY2suY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aXZpdHlTdW1tYXJ5QmxvY2tNb2R1bGUgYXMgybVlZn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvYWN0aXZpdHktc3VtbWFyeS1ibG9jay9hY3Rpdml0eS1zdW1tYXJ5LWJsb2NrLm1vZHVsZSc7XG5leHBvcnQge0Jhc2VBY3Rpdml0eVN1bW1hcnlDb21wb25lbnQgYXMgybVlZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvYmFzZS1hY3Rpdml0eS1zdW1tYXJ5LmNvbXBvbmVudCc7XG5leHBvcnQge0NyZWF0aW9uU3VtbWFyeUJsb2NrQ29tcG9uZW50IGFzIMm1ZWx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9jb21wb25lbnRzL2NyZWF0aW9uLXN1bW1hcnktYmxvY2svY3JlYXRpb24tc3VtbWFyeS1ibG9jay5jb21wb25lbnQnO1xuZXhwb3J0IHtDcmVhdGlvblN1bW1hcnlCbG9ja01vZHVsZSBhcyDJtWVrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9jcmVhdGlvbi1zdW1tYXJ5LWJsb2NrL2NyZWF0aW9uLXN1bW1hcnktYmxvY2subW9kdWxlJztcbmV4cG9ydCB7RXhlY3V0aXZlU3VtbWFyeUJsb2NrQ29tcG9uZW50IGFzIMm1ZWh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9jb21wb25lbnRzL2V4ZWN1dGl2ZS1zdW1tYXJ5LWJsb2NrL2V4ZWN1dGl2ZS1zdW1tYXJ5LWJsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQge0V4ZWN1dGl2ZVN1bW1hcnlCbG9ja01vZHVsZSBhcyDJtWVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9leGVjdXRpdmUtc3VtbWFyeS1ibG9jay9leGVjdXRpdmUtc3VtbWFyeS1ibG9jay5tb2R1bGUnO1xuZXhwb3J0IHtOb3RpZmljYXRpb25TdW1tYXJ5QmxvY2tDb21wb25lbnQgYXMgybVlcH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLXN1bW1hcnktYmxvY2svbm90aWZpY2F0aW9uLXN1bW1hcnktYmxvY2suY29tcG9uZW50JztcbmV4cG9ydCB7Tm90aWZpY2F0aW9uU3VtbWFyeUJsb2NrTW9kdWxlIGFzIMm1ZW19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1zdW1tYXJ5LWJsb2NrL25vdGlmaWNhdGlvbi1zdW1tYXJ5LWJsb2NrLm1vZHVsZSc7XG5leHBvcnQge1N0YXR1c1N1bW1hcnlCbG9ja0NvbXBvbmVudCBhcyDJtWVqfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9zdGF0dXMtc3VtbWFyeS1ibG9jay9zdGF0dXMtc3VtbWFyeS1ibG9jay5jb21wb25lbnQnO1xuZXhwb3J0IHtTdGF0dXNTdW1tYXJ5QmxvY2tNb2R1bGUgYXMgybVlaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvc3RhdHVzLXN1bW1hcnktYmxvY2svc3RhdHVzLXN1bW1hcnktYmxvY2subW9kdWxlJztcbmV4cG9ydCB7VGFza0RldGFpbHNDb21wb25lbnQgYXMgybVlY30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvdGFzay1kZXRhaWxzL3Rhc2stZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYXNrRGV0YWlsc01vZHVsZSBhcyDJtWVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy90YXNrLWRldGFpbHMvdGFzay1kZXRhaWxzLm1vZHVsZSc7XG5leHBvcnQge01vZGlmeVRhc2tGb3JtQ29tcG9uZW50IGFzIMm1ZHd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9tb2RpZnktdGFzay1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGlmeVRhc2tGb3JtTW9kdWxlIGFzIMm1ZWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9tb2RpZnktdGFzay1mb3JtLm1vZHVsZSc7XG5leHBvcnQge011bHRpcGxlUHJvcGVydHlUb2dnbGVyQ29tcG9uZW50IGFzIMm1ZG19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXVsdGktcHJvcGVydHktdG9nZ2xlci9tdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyLmNvbXBvbmVudCc7XG5leHBvcnQge011bHRpcGxlUHJvcGVydHlUb2dnbGVyTW9kdWxlIGFzIMm1ZGx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXVsdGktcHJvcGVydHktdG9nZ2xlci9tdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyLm1vZHVsZSc7XG5leHBvcnQge0Jhc2VBY3Rpdml0eUxpc3RDb21wb25lbnQgYXMgybVkc30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcGVuLWFjdGl2aXR5LWxpc3QvY29tcG9uZW50cy9iYXNlLW9wZW4tYWN0aXZpdHktbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQgYXMgybVkdH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcGVuLWFjdGl2aXR5LWxpc3QvY29tcG9uZW50cy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdNb2R1bGUgYXMgybVkeH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcGVuLWFjdGl2aXR5LWxpc3QvY29tcG9uZW50cy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy5tb2R1bGUuJztcbmV4cG9ydCB7UHJldmlld1BkZkRpYWxvZ0NvbXBvbmVudCBhcyDJtWJkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ByZXZpZXctcGRmLWRpYWxvZy9wcmV2aWV3LXBkZi1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7UHJldmlld1BkZkRpYWxvZ01vZHVsZSBhcyDJtWJjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ByZXZpZXctcGRmLWRpYWxvZy9wcmV2aWV3LXBkZi1kaWFsb2cubW9kdWxlJztcbmV4cG9ydCB7QWRkaXRpb25hbEZpbGVCdXR0b25Db21wb25lbnQgYXMgybVyfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL2FkZGl0aW9uYWwtZmlsZS1idXR0b24vYWRkaXRpb25hbC1maWxlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtBZGRpdGlvbmFsRmlsZUJ1dHRvbk1vZHVsZSBhcyDJtW99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLm1vZHVsZSc7XG5leHBvcnQge0xheW91dFNlbGVjdGlvbkNvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvbGF5b3V0LXNlbGVjdGlvbi9sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dFNlbGVjdGlvbk1vZHVsZSBhcyDJtWp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvbGF5b3V0LXNlbGVjdGlvbi9sYXlvdXQtc2VsZWN0aW9uLm1vZHVsZSc7XG5leHBvcnQge1ByaW50ZXJTZWxlY3Rpb25Db21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3ByaW50ZXItc2VsZWN0aW9uL3ByaW50ZXItc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1ByaW50ZXJTZWxlY3Rpb25Nb2R1bGUgYXMgybV1fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3ByaW50ZXItc2VsZWN0aW9uL3ByaW50ZXItc2VsZWN0aW9uLm1vZHVsZSc7XG5leHBvcnQge1NlbmRNZXRob2RDb21iaW5lUHJpbnRFbWFpbENvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWNvbWJpbmUtcHJpbnQtZW1haWwvc2VuZC1tZXRob2QtY29tYmluZS1wcmludC1lbWFpbC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZW5kTWV0aG9kQ29tYmluZVByaW50RW1haWxNb2R1bGUgYXMgybViYX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1jb21iaW5lLXByaW50LWVtYWlsL3NlbmQtbWV0aG9kLWNvbWJpbmUtcHJpbnQtZW1haWwubW9kdWxlJztcbmV4cG9ydCB7U2VuZE1ldGhvZEVtYWlsQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1lbWFpbC9zZW5kLW1ldGhvZC1lbWFpbC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZW5kTWV0aG9kRW1haWxNb2R1bGUgYXMgybVpfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWVtYWlsL3NlbmQtbWV0aG9kLWVtYWlsLm1vZHVsZSc7XG5leHBvcnQge1NlbmRNZXRob2RQZGZDb21wb25lbnQgYXMgybV6fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3NlbmQtbWV0aG9kLXBkZi9zZW5kLW1ldGhvZC1wZGYuY29tcG9uZW50JztcbmV4cG9ydCB7U2VuZE1ldGhvZFBkZk1vZHVsZSBhcyDJtXl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtcGRmL3NlbmQtbWV0aG9kLXBkZi5tb2R1bGUnO1xuZXhwb3J0IHtTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudCBhcyDJtXh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtcHJpbnRlci9zZW5kLW1ldGhvZC1wcmludGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1NlbmRNZXRob2RQcmludGVyTW9kdWxlIGFzIMm1dH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIubW9kdWxlJztcbmV4cG9ydCB7U2lnbmF0dXJlQnV0dG9uQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zaWduYXR1cmUtYnV0dG9uL3NpZ25hdHVyZS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7U2lnbmF0dXJlQnV0dG9uTW9kdWxlIGFzIMm1bX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zaWduYXR1cmUtYnV0dG9uL3NpZ25hdHVyZS1idXR0b24ubW9kdWxlJztcbmV4cG9ydCB7U2VuZE1ldGhvZFNlcnZpY2UgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xuZXhwb3J0IHtTdGF0dXNiYXJQb3B1cENvbXBvbmVudCBhcyDJtWJnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0YXR1c2Jhci9zdGF0dXNiYXItcG9wdXAuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tTdGF0dXNiYXJDb21wb25lbnQgYXMgybViaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay1zdGF0dXNiYXIvc3RvY2stc3RhdHVzYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrU3RhdHVzYmFyTW9kdWxlIGFzIMm1Ymh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2stc3RhdHVzYmFyL3N0b2NrLXN0YXR1c2Jhci5tb2R1bGUnO1xuZXhwb3J0IHtCYXNlU3RvY2tDb21wb25lbnQgYXMgybVicH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9iYXNlL2Jhc2Utc3RvY2suY29tcG9uZW50JztcbmV4cG9ydCB7QWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudCBhcyDJtWJ5fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5L2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtPcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnlDb21wb25lbnQgYXMgybVid30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL29yZGVyLWNvbW1pc3Npb24tc3RvY2staGlzdG9yeS9vcmRlci1jb21taXNzaW9uLXN0b2NrLWhpc3RvcnkuY29tcG9uZW50JztcbmV4cG9ydCB7T3JkZXJTdG9ja0hpc3RvcnlDb21wb25lbnQgYXMgybVieH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL29yZGVyLXN0b2NrLWhpc3Rvcnkvb3JkZXItc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtPcmRlclN0b2NrVGFiQ29tcG9uZW50IGFzIMm1YnN9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9vcmRlci1zdG9jay10YWIvb3JkZXItc3RvY2stdGFiLmNvbXBvbmVudCc7XG5leHBvcnQge09yZGVyU3VwcGx5U3RvY2tIaXN0b3J5Q29tcG9uZW50IGFzIMm1YnZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtPcmRlclRhYkNvbXBvbmVudCBhcyDJtWJvfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0hpc3RvcnlDb21wb25lbnQgYXMgybVidX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL3N0b2NrLWhpc3Rvcnkvc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0xvY2F0aW9uUG9wdXBDb21wb25lbnQgYXMgybVjYX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tcG9wdXAvc3RvY2stbG9jYXRpb24tcG9wdXAuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tMb2NhdGlvbkNvbXBvbmVudCBhcyDJtWJ0fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24vc3RvY2stbG9jYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tQcm9nbm9zZUNvbXBvbmVudCBhcyDJtWJ6fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvc3RvY2stcHJvZ25vc2Uvc3RvY2stcHJvZ25vc2UuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tUYWJDb21wb25lbnQgYXMgybVibn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL3N0b2NrLXRhYi9zdG9jay10YWIuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9zZXJ2aWNlL3N0b2NrLW1vZHVsZS1zY3JlZW4tY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0IHtTdG9ja0hpc3RvcnlUYWJzQ29tcG9uZW50IGFzIMm1YnJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staGlzdG9yeS10YWJzL3N0b2NrLWhpc3RvcnktdGFicy5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQvc3RvY2staW5mb3JtYXRpb24tZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tUYWJzQ29tcG9uZW50IGFzIMm1YnF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdGFicy9zdG9jay10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrVHJhbnNmZXJBbGxvY2F0ZWRDb21wb25lbnQgYXMgybVjYn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10cmFuc2Zlci1hbGxvY2F0ZWQvc3RvY2stdHJhbnNmZXItYWxsb2NhdGVkLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrQ2hhbmdlQW1vdW50Q29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdHJhbnNmZXIvc3RvY2stY2hhbmdlLWFtb3VudC5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja1RyYW5zZmVyQ29tcG9uZW50IGFzIMm1Ymx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VGFiQmFyQ29tcG9uZW50IGFzIMm1YmZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFiLWJhci90YWItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYkJhck1vZHVsZSBhcyDJtWJlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYi1iYXIvdGFiLWJhci5tb2R1bGUnO1xuZXhwb3J0IHtUYXNrTW9kaWZpZXJDb21wb25lbnQgYXMgybVkdn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90YXNrLW1vZGlmeWVyL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VGFza01vZGlmeWVyTW9kdWxlIGFzIMm1ZHp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFzay1tb2RpZnllci90YXNrLW1vZGlmeWVyLm1vZHVsZS4nO1xuZXhwb3J0IHtUaWxlUmVuZGVyQ29tcG9uZW50IGFzIMm1ZGl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGlsZS1yZW5kZXJlci90aWxlLXJlbmRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUaWxlUmVuZGVyTW9kdWxlIGFzIMm1ZGh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGlsZS1yZW5kZXJlci90aWxlLXJlbmRlci5tb2R1bGUnO1xuZXhwb3J0IHtXb3JrZmxvd0luZm9UaWxlQ29tcG9uZW50IGFzIMm1ZmZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctaW5mby10aWxlcy9jb21wb25lbnRzL3dvcmtmbG93LWluZm8tdGlsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtXb3JrZmxvd0luZm9UaWxlTW9kdWxlIGFzIMm1ZmV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctaW5mby10aWxlcy9jb21wb25lbnRzL3dvcmtmbG93LWluZm8tdGlsZS5tb2R1bGUnO1xuZXhwb3J0IHtXb3JrZmxvd05vdGlmaWNhdGlvblRvZ2dsZVBvcHVwQ29tcG9uZW50IGFzIMm1ZXp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlLXBvcHVwJztcbmV4cG9ydCB7V29ya2Zsb3dOb3RpZmljYXRpb25Ub2dnbGVDb21wb25lbnQgYXMgybVleX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCB7V29ya2Zsb3dOb3RpZmljYXRpb25Ub2dnbGVNb2R1bGUgYXMgybVlc30gZnJvbSAnLi9saWIvY29tcG9uZW50cy93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUubW9kdWxlJztcbmV4cG9ydCB7SW5wdXRCb29sZWFuIGFzIMm1ZGR9IGZyb20gJy4vbGliL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvcic7XG5leHBvcnQge0Fic29sdXRlT3ZlcmxheVRlbXBsYXRlRGlyZWN0aXZlIGFzIMm1ZXV9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYWJzb2x1dGUtb3ZlcmxheS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtBbGlnbldpdGhEaXJlY3RpdmUgYXMgybVld30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hbGlnbi13aXRoLmRpcmVjdGl2ZSc7XG5leHBvcnQge0NsaWNrT3V0c2lkZURpcmVjdGl2ZSBhcyDJtWV4fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7RGlyZWN0aXZlc01vZHVsZSBhcyDJtWV0fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmV4cG9ydCB7SWNvbiBhcyDJtWNkfSBmcm9tICcuL2xpYi9lbnVtL2ljb24uZW51bSc7XG5leHBvcnQge0xhbmd1YWdlQ29kZSBhcyDJtXd9IGZyb20gJy4vbGliL2VudW0vbGFuZ3VhZ2UtY29kZS5lbnVtJztcbmV4cG9ydCB7U2VuZE1ldGhvZCBhcyDJtWNjfSBmcm9tICcuL2xpYi9tb2RlbC9zZW5kLW1ldGhvZCc7XG5leHBvcnQge0FycmF5TnVtYmVyUGlwZSBhcyDJtWN6fSBmcm9tICcuL2xpYi9waXBlL2FycmF5LW51bWJlci5waXBlJztcbmV4cG9ydCB7RmlsZVR5cGVJbWFnZVBpcGUgYXMgybVkYn0gZnJvbSAnLi9saWIvcGlwZS9maWxlLXR5cGUtaW1hZ2UucGlwZSc7XG5leHBvcnQge01BU1RFUl9QSVBFUyBhcyDJtWN5fSBmcm9tICcuL2xpYi9waXBlL21hc3Rlci1waXBlcyc7XG5leHBvcnQge1VDZmlyc3RQaXBlIGFzIMm1ZGF9IGZyb20gJy4vbGliL3BpcGUvdWNmaXJzdC5waXBlJztcbmV4cG9ydCB7QXBwQWJzb2x1dGVPdmVybGF5T3V0bGV0U2VydmljZSBhcyDJtWV2fSBmcm9tICcuL2xpYi9zZXJ2aWNlL2FwcC1hYnNvbHV0ZS1vdmVybGF5LW91dGxldC5zZXJ2aWNlJztcbmV4cG9ydCB7RHJhZ0Ryb3BTZXJ2aWNlIGFzIMm1ZHJ9IGZyb20gJy4vbGliL3NlcnZpY2UvZHJhZy1kcm9wLnNlcnZpY2UnO1xuZXhwb3J0IHtJY29uQ2FjaGVTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xuZXhwb3J0IHtPcHRpb25zU2VydmljZSBhcyDJtWV9IGZyb20gJy4vbGliL3NlcnZpY2Uvb3B0aW9ucy5zZXJ2aWNlJztcbmV4cG9ydCB7U2hhcmVkQ29ubmVjdG9yU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7U3RvY2tTZXJ2aWNlIGFzIMm1Z30gZnJvbSAnLi9saWIvc2VydmljZS9zdG9jay5zZXJ2aWNlJztcbmV4cG9ydCB7U2hhcmVkTG9jYWxpemVQaXBlIGFzIMm1a30gZnJvbSAnLi9saWIvdHJhbnNsYXRpb24vc2hhcmVkLWxvY2FsaXplLnBpcGUnOyJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29saWpuaXQtc2hhcmVkY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2NvbGlqbml0LXNoYXJlZGNvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsMkJBQTJCLElBQUksR0FBRyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDeEgsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEdBQUcsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQ2xILE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSw4RkFBOEYsQ0FBQztBQUMvSSxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sd0ZBQXdGLENBQUM7QUFDcEksT0FBTyxFQUFDLGtCQUFrQixJQUFJLEdBQUcsRUFBQyxNQUFNLHFGQUFxRixDQUFDO0FBQzlILE9BQU8sRUFBQyxrQ0FBa0MsSUFBSSxHQUFHLEVBQUMsTUFBTSxvRkFBb0YsQ0FBQztBQUM3SSxPQUFPLEVBQUMsK0JBQStCLElBQUksR0FBRyxFQUFDLE1BQU0saUZBQWlGLENBQUM7QUFDdkksT0FBTyxFQUFDLDZCQUE2QixJQUFJLEdBQUcsRUFBQyxNQUFNLDBGQUEwRixDQUFDO0FBQzlJLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUMscUJBQXFCLElBQUksR0FBRyxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFDLHdCQUF3QixJQUFJLEVBQUUsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFD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QUFJLEdBQUcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxlQUFlLElBQUksR0FBRyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxZQUFZLElBQUksR0FBRyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFDLFdBQVcsSUFBSSxHQUFHLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsK0JBQStCLElBQUksR0FBRyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDekcsT0FBTyxFQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksRUFBRSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QWN0aXZpdHlMaXN0SGVhZGVyQ29tcG9uZW50IGFzIMm1ZmR9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbGlzdC1oZWFkZXIvYWN0aXZpdHktbGlzdC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aXZpdHlMaXN0SGVhZGVyTW9kdWxlIGFzIMm1ZXJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktbGlzdC1oZWFkZXIvYWN0aXZpdHktbGlzdC1oZWFkZXIubW9kdWxlJztcbmV4cG9ydCB7UGVyaW9kRmlsdGVyUG9wdXBDb21wb25lbnQgYXMgybVmY30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0LWhlYWRlci9jb21wb25lbnRzL3BlcmlvZC1maWx0ZXIvcGVyaW9kLWZpbHRlci1wb3B1cC5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJpb2RGaWx0ZXJDb21wb25lbnQgYXMgybVmYn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0LWhlYWRlci9jb21wb25lbnRzL3BlcmlvZC1maWx0ZXIvcGVyaW9kLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJpb2RGaWx0ZXJNb2R1bGUgYXMgybVmYX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY3Rpdml0eS1saXN0LWhlYWRlci9jb21wb25lbnRzL3BlcmlvZC1maWx0ZXIvcGVyaW9kLWZpbHRlci5tb2R1bGUnO1xuZXhwb3J0IHtDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3Q29tcG9uZW50IGFzIMm1ZXF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktb3ZlcnZpZXctY29tcG9uZW50L2NvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21wb25lbnRBY3Rpdml0eU92ZXJ2aWV3TW9kdWxlIGFzIMm1ZHl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWN0aXZpdHktb3ZlcnZpZXctY29tcG9uZW50L2NvbXBvbmVudC1hY3Rpdml0eS1vdmVydmlldy5tb2R1bGUnO1xuZXhwb3J0IHtCYXNlQWN0aXZpdHlPdmVydmlld0NvbXBvbmVudCBhcyDJtWR1fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LW92ZXJ2aWV3LWNvbXBvbmVudC9jb21wb25lbnRzL2Jhc2UtYWN0aXZpdHktb3ZlcnZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwRmlsZURyb3B6b25lQ29tcG9uZW50IGFzIMm1ZHB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwLWZpbGUtZHJvcHpvbmUvYXBwLWZpbGUtZHJvcHpvbmUuY29tcG9uZW50JztcbmV4cG9ydCB7QXBwRmlsZURyb3B6b25lTW9kdWxlIGFzIMm1ZG99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwLWZpbGUtZHJvcHpvbmUvYXBwLWZpbGUtZHJvcHpvbmUubW9kdWxlJztcbmV4cG9ydCB7Q3VzdG9tUGRmRGlhbG9nQ29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jdXN0b20tcGRmL2N1c3RvbS1wZGYtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQge0N1c3RvbVBkZkRpYWxvZ01vZHVsZSBhcyDJtXB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY3VzdG9tLXBkZi9jdXN0b20tcGRmLWRpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHtBZ2VuZGFCYXNlVmlld0NvbXBvbmVudCBhcyDJtWNtfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2FnZW5kYS9hZ2VuZGEtYmFzZS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYURheVZpZXdDb21wb25lbnQgYXMgybVjbn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWRheS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYUV2ZW50Q29tcG9uZW50IGFzIMm1Y3Z9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFFdmVudHNDb21wb25lbnQgYXMgybVjdX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWV2ZW50cy5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFIYWxmSG91ckNlbGxDb21wb25lbnQgYXMgybVjdH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhhbGYtaG91ci1jZWxsLmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYUhlYWRlckNvbXBvbmVudCBhcyDJtWNqfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2FnZW5kYS9hZ2VuZGEtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYUhvdXJDZWxsQ29tcG9uZW50IGFzIMm1Y3J9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS1ob3VyLWNlbGwuY29tcG9uZW50JztcbmV4cG9ydCB7QWdlbmRhSG91clZpZXdMYWJlbHNDb21wb25lbnQgYXMgybVjc30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhvdXItdmlldy1sYWJlbHMuY29tcG9uZW50JztcbmV4cG9ydCB7QWdlbmRhSG91clZpZXdDb21wb25lbnQgYXMgybVjcX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLWhvdXItdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFNb250aFZpZXdDb21wb25lbnQgYXMgybVjbH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLW1vbnRoLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7QWdlbmRhU2VsZWN0RXZlbnRDb21wb25lbnQgYXMgybVjeH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9hZ2VuZGEvYWdlbmRhLXNlbGVjdC1ldmVudC5jb21wb25lbnQnO1xuZXhwb3J0IHtBZ2VuZGFWaWV3Q29tcG9uZW50IGFzIMm1Y2t9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYVdlZWtTZWxlY3RWaWV3Q29tcG9uZW50IGFzIMm1Y3B9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS13ZWVrLXNlbGVjdC12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0FnZW5kYVdlZWtWaWV3Q29tcG9uZW50IGFzIMm1Y299IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvYWdlbmRhL2FnZW5kYS13ZWVrLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7Vmlld1NlbGVjdENvbXBvbmVudCBhcyDJtWN3fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2FnZW5kYS92aWV3LXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtDYWxlbmRhckFsbE1vbnRoc0NvbXBvbmVudCBhcyDJtWNmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2NhbGVuZGFyL2NhbGVuZGFyLWFsbC1tb250aHMuY29tcG9uZW50JztcbmV4cG9ydCB7Q2FsZW5kYXJBbGxZZWFyc0NvbXBvbmVudCBhcyDJtWNlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2NhbGVuZGFyL2NhbGVuZGFyLWFsbC15ZWFycy5jb21wb25lbnQnO1xuZXhwb3J0IHtDYWxlbmRhckhlYWRlckNvbXBvbmVudCBhcyDJtWNnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvY29tcG9uZW50L2NhbGVuZGFyL2NhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtDYWxlbmRhclZpZXdDb21wb25lbnQgYXMgybVjaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBsYW5uaW5nL2NvbXBvbmVudC9jYWxlbmRhci9jYWxlbmRhci12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0NhbGVuZGFyQ29tcG9uZW50IGFzIMm1Y2h9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1wbGFubmluZy9jb21wb25lbnQvY2FsZW5kYXIvY2FsZW5kYXIuY29tcG9uZW50JztcbmV4cG9ydCB7U2lnbmF0dXJlQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kb2NzaWduL2NvbXBvbmVudC9zaWduYXR1cmUvc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5leHBvcnQge1NpZ25hdHVyZXNDb21wb25lbnQgYXMgybVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RvY3NpZ24vY29tcG9uZW50L3NpZ25hdHVyZXMvc2lnbmF0dXJlcy5jb21wb25lbnQnO1xuZXhwb3J0IHtFbWFpbFNlbGVjdG9yQ29tcG9uZW50IGFzIMm1ZW99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZW1haWwtc2VsZWN0b3IvZW1haWwtc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7RW1haWxTZWxlY3Rvck1vZHVsZSBhcyDJtWVufSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2VtYWlsLXNlbGVjdG9yL2VtYWlsLXNlbGVjdG9yLm1vZHVsZSc7XG5leHBvcnQge0ZpbGVVcGxvYWRQb3B1cENvbXBvbmVudCBhcyDJtWRufSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLXBvcHVwL2ZpbGUtdXBsb2FkLXBvcHVwLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbGVVcGxvYWRQb3B1cE1vZHVsZSBhcyDJtWRrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkLXBvcHVwL2ZpbGUtdXBsb2FkLXBvcHVwLm1vZHVsZSc7XG5leHBvcnQge0ZpbGVVcGxvYWRDb21wb25lbnQgYXMgybVkan0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVXBsb2FkTW9kdWxlIGFzIMm1ZGd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQubW9kdWxlJztcbmV4cG9ydCB7QmFzZUZpbGVVcGxvYWRDb21wb25lbnQgYXMgybVkY30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQge0RyYWdEcm9wQ29udGFpbmVyQ29tcG9uZW50IGFzIMm1ZHF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsZXMtdXBsb2FkL2NvbXBvbmVudHMvZHJhZy1kcm9wLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtVc2VyRm9ybUlucHV0U2NhbGVDb21wb25lbnQgYXMgybVmaH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9jb21wb25lbnRzL3VzZXItZm9ybS1pbnB1dC1zY2FsZS91c2VyLWZvcm0taW5wdXQtc2NhbGUuY29tcG9uZW50JztcbmV4cG9ydCB7VXNlckZvcm1JbnB1dFNjYWxlTW9kdWxlIGFzIMm1Zmd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS1idWlsZGVyL2Zvcm0tYnVpbGRlci11c2VyLWZvcm0vY29tcG9uZW50cy91c2VyLWZvcm0taW5wdXQtc2NhbGUvdXNlci1mb3JtLWlucHV0LXNjYWxlLm1vZHVsZSc7XG5leHBvcnQge0Zvcm1CdWlsZGVyUXVlc3Rpb25Db21wb25lbnQgYXMgybVmaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9mb3JtLWJ1aWxkZXItcXVlc3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7SW1hZ2VEaXNwbGF5Q29tcG9uZW50IGFzIMm1ZGZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvaW1hZ2UtZGlzcGxheS9pbWFnZS1kaXNwbGF5LmNvbXBvbmVudCc7XG5leHBvcnQge0ltYWdlRGlzcGxheU1vZHVsZSBhcyDJtWRlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ltYWdlLWRpc3BsYXkvaW1hZ2UtZGlzcGxheS5tb2R1bGUnO1xuZXhwb3J0IHtBY3Rpdml0eVN1bW1hcnlCbG9ja0NvbXBvbmVudCBhcyDJtWVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9hY3Rpdml0eS1zdW1tYXJ5LWJsb2NrL2FjdGl2aXR5LXN1bW1hcnktYmxvY2suY29tcG9uZW50JztcbmV4cG9ydCB7QWN0aXZpdHlTdW1tYXJ5QmxvY2tNb2R1bGUgYXMgybVlZn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvYWN0aXZpdHktc3VtbWFyeS1ibG9jay9hY3Rpdml0eS1zdW1tYXJ5LWJsb2NrLm1vZHVsZSc7XG5leHBvcnQge0Jhc2VBY3Rpdml0eVN1bW1hcnlDb21wb25lbnQgYXMgybVlZH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvYmFzZS1hY3Rpdml0eS1zdW1tYXJ5LmNvbXBvbmVudCc7XG5leHBvcnQge0NyZWF0aW9uU3VtbWFyeUJsb2NrQ29tcG9uZW50IGFzIMm1ZWx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9jb21wb25lbnRzL2NyZWF0aW9uLXN1bW1hcnktYmxvY2svY3JlYXRpb24tc3VtbWFyeS1ibG9jay5jb21wb25lbnQnO1xuZXhwb3J0IHtDcmVhdGlvblN1bW1hcnlCbG9ja01vZHVsZSBhcyDJtWVrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9jcmVhdGlvbi1zdW1tYXJ5LWJsb2NrL2NyZWF0aW9uLXN1bW1hcnktYmxvY2subW9kdWxlJztcbmV4cG9ydCB7RXhlY3V0aXZlU3VtbWFyeUJsb2NrQ29tcG9uZW50IGFzIMm1ZWh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9jb21wb25lbnRzL2V4ZWN1dGl2ZS1zdW1tYXJ5LWJsb2NrL2V4ZWN1dGl2ZS1zdW1tYXJ5LWJsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQge0V4ZWN1dGl2ZVN1bW1hcnlCbG9ja01vZHVsZSBhcyDJtWVlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9leGVjdXRpdmUtc3VtbWFyeS1ibG9jay9leGVjdXRpdmUtc3VtbWFyeS1ibG9jay5tb2R1bGUnO1xuZXhwb3J0IHtOb3RpZmljYXRpb25TdW1tYXJ5QmxvY2tDb21wb25lbnQgYXMgybVlcH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLXN1bW1hcnktYmxvY2svbm90aWZpY2F0aW9uLXN1bW1hcnktYmxvY2suY29tcG9uZW50JztcbmV4cG9ydCB7Tm90aWZpY2F0aW9uU3VtbWFyeUJsb2NrTW9kdWxlIGFzIMm1ZW19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9jb21wb25lbnRzL25vdGlmaWNhdGlvbi1zdW1tYXJ5LWJsb2NrL25vdGlmaWNhdGlvbi1zdW1tYXJ5LWJsb2NrLm1vZHVsZSc7XG5leHBvcnQge1N0YXR1c1N1bW1hcnlCbG9ja0NvbXBvbmVudCBhcyDJtWVqfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy9zdGF0dXMtc3VtbWFyeS1ibG9jay9zdGF0dXMtc3VtbWFyeS1ibG9jay5jb21wb25lbnQnO1xuZXhwb3J0IHtTdGF0dXNTdW1tYXJ5QmxvY2tNb2R1bGUgYXMgybVlaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvc3RhdHVzLXN1bW1hcnktYmxvY2svc3RhdHVzLXN1bW1hcnktYmxvY2subW9kdWxlJztcbmV4cG9ydCB7VGFza0RldGFpbHNDb21wb25lbnQgYXMgybVlY30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RpZnktdGFzay1mb3JtL2NvbXBvbmVudHMvdGFzay1kZXRhaWxzL3Rhc2stZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0IHtUYXNrRGV0YWlsc01vZHVsZSBhcyDJtWVifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGlmeS10YXNrLWZvcm0vY29tcG9uZW50cy90YXNrLWRldGFpbHMvdGFzay1kZXRhaWxzLm1vZHVsZSc7XG5leHBvcnQge01vZGlmeVRhc2tGb3JtQ29tcG9uZW50IGFzIMm1ZHd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9tb2RpZnktdGFzay1mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGlmeVRhc2tGb3JtTW9kdWxlIGFzIMm1ZWF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kaWZ5LXRhc2stZm9ybS9tb2RpZnktdGFzay1mb3JtLm1vZHVsZSc7XG5leHBvcnQge011bHRpcGxlUHJvcGVydHlUb2dnbGVyQ29tcG9uZW50IGFzIMm1ZG19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXVsdGktcHJvcGVydHktdG9nZ2xlci9tdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyLmNvbXBvbmVudCc7XG5leHBvcnQge011bHRpcGxlUHJvcGVydHlUb2dnbGVyTW9kdWxlIGFzIMm1ZGx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbXVsdGktcHJvcGVydHktdG9nZ2xlci9tdWx0aXBsZS1wcm9wZXJ0eS10b2dnbGVyLm1vZHVsZSc7XG5leHBvcnQge0Jhc2VBY3Rpdml0eUxpc3RDb21wb25lbnQgYXMgybVkc30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcGVuLWFjdGl2aXR5LWxpc3QvY29tcG9uZW50cy9iYXNlLW9wZW4tYWN0aXZpdHktbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdDb21wb25lbnQgYXMgybVkdH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcGVuLWFjdGl2aXR5LWxpc3QvY29tcG9uZW50cy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtQZXJzb25hbEFjdGl2aXR5T3ZlcnZpZXdNb2R1bGUgYXMgybVkeH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcGVuLWFjdGl2aXR5LWxpc3QvY29tcG9uZW50cy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy9wZXJzb25hbC1hY3Rpdml0eS1vdmVydmlldy5tb2R1bGUuJztcbmV4cG9ydCB7UHJldmlld1BkZkRpYWxvZ0NvbXBvbmVudCBhcyDJtWJkfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ByZXZpZXctcGRmLWRpYWxvZy9wcmV2aWV3LXBkZi1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCB7UHJldmlld1BkZkRpYWxvZ01vZHVsZSBhcyDJtWJjfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3ByZXZpZXctcGRmLWRpYWxvZy9wcmV2aWV3LXBkZi1kaWFsb2cubW9kdWxlJztcbmV4cG9ydCB7QWRkaXRpb25hbEZpbGVCdXR0b25Db21wb25lbnQgYXMgybVyfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL2FkZGl0aW9uYWwtZmlsZS1idXR0b24vYWRkaXRpb25hbC1maWxlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtBZGRpdGlvbmFsRmlsZUJ1dHRvbk1vZHVsZSBhcyDJtW99IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLm1vZHVsZSc7XG5leHBvcnQge0xheW91dFNlbGVjdGlvbkNvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvbGF5b3V0LXNlbGVjdGlvbi9sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge0xheW91dFNlbGVjdGlvbk1vZHVsZSBhcyDJtWp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvbGF5b3V0LXNlbGVjdGlvbi9sYXlvdXQtc2VsZWN0aW9uLm1vZHVsZSc7XG5leHBvcnQge1ByaW50ZXJTZWxlY3Rpb25Db21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3ByaW50ZXItc2VsZWN0aW9uL3ByaW50ZXItc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQge1ByaW50ZXJTZWxlY3Rpb25Nb2R1bGUgYXMgybV1fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3ByaW50ZXItc2VsZWN0aW9uL3ByaW50ZXItc2VsZWN0aW9uLm1vZHVsZSc7XG5leHBvcnQge1NlbmRNZXRob2RDb21iaW5lUHJpbnRFbWFpbENvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWNvbWJpbmUtcHJpbnQtZW1haWwvc2VuZC1tZXRob2QtY29tYmluZS1wcmludC1lbWFpbC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZW5kTWV0aG9kQ29tYmluZVByaW50RW1haWxNb2R1bGUgYXMgybViYX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1jb21iaW5lLXByaW50LWVtYWlsL3NlbmQtbWV0aG9kLWNvbWJpbmUtcHJpbnQtZW1haWwubW9kdWxlJztcbmV4cG9ydCB7U2VuZE1ldGhvZEVtYWlsQ29tcG9uZW50IGFzIMm1c30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1lbWFpbC9zZW5kLW1ldGhvZC1lbWFpbC5jb21wb25lbnQnO1xuZXhwb3J0IHtTZW5kTWV0aG9kRW1haWxNb2R1bGUgYXMgybVpfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWVtYWlsL3NlbmQtbWV0aG9kLWVtYWlsLm1vZHVsZSc7XG5leHBvcnQge1NlbmRNZXRob2RQZGZDb21wb25lbnQgYXMgybV6fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9jb21wb25lbnRzL3NlbmQtbWV0aG9kLXBkZi9zZW5kLW1ldGhvZC1wZGYuY29tcG9uZW50JztcbmV4cG9ydCB7U2VuZE1ldGhvZFBkZk1vZHVsZSBhcyDJtXl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtcGRmL3NlbmQtbWV0aG9kLXBkZi5tb2R1bGUnO1xuZXhwb3J0IHtTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtcHJpbnRlci9zZW5kLW1ldGhvZC1wcmludGVyLmNvbXBvbmVudCc7XG5leHBvcnQge1NlbmRNZXRob2RQcmludGVyTW9kdWxlIGFzIMm1dH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIubW9kdWxlJztcbmV4cG9ydCB7U2lnbmF0dXJlQnV0dG9uQ29tcG9uZW50IGFzIMm1bn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zaWduYXR1cmUtYnV0dG9uL3NpZ25hdHVyZS1idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCB7U2lnbmF0dXJlQnV0dG9uTW9kdWxlIGFzIMm1bX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zaWduYXR1cmUtYnV0dG9uL3NpZ25hdHVyZS1idXR0b24ubW9kdWxlJztcbmV4cG9ydCB7U2VuZE1ldGhvZFNlcnZpY2UgYXMgybVofSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xuZXhwb3J0IHtTdGF0dXNiYXJQb3B1cENvbXBvbmVudCBhcyDJtWJnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0YXR1c2Jhci9zdGF0dXNiYXItcG9wdXAuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tTdGF0dXNiYXJDb21wb25lbnQgYXMgybViaX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay1zdGF0dXNiYXIvc3RvY2stc3RhdHVzYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrU3RhdHVzYmFyTW9kdWxlIGFzIMm1Ymh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2stc3RhdHVzYmFyL3N0b2NrLXN0YXR1c2Jhci5tb2R1bGUnO1xuZXhwb3J0IHtCYXNlU3RvY2tDb21wb25lbnQgYXMgybVicH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9iYXNlL2Jhc2Utc3RvY2suY29tcG9uZW50JztcbmV4cG9ydCB7QWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudCBhcyDJtWJ5fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5L2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtPcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnlDb21wb25lbnQgYXMgybVid30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL29yZGVyLWNvbW1pc3Npb24tc3RvY2staGlzdG9yeS9vcmRlci1jb21taXNzaW9uLXN0b2NrLWhpc3RvcnkuY29tcG9uZW50JztcbmV4cG9ydCB7T3JkZXJTdG9ja0hpc3RvcnlDb21wb25lbnQgYXMgybVieH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL29yZGVyLXN0b2NrLWhpc3Rvcnkvb3JkZXItc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtPcmRlclN0b2NrVGFiQ29tcG9uZW50IGFzIMm1YnN9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9vcmRlci1zdG9jay10YWIvb3JkZXItc3RvY2stdGFiLmNvbXBvbmVudCc7XG5leHBvcnQge09yZGVyU3VwcGx5U3RvY2tIaXN0b3J5Q29tcG9uZW50IGFzIMm1YnZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svY29tcG9uZW50cy9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtPcmRlclRhYkNvbXBvbmVudCBhcyDJtWJvfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0hpc3RvcnlDb21wb25lbnQgYXMgybVidX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL3N0b2NrLWhpc3Rvcnkvc3RvY2staGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0xvY2F0aW9uUG9wdXBDb21wb25lbnQgYXMgybVjYX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tcG9wdXAvc3RvY2stbG9jYXRpb24tcG9wdXAuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tMb2NhdGlvbkNvbXBvbmVudCBhcyDJtWJ0fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24vc3RvY2stbG9jYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tQcm9nbm9zZUNvbXBvbmVudCBhcyDJtWJ6fSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL2NvbXBvbmVudHMvc3RvY2stcHJvZ25vc2Uvc3RvY2stcHJvZ25vc2UuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tUYWJDb21wb25lbnQgYXMgybVibn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9jb21wb25lbnRzL3N0b2NrLXRhYi9zdG9jay10YWIuY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tNb2R1bGVTY3JlZW5Db25maWdTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9zZXJ2aWNlL3N0b2NrLW1vZHVsZS1zY3JlZW4tY29uZmlnLnNlcnZpY2UnO1xuZXhwb3J0IHtTdG9ja0hpc3RvcnlUYWJzQ29tcG9uZW50IGFzIMm1YnJ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staGlzdG9yeS10YWJzL3N0b2NrLWhpc3RvcnktdGFicy5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudCBhcyDJtWJrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQvc3RvY2staW5mb3JtYXRpb24tZ3JpZC5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50IGFzIMm1Ymp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCB7U3RvY2tUYWJzQ29tcG9uZW50IGFzIMm1YnF9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdGFicy9zdG9jay10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrVHJhbnNmZXJBbGxvY2F0ZWRDb21wb25lbnQgYXMgybVjYn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay10cmFuc2Zlci1hbGxvY2F0ZWQvc3RvY2stdHJhbnNmZXItYWxsb2NhdGVkLmNvbXBvbmVudCc7XG5leHBvcnQge1N0b2NrQ2hhbmdlQW1vdW50Q29tcG9uZW50IGFzIMm1Ym19IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdHJhbnNmZXIvc3RvY2stY2hhbmdlLWFtb3VudC5jb21wb25lbnQnO1xuZXhwb3J0IHtTdG9ja1RyYW5zZmVyQ29tcG9uZW50IGFzIMm1Ymx9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VGFiQmFyQ29tcG9uZW50IGFzIMm1YmZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFiLWJhci90YWItYmFyLmNvbXBvbmVudCc7XG5leHBvcnQge1RhYkJhck1vZHVsZSBhcyDJtWJlfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYi1iYXIvdGFiLWJhci5tb2R1bGUnO1xuZXhwb3J0IHtUYXNrTW9kaWZpZXJDb21wb25lbnQgYXMgybVkdn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy90YXNrLW1vZGlmeWVyL3Rhc2stbW9kaWZpZXIuY29tcG9uZW50JztcbmV4cG9ydCB7VGFza01vZGlmeWVyTW9kdWxlIGFzIMm1ZHp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFzay1tb2RpZnllci90YXNrLW1vZGlmeWVyLm1vZHVsZS4nO1xuZXhwb3J0IHtUaWxlUmVuZGVyQ29tcG9uZW50IGFzIMm1ZGl9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGlsZS1yZW5kZXJlci90aWxlLXJlbmRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtUaWxlUmVuZGVyTW9kdWxlIGFzIMm1ZGh9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGlsZS1yZW5kZXJlci90aWxlLXJlbmRlci5tb2R1bGUnO1xuZXhwb3J0IHtXb3JrZmxvd0luZm9UaWxlQ29tcG9uZW50IGFzIMm1ZmZ9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctaW5mby10aWxlcy9jb21wb25lbnRzL3dvcmtmbG93LWluZm8tdGlsZS5jb21wb25lbnQnO1xuZXhwb3J0IHtXb3JrZmxvd0luZm9UaWxlTW9kdWxlIGFzIMm1ZmV9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctaW5mby10aWxlcy9jb21wb25lbnRzL3dvcmtmbG93LWluZm8tdGlsZS5tb2R1bGUnO1xuZXhwb3J0IHtXb3JrZmxvd05vdGlmaWNhdGlvblRvZ2dsZVBvcHVwQ29tcG9uZW50IGFzIMm1ZXp9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvd29ya2Zsb3ctbm90aWZpY2F0aW9uLXRvZ2dsZS93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlLXBvcHVwJztcbmV4cG9ydCB7V29ya2Zsb3dOb3RpZmljYXRpb25Ub2dnbGVDb21wb25lbnQgYXMgybVleX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCB7V29ya2Zsb3dOb3RpZmljYXRpb25Ub2dnbGVNb2R1bGUgYXMgybVlc30gZnJvbSAnLi9saWIvY29tcG9uZW50cy93b3JrZmxvdy1ub3RpZmljYXRpb24tdG9nZ2xlL3dvcmtmbG93LW5vdGlmaWNhdGlvbi10b2dnbGUubW9kdWxlJztcbmV4cG9ydCB7SW5wdXRCb29sZWFuIGFzIMm1ZGR9IGZyb20gJy4vbGliL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvcic7XG5leHBvcnQge0Fic29sdXRlT3ZlcmxheVRlbXBsYXRlRGlyZWN0aXZlIGFzIMm1ZXV9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYWJzb2x1dGUtb3ZlcmxheS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtBbGlnbldpdGhEaXJlY3RpdmUgYXMgybVld30gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hbGlnbi13aXRoLmRpcmVjdGl2ZSc7XG5leHBvcnQge0NsaWNrT3V0c2lkZURpcmVjdGl2ZSBhcyDJtWV4fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7RGlyZWN0aXZlc01vZHVsZSBhcyDJtWV0fSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmV4cG9ydCB7SWNvbiBhcyDJtWNkfSBmcm9tICcuL2xpYi9lbnVtL2ljb24uZW51bSc7XG5leHBvcnQge0xhbmd1YWdlQ29kZSBhcyDJtXh9IGZyb20gJy4vbGliL2VudW0vbGFuZ3VhZ2UtY29kZS5lbnVtJztcbmV4cG9ydCB7U2VuZE1ldGhvZCBhcyDJtWNjfSBmcm9tICcuL2xpYi9tb2RlbC9zZW5kLW1ldGhvZCc7XG5leHBvcnQge0FycmF5TnVtYmVyUGlwZSBhcyDJtWN6fSBmcm9tICcuL2xpYi9waXBlL2FycmF5LW51bWJlci5waXBlJztcbmV4cG9ydCB7RmlsZVR5cGVJbWFnZVBpcGUgYXMgybVkYn0gZnJvbSAnLi9saWIvcGlwZS9maWxlLXR5cGUtaW1hZ2UucGlwZSc7XG5leHBvcnQge01BU1RFUl9QSVBFUyBhcyDJtWN5fSBmcm9tICcuL2xpYi9waXBlL21hc3Rlci1waXBlcyc7XG5leHBvcnQge1VDZmlyc3RQaXBlIGFzIMm1ZGF9IGZyb20gJy4vbGliL3BpcGUvdWNmaXJzdC5waXBlJztcbmV4cG9ydCB7QXBwQWJzb2x1dGVPdmVybGF5T3V0bGV0U2VydmljZSBhcyDJtWV2fSBmcm9tICcuL2xpYi9zZXJ2aWNlL2FwcC1hYnNvbHV0ZS1vdmVybGF5LW91dGxldC5zZXJ2aWNlJztcbmV4cG9ydCB7RHJhZ0Ryb3BTZXJ2aWNlIGFzIMm1ZHJ9IGZyb20gJy4vbGliL3NlcnZpY2UvZHJhZy1kcm9wLnNlcnZpY2UnO1xuZXhwb3J0IHtJY29uQ2FjaGVTZXJ2aWNlIGFzIMm1Zn0gZnJvbSAnLi9saWIvc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xuZXhwb3J0IHtPcHRpb25zU2VydmljZSBhcyDJtWV9IGZyb20gJy4vbGliL3NlcnZpY2Uvb3B0aW9ucy5zZXJ2aWNlJztcbmV4cG9ydCB7U2hhcmVkQ29ubmVjdG9yU2VydmljZSBhcyDJtWR9IGZyb20gJy4vbGliL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7U3RvY2tTZXJ2aWNlIGFzIMm1Z30gZnJvbSAnLi9saWIvc2VydmljZS9zdG9jay5zZXJ2aWNlJztcbmV4cG9ydCB7U2hhcmVkTG9jYWxpemVQaXBlIGFzIMm1a30gZnJvbSAnLi9saWIvdHJhbnNsYXRpb24vc2hhcmVkLWxvY2FsaXplLnBpcGUnOyJdfQ==
@@ -274,7 +274,6 @@ export class BaseFileUploadComponent {
274
274
  this._popup.instance.tagReferenceTable = this.tagReferenceTable;
275
275
  this._popup.instance.publicationIds = RefCodeUtils.GetMultiRefCodeChoices(this.documentUnderEdit.publication);
276
276
  this._popup.instance.storeGroupIds = this.documentUnderEdit.retailFormulas;
277
- this._popup.instance.fileType = this.fileType;
278
277
  this._prepareFileRights();
279
278
  this._popupCloseSub = this._popup.instance.popupCloseEvent.subscribe(() => {
280
279
  this._unlockDocument();
@@ -466,4 +465,4 @@ __decorate([
466
465
  __decorate([
467
466
  InputBoolean()
468
467
  ], BaseFileUploadComponent.prototype, "useCustomFileDropEvent", void 0);
469
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILHdCQUF3QixFQUV4QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRSxPQUFPLEVBRUgsa0NBQWtDLEVBQ3JDLE1BQU0sdURBQXVELENBQUM7QUFJL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDdEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFE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SUFEQyxZQUFZLEVBQUU7Z0VBQ3dCO0FBSXZDO0lBREMsWUFBWSxFQUFFOzZEQUNzQjtBQTRCckM7SUFEQyxZQUFZLEVBQUU7b0VBQzZCO0FBSTVDO0lBREMsWUFBWSxFQUFFO3FFQUM4QjtBQWE3QztJQURDLFlBQVksRUFBRTt1RUFDZ0M7QUFPL0M7SUFEQyxZQUFZLEVBQUU7a0VBQzJCO0FBVTFDO0lBREMsWUFBWSxFQUFFO3VFQUN3QjtBQUl2QztJQURVLFlBQVksRUFBRTt1RUFDdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcclxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIENvbXBvbmVudFJlZixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtUYWJsZU5hbWV9IGZyb20gXCIuLi8uLi8uLi9lbnVtL3RhYmxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9maWxlLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1xyXG4gICAgT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbixcclxuICAgIE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2tcclxufSBmcm9tIFwiLi4vLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1zaW1wbGUtZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtJbnRlcm5hbFBhcmFtfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pbnRlcm5hbC1wYXJhbS5lbnVtXCI7XHJcbmltcG9ydCB7RmlsZXNVcGxvYWRDb25maWdPYmplY3RzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9maWxlcy11cGxvYWQtY29uZmlnLW9iamVjdHNcIjtcclxuaW1wb3J0IHtUYWdDYXRlZ29yeX0gZnJvbSBcIi4uLy4uLy4uL2VudW0vdGFnLWNhdGVnb3J5LmVudW1cIjtcclxuaW1wb3J0IHtBcnJheVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvYXJyYXktdXRpbHNcIjtcclxuaW1wb3J0IHtSZWZDb2RlVXRpbHN9IGZyb20gXCIuLi8uLi8uLi91dGlscy9yZWYtY29kZS11dGlsc1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnRTaGFyZWRGaWVsZExvZ2ljfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY28tZG9jdW1lbnQtc2hhcmVkLWZpZWxkLWxvZ2ljXCI7XHJcbmltcG9ydCB7T2JqZWN0UmlnaHRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9lbnVtL29iamVjdC1yaWdodC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtBcHBGaWxlRHJvcHpvbmVDb21wb25lbnR9IGZyb20gXCIuLi8uLi9hcHAtZmlsZS1kcm9wem9uZS9hcHAtZmlsZS1kcm9wem9uZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGaWxlVXRpbHN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy9maWxlLXV0aWxzXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudFR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2NvLWRvY3VtZW50LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVVcGxvYWRQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZpbGUtdXBsb2FkLXBvcHVwL2ZpbGUtdXBsb2FkLXBvcHVwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb0RvY3VtZW50UmlnaHR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LXJpZ2h0JztcclxuXHJcblxyXG5cclxuLy8gQSBiYXNlIGNvbXBvbmVudCB0aGF0IGxldHMgdGhlIHVzZXIgbWFrZSBhIGxpc3Qgb2YgZmlsZXMgZnJvbSBpdHMgZGV2aWNlLiBEb2Vzbid0IGFjdHVhbGx5IHVwbG9hZCwgYnV0IG91dHB1dHMgY2hvc2VuIGZpbGVzIGFzIGZpbGVzQ2hhbmdlZC5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQsIE9uRGVzdHJveSB7XHJcbiAgICBkZWNpbWFsczogbnVtYmVyO1xyXG4gICAgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuICAgIG1heExlbmd0aDogbnVtYmVyO1xyXG4gICAgb2JqZWN0Q29uZmlnTmFtZTogc3RyaW5nO1xyXG4gICAgcmVkRXJyb3JCYWNrZ3JvdW5kOiBib29sZWFuO1xyXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLy8gVGhlIGZpbGVUeXBlIHRoYXQgdGhlIGRvY3VtZW50cyBzaG91bGQgYmUgc2F2ZWQgYXMsIGxlYXZlIGVtcHR5IHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IGZpbGV0eXBlLiBBbHNvIGRldGVybWluZXMgZmlsZSBwaWNrZXIgZmlsdGVyXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBmaWxlVHlwZSh2YWx1ZTogRmlsZVR5cGUpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmlsZVR5cGUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgLy9UT0RPIERvY3VtZW50ZGF0YWxvYWRlciBmaXhcclxuICAgICAgICAgICAgLy90aGlzLl9jb0RvY3VtZW50RGF0YUxvYWRlci5sb2FkQWxsb3dlZFR5cGVzKCkudGhlbigoKSA9PiB7dGhpcy5oYW5kbGVBY2NlcHRlZEZpbGVUeXBlc0xvYWRlZCh2YWx1ZSl9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaWxlVHlwZSgpOiBGaWxlVHlwZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVUeXBlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZG9jdW1lbnRzOiBDb0RvY3VtZW50W10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50VGFibGU6IFRhYmxlTmFtZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBkb2N1bWVudEtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fZG9jdW1lbnRLZXkgPSB2YWx1ZSArIFwiXCI7IC8vIGZvcmNlIHN0cmluZ1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRLZXkoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnRLZXk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlIGFiaWxpdHkgdG8gZHJvcCBmaWxlcyBvbiB0aGUgcGFnZVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmdWxsUGFnZURyb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBJZiB1c2VyIGdldHMgdGhlIGFiaWxpdHkgb2YgYWRkaW5nIGZpbGVzLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYW5BZGQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZHJvcE1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgICAvLyBTaG93IGFkZCBidXR0b25cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWRkV2l0aEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLy8gSWYgdXNlciBnZXRzIHRoZSBhYmlsaXR5IG9mIGRlbGV0aW5nIGZpbGVzLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYW5EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBub0RyYWdEcm9wT3JkZXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3BvcHVwICYmIHRoaXMuX3BvcHVwLmluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnJlYWRvbmx5ID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBhc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyByZXNpemVJbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxvY2tPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdW5sb2NrT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFjaztcclxuXHJcblxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJlZm9yZURlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhZnRlckRlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBiZWZvcmVDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWZ0ZXJDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmVmb3JlRWRpdE9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGRvbnRBc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9Pd25EZWxldGVPcGVyYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIF9maWxlVHlwZTogRmlsZVR5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgbWF4VXBsb2FkU2l6ZVBhcmFtKHZhbHVlOiBJbnRlcm5hbFBhcmFtKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEludGVybmFsUGFyYW1PYmoodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgdXNlV2l0aG91dFNldHRpbmdQcm9wczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzOiBGaWxlc1VwbG9hZENvbmZpZ09iamVjdHM7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIG1lZGljYWxVc2VyR3JvdXBzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdDYXRlZ29yeTogVGFnQ2F0ZWdvcnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdSZWZlcmVuY2VUYWJsZTogVGFibGVOYW1lO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBkaXNwbGF5UmVhZFdyaXRlQWNjZXNzOiBib29sZWFuO1xyXG5cclxuICAgIC8vIFVzZSB3aXRoIGN1c3RvbUZpbGVEcm9wRXZlbnRcclxuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIHVzZUN1c3RvbUZpbGVEcm9wRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCB1c2VDdXN0b21GaWxlRHJvcEV2ZW50XHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjdXN0b21GaWxlRHJvcEV2ZW50OiBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlTGlzdD4oKTtcclxuXHJcbiAgICAvLyBFbWl0cyBpZiB1c2VyIHdhbnRzIHRvIGFkZCBtdWx0aXBsZSBkb2N1bWVudHMgYXQgb25jZVxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRzQWRkZWQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWxldGVkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gICAgLy8gRW1pdHMgZXZlcnkgdGltZSB0aGUgb3JkZXIgb2YgZG9jdW1lbnRzIHdhcyBjaGFuZ2VkXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBzb3J0YWJsZUxpc3RDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50Q2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgICAvLyBVc2UgdGhpcyBpZiBjb25zdW1lciByZXF1aXJlcyB0byBwZXJmb3JtIGV4dHJhIGFjdGlvbnMsIGxpa2UgbG9ja2luZyBhIHBhcmVudCBidXNpbmVzc09iamVjdCBpZiBpdCBjb250YWlucyB0aGUgY29sbGVjdGlvbiBvZiBkb2N1bWVudHMuIEVtaXQgd2l0aCB0cnVlIHdoZW4gcG9wdXAgb3BlbmVkLCBmYWxzZSBmb3IgY2xvc2VcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBvcHVwT3BlbmVkU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zaGFyZWQtaGlkZGVuXCIpXHJcbiAgICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJkcm9wXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy51c2VDdXN0b21GaWxlRHJvcEV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZXNQaWNrZWQoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUZpbGVEcm9wRXZlbnQuZW1pdChldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fY2xlYXJEcm9wem9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnZW5kXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyYWdFbmQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5jbGVhckRhdGEoKTtcclxuICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdvdmVyXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnZW50ZXJcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJhZ0VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kcmFnRW50ZXJUYXJnZXQgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgdGhpcy5fc2hvd0Ryb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IHRoaXMuX2RyYWdFbnRlclRhcmdldCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkb2N1bWVudFVuZGVyRWRpdDogQ29Eb2N1bWVudDtcclxuICAgIHB1YmxpYyBhY2NlcHRlZFVwbG9hZEZvcm1hdHM6IHN0cmluZztcclxuXHJcbiAgICBwcm90ZWN0ZWQgX21heFVwbG9hZEZpbGVTaXplOiBudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSBfZHJhZ0VudGVyVGFyZ2V0OiBFdmVudFRhcmdldDtcclxuICAgIHByaXZhdGUgX2RvY3VtZW50S2V5OiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgcHJpdmF0ZSBfZHJvcFpvbmU6IENvbXBvbmVudFJlZjxBcHBGaWxlRHJvcHpvbmVDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IENvbXBvbmVudFJlZjxGaWxlVXBsb2FkUG9wdXBDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBfZG9jQ2hhbmdlU3ViOiBTdWJzY3JpcHRpb247XHJcbiAgICBwcml2YXRlIF9wb3B1cENsb3NlU3ViOiBTdWJzY3JpcHRpb247XHJcbiAgICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8vIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9kdW1teVRydWVGdW5jdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IChvYmplY3Q6IGFueSkgPT4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG5cclxuICAgICAgICAvL3Byb3RlY3RlZCBfcHJvbXB0U2VydmljZTogUHJvbXB0U2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZhY3Rvcnk6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAvL3Byb3RlY3RlZCBfZ2VuZXJhbERhbFJlcG9zaXRvcnk6IEdlbmVyYWxEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9kYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2Jhc2VEYXRhRGFsUmVwb3NpdG9yeTogQmFzZURhdGFEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9jb0RvY3VtZW50RGF0YUxvYWRlcjogQ29Eb2N1bWVudERhdGFMb2FkZXJTZXJ2aWNlXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY2xlYXJEcm9wem9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dEcm9wem9uZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2Ryb3Bab25lKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZhY3Q6IENvbXBvbmVudEZhY3Rvcnk8QXBwRmlsZURyb3B6b25lQ29tcG9uZW50PiA9IHRoaXMuX2ZhY3RvcnkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoQXBwRmlsZURyb3B6b25lQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpcy5fZHJvcFpvbmUgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3QpO1xyXG4gICAgICAgICAgICB0aGlzLl9kcm9wWm9uZS5pbnN0YW5jZS5jdXN0b21Ecm9wQWN0aW9uTWVzc2FnZSA9IHRoaXMuZHJvcE1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NsZWFyRHJvcHpvbmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2Ryb3Bab25lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Ryb3Bab25lLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5fZHJvcFpvbmUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZSBmaWxlIGZyb20gdXBsb2FkIGFycmF5LlxyXG4gICAgcHVibGljIGFzeW5jIGhhbmRsZURlbGV0ZShmaWxlOiBDb0RvY3VtZW50KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmJlZm9yZURlbGV0ZU9wZXJhdGlvbihmaWxlKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZGVsZXRlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgc3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmFmdGVyRGVsZXRlT3BlcmF0aW9uKGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX2RlbGV0ZShmaWxlOiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgbGV0IGRvRGVsZXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgICAgICBpZiAoIXRoaXMuZG9udEFza0JlZm9yZURlbGV0ZSkge1xyXG4gICAgICAgICAgLy9UT0RPIG1ha2UgZGlhbG9nU2VydmljZVxyXG4gICAgICAgICAgICAvL2RvRGVsZXRlID0gYXdhaXQgdGhpcy5fcHJvbXB0U2VydmljZS5zaG93WWVzTm8oXCJNRVNTQUdFX0RFTEVURV9SRUNPUkRfUVVFU1RJT05cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkb0RlbGV0ZSkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMubm9Pd25EZWxldGVPcGVyYXRpb24pIHtcclxuICAgICAgICAgICAgICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChmaWxlLCB0aGlzLmRvY3VtZW50cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERlbGV0ZWQuZW1pdChmaWxlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVNvcnRpbmdDaGFuZ2UoZG9jczogQ29Eb2N1bWVudFtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0YWJsZUxpc3RDaGFuZ2VkLmVtaXQoZG9jcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGhhbmRsZUZpbGVDaGFuZ2UoZXZlbnQ6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmIChldmVudCAmJiBldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIC8vIGNoZWNrIGZpbGUgc2l6ZXMgYW5kIGV4dGVuc2lvblxyXG4gICAgICAgICAgICAvL1RvZG86IGZpeCB0aGlzXHJcbiAgICAgICAgICAgIC8vY29uc3QgYWxsb3dlZEV4dGVuc2lvbnMgPSBhd2FpdCB0aGlzLl9iYXNlRGF0YURhbFJlcG9zaXRvcnkuZ2V0QWxsb3dlZEV4dGVuc2lvbnMoKTtcclxuICAgICAgICAgICAgbGV0IGFsbEZpbGVzQXJlU21hbGxFbm91Z2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBsZXQgYWxsRmlsZXNIYXZlQWxsb3dlZEV4dGVuc2lvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBjb25zdCBzaXplVG9Db21wYXJlOiBudW1iZXIgPSB0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSA/IHRoaXMuX21heFVwbG9hZEZpbGVTaXplIDogdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXBsb2FkU2l6ZUFsbG93ZWQgPSBGaWxlVXRpbHMuQ2hlY2tNYXhVcGxvYWRTaXplKGV2ZW50LnRhcmdldC5maWxlc1tpXSwgc2l6ZVRvQ29tcGFyZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXVwbG9hZFNpemVBbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsRmlsZXNBcmVTbWFsbEVub3VnaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uQWxsb3dlZCA9IHRydWUvL0ZpbGVVdGlscy5DaGVja0V4dGVuc2lvbihldmVudC50YXJnZXQuZmlsZXNbaV0sIGFsbG93ZWRFeHRlbnNpb25zKTtcclxuICAgICAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uQWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsbEZpbGVzSGF2ZUFsbG93ZWRFeHRlbnNpb25zID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghYWxsRmlsZXNBcmVTbWFsbEVub3VnaCkge1xyXG4gICAgICAgICAgICAgIC8vVE9ETyBtYWtlIGRpYWxvZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5fcHJvbXB0U2VydmljZS5zaG93V2FybmluZyh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJGSUxFX1RPT19MQVJHRV9UT19VUExPQURcIiwgdHJ1ZSwgXCJcIiArIFtGaWxlVXRpbHMuZ2V0TWF4VXBsb2FkU2l6ZUluTWIoc2l6ZVRvQ29tcGFyZSldKSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWFsbEZpbGVzSGF2ZUFsbG93ZWRFeHRlbnNpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGV4dGVuc2lvbnNMaXN0ID0gYWxsb3dlZEV4dGVuc2lvbnMubWFwKGFsbG93ZWRFeHRlbnNpb24gPT4gYWxsb3dlZEV4dGVuc2lvbi5leHRlbnNpb24pLnNvcnQoKS5qb2luKFwiLCBcIik7XHJcbiAgICAgICAgICAgICAgICAvL3RoaXMuX3Byb21wdFNlcnZpY2Uuc2hvd1dhcm5pbmcodGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiRklMRV9IQVNfRElTQUxMT1dFRF9FWFRFTlNJT05cIiwgZmFsc2UsIGV4dGVuc2lvbnNMaXN0KSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc1RvQWRkOiBDb0RvY3VtZW50W10gPSBhd2FpdCB0aGlzLmNvbnZlcnRGaWxlc0ludG9Db0RvY3VtZW50cyhldmVudC50YXJnZXQuZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChmaWxlc1RvQWRkLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkZGVkLmVtaXQoZmlsZXNUb0FkZCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZVdpdGhvdXRTZXR0aW5nUHJvcHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGRlZC5uZXh0KGZpbGVzVG9BZGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgPSBmaWxlc1RvQWRkWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlRWRpdERvY3VtZW50Q2xpY2soZG9jVG9FZGl0OiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdCA9IGRvY1RvRWRpdDtcclxuICAgICAgICBjb25zdCBzaG93UG9wdXA6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmJlZm9yZUVkaXRPcGVyYXRpb24oZG9jVG9FZGl0KTtcclxuICAgICAgICBpZiAoc2hvd1BvcHVwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvcGVuUG9wdXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQW5kRmlsbFBvcHVwSW5zdGFuY2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fZG9jQ2hhbmdlU3ViID0gdGhpcy5fcG9wdXAuaW5zdGFuY2UuZG9jdW1lbnRDaGFuZ2VFdmVudC5zdWJzY3JpYmUoKGRvYzogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Q2hhbmdlRXZlbnQuZW1pdChkb2MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuUG9wdXBUb0FkZERvY3VtZW50QnlVcmwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlRG9jdW1lbnRUb0FkZEJ5VXJsKCk7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQW5kRmlsbFBvcHVwSW5zdGFuY2UodHJ1ZSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RvY0NoYW5nZVN1YiA9IHRoaXMuX3BvcHVwLmluc3RhbmNlLmRvY3VtZW50Q2hhbmdlRXZlbnQuc3Vic2NyaWJlKChkb2M6IENvRG9jdW1lbnQpID0+IHtcclxuICAgICAgICAgICAgZG9jLmZpbGVOYW1lID0gZG9jLmZpbGVQYXRoO1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Q2hhbmdlRXZlbnQuZW1pdChkb2MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZURvY3VtZW50VG9BZGRCeVVybCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gbmV3IENvRG9jdW1lbnQoKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnRhYmxlID0gdGhpcy5kb2N1bWVudFRhYmxlO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQua2V5ID0gdGhpcy5kb2N1bWVudEtleTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmZpbGVUeXBlID0gdGhpcy5maWxlVHlwZTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50VHlwZSA9IENvRG9jdW1lbnRUeXBlLlNhdmVBc0xpbmtPblJhbmRvbUxvY2F0aW9uO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucGF0aElzVXJsID0gdHJ1ZTtcclxuICAgICAgICAvL1RPRE8gRml4IHVzZXIgSW5wdXRcclxuICAgICAgICAvL3RoaXMuZG9jdW1lbnRVbmRlckVkaXQuY3JlYXRpb25Vc2VyID0gdGhpcy5fdXNlclNlcnZpY2UudXNlck5hbWUudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAvL3RoaXMuZG9jdW1lbnRVbmRlckVkaXQubW9kaWZpZWRVc2VyID0gdGhpcy5fdXNlclNlcnZpY2UudXNlck5hbWUudG9VcHBlckNhc2UoKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmNyZWF0aW9uRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5tb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZUFuZEZpbGxQb3B1cEluc3RhbmNlKGFkZERvY3VtZW50QnlVcmw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucG9wdXBPcGVuZWRTdGF0ZUNoYW5nZS5lbWl0KHRydWUpO1xyXG5cclxuICAgICAgICBjb25zdCBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudD4gPSB0aGlzLl9mYWN0b3J5LnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudCk7XHJcblxyXG4gICAgICAgIHRoaXMuX3BvcHVwID0gdGhpcy5fY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLl9yZWFkb25seTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5hZGREb2N1bWVudEJ5VXJsID0gYWRkRG9jdW1lbnRCeVVybDtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5oYXNQdWJsaWNBY2Nlc3NWaXNpYmxlID0gdGhpcy5kb2N1bWVudFRhYmxlID09PSBUYWJsZU5hbWUuR29vZHM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2Uuc2hvd0RvY3VtZW50UmVwb3J0UGlja2VyID0gKHRoaXMuZG9jdW1lbnRUYWJsZSA9PT0gVGFibGVOYW1lLlRyYW5zYWN0aW9ucyB8fCB0aGlzLmRvY3VtZW50VGFibGUgPT09IFRhYmxlTmFtZS5UcmFuc2FjdGlvbkxpbmVzKTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5kb2N1bWVudFVuZGVyRWRpdCA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQ7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UuZmlsZXNVcGxvYWRDb25maWdPYmplY3RzID0gdGhpcy5maWxlc1VwbG9hZENvbmZpZ09iamVjdHM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UubWVkaWNhbFVzZXJHcm91cHMgPSB0aGlzLm1lZGljYWxVc2VyR3JvdXBzO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnRhZ0NhdGVnb3J5ID0gdGhpcy50YWdDYXRlZ29yeTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5kaXNwbGF5UmVhZFdyaXRlQWNjZXNzID0gdGhpcy5kaXNwbGF5UmVhZFdyaXRlQWNjZXNzO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnRhZ1JlZmVyZW5jZVRhYmxlID0gdGhpcy50YWdSZWZlcmVuY2VUYWJsZTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5wdWJsaWNhdGlvbklkcyA9IFJlZkNvZGVVdGlscy5HZXRNdWx0aVJlZkNvZGVDaG9pY2VzKHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucHVibGljYXRpb24pO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnN0b3JlR3JvdXBJZHMgPSB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJldGFpbEZvcm11bGFzO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLmZpbGVUeXBlID0gdGhpcy5maWxlVHlwZTtcclxuXHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZUZpbGVSaWdodHMoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wdXBDbG9zZVN1YiA9IHRoaXMuX3BvcHVwLmluc3RhbmNlLnBvcHVwQ2xvc2VFdmVudC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl91bmxvY2tEb2N1bWVudCgpO1xyXG4gICAgICAgICAgICB0aGlzLnBvcHVwT3BlbmVkU3RhdGVDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwQ2xvc2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fZG9jQ2hhbmdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wdXAgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNvbnZlcnRGaWxlc0ludG9Db0RvY3VtZW50cyhmaWxlczogRmlsZUxpc3QpOiBQcm9taXNlPENvRG9jdW1lbnRbXT4ge1xyXG4gICAgICAgIGNvbnN0IGFtb3VudE9mRmlsZXM6IG51bWJlciA9IGZpbGVzLmxlbmd0aDtcclxuICAgICAgICBjb25zdCBmaWxlc1RvQWRkOiBDb0RvY3VtZW50W10gPSBbXTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGFtb3VudE9mRmlsZXM7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCBmaWxlQXNEb2N1bWVudDogQ29Eb2N1bWVudCA9IGF3YWl0IHRoaXMuX2dldEZpbGVBc0RvY3VtZW50KGZpbGVzW2ldKTtcclxuICAgICAgICAgICAgZmlsZUFzRG9jdW1lbnQuaW5kZXggPSBDb0RvY3VtZW50U2hhcmVkRmllbGRMb2dpYy5HZW5lcmF0ZUF2YWlsYWJsZUluZGV4TnIodGhpcy5kb2N1bWVudHMgfHwgW10pICsgaTtcclxuICAgICAgICAgICAgZmlsZXNUb0FkZC5wdXNoKGZpbGVBc0RvY3VtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzVG9BZGQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGZpbGVzUGlja2VkKGZpbGVzOiBGaWxlTGlzdCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmIChmaWxlcyAmJiBmaWxlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgbGV0IGFsbEZpbGVzQXJlVmFsaWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBjb25zdCBhbW91bnRPZkZpbGVzOiBudW1iZXIgPSBmaWxlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBhbW91bnRPZkZpbGVzOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGlmICghRmlsZVV0aWxzLkNoZWNrTWF4VXBsb2FkU2l6ZShmaWxlc1tpXSwgdGhpcy5fbWF4VXBsb2FkRmlsZVNpemUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsRmlsZXNBcmVWYWxpZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoIWFsbEZpbGVzQXJlVmFsaWQpIHtcclxuICAgICAgICAgICAgICAvL1RPRE8gbWFrZSBkaWFsb2dTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAvL3RoaXMuX3Byb21wdFNlcnZpY2Uuc2hvd1dhcm5pbmcodGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiRklMRV9UT09fTEFSR0VfVE9fVVBMT0FEXCIsIHRydWUsIFwiXCIgKyBGaWxlVXRpbHMuZ2V0TWF4VXBsb2FkU2l6ZUluTWIodGhpcy5fbWF4VXBsb2FkRmlsZVNpemUpLnRvU3RyaW5nKCkpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVzVG9BZGQ6IENvRG9jdW1lbnRbXSA9IGF3YWl0IHRoaXMuY29udmVydEZpbGVzSW50b0NvRG9jdW1lbnRzKGZpbGVzKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsZXNUb0FkZC5sZW5ndGggPiAxIHx8IHRoaXMudXNlV2l0aG91dFNldHRpbmdQcm9wcykge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQWRkZWQuZW1pdChmaWxlc1RvQWRkKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdCA9IGZpbGVzVG9BZGRbMF07IC8vIFNldHRpbmcgZG9jVW5kZXJFZGl0IG9wZW5zIHRoZSBwb3B1cCB3aW5kb3dcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVBY2NlcHRlZEZpbGVUeXBlc0xvYWRlZCh2YWx1ZTogRmlsZVR5cGUpOiB2b2lkIHtcclxuICAgICAgICAvL1RPRE8gZml4IGxvYWRpbmdcclxuICAgICAgICAvL3RoaXMuYWNjZXB0ZWRVcGxvYWRGb3JtYXRzID0gdGhpcy5fY29Eb2N1bWVudERhdGFMb2FkZXIuZ2V0QWxsb3dlZEV4dGVuc2lvbnNGb3JUeXBlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9nZXRGaWxlQXNEb2N1bWVudChmaWxlOiBGaWxlKTogUHJvbWlzZTxDb0RvY3VtZW50PiB7XHJcbiAgICAgICAgY29uc3QgZmlsZUFzQ29Eb2N1bWVudDogQ29Eb2N1bWVudCA9IGF3YWl0IEZpbGVVdGlscy5SZWFkRmlsZUFzTmV3Q29Eb2N1bWVudChmaWxlLCB0aGlzLnJlc2l6ZUltYWdlcyk7XHJcbiAgICAgICAgLy8gc2V0IHNvbWUgZXh0cmEga25vd24gZmllbGRzIGZvciB0aGUgY29kb2N1bWVudDpcclxuICAgICAgICBmaWxlQXNDb0RvY3VtZW50LnRhYmxlID0gdGhpcy5kb2N1bWVudFRhYmxlO1xyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQua2V5ID0gdGhpcy5kb2N1bWVudEtleTtcclxuICAgICAgICAvL1RPRE8gZml4IGFkZCB1c2Vyc1xyXG4gICAgICAgIC8vZmlsZUFzQ29Eb2N1bWVudC5jcmVhdGlvblVzZXIgPSB0aGlzLl91c2VyU2VydmljZS51c2VyTmFtZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgIC8vZmlsZUFzQ29Eb2N1bWVudC5tb2RpZmllZFVzZXIgPSB0aGlzLl91c2VyU2VydmljZS51c2VyTmFtZS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQuY3JlYXRpb25EYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBmaWxlQXNDb0RvY3VtZW50Lm1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5maWxlVHlwZSA9IHRoaXMuZmlsZVR5cGUgPyB0aGlzLmZpbGVUeXBlIDogRmlsZVV0aWxzLklzSW1hZ2VGaWxlKGZpbGUpID8gRmlsZVR5cGUuSW1hZ2UgOiBGaWxlVHlwZS5Eb2N1bWVudDtcclxuXHJcbiAgICAgICAgaWYgKGZpbGVBc0NvRG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZpbGVBc0NvRG9jdW1lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3NldEludGVybmFsUGFyYW1PYmoodmFsdWU6IEludGVybmFsUGFyYW0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICAvL1RPRE8gZml4IHBhcmFtc1xyXG4gICAgICAgIC8vY29uc3QgcGFyYW06IEludGVybmFsUGFyYW1ldGVyT2JqZWN0ID0gYXdhaXQgdGhpcy5fZ2VuZXJhbERhbFJlcG9zaXRvcnkuZ2V0SW50ZXJuYWxQYXJhbU9iamVjdCh2YWx1ZSk7XHJcbiAgICAgICAgLy90aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSA9IGlzTmFOKHBhcnNlSW50KHBhcmFtLnZhbHVlLCAwKSkgPyB1bmRlZmluZWQgOiBwYXJzZUludChwYXJhbS52YWx1ZSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfbG9ja0RvY3VtZW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5kb2N1bWVudElkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlOyAvLyBOZXcgZG9jdW1lbnQgZG9lcyBub3QgaGF2ZSBhbiBJRCBhbmQgdGhlcmVmb3JlIGRvZXMgbm90IGhhdmUgdG8gYmUgbG9ja2VkXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBsb2NrT2s6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmxvY2tPcGVyYXRpb24oQ29Eb2N1bWVudCk7XHJcbiAgICAgICAgcmV0dXJuIGxvY2tPaztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF91bmxvY2tEb2N1bWVudCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgaWYgKCF0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50SWQpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gTmV3IGRvY3VtZW50IGRvZXMgbm90IGhhdmUgYW4gSUQgYW5kIHRoZXJlZm9yZSBkb2VzIG5vdCBoYXZlIHRvIGJlIGxvY2tlZFxyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCB1bmxvY2tPazogYm9vbGVhbiA9IGF3YWl0IHRoaXMudW5sb2NrT3BlcmF0aW9uKENvRG9jdW1lbnQpO1xyXG4gICAgICByZXR1cm4gdW5sb2NrT2s7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfcHJlcGFyZUZpbGVSaWdodHMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJpZ2h0cy5sZW5ndGg7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0OiBDb0RvY3VtZW50UmlnaHQgPSB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJpZ2h0c1tpXTtcclxuICAgICAgICAgICAgaWYgKHJpZ2h0LnJpZ2h0TGV2ZWwgPT09IE9iamVjdFJpZ2h0VHlwZS5SZWFkV3JpdGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnVzZXJHcm91cHNGb3JXcml0ZS5wdXNoKHJpZ2h0LnVzZXJHcm91cElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAocmlnaHQucmlnaHRMZXZlbCA9PT0gT2JqZWN0UmlnaHRUeXBlLlJlYWRPbmx5KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS51c2VyR3JvdXBzRm9yUmVhZC5wdXNoKHJpZ2h0LnVzZXJHcm91cElkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
468
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1maWxlLXVwbG9hZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILHdCQUF3QixFQUV4QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRSxPQUFPLEVBRUgsa0NBQWtDLEVBQ3JDLE1BQU0sdURBQXVELENBQUM7QUFJL0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDdEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFE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LEVBQUU7b0VBQzZCO0FBSTVDO0lBREMsWUFBWSxFQUFFO3FFQUM4QjtBQWE3QztJQURDLFlBQVksRUFBRTt1RUFDZ0M7QUFPL0M7SUFEQyxZQUFZLEVBQUU7a0VBQzJCO0FBVTFDO0lBREMsWUFBWSxFQUFFO3VFQUN3QjtBQUl2QztJQURVLFlBQVksRUFBRTt1RUFDdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgQ29tcG9uZW50RmFjdG9yeSxcclxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIENvbXBvbmVudFJlZixcclxuICAgIERpcmVjdGl2ZSxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIEhvc3RCaW5kaW5nLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkRlc3Ryb3ksXHJcbiAgICBPdXRwdXQsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTY3JlZW5Db25maWdBZGFwdGVyQ29tcG9uZW50fSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtUYWJsZU5hbWV9IGZyb20gXCIuLi8uLi8uLi9lbnVtL3RhYmxlLW5hbWUuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVUeXBlfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9maWxlLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge1xyXG4gICAgT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbixcclxuICAgIE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2tcclxufSBmcm9tIFwiLi4vLi4vLi4vaW50ZXJmYWNlL29wZXJhdGlvbi1jYWxsYmFjay1zaW1wbGUtZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtJbnRlcm5hbFBhcmFtfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9pbnRlcm5hbC1wYXJhbS5lbnVtXCI7XHJcbmltcG9ydCB7RmlsZXNVcGxvYWRDb25maWdPYmplY3RzfSBmcm9tIFwiLi4vLi4vLi4vZW51bS9maWxlcy11cGxvYWQtY29uZmlnLW9iamVjdHNcIjtcclxuaW1wb3J0IHtUYWdDYXRlZ29yeX0gZnJvbSBcIi4uLy4uLy4uL2VudW0vdGFnLWNhdGVnb3J5LmVudW1cIjtcclxuaW1wb3J0IHtBcnJheVV0aWxzfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvYXJyYXktdXRpbHNcIjtcclxuaW1wb3J0IHtSZWZDb2RlVXRpbHN9IGZyb20gXCIuLi8uLi8uLi91dGlscy9yZWYtY29kZS11dGlsc1wiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnRTaGFyZWRGaWVsZExvZ2ljfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvY28tZG9jdW1lbnQtc2hhcmVkLWZpZWxkLWxvZ2ljXCI7XHJcbmltcG9ydCB7T2JqZWN0UmlnaHRUeXBlfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9lbnVtL29iamVjdC1yaWdodC10eXBlLmVudW1cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtBcHBGaWxlRHJvcHpvbmVDb21wb25lbnR9IGZyb20gXCIuLi8uLi9hcHAtZmlsZS1kcm9wem9uZS9hcHAtZmlsZS1kcm9wem9uZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGaWxlVXRpbHN9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC91dGlscy9maWxlLXV0aWxzXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvXCI7XHJcbmltcG9ydCB7Q29Eb2N1bWVudFR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2NvLWRvY3VtZW50LXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0ZpbGVVcGxvYWRQb3B1cENvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZpbGUtdXBsb2FkLXBvcHVwL2ZpbGUtdXBsb2FkLXBvcHVwLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb0RvY3VtZW50UmlnaHR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LXJpZ2h0JztcclxuXHJcblxyXG5cclxuLy8gQSBiYXNlIGNvbXBvbmVudCB0aGF0IGxldHMgdGhlIHVzZXIgbWFrZSBhIGxpc3Qgb2YgZmlsZXMgZnJvbSBpdHMgZGV2aWNlLiBEb2Vzbid0IGFjdHVhbGx5IHVwbG9hZCwgYnV0IG91dHB1dHMgY2hvc2VuIGZpbGVzIGFzIGZpbGVzQ2hhbmdlZC5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIFNjcmVlbkNvbmZpZ0FkYXB0ZXJDb21wb25lbnQsIE9uRGVzdHJveSB7XHJcbiAgICBkZWNpbWFsczogbnVtYmVyO1xyXG4gICAgZm9yY2VSZWFkb25seTogYm9vbGVhbjtcclxuICAgIG1heExlbmd0aDogbnVtYmVyO1xyXG4gICAgb2JqZWN0Q29uZmlnTmFtZTogc3RyaW5nO1xyXG4gICAgcmVkRXJyb3JCYWNrZ3JvdW5kOiBib29sZWFuO1xyXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgLy8gVGhlIGZpbGVUeXBlIHRoYXQgdGhlIGRvY3VtZW50cyBzaG91bGQgYmUgc2F2ZWQgYXMsIGxlYXZlIGVtcHR5IHRvIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IGZpbGV0eXBlLiBBbHNvIGRldGVybWluZXMgZmlsZSBwaWNrZXIgZmlsdGVyXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBmaWxlVHlwZSh2YWx1ZTogRmlsZVR5cGUpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZmlsZVR5cGUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgLy9UT0RPIERvY3VtZW50ZGF0YWxvYWRlciBmaXhcclxuICAgICAgICAgICAgLy90aGlzLl9jb0RvY3VtZW50RGF0YUxvYWRlci5sb2FkQWxsb3dlZFR5cGVzKCkudGhlbigoKSA9PiB7dGhpcy5oYW5kbGVBY2NlcHRlZEZpbGVUeXBlc0xvYWRlZCh2YWx1ZSl9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaWxlVHlwZSgpOiBGaWxlVHlwZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGVUeXBlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZG9jdW1lbnRzOiBDb0RvY3VtZW50W10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50VGFibGU6IFRhYmxlTmFtZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBkb2N1bWVudEtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fZG9jdW1lbnRLZXkgPSB2YWx1ZSArIFwiXCI7IC8vIGZvcmNlIHN0cmluZ1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgZG9jdW1lbnRLZXkoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZG9jdW1lbnRLZXk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlIGFiaWxpdHkgdG8gZHJvcCBmaWxlcyBvbiB0aGUgcGFnZVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBmdWxsUGFnZURyb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBJZiB1c2VyIGdldHMgdGhlIGFiaWxpdHkgb2YgYWRkaW5nIGZpbGVzLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYW5BZGQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZHJvcE1lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgICAvLyBTaG93IGFkZCBidXR0b25cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWRkV2l0aEJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLy8gSWYgdXNlciBnZXRzIHRoZSBhYmlsaXR5IG9mIGRlbGV0aW5nIGZpbGVzLlxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjYW5EZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBub0RyYWdEcm9wT3JkZXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX3BvcHVwICYmIHRoaXMuX3BvcHVwLmluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnJlYWRvbmx5ID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBhc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyByZXNpemVJbWFnZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxvY2tPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgdW5sb2NrT3BlcmF0aW9uOiBPcGVyYXRpb25DYWxsYmFja1NpbXBsZUZ1bmN0aW9uID0gT3BlcmF0aW9uV2l0aEFsd2F5c1N1Y2Nlc3NDYWxsYmFjaztcclxuXHJcblxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGJlZm9yZURlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBhZnRlckRlbGV0ZU9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBiZWZvcmVDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYWZ0ZXJDcmVhdGVPcGVyYXRpb246IE9wZXJhdGlvbkNhbGxiYWNrU2ltcGxlRnVuY3Rpb24gPSBPcGVyYXRpb25XaXRoQWx3YXlzU3VjY2Vzc0NhbGxiYWNrO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgYmVmb3JlRWRpdE9wZXJhdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IE9wZXJhdGlvbldpdGhBbHdheXNTdWNjZXNzQ2FsbGJhY2s7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGRvbnRBc2tCZWZvcmVEZWxldGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgbm9Pd25EZWxldGVPcGVyYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIF9maWxlVHlwZTogRmlsZVR5cGU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgbWF4VXBsb2FkU2l6ZVBhcmFtKHZhbHVlOiBJbnRlcm5hbFBhcmFtKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldEludGVybmFsUGFyYW1PYmoodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgdXNlV2l0aG91dFNldHRpbmdQcm9wczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZXNVcGxvYWRDb25maWdPYmplY3RzOiBGaWxlc1VwbG9hZENvbmZpZ09iamVjdHM7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIG1lZGljYWxVc2VyR3JvdXBzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdDYXRlZ29yeTogVGFnQ2F0ZWdvcnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyB0YWdSZWZlcmVuY2VUYWJsZTogVGFibGVOYW1lO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBkaXNwbGF5UmVhZFdyaXRlQWNjZXNzOiBib29sZWFuO1xyXG5cclxuICAgIC8vIFVzZSB3aXRoIGN1c3RvbUZpbGVEcm9wRXZlbnRcclxuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIHVzZUN1c3RvbUZpbGVEcm9wRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCB1c2VDdXN0b21GaWxlRHJvcEV2ZW50XHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBjdXN0b21GaWxlRHJvcEV2ZW50OiBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlTGlzdD4oKTtcclxuXHJcbiAgICAvLyBFbWl0cyBpZiB1c2VyIHdhbnRzIHRvIGFkZCBtdWx0aXBsZSBkb2N1bWVudHMgYXQgb25jZVxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnRzQWRkZWQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50W10+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnREZWxldGVkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gICAgLy8gRW1pdHMgZXZlcnkgdGltZSB0aGUgb3JkZXIgb2YgZG9jdW1lbnRzIHdhcyBjaGFuZ2VkXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seSBzb3J0YWJsZUxpc3RDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudFtdPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGRvY3VtZW50Q2hhbmdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgICAvLyBVc2UgdGhpcyBpZiBjb25zdW1lciByZXF1aXJlcyB0byBwZXJmb3JtIGV4dHJhIGFjdGlvbnMsIGxpa2UgbG9ja2luZyBhIHBhcmVudCBidXNpbmVzc09iamVjdCBpZiBpdCBjb250YWlucyB0aGUgY29sbGVjdGlvbiBvZiBkb2N1bWVudHMuIEVtaXQgd2l0aCB0cnVlIHdoZW4gcG9wdXAgb3BlbmVkLCBmYWxzZSBmb3IgY2xvc2VcclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHBvcHVwT3BlbmVkU3RhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zaGFyZWQtaGlkZGVuXCIpXHJcbiAgICBwdWJsaWMgaGlkZGVuOiBib29sZWFuO1xyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJkcm9wXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy51c2VDdXN0b21GaWxlRHJvcEV2ZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZXNQaWNrZWQoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUZpbGVEcm9wRXZlbnQuZW1pdChldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fY2xlYXJEcm9wem9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnZW5kXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyYWdFbmQoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5jbGVhckRhdGEoKTtcclxuICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdvdmVyXCIsIFtcIiRldmVudFwiXSlcclxuICAgIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnZW50ZXJcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgcHVibGljIG9uRHJhZ0VudGVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9kcmFnRW50ZXJUYXJnZXQgPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgdGhpcy5fc2hvd0Ryb3B6b25lKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyYWdsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IHRoaXMuX2RyYWdFbnRlclRhcmdldCkge1xyXG4gICAgICAgICAgICB0aGlzLl9jbGVhckRyb3B6b25lKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBkb2N1bWVudFVuZGVyRWRpdDogQ29Eb2N1bWVudDtcclxuICAgIHB1YmxpYyBhY2NlcHRlZFVwbG9hZEZvcm1hdHM6IHN0cmluZztcclxuXHJcbiAgICBwcm90ZWN0ZWQgX21heFVwbG9hZEZpbGVTaXplOiBudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSBfZHJhZ0VudGVyVGFyZ2V0OiBFdmVudFRhcmdldDtcclxuICAgIHByaXZhdGUgX2RvY3VtZW50S2V5OiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgcHJpdmF0ZSBfZHJvcFpvbmU6IENvbXBvbmVudFJlZjxBcHBGaWxlRHJvcHpvbmVDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBfcG9wdXA6IENvbXBvbmVudFJlZjxGaWxlVXBsb2FkUG9wdXBDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBfZG9jQ2hhbmdlU3ViOiBTdWJzY3JpcHRpb247XHJcbiAgICBwcml2YXRlIF9wb3B1cENsb3NlU3ViOiBTdWJzY3JpcHRpb247XHJcbiAgICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8vIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IF9kdW1teVRydWVGdW5jdGlvbjogT3BlcmF0aW9uQ2FsbGJhY2tTaW1wbGVGdW5jdGlvbiA9IChvYmplY3Q6IGFueSkgPT4gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG5cclxuICAgICAgICAvL3Byb3RlY3RlZCBfcHJvbXB0U2VydmljZTogUHJvbXB0U2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTaGFyZWRDb21wb25lbnRzRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZhY3Rvcnk6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAvL3Byb3RlY3RlZCBfZ2VuZXJhbERhbFJlcG9zaXRvcnk6IEdlbmVyYWxEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9kYXRhU2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2Jhc2VEYXRhRGFsUmVwb3NpdG9yeTogQmFzZURhdGFEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9jb0RvY3VtZW50RGF0YUxvYWRlcjogQ29Eb2N1bWVudERhdGFMb2FkZXJTZXJ2aWNlXHJcbiAgICApIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY2xlYXJEcm9wem9uZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3Nob3dEcm9wem9uZSgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2Ryb3Bab25lKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZhY3Q6IENvbXBvbmVudEZhY3Rvcnk8QXBwRmlsZURyb3B6b25lQ29tcG9uZW50PiA9IHRoaXMuX2ZhY3RvcnkucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoQXBwRmlsZURyb3B6b25lQ29tcG9uZW50KTtcclxuICAgICAgICAgICAgdGhpcy5fZHJvcFpvbmUgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3QpO1xyXG4gICAgICAgICAgICB0aGlzLl9kcm9wWm9uZS5pbnN0YW5jZS5jdXN0b21Ecm9wQWN0aW9uTWVzc2FnZSA9IHRoaXMuZHJvcE1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NsZWFyRHJvcHpvbmUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgaWYgKHRoaXMuX2Ryb3Bab25lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Ryb3Bab25lLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5fZHJvcFpvbmUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZSBmaWxlIGZyb20gdXBsb2FkIGFycmF5LlxyXG4gICAgcHVibGljIGFzeW5jIGhhbmRsZURlbGV0ZShmaWxlOiBDb0RvY3VtZW50KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmJlZm9yZURlbGV0ZU9wZXJhdGlvbihmaWxlKTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fZGVsZXRlKGZpbGUpO1xyXG4gICAgICAgICAgICAgICAgc3VjY2VzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGZpbmFsbHkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmFmdGVyRGVsZXRlT3BlcmF0aW9uKGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHN1Y2Nlc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX2RlbGV0ZShmaWxlOiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgbGV0IGRvRGVsZXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgICAgICBpZiAoIXRoaXMuZG9udEFza0JlZm9yZURlbGV0ZSkge1xyXG4gICAgICAgICAgLy9UT0RPIG1ha2UgZGlhbG9nU2VydmljZVxyXG4gICAgICAgICAgICAvL2RvRGVsZXRlID0gYXdhaXQgdGhpcy5fcHJvbXB0U2VydmljZS5zaG93WWVzTm8oXCJNRVNTQUdFX0RFTEVURV9SRUNPUkRfUVVFU1RJT05cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkb0RlbGV0ZSkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMubm9Pd25EZWxldGVPcGVyYXRpb24pIHtcclxuICAgICAgICAgICAgICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChmaWxlLCB0aGlzLmRvY3VtZW50cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudERlbGV0ZWQuZW1pdChmaWxlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVNvcnRpbmdDaGFuZ2UoZG9jczogQ29Eb2N1bWVudFtdKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zb3J0YWJsZUxpc3RDaGFuZ2VkLmVtaXQoZG9jcyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGhhbmRsZUZpbGVDaGFuZ2UoZXZlbnQ6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmIChldmVudCAmJiBldmVudC50YXJnZXQgJiYgZXZlbnQudGFyZ2V0LmZpbGVzICYmIGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIC8vIGNoZWNrIGZpbGUgc2l6ZXMgYW5kIGV4dGVuc2lvblxyXG4gICAgICAgICAgICAvL1RvZG86IGZpeCB0aGlzXHJcbiAgICAgICAgICAgIC8vY29uc3QgYWxsb3dlZEV4dGVuc2lvbnMgPSBhd2FpdCB0aGlzLl9iYXNlRGF0YURhbFJlcG9zaXRvcnkuZ2V0QWxsb3dlZEV4dGVuc2lvbnMoKTtcclxuICAgICAgICAgICAgbGV0IGFsbEZpbGVzQXJlU21hbGxFbm91Z2g6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBsZXQgYWxsRmlsZXNIYXZlQWxsb3dlZEV4dGVuc2lvbnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICAgICAgICBjb25zdCBzaXplVG9Db21wYXJlOiBudW1iZXIgPSB0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSA/IHRoaXMuX21heFVwbG9hZEZpbGVTaXplIDogdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdXBsb2FkU2l6ZUFsbG93ZWQgPSBGaWxlVXRpbHMuQ2hlY2tNYXhVcGxvYWRTaXplKGV2ZW50LnRhcmdldC5maWxlc1tpXSwgc2l6ZVRvQ29tcGFyZSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXVwbG9hZFNpemVBbGxvd2VkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsRmlsZXNBcmVTbWFsbEVub3VnaCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgZXh0ZW5zaW9uQWxsb3dlZCA9IHRydWUvL0ZpbGVVdGlscy5DaGVja0V4dGVuc2lvbihldmVudC50YXJnZXQuZmlsZXNbaV0sIGFsbG93ZWRFeHRlbnNpb25zKTtcclxuICAgICAgICAgICAgICAgIGlmICghZXh0ZW5zaW9uQWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsbEZpbGVzSGF2ZUFsbG93ZWRFeHRlbnNpb25zID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghYWxsRmlsZXNBcmVTbWFsbEVub3VnaCkge1xyXG4gICAgICAgICAgICAgIC8vVE9ETyBtYWtlIGRpYWxvZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5fcHJvbXB0U2VydmljZS5zaG93V2FybmluZyh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJGSUxFX1RPT19MQVJHRV9UT19VUExPQURcIiwgdHJ1ZSwgXCJcIiArIFtGaWxlVXRpbHMuZ2V0TWF4VXBsb2FkU2l6ZUluTWIoc2l6ZVRvQ29tcGFyZSldKSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWFsbEZpbGVzSGF2ZUFsbG93ZWRFeHRlbnNpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGV4dGVuc2lvbnNMaXN0ID0gYWxsb3dlZEV4dGVuc2lvbnMubWFwKGFsbG93ZWRFeHRlbnNpb24gPT4gYWxsb3dlZEV4dGVuc2lvbi5leHRlbnNpb24pLnNvcnQoKS5qb2luKFwiLCBcIik7XHJcbiAgICAgICAgICAgICAgICAvL3RoaXMuX3Byb21wdFNlcnZpY2Uuc2hvd1dhcm5pbmcodGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuZ2V0KFwiRklMRV9IQVNfRElTQUxMT1dFRF9FWFRFTlNJT05cIiwgZmFsc2UsIGV4dGVuc2lvbnNMaXN0KSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlc1RvQWRkOiBDb0RvY3VtZW50W10gPSBhd2FpdCB0aGlzLmNvbnZlcnRGaWxlc0ludG9Db0RvY3VtZW50cyhldmVudC50YXJnZXQuZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChmaWxlc1RvQWRkLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkZGVkLmVtaXQoZmlsZXNUb0FkZCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnVzZVdpdGhvdXRTZXR0aW5nUHJvcHMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGRlZC5uZXh0KGZpbGVzVG9BZGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgPSBmaWxlc1RvQWRkWzBdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgaGFuZGxlRWRpdERvY3VtZW50Q2xpY2soZG9jVG9FZGl0OiBDb0RvY3VtZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdCA9IGRvY1RvRWRpdDtcclxuICAgICAgICBjb25zdCBzaG93UG9wdXA6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLmJlZm9yZUVkaXRPcGVyYXRpb24oZG9jVG9FZGl0KTtcclxuICAgICAgICBpZiAoc2hvd1BvcHVwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBvcGVuUG9wdXAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQW5kRmlsbFBvcHVwSW5zdGFuY2UoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fZG9jQ2hhbmdlU3ViID0gdGhpcy5fcG9wdXAuaW5zdGFuY2UuZG9jdW1lbnRDaGFuZ2VFdmVudC5zdWJzY3JpYmUoKGRvYzogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Q2hhbmdlRXZlbnQuZW1pdChkb2MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuUG9wdXBUb0FkZERvY3VtZW50QnlVcmwoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlRG9jdW1lbnRUb0FkZEJ5VXJsKCk7XHJcbiAgICAgICAgdGhpcy5fY3JlYXRlQW5kRmlsbFBvcHVwSW5zdGFuY2UodHJ1ZSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RvY0NoYW5nZVN1YiA9IHRoaXMuX3BvcHVwLmluc3RhbmNlLmRvY3VtZW50Q2hhbmdlRXZlbnQuc3Vic2NyaWJlKChkb2M6IENvRG9jdW1lbnQpID0+IHtcclxuICAgICAgICAgICAgZG9jLmZpbGVOYW1lID0gZG9jLmZpbGVQYXRoO1xyXG4gICAgICAgICAgICB0aGlzLmRvY3VtZW50Q2hhbmdlRXZlbnQuZW1pdChkb2MpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZURvY3VtZW50VG9BZGRCeVVybCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gbmV3IENvRG9jdW1lbnQoKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnRhYmxlID0gdGhpcy5kb2N1bWVudFRhYmxlO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQua2V5ID0gdGhpcy5kb2N1bWVudEtleTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmZpbGVUeXBlID0gdGhpcy5maWxlVHlwZTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50VHlwZSA9IENvRG9jdW1lbnRUeXBlLlNhdmVBc0xpbmtPblJhbmRvbUxvY2F0aW9uO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucGF0aElzVXJsID0gdHJ1ZTtcclxuICAgICAgICAvL1RPRE8gRml4IHVzZXIgSW5wdXRcclxuICAgICAgICAvL3RoaXMuZG9jdW1lbnRVbmRlckVkaXQuY3JlYXRpb25Vc2VyID0gdGhpcy5fdXNlclNlcnZpY2UudXNlck5hbWUudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAvL3RoaXMuZG9jdW1lbnRVbmRlckVkaXQubW9kaWZpZWRVc2VyID0gdGhpcy5fdXNlclNlcnZpY2UudXNlck5hbWUudG9VcHBlckNhc2UoKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmNyZWF0aW9uRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgdGhpcy5kb2N1bWVudFVuZGVyRWRpdC5tb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX2NyZWF0ZUFuZEZpbGxQb3B1cEluc3RhbmNlKGFkZERvY3VtZW50QnlVcmw6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMucG9wdXBPcGVuZWRTdGF0ZUNoYW5nZS5lbWl0KHRydWUpO1xyXG5cclxuICAgICAgICBjb25zdCBmYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5PEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudD4gPSB0aGlzLl9mYWN0b3J5LnJlc29sdmVDb21wb25lbnRGYWN0b3J5KEZpbGVVcGxvYWRQb3B1cENvbXBvbmVudCk7XHJcblxyXG4gICAgICAgIHRoaXMuX3BvcHVwID0gdGhpcy5fY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcclxuXHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLl9yZWFkb25seTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5hZGREb2N1bWVudEJ5VXJsID0gYWRkRG9jdW1lbnRCeVVybDtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5oYXNQdWJsaWNBY2Nlc3NWaXNpYmxlID0gdGhpcy5kb2N1bWVudFRhYmxlID09PSBUYWJsZU5hbWUuR29vZHM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2Uuc2hvd0RvY3VtZW50UmVwb3J0UGlja2VyID0gKHRoaXMuZG9jdW1lbnRUYWJsZSA9PT0gVGFibGVOYW1lLlRyYW5zYWN0aW9ucyB8fCB0aGlzLmRvY3VtZW50VGFibGUgPT09IFRhYmxlTmFtZS5UcmFuc2FjdGlvbkxpbmVzKTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5kb2N1bWVudFVuZGVyRWRpdCA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQ7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UuZmlsZXNVcGxvYWRDb25maWdPYmplY3RzID0gdGhpcy5maWxlc1VwbG9hZENvbmZpZ09iamVjdHM7XHJcbiAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UubWVkaWNhbFVzZXJHcm91cHMgPSB0aGlzLm1lZGljYWxVc2VyR3JvdXBzO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnRhZ0NhdGVnb3J5ID0gdGhpcy50YWdDYXRlZ29yeTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5kaXNwbGF5UmVhZFdyaXRlQWNjZXNzID0gdGhpcy5kaXNwbGF5UmVhZFdyaXRlQWNjZXNzO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnRhZ1JlZmVyZW5jZVRhYmxlID0gdGhpcy50YWdSZWZlcmVuY2VUYWJsZTtcclxuICAgICAgICB0aGlzLl9wb3B1cC5pbnN0YW5jZS5wdWJsaWNhdGlvbklkcyA9IFJlZkNvZGVVdGlscy5HZXRNdWx0aVJlZkNvZGVDaG9pY2VzKHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucHVibGljYXRpb24pO1xyXG4gICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnN0b3JlR3JvdXBJZHMgPSB0aGlzLmRvY3VtZW50VW5kZXJFZGl0LnJldGFpbEZvcm11bGFzO1xyXG5cclxuICAgICAgICB0aGlzLl9wcmVwYXJlRmlsZVJpZ2h0cygpO1xyXG5cclxuICAgICAgICB0aGlzLl9wb3B1cENsb3NlU3ViID0gdGhpcy5fcG9wdXAuaW5zdGFuY2UucG9wdXBDbG9zZUV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX3VubG9ja0RvY3VtZW50KCk7XHJcbiAgICAgICAgICAgIHRoaXMucG9wdXBPcGVuZWRTdGF0ZUNoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wdXBDbG9zZVN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9kb2NDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgdGhpcy5fcG9wdXAuZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9wb3B1cCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgY29udmVydEZpbGVzSW50b0NvRG9jdW1lbnRzKGZpbGVzOiBGaWxlTGlzdCk6IFByb21pc2U8Q29Eb2N1bWVudFtdPiB7XHJcbiAgICAgICAgY29uc3QgYW1vdW50T2ZGaWxlczogbnVtYmVyID0gZmlsZXMubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IGZpbGVzVG9BZGQ6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgYW1vdW50T2ZGaWxlczsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpbGVBc0RvY3VtZW50OiBDb0RvY3VtZW50ID0gYXdhaXQgdGhpcy5fZ2V0RmlsZUFzRG9jdW1lbnQoZmlsZXNbaV0pO1xyXG4gICAgICAgICAgICBmaWxlQXNEb2N1bWVudC5pbmRleCA9IENvRG9jdW1lbnRTaGFyZWRGaWVsZExvZ2ljLkdlbmVyYXRlQXZhaWxhYmxlSW5kZXhOcih0aGlzLmRvY3VtZW50cyB8fCBbXSkgKyBpO1xyXG4gICAgICAgICAgICBmaWxlc1RvQWRkLnB1c2goZmlsZUFzRG9jdW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmlsZXNUb0FkZDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZmlsZXNQaWNrZWQoZmlsZXM6IEZpbGVMaXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBsZXQgYWxsRmlsZXNBcmVWYWxpZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IGFtb3VudE9mRmlsZXM6IG51bWJlciA9IGZpbGVzLmxlbmd0aDtcclxuICAgICAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGFtb3VudE9mRmlsZXM7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKCFGaWxlVXRpbHMuQ2hlY2tNYXhVcGxvYWRTaXplKGZpbGVzW2ldLCB0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGxGaWxlc0FyZVZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghYWxsRmlsZXNBcmVWYWxpZCkge1xyXG4gICAgICAgICAgICAgIC8vVE9ETyBtYWtlIGRpYWxvZ1NlcnZpY2VcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5fcHJvbXB0U2VydmljZS5zaG93V2FybmluZyh0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5nZXQoXCJGSUxFX1RPT19MQVJHRV9UT19VUExPQURcIiwgdHJ1ZSwgXCJcIiArIEZpbGVVdGlscy5nZXRNYXhVcGxvYWRTaXplSW5NYih0aGlzLl9tYXhVcGxvYWRGaWxlU2l6ZSkudG9TdHJpbmcoKSkpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmlsZXNUb0FkZDogQ29Eb2N1bWVudFtdID0gYXdhaXQgdGhpcy5jb252ZXJ0RmlsZXNJbnRvQ29Eb2N1bWVudHMoZmlsZXMpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChmaWxlc1RvQWRkLmxlbmd0aCA+IDEgfHwgdGhpcy51c2VXaXRob3V0U2V0dGluZ1Byb3BzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGRlZC5lbWl0KGZpbGVzVG9BZGQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gZmlsZXNUb0FkZFswXTsgLy8gU2V0dGluZyBkb2NVbmRlckVkaXQgb3BlbnMgdGhlIHBvcHVwIHdpbmRvd1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUFjY2VwdGVkRmlsZVR5cGVzTG9hZGVkKHZhbHVlOiBGaWxlVHlwZSk6IHZvaWQge1xyXG4gICAgICAgIC8vVE9ETyBmaXggbG9hZGluZ1xyXG4gICAgICAgIC8vdGhpcy5hY2NlcHRlZFVwbG9hZEZvcm1hdHMgPSB0aGlzLl9jb0RvY3VtZW50RGF0YUxvYWRlci5nZXRBbGxvd2VkRXh0ZW5zaW9uc0ZvclR5cGUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX2dldEZpbGVBc0RvY3VtZW50KGZpbGU6IEZpbGUpOiBQcm9taXNlPENvRG9jdW1lbnQ+IHtcclxuICAgICAgICBjb25zdCBmaWxlQXNDb0RvY3VtZW50OiBDb0RvY3VtZW50ID0gYXdhaXQgRmlsZVV0aWxzLlJlYWRGaWxlQXNOZXdDb0RvY3VtZW50KGZpbGUsIHRoaXMucmVzaXplSW1hZ2VzKTtcclxuICAgICAgICAvLyBzZXQgc29tZSBleHRyYSBrbm93biBmaWVsZHMgZm9yIHRoZSBjb2RvY3VtZW50OlxyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQudGFibGUgPSB0aGlzLmRvY3VtZW50VGFibGU7XHJcbiAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5rZXkgPSB0aGlzLmRvY3VtZW50S2V5O1xyXG4gICAgICAgIC8vVE9ETyBmaXggYWRkIHVzZXJzXHJcbiAgICAgICAgLy9maWxlQXNDb0RvY3VtZW50LmNyZWF0aW9uVXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXJOYW1lLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgLy9maWxlQXNDb0RvY3VtZW50Lm1vZGlmaWVkVXNlciA9IHRoaXMuX3VzZXJTZXJ2aWNlLnVzZXJOYW1lLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgZmlsZUFzQ29Eb2N1bWVudC5jcmVhdGlvbkRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIGZpbGVBc0NvRG9jdW1lbnQubW9kaWZpZWREYXRlID0gbmV3IERhdGUoKTtcclxuICAgICAgICBmaWxlQXNDb0RvY3VtZW50LmZpbGVUeXBlID0gdGhpcy5maWxlVHlwZSA/IHRoaXMuZmlsZVR5cGUgOiBGaWxlVXRpbHMuSXNJbWFnZUZpbGUoZmlsZSkgPyBGaWxlVHlwZS5JbWFnZSA6IEZpbGVUeXBlLkRvY3VtZW50O1xyXG5cclxuICAgICAgICBpZiAoZmlsZUFzQ29Eb2N1bWVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmlsZUFzQ29Eb2N1bWVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhc3luYyBfc2V0SW50ZXJuYWxQYXJhbU9iaih2YWx1ZTogSW50ZXJuYWxQYXJhbSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIC8vVE9ETyBmaXggcGFyYW1zXHJcbiAgICAgICAgLy9jb25zdCBwYXJhbTogSW50ZXJuYWxQYXJhbWV0ZXJPYmplY3QgPSBhd2FpdCB0aGlzLl9nZW5lcmFsRGFsUmVwb3NpdG9yeS5nZXRJbnRlcm5hbFBhcmFtT2JqZWN0KHZhbHVlKTtcclxuICAgICAgICAvL3RoaXMuX21heFVwbG9hZEZpbGVTaXplID0gaXNOYU4ocGFyc2VJbnQocGFyYW0udmFsdWUsIDApKSA/IHVuZGVmaW5lZCA6IHBhcnNlSW50KHBhcmFtLnZhbHVlLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIF9sb2NrRG9jdW1lbnQoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50VW5kZXJFZGl0LmRvY3VtZW50SWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7IC8vIE5ldyBkb2N1bWVudCBkb2VzIG5vdCBoYXZlIGFuIElEIGFuZCB0aGVyZWZvcmUgZG9lcyBub3QgaGF2ZSB0byBiZSBsb2NrZWRcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGxvY2tPazogYm9vbGVhbiA9IGF3YWl0IHRoaXMubG9ja09wZXJhdGlvbihDb0RvY3VtZW50KTtcclxuICAgICAgICByZXR1cm4gbG9ja09rO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgX3VubG9ja0RvY3VtZW50KCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICBpZiAoIXRoaXMuZG9jdW1lbnRVbmRlckVkaXQuZG9jdW1lbnRJZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBOZXcgZG9jdW1lbnQgZG9lcyBub3QgaGF2ZSBhbiBJRCBhbmQgdGhlcmVmb3JlIGRvZXMgbm90IGhhdmUgdG8gYmUgbG9ja2VkXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHVubG9ja09rOiBib29sZWFuID0gYXdhaXQgdGhpcy51bmxvY2tPcGVyYXRpb24oQ29Eb2N1bWVudCk7XHJcbiAgICAgIHJldHVybiB1bmxvY2tPaztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9wcmVwYXJlRmlsZVJpZ2h0cygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBsZW46IG51bWJlciA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzLmxlbmd0aDtcclxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgcmlnaHQ6IENvRG9jdW1lbnRSaWdodCA9IHRoaXMuZG9jdW1lbnRVbmRlckVkaXQucmlnaHRzW2ldO1xyXG4gICAgICAgICAgICBpZiAocmlnaHQucmlnaHRMZXZlbCA9PT0gT2JqZWN0UmlnaHRUeXBlLlJlYWRXcml0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fcG9wdXAuaW5zdGFuY2UudXNlckdyb3Vwc0ZvcldyaXRlLnB1c2gocmlnaHQudXNlckdyb3VwSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChyaWdodC5yaWdodExldmVsID09PSBPYmplY3RSaWdodFR5cGUuUmVhZE9ubHkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcHVwLmluc3RhbmNlLnVzZXJHcm91cHNGb3JSZWFkLnB1c2gocmlnaHQudXNlckdyb3VwSWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -28,7 +28,7 @@ export class FormBuilderUserFormComponent {
28
28
  this.showPopup = false;
29
29
  this.readonly = false;
30
30
  this.enableQuestions = true;
31
- this.objectId = 0;
31
+ this.lineUUID = "";
32
32
  this.cancelForm = new EventEmitter();
33
33
  this.saveForm = new EventEmitter();
34
34
  this.definitiveChange = new EventEmitter();
@@ -163,35 +163,18 @@ export class FormBuilderUserFormComponent {
163
163
  }
164
164
  handleDefinitiveChange(definitive) {
165
165
  this.formResponse.isFinal = definitive;
166
- this.definitiveChange.next({ value: definitive, id: this.objectId });
166
+ this.definitiveChange.next({ value: definitive, lineUUID: this.lineUUID });
167
167
  }
168
168
  commitUserForm() {
169
169
  FormUtils.MergeResponseWithForm(this.cloneForm, this.formResponse);
170
- this.formResponse.table = this.table;
171
- this.formResponse.key = this.key;
172
170
  switch (this.mode) {
173
171
  case UserFormMode.Create:
174
- this._sharedConnectorService.insertFormResponse(this.formResponse).then((response) => {
175
- if (response && response.responseId) {
176
- this.saveForm.next(response);
177
- this.handleCancelForm();
178
- }
179
- else {
180
- this.errorMessage.emit('ERROR_INSERT_FORM_RESPONSE');
181
- }
182
- });
183
- this.createNewFormResponse.next(this.formResponse);
172
+ this.saveForm.next(this.formResponse);
173
+ this.handleCancelForm();
184
174
  break;
185
175
  case UserFormMode.Edit:
186
- this._sharedConnectorService.updateFormResponse(this.formResponse).then((response) => {
187
- if (response && response.responseId) {
188
- this.saveForm.next(response);
189
- this.handleCancelForm();
190
- }
191
- else {
192
- this.errorMessage.emit('ERROR_SAVING_FORM_RESPONSE');
193
- }
194
- });
176
+ this.saveForm.next(this.formResponse);
177
+ this.handleCancelForm();
195
178
  break;
196
179
  }
197
180
  }
@@ -269,7 +252,7 @@ FormBuilderUserFormComponent.propDecorators = {
269
252
  key: [{ type: Input }],
270
253
  readonly: [{ type: Input }],
271
254
  enableQuestions: [{ type: Input }],
272
- objectId: [{ type: Input }],
255
+ lineUUID: [{ type: Input }],
273
256
  cancelForm: [{ type: Output }],
274
257
  saveForm: [{ type: Output }],
275
258
  definitiveChange: [{ type: Output }],
@@ -280,4 +263,4 @@ FormBuilderUserFormComponent.propDecorators = {
280
263
  __decorate([
281
264
  InputBoolean()
282
265
  ], FormBuilderUserFormComponent.prototype, "readonly", void 0);
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9mb3JtLWJ1aWxkZXItdXNlci1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV4RSxPQUFPLEVBQUMscUJBQXFCLEVBQTRCLE1BQU0sdUNBQXVDLENBQUM7QUFJdkcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBNERqRixNQUFNLE9BQU8sNEJBQTRCO0lBeUV2QyxZQUNVLFlBQStCLEVBQy9CLFVBQWlDLEVBQ2pDLGtCQUFxQyxFQUNyQyx1QkFBK0MsRUFDaEQsZ0JBQWtDO1FBSmpDLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUMvQixlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFDaEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTVFM0IscUJBQWdCLEdBQTRCLGdCQUFnQixDQUFDO1FBQzdELGNBQVMsR0FBcUIsU0FBUyxDQUFDO1FBQ3hDLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBRW5DLFNBQUksR0FBaUIsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQVE3QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBd0IzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBR2hDLGFBQVEsR0FBVyxDQUFDLENBQUM7UUFHWixlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUQsYUFBUSxHQUErQixJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUd4RSxxQkFBZ0IsR0FBaUQsSUFBSSxZQUFZLEVBQWtDLENBQUM7UUFHcEgsMEJBQXFCLEdBQStCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBR3JGLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekUsY0FBUyxHQUFTLHFCQUFxQixDQUFDO0lBa0IvQyxDQUFDO0lBL0RELElBQ1csSUFBSSxDQUFDLElBQVU7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUEyQ00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVdELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsUUFBc0IsRUFBRSxNQUFvQztRQUNyRixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUM5QixNQUFNLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUM7U0FDeEU7UUFDRCxNQUFNLFlBQVksR0FBVyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDdEYsTUFBTSxZQUFZLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0csSUFBSSxZQUFZLEdBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxZQUFZLENBQUMsQ0FBQztTQUNsRjtRQUNELElBQUksWUFBWSxFQUFFO1lBQ2hCLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztTQUMzQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVksZ0JBQWdCOztZQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0JBQzdDLElBQUk7b0JBQ0YsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDakY7Z0JBQUMsT0FBTyxDQUFNLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQVMsQ0FBQyxDQUFDLENBQUM7aUJBQ25DO2FBQ0Y7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUM7S0FBQTtJQUVNLHFCQUFxQixDQUFDLEdBQWU7UUFDMUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsR0FBZTtRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLG9CQUFvQixDQUFDLElBQWtCO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFvQixFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVhLGVBQWU7OztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLFVBQVUsQ0FBQSxFQUFFO2dCQUM5QixJQUFJLENBQUMsWUFBWSxHQUFpQixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNqQyxTQUFTLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSTtvQkFDRixNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUMvRTtnQkFBQyxPQUFPLENBQU0sRUFBRTtvQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDbkM7YUFDRjtZQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3pCOztLQUNGO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLEdBQWlCLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RyxTQUFTLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzFDLE1BQU0sWUFBWSxHQUFpQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7aUJBQzNDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2lCQUMvQjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFlLEVBQUUsRUFBRTtZQUN0RCxJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFO29CQUN2RixHQUFHLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxVQUFtQjtRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTSxjQUFjO1FBQ25CLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDakMsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssWUFBWSxDQUFDLE1BQU07Z0JBQ3RCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBc0IsRUFBRSxFQUFFO29CQUNqRyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFO3dCQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDN0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7cUJBQ3pCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUM7cUJBQ3REO2dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNuRCxNQUFNO1lBQ1IsS0FBSyxZQUFZLENBQUMsSUFBSTtnQkFDcEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFzQixFQUFFLEVBQUU7b0JBQ2pHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUU7d0JBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO3dCQUM3QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztxQkFDekI7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztxQkFDdEQ7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtTQUNUO0lBQ0gsQ0FBQzs7O1lBOVJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE1RU8saUJBQWlCO1lBWWpCLHFCQUFxQjtZQVpyQixpQkFBaUI7WUFpQmpCLHNCQUFzQjtZQUZ0QixnQkFBZ0I7OzttQ0F5RXJCLFNBQVMsU0FBQyxzQkFBc0I7d0JBR2hDLEtBQUs7bUJBR0wsS0FBSzt1QkFXTCxLQUFLO29CQUdMLEtBQUs7a0JBR0wsS0FBSzt1QkFHTCxLQUFLOzhCQUlMLEtBQUs7dUJBR0wsS0FBSzt5QkFHTCxNQUFNO3VCQUdOLE1BQU07K0JBR04sTUFBTTtvQ0FHTixNQUFNOzJCQUdOLE1BQU07d0JBU04sV0FBVyxTQUFDLGlDQUFpQzs7QUE3QjlDO0lBREMsWUFBWSxFQUFFOzhEQUNrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtUXVlc3Rpb25UeXBlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL2Zvcm0tcXVlc3Rpb24udHlwZSc7XHJcbmltcG9ydCB7VGFibGVOYW1lfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3RhYmxlLW5hbWUuZW51bSc7XHJcbmltcG9ydCB7Rm9ybX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS5ibyc7XHJcbmltcG9ydCB7Rm9ybVJlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9mb3JtLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gJy4uLy4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvcic7XHJcbmltcG9ydCB7Rm9ybVF1ZXN0aW9ufSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9mb3JtLXF1ZXN0aW9uLmJvJztcclxuaW1wb3J0IHtOVUxMX0ZPUk1fRlVMTF9PQkpFQ1QsIE5VTExfRk9STV9SRVNQT05TRV9PQkpFQ1R9IGZyb20gJy4uLy4uLy4uL21vZGVsL3V0aWwvZm9ybXMtbnVsbC1vYmplY3QnO1xyXG5pbXBvcnQge0Zvcm1RdWVzdGlvbkFuc3dlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1xdWVzdGlvbi1hbnN3ZXIuYm8nO1xyXG5pbXBvcnQge0Zvcm1RdWVzdGlvblJlc3BvbnNlfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9mb3JtLXF1ZXN0aW9uLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudC5ibyc7XHJcbmltcG9ydCB7QXJyYXlVdGlsc30gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYXJyYXktdXRpbHMnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvc2VydmljZS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeSc7XHJcbmltcG9ydCB7Rm9ybVV0aWxzfSBmcm9tICcuLi8uLi8uLi91dGlscy9mb3JtLXV0aWxzJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1VzZXJGb3JtTW9kZX0gZnJvbSAnLi4vLi4vLi4vZW51bS91c2VyLWZvcm0tbW9kZS5lbnVtJztcclxuaW1wb3J0IHtTaGFyZWRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3NoYXJlZC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7RmlsZXNVcGxvYWRDb21wb25lbnR9IGZyb20gJy4uLy4uL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHtQcm9tcHRTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtWYWxpZGF0aW9uRXJyb3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWZvcm0tYnVpbGRlci11c2VyLWZvcm0nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1kaWFsb2cgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCIgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCIgKGNsb3NlQ2xpY2spPVwiaGFuZGxlQ2FuY2VsRm9ybSgpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCIgI3NlY3Rpb25XcmFwcGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tZm9ybSAjY29Gb3JtICh2YWxpZFN1Ym1pdCk9XCJvblZhbGlkKClcIiBba2VlcEluVmlld109XCJzZWN0aW9uV3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcXVlc3Rpb24gb2YgY2xvbmVGb3JtLnF1ZXN0aW9uczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y28tZm9ybS1idWlsZGVyLXF1ZXN0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbkluZGV4XT1cImluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbl09XCJxdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlXT1cImZvcm0ucXVlc3Rpb25zLmluZGV4T2YocXVlc3Rpb24pID09PSBmb3JtLnF1ZXN0aW9ucy5pbmRleE9mKGFjdGl2ZVF1ZXN0aW9uKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhmb3JtUmVzcG9uc2UpXT1cImZvcm1SZXNwb25zZS5mb3JtUXVlc3Rpb25SZXNwb25zZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVwZGF0ZVF1ZXN0aW9uKT1cImVuYWJsZWROZXh0UXVlc3Rpb24oJGV2ZW50LnF1ZXN0aW9uLCAkZXZlbnQuYW5zd2VyKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY28tZm9ybS1idWlsZGVyLXF1ZXN0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvY28tZm9ybT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbi13cmFwcGVyIG1pbmktc2Nyb2xsYmFyXCIgI3NlY3Rpb25XcmFwcGVyPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW21vZGVsXT1cImZvcm1SZXNwb25zZT8uaXNGaW5hbFwiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEZWZpbml0aXZlQ2hhbmdlKCRldmVudClcIiBbbGFiZWxdPVwiJ0RFRklOSVRJVkUnIHwgc2hhcmVkTG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLXRpdGxlXCIgW3RleHRDb250ZW50XT1cImZvcm0/LmZvcm1OYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudHMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiBhY2NlcHQ9XCJpbWFnZS8qXCIgY2FwdHVyZT1cImVudmlyb25tZW50XCIgKGNoYW5nZSk9XCJoYW5kbGVEb2N1bWVudHNBZGRlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28tZmlsZXMtdXBsb2FkICNmaWxlc1VwbG9hZENvbXBvbmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNvLWZpbGVzLXVwbG9hZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkb2N1bWVudHNdPVwiZm9ybVJlc3BvbnNlLmRvY3VtZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkb2N1bWVudHNBZGRlZCk9XCJoYW5kbGVEb2N1bWVudHNBZGRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvY3VtZW50Q2hhbmdlRXZlbnQpPVwiaGFuZGxlRG9jdW1lbnRDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9jdW1lbnREZWxldGVkKT1cImhhbmRsZURvY3VtZW50RGVsZXRlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgID48L2NvLWZpbGVzLXVwbG9hZD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIiAoY2xpY2spPVwiY29tbWl0VXNlckZvcm0oKVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIiAoY2xpY2spPVwiaGFuZGxlQ2FuY2VsRm9ybSgpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUJ1aWxkZXJVc2VyRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBmb3JtUXVlc3Rpb25UeXBlOiB0eXBlb2YgRm9ybVF1ZXN0aW9uVHlwZSA9IEZvcm1RdWVzdGlvblR5cGU7XHJcbiAgcHVibGljIHJlYWRvbmx5IFRhYmxlTmFtZTogdHlwZW9mIFRhYmxlTmFtZSA9IFRhYmxlTmFtZTtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgcHVibGljIG1vZGU6IFVzZXJGb3JtTW9kZSA9IFVzZXJGb3JtTW9kZS5DcmVhdGU7XHJcbiAgcHVibGljIGRvY3VtZW50czogQ29Eb2N1bWVudFtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2Zvcm06IEZvcm07XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVzVXBsb2FkQ29tcG9uZW50JylcclxuICBwdWJsaWMgZmlsZXNVcGxvYWRDb21wb25lbnQ6IEZpbGVzVXBsb2FkQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGZvcm0oZm9ybTogRm9ybSkge1xyXG4gICAgdGhpcy5fZm9ybSA9IGZvcm07XHJcbiAgICB0aGlzLl9wcmVwYXJlTmV3Rm9ybSgpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmb3JtKCk6IEZvcm0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm07XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VyRm9ybTogRm9ybVJlc3BvbnNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0YWJsZTogVGFibGVOYW1lO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBrZXk6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBASW5wdXRCb29sZWFuKClcclxuICBwdWJsaWMgcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW5hYmxlUXVlc3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb2JqZWN0SWQ6IG51bWJlciA9IDA7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjYW5jZWxGb3JtOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBzYXZlRm9ybTogRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1SZXNwb25zZT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IGRlZmluaXRpdmVDaGFuZ2U6IEV2ZW50RW1pdHRlcjx7IHZhbHVlOiBib29sZWFuLCBpZDogbnVtYmVyIH0+ID0gbmV3IEV2ZW50RW1pdHRlcjx7IHZhbHVlOiBib29sZWFuLCBpZDogbnVtYmVyIH0+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVOZXdGb3JtUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxGb3JtUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtUmVzcG9uc2U+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBlcnJvck1lc3NhZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHB1YmxpYyBjbG9uZUZvcm06IEZvcm0gPSBOVUxMX0ZPUk1fRlVMTF9PQkpFQ1Q7XHJcbiAgcHVibGljIGZvcm1SZXNwb25zZTogRm9ybVJlc3BvbnNlO1xyXG5cclxuICBwdWJsaWMgYWN0aXZlUXVlc3Rpb246IEZvcm1RdWVzdGlvbjtcclxuICBwdWJsaWMgZ290b1F1ZXN0aW9uOiBudW1iZXI7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tZm9ybS1idWlsZGVyLXVzZXItZm9ybScpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSxcclxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3NoYXJlZENvbm5lY3RvclNlcnZpY2U6IFNoYXJlZENvbm5lY3RvclNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXRlY3RvclJlZiA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbmFibGVkTmV4dFF1ZXN0aW9uKHF1ZXN0aW9uOiBGb3JtUXVlc3Rpb24sIGFuc3dlcj86IEZvcm1RdWVzdGlvbkFuc3dlciB8IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVRdWVzdGlvbiA9IHF1ZXN0aW9uO1xyXG4gICAgaWYgKHR5cGVvZiBhbnN3ZXIgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIGFuc3dlciA9IHF1ZXN0aW9uLmZvcm1RdWVzdGlvbkFuc3dlcnMuZmluZChhID0+IGEuYW5zd2VySWQgPT09IGFuc3dlcik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBnb3RvUXVlc3Rpb246IG51bWJlciA9IGFuc3dlciA/IGFuc3dlci5nb3RvUXVlc3Rpb25JZCA6IHF1ZXN0aW9uLmdvdG9RdWVzdGlvbklkO1xyXG4gICAgY29uc3QgY3VycmVudEluZGV4OiBudW1iZXIgPSB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnMuZmluZEluZGV4KHEgPT4gcS5xdWVzdGlvbklkID09PSBxdWVzdGlvbi5xdWVzdGlvbklkKTtcclxuICAgIGxldCBuZXh0UXVlc3Rpb246IEZvcm1RdWVzdGlvbiA9IHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9uc1tjdXJyZW50SW5kZXggKyAxXTtcclxuICAgIGlmIChnb3RvUXVlc3Rpb24pIHtcclxuICAgICAgbmV4dFF1ZXN0aW9uID0gdGhpcy5jbG9uZUZvcm0ucXVlc3Rpb25zLmZpbmQocSA9PiBxLnF1ZXN0aW9uSWQgPT09IGdvdG9RdWVzdGlvbik7XHJcbiAgICB9XHJcbiAgICBpZiAobmV4dFF1ZXN0aW9uKSB7XHJcbiAgICAgIG5leHRRdWVzdGlvbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5nb3RvUXVlc3Rpb24gPSBuZXh0UXVlc3Rpb24uc2VxdWVuY2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdvdG9RdWVzdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblZhbGlkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zYXZlRm9ybS5uZXh0KHRoaXMuZm9ybVJlc3BvbnNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDYW5jZWxGb3JtKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMudXNlckZvcm0gJiYgdGhpcy51c2VyRm9ybS5yZXNwb25zZUlkKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5fc2hhcmVkQ29ubmVjdG9yU2VydmljZS51bmxvY2tGb3JtUmVzcG9uc2UodGhpcy51c2VyRm9ybS5yZXNwb25zZUlkKTtcclxuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UuZW1pdCg8c3RyaW5nPmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsb25lRm9ybSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMudXNlckZvcm0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuY2FuY2VsRm9ybS5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRG9jdW1lbnREZWxldGVkKGRvYzogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgQXJyYXlVdGlscy5SZW1vdmVFbGVtZW50KGRvYywgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEb2N1bWVudENoYW5nZWQoZG9jOiBDb0RvY3VtZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZS5kb2N1bWVudHMucHVzaChkb2MpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURvY3VtZW50c0FkZGVkKGRvY3M6IENvRG9jdW1lbnRbXSk6IHZvaWQge1xyXG4gICAgZG9jcy5mb3JFYWNoKChkb2N1bWVudDogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS5kb2N1bWVudHMucHVzaChkb2N1bWVudCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3ByZXBhcmVOZXdGb3JtKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5jbG9uZUZvcm0gPSA8Rm9ybT50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShGb3JtLCB0aGlzLmZvcm0pO1xyXG4gICAgaWYgKCF0aGlzLnVzZXJGb3JtPy5yZXNwb25zZUlkKSB7XHJcbiAgICAgIHRoaXMuZm9ybVJlc3BvbnNlID0gPEZvcm1SZXNwb25zZT50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShGb3JtUmVzcG9uc2UsIHRoaXMudXNlckZvcm0pO1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS5mb3JtSWQgPSB0aGlzLmZvcm0uZm9ybUlkO1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS50YWJsZSA9IHRoaXMudGFibGU7XHJcbiAgICAgIHRoaXMuZm9ybVJlc3BvbnNlLmtleSA9IHRoaXMua2V5O1xyXG4gICAgICBGb3JtVXRpbHMuTWVyZ2VSZXNwb25zZVdpdGhGb3JtKHRoaXMuY2xvbmVGb3JtLCB0aGlzLmZvcm1SZXNwb25zZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1vZGUgPSBVc2VyRm9ybU1vZGUuRWRpdDtcclxuICAgICAgdGhpcy5fcHJlcGFyZUV4aXN0aW5nRm9ybSgpO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3NoYXJlZENvbm5lY3RvclNlcnZpY2UubG9ja0Zvcm1SZXNwb25zZSh0aGlzLnVzZXJGb3JtLnJlc3BvbnNlSWQpO1xyXG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZS5lbWl0KDxzdHJpbmc+ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9sb2FkRG9jcygpO1xyXG4gICAgaWYgKHRoaXMuZW5hYmxlUXVlc3Rpb25zKSB7XHJcbiAgICAgIHRoaXMuX2VuYWJsZVF1ZXN0aW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZUV4aXN0aW5nRm9ybSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvbmVGb3JtID0gPEZvcm0+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybSwgdGhpcy5mb3JtKTtcclxuICAgIHRoaXMuZm9ybVJlc3BvbnNlID0gPEZvcm1SZXNwb25zZT50aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShGb3JtUmVzcG9uc2UsIHRoaXMudXNlckZvcm0pO1xyXG4gICAgRm9ybVV0aWxzLk1lcmdlUmVzcG9uc2VXaXRoRm9ybSh0aGlzLmNsb25lRm9ybSwgdGhpcy5mb3JtUmVzcG9uc2UpO1xyXG5cclxuICAgIGlmICh0aGlzLmVuYWJsZVF1ZXN0aW9ucykge1xyXG4gICAgICB0aGlzLl9lbmFibGVRdWVzdGlvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2VuYWJsZVF1ZXN0aW9ucygpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgY3VycmVudEluZGV4IGluIHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9ucykge1xyXG4gICAgICBpZiAodGhpcy5jbG9uZUZvcm0ucXVlc3Rpb25zW2N1cnJlbnRJbmRleF0pIHtcclxuICAgICAgICBjb25zdCBuZXh0UXVlc3Rpb246IEZvcm1RdWVzdGlvbiA9IHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9uc1tjdXJyZW50SW5kZXhdO1xyXG4gICAgICAgIGlmIChuZXh0UXVlc3Rpb24pIHtcclxuICAgICAgICAgIG5leHRRdWVzdGlvbi5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZ290b1F1ZXN0aW9uID0gbmV4dFF1ZXN0aW9uLnNlcXVlbmNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmdvdG9RdWVzdGlvbiA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWREb2NzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1SZXNwb25zZS5kb2N1bWVudHMpIHtcclxuICAgICAgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZS5kb2N1bWVudHMuZm9yRWFjaCgoZG9jOiBDb0RvY3VtZW50KSA9PiB7XHJcbiAgICAgIGlmIChkb2MuZG9jdW1lbnRJZCAmJiAhZG9jLmRvY3VtZW50Qm9keSkge1xyXG4gICAgICAgIHRoaXMuX3NoYXJlZENvbm5lY3RvclNlcnZpY2UuZ2V0RG9jdW1lbnRDb250ZW50KGRvYy5kb2N1bWVudElkKS50aGVuKChjb250ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgIGRvYy5kb2N1bWVudEJvZHkgPSBjb250ZW50O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWZpbml0aXZlQ2hhbmdlKGRlZmluaXRpdmU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZm9ybVJlc3BvbnNlLmlzRmluYWwgPSBkZWZpbml0aXZlO1xyXG4gICAgdGhpcy5kZWZpbml0aXZlQ2hhbmdlLm5leHQoe3ZhbHVlOiBkZWZpbml0aXZlLCBpZDogdGhpcy5vYmplY3RJZH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdFVzZXJGb3JtKCkge1xyXG4gICAgRm9ybVV0aWxzLk1lcmdlUmVzcG9uc2VXaXRoRm9ybSh0aGlzLmNsb25lRm9ybSwgdGhpcy5mb3JtUmVzcG9uc2UpO1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2Uua2V5ID0gdGhpcy5rZXk7XHJcbiAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xyXG4gICAgICBjYXNlIFVzZXJGb3JtTW9kZS5DcmVhdGU6XHJcbiAgICAgICAgdGhpcy5fc2hhcmVkQ29ubmVjdG9yU2VydmljZS5pbnNlcnRGb3JtUmVzcG9uc2UodGhpcy5mb3JtUmVzcG9uc2UpLnRoZW4oKHJlc3BvbnNlOiBGb3JtUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5yZXNwb25zZUlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZvcm0ubmV4dChyZXNwb25zZSk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsRm9ybSgpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UuZW1pdCgnRVJST1JfSU5TRVJUX0ZPUk1fUkVTUE9OU0UnKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNyZWF0ZU5ld0Zvcm1SZXNwb25zZS5uZXh0KHRoaXMuZm9ybVJlc3BvbnNlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBVc2VyRm9ybU1vZGUuRWRpdDpcclxuICAgICAgICB0aGlzLl9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlLnVwZGF0ZUZvcm1SZXNwb25zZSh0aGlzLmZvcm1SZXNwb25zZSkudGhlbigocmVzcG9uc2U6IEZvcm1SZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3BvbnNlSWQpIHtcclxuICAgICAgICAgICAgdGhpcy5zYXZlRm9ybS5uZXh0KHJlc3BvbnNlKTtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVDYW5jZWxGb3JtKCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZS5lbWl0KCdFUlJPUl9TQVZJTkdfRk9STV9SRVNQT05TRScpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9mb3JtLWJ1aWxkZXIvZm9ybS1idWlsZGVyLXVzZXItZm9ybS9mb3JtLWJ1aWxkZXItdXNlci1mb3JtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQzVFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUV4RSxPQUFPLEVBQUMscUJBQXFCLEVBQTRCLE1BQU0sdUNBQXVDLENBQUM7QUFJdkcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBNERqRixNQUFNLE9BQU8sNEJBQTRCO0lBeUV2QyxZQUNVLFlBQStCLEVBQy9CLFVBQWlDLEVBQ2pDLGtCQUFxQyxFQUNyQyx1QkFBK0MsRUFDaEQsZ0JBQWtDO1FBSmpDLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUMvQixlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFDaEQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTVFM0IscUJBQWdCLEdBQTRCLGdCQUFnQixDQUFDO1FBQzdELGNBQVMsR0FBcUIsU0FBUyxDQUFDO1FBQ3hDLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBRW5DLFNBQUksR0FBaUIsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUN6QyxjQUFTLEdBQWlCLEVBQUUsQ0FBQztRQVE3QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBd0IzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRzFCLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBR2hDLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFHYixlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFHMUQsYUFBUSxHQUErQixJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUd4RSxxQkFBZ0IsR0FBdUQsSUFBSSxZQUFZLEVBQXdDLENBQUM7UUFHaEksMEJBQXFCLEdBQStCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBR3JGLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekUsY0FBUyxHQUFTLHFCQUFxQixDQUFDO0lBa0IvQyxDQUFDO0lBL0RELElBQ1csSUFBSSxDQUFDLElBQVU7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUEyQ00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVdELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsUUFBc0IsRUFBRSxNQUFvQztRQUNyRixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQztRQUMvQixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUM5QixNQUFNLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUM7U0FDeEU7UUFDRCxNQUFNLFlBQVksR0FBVyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDdEYsTUFBTSxZQUFZLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0csSUFBSSxZQUFZLEdBQWlCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsS0FBSyxZQUFZLENBQUMsQ0FBQztTQUNsRjtRQUNELElBQUksWUFBWSxFQUFFO1lBQ2hCLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQztTQUMzQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVksZ0JBQWdCOztZQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7Z0JBQzdDLElBQUk7b0JBQ0YsTUFBTSxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDakY7Z0JBQUMsT0FBTyxDQUFNLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQVMsQ0FBQyxDQUFDLENBQUM7aUJBQ25DO2FBQ0Y7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3pCLENBQUM7S0FBQTtJQUVNLHFCQUFxQixDQUFDLEdBQWU7UUFDMUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0scUJBQXFCLENBQUMsR0FBZTtRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLG9CQUFvQixDQUFDLElBQWtCO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFvQixFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVhLGVBQWU7OztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFTLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxRQUFRLDBDQUFFLFVBQVUsQ0FBQSxFQUFFO2dCQUM5QixJQUFJLENBQUMsWUFBWSxHQUFpQixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3RHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNqQyxTQUFTLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDcEU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDNUIsSUFBSTtvQkFDRixNQUFNLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUMvRTtnQkFBQyxPQUFPLENBQU0sRUFBRTtvQkFDZixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDbkM7YUFDRjtZQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQ3pCOztLQUNGO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQVMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxZQUFZLEdBQWlCLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0RyxTQUFTLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbkUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzFDLE1BQU0sWUFBWSxHQUFpQixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxZQUFZLEVBQUU7b0JBQ2hCLFlBQVksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO29CQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7aUJBQzNDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO2lCQUMvQjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7U0FDbEM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFlLEVBQUUsRUFBRTtZQUN0RCxJQUFJLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFO2dCQUN2QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFO29CQUN2RixHQUFHLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxzQkFBc0IsQ0FBQyxVQUFtQjtRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxjQUFjO1FBQ25CLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxZQUFZLENBQUMsTUFBTTtnQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssWUFBWSxDQUFDLElBQUk7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQzVCLE1BQU07U0FDVDtJQUNILENBQUM7OztZQS9RRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtEVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBNUVPLGlCQUFpQjtZQVlqQixxQkFBcUI7WUFackIsaUJBQWlCO1lBaUJqQixzQkFBc0I7WUFGdEIsZ0JBQWdCOzs7bUNBeUVyQixTQUFTLFNBQUMsc0JBQXNCO3dCQUdoQyxLQUFLO21CQUdMLEtBQUs7dUJBV0wsS0FBSztvQkFHTCxLQUFLO2tCQUdMLEtBQUs7dUJBR0wsS0FBSzs4QkFJTCxLQUFLO3VCQUdMLEtBQUs7eUJBR0wsTUFBTTt1QkFHTixNQUFNOytCQUdOLE1BQU07b0NBR04sTUFBTTsyQkFHTixNQUFNO3dCQVNOLFdBQVcsU0FBQyxpQ0FBaUM7O0FBN0I5QztJQURDLFlBQVksRUFBRTs4REFDa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Rm9ybVF1ZXN0aW9uVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9mb3JtLXF1ZXN0aW9uLnR5cGUnO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW0nO1xyXG5pbXBvcnQge0Zvcm19IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2Zvcm0uYm8nO1xyXG5pbXBvcnQge0Zvcm1SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7SW5wdXRCb29sZWFufSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0Zvcm1RdWVzdGlvbn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1xdWVzdGlvbi5ibyc7XHJcbmltcG9ydCB7TlVMTF9GT1JNX0ZVTExfT0JKRUNULCBOVUxMX0ZPUk1fUkVTUE9OU0VfT0JKRUNUfSBmcm9tICcuLi8uLi8uLi9tb2RlbC91dGlsL2Zvcm1zLW51bGwtb2JqZWN0JztcclxuaW1wb3J0IHtGb3JtUXVlc3Rpb25BbnN3ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2Zvcm0tcXVlc3Rpb24tYW5zd2VyLmJvJztcclxuaW1wb3J0IHtGb3JtUXVlc3Rpb25SZXNwb25zZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvZm9ybS1xdWVzdGlvbi1yZXNwb25zZS5ibyc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQge0FycmF5VXRpbHN9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2FycmF5LXV0aWxzJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge0Zvcm1VdGlsc30gZnJvbSAnLi4vLi4vLi4vdXRpbHMvZm9ybS11dGlscyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtVc2VyRm9ybU1vZGV9IGZyb20gJy4uLy4uLy4uL2VudW0vdXNlci1mb3JtLW1vZGUuZW51bSc7XHJcbmltcG9ydCB7U2hhcmVkQ29ubmVjdG9yU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9zaGFyZWQtY29ubmVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ZpbGVzVXBsb2FkQ29tcG9uZW50fSBmcm9tICcuLi8uLi9maWxlcy11cGxvYWQvZmlsZXMtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvbXB0U2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7VmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1mb3JtLWJ1aWxkZXItdXNlci1mb3JtJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tZGlhbG9nIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiIChjbG9zZUNsaWNrKT1cImhhbmRsZUNhbmNlbEZvcm0oKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24td3JhcHBlciBtaW5pLXNjcm9sbGJhclwiICNzZWN0aW9uV3JhcHBlcj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWZvcm0gI2NvRm9ybSAodmFsaWRTdWJtaXQpPVwib25WYWxpZCgpXCIgW2tlZXBJblZpZXddPVwic2VjdGlvbldyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHF1ZXN0aW9uIG9mIGNsb25lRm9ybS5xdWVzdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWZvcm0tYnVpbGRlci1xdWVzdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVdPVwibW9kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcXVlc3Rpb25JbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZV09XCJmb3JtLnF1ZXN0aW9ucy5pbmRleE9mKHF1ZXN0aW9uKSA9PT0gZm9ybS5xdWVzdGlvbnMuaW5kZXhPZihhY3RpdmVRdWVzdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoZm9ybVJlc3BvbnNlKV09XCJmb3JtUmVzcG9uc2UuZm9ybVF1ZXN0aW9uUmVzcG9uc2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1cGRhdGVRdWVzdGlvbik9XCJlbmFibGVkTmV4dFF1ZXN0aW9uKCRldmVudC5xdWVzdGlvbiwgJGV2ZW50LmFuc3dlcilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NvLWZvcm0tYnVpbGRlci1xdWVzdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWZvcm0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb24td3JhcHBlciBtaW5pLXNjcm9sbGJhclwiICNzZWN0aW9uV3JhcHBlcj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFttb2RlbF09XCJmb3JtUmVzcG9uc2U/LmlzRmluYWxcIiAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmaW5pdGl2ZUNoYW5nZSgkZXZlbnQpXCIgW2xhYmVsXT1cIidERUZJTklUSVZFJyB8IHNoYXJlZExvY2FsaXplXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2NvLWRpYWxvZz5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJmb3JtPy5mb3JtTmFtZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgYWNjZXB0PVwiaW1hZ2UvKlwiIGNhcHR1cmU9XCJlbnZpcm9ubWVudFwiIChjaGFuZ2UpPVwiaGFuZGxlRG9jdW1lbnRzQWRkZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWZpbGVzLXVwbG9hZCAjZmlsZXNVcGxvYWRDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjby1maWxlcy11cGxvYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZG9jdW1lbnRzXT1cImZvcm1SZXNwb25zZS5kb2N1bWVudHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9jdW1lbnRzQWRkZWQpPVwiaGFuZGxlRG9jdW1lbnRzQWRkZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkb2N1bWVudENoYW5nZUV2ZW50KT1cImhhbmRsZURvY3VtZW50Q2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvY3VtZW50RGVsZXRlZCk9XCJoYW5kbGVEb2N1bWVudERlbGV0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9jby1maWxlcy11cGxvYWQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCIgKGNsaWNrKT1cImNvbW1pdFVzZXJGb3JtKClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCIgKGNsaWNrKT1cImhhbmRsZUNhbmNlbEZvcm0oKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1CdWlsZGVyVXNlckZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybVF1ZXN0aW9uVHlwZTogdHlwZW9mIEZvcm1RdWVzdGlvblR5cGUgPSBGb3JtUXVlc3Rpb25UeXBlO1xyXG4gIHB1YmxpYyByZWFkb25seSBUYWJsZU5hbWU6IHR5cGVvZiBUYWJsZU5hbWUgPSBUYWJsZU5hbWU7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIHB1YmxpYyBtb2RlOiBVc2VyRm9ybU1vZGUgPSBVc2VyRm9ybU1vZGUuQ3JlYXRlO1xyXG4gIHB1YmxpYyBkb2N1bWVudHM6IENvRG9jdW1lbnRbXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9mb3JtOiBGb3JtO1xyXG5cclxuICBAVmlld0NoaWxkKCdmaWxlc1VwbG9hZENvbXBvbmVudCcpXHJcbiAgcHVibGljIGZpbGVzVXBsb2FkQ29tcG9uZW50OiBGaWxlc1VwbG9hZENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1BvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBmb3JtKGZvcm06IEZvcm0pIHtcclxuICAgIHRoaXMuX2Zvcm0gPSBmb3JtO1xyXG4gICAgdGhpcy5fcHJlcGFyZU5ld0Zvcm0oKTtcclxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZm9ybSgpOiBGb3JtIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlckZvcm06IEZvcm1SZXNwb25zZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGFibGU6IFRhYmxlTmFtZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2V5OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQElucHV0Qm9vbGVhbigpXHJcbiAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVuYWJsZVF1ZXN0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxpbmVVVUlEOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgY2FuY2VsRm9ybTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgc2F2ZUZvcm06IEV2ZW50RW1pdHRlcjxGb3JtUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtUmVzcG9uc2U+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBkZWZpbml0aXZlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8eyB2YWx1ZTogYm9vbGVhbiwgbGluZVVVSUQ6IHN0cmluZyB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyB2YWx1ZTogYm9vbGVhbiwgbGluZVVVSUQ6IHN0cmluZyB9PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlTmV3Rm9ybVJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8Rm9ybVJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybVJlc3BvbnNlPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgZXJyb3JNZXNzYWdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBwdWJsaWMgY2xvbmVGb3JtOiBGb3JtID0gTlVMTF9GT1JNX0ZVTExfT0JKRUNUO1xyXG4gIHB1YmxpYyBmb3JtUmVzcG9uc2U6IEZvcm1SZXNwb25zZTtcclxuXHJcbiAgcHVibGljIGFjdGl2ZVF1ZXN0aW9uOiBGb3JtUXVlc3Rpb247XHJcbiAgcHVibGljIGdvdG9RdWVzdGlvbjogbnVtYmVyO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWZvcm0tYnVpbGRlci11c2VyLWZvcm0nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnksXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlOiBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGV0ZWN0b3JSZWYgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW5hYmxlZE5leHRRdWVzdGlvbihxdWVzdGlvbjogRm9ybVF1ZXN0aW9uLCBhbnN3ZXI/OiBGb3JtUXVlc3Rpb25BbnN3ZXIgfCBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlUXVlc3Rpb24gPSBxdWVzdGlvbjtcclxuICAgIGlmICh0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJykge1xyXG4gICAgICBhbnN3ZXIgPSBxdWVzdGlvbi5mb3JtUXVlc3Rpb25BbnN3ZXJzLmZpbmQoYSA9PiBhLmFuc3dlcklkID09PSBhbnN3ZXIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZ290b1F1ZXN0aW9uOiBudW1iZXIgPSBhbnN3ZXIgPyBhbnN3ZXIuZ290b1F1ZXN0aW9uSWQgOiBxdWVzdGlvbi5nb3RvUXVlc3Rpb25JZDtcclxuICAgIGNvbnN0IGN1cnJlbnRJbmRleDogbnVtYmVyID0gdGhpcy5jbG9uZUZvcm0ucXVlc3Rpb25zLmZpbmRJbmRleChxID0+IHEucXVlc3Rpb25JZCA9PT0gcXVlc3Rpb24ucXVlc3Rpb25JZCk7XHJcbiAgICBsZXQgbmV4dFF1ZXN0aW9uOiBGb3JtUXVlc3Rpb24gPSB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnNbY3VycmVudEluZGV4ICsgMV07XHJcbiAgICBpZiAoZ290b1F1ZXN0aW9uKSB7XHJcbiAgICAgIG5leHRRdWVzdGlvbiA9IHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9ucy5maW5kKHEgPT4gcS5xdWVzdGlvbklkID09PSBnb3RvUXVlc3Rpb24pO1xyXG4gICAgfVxyXG4gICAgaWYgKG5leHRRdWVzdGlvbikge1xyXG4gICAgICBuZXh0UXVlc3Rpb24uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZ290b1F1ZXN0aW9uID0gbmV4dFF1ZXN0aW9uLnNlcXVlbmNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5nb3RvUXVlc3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25WYWxpZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2F2ZUZvcm0ubmV4dCh0aGlzLmZvcm1SZXNwb25zZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ2FuY2VsRm9ybSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnVzZXJGb3JtICYmIHRoaXMudXNlckZvcm0ucmVzcG9uc2VJZCkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuX3NoYXJlZENvbm5lY3RvclNlcnZpY2UudW5sb2NrRm9ybVJlc3BvbnNlKHRoaXMudXNlckZvcm0ucmVzcG9uc2VJZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlLmVtaXQoPHN0cmluZz5lKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jbG9uZUZvcm0gPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnVzZXJGb3JtID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNhbmNlbEZvcm0ubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURvY3VtZW50RGVsZXRlZChkb2M6IENvRG9jdW1lbnQpOiB2b2lkIHtcclxuICAgIEFycmF5VXRpbHMuUmVtb3ZlRWxlbWVudChkb2MsIHRoaXMuZm9ybVJlc3BvbnNlLmRvY3VtZW50cyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRG9jdW1lbnRDaGFuZ2VkKGRvYzogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzLnB1c2goZG9jKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEb2N1bWVudHNBZGRlZChkb2NzOiBDb0RvY3VtZW50W10pOiB2b2lkIHtcclxuICAgIGRvY3MuZm9yRWFjaCgoZG9jdW1lbnQ6IENvRG9jdW1lbnQpID0+IHtcclxuICAgICAgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzLnB1c2goZG9jdW1lbnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9wcmVwYXJlTmV3Rm9ybSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY2xvbmVGb3JtID0gPEZvcm0+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybSwgdGhpcy5mb3JtKTtcclxuICAgIGlmICghdGhpcy51c2VyRm9ybT8ucmVzcG9uc2VJZCkge1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZSA9IDxGb3JtUmVzcG9uc2U+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybVJlc3BvbnNlLCB0aGlzLnVzZXJGb3JtKTtcclxuICAgICAgdGhpcy5mb3JtUmVzcG9uc2UuZm9ybUlkID0gdGhpcy5mb3JtLmZvcm1JZDtcclxuICAgICAgdGhpcy5mb3JtUmVzcG9uc2UudGFibGUgPSB0aGlzLnRhYmxlO1xyXG4gICAgICB0aGlzLmZvcm1SZXNwb25zZS5rZXkgPSB0aGlzLmtleTtcclxuICAgICAgRm9ybVV0aWxzLk1lcmdlUmVzcG9uc2VXaXRoRm9ybSh0aGlzLmNsb25lRm9ybSwgdGhpcy5mb3JtUmVzcG9uc2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tb2RlID0gVXNlckZvcm1Nb2RlLkVkaXQ7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVFeGlzdGluZ0Zvcm0oKTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCB0aGlzLl9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlLmxvY2tGb3JtUmVzcG9uc2UodGhpcy51c2VyRm9ybS5yZXNwb25zZUlkKTtcclxuICAgICAgfSBjYXRjaCAoZTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UuZW1pdCg8c3RyaW5nPmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fbG9hZERvY3MoKTtcclxuICAgIGlmICh0aGlzLmVuYWJsZVF1ZXN0aW9ucykge1xyXG4gICAgICB0aGlzLl9lbmFibGVRdWVzdGlvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVFeGlzdGluZ0Zvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb25lRm9ybSA9IDxGb3JtPnRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEZvcm0sIHRoaXMuZm9ybSk7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZSA9IDxGb3JtUmVzcG9uc2U+dGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRm9ybVJlc3BvbnNlLCB0aGlzLnVzZXJGb3JtKTtcclxuICAgIEZvcm1VdGlscy5NZXJnZVJlc3BvbnNlV2l0aEZvcm0odGhpcy5jbG9uZUZvcm0sIHRoaXMuZm9ybVJlc3BvbnNlKTtcclxuXHJcbiAgICBpZiAodGhpcy5lbmFibGVRdWVzdGlvbnMpIHtcclxuICAgICAgdGhpcy5fZW5hYmxlUXVlc3Rpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9lbmFibGVRdWVzdGlvbnMoKTogdm9pZCB7XHJcbiAgICBmb3IgKGNvbnN0IGN1cnJlbnRJbmRleCBpbiB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnMpIHtcclxuICAgICAgaWYgKHRoaXMuY2xvbmVGb3JtLnF1ZXN0aW9uc1tjdXJyZW50SW5kZXhdKSB7XHJcbiAgICAgICAgY29uc3QgbmV4dFF1ZXN0aW9uOiBGb3JtUXVlc3Rpb24gPSB0aGlzLmNsb25lRm9ybS5xdWVzdGlvbnNbY3VycmVudEluZGV4XTtcclxuICAgICAgICBpZiAobmV4dFF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICBuZXh0UXVlc3Rpb24uYWN0aXZlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmdvdG9RdWVzdGlvbiA9IG5leHRRdWVzdGlvbi5zZXF1ZW5jZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5nb3RvUXVlc3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkRG9jcygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzKSB7XHJcbiAgICAgIHRoaXMuZm9ybVJlc3BvbnNlLmRvY3VtZW50cyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtUmVzcG9uc2UuZG9jdW1lbnRzLmZvckVhY2goKGRvYzogQ29Eb2N1bWVudCkgPT4ge1xyXG4gICAgICBpZiAoZG9jLmRvY3VtZW50SWQgJiYgIWRvYy5kb2N1bWVudEJvZHkpIHtcclxuICAgICAgICB0aGlzLl9zaGFyZWRDb25uZWN0b3JTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudChkb2MuZG9jdW1lbnRJZCkudGhlbigoY29udGVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBkb2MuZG9jdW1lbnRCb2R5ID0gY29udGVudDtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVmaW5pdGl2ZUNoYW5nZShkZWZpbml0aXZlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmZvcm1SZXNwb25zZS5pc0ZpbmFsID0gZGVmaW5pdGl2ZTtcclxuICAgIHRoaXMuZGVmaW5pdGl2ZUNoYW5nZS5uZXh0KHt2YWx1ZTogZGVmaW5pdGl2ZSwgbGluZVVVSUQ6IHRoaXMubGluZVVVSUR9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXRVc2VyRm9ybSgpIHtcclxuICAgIEZvcm1VdGlscy5NZXJnZVJlc3BvbnNlV2l0aEZvcm0odGhpcy5jbG9uZUZvcm0sIHRoaXMuZm9ybVJlc3BvbnNlKTtcclxuICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XHJcbiAgICAgIGNhc2UgVXNlckZvcm1Nb2RlLkNyZWF0ZTpcclxuICAgICAgICB0aGlzLnNhdmVGb3JtLm5leHQodGhpcy5mb3JtUmVzcG9uc2UpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlQ2FuY2VsRm9ybSgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFVzZXJGb3JtTW9kZS5FZGl0OlxyXG4gICAgICAgICAgICB0aGlzLnNhdmVGb3JtLm5leHQodGhpcy5mb3JtUmVzcG9uc2UpO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUNhbmNlbEZvcm0oKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==