myrtex-mf-competition 1.0.4 → 1.0.5

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 (21) hide show
  1. package/esm2020/lib/modules/competition-header/components/competition-header.component.mjs +2 -4
  2. package/esm2020/lib/modules/competition-header/index.mjs +1 -2
  3. package/esm2020/lib/modules/competition-header/models/competition-version.model.mjs +1 -1
  4. package/esm2020/lib/modules/competition-header/services/competition-header.service.mjs +1 -1
  5. package/esm2020/lib/modules/competition-header/store/competition-header.actions.mjs +1 -1
  6. package/esm2020/lib/modules/competition-header/store/competition-header.effects.mjs +1 -1
  7. package/fesm2015/myrtex-mf-competition.mjs +2 -35
  8. package/fesm2015/myrtex-mf-competition.mjs.map +1 -1
  9. package/fesm2020/myrtex-mf-competition.mjs +2 -35
  10. package/fesm2020/myrtex-mf-competition.mjs.map +1 -1
  11. package/lib/modules/competition-header/components/competition-header.component.d.ts +1 -3
  12. package/lib/modules/competition-header/index.d.ts +0 -1
  13. package/lib/modules/competition-header/models/competition-version.model.d.ts +1 -1
  14. package/lib/modules/competition-header/services/competition-header.service.d.ts +1 -2
  15. package/lib/modules/competition-header/store/competition-header.actions.d.ts +1 -1
  16. package/lib/modules/competition-header/store/competition-header.effects.d.ts +1 -2
  17. package/package.json +3 -3
  18. package/esm2020/lib/modules/competition-header/enums/cancel-competition-type.enum.mjs +0 -7
  19. package/esm2020/lib/modules/competition-header/enums/competition-version-status.enum.mjs +0 -26
  20. package/lib/modules/competition-header/enums/cancel-competition-type.enum.d.ts +0 -5
  21. package/lib/modules/competition-header/enums/competition-version-status.enum.d.ts +0 -14
@@ -1,11 +1,9 @@
1
- import { CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionVersionStatusGrouppingLabel } from './../enums/competition-version-status.enum';
2
1
  import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
3
2
  import { select } from '@ngrx/store';
4
- import { CompetitionModeEnum, CompetitionStatusEnum, CompetitionStatusEnumLabel, DialogColor, DialogType, UnSubscriber, selectCompetitionConfig, selectCompetitionLabel } from 'myrtex-mf-ui-composite';
3
+ import { CompetitionModeEnum, CompetitionStatusEnum, CompetitionStatusEnumLabel, DialogColor, DialogType, UnSubscriber, selectCompetitionConfig, selectCompetitionLabel, CancelCompetitionTypeEnum, CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionVersionStatusGrouppingLabel } from 'myrtex-mf-ui-composite';
5
4
  import { activateCompetition, cancelCompetition, cancelCompetitionWithValidation, competitionVersionChangeStatus, completeCompetition, createCompetitionVersion, deleteCompetitionVersion, loadCompetitionHeader, pauseCompetition, selectCompetitionVersion } from '../store/competition-header.actions';
6
5
  import { selectActivityId, selectCompetitionSelectedVersionId, selectCompetitionStatus, selectCompetitionVersions, selectManualVersionStatusChanged } from '../store/competition-header.selector';
7
6
  import { CompetitionHeaderCustomButtonsDirective } from '../directives/competition-header-custom-buttons.directive';
8
- import { CancelCompetitionTypeEnum } from '../enums/cancel-competition-type.enum';
9
7
  import * as i0 from "@angular/core";
10
8
  import * as i1 from "myrtex-mf-signer";
11
9
  import * as i2 from "@ngrx/store";
@@ -445,4 +443,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
445
443
  }], selectedCompetitionVersionInfo: [{
446
444
  type: Output
447
445
  }] } });
448
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1tZi1jb21wZXRpdGlvbi9zcmMvbGliL21vZHVsZXMvY29tcGV0aXRpb24taGVhZGVyL2NvbXBvbmVudHMvY29tcGV0aXRpb24taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1tZi1jb21wZXRpdGlvbi9zcmMvbGliL21vZHVsZXMvY29tcGV0aXRpb24taGVhZGVyL2NvbXBvbmVudHMvY29tcGV0aXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsaUNBQWlDLEVBQ2pDLHNDQUFzQyxFQUN2QyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxVQUFVLEVBRVYsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixzQkFBc0IsRUFFdkIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQiwrQkFBK0IsRUFDL0IsOEJBQThCLEVBQzlCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3pCLE1BQU0scUNBQXFDLENBQUM7QUFFN0MsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQ0FBa0MsRUFDbEMsdUJB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LFFBQVEsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsOEJBQThCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxhQUFpQyxTQUFTO1FBQ3RFLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixVQUFVLEdBQUcsMkNBQTJDLENBQUM7U0FDMUQ7UUFDRCxPQUFPOzs7Ozs7OztvQkFRUyxVQUFVOzs7bUJBR1gsQ0FBQztJQUNsQixDQUFDOzt3SEF0ZFUsMEJBQTBCOzRHQUExQiwwQkFBMEIsOFlBRXZCLHVDQUF1Qyx1RUMzRHZELGk4Z0JBMExBOzRGRGpJYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0Usd0JBQXdCO2lKQU0zQixxQkFBcUI7c0JBRDNCLFlBQVk7dUJBQUMsdUNBQXVDO2dCQUk5QyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLHFCQUFxQjtzQkFEM0IsS0FBSztnQkFJQyx3QkFBd0I7c0JBRDlCLEtBQUs7Z0JBSUMseUJBQXlCO3NCQUQvQixLQUFLO2dCQUlDLDhCQUE4QjtzQkFEcEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSxcclxuICBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtTGFiZWwsXHJcbiAgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzR3JvdXBwaW5nTGFiZWxcclxufSBmcm9tICcuLy4uL2VudW1zL2NvbXBldGl0aW9uLXZlcnNpb24tc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25WZXJzaW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvY29tcGV0aXRpb24tdmVyc2lvbi5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcGV0aXRpb25Nb2RlRW51bSxcclxuICBDb21wZXRpdGlvblN0YXR1c0VudW0sXHJcbiAgQ29tcGV0aXRpb25TdGF0dXNFbnVtTGFiZWwsXHJcbiAgRGlhbG9nQ29sb3IsXHJcbiAgRGlhbG9nVHlwZSxcclxuICBBbGVydFNlcnZpY2UsXHJcbiAgVW5TdWJzY3JpYmVyLFxyXG4gIHNlbGVjdENvbXBldGl0aW9uQ29uZmlnLFxyXG4gIHNlbGVjdENvbXBldGl0aW9uTGFiZWwsXHJcbiAgQ29tcGV0aXRpb25Db25maWdNb2RlbFxyXG59IGZyb20gJ215cnRleC1tZi11aS1jb21wb3NpdGUnO1xyXG5pbXBvcnQge1xyXG4gIGFjdGl2YXRlQ29tcGV0aXRpb24sXHJcbiAgY2FuY2VsQ29tcGV0aXRpb24sXHJcbiAgY2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbixcclxuICBjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMsXHJcbiAgY29tcGxldGVDb21wZXRpdGlvbixcclxuICBjcmVhdGVDb21wZXRpdGlvblZlcnNpb24sXHJcbiAgZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uLFxyXG4gIGxvYWRDb21wZXRpdGlvbkhlYWRlcixcclxuICBwYXVzZUNvbXBldGl0aW9uLFxyXG4gIHNlbGVjdENvbXBldGl0aW9uVmVyc2lvblxyXG59IGZyb20gJy4uL3N0b3JlL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25TdGF0dXNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9jb21wZXRpdGlvbi1zdGF0dXMubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIHNlbGVjdEFjdGl2aXR5SWQsXHJcbiAgc2VsZWN0Q29tcGV0aXRpb25TZWxlY3RlZFZlcnNpb25JZCxcclxuICBzZWxlY3RDb21wZXRpdGlvblN0YXR1cyxcclxuICBzZWxlY3RDb21wZXRpdGlvblZlcnNpb25zLFxyXG4gIHNlbGVjdE1hbnVhbFZlcnNpb25TdGF0dXNDaGFuZ2VkXHJcbn0gZnJvbSAnLi4vc3RvcmUvY29tcGV0aXRpb24taGVhZGVyLnNlbGVjdG9yJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25IZWFkZXJDdXN0b21CdXR0b25zRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jb21wZXRpdGlvbi1oZWFkZXItY3VzdG9tLWJ1dHRvbnMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25SZWplY3Rpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IENhbmNlbENvbXBldGl0aW9uVHlwZUVudW0gfSBmcm9tICcuLi9lbnVtcy9jYW5jZWwtY29tcGV0aXRpb24tdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU2lnblNlcnZpY2UgfSBmcm9tICdteXJ0ZXgtbWYtc2lnbmVyJztcclxuXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgdmFsaWRhdGVWZXJzaW9uRm4gPSAoKHBhcmFtOiBzdHJpbmcsIG9uVmFsaWRhdGVkOiAoKSA9PiB2b2lkKSA9PiB2b2lkKTtcclxuXHJcbmRlY2xhcmUgZ2xvYmFsIHtcclxuICBpbnRlcmZhY2UgV2luZG93IHtcclxuICAgIENyeXB0b0ludGVyY2VwdG9yOiBhbnk7XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1jb21wZXRpdGlvbi1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRpdGlvbi1oZWFkZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wZXRpdGlvbkhlYWRlckNvbXBvbmVudCBleHRlbmRzIFVuU3Vic2NyaWJlciBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoQ29tcGV0aXRpb25IZWFkZXJDdXN0b21CdXR0b25zRGlyZWN0aXZlKVxyXG4gIHB1YmxpYyBjdXN0b21CdXR0b25zVGVtcGxhdGUhOiBDb21wZXRpdGlvbkhlYWRlckN1c3RvbUJ1dHRvbnNEaXJlY3RpdmU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNhbkNoYW5nZVN0YXR1cyA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbGlkYXRlVmVyc2lvbkFjdGlvbjogdW5kZWZpbmVkIHwgdmFsaWRhdGVWZXJzaW9uRm4gPSB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbGlkYXRlTWFuYWdlbWVudEFjY2VzczogKCgoKSA9PiBib29sZWFuKSB8IHVuZGVmaW5lZCkgPSB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZhbGlkYXRlUGlibGljYXRpb25BY2Nlc3M6ICgoKCkgPT4gYm9vbGVhbikgfCB1bmRlZmluZWQpID0gdW5kZWZpbmVkO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgc2VsZWN0ZWRDb21wZXRpdGlvblZlcnNpb25JbmZvID0gbmV3IEV2ZW50RW1pdHRlcjxDb21wZXRpdGlvblZlcnNpb25Nb2RlbD4oKTtcclxuXHJcbiAgcHVibGljIGNvbXBldGl0aW9uOiBDb21wZXRpdGlvblN0YXR1c01vZGVsIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyB2ZXJzaW9uczogQ29tcGV0aXRpb25WZXJzaW9uTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZWxlY3RlZDogQ29tcGV0aXRpb25WZXJzaW9uTW9kZWwgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNlbGVjdGVkVmVyc2lvbiA9ICcnO1xyXG4gIHB1YmxpYyBjb21wZXRpdGlvblN0YXR1c0VudW0gPSBDb21wZXRpdGlvblN0YXR1c0VudW07XHJcbiAgcHVibGljIGNhbmNlbENvbXBldGl0aW9uVHlwZUVudW0gPSBDYW5jZWxDb21wZXRpdGlvblR5cGVFbnVtO1xyXG4gIHB1YmxpYyBjb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtID0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bTtcclxuICBwdWJsaWMgY29tcGV0aXRpb25MYWJlbCA9ICcnO1xyXG4gIHB1YmxpYyBzaG93Q2FuY2VsQ29tcGV0aXRpb25CdXR0b24gPSBmYWxzZTtcclxuICBwdWJsaWMgY2FuY2VsQ29tcGV0aXRpb25CdXR0b25MYWJlbCA9ICfQntGC0LzQtdC90LjRgtGMINC+0YLQsdC+0YAnO1xyXG4gIHB1YmxpYyBjb21wZXRpdGlvbkNvbmZpZzogQ29tcGV0aXRpb25Db25maWdNb2RlbCB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgc2hvd0NvbXBsZXRlQ29tcGV0aXRpb25CdXR0b24gPSBmYWxzZTtcclxuICBwdWJsaWMgcmVzdG9yZUJ1dHRvbk5hbWUgPSAn0JLQvtC30L7QsdC90L7QstC40YLRjCc7XHJcbiAgcHVibGljIGlzQ29udHJvbCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3NpZ25DYWxsYmFjazogYW55O1xyXG4gIHByaXZhdGUgX2FjdGl2aXR5SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzaWduU2VydmljZTogU2lnblNlcnZpY2UsIHByaXZhdGUgc3RvcmU6IFN0b3JlLCBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjb21wZXRpdGlvbkFnZ3JlZ2F0ZVN0YXR1c0VudW1MYWJlbCgpIHtcclxuICAgIGlmICh0aGlzLnZlcnNpb25zICYmIHRoaXMudmVyc2lvbnMubGVuZ3RoID09IDEgJiYgdGhpcy5zZWxlY3RlZFxyXG4gICAgICAmJiB0aGlzLnNlbGVjdGVkLnN0YXR1cyAhPT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmUpIHtcclxuICAgICAgcmV0dXJuIENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW1MYWJlbFt0aGlzLnNlbGVjdGVkLnN0YXR1c107XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbiA/IENvbXBldGl0aW9uU3RhdHVzRW51bUxhYmVsW3RoaXMuY29tcGV0aXRpb24uc3RhdHVzXSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjb21wZXRpdGlvbkFnZ3JlZ2F0ZVN0YXR1c0Nzc0NsYXNzKCk6IGFueSB7XHJcbiAgICBpZiAodGhpcy52ZXJzaW9ucyAmJiB0aGlzLnZlcnNpb25zLmxlbmd0aCA9PSAxICYmIHRoaXMuc2VsZWN0ZWRcclxuICAgICAgJiYgKHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyB8fCBDb21wZXRpdGlvblN0YXR1c0VudW0uTmV3KSA8PSBDb21wZXRpdGlvblN0YXR1c0VudW0uQWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgJyc6IHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyAhPT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmUsXHJcbiAgICAgICAgJ2NvbG9yLWdyZWVuJzogdGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkFjdGl2ZSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJyc6IHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLk5ld1xyXG4gICAgICAgIHx8IHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyAhPT0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLkNvbXBsZXRlZCxcclxuICAgICAgJ2NvbG9yLWdyZWVuJzogdGhpcy5jb21wZXRpdGlvbj8uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uQWN0aXZlLFxyXG4gICAgICAnY29sb3Itb3JhbmdlJzogdGhpcy5jb21wZXRpdGlvbj8uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uU3RheWluZyxcclxuICAgICAgJ2NvbG9yLXJlZCc6IHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLkNhbmNlbGVkXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhbkNyZWF0ZVZlcnNpb24oKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy52YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xhc3RWZXJzaW9uICYmIHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmUgJiZcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5jb21wZXRpdGlvbi5tb2RlID4gQ29tcGV0aXRpb25Nb2RlRW51bS5CYXNlXHJcbiAgICAgICAgJiYgKFxyXG4gICAgICAgICAgdGhpcy5jb21wZXRpdGlvbi5zdGF0dXMgPT09IENvbXBldGl0aW9uU3RhdHVzRW51bS5BY3RpdmUgfHxcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uU3RheWluZyB8fFxyXG4gICAgICAgICAgdGhpcy5jb21wZXRpdGlvbi5zdGF0dXMgPT09IENvbXBldGl0aW9uU3RhdHVzRW51bS5DYW5jZWxlZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5pc0xhc3RWZXJzaW9uICYmIHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmUgJiZcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5jb21wZXRpdGlvbi5tb2RlID4gQ29tcGV0aXRpb25Nb2RlRW51bS5CYXNlXHJcbiAgICAgICAgJiYgKFxyXG4gICAgICAgICAgdGhpcy5jb21wZXRpdGlvbi5zdGF0dXMgPT09IENvbXBldGl0aW9uU3RhdHVzRW51bS5BY3RpdmUgfHxcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uU3RheWluZyB8fFxyXG4gICAgICAgICAgdGhpcy5jb21wZXRpdGlvbi5zdGF0dXMgPT09IENvbXBldGl0aW9uU3RhdHVzRW51bS5DYW5jZWxlZCkgJiZcclxuICAgICAgICB0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjYW5EZWxldGVWZXJzaW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gdGhpcy5jb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkRyYWZ0XHJcbiAgICAgICAgJiYgdGhpcy52ZXJzaW9uc1xyXG4gICAgICAgICYmIHRoaXMudmVyc2lvbnMubGVuZ3RoID4gMTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IHRoaXMuY29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdFxyXG4gICAgICAgICYmIHRoaXMudmVyc2lvbnNcclxuICAgICAgICAmJiB0aGlzLnZlcnNpb25zLmxlbmd0aCA+IDFcclxuICAgICAgICAmJiB0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjYW5BY3RpdmF0ZVZlcnNpb24oKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy52YWxpZGF0ZVBpYmxpY2F0aW9uQWNjZXNzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uRHJhZnQgJiZcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24/Lm1vZGUgIT09IENvbXBldGl0aW9uTW9kZUVudW0uVmVyc2lvbmVkRXh0ZW5kZWQpIHx8XHJcbiAgICAgICAgKCh0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQ29uZmlybWVkIHx8XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5WYWxpZGF0aW9uKSAmJlxyXG4gICAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8ubW9kZSA9PT0gQ29tcGV0aXRpb25Nb2RlRW51bS5WZXJzaW9uZWRFeHRlbmRlZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdCAmJlxyXG4gICAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8ubW9kZSAhPT0gQ29tcGV0aXRpb25Nb2RlRW51bS5WZXJzaW9uZWRFeHRlbmRlZCkgfHxcclxuICAgICAgICAoKHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5Db25maXJtZWQgfHxcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLlZhbGlkYXRpb24pICYmXHJcbiAgICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5tb2RlID09PSBDb21wZXRpdGlvbk1vZGVFbnVtLlZlcnNpb25lZEV4dGVuZGVkKSAmJlxyXG4gICAgICAgIHRoaXMudmFsaWRhdGVQaWJsaWNhdGlvbkFjY2VzcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhY3RpdmF0ZVZlcnNpb25EaXNhYmxlZCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlUGlibGljYXRpb25BY2Nlc3MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gKCF0aGlzLmNhbkNoYW5nZVN0YXR1cyB8fFxyXG4gICAgICAgICgodGhpcy5zZWxlY3RlZD8uc3RhdHVzICE9PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkRyYWZ0ICYmXHJcbiAgICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24/Lm1vZGUgIT09IENvbXBldGl0aW9uTW9kZUVudW0uVmVyc2lvbmVkRXh0ZW5kZWQpIHx8XHJcbiAgICAgICAgICAodGhpcy5zZWxlY3RlZD8uc3RhdHVzICE9PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkNvbmZpcm1lZCAmJlxyXG4gICAgICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5tb2RlID09PSBDb21wZXRpdGlvbk1vZGVFbnVtLlZlcnNpb25lZEV4dGVuZGVkKSkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICghdGhpcy5jYW5DaGFuZ2VTdGF0dXMgfHxcclxuICAgICAgICAgICgodGhpcy5zZWxlY3RlZD8uc3RhdHVzICE9PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkRyYWZ0ICYmXHJcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8ubW9kZSAhPT0gQ29tcGV0aXRpb25Nb2RlRW51bS5WZXJzaW9uZWRFeHRlbmRlZCkgfHxcclxuICAgICAgICAgICAgKHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyAhPT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5Db25maXJtZWQgJiZcclxuICAgICAgICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5tb2RlID09PSBDb21wZXRpdGlvbk1vZGVFbnVtLlZlcnNpb25lZEV4dGVuZGVkKSkpICYmXHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZVBpYmxpY2F0aW9uQWNjZXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZhbGlkYXRlVmVyc2lvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVQaWJsaWNhdGlvbkFjY2VzcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiAhdGhpcy5jYW5DaGFuZ2VTdGF0dXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gIXRoaXMuY2FuQ2hhbmdlU3RhdHVzICYmICEhdGhpcy52YWxpZGF0ZVBpYmxpY2F0aW9uQWNjZXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNyZWF0ZVZlcnNpb25EaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiAhdGhpcy5jYW5DaGFuZ2VTdGF0dXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB2YWxpZGF0aW9uUmVzID0gdGhpcy52YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3MoKTtcclxuICAgICAgcmV0dXJuICF0aGlzLmNhbkNoYW5nZVN0YXR1cyAmJiB2YWxpZGF0aW9uUmVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBiYWNrVG9FZGl0RGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy52YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gIXRoaXMuY2FuQ2hhbmdlU3RhdHVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlcyA9IHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzKCk7XHJcbiAgICAgIHJldHVybiAhdGhpcy5jYW5DaGFuZ2VTdGF0dXMgJiYgdmFsaWRhdGlvblJlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FuVmFsaWRhdGVWZXJzaW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVQaWJsaWNhdGlvbkFjY2VzcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uRHJhZnQgJiZcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5tb2RlID09PSBDb21wZXRpdGlvbk1vZGVFbnVtLlZlcnNpb25lZEV4dGVuZGVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdCAmJlxyXG4gICAgICAgIHRoaXMuY29tcGV0aXRpb24/Lm1vZGUgPT09IENvbXBldGl0aW9uTW9kZUVudW0uVmVyc2lvbmVkRXh0ZW5kZWQgJiZcclxuICAgICAgICB0aGlzLnZhbGlkYXRlUGlibGljYXRpb25BY2Nlc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNMYXN0VmVyc2lvbigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZlcnNpb25zPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IG0gPSBNYXRoLm1heCguLi50aGlzLnZlcnNpb25zLm1hcCh4ID0+IHgubnVtKSk7XHJcbiAgICAgIHJldHVybiBtID09PSB0aGlzLnNlbGVjdGVkPy5udW07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dSZWplY3Rpb25SZWFzb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnNlbGVjdGVkPy5yZWplY3Rpb25SZWFzb24gJiZcclxuICAgICAgKHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdFxyXG4gICAgICAgIHx8IHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5SZWplY3RlZClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdmVyc2lvblN0YXR1c0NsYXNzKCk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnJzogdGhpcy5zZWxlY3RlZD8uc3RhdHVzICE9PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkFjdGl2ZSxcclxuICAgICAgJ2NvbG9yLWdyZWVuJzogdGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkFjdGl2ZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqINCa0L7QvdGC0LXQutGB0YIg0LTQu9GPINC60LDRgdGC0L7QvNC90YvRhSDQutC90L7Qv9C+0LosINC80L7QttC10YIg0YDQsNGB0YjQuNGA0Y/RgtGM0YHRjyAqL1xyXG4gIHB1YmxpYyBnZXQgY3VzdG9tQnV0dG9uc1RlbXBsYXRlQ29udGV4dCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYWN0aXZpdHlJZDogdGhpcy5fYWN0aXZpdHlJZCxcclxuICAgICAgY29tcGV0aXRpb25JZDogdGhpcy5jb21wZXRpdGlvbj8uaWQsXHJcbiAgICAgIGNvbXBldGl0aW9uVmVyc2lvbklkOiB0aGlzLnNlbGVjdGVkPy5pZFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FuUmV0dXJuVG9FZGl0KCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5SZWplY3RlZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uUmVqZWN0ZWQgJiYgdGhpcy52YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FuU2VlVGhyZWVEb3RzKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzKCkgJiZcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5zdGF0dXMgIT0gdGhpcy5jb21wZXRpdGlvblN0YXR1c0VudW0uTmV3ICYmXHJcbiAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8uc3RhdHVzICE9IHRoaXMuY29tcGV0aXRpb25TdGF0dXNFbnVtLkNvbXBsZXRlZCAmJlxyXG4gICAgICAgIHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyAhPSB0aGlzLmNvbXBldGl0aW9uU3RhdHVzRW51bS5Ob3RQbGFjZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobG9hZENvbXBldGl0aW9uSGVhZGVyKCkpO1xyXG4gICAgdGhpcy5hcHBlbmRTdWJzY3JpcHRpb24odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvblZlcnNpb25zKSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLnZlcnNpb25zID0gcmVzdWx0O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuICAgIHRoaXMuYXBwZW5kU3Vic2NyaXB0aW9uKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25TZWxlY3RlZFZlcnNpb25JZCkpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZlcnNpb24gPSByZXN1bHQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3QoKTtcclxuICAgICAgfVxyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuYXBwZW5kU3Vic2NyaXB0aW9uKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25TdGF0dXMpKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHRoaXMuY29tcGV0aXRpb24gPSByZXN1bHQ7XHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLmFwcGVuZFN1YnNjcmlwdGlvbih0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uTGFiZWwpKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5jb21wZXRpdGlvbkxhYmVsID0gcmVzdWx0O1xyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuYXBwZW5kU3Vic2NyaXB0aW9uKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0QWN0aXZpdHlJZCkpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLl9hY3Rpdml0eUlkID0gcmVzdWx0O1xyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuYXBwZW5kU3Vic2NyaXB0aW9uKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25Db25maWcpKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHRoaXMuY29tcGV0aXRpb25Db25maWcgPSByZXN1bHQ7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmNvbXBldGl0aW9uQ29uZmlnLmNhbmNlbENvbXBldGl0aW9uTGFiZWwpIHtcclxuICAgICAgICAgIHRoaXMuY2FuY2VsQ29tcGV0aXRpb25CdXR0b25MYWJlbCA9IHRoaXMuY29tcGV0aXRpb25Db25maWcuY2FuY2VsQ29tcGV0aXRpb25MYWJlbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcGV0aXRpb25Db25maWcuY2FuY2VsQ29tcGV0aXRpb25UeXBlXHJcbiAgICAgICAgICAmJiB0aGlzLmNvbXBldGl0aW9uQ29uZmlnLmNhbmNlbENvbXBldGl0aW9uVHlwZSA+IHRoaXMuY2FuY2VsQ29tcGV0aXRpb25UeXBlRW51bS5EaXNhYmxlZCkge1xyXG4gICAgICAgICAgdGhpcy5zaG93Q2FuY2VsQ29tcGV0aXRpb25CdXR0b24gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNob3dDb21wbGV0ZUNvbXBldGl0aW9uQnV0dG9uID0gdGhpcy5jb21wZXRpdGlvbkNvbmZpZy5zaG93Q29tcGxldGVDb21wZXRpdGlvbkJ1dHRvbjtcclxuICAgICAgICBpZiAodGhpcy5jb21wZXRpdGlvbkNvbmZpZy5yZXN0b3JlQnV0dG9uTmFtZSkge1xyXG4gICAgICAgICAgdGhpcy5yZXN0b3JlQnV0dG9uTmFtZSA9IHRoaXMuY29tcGV0aXRpb25Db25maWcucmVzdG9yZUJ1dHRvbk5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5hcHBlbmRTdWJzY3JpcHRpb24odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RNYW51YWxWZXJzaW9uU3RhdHVzQ2hhbmdlZCkpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAvLyDQv9GA0L7QuNC30L7RiNC70L4g0YDRg9GH0L3QvtC1INC40LfQvNC10L3QtdC90LjQtSDRgdGC0LDRgtGD0YHQsCwg0YLQvtC70LrQsNC10Lwg0LTQsNC70YzRiNC1INC/0L4g0YLQsNC50LzQsNGD0YLRg1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgICAgICAgaWYgKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyh7XHJcbiAgICAgICAgICAgICAgdmVyc2lvbklkOiBzZWxlY3RlZEl0ZW0uaWQsXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkNvbmZpcm1lZFxyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMTAwMDApO1xyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtTGFiZWwodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW1MYWJlbFt2YWx1ZSBhcyBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDb21wZXRpdGlvblZlcnNpb25TdGF0dXNHcm91cHBpbmdMYWJlbCh2YWx1ZTogYW55KSB7XHJcbiAgICByZXR1cm4gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzR3JvdXBwaW5nTGFiZWxbdmFsdWUgYXMgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bV07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3JlYXRlVmVyc2lvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dEaWFsb2coe1xyXG4gICAgICB0aXRsZTogYNCk0L7RgNC80LjRgNC+0LLQsNC90LjQtSDQuNC30LzQtdC90LXQvdC40LlgLFxyXG4gICAgICBtZXNzYWdlOlxyXG4gICAgICAgIGAke3RoaXMuZ2V0V2FybmluZ01lc3NhZ2VIdG1sKCfQktC90LjQvNCw0L3QuNC1ISDQpNC+0YDQvNC40YDQvtCy0LDQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INC/0YDQuNCy0LXQtNC10YIg0Log0YHQvtC30LTQsNC90LjRjiDQvdC+0LLQvtC5INCy0LXRgNGB0LjQuCDQvtGC0LHQvtGA0LAnKX1cclxuICAgICAgICAgICAgPHA+XHJcbiAgICAgICAgICAgICAg0JLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0YHRhNC+0YDQvNC40YDQvtCy0LDRgtGMINC40LfQvNC10L3QtdC90LjRjz9cclxuICAgICAgICAgICAgPC9wPmAsXHJcbiAgICAgIGNvbG9yOiBEaWFsb2dDb2xvci55ZWxsb3csXHJcbiAgICAgIHR5cGU6IERpYWxvZ1R5cGUuY29uZmlybSxcclxuICAgICAgb2tMYWJlbDogJ9Cf0L7QtNGC0LLQtdGA0LTQuNGC0YwnLFxyXG4gICAgICBjYW5jZWxMYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxyXG4gICAgICBva0NhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChjcmVhdGVDb21wZXRpdGlvblZlcnNpb24oKSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFjdGl2YXRlVmVyc2lvbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dEaWFsb2coe1xyXG4gICAgICAgIHRpdGxlOiBg0J/Rg9Cx0LvQuNC60LDRhtC40Y8gJHt0aGlzLmNvbXBldGl0aW9uTGFiZWx90LBgLFxyXG4gICAgICAgIG1lc3NhZ2U6IGAke3RoaXMuZ2V0V2FybmluZ01lc3NhZ2VIdG1sKCl9XHJcbiAgICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgINCS0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INC+0L/Rg9Cx0LvQuNC60L7QstCw0YLRjCAke3RoaXMuY29tcGV0aXRpb25MYWJlbH0/XHJcbiAgICAgICAgICAgIDwvcD5gLFxyXG4gICAgICAgIGNvbG9yOiBEaWFsb2dDb2xvci55ZWxsb3csXHJcbiAgICAgICAgdHlwZTogRGlhbG9nVHlwZS5jb25maXJtLFxyXG4gICAgICAgIG9rTGFiZWw6ICfQn9C+0LTRgtCy0LXRgNC00LjRgtGMJyxcclxuICAgICAgICBjYW5jZWxMYWJlbDogJ9Ce0YLQvNC10L3QuNGC0YwnLFxyXG4gICAgICAgIG9rQ2FsbGJhY2s6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzKHtcclxuICAgICAgICAgICAgdmVyc2lvbklkOiBzZWxlY3RlZEl0ZW0uaWQsXHJcbiAgICAgICAgICAgIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmVcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHZhbGlkYXRlVmVyc2lvbigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0ZWQ7XHJcblxyXG4gICAgICBpZiAodGhpcy52YWxpZGF0ZVZlcnNpb25BY3Rpb24pIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXRlVmVyc2lvbkFjdGlvbihzZWxlY3RlZEl0ZW0uaWQsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2lnblNlcnZpY2Uuc2lnbih7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn0J3QsNC/0YDQsNCy0LvQtdC90LjQtSDQtNC+0LrRg9C80LXQvdGC0LAg0L3QsCDRgdC+0LPQu9Cw0YHQvtCy0LDQvdC40LUnLFxyXG4gICAgICAgICAgICBva0xhYmVsOiAn0J7RgtC/0YDQsNCy0LjRgtGMJyxcclxuICAgICAgICAgICAgY2FuY2VsTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJyxcclxuICAgICAgICAgICAgcGRmVXJsOiBgL20tZGF0YS9taW5maW4vcGRmLWNvbXBldGl0aW9uLyR7c2VsZWN0ZWRJdGVtLmlkfWAsXHJcbiAgICAgICAgICAgIHhtbFVybDogYC9tLWRhdGEvbWluZmluL3htbC1jb21wZXRpdGlvbi8ke3NlbGVjdGVkSXRlbS5pZH1gLFxyXG4gICAgICAgICAgICBwcm92aWRlcjogJ2VtcHR5J1xyXG4gICAgICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyh7XHJcbiAgICAgICAgICAgICAgdmVyc2lvbklkOiBzZWxlY3RlZEl0ZW0uaWQsXHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLlZhbGlkYXRpb25cclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgfSwgKCkgPT4ge1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVZlcnNpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93RGlhbG9nKGDQo9C00LDQu9C40YLRjCDQstC10YDRgdC40Y4gICR7dGhpcy5jb21wZXRpdGlvbkxhYmVsfdCwP2AsXHJcbiAgICAgICAgYCR7dGhpcy5nZXRXYXJuaW5nTWVzc2FnZUh0bWwoKX1cclxuICAgICAgPHA+XHJcbiAgICAgICAg0JLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0LLQtdGA0YHQuNGOICR7dGhpcy5jb21wZXRpdGlvbkxhYmVsPy50b0xvd2VyQ2FzZSgpfdCwP1xyXG4gICAgICA8L3A+YCxcclxuICAgICAgICBEaWFsb2dUeXBlLmNvbmZpcm0sIChvaykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChkZWxldGVDb21wZXRpdGlvblZlcnNpb24oe3ZlcnNpb25JZDogc2VsZWN0ZWRJdGVtLmlkfSkpO1xyXG4gICAgICAgIH0sIHVuZGVmaW5lZCwgbnVsbCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIERpYWxvZ0NvbG9yLnJlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzdG9yZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZUNvbnRyb2xzKCk7XHJcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93RGlhbG9nKGDQktC+0LfQvtCx0L3QvtCy0LjRgtGMICR7dGhpcy5jb21wZXRpdGlvbkxhYmVsfT9gLCBudWxsLCBEaWFsb2dUeXBlLmNvbmZpcm0sIChvaykgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGl2YXRlQ29tcGV0aXRpb24oKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXVzZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZUNvbnRyb2xzKCk7XHJcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93RGlhbG9nKGDQn9GA0LjQvtGB0YLQsNC90L7QstC40YLRjCAke3RoaXMuY29tcGV0aXRpb25MYWJlbH0/YCwgbnVsbCwgRGlhbG9nVHlwZS5jb25maXJtLCAob2spID0+IHtcclxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChwYXVzZUNvbXBldGl0aW9uKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oaWRlQ29udHJvbHMoKTtcclxuICAgIGlmICh0aGlzLmNvbXBldGl0aW9uQ29uZmlnICYmIHRoaXMuY29tcGV0aXRpb25Db25maWcuY2FuY2VsQ29tcGV0aXRpb25UeXBlID09IHRoaXMuY2FuY2VsQ29tcGV0aXRpb25UeXBlRW51bS5XaXRoVmFsaWRhdGlvbikge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSXRlbSA9IHRoaXMuc2VsZWN0ZWQ7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChjYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uKHt2ZXJzaW9uSWQ6IHNlbGVjdGVkSXRlbS5pZH0pKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd0RpYWxvZyhg0J7RgtC80LXQvdC40YLRjCAke3RoaXMuY29tcGV0aXRpb25MYWJlbH0/YCwgbnVsbCwgRGlhbG9nVHlwZS5jb25maXJtLCAob2spID0+IHtcclxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGNhbmNlbENvbXBldGl0aW9uKCkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21wbGV0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZUNvbnRyb2xzKCk7XHJcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93RGlhbG9nKGDQl9Cw0LLQtdGA0YjQuNGC0YwgJHt0aGlzLmNvbXBldGl0aW9uTGFiZWx9P2AsIG51bGwsIERpYWxvZ1R5cGUuY29uZmlybSwgKG9rKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goY29tcGxldGVDb21wZXRpdGlvbigpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFZlcnNpb24oaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChzZWxlY3RDb21wZXRpdGlvblZlcnNpb24oe3ZlcnNpb25JZDogaWR9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYmFja1RvRWRpdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZUNvbnRyb2xzKCk7XHJcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93RGlhbG9nKGDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INGC0LXQutGD0YnQtdC5INCy0LXRgNGB0LjQuGAsXHJcbiAgICAgIGDQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDRgNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRgtC10LrRg9GJ0YPRjiDQstC10YDRgdC40Y4gJHt0aGlzLmNvbXBldGl0aW9uTGFiZWwudG9Mb3dlckNhc2UoKX1hYCxcclxuICAgICAgRGlhbG9nVHlwZS5jb25maXJtLFxyXG4gICAgICAob2spID0+IHtcclxuICAgICAgICBpZiAoISF0aGlzLnNlbGVjdGVkKSB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyh7XHJcbiAgICAgICAgICAgIHZlcnNpb25JZDogdGhpcy5zZWxlY3RlZC5pZCxcclxuICAgICAgICAgICAgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkRyYWZ0XHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCB1bmRlZmluZWQsIG51bGwsICfQn9C+0LTRgtCy0LXRgNC00LjRgtGMJywgdW5kZWZpbmVkLCBEaWFsb2dDb2xvci55ZWxsb3cpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDb250cm9scygpIHtcclxuICAgIHRoaXMuaXNDb250cm9sID0gIXRoaXMuaXNDb250cm9sO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhpZGVDb250cm9scygpIHtcclxuICAgIHRoaXMuaXNDb250cm9sID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1JlamVjdGlvbihtb2RlbDogQ29tcGV0aXRpb25SZWplY3Rpb25Nb2RlbCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd0RpYWxvZyhg0J/RgNC40YfQuNC90LAg0L7RgtC60LvQvtC90LXQvdC40Y9gLFxyXG4gICAgICBgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5X19hdXRob3JcIj5cclxuICAgICAgICAgIDxzcGFuPiR7bW9kZWwuYXV0aG9yfTwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuPiR7bW9kZWwuY3JlYXRlZERhdGV9PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwibW9kYWwtYm9keV9fdGV4dFwiPiR7bW9kZWwucmVhc29ufTwvcD5cclxuICAgICAgYCwgRGlhbG9nVHlwZS5jb25maXJtLFxyXG4gICAgICB1bmRlZmluZWQsIHVuZGVmaW5lZCwgbnVsbCwgdW5kZWZpbmVkLCAnJywgRGlhbG9nQ29sb3IueWVsbG93KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2VsZWN0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudmVyc2lvbnMgJiYgdGhpcy5zZWxlY3RlZFZlcnNpb24pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMudmVyc2lvbnMuZmluZChzID0+IHMuaWQgPT09IHRoaXMuc2VsZWN0ZWRWZXJzaW9uKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZENvbXBldGl0aW9uVmVyc2lvbkluZm8uZW1pdCh0aGlzLnNlbGVjdGVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0V2FybmluZ01lc3NhZ2VIdG1sKGN1c3RvbVRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWN1c3RvbVRleHQpIHtcclxuICAgICAgY3VzdG9tVGV4dCA9ICfQktC90LjQvNCw0L3QuNC1ISDQlNCw0L3QvdC+0LUg0LTQtdC50YHRgtCy0LjQtSDQvdC10LvRjNC30Y8g0L7RgtC80LXQvdC40YLRjCc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYDxkaXYgY2xhc3M9XCJiZy1uZXdzIHB4LTMgcHktMiByYWRpdXMtNCBteS0zIGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtci0zXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIiNhbGVydFwiPjwvdXNlPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtYWxsIG0tMCBib2xkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbG9yLW9yYW5nZVwiPlxyXG4gICAgICAgICAgICAgICAgICAke2N1c3RvbVRleHR9XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PmA7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lclwiICpuZ0lmPVwic2VsZWN0ZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDwhLS0g0J3QsNC30LLQsNC90LjQtSDRgdGD0LHRgdC40LTQuNC4L9C+0YLQsdC+0YDQsCAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW0gd3B4LTE2MCBtci0zXCI+XHJcbiAgICAgICAgICAgICAgICA8IS0tINCy0YHRgtCw0LLQuNGC0Ywg0L3QsNC30LLQsNC90LjQtSDRgdGD0YnQvdC+0YHRgtC4LCDQu9C40LHQviBcItCh0YPQsdGB0LjQtNC40Y9cIiDQu9C40LHQviBcItCe0YLQsdC+0YBcIiAtLT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1iYW5uZXItaXRlbV9fdGl0bGVcIiBteUNvbXBldGl0aW9uTGFiZWw+XHJcblxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPCEtLSDQvdCw0LfQstCw0L3QuNC1INGB0YPQsdGB0LjQtNC40Lgv0L7RgtCx0L7RgNCwIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSDQvtCz0YDQsNC90LjRh9C40YLRjCDQtNC70LjQvdGDINC90LDQt9Cy0LDQvdC40Y8g0LIgNDQg0YHQuNC80LLQvtC70L7QsiAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0g0LLRgdGC0LDQstC40YLRjCDQsiDRgtGD0LvRgtC40L8g0L/QvtC70L3QvtC1INC90LDQt9Cy0LDQvdC40LUg0YHRg9Cx0YHQuNC00LjQuC/QvtGC0LHQvtGA0LAgLS0+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1fX3RleHQgdGV4dC1ub3JtYWxcIiBteVRvb2x0aXAgW3Rvb2x0aXBdPVwic2VsZWN0ZWQubmFtZVwiIFt0b29sdGlwTWF4V2lkdGhdPVwiMzIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc2VsZWN0ZWQuc2hvcnROYW1lID8gc2VsZWN0ZWQuc2hvcnROYW1lIDogJ9Cd0LUg0YPQutCw0LfQsNC9JyB9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSDRgdGC0LDRgtGD0YEg0YHRg9Cx0YHQuNC00LjQuC/QvtGC0LHQvtGA0LAgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtIHdweC0xMTBcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1iYW5uZXItaXRlbV9fdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICDQodGC0LDRgtGD0YFcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwhLS0g0YHRgtCw0YLRg9GBINGB0YPQsdGB0LjQtNC40Lgv0L7RgtCx0L7RgNCwIC0tPlxyXG4gICAgICAgICAgICAgICAgPCEtLSDQtNC70Y8g0LfQsNC00LDQvdC40Y8g0YbQstC10YLQsCDQtNC+0LHQsNCy0LvRj9GC0Ywg0LrQu9Cw0YHRgdGLOiDQvtGA0LDQvdC20LXQstGL0LkgLSBcImNvbG9yLW9yYW5nZVwiLCDQt9C10LvQtdC90YvQuSAtIFwiY29sb3ItZ3JlZW5cIiAtLT5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mby1iYW5uZXItaXRlbV9fdGV4dFwiIFtuZ0NsYXNzXT1cImNvbXBldGl0aW9uQWdncmVnYXRlU3RhdHVzQ3NzQ2xhc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBjb21wZXRpdGlvbkFnZ3JlZ2F0ZVN0YXR1c0VudW1MYWJlbCB9fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tINGB0LXQu9C10LrRgiDRgSDQstGL0LHQvtGA0L7QvCDQstC10YDRgdC40LggLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW0gaW5mby1iYW5uZXItaXRlbV9pbnB1dCB3cHgtMjYwIG1yLTNcIiAqbmdJZj1cInZlcnNpb25zICYmIHZlcnNpb25zLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0Ym94IGlucHV0Ym94LW1kIG1iLTBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1zZWxlY3QgW2l0ZW1zXT1cInZlcnNpb25zXCIgW25nTW9kZWxdPVwic2VsZWN0ZWQuaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RWZXJzaW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZFZhbHVlPVwiaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBCeT1cInN0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdEZvdW5kVGV4dD1cItCd0LUg0L3QsNC50LTQtdC90L5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0Z3JvdXAtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7Z2V0Q29tcGV0aXRpb25WZXJzaW9uU3RhdHVzR3JvdXBwaW5nTGFiZWwoaXRlbS5zdGF0dXMpfX1cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pbmRleD1cImluZGV4XCIgbGV0LXNlYXJjaD1cInNlYXJjaFRlcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAg0JLQtdGA0YHQuNGPIHt7aXRlbS5udW19fSDQvtGCIHt7aXRlbS5jcmVhdGVkRGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAg0JLQtdGA0YHQuNGPIHt7aXRlbS5udW19fSDQvtGCIHt7aXRlbS5jcmVhdGVkRGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tINGB0YLQsNGC0LDRg9GBINCy0LXRgNGB0LjQuCAtLT5cclxuICAgICAgICA8IS0tINC90LUg0L/QvtC60LDQt9GL0LLQsNGC0YwsINC10YHQu9C4INC90LXRgiDQstC10YDRgdC40LkgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW0gd3B4LTExMFwiICpuZ0lmPVwidmVyc2lvbnMgJiYgdmVyc2lvbnMubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1fX3RpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICDQodGC0LDRgtGD0YEg0LLQtdGA0YHQuNC4XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSDRgdGC0LDRgtGD0YEg0LLQtdGA0YHQuNC4IC0tPlxyXG4gICAgICAgICAgICA8IS0tINC00LvRjyDQt9Cw0LTQsNC90LjRjyDRhtCy0LXRgtCwINC00L7QsdCw0LLQu9GP0YLRjCDQutC70LDRgdGB0Ys6INC+0YDQsNC90LbQtdCy0YvQuSAtIFwiY29sb3Itb3JhbmdlXCIsINC30LXQu9C10L3Ri9C5IC0gXCJjb2xvci1ncmVlblwiIC0tPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1fX3RleHRcIiAqbmdJZj1cInNlbGVjdGVkXCIgW25nQ2xhc3NdPVwidmVyc2lvblN0YXR1c0NsYXNzXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBnZXRDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtTGFiZWwoc2VsZWN0ZWQuc3RhdHVzKSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSDRg9C00LDQu9C10L3QuNC1LCDQstGL0LfQvtCyINC80L7QtNCw0LvQutC4LCDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1INC+0LEg0LLQvdC10YHQtdC90LjQuCDQuNC30LzQtdC90LXQvdC40LkgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1cIj5cclxuICAgICAgICAgICAgPCEtLSDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMLCDQtdGB0LvQuCDQvdC1INGC0YDQtdCx0YPQtdGC0YHRjyAtLT5cclxuICAgICAgICAgICAgPCEtLSBcItC60L7QvdCy0LXRgNGCXCIgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtX19pY29uXCIgKm5nSWY9XCJzaG93UmVqZWN0aW9uUmVhc29uXCJcclxuICAgICAgICAgICAgICAgIG15VG9vbHRpcFxyXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7RgdC80L7RgtGA0LXRgtGMINC/0YDQuNGH0LjQvdGDINC+0YLQutC70L7QvdC10L3QuNGPJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2hvd1JlamVjdGlvbihzZWxlY3RlZC5yZWplY3Rpb25SZWFzb24pXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCI2XCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjEyXCIgcng9XCIxXCIgc3Ryb2tlPVwiIzI4MjgyOFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMgNi4yNUwxMS4zMzU2IDEzLjY1OTVDMTEuNzE0NSAxMy45OTYyIDEyLjI4NTUgMTMuOTk2MiAxMi42NjQ0IDEzLjY1OTVMMjEgNi4yNVwiIHN0cm9rZT1cIiMyODI4MjhcIiBzdHJva2Utd2lkdGg9XCIxLjVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zIDE4TDcuNSAxNEw5Ljc1IDEyTTIxIDE4TDE2LjUgMTRMMTQuMjUgMTJcIiBzdHJva2U9XCIjMjgyODI4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8IS0tINGD0LTQsNC70LXQvdC40LUg0LLQtdGA0YHQuNC4IC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2FuRGVsZXRlVmVyc2lvblwiIChjbGljayk9XCJyZW1vdmVWZXJzaW9uKClcIiAgY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtX19pY29uXCIgbXlUb29sdGlwIFt0b29sdGlwXT1cIifQo9C00LDQu9C40YLRjCDQstC10YDRgdC40Y4nXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTMgNkg1SDIxXCIgc3Ryb2tlPVwiI0QxNDExNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTggNlY0QzggMy40Njk1NyA4LjIxMDcxIDIuOTYwODYgOC41ODU3OSAyLjU4NTc5QzguOTYwODYgMi4yMTA3MSA5LjQ2OTU3IDIgMTAgMkgxNEMxNC41MzA0IDIgMTUuMDM5MSAyLjIxMDcxIDE1LjQxNDIgMi41ODU3OUMxNS43ODkzIDIuOTYwODYgMTYgMy40Njk1NyAxNiA0VjZNMTkgNlYyMEMxOSAyMC41MzA0IDE4Ljc4OTMgMjEuMDM5MSAxOC40MTQyIDIxLjQxNDJDMTguMDM5MSAyMS43ODkzIDE3LjUzMDQgMjIgMTcgMjJIN0M2LjQ2OTU3IDIyIDUuOTYwODYgMjEuNzg5MyA1LjU4NTc5IDIxLjQxNDJDNS4yMTA3MSAyMS4wMzkxIDUgMjAuNTMwNCA1IDIwVjZIMTlaXCIgc3Ryb2tlPVwiI0QxNDExNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwIDExVjE3XCIgc3Ryb2tlPVwiI0QxNDExNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE0IDExVjE3XCIgc3Ryb2tlPVwiI0QxNDExNFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSDQstC+0YHQutC70LjRhtCw0YLQtdC70YzQvdGL0Lkg0LfQvdCw0LogLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaXNMYXN0VmVyc2lvblwiIGNsYXNzPVwiaW5mby1iYW5uZXItaXRlbV9faWNvblwiIG15VG9vbHRpcCBbdG9vbHRpcF09XCIn0JLQvdC10YHQtdC90LjQtSDQuNC30LzQtdC90LXQvdC40Lkg0LTQvtGB0YLRg9C/0L3QviDQvdCwINC/0L7RgdC70LXQtNC90LXQuSDQstC10YDRgdC40LgnXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEyLjIzMDIgMThWMTdNMTIuMjMwMiAxNFYxME00LjAwMjk4IDIxLjI1SDIwLjQ1NzVDMjEuOTk3MSAyMS4yNSAyMi45NTkzIDE5LjU4MzMgMjIuMTg5NSAxOC4yNUwxMy45NjIzIDRDMTMuMTkyNSAyLjY2NjY3IDExLjI2OCAyLjY2NjY3IDEwLjQ5ODIgNEwyLjI3MDkzIDE4LjI1QzEuNTAxMTMgMTkuNTgzMyAyLjQ2MzM4IDIxLjI1IDQuMDAyOTggMjEuMjVaXCIgc3Ryb2tlPVwiI0Q1N0IxQ1wiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXItY29udHJvbFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiISFjdXN0b21CdXR0b25zVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21CdXR0b25zVGVtcGxhdGUudGVtcGxhdGVSZWY7Y29udGV4dDpjdXN0b21CdXR0b25zVGVtcGxhdGVDb250ZXh0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1tZCBncmVlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNyZWF0ZVZlcnNpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYW5DcmVhdGVWZXJzaW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiY3JlYXRlVmVyc2lvbkRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICDQodGE0L7RgNC80LjRgNC+0LLQsNGC0Ywg0LjQt9C80LXQvdC10L3QuNGPXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1tZCBncmVlblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFjdGl2YXRlVmVyc2lvbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhbkFjdGl2YXRlVmVyc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGl2YXRlVmVyc2lvbkRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICDQntC/0YPQsdC70LjQutC+0LLQsNGC0YxcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW1kXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVWZXJzaW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FuVmFsaWRhdGVWZXJzaW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidmFsaWRhdGVWZXJzaW9uRGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgINCh0L7Qs9C70LDRgdC+0LLQsNC90LjQtVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhblJldHVyblRvRWRpdFwiIGNsYXNzPVwiYnRuIGJ0bi1tZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJhY2tUb0VkaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJhY2tUb0VkaXREaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAg0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YxcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwhLS0g0YPQv9GA0LDQstC70LXQvdC40LUg0YHRgtCw0YLRg9GB0L7QvC/QvtGC0LHQvtGA0L7QvCAtLT5cclxuICAgICAgICAgICAgPCEtLSDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINC10YHQu9C4INC90LUg0YLRgNC10LHRg9C10YLRgdGPIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXItY29udHJvbF9fYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbXBldGl0aW9uICYmIGNhblNlZVRocmVlRG90c1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWNvbnRyb2xfX2ljb25cIiAoY2xpY2spPVwic2hvd0NvbnRyb2xzKClcIiBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGlzQ29udHJvbH1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC41IDEyQzEwLjUgMTIuODI4NCAxMS4xNzE2IDEzLjUgMTIgMTMuNUMxMi44Mjg0IDEzLjUgMTMuNSAxMi44Mjg0IDEzLjUgMTJDMTMuNSAxMS4xNzE2IDEyLjgyODQgMTAuNSAxMiAxMC41QzExLjE3MTYgMTAuNSAxMC41IDExLjE3MTYgMTAuNSAxMlpcIiBmaWxsPVwiIzI1M0U0OVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC41IDE5QzEwLjUgMTkuODI4NCAxMS4xNzE2IDIwLjUgMTIgMjAuNUMxMi44Mjg0IDIwLjUgMTMuNSAxOS44Mjg0IDEzLjUgMTlDMTMuNSAxOC4xNzE2IDEyLjgyODQgMTcuNSAxMiAxNy41QzExLjE3MTYgMTcuNSAxMC41IDE4LjE3MTYgMTAuNSAxOVpcIiBmaWxsPVwiIzI1M0U0OVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC41IDVDMTAuNSA1LjgyODQzIDExLjE3MTYgNi41IDEyIDYuNUMxMi44Mjg0IDYuNSAxMy41IDUuODI4NDMgMTMuNSA1QzEzLjUgNC4xNzE1NyAxMi44Mjg0IDMuNSAxMiAzLjVDMTEuMTcxNiAzLjUgMTAuNSA0LjE3MTU3IDEwLjUgNVpcIiBmaWxsPVwiIzI1M0U0OVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ29udHJvbFwiIGNsYXNzPVwiaW5mby1iYW5uZXItY29udHJvbF9fbWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1jb250cm9sX19tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbXBldGl0aW9uLnN0YXR1cyA9PSBjb21wZXRpdGlvblN0YXR1c0VudW0uQWN0aXZlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBhdXNlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiNVwiIHk9XCIzXCIgd2lkdGg9XCI1XCIgaGVpZ2h0PVwiMThcIiByeD1cIjFcIiBmaWxsPVwiIzI1M0U0OVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9XCIxNFwiIHk9XCIzXCIgd2lkdGg9XCI1XCIgaGVpZ2h0PVwiMThcIiByeD1cIjFcIiBmaWxsPVwiIzI1M0U0OVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAg0J/RgNC40L7RgdGC0LDQvdC+0LLQuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1jb250cm9sX19tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21wZXRpdGlvbi5zdGF0dXMgPT0gY29tcGV0aXRpb25TdGF0dXNFbnVtLlN0YXlpbmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlc3RvcmUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMjAuNTUxOCAxMC44Mjc2QzIxLjIwNDQgMTEuMjE1MSAyMS4yMDQ0IDEyLjE1OTkgMjAuNTUxOCAxMi41NDc0TDUuNTEwNTQgMjEuNDc4MUM0Ljg0Mzk1IDIxLjg3MzkgNCAyMS4zOTM1IDQgMjAuNjE4M0w0IDIuNzU2NzRDNCAxLjk4MTUgNC44NDM5NSAxLjUwMTA5IDUuNTEwNTQgMS44OTY4OEwyMC41NTE4IDEwLjgyNzZaXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7cmVzdG9yZUJ1dHRvbk5hbWV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWNvbnRyb2xfX21lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBldGl0aW9uLnN0YXR1cyA9PSBjb21wZXRpdGlvblN0YXR1c0VudW0uQWN0aXZlIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wZXRpdGlvbi5zdGF0dXMgPT0gY29tcGV0aXRpb25TdGF0dXNFbnVtLlN0YXlpbmcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2hvd0NvbXBsZXRlQ29tcGV0aXRpb25CdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbXBsZXRlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgcng9XCIyXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCX0LDQstC10YDRiNC40YLRjFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWNvbnRyb2xfX21lbnUtaXRlbVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBldGl0aW9uLnN0YXR1cyA9PSBjb21wZXRpdGlvblN0YXR1c0VudW0uQWN0aXZlIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wZXRpdGlvbi5zdGF0dXMgPT0gY29tcGV0aXRpb25TdGF0dXNFbnVtLlN0YXlpbmcgfHxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBldGl0aW9uLnN0YXR1cyA9PSBjb21wZXRpdGlvblN0YXR1c0VudW0uQ2FuY2VsZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgc2hvd0NhbmNlbENvbXBldGl0aW9uQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk0xOS43Njc3IDQuMjMyMTNDMjEuNTM1NCA1Ljk5OTkgMjAuNzQ0IDYuNzkxMzUgMTkuNzY3NyA3Ljc2NzY2TDcuNzY3NzEgMTkuNzY3N0M2Ljc5MTQgMjAuNzQ0IDUuOTk5ODcgMjEuNTM1NSA0LjIzMjE3IDE5Ljc2NzdDMi40NjQ1NCAxNy45OTk5IDMuMjU1ODYgMTcuMjA4NCA0LjIzMjE3IDE2LjIzMjFMMTYuMjMyMiA0LjIzMjEzQzE3LjIwODUgMy4yNTU4MiAxOCAyLjQ2NDUzIDE5Ljc2NzcgNC4yMzIxM1pcIiBmaWxsPVwiIzI1M0U0OVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk00LjIzMjIyIDQuMjMxOTZDNS45NjQ0NSAyLjQ5OTkxIDYuNzkxNDQgMy4yNTU2NSA3Ljc2Nzc1IDQuMjMxOTZMMTkuNzY3OCAxNi4yMzJDMjAuNzQ0MSAxNy4yMDgzIDIxLjUgMTguMDM1MyAxOS43Njc4IDE5Ljc2NzVDMTguMDM1NSAyMS40OTk3IDE3LjIwODUgMjAuNzQzOCAxNi4yMzIyIDE5Ljc2NzVMNC4yMzIyMiA3Ljc2NzVDMy4yNTU5MSA2Ljc5MTE5IDIuNDY0MjkgNiA0LjIzMjIyIDQuMjMxOTZaXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7Y2FuY2VsQ29tcGV0aXRpb25CdXR0b25MYWJlbH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzQ29udHJvbFwiIGNsYXNzPVwiaW5mby1iYW5uZXItY29udHJvbF9fYmdcIiAoY2xpY2spPVwiaGlkZUNvbnRyb2xzKClcIj48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
446
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1tZi1jb21wZXRpdGlvbi9zcmMvbGliL21vZHVsZXMvY29tcGV0aXRpb24taGVhZGVyL2NvbXBvbmVudHMvY29tcGV0aXRpb24taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1tZi1jb21wZXRpdGlvbi9zcmMvbGliL21vZHVsZXMvY29tcGV0aXRpb24taGVhZGVyL2NvbXBvbmVudHMvY29tcGV0aXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxVQUFVLEVBRVYsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixzQkFBc0IsRUFFdEIseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUM1QixpQ0FBaUMsRUFDakMsc0NBQXNDLEVBQ3ZDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsK0JBQStCLEVBQy9CLDhCQUE4QixFQUM5QixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN6QixNQUFNLHFDQUFxQyxDQUFDO0FBRTdDLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsa0NBQWtDLEVBQ2xDLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFD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QUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQixDQUFDLGFBQWlDLFNBQVM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLFVBQVUsR0FBRywyQ0FBMkMsQ0FBQztTQUMxRDtRQUNELE9BQU87Ozs7Ozs7O29CQVFTLFVBQVU7OzttQkFHWCxDQUFDO0lBQ2xCLENBQUM7O3dIQXRkVSwwQkFBMEI7NEdBQTFCLDBCQUEwQiw4WUFFdkIsdUNBQXVDLHVFQ3pEdkQsaThnQkEwTEE7NEZEbklhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDRSx3QkFBd0I7aUpBTTNCLHFCQUFxQjtzQkFEM0IsWUFBWTt1QkFBQyx1Q0FBdUM7Z0JBSTlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMscUJBQXFCO3NCQUQzQixLQUFLO2dCQUlDLHdCQUF3QjtzQkFEOUIsS0FBSztnQkFJQyx5QkFBeUI7c0JBRC9CLEtBQUs7Z0JBSUMsOEJBQThCO3NCQURwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IENvbXBldGl0aW9uVmVyc2lvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2NvbXBldGl0aW9uLXZlcnNpb24ubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBldGl0aW9uTW9kZUVudW0sXHJcbiAgQ29tcGV0aXRpb25TdGF0dXNFbnVtLFxyXG4gIENvbXBldGl0aW9uU3RhdHVzRW51bUxhYmVsLFxyXG4gIERpYWxvZ0NvbG9yLFxyXG4gIERpYWxvZ1R5cGUsXHJcbiAgQWxlcnRTZXJ2aWNlLFxyXG4gIFVuU3Vic2NyaWJlcixcclxuICBzZWxlY3RDb21wZXRpdGlvbkNvbmZpZyxcclxuICBzZWxlY3RDb21wZXRpdGlvbkxhYmVsLFxyXG4gIENvbXBldGl0aW9uQ29uZmlnTW9kZWwsXHJcbiAgQ2FuY2VsQ29tcGV0aXRpb25UeXBlRW51bSxcclxuICBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLFxyXG4gIENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW1MYWJlbCxcclxuICBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNHcm91cHBpbmdMYWJlbFxyXG59IGZyb20gJ215cnRleC1tZi11aS1jb21wb3NpdGUnO1xyXG5pbXBvcnQge1xyXG4gIGFjdGl2YXRlQ29tcGV0aXRpb24sXHJcbiAgY2FuY2VsQ29tcGV0aXRpb24sXHJcbiAgY2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbixcclxuICBjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMsXHJcbiAgY29tcGxldGVDb21wZXRpdGlvbixcclxuICBjcmVhdGVDb21wZXRpdGlvblZlcnNpb24sXHJcbiAgZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uLFxyXG4gIGxvYWRDb21wZXRpdGlvbkhlYWRlcixcclxuICBwYXVzZUNvbXBldGl0aW9uLFxyXG4gIHNlbGVjdENvbXBldGl0aW9uVmVyc2lvblxyXG59IGZyb20gJy4uL3N0b3JlL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25TdGF0dXNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9jb21wZXRpdGlvbi1zdGF0dXMubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIHNlbGVjdEFjdGl2aXR5SWQsXHJcbiAgc2VsZWN0Q29tcGV0aXRpb25TZWxlY3RlZFZlcnNpb25JZCxcclxuICBzZWxlY3RDb21wZXRpdGlvblN0YXR1cyxcclxuICBzZWxlY3RDb21wZXRpdGlvblZlcnNpb25zLFxyXG4gIHNlbGVjdE1hbnVhbFZlcnNpb25TdGF0dXNDaGFuZ2VkXHJcbn0gZnJvbSAnLi4vc3RvcmUvY29tcGV0aXRpb24taGVhZGVyLnNlbGVjdG9yJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25IZWFkZXJDdXN0b21CdXR0b25zRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9jb21wZXRpdGlvbi1oZWFkZXItY3VzdG9tLWJ1dHRvbnMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29tcGV0aXRpb25SZWplY3Rpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFNpZ25TZXJ2aWNlIH0gZnJvbSAnbXlydGV4LW1mLXNpZ25lcic7XHJcblxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIHZhbGlkYXRlVmVyc2lvbkZuID0gKChwYXJhbTogc3RyaW5nLCBvblZhbGlkYXRlZDogKCkgPT4gdm9pZCkgPT4gdm9pZCk7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgaW50ZXJmYWNlIFdpbmRvdyB7XHJcbiAgICBDcnlwdG9JbnRlcmNlcHRvcjogYW55O1xyXG4gIH1cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtY29tcGV0aXRpb24taGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29tcGV0aXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcGV0aXRpb25IZWFkZXJDb21wb25lbnQgZXh0ZW5kcyBVblN1YnNjcmliZXIgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAQ29udGVudENoaWxkKENvbXBldGl0aW9uSGVhZGVyQ3VzdG9tQnV0dG9uc0RpcmVjdGl2ZSlcclxuICBwdWJsaWMgY3VzdG9tQnV0dG9uc1RlbXBsYXRlITogQ29tcGV0aXRpb25IZWFkZXJDdXN0b21CdXR0b25zRGlyZWN0aXZlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjYW5DaGFuZ2VTdGF0dXMgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWxpZGF0ZVZlcnNpb25BY3Rpb246IHVuZGVmaW5lZCB8IHZhbGlkYXRlVmVyc2lvbkZuID0gdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3M6ICgoKCkgPT4gYm9vbGVhbikgfCB1bmRlZmluZWQpID0gdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWxpZGF0ZVBpYmxpY2F0aW9uQWNjZXNzOiAoKCgpID0+IGJvb2xlYW4pIHwgdW5kZWZpbmVkKSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNlbGVjdGVkQ29tcGV0aXRpb25WZXJzaW9uSW5mbyA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tcGV0aXRpb25WZXJzaW9uTW9kZWw+KCk7XHJcblxyXG4gIHB1YmxpYyBjb21wZXRpdGlvbjogQ29tcGV0aXRpb25TdGF0dXNNb2RlbCB8IHVuZGVmaW5lZDtcclxuICBwdWJsaWMgdmVyc2lvbnM6IENvbXBldGl0aW9uVmVyc2lvbk1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWQ6IENvbXBldGl0aW9uVmVyc2lvbk1vZGVsIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBzZWxlY3RlZFZlcnNpb24gPSAnJztcclxuICBwdWJsaWMgY29tcGV0aXRpb25TdGF0dXNFbnVtID0gQ29tcGV0aXRpb25TdGF0dXNFbnVtO1xyXG4gIHB1YmxpYyBjYW5jZWxDb21wZXRpdGlvblR5cGVFbnVtID0gQ2FuY2VsQ29tcGV0aXRpb25UeXBlRW51bTtcclxuICBwdWJsaWMgY29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSA9IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW07XHJcbiAgcHVibGljIGNvbXBldGl0aW9uTGFiZWwgPSAnJztcclxuICBwdWJsaWMgc2hvd0NhbmNlbENvbXBldGl0aW9uQnV0dG9uID0gZmFsc2U7XHJcbiAgcHVibGljIGNhbmNlbENvbXBldGl0aW9uQnV0dG9uTGFiZWwgPSAn0J7RgtC80LXQvdC40YLRjCDQvtGC0LHQvtGAJztcclxuICBwdWJsaWMgY29tcGV0aXRpb25Db25maWc6IENvbXBldGl0aW9uQ29uZmlnTW9kZWwgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNob3dDb21wbGV0ZUNvbXBldGl0aW9uQnV0dG9uID0gZmFsc2U7XHJcbiAgcHVibGljIHJlc3RvcmVCdXR0b25OYW1lID0gJ9CS0L7Qt9C+0LHQvdC+0LLQuNGC0YwnO1xyXG4gIHB1YmxpYyBpc0NvbnRyb2wgPSBmYWxzZTtcclxuICBwcml2YXRlIF9zaWduQ2FsbGJhY2s6IGFueTtcclxuICBwcml2YXRlIF9hY3Rpdml0eUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2lnblNlcnZpY2U6IFNpZ25TZXJ2aWNlLCBwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY29tcGV0aXRpb25BZ2dyZWdhdGVTdGF0dXNFbnVtTGFiZWwoKSB7XHJcbiAgICBpZiAodGhpcy52ZXJzaW9ucyAmJiB0aGlzLnZlcnNpb25zLmxlbmd0aCA9PSAxICYmIHRoaXMuc2VsZWN0ZWRcclxuICAgICAgJiYgdGhpcy5zZWxlY3RlZC5zdGF0dXMgIT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQWN0aXZlKSB7XHJcbiAgICAgIHJldHVybiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtTGFiZWxbdGhpcy5zZWxlY3RlZC5zdGF0dXNdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb24gPyBDb21wZXRpdGlvblN0YXR1c0VudW1MYWJlbFt0aGlzLmNvbXBldGl0aW9uLnN0YXR1c10gOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY29tcGV0aXRpb25BZ2dyZWdhdGVTdGF0dXNDc3NDbGFzcygpOiBhbnkge1xyXG4gICAgaWYgKHRoaXMudmVyc2lvbnMgJiYgdGhpcy52ZXJzaW9ucy5sZW5ndGggPT0gMSAmJiB0aGlzLnNlbGVjdGVkXHJcbiAgICAgICYmICh0aGlzLmNvbXBldGl0aW9uPy5zdGF0dXMgfHwgQ29tcGV0aXRpb25TdGF0dXNFbnVtLk5ldykgPD0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLkFjdGl2ZSkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgICcnOiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgIT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQWN0aXZlLFxyXG4gICAgICAgICdjb2xvci1ncmVlbic6IHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmUsXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICcnOiB0aGlzLmNvbXBldGl0aW9uPy5zdGF0dXMgPT09IENvbXBldGl0aW9uU3RhdHVzRW51bS5OZXdcclxuICAgICAgICB8fCB0aGlzLmNvbXBldGl0aW9uPy5zdGF0dXMgIT09IENvbXBldGl0aW9uU3RhdHVzRW51bS5Db21wbGV0ZWQsXHJcbiAgICAgICdjb2xvci1ncmVlbic6IHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLkFjdGl2ZSxcclxuICAgICAgJ2NvbG9yLW9yYW5nZSc6IHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLlN0YXlpbmcsXHJcbiAgICAgICdjb2xvci1yZWQnOiB0aGlzLmNvbXBldGl0aW9uPy5zdGF0dXMgPT09IENvbXBldGl0aW9uU3RhdHVzRW51bS5DYW5jZWxlZFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjYW5DcmVhdGVWZXJzaW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNMYXN0VmVyc2lvbiAmJiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQWN0aXZlICYmXHJcbiAgICAgICAgdGhpcy5jb21wZXRpdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuY29tcGV0aXRpb24ubW9kZSA+IENvbXBldGl0aW9uTW9kZUVudW0uQmFzZVxyXG4gICAgICAgICYmIChcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uQWN0aXZlIHx8XHJcbiAgICAgICAgICB0aGlzLmNvbXBldGl0aW9uLnN0YXR1cyA9PT0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLlN0YXlpbmcgfHxcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uQ2FuY2VsZWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaXNMYXN0VmVyc2lvbiAmJiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQWN0aXZlICYmXHJcbiAgICAgICAgdGhpcy5jb21wZXRpdGlvbiAhPT0gdW5kZWZpbmVkICYmIHRoaXMuY29tcGV0aXRpb24ubW9kZSA+IENvbXBldGl0aW9uTW9kZUVudW0uQmFzZVxyXG4gICAgICAgICYmIChcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uQWN0aXZlIHx8XHJcbiAgICAgICAgICB0aGlzLmNvbXBldGl0aW9uLnN0YXR1cyA9PT0gQ29tcGV0aXRpb25TdGF0dXNFbnVtLlN0YXlpbmcgfHxcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24uc3RhdHVzID09PSBDb21wZXRpdGlvblN0YXR1c0VudW0uQ2FuY2VsZWQpICYmXHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FuRGVsZXRlVmVyc2lvbigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IHRoaXMuY29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdFxyXG4gICAgICAgICYmIHRoaXMudmVyc2lvbnNcclxuICAgICAgICAmJiB0aGlzLnZlcnNpb25zLmxlbmd0aCA+IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSB0aGlzLmNvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uRHJhZnRcclxuICAgICAgICAmJiB0aGlzLnZlcnNpb25zXHJcbiAgICAgICAgJiYgdGhpcy52ZXJzaW9ucy5sZW5ndGggPiAxXHJcbiAgICAgICAgJiYgdGhpcy52YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY2FuQWN0aXZhdGVWZXJzaW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVQaWJsaWNhdGlvbkFjY2VzcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiAodGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkRyYWZ0ICYmXHJcbiAgICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5tb2RlICE9PSBDb21wZXRpdGlvbk1vZGVFbnVtLlZlcnNpb25lZEV4dGVuZGVkKSB8fFxyXG4gICAgICAgICgodGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkNvbmZpcm1lZCB8fFxyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uVmFsaWRhdGlvbikgJiZcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24/Lm1vZGUgPT09IENvbXBldGl0aW9uTW9kZUVudW0uVmVyc2lvbmVkRXh0ZW5kZWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICh0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uRHJhZnQgJiZcclxuICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24/Lm1vZGUgIT09IENvbXBldGl0aW9uTW9kZUVudW0uVmVyc2lvbmVkRXh0ZW5kZWQpIHx8XHJcbiAgICAgICAgKCh0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQ29uZmlybWVkIHx8XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5WYWxpZGF0aW9uKSAmJlxyXG4gICAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8ubW9kZSA9PT0gQ29tcGV0aXRpb25Nb2RlRW51bS5WZXJzaW9uZWRFeHRlbmRlZCkgJiZcclxuICAgICAgICB0aGlzLnZhbGlkYXRlUGlibGljYXRpb25BY2Nlc3MoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZhdGVWZXJzaW9uRGlzYWJsZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAodGhpcy52YWxpZGF0ZVBpYmxpY2F0aW9uQWNjZXNzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuICghdGhpcy5jYW5DaGFuZ2VTdGF0dXMgfHxcclxuICAgICAgICAoKHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyAhPT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdCAmJlxyXG4gICAgICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5tb2RlICE9PSBDb21wZXRpdGlvbk1vZGVFbnVtLlZlcnNpb25lZEV4dGVuZGVkKSB8fFxyXG4gICAgICAgICAgKHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyAhPT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5Db25maXJtZWQgJiZcclxuICAgICAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8ubW9kZSA9PT0gQ29tcGV0aXRpb25Nb2RlRW51bS5WZXJzaW9uZWRFeHRlbmRlZCkpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoIXRoaXMuY2FuQ2hhbmdlU3RhdHVzIHx8XHJcbiAgICAgICAgICAoKHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyAhPT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdCAmJlxyXG4gICAgICAgICAgICAgIHRoaXMuY29tcGV0aXRpb24/Lm1vZGUgIT09IENvbXBldGl0aW9uTW9kZUVudW0uVmVyc2lvbmVkRXh0ZW5kZWQpIHx8XHJcbiAgICAgICAgICAgICh0aGlzLnNlbGVjdGVkPy5zdGF0dXMgIT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQ29uZmlybWVkICYmXHJcbiAgICAgICAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8ubW9kZSA9PT0gQ29tcGV0aXRpb25Nb2RlRW51bS5WZXJzaW9uZWRFeHRlbmRlZCkpKSAmJlxyXG4gICAgICAgIHRoaXMudmFsaWRhdGVQaWJsaWNhdGlvbkFjY2VzcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB2YWxpZGF0ZVZlcnNpb25EaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlUGlibGljYXRpb25BY2Nlc3MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gIXRoaXMuY2FuQ2hhbmdlU3RhdHVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICF0aGlzLmNhbkNoYW5nZVN0YXR1cyAmJiAhIXRoaXMudmFsaWRhdGVQaWJsaWNhdGlvbkFjY2VzcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjcmVhdGVWZXJzaW9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy52YWxpZGF0ZU1hbmFnZW1lbnRBY2Nlc3MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gIXRoaXMuY2FuQ2hhbmdlU3RhdHVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgdmFsaWRhdGlvblJlcyA9IHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzKCk7XHJcbiAgICAgIHJldHVybiAhdGhpcy5jYW5DaGFuZ2VTdGF0dXMgJiYgdmFsaWRhdGlvblJlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYmFja1RvRWRpdERpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuICF0aGlzLmNhbkNoYW5nZVN0YXR1cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXMgPSB0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcygpO1xyXG4gICAgICByZXR1cm4gIXRoaXMuY2FuQ2hhbmdlU3RhdHVzICYmIHZhbGlkYXRpb25SZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhblZhbGlkYXRlVmVyc2lvbigpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlUGlibGljYXRpb25BY2Nlc3MgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLkRyYWZ0ICYmXHJcbiAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8ubW9kZSA9PT0gQ29tcGV0aXRpb25Nb2RlRW51bS5WZXJzaW9uZWRFeHRlbmRlZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uRHJhZnQgJiZcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5tb2RlID09PSBDb21wZXRpdGlvbk1vZGVFbnVtLlZlcnNpb25lZEV4dGVuZGVkICYmXHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZVBpYmxpY2F0aW9uQWNjZXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzTGFzdFZlcnNpb24oKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy52ZXJzaW9ucz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBtID0gTWF0aC5tYXgoLi4udGhpcy52ZXJzaW9ucy5tYXAoeCA9PiB4Lm51bSkpO1xyXG4gICAgICByZXR1cm4gbSA9PT0gdGhpcy5zZWxlY3RlZD8ubnVtO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93UmVqZWN0aW9uUmVhc29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5zZWxlY3RlZD8ucmVqZWN0aW9uUmVhc29uICYmXHJcbiAgICAgICh0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uRHJhZnRcclxuICAgICAgICB8fCB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uUmVqZWN0ZWQpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZlcnNpb25TdGF0dXNDbGFzcygpOiBhbnkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJyc6IHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyAhPT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmUsXHJcbiAgICAgICdjb2xvci1ncmVlbic6IHRoaXMuc2VsZWN0ZWQ/LnN0YXR1cyA9PT0gQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5BY3RpdmVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiDQmtC+0L3RgtC10LrRgdGCINC00LvRjyDQutCw0YHRgtC+0LzQvdGL0YUg0LrQvdC+0L/QvtC6LCDQvNC+0LbQtdGCINGA0LDRgdGI0LjRgNGP0YLRjNGB0Y8gKi9cclxuICBwdWJsaWMgZ2V0IGN1c3RvbUJ1dHRvbnNUZW1wbGF0ZUNvbnRleHQoKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGFjdGl2aXR5SWQ6IHRoaXMuX2FjdGl2aXR5SWQsXHJcbiAgICAgIGNvbXBldGl0aW9uSWQ6IHRoaXMuY29tcGV0aXRpb24/LmlkLFxyXG4gICAgICBjb21wZXRpdGlvblZlcnNpb25JZDogdGhpcy5zZWxlY3RlZD8uaWRcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhblJldHVyblRvRWRpdCgpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkPy5zdGF0dXMgPT09IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uUmVqZWN0ZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZD8uc3RhdHVzID09PSBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtLlJlamVjdGVkICYmIHRoaXMudmFsaWRhdGVNYW5hZ2VtZW50QWNjZXNzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhblNlZVRocmVlRG90cygpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlTWFuYWdlbWVudEFjY2VzcygpICYmXHJcbiAgICAgICAgdGhpcy5jb21wZXRpdGlvbj8uc3RhdHVzICE9IHRoaXMuY29tcGV0aXRpb25TdGF0dXNFbnVtLk5ldyAmJlxyXG4gICAgICAgIHRoaXMuY29tcGV0aXRpb24/LnN0YXR1cyAhPSB0aGlzLmNvbXBldGl0aW9uU3RhdHVzRW51bS5Db21wbGV0ZWQgJiZcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uPy5zdGF0dXMgIT0gdGhpcy5jb21wZXRpdGlvblN0YXR1c0VudW0uTm90UGxhY2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGxvYWRDb21wZXRpdGlvbkhlYWRlcigpKTtcclxuICAgIHRoaXMuYXBwZW5kU3Vic2NyaXB0aW9uKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25WZXJzaW9ucykpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy52ZXJzaW9ucyA9IHJlc3VsdDtcclxuICAgICAgICB0aGlzLnNlbGVjdCgpO1xyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcbiAgICB0aGlzLmFwcGVuZFN1YnNjcmlwdGlvbih0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uU2VsZWN0ZWRWZXJzaW9uSWQpKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWZXJzaW9uID0gcmVzdWx0O1xyXG4gICAgICAgIHRoaXMuc2VsZWN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLmFwcGVuZFN1YnNjcmlwdGlvbih0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uU3RhdHVzKSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uID0gcmVzdWx0O1xyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5hcHBlbmRTdWJzY3JpcHRpb24odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbkxhYmVsKSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuY29tcGV0aXRpb25MYWJlbCA9IHJlc3VsdDtcclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLmFwcGVuZFN1YnNjcmlwdGlvbih0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdEFjdGl2aXR5SWQpKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgdGhpcy5fYWN0aXZpdHlJZCA9IHJlc3VsdDtcclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLmFwcGVuZFN1YnNjcmlwdGlvbih0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uQ29uZmlnKSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLmNvbXBldGl0aW9uQ29uZmlnID0gcmVzdWx0O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb21wZXRpdGlvbkNvbmZpZy5jYW5jZWxDb21wZXRpdGlvbkxhYmVsKSB7XHJcbiAgICAgICAgICB0aGlzLmNhbmNlbENvbXBldGl0aW9uQnV0dG9uTGFiZWwgPSB0aGlzLmNvbXBldGl0aW9uQ29uZmlnLmNhbmNlbENvbXBldGl0aW9uTGFiZWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNvbXBldGl0aW9uQ29uZmlnLmNhbmNlbENvbXBldGl0aW9uVHlwZVxyXG4gICAgICAgICAgJiYgdGhpcy5jb21wZXRpdGlvbkNvbmZpZy5jYW5jZWxDb21wZXRpdGlvblR5cGUgPiB0aGlzLmNhbmNlbENvbXBldGl0aW9uVHlwZUVudW0uRGlzYWJsZWQpIHtcclxuICAgICAgICAgIHRoaXMuc2hvd0NhbmNlbENvbXBldGl0aW9uQnV0dG9uID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaG93Q29tcGxldGVDb21wZXRpdGlvbkJ1dHRvbiA9IHRoaXMuY29tcGV0aXRpb25Db25maWcuc2hvd0NvbXBsZXRlQ29tcGV0aXRpb25CdXR0b247XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcGV0aXRpb25Db25maWcucmVzdG9yZUJ1dHRvbk5hbWUpIHtcclxuICAgICAgICAgIHRoaXMucmVzdG9yZUJ1dHRvbk5hbWUgPSB0aGlzLmNvbXBldGl0aW9uQ29uZmlnLnJlc3RvcmVCdXR0b25OYW1lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuYXBwZW5kU3Vic2NyaXB0aW9uKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0TWFudWFsVmVyc2lvblN0YXR1c0NoYW5nZWQpKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgLy8g0L/RgNC+0LjQt9C+0YjQu9C+INGA0YPRh9C90L7QtSDQuNC30LzQtdC90LXQvdC40LUg0YHRgtCw0YLRg9GB0LAsINGC0L7Qu9C60LDQtdC8INC00LDQu9GM0YjQtSDQv9C+INGC0LDQudC80LDRg9GC0YNcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3RlZDtcclxuICAgICAgICAgIGlmIChzZWxlY3RlZEl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMoe1xyXG4gICAgICAgICAgICAgIHZlcnNpb25JZDogc2VsZWN0ZWRJdGVtLmlkLFxyXG4gICAgICAgICAgICAgIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5Db25maXJtZWRcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEwMDAwKTtcclxuICAgICAgfVxyXG4gICAgfSkpO1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bUxhYmVsKHZhbHVlOiBhbnkpIHtcclxuICAgIHJldHVybiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtTGFiZWxbdmFsdWUgYXMgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bV07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29tcGV0aXRpb25WZXJzaW9uU3RhdHVzR3JvdXBwaW5nTGFiZWwodmFsdWU6IGFueSkge1xyXG4gICAgcmV0dXJuIENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0dyb3VwcGluZ0xhYmVsW3ZhbHVlIGFzIENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW1dO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZVZlcnNpb24oKTogdm9pZCB7XHJcbiAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93RGlhbG9nKHtcclxuICAgICAgdGl0bGU6IGDQpNC+0YDQvNC40YDQvtCy0LDQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5YCxcclxuICAgICAgbWVzc2FnZTpcclxuICAgICAgICBgJHt0aGlzLmdldFdhcm5pbmdNZXNzYWdlSHRtbCgn0JLQvdC40LzQsNC90LjQtSEg0KTQvtGA0LzQuNGA0L7QstCw0L3QuNC1INC40LfQvNC10L3QtdC90LjQuSDQv9GA0LjQstC10LTQtdGCINC6INGB0L7Qt9C00LDQvdC40Y4g0L3QvtCy0L7QuSDQstC10YDRgdC40Lgg0L7RgtCx0L7RgNCwJyl9XHJcbiAgICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICAgINCS0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGB0YTQvtGA0LzQuNGA0L7QstCw0YLRjCDQuNC30LzQtdC90LXQvdC40Y8/XHJcbiAgICAgICAgICAgIDwvcD5gLFxyXG4gICAgICBjb2xvcjogRGlhbG9nQ29sb3IueWVsbG93LFxyXG4gICAgICB0eXBlOiBEaWFsb2dUeXBlLmNvbmZpcm0sXHJcbiAgICAgIG9rTGFiZWw6ICfQn9C+0LTRgtCy0LXRgNC00LjRgtGMJyxcclxuICAgICAgY2FuY2VsTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJyxcclxuICAgICAgb2tDYWxsYmFjazogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uKCkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhY3RpdmF0ZVZlcnNpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93RGlhbG9nKHtcclxuICAgICAgICB0aXRsZTogYNCf0YPQsdC70LjQutCw0YbQuNGPICR7dGhpcy5jb21wZXRpdGlvbkxhYmVsfdCwYCxcclxuICAgICAgICBtZXNzYWdlOiBgJHt0aGlzLmdldFdhcm5pbmdNZXNzYWdlSHRtbCgpfVxyXG4gICAgICAgICAgICA8cD5cclxuICAgICAgICAgICAgICDQktGLINC00LXQudGB0YLQstC40YLQtdC70YzQvdC+INGF0L7RgtC40YLQtSDQvtC/0YPQsdC70LjQutC+0LLQsNGC0YwgJHt0aGlzLmNvbXBldGl0aW9uTGFiZWx9P1xyXG4gICAgICAgICAgICA8L3A+YCxcclxuICAgICAgICBjb2xvcjogRGlhbG9nQ29sb3IueWVsbG93LFxyXG4gICAgICAgIHR5cGU6IERpYWxvZ1R5cGUuY29uZmlybSxcclxuICAgICAgICBva0xhYmVsOiAn0J/QvtC00YLQstC10YDQtNC40YLRjCcsXHJcbiAgICAgICAgY2FuY2VsTGFiZWw6ICfQntGC0LzQtdC90LjRgtGMJyxcclxuICAgICAgICBva0NhbGxiYWNrOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyh7XHJcbiAgICAgICAgICAgIHZlcnNpb25JZDogc2VsZWN0ZWRJdGVtLmlkLFxyXG4gICAgICAgICAgICBzdGF0dXM6IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0uQWN0aXZlXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyB2YWxpZGF0ZVZlcnNpb24oKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkO1xyXG5cclxuICAgICAgaWYgKHRoaXMudmFsaWRhdGVWZXJzaW9uQWN0aW9uKSB7XHJcbiAgICAgICAgdGhpcy52YWxpZGF0ZVZlcnNpb25BY3Rpb24oc2VsZWN0ZWRJdGVtLmlkLCAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNpZ25TZXJ2aWNlLnNpZ24oe1xyXG4gICAgICAgICAgICB0aXRsZTogJ9Cd0LDQv9GA0LDQstC70LXQvdC40LUg0LTQvtC60YPQvNC10L3RgtCwINC90LAg0YHQvtCz0LvQsNGB0L7QstCw0L3QuNC1JyxcclxuICAgICAgICAgICAgb2tMYWJlbDogJ9Ce0YLQv9GA0LDQstC40YLRjCcsXHJcbiAgICAgICAgICAgIGNhbmNlbExhYmVsOiAn0J7RgtC80LXQvdC40YLRjCcsXHJcbiAgICAgICAgICAgIHBkZlVybDogYC9tLWRhdGEvbWluZmluL3BkZi1jb21wZXRpdGlvbi8ke3NlbGVjdGVkSXRlbS5pZH1gLFxyXG4gICAgICAgICAgICB4bWxVcmw6IGAvbS1kYXRhL21pbmZpbi94bWwtY29tcGV0aXRpb24vJHtzZWxlY3RlZEl0ZW0uaWR9YCxcclxuICAgICAgICAgICAgcHJvdmlkZXI6ICdlbXB0eSdcclxuICAgICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMoe1xyXG4gICAgICAgICAgICAgIHZlcnNpb25JZDogc2VsZWN0ZWRJdGVtLmlkLFxyXG4gICAgICAgICAgICAgIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5WYWxpZGF0aW9uXHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIH0sICgpID0+IHtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVWZXJzaW9uKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gdGhpcy5zZWxlY3RlZDtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd0RpYWxvZyhg0KPQtNCw0LvQuNGC0Ywg0LLQtdGA0YHQuNGOICAke3RoaXMuY29tcGV0aXRpb25MYWJlbH3QsD9gLFxyXG4gICAgICAgIGAke3RoaXMuZ2V0V2FybmluZ01lc3NhZ2VIdG1sKCl9XHJcbiAgICAgIDxwPlxyXG4gICAgICAgINCS0Ysg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMINCy0LXRgNGB0LjRjiAke3RoaXMuY29tcGV0aXRpb25MYWJlbD8udG9Mb3dlckNhc2UoKX3QsD9cclxuICAgICAgPC9wPmAsXHJcbiAgICAgICAgRGlhbG9nVHlwZS5jb25maXJtLCAob2spID0+IHtcclxuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uKHt2ZXJzaW9uSWQ6IHNlbGVjdGVkSXRlbS5pZH0pKTtcclxuICAgICAgICB9LCB1bmRlZmluZWQsIG51bGwsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBEaWFsb2dDb2xvci5yZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlc3RvcmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGVDb250cm9scygpO1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd0RpYWxvZyhg0JLQvtC30L7QsdC90L7QstC40YLRjCAke3RoaXMuY29tcGV0aXRpb25MYWJlbH0/YCwgbnVsbCwgRGlhbG9nVHlwZS5jb25maXJtLCAob2spID0+IHtcclxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChhY3RpdmF0ZUNvbXBldGl0aW9uKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF1c2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGVDb250cm9scygpO1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd0RpYWxvZyhg0J/RgNC40L7RgdGC0LDQvdC+0LLQuNGC0YwgJHt0aGlzLmNvbXBldGl0aW9uTGFiZWx9P2AsIG51bGwsIERpYWxvZ1R5cGUuY29uZmlybSwgKG9rKSA9PiB7XHJcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gocGF1c2VDb21wZXRpdGlvbigpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlkZUNvbnRyb2xzKCk7XHJcbiAgICBpZiAodGhpcy5jb21wZXRpdGlvbkNvbmZpZyAmJiB0aGlzLmNvbXBldGl0aW9uQ29uZmlnLmNhbmNlbENvbXBldGl0aW9uVHlwZSA9PSB0aGlzLmNhbmNlbENvbXBldGl0aW9uVHlwZUVudW0uV2l0aFZhbGlkYXRpb24pIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW0gPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goY2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbih7dmVyc2lvbklkOiBzZWxlY3RlZEl0ZW0uaWR9KSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dEaWFsb2coYNCe0YLQvNC10L3QuNGC0YwgJHt0aGlzLmNvbXBldGl0aW9uTGFiZWx9P2AsIG51bGwsIERpYWxvZ1R5cGUuY29uZmlybSwgKG9rKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChjYW5jZWxDb21wZXRpdGlvbigpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tcGxldGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGVDb250cm9scygpO1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd0RpYWxvZyhg0JfQsNCy0LXRgNGI0LjRgtGMICR7dGhpcy5jb21wZXRpdGlvbkxhYmVsfT9gLCBudWxsLCBEaWFsb2dUeXBlLmNvbmZpcm0sIChvaykgPT4ge1xyXG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGNvbXBsZXRlQ29tcGV0aXRpb24oKSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RWZXJzaW9uKGlkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2VsZWN0Q29tcGV0aXRpb25WZXJzaW9uKHt2ZXJzaW9uSWQ6IGlkfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJhY2tUb0VkaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZGVDb250cm9scygpO1xyXG4gICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd0RpYWxvZyhg0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjQtSDRgtC10LrRg9GJ0LXQuSDQstC10YDRgdC40LhgLFxyXG4gICAgICBg0JLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YLQtdC60YPRidGD0Y4g0LLQtdGA0YHQuNGOICR7dGhpcy5jb21wZXRpdGlvbkxhYmVsLnRvTG93ZXJDYXNlKCl9YWAsXHJcbiAgICAgIERpYWxvZ1R5cGUuY29uZmlybSxcclxuICAgICAgKG9rKSA9PiB7XHJcbiAgICAgICAgaWYgKCEhdGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMoe1xyXG4gICAgICAgICAgICB2ZXJzaW9uSWQ6IHRoaXMuc2VsZWN0ZWQuaWQsXHJcbiAgICAgICAgICAgIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bS5EcmFmdFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgdW5kZWZpbmVkLCBudWxsLCAn0J/QvtC00YLQstC10YDQtNC40YLRjCcsIHVuZGVmaW5lZCwgRGlhbG9nQ29sb3IueWVsbG93KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93Q29udHJvbHMoKSB7XHJcbiAgICB0aGlzLmlzQ29udHJvbCA9ICF0aGlzLmlzQ29udHJvbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoaWRlQ29udHJvbHMoKSB7XHJcbiAgICB0aGlzLmlzQ29udHJvbCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dSZWplY3Rpb24obW9kZWw6IENvbXBldGl0aW9uUmVqZWN0aW9uTW9kZWwpOiB2b2lkIHtcclxuICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dEaWFsb2coYNCf0YDQuNGH0LjQvdCwINC+0YLQutC70L7QvdC10L3QuNGPYCxcclxuICAgICAgYCA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keV9fYXV0aG9yXCI+XHJcbiAgICAgICAgICA8c3Bhbj4ke21vZGVsLmF1dGhvcn08L3NwYW4+XHJcbiAgICAgICAgICA8c3Bhbj4ke21vZGVsLmNyZWF0ZWREYXRlfTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8cCBjbGFzcz1cIm1vZGFsLWJvZHlfX3RleHRcIj4ke21vZGVsLnJlYXNvbn08L3A+XHJcbiAgICAgIGAsIERpYWxvZ1R5cGUuY29uZmlybSxcclxuICAgICAgdW5kZWZpbmVkLCB1bmRlZmluZWQsIG51bGwsIHVuZGVmaW5lZCwgJycsIERpYWxvZ0NvbG9yLnllbGxvdyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZlcnNpb25zICYmIHRoaXMuc2VsZWN0ZWRWZXJzaW9uKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnZlcnNpb25zLmZpbmQocyA9PiBzLmlkID09PSB0aGlzLnNlbGVjdGVkVmVyc2lvbik7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb21wZXRpdGlvblZlcnNpb25JbmZvLmVtaXQodGhpcy5zZWxlY3RlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFdhcm5pbmdNZXNzYWdlSHRtbChjdXN0b21UZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFjdXN0b21UZXh0KSB7XHJcbiAgICAgIGN1c3RvbVRleHQgPSAn0JLQvdC40LzQsNC90LjQtSEg0JTQsNC90L3QvtC1INC00LXQudGB0YLQstC40LUg0L3QtdC70YzQt9GPINC+0YLQvNC10L3QuNGC0YwnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGA8ZGl2IGNsYXNzPVwiYmctbmV3cyBweC0zIHB5LTIgcmFkaXVzLTQgbXktMyBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXItM1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIjYWxlcnRcIj48L3VzZT5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbWFsbCBtLTAgYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xvci1vcmFuZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgJHtjdXN0b21UZXh0fVxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5gO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXJcIiAqbmdJZj1cInNlbGVjdGVkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXItYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1ibG9ja1wiPlxyXG4gICAgICAgICAgICA8IS0tINCd0LDQt9Cy0LDQvdC40LUg0YHRg9Cx0YHQuNC00LjQuC/QvtGC0LHQvtGA0LAgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtIHdweC0xNjAgbXItM1wiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSDQstGB0YLQsNCy0LjRgtGMINC90LDQt9Cy0LDQvdC40LUg0YHRg9GJ0L3QvtGB0YLQuCwg0LvQuNCx0L4gXCLQodGD0LHRgdC40LTQuNGPXCIg0LvQuNCx0L4gXCLQntGC0LHQvtGAXCIgLS0+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1fX3RpdGxlXCIgbXlDb21wZXRpdGlvbkxhYmVsPlxyXG5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwhLS0g0L3QsNC30LLQsNC90LjQtSDRgdGD0LHRgdC40LTQuNC4L9C+0YLQsdC+0YDQsCAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0g0L7Qs9GA0LDQvdC40YfQuNGC0Ywg0LTQu9C40L3RgyDQvdCw0LfQstCw0L3QuNGPINCyIDQ0INGB0LjQvNCy0L7Qu9C+0LIgLS0+XHJcbiAgICAgICAgICAgICAgICA8IS0tINCy0YHRgtCw0LLQuNGC0Ywg0LIg0YLRg9C70YLQuNC/INC/0L7Qu9C90L7QtSDQvdCw0LfQstCw0L3QuNC1INGB0YPQsdGB0LjQtNC40Lgv0L7RgtCx0L7RgNCwIC0tPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtX190ZXh0IHRleHQtbm9ybWFsXCIgbXlUb29sdGlwIFt0b29sdGlwXT1cInNlbGVjdGVkLm5hbWVcIiBbdG9vbHRpcE1heFdpZHRoXT1cIjMyMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkLnNob3J0TmFtZSA/IHNlbGVjdGVkLnNob3J0TmFtZSA6ICfQndC1INGD0LrQsNC30LDQvScgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0g0YHRgtCw0YLRg9GBINGB0YPQsdGB0LjQtNC40Lgv0L7RgtCx0L7RgNCwIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXItaXRlbSB3cHgtMTEwXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1fX3RpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAg0KHRgtCw0YLRg9GBXHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8IS0tINGB0YLQsNGC0YPRgSDRgdGD0LHRgdC40LTQuNC4L9C+0YLQsdC+0YDQsCAtLT5cclxuICAgICAgICAgICAgICAgIDwhLS0g0LTQu9GPINC30LDQtNCw0L3QuNGPINGG0LLQtdGC0LAg0LTQvtCx0LDQstC70Y/RgtGMINC60LvQsNGB0YHRizog0L7RgNCw0L3QttC10LLRi9C5IC0gXCJjb2xvci1vcmFuZ2VcIiwg0LfQtdC70LXQvdGL0LkgLSBcImNvbG9yLWdyZWVuXCIgLS0+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1fX3RleHRcIiBbbmdDbGFzc109XCJjb21wZXRpdGlvbkFnZ3JlZ2F0ZVN0YXR1c0Nzc0NsYXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgY29tcGV0aXRpb25BZ2dyZWdhdGVTdGF0dXNFbnVtTGFiZWwgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSDRgdC10LvQtdC60YIg0YEg0LLRi9Cx0L7RgNC+0Lwg0LLQtdGA0YHQuNC4IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtIGluZm8tYmFubmVyLWl0ZW1faW5wdXQgd3B4LTI2MCBtci0zXCIgKm5nSWY9XCJ2ZXJzaW9ucyAmJiB2ZXJzaW9ucy5sZW5ndGggPiAxXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dGJveCBpbnB1dGJveC1tZCBtYi0wXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctc2VsZWN0IFtpdGVtc109XCJ2ZXJzaW9uc1wiIFtuZ01vZGVsXT1cInNlbGVjdGVkLmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0VmVyc2lvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRWYWx1ZT1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwQnk9XCJzdGF0dXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBub3RGb3VuZFRleHQ9XCLQndC1INC90LDQudC00LXQvdC+XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2dldENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0dyb3VwcGluZ0xhYmVsKGl0ZW0uc3RhdHVzKX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1zZWFyY2g9XCJzZWFyY2hUZXJtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgINCS0LXRgNGB0LjRjyB7e2l0ZW0ubnVtfX0g0L7RgiB7e2l0ZW0uY3JlYXRlZERhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgINCS0LXRgNGB0LjRjyB7e2l0ZW0ubnVtfX0g0L7RgiB7e2l0ZW0uY3JlYXRlZERhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L25nLXNlbGVjdD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPCEtLSDRgdGC0LDRgtCw0YPRgSDQstC10YDRgdC40LggLS0+XHJcbiAgICAgICAgPCEtLSDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMLCDQtdGB0LvQuCDQvdC10YIg0LLQtdGA0YHQuNC5IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtIHdweC0xMTBcIiAqbmdJZj1cInZlcnNpb25zICYmIHZlcnNpb25zLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtX190aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAg0KHRgtCw0YLRg9GBINCy0LXRgNGB0LjQuFxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwhLS0g0YHRgtCw0YLRg9GBINCy0LXRgNGB0LjQuCAtLT5cclxuICAgICAgICAgICAgPCEtLSDQtNC70Y8g0LfQsNC00LDQvdC40Y8g0YbQstC10YLQsCDQtNC+0LHQsNCy0LvRj9GC0Ywg0LrQu9Cw0YHRgdGLOiDQvtGA0LDQvdC20LXQstGL0LkgLSBcImNvbG9yLW9yYW5nZVwiLCDQt9C10LvQtdC90YvQuSAtIFwiY29sb3ItZ3JlZW5cIiAtLT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtX190ZXh0XCIgKm5nSWY9XCJzZWxlY3RlZFwiIFtuZ0NsYXNzXT1cInZlcnNpb25TdGF0dXNDbGFzc1wiPlxyXG4gICAgICAgICAgICAgICAge3sgZ2V0Q29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bUxhYmVsKHNlbGVjdGVkLnN0YXR1cykgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0g0YPQtNCw0LvQtdC90LjQtSwg0LLRi9C30L7QsiDQvNC+0LTQsNC70LrQuCwg0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtSDQvtCxINCy0L3QtdGB0LXQvdC40Lgg0LjQt9C80LXQvdC10L3QuNC5IC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1pdGVtXCI+XHJcbiAgICAgICAgICAgIDwhLS0g0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCwg0LXRgdC70Lgg0L3QtSDRgtGA0LXQsdGD0LXRgtGB0Y8gLS0+XHJcbiAgICAgICAgICAgIDwhLS0gXCLQutC+0L3QstC10YDRglwiIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXItaXRlbV9faWNvblwiICpuZ0lmPVwic2hvd1JlamVjdGlvblJlYXNvblwiXHJcbiAgICAgICAgICAgICAgICBteVRvb2x0aXBcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0YHQvNC+0YLRgNC10YLRjCDQv9GA0LjRh9C40L3RgyDQvtGC0LrQu9C+0L3QtdC90LjRjydcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNob3dSZWplY3Rpb24oc2VsZWN0ZWQucmVqZWN0aW9uUmVhc29uKVwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiNlwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxMlwiIHJ4PVwiMVwiIHN0cm9rZT1cIiMyODI4MjhcIiBzdHJva2Utd2lkdGg9XCIxLjVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zIDYuMjVMMTEuMzM1NiAxMy42NTk1QzExLjcxNDUgMTMuOTk2MiAxMi4yODU1IDEzLjk5NjIgMTIuNjY0NCAxMy42NTk1TDIxIDYuMjVcIiBzdHJva2U9XCIjMjgyODI4XCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMyAxOEw3LjUgMTRMOS43NSAxMk0yMSAxOEwxNi41IDE0TDE0LjI1IDEyXCIgc3Ryb2tlPVwiIzI4MjgyOFwiIHN0cm9rZS13aWR0aD1cIjEuNVwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSDRg9C00LDQu9C10L3QuNC1INCy0LXRgNGB0LjQuCAtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNhbkRlbGV0ZVZlcnNpb25cIiAoY2xpY2spPVwicmVtb3ZlVmVyc2lvbigpXCIgIGNsYXNzPVwiaW5mby1iYW5uZXItaXRlbV9faWNvblwiIG15VG9vbHRpcCBbdG9vbHRpcF09XCIn0KPQtNCw0LvQuNGC0Ywg0LLQtdGA0YHQuNGOJ1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0zIDZINUgyMVwiIHN0cm9rZT1cIiNEMTQxMTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04IDZWNEM4IDMuNDY5NTcgOC4yMTA3MSAyLjk2MDg2IDguNTg1NzkgMi41ODU3OUM4Ljk2MDg2IDIuMjEwNzEgOS40Njk1NyAyIDEwIDJIMTRDMTQuNTMwNCAyIDE1LjAzOTEgMi4yMTA3MSAxNS40MTQyIDIuNTg1NzlDMTUuNzg5MyAyLjk2MDg2IDE2IDMuNDY5NTcgMTYgNFY2TTE5IDZWMjBDMTkgMjAuNTMwNCAxOC43ODkzIDIxLjAzOTEgMTguNDE0MiAyMS40MTQyQzE4LjAzOTEgMjEuNzg5MyAxNy41MzA0IDIyIDE3IDIySDdDNi40Njk1NyAyMiA1Ljk2MDg2IDIxLjc4OTMgNS41ODU3OSAyMS40MTQyQzUuMjEwNzEgMjEuMDM5MSA1IDIwLjUzMDQgNSAyMFY2SDE5WlwiIHN0cm9rZT1cIiNEMTQxMTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMCAxMVYxN1wiIHN0cm9rZT1cIiNEMTQxMTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNCAxMVYxN1wiIHN0cm9rZT1cIiNEMTQxMTRcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0g0LLQvtGB0LrQu9C40YbQsNGC0LXQu9GM0L3Ri9C5INC30L3QsNC6IC0tPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlzTGFzdFZlcnNpb25cIiBjbGFzcz1cImluZm8tYmFubmVyLWl0ZW1fX2ljb25cIiBteVRvb2x0aXAgW3Rvb2x0aXBdPVwiJ9CS0L3QtdGB0LXQvdC40LUg0LjQt9C80LXQvdC10L3QuNC5INC00L7RgdGC0YPQv9C90L4g0L3QsCDQv9C+0YHQu9C10LTQvdC10Lkg0LLQtdGA0YHQuNC4J1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMi4yMzAyIDE4VjE3TTEyLjIzMDIgMTRWMTBNNC4wMDI5OCAyMS4yNUgyMC40NTc1QzIxLjk5NzEgMjEuMjUgMjIuOTU5MyAxOS41ODMzIDIyLjE4OTUgMTguMjVMMTMuOTYyMyA0QzEzLjE5MjUgMi42NjY2NyAxMS4yNjggMi42NjY2NyAxMC40OTgyIDRMMi4yNzA5MyAxOC4yNUMxLjUwMTEzIDE5LjU4MzMgMi40NjMzOCAyMS4yNSA0LjAwMjk4IDIxLjI1WlwiIHN0cm9rZT1cIiNENTdCMUNcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWNvbnRyb2xcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiEhY3VzdG9tQnV0dG9uc1RlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tQnV0dG9uc1RlbXBsYXRlLnRlbXBsYXRlUmVmO2NvbnRleHQ6Y3VzdG9tQnV0dG9uc1RlbXBsYXRlQ29udGV4dFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbWQgZ3JlZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVWZXJzaW9uKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FuQ3JlYXRlVmVyc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImNyZWF0ZVZlcnNpb25EaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAg0KHRhNC+0YDQvNC40YDQvtCy0LDRgtGMINC40LfQvNC10L3QtdC90LjRj1xyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tbWQgZ3JlZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RpdmF0ZVZlcnNpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYW5BY3RpdmF0ZVZlcnNpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3RpdmF0ZVZlcnNpb25EaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgICAg0J7Qv9GD0LHQu9C40LrQvtCy0LDRgtGMXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1tZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInZhbGlkYXRlVmVyc2lvbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhblZhbGlkYXRlVmVyc2lvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInZhbGlkYXRlVmVyc2lvbkRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICDQodC+0LPQu9Cw0YHQvtCy0LDQvdC40LVcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJjYW5SZXR1cm5Ub0VkaXRcIiBjbGFzcz1cImJ0biBidG4tbWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJiYWNrVG9FZGl0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJiYWNrVG9FZGl0RGlzYWJsZWRcIj5cclxuICAgICAgICAgICAgICAgINCg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8IS0tINGD0L/RgNCw0LLQu9C10L3QuNC1INGB0YLQsNGC0YPRgdC+0Lwv0L7RgtCx0L7RgNC+0LwgLS0+XHJcbiAgICAgICAgICAgIDwhLS0g0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDQtdGB0LvQuCDQvdC1INGC0YDQtdCx0YPQtdGC0YHRjyAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm8tYmFubmVyLWNvbnRyb2xfX2FjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21wZXRpdGlvbiAmJiBjYW5TZWVUaHJlZURvdHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1jb250cm9sX19pY29uXCIgKGNsaWNrKT1cInNob3dDb250cm9scygpXCIgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBpc0NvbnRyb2x9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNSAxMkMxMC41IDEyLjgyODQgMTEuMTcxNiAxMy41IDEyIDEzLjVDMTIuODI4NCAxMy41IDEzLjUgMTIuODI4NCAxMy41IDEyQzEzLjUgMTEuMTcxNiAxMi44Mjg0IDEwLjUgMTIgMTAuNUMxMS4xNzE2IDEwLjUgMTAuNSAxMS4xNzE2IDEwLjUgMTJaXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNSAxOUMxMC41IDE5LjgyODQgMTEuMTcxNiAyMC41IDEyIDIwLjVDMTIuODI4NCAyMC41IDEzLjUgMTkuODI4NCAxMy41IDE5QzEzLjUgMTguMTcxNiAxMi44Mjg0IDE3LjUgMTIgMTcuNUMxMS4xNzE2IDE3LjUgMTAuNSAxOC4xNzE2IDEwLjUgMTlaXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNSA1QzEwLjUgNS44Mjg0MyAxMS4xNzE2IDYuNSAxMiA2LjVDMTIuODI4NCA2LjUgMTMuNSA1LjgyODQzIDEzLjUgNUMxMy41IDQuMTcxNTcgMTIuODI4NCAzLjUgMTIgMy41QzExLjE3MTYgMy41IDEwLjUgNC4xNzE1NyAxMC41IDVaXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NvbnRyb2xcIiBjbGFzcz1cImluZm8tYmFubmVyLWNvbnRyb2xfX21lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXItY29udHJvbF9fbWVudS1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb21wZXRpdGlvbi5zdGF0dXMgPT0gY29tcGV0aXRpb25TdGF0dXNFbnVtLkFjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwYXVzZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjVcIiB5PVwiM1wiIHdpZHRoPVwiNVwiIGhlaWdodD1cIjE4XCIgcng9XCIxXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PVwiMTRcIiB5PVwiM1wiIHdpZHRoPVwiNVwiIGhlaWdodD1cIjE4XCIgcng9XCIxXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgINCf0YDQuNC+0YHRgtCw0L3QvtCy0LjRgtGMXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1iYW5uZXItY29udHJvbF9fbWVudS1pdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29tcGV0aXRpb24uc3RhdHVzID09IGNvbXBldGl0aW9uU3RhdHVzRW51bS5TdGF5aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZXN0b3JlKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTIwLjU1MTggMTAuODI3NkMyMS4yMDQ0IDExLjIxNTEgMjEuMjA0NCAxMi4xNTk5IDIwLjU1MTggMTIuNTQ3NEw1LjUxMDU0IDIxLjQ3ODFDNC44NDM5NSAyMS44NzM5IDQgMjEuMzkzNSA0IDIwLjYxODNMNCAyLjc1Njc0QzQgMS45ODE1IDQuODQzOTUgMS41MDEwOSA1LjUxMDU0IDEuODk2ODhMMjAuNTUxOCAxMC44Mjc2WlwiIGZpbGw9XCIjMjUzRTQ5XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3Jlc3RvcmVCdXR0b25OYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1jb250cm9sX19tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wZXRpdGlvbi5zdGF0dXMgPT0gY29tcGV0aXRpb25TdGF0dXNFbnVtLkFjdGl2ZSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGV0aXRpb24uc3RhdHVzID09IGNvbXBldGl0aW9uU3RhdHVzRW51bS5TdGF5aW5nKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNob3dDb21wbGV0ZUNvbXBldGl0aW9uQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjb21wbGV0ZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHJ4PVwiMlwiIGZpbGw9XCIjMjUzRTQ5XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICDQl9Cw0LLQtdGA0YjQuNGC0YxcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJhbm5lci1jb250cm9sX19tZW51LWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wZXRpdGlvbi5zdGF0dXMgPT0gY29tcGV0aXRpb25TdGF0dXNFbnVtLkFjdGl2ZSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGV0aXRpb24uc3RhdHVzID09IGNvbXBldGl0aW9uU3RhdHVzRW51bS5TdGF5aW5nIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wZXRpdGlvbi5zdGF0dXMgPT0gY29tcGV0aXRpb25TdGF0dXNFbnVtLkNhbmNlbGVkKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIHNob3dDYW5jZWxDb21wZXRpdGlvbkJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNMTkuNzY3NyA0LjIzMjEzQzIxLjUzNTQgNS45OTk5IDIwLjc0NCA2Ljc5MTM1IDE5Ljc2NzcgNy43Njc2Nkw3Ljc2NzcxIDE5Ljc2NzdDNi43OTE0IDIwLjc0NCA1Ljk5OTg3IDIxLjUzNTUgNC4yMzIxNyAxOS43Njc3QzIuNDY0NTQgMTcuOTk5OSAzLjI1NTg2IDE3LjIwODQgNC4yMzIxNyAxNi4yMzIxTDE2LjIzMjIgNC4yMzIxM0MxNy4yMDg1IDMuMjU1ODIgMTggMi40NjQ1MyAxOS43Njc3IDQuMjMyMTNaXCIgZmlsbD1cIiMyNTNFNDlcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNC4yMzIyMiA0LjIzMTk2QzUuOTY0NDUgMi40OTk5MSA2Ljc5MTQ0IDMuMjU1NjUgNy43Njc3NSA0LjIzMTk2TDE5Ljc2NzggMTYuMjMyQzIwLjc0NDEgMTcuMjA4MyAyMS41IDE4LjAzNTMgMTkuNzY3OCAxOS43Njc1QzE4LjAzNTUgMjEuNDk5NyAxNy4yMDg1IDIwLjc0MzggMTYuMjMyMiAxOS43Njc1TDQuMjMyMjIgNy43Njc1QzMuMjU1OTEgNi43OTExOSAyLjQ2NDI5IDYgNC4yMzIyMiA0LjIzMTk2WlwiIGZpbGw9XCIjMjUzRTQ5XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2NhbmNlbENvbXBldGl0aW9uQnV0dG9uTGFiZWx9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0NvbnRyb2xcIiBjbGFzcz1cImluZm8tYmFubmVyLWNvbnRyb2xfX2JnXCIgKGNsaWNrKT1cImhpZGVDb250cm9scygpXCI+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,6 +1,5 @@
1
1
  export * from './components/competition-header.component';
2
2
  export * from './models/competition-status.model';
3
3
  export * from './directives';
4
- export * from './enums/competition-version-status.enum';
5
4
  export * from './models/competition-version.model';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2NvbXBldGl0aW9uLWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb21wZXRpdGlvbi1zdGF0dXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW1zL2NvbXBldGl0aW9uLXZlcnNpb24tc3RhdHVzLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb21wZXRpdGlvbi12ZXJzaW9uLm1vZGVsJztcclxuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jb21wZXRpdGlvbi1oZWFkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29tcGV0aXRpb24tc3RhdHVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29tcGV0aXRpb24tdmVyc2lvbi5tb2RlbCc7XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24tdmVyc2lvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1tZi1jb21wZXRpdGlvbi9zcmMvbGliL21vZHVsZXMvY29tcGV0aXRpb24taGVhZGVyL21vZGVscy9jb21wZXRpdGlvbi12ZXJzaW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW19IGZyb20gJy4uL2VudW1zL2NvbXBldGl0aW9uLXZlcnNpb24tc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQgeyBDb21wZXRpdGlvblJlamVjdGlvbk1vZGVsIH0gZnJvbSAnLi9jb21wZXRpdGlvbi1yZWplY3Rpb24ubW9kZWwnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb21wZXRpdGlvblZlcnNpb25Nb2RlbCB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBudW06IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgc2hvcnROYW1lOiBzdHJpbmc7XHJcbiAgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtO1xyXG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XHJcbiAgcmVqZWN0aW9uUmVhc29uOiBDb21wZXRpdGlvblJlamVjdGlvbk1vZGVsXHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24tdmVyc2lvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRleC1tZi1jb21wZXRpdGlvbi9zcmMvbGliL21vZHVsZXMvY29tcGV0aXRpb24taGVhZGVyL21vZGVscy9jb21wZXRpdGlvbi12ZXJzaW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wZXRpdGlvblJlamVjdGlvbk1vZGVsIH0gZnJvbSAnLi9jb21wZXRpdGlvbi1yZWplY3Rpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0gZnJvbSAnbXlydGV4LW1mLXVpLWNvbXBvc2l0ZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbXBldGl0aW9uVmVyc2lvbk1vZGVsIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIG51bTogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBzaG9ydE5hbWU6IHN0cmluZztcclxuICBzdGF0dXM6IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW07XHJcbiAgY3JlYXRlZERhdGU6IHN0cmluZztcclxuICByZWplY3Rpb25SZWFzb246IENvbXBldGl0aW9uUmVqZWN0aW9uTW9kZWxcclxufVxyXG4iXX0=
@@ -37,4 +37,4 @@ CompetitionHeaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderService, decorators: [{
38
38
  type: Injectable
39
39
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zZXJ2aWNlcy9jb21wZXRpdGlvbi1oZWFkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsVUFBVSxFQUFXLE1BQU0sZUFBZSxDQUFDO0FBSW5ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFHN0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLG1CQUFtQjtJQUkvRCxZQUFZLElBQWdCLEVBQUUsUUFBa0I7UUFDOUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUhoQixRQUFHLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDO0lBSTlELENBQUM7SUFFTSxTQUFTLENBQUMsYUFBc0I7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0MsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWEsU0FBUyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVNLGFBQWEsQ0FBQyxhQUFzQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sYUFBYSxDQUFDLGFBQXNCLEVBQUUsU0FBa0I7UUFDN0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksYUFBYSxZQUFZLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLG1CQUFtQixDQUFDLGFBQXNCLEVBQUUsU0FBa0IsRUFBRSxNQUFxQztRQUMxRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLFlBQVksU0FBUyxjQUFjLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFTSxRQUFRLENBQUMsYUFBc0I7UUFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksYUFBYSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFzQjtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sUUFBUSxDQUFDLGFBQXNCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWEsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBc0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksYUFBYSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7c0hBdENVLHdCQUF3QjswSEFBeEIsd0JBQXdCOzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtJbmplY3RhYmxlLCBJbmplY3Rvcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWx9IGZyb20gJy4uL21vZGVscy9jb21wZXRpdGlvbi1oZWFkZXItdmVyc2lvbi5tb2RlbCc7XHJcbmltcG9ydCB7Q29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bX0gZnJvbSAnLi4vZW51bXMvY29tcGV0aXRpb24tdmVyc2lvbi1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7IEVuZHBvaW50QmFzZVNlcnZpY2UgfSBmcm9tICdteXJ0ZXgtbWYtdWktY29tcG9zaXRlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbXBldGl0aW9uSGVhZGVyU2VydmljZSBleHRlbmRzIEVuZHBvaW50QmFzZVNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHVybCA9ICcvYXBwbGljYXRpb24nICsgdGhpcy5yZXN0UGF0aCArICcvY29tcGV0aXRpb24nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihodHRwOiBIdHRwQ2xpZW50LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKGh0dHAsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRIZWFkZXIoY29tcGV0aXRpb25JZD86IHN0cmluZyk6IE9ic2VydmFibGU8Q29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvbXBldGl0aW9uSGVhZGVyVmVyc2lvbk1vZGVsPihgJHt0aGlzLnVybH0vJHtjb21wZXRpdGlvbklkfS9oZWFkZXJgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVWZXJzaW9uKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN0cmluZz4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vdmVyc2lvbmAsIHt9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVWZXJzaW9uKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcsIHZlcnNpb25JZD86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vdmVyc2lvbi8ke3ZlcnNpb25JZH1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2ZXJzaW9uQ2hhbmdlU3RhdHVzKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcsIHZlcnNpb25JZD86IHN0cmluZywgc3RhdHVzPzogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGJvb2xlYW4+KGAke3RoaXMudXJsfS8ke2NvbXBldGl0aW9uSWR9L3ZlcnNpb24vJHt2ZXJzaW9uSWR9L3RvLXN0YXR1cy8ke3N0YXR1c31gLCB7fSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWN0aXZhdGUoY29tcGV0aXRpb25JZD86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnVybH0vJHtjb21wZXRpdGlvbklkfS9hY3RpdmF0ZWAsIHt9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXVzZShjb21wZXRpdGlvbklkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudXJsfS8ke2NvbXBldGl0aW9uSWR9L3BhdXNlYCwge30pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbXBsZXRlKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vY29tcGxldGVgLCB7fSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vY2FuY2VsYCwge30pO1xyXG4gIH1cclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zZXJ2aWNlcy9jb21wZXRpdGlvbi1oZWFkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3JELE9BQU8sRUFBZ0MsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRzNGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxtQkFBbUI7SUFJL0QsWUFBWSxJQUFnQixFQUFFLFFBQWtCO1FBQzlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFIaEIsUUFBRyxHQUFHLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQztJQUk5RCxDQUFDO0lBRU0sU0FBUyxDQUFDLGFBQXNCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWdDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLFNBQVMsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFTSxhQUFhLENBQUMsYUFBc0I7UUFDekMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksYUFBYSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVNLGFBQWEsQ0FBQyxhQUFzQixFQUFFLFNBQWtCO1FBQzdELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWEsWUFBWSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxhQUFzQixFQUFFLFNBQWtCLEVBQUUsTUFBcUM7UUFDMUcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksYUFBYSxZQUFZLFNBQVMsY0FBYyxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5RyxDQUFDO0lBRU0sUUFBUSxDQUFDLGFBQXNCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWEsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxLQUFLLENBQUMsYUFBc0I7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksYUFBYSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLFFBQVEsQ0FBQyxhQUFzQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQXNCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLGFBQWEsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7O3NIQXRDVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9jb21wZXRpdGlvbi1oZWFkZXItdmVyc2lvbi5tb2RlbCc7XHJcbmltcG9ydCB7IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0sIEVuZHBvaW50QmFzZVNlcnZpY2UgfSBmcm9tICdteXJ0ZXgtbWYtdWktY29tcG9zaXRlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbXBldGl0aW9uSGVhZGVyU2VydmljZSBleHRlbmRzIEVuZHBvaW50QmFzZVNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIHVybCA9ICcvYXBwbGljYXRpb24nICsgdGhpcy5yZXN0UGF0aCArICcvY29tcGV0aXRpb24nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihodHRwOiBIdHRwQ2xpZW50LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKGh0dHAsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRIZWFkZXIoY29tcGV0aXRpb25JZD86IHN0cmluZyk6IE9ic2VydmFibGU8Q29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWw+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvbXBldGl0aW9uSGVhZGVyVmVyc2lvbk1vZGVsPihgJHt0aGlzLnVybH0vJHtjb21wZXRpdGlvbklkfS9oZWFkZXJgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjcmVhdGVWZXJzaW9uKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PHN0cmluZz4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vdmVyc2lvbmAsIHt9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGVWZXJzaW9uKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcsIHZlcnNpb25JZD86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8Ym9vbGVhbj4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vdmVyc2lvbi8ke3ZlcnNpb25JZH1gKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2ZXJzaW9uQ2hhbmdlU3RhdHVzKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcsIHZlcnNpb25JZD86IHN0cmluZywgc3RhdHVzPzogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGJvb2xlYW4+KGAke3RoaXMudXJsfS8ke2NvbXBldGl0aW9uSWR9L3ZlcnNpb24vJHt2ZXJzaW9uSWR9L3RvLXN0YXR1cy8ke3N0YXR1c31gLCB7fSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWN0aXZhdGUoY29tcGV0aXRpb25JZD86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnVybH0vJHtjb21wZXRpdGlvbklkfS9hY3RpdmF0ZWAsIHt9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXVzZShjb21wZXRpdGlvbklkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudXJsfS8ke2NvbXBldGl0aW9uSWR9L3BhdXNlYCwge30pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbXBsZXRlKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vY29tcGxldGVgLCB7fSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsKGNvbXBldGl0aW9uSWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy51cmx9LyR7Y29tcGV0aXRpb25JZH0vY2FuY2VsYCwge30pO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -34,4 +34,4 @@ export const cancelCompetition = createAction(ECompetitionHeaderActions.CancelCo
34
34
  export const cancelCompetitionWithValidation = createAction(ECompetitionHeaderActions.CancelCompetitionWithValidation, props());
35
35
  export const completeCompetition = createAction(ECompetitionHeaderActions.CompleteCompetition);
36
36
  export const competitionChangeStatusSuccess = createAction(ECompetitionHeaderActions.CompetitionChangeStatusSuccess);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUlsRCxNQUFNLENBQU4sSUFBWSx5QkF3Qlg7QUF4QkQsV0FBWSx5QkFBeUI7SUFFbkMsZ0ZBQW1ELENBQUE7SUFDbkQsK0ZBQWtFLENBQUE7SUFFbEUsc0ZBQXlELENBQUE7SUFDekQscUdBQXdFLENBQUE7SUFFeEUsc0ZBQXlELENBQUE7SUFDekQscUdBQXdFLENBQUE7SUFFeEUsbUdBQXNFLENBQUE7SUFDdEUsa0hBQXFGLENBQUE7SUFDckYsZ0hBQW1GLENBQUE7SUFFbkYsc0ZBQXlELENBQUE7SUFFekQsMkVBQThDLENBQUE7SUFDOUMscUVBQXdDLENBQUE7SUFDeEMsdUVBQTBDLENBQUE7SUFDMUMscUdBQXdFLENBQUE7SUFDeEUsMkVBQThDLENBQUE7SUFFOUMsa0dBQXFFLENBQUE7QUFDdkUsQ0FBQyxFQXhCVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBd0JwQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FDL0MseUJBQXlCLENBQUMscUJBQXFCLENBQ2hELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQ3RELHlCQUF5QixDQUFDLDRCQUE0QixFQUN0RCxLQUFLLEVBQXdELENBQzlELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxZQUFZLENBQ2xELHlCQUF5QixDQUFDLHdCQUF3QixFQUNsRCxLQUFLLEVBQXlCLENBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxZQUFZLENBQ3pELHlCQUF5QixDQUFDLCtCQUErQixFQUN6RCxLQUFLLEVBQXlCLENBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxZQUFZLENBQ2xELHlCQUF5QixDQUFDLHdCQUF3QixDQUNuRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsWUFBWSxDQUN4RCx5QkFBeUIsQ0FBQyw4QkFBOEIsRUFDeEQsS0FBSyxFQUErRCxDQUNyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsWUFBWSxDQUMvRCx5QkFBeUIsQ0FBQyxxQ0FBcUMsRUFDL0QsS0FBSyxFQUErRCxDQUNyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsWUFBWSxDQUM5RCx5QkFBeUIsQ0FBQyxvQ0FBb0MsRUFDOUQsS0FBSyxFQUErRCxDQUNyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUN6RCx5QkFBeUIsQ0FBQywrQkFBK0IsRUFDekQsS0FBSyxFQUF5QixDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUNsRCx5QkFBeUIsQ0FBQyx3QkFBd0IsRUFDbEQsS0FBSyxFQUF5QixDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUM3Qyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FDMUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQzNDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQzNDLHlCQUF5QixDQUFDLGlCQUFpQixDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUN6RCx5QkFBeUIsQ0FBQywrQkFBK0IsRUFDekQsS0FBSyxFQUF5QixDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUM3Qyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFlBQVksQ0FDeEQseUJBQXlCLENBQUMsOEJBQThCLENBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQge0NvbXBldGl0aW9uSGVhZGVyVmVyc2lvbk1vZGVsfSBmcm9tICcuLi9tb2RlbHMvY29tcGV0aXRpb24taGVhZGVyLXZlcnNpb24ubW9kZWwnO1xyXG5pbXBvcnQge0NvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW19IGZyb20gJy4uL2VudW1zL2NvbXBldGl0aW9uLXZlcnNpb24tc3RhdHVzLmVudW0nO1xyXG5cclxuZXhwb3J0IGVudW0gRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucyB7XHJcblxyXG4gIExvYWRDb21wZXRpdGlvbkhlYWRlciA9ICdbQ29tcGV0aXRpb25dIExvYWQgSGVhZGVyJyxcclxuICBMb2FkQ29tcGV0aXRpb25IZWFkZXJTdWNjZXNzID0gJ1tDb21wZXRpdGlvbl0gTG9hZCBIZWFkZXIgU3VjY2VzcycsXHJcblxyXG4gIERlbGV0ZUNvbXBldGl0aW9uVmVyc2lvbiA9ICdbQ29tcGV0aXRpb25dIERlbGV0ZSBWZXJzaW9uJyxcclxuICBEZWxldGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzID0gJ1tDb21wZXRpdGlvbl0gRGVsZXRlIFZlcnNpb24gU3VjY2VzcycsXHJcblxyXG4gIENyZWF0ZUNvbXBldGl0aW9uVmVyc2lvbiA9ICdbQ29tcGV0aXRpb25dIENyZWF0ZSBWZXJzaW9uJyxcclxuICBDcmVhdGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzID0gJ1tDb21wZXRpdGlvbl0gQ3JlYXRlIFZlcnNpb24gU3VjY2VzcycsXHJcblxyXG4gIENvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyA9ICdbQ29tcGV0aXRpb25dIFZlcnNpb24gQ2hhbmdlIFN0YXR1cycsXHJcbiAgQ29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyA9ICdbQ29tcGV0aXRpb25dIFZlcnNpb24gQ2hhbmdlIFN0YXR1cyBTdWNjZXNzJyxcclxuICBDb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXNNYW51YWwgPSAnW0NvbXBldGl0aW9uXSBWZXJzaW9uIENoYW5nZSBTdGF0dXMgTWFudWFsJyxcclxuXHJcbiAgU2VsZWN0Q29tcGV0aXRpb25WZXJzaW9uID0gJ1tDb21wZXRpdGlvbl0gU2VsZWN0IFZlcnNpb24nLFxyXG5cclxuICBBY3RpdmF0ZUNvbXBldGl0aW9uID0gJ1tDb21wZXRpdGlvbl0gQWN0aXZhdGUnLFxyXG4gIFBhdXNlQ29tcGV0aXRpb24gPSAnW0NvbXBldGl0aW9uXSBQYXVzZScsXHJcbiAgQ2FuY2VsQ29tcGV0aXRpb24gPSAnW0NvbXBldGl0aW9uXSBDYW5jZWwnLFxyXG4gIENhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24gPSAnW0NvbXBldGl0aW9uXSBDYW5jZWwgV2l0aCBWYWxpZGF0aW9uJyxcclxuICBDb21wbGV0ZUNvbXBldGl0aW9uID0gJ1tDb21wZXRpdGlvbl0gQ29tcGxldGUnLFxyXG5cclxuICBDb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MgPSAnW0NvbXBldGl0aW9uXSBDaGFuZ2VTdGF0dXMgU3VjY2VzcycsXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkQ29tcGV0aXRpb25IZWFkZXIgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Mb2FkQ29tcGV0aXRpb25IZWFkZXJcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBsb2FkQ29tcGV0aXRpb25IZWFkZXJTdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuTG9hZENvbXBldGl0aW9uSGVhZGVyU3VjY2VzcyxcclxuICBwcm9wczx7IGNvbXBldGl0aW9uSGVhZGVyOiBDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbCB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuRGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uLFxyXG4gIHByb3BzPHsgdmVyc2lvbklkOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5EZWxldGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzLFxyXG4gIHByb3BzPHsgdmVyc2lvbklkOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvbiA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyxcclxuICBwcm9wczx7IHZlcnNpb25JZDogc3RyaW5nLCBzdGF0dXM6IENvbXBldGl0aW9uVmVyc2lvblN0YXR1c0VudW0gfT4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXNTdWNjZXNzLFxyXG4gIHByb3BzPHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzTWFudWFsID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzTWFudWFsLFxyXG4gIHByb3BzPHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MsXHJcbiAgcHJvcHM8eyB2ZXJzaW9uSWQ6IHN0cmluZyB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3Qgc2VsZWN0Q29tcGV0aXRpb25WZXJzaW9uID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuU2VsZWN0Q29tcGV0aXRpb25WZXJzaW9uLFxyXG4gIHByb3BzPHsgdmVyc2lvbklkOiBzdHJpbmcgfT4oKVxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFjdGl2YXRlQ29tcGV0aXRpb24gPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5BY3RpdmF0ZUNvbXBldGl0aW9uXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgcGF1c2VDb21wZXRpdGlvbiA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlBhdXNlQ29tcGV0aXRpb25cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjYW5jZWxDb21wZXRpdGlvbiA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbiA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24sXHJcbiAgcHJvcHM8eyB2ZXJzaW9uSWQ6IHN0cmluZyB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY29tcGxldGVDb21wZXRpdGlvbiA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBsZXRlQ29tcGV0aXRpb25cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3NcclxuKTtcclxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUlsRCxNQUFNLENBQU4sSUFBWSx5QkF3Qlg7QUF4QkQsV0FBWSx5QkFBeUI7SUFFbkMsZ0ZBQW1ELENBQUE7SUFDbkQsK0ZBQWtFLENBQUE7SUFFbEUsc0ZBQXlELENBQUE7SUFDekQscUdBQXdFLENBQUE7SUFFeEUsc0ZBQXlELENBQUE7SUFDekQscUdBQXdFLENBQUE7SUFFeEUsbUdBQXNFLENBQUE7SUFDdEUsa0hBQXFGLENBQUE7SUFDckYsZ0hBQW1GLENBQUE7SUFFbkYsc0ZBQXlELENBQUE7SUFFekQsMkVBQThDLENBQUE7SUFDOUMscUVBQXdDLENBQUE7SUFDeEMsdUVBQTBDLENBQUE7SUFDMUMscUdBQXdFLENBQUE7SUFDeEUsMkVBQThDLENBQUE7SUFFOUMsa0dBQXFFLENBQUE7QUFDdkUsQ0FBQyxFQXhCVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBd0JwQztBQUVELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFlBQVksQ0FDL0MseUJBQXlCLENBQUMscUJBQXFCLENBQ2hELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQ3RELHlCQUF5QixDQUFDLDRCQUE0QixFQUN0RCxLQUFLLEVBQXdELENBQzlELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxZQUFZLENBQ2xELHlCQUF5QixDQUFDLHdCQUF3QixFQUNsRCxLQUFLLEVBQXlCLENBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxZQUFZLENBQ3pELHlCQUF5QixDQUFDLCtCQUErQixFQUN6RCxLQUFLLEVBQXlCLENBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxZQUFZLENBQ2xELHlCQUF5QixDQUFDLHdCQUF3QixDQUNuRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsWUFBWSxDQUN4RCx5QkFBeUIsQ0FBQyw4QkFBOEIsRUFDeEQsS0FBSyxFQUErRCxDQUNyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsWUFBWSxDQUMvRCx5QkFBeUIsQ0FBQyxxQ0FBcUMsRUFDL0QsS0FBSyxFQUErRCxDQUNyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsWUFBWSxDQUM5RCx5QkFBeUIsQ0FBQyxvQ0FBb0MsRUFDOUQsS0FBSyxFQUErRCxDQUNyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUN6RCx5QkFBeUIsQ0FBQywrQkFBK0IsRUFDekQsS0FBSyxFQUF5QixDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUNsRCx5QkFBeUIsQ0FBQyx3QkFBd0IsRUFDbEQsS0FBSyxFQUF5QixDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUM3Qyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFlBQVksQ0FDMUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQzNDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQzNDLHlCQUF5QixDQUFDLGlCQUFpQixDQUM1QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUN6RCx5QkFBeUIsQ0FBQywrQkFBK0IsRUFDekQsS0FBSyxFQUF5QixDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUM3Qyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FDOUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFlBQVksQ0FDeEQseUJBQXlCLENBQUMsOEJBQThCLENBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQge0NvbXBldGl0aW9uSGVhZGVyVmVyc2lvbk1vZGVsfSBmcm9tICcuLi9tb2RlbHMvY29tcGV0aXRpb24taGVhZGVyLXZlcnNpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0gZnJvbSAnbXlydGV4LW1mLXVpLWNvbXBvc2l0ZSc7XHJcblxyXG5leHBvcnQgZW51bSBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zIHtcclxuXHJcbiAgTG9hZENvbXBldGl0aW9uSGVhZGVyID0gJ1tDb21wZXRpdGlvbl0gTG9hZCBIZWFkZXInLFxyXG4gIExvYWRDb21wZXRpdGlvbkhlYWRlclN1Y2Nlc3MgPSAnW0NvbXBldGl0aW9uXSBMb2FkIEhlYWRlciBTdWNjZXNzJyxcclxuXHJcbiAgRGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uID0gJ1tDb21wZXRpdGlvbl0gRGVsZXRlIFZlcnNpb24nLFxyXG4gIERlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MgPSAnW0NvbXBldGl0aW9uXSBEZWxldGUgVmVyc2lvbiBTdWNjZXNzJyxcclxuXHJcbiAgQ3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uID0gJ1tDb21wZXRpdGlvbl0gQ3JlYXRlIFZlcnNpb24nLFxyXG4gIENyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MgPSAnW0NvbXBldGl0aW9uXSBDcmVhdGUgVmVyc2lvbiBTdWNjZXNzJyxcclxuXHJcbiAgQ29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzID0gJ1tDb21wZXRpdGlvbl0gVmVyc2lvbiBDaGFuZ2UgU3RhdHVzJyxcclxuICBDb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXNTdWNjZXNzID0gJ1tDb21wZXRpdGlvbl0gVmVyc2lvbiBDaGFuZ2UgU3RhdHVzIFN1Y2Nlc3MnLFxyXG4gIENvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c01hbnVhbCA9ICdbQ29tcGV0aXRpb25dIFZlcnNpb24gQ2hhbmdlIFN0YXR1cyBNYW51YWwnLFxyXG5cclxuICBTZWxlY3RDb21wZXRpdGlvblZlcnNpb24gPSAnW0NvbXBldGl0aW9uXSBTZWxlY3QgVmVyc2lvbicsXHJcblxyXG4gIEFjdGl2YXRlQ29tcGV0aXRpb24gPSAnW0NvbXBldGl0aW9uXSBBY3RpdmF0ZScsXHJcbiAgUGF1c2VDb21wZXRpdGlvbiA9ICdbQ29tcGV0aXRpb25dIFBhdXNlJyxcclxuICBDYW5jZWxDb21wZXRpdGlvbiA9ICdbQ29tcGV0aXRpb25dIENhbmNlbCcsXHJcbiAgQ2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbiA9ICdbQ29tcGV0aXRpb25dIENhbmNlbCBXaXRoIFZhbGlkYXRpb24nLFxyXG4gIENvbXBsZXRlQ29tcGV0aXRpb24gPSAnW0NvbXBldGl0aW9uXSBDb21wbGV0ZScsXHJcblxyXG4gIENvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyA9ICdbQ29tcGV0aXRpb25dIENoYW5nZVN0YXR1cyBTdWNjZXNzJyxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRDb21wZXRpdGlvbkhlYWRlciA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkxvYWRDb21wZXRpdGlvbkhlYWRlclxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGxvYWRDb21wZXRpdGlvbkhlYWRlclN1Y2Nlc3MgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Mb2FkQ29tcGV0aXRpb25IZWFkZXJTdWNjZXNzLFxyXG4gIHByb3BzPHsgY29tcGV0aXRpb25IZWFkZXI6IENvbXBldGl0aW9uSGVhZGVyVmVyc2lvbk1vZGVsIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBkZWxldGVDb21wZXRpdGlvblZlcnNpb24gPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5EZWxldGVDb21wZXRpdGlvblZlcnNpb24sXHJcbiAgcHJvcHM8eyB2ZXJzaW9uSWQ6IHN0cmluZyB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MsXHJcbiAgcHJvcHM8eyB2ZXJzaW9uSWQ6IHN0cmluZyB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzLFxyXG4gIHByb3BzPHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MsXHJcbiAgcHJvcHM8eyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXNNYW51YWwgPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXNNYW51YWwsXHJcbiAgcHJvcHM8eyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjcmVhdGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyxcclxuICBwcm9wczx7IHZlcnNpb25JZDogc3RyaW5nIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBzZWxlY3RDb21wZXRpdGlvblZlcnNpb24gPSBjcmVhdGVBY3Rpb24oXHJcbiAgRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5TZWxlY3RDb21wZXRpdGlvblZlcnNpb24sXHJcbiAgcHJvcHM8eyB2ZXJzaW9uSWQ6IHN0cmluZyB9PigpXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgYWN0aXZhdGVDb21wZXRpdGlvbiA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkFjdGl2YXRlQ29tcGV0aXRpb25cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBwYXVzZUNvbXBldGl0aW9uID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuUGF1c2VDb21wZXRpdGlvblxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNhbmNlbENvbXBldGl0aW9uID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ2FuY2VsQ29tcGV0aXRpb25cclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbixcclxuICBwcm9wczx7IHZlcnNpb25JZDogc3RyaW5nIH0+KClcclxuKTtcclxuXHJcbmV4cG9ydCBjb25zdCBjb21wbGV0ZUNvbXBldGl0aW9uID0gY3JlYXRlQWN0aW9uKFxyXG4gIEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGxldGVDb21wZXRpdGlvblxyXG4pO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyA9IGNyZWF0ZUFjdGlvbihcclxuICBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2Vzc1xyXG4pO1xyXG4iXX0=
@@ -86,4 +86,4 @@ CompetitionHeaderEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CompetitionHeaderEffects, decorators: [{
87
87
  type: Injectable
88
88
  }], ctorParameters: function () { return [{ type: i1.CompetitionHeaderService }, { type: i2.Actions }, { type: i3.Store }, { type: i4.AlertService }]; } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQVEsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQWtDLHlCQUF5QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFJeEcsT0FBTyxFQUFnQixlQUFlLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUl2RyxNQUFNLE9BQU8sd0JBQXdCO0lBZ0tuQyxZQUFvQix3QkFBa0QsRUFDbEQsUUFBaUIsRUFDakIsS0FBWSxFQUNaLFlBQTBCO1FBSDFCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osaUJBQVksR0FBWixZQUFZLENBQWM7UUFqSzlDLDJCQUFzQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FD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L2NvcmUnO1xyXG5pbXBvcnQge0FjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHtzZWxlY3QsIFN0b3JlfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7RU1QVFl9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucyBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHtjYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uLCBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zfSBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbH0gZnJvbSAnLi4vbW9kZWxzL2NvbXBldGl0aW9uLWhlYWRlci12ZXJzaW9uLm1vZGVsJztcclxuaW1wb3J0IHtDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtfSBmcm9tICcuLi9lbnVtcy9jb21wZXRpdGlvbi12ZXJzaW9uLXN0YXR1cy5lbnVtJztcclxuaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBldGl0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBNZXNzYWdlU2V2ZXJpdHksIHNlbGVjdENvbXBldGl0aW9uSWQsIFV0aWxpdGllcyB9IGZyb20gJ215cnRleC1tZi11aS1jb21wb3NpdGUnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbXBldGl0aW9uSGVhZGVyRWZmZWN0cyB7XHJcblxyXG4gIGxvYWRDb21wZXRpdGlvbkhlYWRlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuTG9hZENvbXBldGl0aW9uSGVhZGVyKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmdldEhlYWRlcihjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbCkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmxvYWRDb21wZXRpdGlvbkhlYWRlclN1Y2Nlc3Moe2NvbXBldGl0aW9uSGVhZGVyOiByZXN1bHR9KSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuRGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uKSxcclxuICAgIG1hcCgoYWN0aW9uOiB7IHZlcnNpb25JZDogc3RyaW5nIH0pID0+IGFjdGlvbi52ZXJzaW9uSWQpLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbdmVyc2lvbklkLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuZGVsZXRlVmVyc2lvbihjb21wZXRpdGlvbklkLCB2ZXJzaW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGJvb2xlYW4pID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5kZWxldGVDb21wZXRpdGlvblZlcnNpb25TdWNjZXNzKHsgdmVyc2lvbklkIH0pKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKGVyciwgbnVsbCwgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpKTtcclxuXHJcbiAgZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuRGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICB0YXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvYXBwbGljYXRpb24vY29tcGV0aXRpb25zL2l0ZW0/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9YClcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmNyZWF0ZVZlcnNpb24oY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogc3RyaW5nKSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2Vzcyh7IHZlcnNpb25JZDogcmVzdWx0IH0pKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKGVyciwgbnVsbCwgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpKTtcclxuXHJcbiAgY3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ3JlYXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2VzcyksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHRhcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC9hcHBsaWNhdGlvbi9jb21wZXRpdGlvbnMvaXRlbT9jb21wZXRpdGlvbklkPSR7Y29tcGV0aXRpb25JZH0mdmVyc2lvbklkPSR7dmVyc2lvbklkfWApXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBjb21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1cyksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0pID0+IGFjdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFthY3Rpb24sIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS52ZXJzaW9uQ2hhbmdlU3RhdHVzKGNvbXBldGl0aW9uSWQsIGFjdGlvbi52ZXJzaW9uSWQsIGFjdGlvbi5zdGF0dXMpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgIHJldHVybiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2Vzcyh7XHJcbiAgICAgICAgICAgIHZlcnNpb25JZDogYWN0aW9uLnZlcnNpb25JZCxcclxuICAgICAgICAgICAgc3RhdHVzOiBhY3Rpb24uc3RhdHVzXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dNZXNzYWdlKGVyciwgbnVsbCwgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSkpKTtcclxuXHJcbiAgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZywgc3RhdHVzOiBDb21wZXRpdGlvblZlcnNpb25TdGF0dXNFbnVtIH0pID0+IGFjdGlvbiksXHJcbiAgICB0YXAoKGFjdGlvbikgPT4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgc2VsZWN0Q29tcGV0aXRpb25WZXJzaW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5TZWxlY3RDb21wZXRpdGlvblZlcnNpb24pLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICB0YXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIGNvbnN0IG5ld1VyaSA9IFV0aWxpdGllcy51cGRhdGVRdWVyeVN0cmluZ1BhcmFtZXRlcih3aW5kb3cubG9jYXRpb24uaHJlZiwgJ3ZlcnNpb25JZCcsIHZlcnNpb25JZCk7XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gbmV3VXJpO1xyXG4gICAgfSlcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGFjdGl2YXRlQ29tcGV0aXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5BY3RpdmF0ZUNvbXBldGl0aW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmFjdGl2YXRlKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINCw0LrRgtC40LLQsNGG0LjQuCcsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKSkpO1xyXG5cclxuICBwYXVzZUNvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuUGF1c2VDb21wZXRpdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5wYXVzZShjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQv9GA0LjQvtGB0YLQsNC90L7QstC60LgnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICkpKTtcclxuXHJcbiAgY29tcGxldGVDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBsZXRlQ29tcGV0aXRpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuY29tcGxldGUoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93U3RpY2t5TWVzc2FnZShlcnIsICfQntGI0LjQsdC60LAg0L/RgNC4INC30LDQstC10YDRiNC10L3QuNC4JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApKSk7XHJcblxyXG4gIGNhbmNlbENvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ2FuY2VsQ29tcGV0aXRpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UuY2FuY2VsKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINC/0YDQuCDQvtGC0LzQtdC90LUnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICkpKTtcclxuXHJcbiAgY2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQ2FuY2VsQ29tcGV0aXRpb25XaXRoVmFsaWRhdGlvbiksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHRhcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+XHJcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYC9tLWRhdGEvbWluZmluL3NlbGVjdGlvbi9lZGl0L2NhbmNlbD9jb21wZXRpdGlvbklkPSR7Y29tcGV0aXRpb25JZH0mdmVyc2lvbklkPSR7dmVyc2lvbklkfWApXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBjb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcyksXHJcbiAgICB0YXAoKCkgPT4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpKVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb21wZXRpdGlvbkhlYWRlclNlcnZpY2U6IENvbXBldGl0aW9uSGVhZGVyU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcbn1cclxuIl19
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0aXRpb24taGVhZGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0ZXgtbWYtY29tcGV0aXRpb24vc3JjL2xpYi9tb2R1bGVzL2NvbXBldGl0aW9uLWhlYWRlci9zdG9yZS9jb21wZXRpdGlvbi1oZWFkZXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxNQUFNLEVBQVEsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sS0FBSyx3QkFBd0IsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RSxPQUFPLEVBQWtDLHlCQUF5QixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFHeEcsT0FBTyxFQUdMLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsU0FBUyxFQUNWLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUloQyxNQUFNLE9BQU8sd0JBQXdCO0lBZ0tuQyxZQUFvQix3QkFBa0QsRUFDbEQsUUFBaUIsRUFDakIsS0FBWSxFQUNaLFlBQTBCO1FBSDFCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osaUJBQVksR0FBWixZQUFZLENBQWM7UUFqSzlDLDJCQUFzQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FD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L2NvcmUnO1xyXG5pbXBvcnQge0FjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHtzZWxlY3QsIFN0b3JlfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7RU1QVFl9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwLCB0YXAsIHdpdGhMYXRlc3RGcm9tfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucyBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHtjYW5jZWxDb21wZXRpdGlvbldpdGhWYWxpZGF0aW9uLCBFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zfSBmcm9tICcuL2NvbXBldGl0aW9uLWhlYWRlci5hY3Rpb25zJztcclxuaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclZlcnNpb25Nb2RlbH0gZnJvbSAnLi4vbW9kZWxzL2NvbXBldGl0aW9uLWhlYWRlci12ZXJzaW9uLm1vZGVsJztcclxuaW1wb3J0IHtDb21wZXRpdGlvbkhlYWRlclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2NvbXBldGl0aW9uLWhlYWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBBbGVydFNlcnZpY2UsXHJcbiAgQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSxcclxuICBNZXNzYWdlU2V2ZXJpdHksXHJcbiAgc2VsZWN0Q29tcGV0aXRpb25JZCxcclxuICBVdGlsaXRpZXNcclxufSBmcm9tICdteXJ0ZXgtbWYtdWktY29tcG9zaXRlJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb21wZXRpdGlvbkhlYWRlckVmZmVjdHMge1xyXG5cclxuICBsb2FkQ29tcGV0aXRpb25IZWFkZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkxvYWRDb21wZXRpdGlvbkhlYWRlciksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5nZXRIZWFkZXIoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogQ29tcGV0aXRpb25IZWFkZXJWZXJzaW9uTW9kZWwpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5sb2FkQ29tcGV0aXRpb25IZWFkZXJTdWNjZXNzKHtjb21wZXRpdGlvbkhlYWRlcjogcmVzdWx0fSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd01lc3NhZ2UoZXJyLCBudWxsLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KSkpO1xyXG5cclxuICBkZWxldGVDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgICBtYXAoKGFjdGlvbjogeyB2ZXJzaW9uSWQ6IHN0cmluZyB9KSA9PiBhY3Rpb24udmVyc2lvbklkKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoW3ZlcnNpb25JZCwgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmRlbGV0ZVZlcnNpb24oY29tcGV0aXRpb25JZCwgdmVyc2lvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBib29sZWFuKSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuZGVsZXRlQ29tcGV0aXRpb25WZXJzaW9uU3VjY2Vzcyh7IHZlcnNpb25JZCB9KSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkRlbGV0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MpLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgdGFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4gd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgL2FwcGxpY2F0aW9uL2NvbXBldGl0aW9ucy9pdGVtP2NvbXBldGl0aW9uSWQ9JHtjb21wZXRpdGlvbklkfWApXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBjcmVhdGVDb21wZXRpdGlvblZlcnNpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5jcmVhdGVWZXJzaW9uKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IHN0cmluZykgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MoeyB2ZXJzaW9uSWQ6IHJlc3VsdCB9KSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNyZWF0ZUNvbXBldGl0aW9uVmVyc2lvblN1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICB0YXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PlxyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvYXBwbGljYXRpb24vY29tcGV0aXRpb25zL2l0ZW0/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke3ZlcnNpb25JZH1gKVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgY29tcGV0aXRpb25WZXJzaW9uQ2hhbmdlU3RhdHVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvblZlcnNpb25DaGFuZ2VTdGF0dXMpLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9KSA9PiBhY3Rpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbYWN0aW9uLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UudmVyc2lvbkNoYW5nZVN0YXR1cyhjb21wZXRpdGlvbklkLCBhY3Rpb24udmVyc2lvbklkLCBhY3Rpb24uc3RhdHVzKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3Moe1xyXG4gICAgICAgICAgICB2ZXJzaW9uSWQ6IGFjdGlvbi52ZXJzaW9uSWQsXHJcbiAgICAgICAgICAgIHN0YXR1czogYWN0aW9uLnN0YXR1c1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93TWVzc2FnZShlcnIsIG51bGwsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pKSk7XHJcblxyXG4gIGNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNvbXBldGl0aW9uVmVyc2lvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcsIHN0YXR1czogQ29tcGV0aXRpb25WZXJzaW9uU3RhdHVzRW51bSB9KSA9PiBhY3Rpb24pLFxyXG4gICAgdGFwKChhY3Rpb24pID0+IHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSlcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIHNlbGVjdENvbXBldGl0aW9uVmVyc2lvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuU2VsZWN0Q29tcGV0aXRpb25WZXJzaW9uKSxcclxuICAgIG1hcCgoYWN0aW9uOiB7IHZlcnNpb25JZDogc3RyaW5nIH0pID0+IGFjdGlvbi52ZXJzaW9uSWQpLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgdGFwKChbdmVyc2lvbklkLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICBjb25zdCBuZXdVcmkgPSBVdGlsaXRpZXMudXBkYXRlUXVlcnlTdHJpbmdQYXJhbWV0ZXIod2luZG93LmxvY2F0aW9uLmhyZWYsICd2ZXJzaW9uSWQnLCB2ZXJzaW9uSWQpO1xyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IG5ld1VyaTtcclxuICAgIH0pXHJcbiAgKSwge2Rpc3BhdGNoOiBmYWxzZX0pO1xyXG5cclxuICBhY3RpdmF0ZUNvbXBldGl0aW9uJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiAodGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKEVDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuQWN0aXZhdGVDb21wZXRpdGlvbiksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICBzd2l0Y2hNYXAoKFssIGNvbXBldGl0aW9uSWRdKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbXBldGl0aW9uSGVhZGVyU2VydmljZS5hY3RpdmF0ZShjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQsNC60YLQuNCy0LDRhtC40LgnLCBNZXNzYWdlU2V2ZXJpdHkuZXJyb3IpO1xyXG4gICAgICAgICAgcmV0dXJuIEVNUFRZO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICkpKTtcclxuXHJcbiAgcGF1c2VDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLlBhdXNlQ29tcGV0aXRpb24pLFxyXG4gICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RDb21wZXRpdGlvbklkKSkpLFxyXG4gICAgc3dpdGNoTWFwKChbLCBjb21wZXRpdGlvbklkXSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb21wZXRpdGlvbkhlYWRlclNlcnZpY2UucGF1c2UoY29tcGV0aXRpb25JZCkucGlwZShcclxuICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiBDb21wZXRpdGlvbkhlYWRlckFjdGlvbnMuY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzKCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93U3RpY2t5TWVzc2FnZShlcnIsICfQntGI0LjQsdC60LAg0L/RgNC40L7RgdGC0LDQvdC+0LLQutC4JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApKSk7XHJcblxyXG4gIGNvbXBsZXRlQ29tcGV0aXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wbGV0ZUNvbXBldGl0aW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmNvbXBsZXRlKGNvbXBldGl0aW9uSWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXN1bHQ6IGFueSkgPT4gQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLmNvbXBldGl0aW9uQ2hhbmdlU3RhdHVzU3VjY2VzcygpKSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIsIGNhdWdodCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd1N0aWNreU1lc3NhZ2UoZXJyLCAn0J7RiNC40LHQutCwINC/0YDQuCDQt9Cw0LLQtdGA0YjQtdC90LjQuCcsIE1lc3NhZ2VTZXZlcml0eS5lcnJvcik7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKSkpO1xyXG5cclxuICBjYW5jZWxDb21wZXRpdGlvbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gKHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uKSxcclxuICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuc3RvcmUucGlwZShzZWxlY3Qoc2VsZWN0Q29tcGV0aXRpb25JZCkpKSxcclxuICAgIHN3aXRjaE1hcCgoWywgY29tcGV0aXRpb25JZF0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlLmNhbmNlbChjb21wZXRpdGlvbklkKS5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IENvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5jb21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MoKSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyLCBjYXVnaHQpID0+IHtcclxuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dTdGlja3lNZXNzYWdlKGVyciwgJ9Ce0YjQuNCx0LrQsCDQv9GA0Lgg0L7RgtC80LXQvdC1JywgTWVzc2FnZVNldmVyaXR5LmVycm9yKTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApKSk7XHJcblxyXG4gIGNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShFQ29tcGV0aXRpb25IZWFkZXJBY3Rpb25zLkNhbmNlbENvbXBldGl0aW9uV2l0aFZhbGlkYXRpb24pLFxyXG4gICAgbWFwKChhY3Rpb246IHsgdmVyc2lvbklkOiBzdHJpbmcgfSkgPT4gYWN0aW9uLnZlcnNpb25JZCksXHJcbiAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHNlbGVjdENvbXBldGl0aW9uSWQpKSksXHJcbiAgICB0YXAoKFt2ZXJzaW9uSWQsIGNvbXBldGl0aW9uSWRdKSA9PlxyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAvbS1kYXRhL21pbmZpbi9zZWxlY3Rpb24vZWRpdC9jYW5jZWw/Y29tcGV0aXRpb25JZD0ke2NvbXBldGl0aW9uSWR9JnZlcnNpb25JZD0ke3ZlcnNpb25JZH1gKVxyXG4gICksIHtkaXNwYXRjaDogZmFsc2V9KTtcclxuXHJcbiAgY29tcGV0aXRpb25DaGFuZ2VTdGF0dXNTdWNjZXNzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGUoRUNvbXBldGl0aW9uSGVhZGVyQWN0aW9ucy5Db21wZXRpdGlvbkNoYW5nZVN0YXR1c1N1Y2Nlc3MpLFxyXG4gICAgdGFwKCgpID0+IHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSlcclxuICApLCB7ZGlzcGF0Y2g6IGZhbHNlfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcGV0aXRpb25IZWFkZXJTZXJ2aWNlOiBDb21wZXRpdGlvbkhlYWRlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgICAgICAgICAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -7,7 +7,7 @@ import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
7
7
  import * as i2 from '@ngrx/store';
8
8
  import { createAction, props, createFeatureSelector, createSelector, select, createReducer, on, StoreModule } from '@ngrx/store';
9
9
  import * as i3 from 'myrtex-mf-ui-composite';
10
- import { selectCompetitionIdAndVersionId, UnSubscriber, CompetitionStatusEnum, CompetitionStatusEnumLabel, CompetitionModeEnum, selectCompetitionLabel, selectCompetitionConfig, DialogColor, DialogType, EndpointBaseService, selectCompetitionId, MessageSeverity, Utilities, TenantSettingsModule, MyrtexUiComponentsModule, MyrtexMfUiCompositeModule } from 'myrtex-mf-ui-composite';
10
+ import { selectCompetitionIdAndVersionId, UnSubscriber, CompetitionStatusEnum, CancelCompetitionTypeEnum, CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionStatusEnumLabel, CompetitionModeEnum, selectCompetitionLabel, selectCompetitionConfig, CompetitionVersionStatusGrouppingLabel, DialogColor, DialogType, EndpointBaseService, selectCompetitionId, MessageSeverity, Utilities, TenantSettingsModule, MyrtexUiComponentsModule, MyrtexMfUiCompositeModule } from 'myrtex-mf-ui-composite';
11
11
  import * as i1 from 'myrtex-mf-signer';
12
12
  import { MyrtexSignerModule } from 'myrtex-mf-signer';
13
13
  import * as i4 from '@ng-select/ng-select';
@@ -18,32 +18,6 @@ import { EMPTY } from 'rxjs';
18
18
  import { withLatestFrom, switchMap, map, catchError, tap } from 'rxjs/operators';
19
19
  import * as i1$1 from '@angular/common/http';
20
20
 
21
- var CompetitionVersionStatusEnum;
22
- (function (CompetitionVersionStatusEnum) {
23
- CompetitionVersionStatusEnum[CompetitionVersionStatusEnum["Draft"] = 0] = "Draft";
24
- CompetitionVersionStatusEnum[CompetitionVersionStatusEnum["Validation"] = 1] = "Validation";
25
- CompetitionVersionStatusEnum[CompetitionVersionStatusEnum["Confirmed"] = 2] = "Confirmed";
26
- CompetitionVersionStatusEnum[CompetitionVersionStatusEnum["Active"] = 5] = "Active";
27
- CompetitionVersionStatusEnum[CompetitionVersionStatusEnum["Used"] = 6] = "Used";
28
- CompetitionVersionStatusEnum[CompetitionVersionStatusEnum["Rejected"] = 10] = "Rejected";
29
- })(CompetitionVersionStatusEnum || (CompetitionVersionStatusEnum = {}));
30
- const CompetitionVersionStatusEnumLabel = {
31
- [CompetitionVersionStatusEnum.Draft]: 'черновик',
32
- [CompetitionVersionStatusEnum.Validation]: 'на согласовании',
33
- [CompetitionVersionStatusEnum.Confirmed]: 'утверждено',
34
- [CompetitionVersionStatusEnum.Active]: 'опубликовано',
35
- [CompetitionVersionStatusEnum.Used]: 'в архиве',
36
- [CompetitionVersionStatusEnum.Rejected]: 'отклонено',
37
- };
38
- const CompetitionVersionStatusGrouppingLabel = {
39
- [CompetitionVersionStatusEnum.Draft]: 'не опубликовано',
40
- [CompetitionVersionStatusEnum.Validation]: 'не опубликовано',
41
- [CompetitionVersionStatusEnum.Confirmed]: 'не опубликовано',
42
- [CompetitionVersionStatusEnum.Active]: 'опубликовано',
43
- [CompetitionVersionStatusEnum.Used]: 'в архиве',
44
- [CompetitionVersionStatusEnum.Rejected]: 'не опубликовано',
45
- };
46
-
47
21
  var ECompetitionHeaderActions;
48
22
  (function (ECompetitionHeaderActions) {
49
23
  ECompetitionHeaderActions["LoadCompetitionHeader"] = "[Competition] Load Header";
@@ -106,13 +80,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
106
80
  }]
107
81
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
108
82
 
109
- var CancelCompetitionTypeEnum;
110
- (function (CancelCompetitionTypeEnum) {
111
- CancelCompetitionTypeEnum[CancelCompetitionTypeEnum["Disabled"] = 0] = "Disabled";
112
- CancelCompetitionTypeEnum[CancelCompetitionTypeEnum["Enabled"] = 1] = "Enabled";
113
- CancelCompetitionTypeEnum[CancelCompetitionTypeEnum["WithValidation"] = 2] = "WithValidation";
114
- })(CancelCompetitionTypeEnum || (CancelCompetitionTypeEnum = {}));
115
-
116
83
  class CompetitionHeaderComponent extends UnSubscriber {
117
84
  constructor(signService, store, alertService) {
118
85
  super();
@@ -761,5 +728,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
761
728
  * Generated bundle index. Do not edit.
762
729
  */
763
730
 
764
- export { CompetitionHeaderComponent, CompetitionHeaderCustomButtonsDirective, CompetitionHeaderModule, CompetitionVersionStatusEnum, CompetitionVersionStatusEnumLabel, CompetitionVersionStatusGrouppingLabel };
731
+ export { CompetitionHeaderComponent, CompetitionHeaderCustomButtonsDirective, CompetitionHeaderModule };
765
732
  //# sourceMappingURL=myrtex-mf-competition.mjs.map