vcomply-workflow-engine 3.1.27 → 3.1.29

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.
@@ -125,6 +125,7 @@ export class GrcObjectListComponent {
125
125
  }
126
126
  }
127
127
  save() {
128
+ console.log('this.selectedGRC =>', this.selectedGRC);
128
129
  this.saveOtherGRC.emit(this.selectedGRC);
129
130
  }
130
131
  close() {
@@ -169,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
169
170
  type: Input,
170
171
  args: ['selectedGRC']
171
172
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFxQnBFLE1BQU0sT0FBTyxzQkFBc0I7SUF3QmpDO1FBdEJBLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFHLGNBQWMsQ0FBQztRQUMzQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQWtDLFlBQVksQ0FBQztRQUM5RCxnQkFBVyxHQUFrQixDQUFDLENBQUM7UUFRL0IsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RELHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTVDLENBQUM7SUFWaEIsSUFBMEIsY0FBYyxDQUFDLFdBQWdCO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQVFELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUF3QixFQUFFLEdBQVc7UUFDMUMsSUFBSSxHQUFHLEdBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksWUFBWSxFQUFFLE1BQU0sRUFBRTtZQUN4QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQ3BDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVEsRUFBRSxLQUFVO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzlDO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQ3pDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUMvQyxDQUFDLGFBQWtCLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUNuRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztnQkFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVzthQUN2QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDOUM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBYyxFQUFFLElBQVk7UUFDakQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWE7Z0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRTtnQkFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNQO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUNFLElBQUksQ0FBQyxjQUFjO1lBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU07WUFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM5QjtZQUNBLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDO29CQUNwQyxPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1lBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUM7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDeEIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7O21IQWpKVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw2WENoQ25DLG00VEE4T0EsMDBaRDdOSSxZQUFZLG9UQUNaLGFBQWEsc1BBQ2IsZUFBZSxzTEFDZixhQUFhLHFNQUNiLGlCQUFpQix5akJBQ2pCLGdCQUFnQixnUEFDaEIsa0JBQWtCLDJLQUNsQixZQUFZLGdUQUNaLGdCQUFnQjsyRkFPUCxzQkFBc0I7a0JBbkJsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakIsVUFHTyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsV0FDakUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDOzBFQWdCdEMsY0FBYztzQkFBdkMsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9USEVSX0dSQ19DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyY09iamVjdC5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ2dyY09iamVjdCcsICdjdXJyZW50UGFnZScsICdsb2FkZXInLCAndGFibGVDYXJkJywgJ3NlbGVjdGVkVGFiJ10sXHJcbiAgb3V0cHV0czogWydzYXZlT3RoZXJHUkMnLCAnY2xvc2VPdGhlckdSQycsICdnZXRPdGhlckdSQ09iamVjdHMnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY09iamVjdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGFuaW1hdGlvbiE6IGJvb2xlYW47XHJcbiAgQ0ROX0xJTksgPSBMSU5LUztcclxuICB0YWJsZUNhcmQgPSBPVEhFUl9HUkNfQ0FSRDtcclxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLmdldElkcyh0aGlzLnNlbGVjdGVkR1JDLCAnX2lkJyk7XHJcbiAgICB0aGlzLnByZVNlbGVjdGVkR1JDID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzZWxlY3RlZEdSQykpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjbG9zZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXRPdGhlckdSQ09iamVjdHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKHNlbGVjdGVkTGlzdDogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBpZHM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGlmIChzZWxlY3RlZExpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICBzZWxlY3RlZExpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWRzLnB1c2goZWxlbWVudFtrZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaWRzID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRHUkMoZ3JjOiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDLnB1c2goZ3JjKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChncmM6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQyA9IHRoaXMuc2VsZWN0ZWRHUkM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyA9IHRoaXMuc2VsZWN0ZWRHUkNJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkR1JDSWQ6IGFueSkgPT4gc2VsZWN0ZWRHUkNJZCAhPT0gZ3JjPy5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZmFsc2UsIGdyYz8udHlwZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xyXG4gICAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdD8uZGF0YT8uZm9yRWFjaCgoZ3JjOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLnB1c2goZ3JjPy5faWQpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZ3JjKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUYWJTZWxlY3RlZENvdW50KGV2ZW50OiBib29sZWFuLCB0eXBlOiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50Kys7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50XHJcbiAgICAgICAgPyB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50LS1cclxuICAgICAgICA6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID49IHRoaXMuZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5sZW5ndGggPiAwXHJcbiAgICApIHtcclxuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5ncmNPYmplY3Q/LmRhdGEpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHUkNJZHMuaW5jbHVkZXMoZ3JjPy5faWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnRGVzZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5zYXZlT3RoZXJHUkMuZW1pdCh0aGlzLnNlbGVjdGVkR1JDKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5jbG9zZU90aGVyR1JDLmVtaXQodGhpcy5wcmVTZWxlY3RlZEdSQyk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSBldmVudDtcclxuICAgIHRoaXMuZ3JjT2JqZWN0LmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZFRhYihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdC5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBldmVudD8udHlwZTtcclxuICAgIHRoaXMuZ2V0T3RoZXJHUkNPYmplY3RzLmVtaXQoe1xyXG4gICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgIHNlYXJjaFN0cmluZzogdGhpcy5zZWFyY2hTdHJpbmcsXHJcbiAgICAgIHR5cGU6IGV2ZW50Py50eXBlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3RcIiBbY2xhc3MuYW5pbWF0ZV09XCJhbmltYXRpb25cIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5TZWxlY3QgR1JDIE9iamVjdChzKTwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRhYmxlLWNhcmQtYXJlYSB2eC1kLWZsZXggdngtbWItMlwiPlxyXG4gICAgICA8YXBwLXRhYmxlLWNhcmRcclxuICAgICAgICBjbGFzcz1cInZ4LXctMTAwXCJcclxuICAgICAgICBbdGFibGVDYXJkXT1cInRhYmxlQ2FyZFwiXHJcbiAgICAgICAgW3NpbmdsZVNlbGVjdGVkVGV4dF09XCInR1JDIE9iamVjdCBTZWxlY3RlZCdcIlxyXG4gICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXHJcbiAgICAgICAgW211bHRpcGxlU2VsZWN0ZWRUZXh0XT1cIidHUkMgT2JqZWN0cyBTZWxlY3RlZCdcIlxyXG4gICAgICAgIChzZXRTZWxlY3RlZFRhYik9XCJzZXRTZWxlY3RlZFRhYigkZXZlbnQpXCJcclxuICAgICAgPjwvYXBwLXRhYmxlLWNhcmQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTBiOzwvaT5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICNzZWFyY2hHUkNcclxuICAgICAgICAoa2V5dXAuZW50ZXIpPVwiaGFuZGxlU2VhcmNoKCRldmVudC50YXJnZXQudmFsdWUpXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBHUkMgb2JqZWN0c1wiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHktaW5uZXIgdngtbWItNFwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRlciAmJiBncmNPYmplY3Q/LmRhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxhcHAtcGFnaW5hdGlvblxyXG4gICAgICAgICAgKm5nSWY9XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzID4gMVwiXHJcbiAgICAgICAgICBbc3RhcnRdPVwiZ3JjT2JqZWN0Py5pdGVtc19mcm9tXCJcclxuICAgICAgICAgIFtlbmRdPVwiZ3JjT2JqZWN0Py5pdGVtc190b1wiXHJcbiAgICAgICAgICBbdG90YWxdPVwiZ3JjT2JqZWN0Py50b3RhbF9pdGVtc1wiXHJcbiAgICAgICAgICBbcGFnZUNvdW50XT1cImdyY09iamVjdD8udG90YWxfcGFnZXNcIlxyXG4gICAgICAgICAgW2N1cnJlbnRQYWdlXT1cImN1cnJlbnRQYWdlXCJcclxuICAgICAgICAgIChzZWxlY3RlZFBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCJcclxuICAgICAgICA+PC9hcHAtcGFnaW5hdGlvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0LWFsbCB2eC1tdC0xIHZ4LW1iLTEgdngtcGwtMlwiPlxyXG4gICAgICAgICAgPGFwcC1jcy1jaGVja2JveFxyXG4gICAgICAgICAgICBbbmdWYWx1ZV09XCJpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48ZGl2IGNsYXNzPVwidngtZnMtMTIgdngtZnctNjAwIHZ4LWxhYmVsLXR4dFwiPlxyXG4gICAgICAgICAgICAgIHt7IHNlbGVjdEFsbEJ1dHRvbiB9fVxyXG4gICAgICAgICAgICA8L2Rpdj48L2FwcC1jcy1jaGVja2JveFxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LXRhYmxlXCJcclxuICAgICAgICAgIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvd1wiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICNcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgTkFNRVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LWZzLTEwIHZ4LWZ3LTUwMCB2eC1saC01IHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciByZXNwb25zaWJpbGl0eS1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFJFU1BPTlNJQklMSVRZIENFTlRFUlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWJvZHlcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtcm93XCJcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZ3JjIG9mIGdyY09iamVjdD8uZGF0YTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJzZWxlY3RlZEdSQ0lkcz8uaW5jbHVkZXMoZ3JjPy5faWQpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInNyLW5vXCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBncmNPYmplY3Q/Lml0ZW1zX2Zyb20gKyBpIH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiXHJcbiAgICAgICAgICAgICAgICAgIChuZ1ZhbHVlQ2hhbmdlKT1cImdldFNlbGVjdGVkR1JDKGdyYywgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgbmFtZVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hbWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiZ3JjPy5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHt7IGdyYz8ubmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmMtaW5uZXIgdngtZC1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWUgdngtZnMtMTIgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ucmNEZXRhaWxzWzBdPy5yY19uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGdyYz8ucmNEZXRhaWxzWzBdPy5yY19uYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLXBhcnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzPy5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tYm94IHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zIHZ4LXR4dC1ibHVlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICBXaXRoaW5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBncmM/LnJjRGV0YWlsc1swXT8ucGFyZW50X3JjX25hbWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXHJcbiAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKFwiID4gXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImdyYz8ucmNEZXRhaWxzPy5sZW5ndGggPiAxXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyYy1jb3VudC1idG4gdngtZnMtMTEgdngtdHh0LWJsdWUgdngtcC0wIHZ4LXBsLTEgdngtcHItMSB2eC1tLTAgdngtbWwtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmNDb3VudC5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICt7eyBncmM/LnJjRGV0YWlscz8ubGVuZ3RoIC0gMSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLXBvcG92ZXIgI3JjQ291bnQ+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Zi1hY3Rpb24tbGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImFjdGlvbi1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHJjRGV0YWlscyBvZiBncmM/LnJjRGV0YWlscyB8IHNsaWNlIDogMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyLWNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cInJjRGV0YWlscz8ucmNfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgcmNEZXRhaWxzPy5yY19uYW1lIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyY0RldGFpbHM/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrXCI+V0lUSElOPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi12YWx1ZSB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJjRGV0YWlscz8ucGFyZW50X3JjX25hbWVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LmpvaW4oJyA+ICcpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByY0RldGFpbHM/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKFwiID4gXCIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9hcHAtcG9wb3Zlcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxhcHAtbGlzdC1sb2FkZXIgKm5nSWY9XCJsb2FkZXJcIj48L2FwcC1saXN0LWxvYWRlcj5cclxuICAgICAgPGFwcC1uby1kYXRhXHJcbiAgICAgICAgKm5nSWY9XCJncmNPYmplY3Q/LmRhdGE/Lmxlbmd0aCA9PT0gMCAmJiAhbG9hZGVyXCJcclxuICAgICAgICBbbm9EYXRhSW1hZ2VdPVwiQ0ROX0xJTks/Lm5vRGF0YVwiXHJcbiAgICAgICAgW25vRGF0YVRleHRdPVwiJ05vIGRhdGEgdG8gZGlzcGxheSdcIlxyXG4gICAgICA+PC9hcHAtbm8tZGF0YT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxhcHAtZmxvYXRpbmctYmFyXHJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRHUkM/Lmxlbmd0aCA/IHNlbGVjdGVkR1JDIDogW11cIlxyXG4gICAgICAoY2xvc2VMaXN0KT1cImNsb3NlKClcIlxyXG4gICAgICAoY2xvc2VFdmVudCk9XCJzYXZlKClcIlxyXG4gICAgICBbZGlzcGxheUVsZW1lbnRLZXldPVwiJ25hbWUnXCJcclxuICAgICAgW3Npbmd1bGFyVGV4dF09XCInR1JDIE9iamVjdCBzZWxlY3RlZCdcIlxyXG4gICAgICBbcGx1cmFsVGV4dF09XCInR1JDIE9iamVjdHMgc2VsZWN0ZWQnXCJcclxuICAgICAgKGRlbGV0ZUV2ZW50KT1cImRlbGV0ZUV2ZW50KCRldmVudClcIlxyXG4gICAgPjwvYXBwLWZsb2F0aW5nLWJhcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93L3NoYXJlZC9jb21wb25lbnRzL2dyYy1vYmplY3QtbGlzdC9ncmMtb2JqZWN0LWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvd29ya2Zsb3cvc2hhcmVkL2NvbXBvbmVudHMvZ3JjLW9iamVjdC1saXN0L2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDekUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7Ozs7QUFxQnBFLE1BQU0sT0FBTyxzQkFBc0I7SUF3QmpDO1FBdEJBLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFHLGNBQWMsQ0FBQztRQUMzQixXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGdCQUFXLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLG9CQUFlLEdBQWtDLFlBQVksQ0FBQztRQUM5RCxnQkFBVyxHQUFrQixDQUFDLENBQUM7UUFRL0IsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNyRCxrQkFBYSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RELHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTVDLENBQUM7SUFWaEIsSUFBMEIsY0FBYyxDQUFDLFdBQWdCO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQVFELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUF3QixFQUFFLEdBQVc7UUFDMUMsSUFBSSxHQUFHLEdBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksWUFBWSxFQUFFLE1BQU0sRUFBRTtZQUN4QixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQ3BDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVEsRUFBRSxLQUFVO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzlDO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQ3pDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxLQUFLLEdBQUcsRUFBRSxHQUFHLENBQzlDLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUMvQyxDQUFDLGFBQWtCLEVBQUUsRUFBRSxDQUFDLGFBQWEsS0FBSyxHQUFHLEVBQUUsR0FBRyxDQUNuRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxLQUFLLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztnQkFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVzthQUN2QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDOUM7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBYyxFQUFFLElBQVk7UUFDakQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3RDO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWE7Z0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRTtnQkFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNQO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUNFLElBQUksQ0FBQyxjQUFjO1lBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU07WUFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM5QjtZQUNBLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQzNDLElBQUksQ0FBQyxlQUFlLEdBQUcsWUFBWSxDQUFDO29CQUNwQyxPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1lBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxjQUFjLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUM7WUFDcEMsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFDRCxJQUFJO1FBQ0YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUMzQixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDeEIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQztRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDO1lBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUNMLENBQUM7O21IQWxKVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw2WENoQ25DLG00VEE4T0EsMDBaRDdOSSxZQUFZLG9UQUNaLGFBQWEsc1BBQ2IsZUFBZSxzTEFDZixhQUFhLHFNQUNiLGlCQUFpQix5akJBQ2pCLGdCQUFnQixnUEFDaEIsa0JBQWtCLDJLQUNsQixZQUFZLGdUQUNaLGdCQUFnQjsyRkFPUCxzQkFBc0I7a0JBbkJsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakIsVUFHTyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLENBQUMsV0FDakUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDOzBFQWdCdEMsY0FBYztzQkFBdkMsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGbG9hdGluZ0Jhck1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZENvbXBvbmVudHMvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3JtZ3JvdXBNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi91aS1raXQvZm9ybWdyb3VwL2Zvcm1ncm91cC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3BvcG92ZXIvcG9wb3Zlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUYWJsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuLi90YWJsZS1jYXJkL3RhYmxlLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMSU5LUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jZG4tbGluay5jb25zdGFudCc7XHJcbmltcG9ydCB7IExpc3RMb2FkZXJNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWRDb21wb25lbnRzL2xpc3QtbG9hZGVyL2xpc3QtbG9hZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE9USEVSX0dSQ19DQVJEIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2dyY09iamVjdC5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1ncmMtb2JqZWN0LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIEZvcm1ncm91cE1vZHVsZSxcclxuICAgIFRvb2x0aXBNb2R1bGUsXHJcbiAgICBGbG9hdGluZ0Jhck1vZHVsZSxcclxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUYWJsZUNhcmRDb21wb25lbnQsXHJcbiAgICBOb0RhdGFNb2R1bGUsXHJcbiAgICBMaXN0TG9hZGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyYy1vYmplY3QtbGlzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZ3JjLW9iamVjdC1saXN0LmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgaW5wdXRzOiBbJ2dyY09iamVjdCcsICdjdXJyZW50UGFnZScsICdsb2FkZXInLCAndGFibGVDYXJkJywgJ3NlbGVjdGVkVGFiJ10sXHJcbiAgb3V0cHV0czogWydzYXZlT3RoZXJHUkMnLCAnY2xvc2VPdGhlckdSQycsICdnZXRPdGhlckdSQ09iamVjdHMnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY09iamVjdExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGFuaW1hdGlvbiE6IGJvb2xlYW47XHJcbiAgQ0ROX0xJTksgPSBMSU5LUztcclxuICB0YWJsZUNhcmQgPSBPVEhFUl9HUkNfQ0FSRDtcclxuICBsb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBncmNPYmplY3Q6IGFueTtcclxuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcclxuICBzZWxlY3RlZEdSQzogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRHUkNJZHM6IGFueSA9IFtdO1xyXG4gIHNlYXJjaFN0cmluZzogc3RyaW5nID0gJyc7XHJcbiAgcHJlU2VsZWN0ZWRHUkM6IGFueSA9IFtdO1xyXG4gIHNlbGVjdEFsbEJ1dHRvbjogJ1NlbGVjdCBBbGwnIHwgJ0Rlc2VsZWN0IEFsbCcgPSAnU2VsZWN0IEFsbCc7XHJcbiAgc2VsZWN0ZWRUYWI6IDAgfCAxIHwgMiB8IDMgPSAwO1xyXG5cclxuICBASW5wdXQoJ3NlbGVjdGVkR1JDJykgc2V0IHNldFNlbGVjdGVkR1JDKHNlbGVjdGVkR1JDOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkMgPSBzZWxlY3RlZEdSQztcclxuICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMgPSB0aGlzLmdldElkcyh0aGlzLnNlbGVjdGVkR1JDLCAnX2lkJyk7XHJcbiAgICB0aGlzLnByZVNlbGVjdGVkR1JDID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzZWxlY3RlZEdSQykpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjbG9zZU90aGVyR1JDOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBnZXRPdGhlckdSQ09iamVjdHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSB0cnVlO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uID0gZmFsc2U7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SWRzKHNlbGVjdGVkTGlzdDogQXJyYXk8YW55Piwga2V5OiBzdHJpbmcpIHtcclxuICAgIGxldCBpZHM6IEFycmF5PGFueT4gPSBbXTtcclxuICAgIGlmIChzZWxlY3RlZExpc3Q/Lmxlbmd0aCkge1xyXG4gICAgICBzZWxlY3RlZExpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWRzLnB1c2goZWxlbWVudFtrZXldKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaWRzID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRHUkMoZ3JjOiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDLnB1c2goZ3JjKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5wdXNoKGdyYz8uX2lkKTtcclxuICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlbGV0ZUV2ZW50KGdyYyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkZWxldGVFdmVudChncmM6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQyA9IHRoaXMuc2VsZWN0ZWRHUkM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkOiBhbnkpID0+IHNlbGVjdGVkPy5faWQgIT09IGdyYz8uX2lkXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZWxlY3RlZEdSQ0lkcyA9IHRoaXMuc2VsZWN0ZWRHUkNJZHM/LmZpbHRlcihcclxuICAgICAgKHNlbGVjdGVkR1JDSWQ6IGFueSkgPT4gc2VsZWN0ZWRHUkNJZCAhPT0gZ3JjPy5faWRcclxuICAgICk7XHJcbiAgICB0aGlzLnVwZGF0ZVRhYlNlbGVjdGVkQ291bnQoZmFsc2UsIGdyYz8udHlwZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoU3RyaW5nICE9IGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgICB0aGlzLnNlYXJjaFN0cmluZyA9IGV2ZW50O1xyXG4gICAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgICBwYWdlTm86IHRoaXMuY3VycmVudFBhZ2UsXHJcbiAgICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkVGFiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmdyY09iamVjdD8uZGF0YT8uZm9yRWFjaCgoZ3JjOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkR1JDSWRzLmluY2x1ZGVzKGdyYz8uX2lkKSkge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEdSQy5wdXNoKGdyYyk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzLnB1c2goZ3JjPy5faWQpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVUYWJTZWxlY3RlZENvdW50KHRydWUsIGdyYz8udHlwZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZGVsZXRlRXZlbnQoZ3JjKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUYWJTZWxlY3RlZENvdW50KGV2ZW50OiBib29sZWFuLCB0eXBlOiBudW1iZXIpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50Kys7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50XHJcbiAgICAgICAgPyB0aGlzLnRhYmxlQ2FyZFt0eXBlXS5zZWxlY3RlZENvdW50LS1cclxuICAgICAgICA6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0FsbFNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkR1JDSWRzICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRHUkNJZHMubGVuZ3RoID49IHRoaXMuZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5zZWxlY3RlZEdSQ0lkcy5sZW5ndGggPiAwXHJcbiAgICApIHtcclxuICAgICAgZm9yIChjb25zdCBncmMgb2YgdGhpcy5ncmNPYmplY3Q/LmRhdGEpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRHUkNJZHMuaW5jbHVkZXMoZ3JjPy5faWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RBbGxCdXR0b24gPSAnRGVzZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbEJ1dHRvbiA9ICdTZWxlY3QgQWxsJztcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgY29uc29sZS5sb2coJ3RoaXMuc2VsZWN0ZWRHUkMgPT4nLCB0aGlzLnNlbGVjdGVkR1JDKTtcclxuICAgIHRoaXMuc2F2ZU90aGVyR1JDLmVtaXQodGhpcy5zZWxlY3RlZEdSQyk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VPdGhlckdSQy5lbWl0KHRoaXMucHJlU2VsZWN0ZWRHUkMpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFnZShldmVudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQ7XHJcbiAgICB0aGlzLmdyY09iamVjdC5jdXJyZW50UGFnZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXRPdGhlckdSQ09iamVjdHMuZW1pdCh7XHJcbiAgICAgIHBhZ2VObzogdGhpcy5jdXJyZW50UGFnZSxcclxuICAgICAgc2VhcmNoU3RyaW5nOiB0aGlzLnNlYXJjaFN0cmluZyxcclxuICAgICAgdHlwZTogdGhpcy5zZWxlY3RlZFRhYixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRUYWIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5ncmNPYmplY3QuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gZXZlbnQ/LnR5cGU7XHJcbiAgICB0aGlzLmdldE90aGVyR1JDT2JqZWN0cy5lbWl0KHtcclxuICAgICAgcGFnZU5vOiB0aGlzLmN1cnJlbnRQYWdlLFxyXG4gICAgICBzZWFyY2hTdHJpbmc6IHRoaXMuc2VhcmNoU3RyaW5nLFxyXG4gICAgICB0eXBlOiBldmVudD8udHlwZSxcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0XCIgW2NsYXNzLmFuaW1hdGVdPVwiYW5pbWF0aW9uXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCI+U2VsZWN0IEdSQyBPYmplY3Qocyk8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwid29ya2Zsb3ctZ3JjLW9iamVjdC1saXN0LWJvZHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jYXJkLWFyZWEgdngtZC1mbGV4IHZ4LW1iLTJcIj5cclxuICAgICAgPGFwcC10YWJsZS1jYXJkXHJcbiAgICAgICAgY2xhc3M9XCJ2eC13LTEwMFwiXHJcbiAgICAgICAgW3RhYmxlQ2FyZF09XCJ0YWJsZUNhcmRcIlxyXG4gICAgICAgIFtzaW5nbGVTZWxlY3RlZFRleHRdPVwiJ0dSQyBPYmplY3QgU2VsZWN0ZWQnXCJcclxuICAgICAgICBbc2VsZWN0ZWRUYWJdPVwic2VsZWN0ZWRUYWJcIlxyXG4gICAgICAgIFttdWx0aXBsZVNlbGVjdGVkVGV4dF09XCInR1JDIE9iamVjdHMgU2VsZWN0ZWQnXCJcclxuICAgICAgICAoc2V0U2VsZWN0ZWRUYWIpPVwic2V0U2VsZWN0ZWRUYWIoJGV2ZW50KVwiXHJcbiAgICAgID48L2FwcC10YWJsZS1jYXJkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1ibG9ja1wiPlxyXG4gICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAjc2VhcmNoR1JDXHJcbiAgICAgICAgKGtleXVwLmVudGVyKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2ggR1JDIG9iamVjdHNcIlxyXG4gICAgICAvPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIndvcmtmbG93LWdyYy1vYmplY3QtbGlzdC1ib2R5LWlubmVyIHZ4LW1iLTRcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkZXIgJiYgZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGhcIj5cclxuICAgICAgICA8YXBwLXBhZ2luYXRpb25cclxuICAgICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py50b3RhbF9wYWdlcyA+IDFcIlxyXG4gICAgICAgICAgW3N0YXJ0XT1cImdyY09iamVjdD8uaXRlbXNfZnJvbVwiXHJcbiAgICAgICAgICBbZW5kXT1cImdyY09iamVjdD8uaXRlbXNfdG9cIlxyXG4gICAgICAgICAgW3RvdGFsXT1cImdyY09iamVjdD8udG90YWxfaXRlbXNcIlxyXG4gICAgICAgICAgW3BhZ2VDb3VudF09XCJncmNPYmplY3Q/LnRvdGFsX3BhZ2VzXCJcclxuICAgICAgICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZVwiXHJcbiAgICAgICAgICAoc2VsZWN0ZWRQYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvYXBwLXBhZ2luYXRpb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdC1hbGwgdngtbXQtMSB2eC1tYi0xIHZ4LXBsLTJcIj5cclxuICAgICAgICAgIDxhcHAtY3MtY2hlY2tib3hcclxuICAgICAgICAgICAgW25nVmFsdWVdPVwiaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwic2VsZWN0QWxsKCRldmVudClcIlxyXG4gICAgICAgICAgICA+PGRpdiBjbGFzcz1cInZ4LWZzLTEyIHZ4LWZ3LTYwMCB2eC1sYWJlbC10eHRcIj5cclxuICAgICAgICAgICAgICB7eyBzZWxlY3RBbGxCdXR0b24gfX1cclxuICAgICAgICAgICAgPC9kaXY+PC9hcHAtY3MtY2hlY2tib3hcclxuICAgICAgICAgID5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJ3b3JrZmxvdy1ncmMtb2JqZWN0LWxpc3QtYm9keS10YWJsZVwiXHJcbiAgICAgICAgICBbY2xhc3Mud2l0aC1wYWdpbmF0aW9uXT1cImdyY09iamVjdD8udG90YWxfcGFnZXMgPiAxXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgc2VyaWFsXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAjXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gdngtZnMtMTAgdngtZnctNTAwIHZ4LWxoLTUgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIE5BTUVcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGgtNSB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgcmVzcG9uc2liaWxpdHktY2VudGVyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICBSRVNQT05TSUJJTElUWSBDRU5URVJcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLXJvd1wiXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyYyBvZiBncmNPYmplY3Q/LmRhdGE7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRHUkNJZHM/LmluY2x1ZGVzKGdyYz8uX2lkKVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzci1ub1wiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyY09iamVjdD8uaXRlbXNfZnJvbSArIGlcIlxyXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3sgZ3JjT2JqZWN0Py5pdGVtc19mcm9tICsgaSB9fVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlbGVjdGVkR1JDSWRzPy5pbmNsdWRlcyhncmM/Ll9pZClcIlxyXG4gICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJnZXRTZWxlY3RlZEdSQyhncmMsICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgPjwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIG5hbWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYW1lIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cImdyYz8ubmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBncmM/Lm5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHJlc3BvbnNpYmlsaXR5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJjLWlubmVyIHZ4LWQtYmxvY2tcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZhbHVlIHZ4LWZzLTEyIHZ4LWxhYmVsLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBncmM/LnJjRGV0YWlsc1swXT8ucmNfbmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpbi1wYXJ0IHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lcz8ubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwid2l0aGluLWJveCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtMyB2eC10eHQtYmx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgV2l0aGluXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JjPy5yY0RldGFpbHNbMF0/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uc2xpY2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYz8ucmNEZXRhaWxzWzBdPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA/LnJldmVyc2UoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJncmM/LnJjRGV0YWlscz8ubGVuZ3RoID4gMVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicmMtY291bnQtYnRuIHZ4LWZzLTExIHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTEgdngtbS0wIHZ4LW1sLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcFBvcG92ZXJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJjQ291bnQucG9wb3ZlcigpXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAre3sgZ3JjPy5yY0RldGFpbHM/Lmxlbmd0aCAtIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wb3BvdmVyICNyY0NvdW50PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2YtYWN0aW9uLWxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJhY3Rpb24taXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCByY0RldGFpbHMgb2YgZ3JjPy5yY0RldGFpbHMgfCBzbGljZSA6IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci1jYXJkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCJyY0RldGFpbHM/LnJjX25hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IHJjRGV0YWlscz8ucmNfbmFtZSB9fTwvc3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIndpdGhpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXM/Lmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3aXRoaW4tdmFsdWUgdngtZnMtMTEgdngtcGFyYWdyYXBoLXR4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByY0RldGFpbHM/LnBhcmVudF9yY19uYW1lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/LnNsaWNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5yZXZlcnNlKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5qb2luKCcgPiAnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmNEZXRhaWxzPy5wYXJlbnRfcmNfbmFtZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPy5zbGljZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8ucmV2ZXJzZSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8uam9pbihcIiA+IFwiKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8YXBwLWxpc3QtbG9hZGVyICpuZ0lmPVwibG9hZGVyXCI+PC9hcHAtbGlzdC1sb2FkZXI+XHJcbiAgICAgIDxhcHAtbm8tZGF0YVxyXG4gICAgICAgICpuZ0lmPVwiZ3JjT2JqZWN0Py5kYXRhPy5sZW5ndGggPT09IDAgJiYgIWxvYWRlclwiXHJcbiAgICAgICAgW25vRGF0YUltYWdlXT1cIkNETl9MSU5LPy5ub0RhdGFcIlxyXG4gICAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCJcclxuICAgICAgPjwvYXBwLW5vLWRhdGE+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8YXBwLWZsb2F0aW5nLWJhclxyXG4gICAgICBbc2VsZWN0ZWREYXRhXT1cInNlbGVjdGVkR1JDPy5sZW5ndGggPyBzZWxlY3RlZEdSQyA6IFtdXCJcclxuICAgICAgKGNsb3NlTGlzdCk9XCJjbG9zZSgpXCJcclxuICAgICAgKGNsb3NlRXZlbnQpPVwic2F2ZSgpXCJcclxuICAgICAgW2Rpc3BsYXlFbGVtZW50S2V5XT1cIiduYW1lJ1wiXHJcbiAgICAgIFtzaW5ndWxhclRleHRdPVwiJ0dSQyBPYmplY3Qgc2VsZWN0ZWQnXCJcclxuICAgICAgW3BsdXJhbFRleHRdPVwiJ0dSQyBPYmplY3RzIHNlbGVjdGVkJ1wiXHJcbiAgICAgIChkZWxldGVFdmVudCk9XCJkZWxldGVFdmVudCgkZXZlbnQpXCJcclxuICAgID48L2FwcC1mbG9hdGluZy1iYXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -57,6 +57,7 @@ export class GrcService {
57
57
  params = params.append('state', event?.state ?? 1);
58
58
  params = params.append('grcType', event?.type ?? 0);
59
59
  params = params.append('page', event?.pageNo ?? 1);
60
+ params = params.append('rcIds', event?.rc_ids ?? '');
60
61
  params = event?.searchString
61
62
  ? params.append('name', event?.searchString ?? '')
62
63
  : params;
@@ -69,11 +70,13 @@ export class GrcService {
69
70
  }
70
71
  getGRCTabsCount(event) {
71
72
  const headers = new HttpHeaders().set('token', this.authService.getAuthorizationToken());
72
- // https://devapi.v-comply.com/organization/?mode=grc/getGRCCount&state=active
73
73
  let params = new HttpParams();
74
74
  params = event?.searchString
75
75
  ? params.append('name', event?.searchString ?? '')
76
76
  : params;
77
+ if (event?.rc_ids) {
78
+ params = params.append('rcIds', event?.rc_ids);
79
+ }
77
80
  return this.http
78
81
  .get(this.env?.grc_get + 'grc/getGRCCount', {
79
82
  params,
@@ -213,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
213
216
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AuthService }, { type: i3.Configurations, decorators: [{
214
217
  type: Optional
215
218
  }] }]; } });
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvc2VydmljZXMvZ3JjLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQU03QixNQUFNLE9BQU8sVUFBVTtJQWdEckIsWUFDVSxJQUFnQixFQUNoQixXQUF3QixFQUNwQixNQUF1QjtRQUYzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBekNsQixnQkFBVyxHQUFXO1lBQ3BDLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsNkJBQTZCLEVBQUUsRUFBRTtZQUNqQyxXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixjQUFjLEVBQUUsRUFBRTtTQUNuQixDQUFDO1FBRWMsZ0JBQVcsR0FBZTtZQUN4QyxFQUFFLEVBQUU7Z0JBQ0YsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJ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UlMsVUFBVTsyR0FBVixVQUFVLGNBRlQsTUFBTTsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBb0RJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWRkR3JjLCBBdHRyaWJ1dGVzRGV0YWlscywgTGlzdE9iamVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvYWRkLWdyYyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JjU2VydmljZSB7XHJcbiAgZW52ITogYW55O1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRURJVE9SX0NPTkZJRyA9IHtcclxuICAgIG1vZGU6ICdwcmltZScsXHJcbiAgICBjb2xvclBhbGV0dGU6IHRydWUsXHJcbiAgICBsaW5rOiB0cnVlLFxyXG4gICAgaWQ6ICdncmNfZGVzY3JpcHRpb24nLFxyXG4gICAgcGxhY2Vob2xkZXI6ICdBZGQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBHUkMgT2JqZWN0JyxcclxuICB9O1xyXG4gIHB1YmxpYyByZWFkb25seSBHUkNfUEFZTE9BRDogQWRkR3JjID0ge1xyXG4gICAgbmFtZTogJycsXHJcbiAgICB0eXBlOiAzLCAvL0Fzc2V0cy0gMCwgSW52ZW50b3J5LSAxLCBQcm9jZXNzZXMgLSAyLCBWZW5kb3JzLSAzXHJcbiAgICBzdGF0ZTogMCxcclxuICAgIHBhcmVudF9ncmNfaWRzOiBbXSxcclxuICAgIG93bmVyczogW10sXHJcbiAgICBlbWFpbF9ub3RpZmljYXRpb25fbWVtYmVyX2lkczogW10sXHJcbiAgICBkZXNjcmlwdGlvbjogJycsXHJcbiAgICBmcmVxdWVuY3k6ICcnLFxyXG4gICAgYXR0cmlidXRlczogW10sXHJcbiAgICByY19pZHM6IFtdLFxyXG4gICAgcHJvZ3JhbV9jYXRlZ29yeV9pZHM6IFtdLFxyXG4gICAgcmlza19jYXRlZ29yeV9pZHM6IFtdLFxyXG4gICAgbGlua2VkX0dSQ19pZHM6IFtdLFxyXG4gIH07XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBMSVNUX09CSkVDVDogTGlzdE9iamVjdCA9IHtcclxuICAgIFJDOiB7XHJcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIGRhdGE6IFtdLFxyXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgfSxcclxuICAgIE9XTkVSOiB7XHJcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIGRhdGE6IFtdLFxyXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgICBkaXNhYmxlZElkczogW10sXHJcbiAgICB9LFxyXG4gICAgT1RIRVJfR1JDX09CSkVDVFM6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gICAgUklTS19DQVRFR09SWToge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiB7fSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgfTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnNcclxuICApIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgdGhpcy5lbnYgPSBjb25maWcuZW52Q29uZmlnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0R1JDTGlzdChldmVudD86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnc3RhdGUnLCBldmVudD8uc3RhdGUgPz8gMSk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdncmNUeXBlJywgZXZlbnQ/LnR5cGUgPz8gMCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdwYWdlJywgZXZlbnQ/LnBhZ2VObyA/PyAxKTtcclxuICAgIHBhcmFtcyA9IGV2ZW50Py5zZWFyY2hTdHJpbmdcclxuICAgICAgPyBwYXJhbXMuYXBwZW5kKCduYW1lJywgZXZlbnQ/LnNlYXJjaFN0cmluZyA/PyAnJylcclxuICAgICAgOiBwYXJhbXM7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52Py5ncmNfZ2V0ICsgJ2dyYy9nZXRHUkNMaXN0Jywge1xyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShyZXRyeSgxKSk7XHJcbiAgfVxyXG5cclxuICBnZXRHUkNUYWJzQ291bnQoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICAvLyBodHRwczovL2RldmFwaS52LWNvbXBseS5jb20vb3JnYW5pemF0aW9uLz9tb2RlPWdyYy9nZXRHUkNDb3VudCZzdGF0ZT1hY3RpdmVcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/LmdyY19nZXQgKyAnZ3JjL2dldEdSQ0NvdW50Jywge1xyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICBoZWFkZXJzLFxyXG4gICAgICB9KVxyXG4gICAgICAucGlwZShyZXRyeSgxKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tWYWxpZGF0aW9uKGdyY1BheWxvYWQ6IEFkZEdyYywgaXNBdHRyaWJ1dGVzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGlzVmFsaWREYXRhID1cclxuICAgICAgZ3JjUGF5bG9hZC5uYW1lLnRyaW0oKSAhPT0gJycgJiZcclxuICAgICAgZ3JjUGF5bG9hZC50eXBlID4gLTEgJiZcclxuICAgICAgZ3JjUGF5bG9hZC5vd25lcnMubGVuZ3RoICYmXHJcbiAgICAgIGdyY1BheWxvYWQucmNfaWRzLmxlbmd0aDtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIGlzVmFsaWREYXRhICYmXHJcbiAgICAgICghaXNBdHRyaWJ1dGVzU2VsZWN0ZWQgfHxcclxuICAgICAgICB0aGlzLmNoZWNrQXR0cmlidXRlVmFsaWRhdGlvbihncmNQYXlsb2FkLmF0dHJpYnV0ZXMpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNoZWNrQXR0cmlidXRlVmFsaWRhdGlvbihhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVzRGV0YWlsc1tdKTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiBhdHRyaWJ1dGVzKSB7XHJcbiAgICAgIGlmIChvYmouaXNSZXF1aXJlZCkge1xyXG4gICAgICAgIGlmIChvYmoudHlwZSA9PT0gJ3NpbmdsZS10ZXh0Ym94JyB8fCBvYmoudHlwZSA9PT0gJ2RhdGUtdGltZScpIHtcclxuICAgICAgICAgIGNvbnN0IGNob2ljZSA9IG9iai5jaG9pY2VzWzBdO1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjaG9pY2UudmFsdWUgPT09ICdzdHJpbmcnICYmIGNob2ljZS52YWx1ZS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG9iai50eXBlID09PSAnY2hlY2tib3gnIHx8IG9iai50eXBlID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgICBsZXQgaXNDaG9pY2VTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgZm9yIChjb25zdCBjaG9pY2Ugb2Ygb2JqLmNob2ljZXMpIHtcclxuICAgICAgICAgICAgaWYgKGNob2ljZS5pc19zZWxlY3RlZCkge1xyXG4gICAgICAgICAgICAgIGlzQ2hvaWNlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIWlzQ2hvaWNlU2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjaGVja0F0dHJpYnV0ZXNTZWxlY3RlZChhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVzRGV0YWlsc1tdKTogYm9vbGVhbiB7XHJcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiBhdHRyaWJ1dGVzKSB7XHJcbiAgICAgIGlmIChvYmoudHlwZSA9PT0gJ3NpbmdsZS10ZXh0Ym94JyB8fCBvYmoudHlwZSA9PT0gJ2RhdGUtdGltZScpIHtcclxuICAgICAgICBjb25zdCBjaG9pY2UgPSBvYmouY2hvaWNlc1swXTtcclxuICAgICAgICBpZiAodHlwZW9mIGNob2ljZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgY2hvaWNlLnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAob2JqLnR5cGUgPT09ICdjaGVja2JveCcgfHwgb2JqLnR5cGUgPT09ICdkcm9wZG93bicpIHtcclxuICAgICAgICBsZXQgaXNDaG9pY2VTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgY2hvaWNlIG9mIG9iai5jaG9pY2VzKSB7XHJcbiAgICAgICAgICBpZiAoY2hvaWNlLmlzX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIGlzQ2hvaWNlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0Nob2ljZVNlbGVjdGVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNoZWNrRWFjaEF0dHJpYnV0ZVZhbGlkYXRpb24oYXR0cmlidXRlOiBBdHRyaWJ1dGVzRGV0YWlscyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGF0dHJpYnV0ZS5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBhdHRyaWJ1dGUudHlwZSA9PT0gJ3NpbmdsZS10ZXh0Ym94JyB8fFxyXG4gICAgICAgIGF0dHJpYnV0ZS50eXBlID09PSAnZGF0ZS10aW1lJ1xyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCBjaG9pY2UgPSBhdHRyaWJ1dGUuY2hvaWNlc1swXTtcclxuICAgICAgICBpZiAodHlwZW9mIGNob2ljZS52YWx1ZSA9PT0gJ3N0cmluZycgJiYgY2hvaWNlLnZhbHVlLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgYXR0cmlidXRlLnR5cGUgPT09ICdjaGVja2JveCcgfHxcclxuICAgICAgICBhdHRyaWJ1dGUudHlwZSA9PT0gJ2Ryb3Bkb3duJ1xyXG4gICAgICApIHtcclxuICAgICAgICBsZXQgaXNDaG9pY2VTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIGZvciAoY29uc3QgY2hvaWNlIG9mIGF0dHJpYnV0ZS5jaG9pY2VzKSB7XHJcbiAgICAgICAgICBpZiAoY2hvaWNlLmlzX3NlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIGlzQ2hvaWNlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFpc0Nob2ljZVNlbGVjdGVkKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbiAgZ2V0Umlza0NhdGVnb3JpZXMoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3JldHVyblR5cGUnLCAxKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ2NhdGVnb3J5VHlwZScsIGV2ZW50Py50eXBlID8/IDEpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZScsIGV2ZW50Py5wYWdlTm8gPz8gMSk7XHJcbiAgICBwYXJhbXMgPSBldmVudD8udHlwZSA9PT0gMCA/IHBhcmFtcy5hcHBlbmQoJ3Jpc2tGbGFnJywgMSkgOiBwYXJhbXM7XHJcbiAgICBwYXJhbXMgPSBldmVudD8uc2VhcmNoU3RyaW5nXHJcbiAgICAgID8gcGFyYW1zLmFwcGVuZCgncScsIGV2ZW50Py5zZWFyY2hTdHJpbmcgPz8gJycpXHJcbiAgICAgIDogcGFyYW1zO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55W10+KHRoaXMuZW52Py5yaXNrICsgJ2NhdGVnb3J5L2xpc3QnLCB7XHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgaGVhZGVycyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Umlza0NhdGVnb3JpZXNDb3VudChldmVudD86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ3EnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudj8ucmlzayArICdjYXRlZ29yeS9jb3VudCcsIHtcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICBoZWFkZXJzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRSaXNrcyhwYXlsb2FkPzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxyXG4gICAgICAndG9rZW4nLFxyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueVtdPihcclxuICAgICAgdGhpcy5lbnY/LnJpc2sgKyAnY2F0ZWdvcnkvcmlza2xpc3QnLFxyXG4gICAgICBwYXlsb2FkLFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JjLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy9zaGFyZWQvc2VydmljZXMvZ3JjLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7OztBQU03QixNQUFNLE9BQU8sVUFBVTtJQWdEckIsWUFDVSxJQUFnQixFQUNoQixXQUF3QixFQUNwQixNQUF1QjtRQUYzQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBekNsQixnQkFBVyxHQUFXO1lBQ3BDLElBQUksRUFBRSxFQUFFO1lBQ1IsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsQ0FBQztZQUNSLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLE1BQU0sRUFBRSxFQUFFO1lBQ1YsNkJBQTZCLEVBQUUsRUFBRTtZQUNqQyxXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsVUFBVSxFQUFFLEVBQUU7WUFDZCxNQUFNLEVBQUUsRUFBRTtZQUNWLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsaUJBQWlCLEVBQUUsRUFBRTtZQUNyQixjQUFjLEVBQUUsRUFBRTtTQUNuQixDQUFDO1FBRWMsZ0JBQVcsR0FBZTtZQUN4QyxFQUFFLEVBQUU7Z0JBQ0YsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLElBQUksRUFBRSxFQUFFO2dCQUNSLFlBQVksRUFBRSxFQUFFO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJ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WUFDRSxPQUFPO1NBQ1IsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUF4T3NCLHdCQUFhLEdBQUc7SUFDckMsSUFBSSxFQUFFLE9BQU87SUFDYixZQUFZLEVBQUUsSUFBSTtJQUNsQixJQUFJLEVBQUUsSUFBSTtJQUNWLEVBQUUsRUFBRSxpQkFBaUI7SUFDckIsV0FBVyxFQUFFLHVDQUF1QztDQUNwRCxDQUFBO3VHQVJTLFVBQVU7MkdBQVYsVUFBVSxjQUZULE1BQU07MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQW9ESSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9ucyc7XHJcbmltcG9ydCB7IHJldHJ5IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFkZEdyYywgQXR0cmlidXRlc0RldGFpbHMsIExpc3RPYmplY3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2FkZC1ncmMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdyY1NlcnZpY2Uge1xyXG4gIGVudiE6IGFueTtcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVESVRPUl9DT05GSUcgPSB7XHJcbiAgICBtb2RlOiAncHJpbWUnLFxyXG4gICAgY29sb3JQYWxldHRlOiB0cnVlLFxyXG4gICAgbGluazogdHJ1ZSxcclxuICAgIGlkOiAnZ3JjX2Rlc2NyaXB0aW9uJyxcclxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgR1JDIE9iamVjdCcsXHJcbiAgfTtcclxuICBwdWJsaWMgcmVhZG9ubHkgR1JDX1BBWUxPQUQ6IEFkZEdyYyA9IHtcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgdHlwZTogMywgLy9Bc3NldHMtIDAsIEludmVudG9yeS0gMSwgUHJvY2Vzc2VzIC0gMiwgVmVuZG9ycy0gM1xyXG4gICAgc3RhdGU6IDAsXHJcbiAgICBwYXJlbnRfZ3JjX2lkczogW10sXHJcbiAgICBvd25lcnM6IFtdLFxyXG4gICAgZW1haWxfbm90aWZpY2F0aW9uX21lbWJlcl9pZHM6IFtdLFxyXG4gICAgZGVzY3JpcHRpb246ICcnLFxyXG4gICAgZnJlcXVlbmN5OiAnJyxcclxuICAgIGF0dHJpYnV0ZXM6IFtdLFxyXG4gICAgcmNfaWRzOiBbXSxcclxuICAgIHByb2dyYW1fY2F0ZWdvcnlfaWRzOiBbXSxcclxuICAgIHJpc2tfY2F0ZWdvcnlfaWRzOiBbXSxcclxuICAgIGxpbmtlZF9HUkNfaWRzOiBbXSxcclxuICB9O1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgTElTVF9PQkpFQ1Q6IExpc3RPYmplY3QgPSB7XHJcbiAgICBSQzoge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgIH0sXHJcbiAgICBPV05FUjoge1xyXG4gICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICBkYXRhOiBbXSxcclxuICAgICAgc2VsZWN0ZWREYXRhOiBbXSxcclxuICAgICAgZGlzYWJsZWRJZHM6IFtdLFxyXG4gICAgfSxcclxuICAgIE9USEVSX0dSQ19PQkpFQ1RTOiB7XHJcbiAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHt9LFxyXG4gICAgICBzZWxlY3RlZERhdGE6IFtdLFxyXG4gICAgfSxcclxuICAgIFJJU0tfQ0FURUdPUlk6IHtcclxuICAgICAgaXNMb2FkaW5nOiBmYWxzZSxcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIHNlbGVjdGVkRGF0YTogW10sXHJcbiAgICB9LFxyXG4gIH07XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIGNvbmZpZz86IENvbmZpZ3VyYXRpb25zXHJcbiAgKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIHRoaXMuZW52ID0gY29uZmlnLmVudkNvbmZpZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEdSQ0xpc3QoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3N0YXRlJywgZXZlbnQ/LnN0YXRlID8/IDEpO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgnZ3JjVHlwZScsIGV2ZW50Py50eXBlID8/IDApO1xyXG4gICAgcGFyYW1zID0gcGFyYW1zLmFwcGVuZCgncGFnZScsIGV2ZW50Py5wYWdlTm8gPz8gMSk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdyY0lkcycsIGV2ZW50Py5yY19pZHMgPz8gJycpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmdldDxhbnlbXT4odGhpcy5lbnY/LmdyY19nZXQgKyAnZ3JjL2dldEdSQ0xpc3QnLCB7XHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKHJldHJ5KDEpKTtcclxuICB9XHJcblxyXG4gIGdldEdSQ1RhYnNDb3VudChldmVudD86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ25hbWUnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIGlmIChldmVudD8ucmNfaWRzKSB7XHJcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3JjSWRzJywgZXZlbnQ/LnJjX2lkcyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5nZXQ8YW55W10+KHRoaXMuZW52Py5ncmNfZ2V0ICsgJ2dyYy9nZXRHUkNDb3VudCcsIHtcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVycyxcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUocmV0cnkoMSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoZWNrVmFsaWRhdGlvbihncmNQYXlsb2FkOiBBZGRHcmMsIGlzQXR0cmlidXRlc1NlbGVjdGVkOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBpc1ZhbGlkRGF0YSA9XHJcbiAgICAgIGdyY1BheWxvYWQubmFtZS50cmltKCkgIT09ICcnICYmXHJcbiAgICAgIGdyY1BheWxvYWQudHlwZSA+IC0xICYmXHJcbiAgICAgIGdyY1BheWxvYWQub3duZXJzLmxlbmd0aCAmJlxyXG4gICAgICBncmNQYXlsb2FkLnJjX2lkcy5sZW5ndGg7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBpc1ZhbGlkRGF0YSAmJlxyXG4gICAgICAoIWlzQXR0cmlidXRlc1NlbGVjdGVkIHx8XHJcbiAgICAgICAgdGhpcy5jaGVja0F0dHJpYnV0ZVZhbGlkYXRpb24oZ3JjUGF5bG9hZC5hdHRyaWJ1dGVzKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjaGVja0F0dHJpYnV0ZVZhbGlkYXRpb24oYXR0cmlidXRlczogQXR0cmlidXRlc0RldGFpbHNbXSk6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCBvYmogb2YgYXR0cmlidXRlcykge1xyXG4gICAgICBpZiAob2JqLmlzUmVxdWlyZWQpIHtcclxuICAgICAgICBpZiAob2JqLnR5cGUgPT09ICdzaW5nbGUtdGV4dGJveCcgfHwgb2JqLnR5cGUgPT09ICdkYXRlLXRpbWUnKSB7XHJcbiAgICAgICAgICBjb25zdCBjaG9pY2UgPSBvYmouY2hvaWNlc1swXTtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2hvaWNlLnZhbHVlID09PSAnc3RyaW5nJyAmJiBjaG9pY2UudmFsdWUudHJpbSgpID09PSAnJykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIGlmIChvYmoudHlwZSA9PT0gJ2NoZWNrYm94JyB8fCBvYmoudHlwZSA9PT0gJ2Ryb3Bkb3duJykge1xyXG4gICAgICAgICAgbGV0IGlzQ2hvaWNlU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGZvciAoY29uc3QgY2hvaWNlIG9mIG9iai5jaG9pY2VzKSB7XHJcbiAgICAgICAgICAgIGlmIChjaG9pY2UuaXNfc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgICBpc0Nob2ljZVNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKCFpc0Nob2ljZVNlbGVjdGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tBdHRyaWJ1dGVzU2VsZWN0ZWQoYXR0cmlidXRlczogQXR0cmlidXRlc0RldGFpbHNbXSk6IGJvb2xlYW4ge1xyXG4gICAgZm9yIChjb25zdCBvYmogb2YgYXR0cmlidXRlcykge1xyXG4gICAgICBpZiAob2JqLnR5cGUgPT09ICdzaW5nbGUtdGV4dGJveCcgfHwgb2JqLnR5cGUgPT09ICdkYXRlLXRpbWUnKSB7XHJcbiAgICAgICAgY29uc3QgY2hvaWNlID0gb2JqLmNob2ljZXNbMF07XHJcbiAgICAgICAgaWYgKHR5cGVvZiBjaG9pY2UudmFsdWUgPT09ICdzdHJpbmcnICYmIGNob2ljZS52YWx1ZS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG9iai50eXBlID09PSAnY2hlY2tib3gnIHx8IG9iai50eXBlID09PSAnZHJvcGRvd24nKSB7XHJcbiAgICAgICAgbGV0IGlzQ2hvaWNlU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGNob2ljZSBvZiBvYmouY2hvaWNlcykge1xyXG4gICAgICAgICAgaWYgKGNob2ljZS5pc19zZWxlY3RlZCkge1xyXG4gICAgICAgICAgICBpc0Nob2ljZVNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghaXNDaG9pY2VTZWxlY3RlZCkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjaGVja0VhY2hBdHRyaWJ1dGVWYWxpZGF0aW9uKGF0dHJpYnV0ZTogQXR0cmlidXRlc0RldGFpbHMpOiBib29sZWFuIHtcclxuICAgIGlmIChhdHRyaWJ1dGUuaXNSZXF1aXJlZCkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgYXR0cmlidXRlLnR5cGUgPT09ICdzaW5nbGUtdGV4dGJveCcgfHxcclxuICAgICAgICBhdHRyaWJ1dGUudHlwZSA9PT0gJ2RhdGUtdGltZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgY2hvaWNlID0gYXR0cmlidXRlLmNob2ljZXNbMF07XHJcbiAgICAgICAgaWYgKHR5cGVvZiBjaG9pY2UudmFsdWUgPT09ICdzdHJpbmcnICYmIGNob2ljZS52YWx1ZS50cmltKCkgPT09ICcnKSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIGF0dHJpYnV0ZS50eXBlID09PSAnY2hlY2tib3gnIHx8XHJcbiAgICAgICAgYXR0cmlidXRlLnR5cGUgPT09ICdkcm9wZG93bidcclxuICAgICAgKSB7XHJcbiAgICAgICAgbGV0IGlzQ2hvaWNlU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICBmb3IgKGNvbnN0IGNob2ljZSBvZiBhdHRyaWJ1dGUuY2hvaWNlcykge1xyXG4gICAgICAgICAgaWYgKGNob2ljZS5pc19zZWxlY3RlZCkge1xyXG4gICAgICAgICAgICBpc0Nob2ljZVNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghaXNDaG9pY2VTZWxlY3RlZCkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGdldFJpc2tDYXRlZ29yaWVzKGV2ZW50PzogYW55KSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxyXG4gICAgICAndG9rZW4nLFxyXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhvcml6YXRpb25Ub2tlbigpXHJcbiAgICApO1xyXG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdyZXR1cm5UeXBlJywgMSk7XHJcbiAgICBwYXJhbXMgPSBwYXJhbXMuYXBwZW5kKCdjYXRlZ29yeVR5cGUnLCBldmVudD8udHlwZSA/PyAxKTtcclxuICAgIHBhcmFtcyA9IHBhcmFtcy5hcHBlbmQoJ3BhZ2UnLCBldmVudD8ucGFnZU5vID8/IDEpO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnR5cGUgPT09IDAgPyBwYXJhbXMuYXBwZW5kKCdyaXNrRmxhZycsIDEpIDogcGFyYW1zO1xyXG4gICAgcGFyYW1zID0gZXZlbnQ/LnNlYXJjaFN0cmluZ1xyXG4gICAgICA/IHBhcmFtcy5hcHBlbmQoJ3EnLCBldmVudD8uc2VhcmNoU3RyaW5nID8/ICcnKVxyXG4gICAgICA6IHBhcmFtcztcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueVtdPih0aGlzLmVudj8ucmlzayArICdjYXRlZ29yeS9saXN0Jywge1xyXG4gICAgICBwYXJhbXMsXHJcbiAgICAgIGhlYWRlcnMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFJpc2tDYXRlZ29yaWVzQ291bnQoZXZlbnQ/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXHJcbiAgICAgICd0b2tlbicsXHJcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2V0QXV0aG9yaXphdGlvblRva2VuKClcclxuICAgICk7XHJcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIHBhcmFtcyA9IGV2ZW50Py5zZWFyY2hTdHJpbmdcclxuICAgICAgPyBwYXJhbXMuYXBwZW5kKCdxJywgZXZlbnQ/LnNlYXJjaFN0cmluZyA/PyAnJylcclxuICAgICAgOiBwYXJhbXM7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnlbXT4odGhpcy5lbnY/LnJpc2sgKyAnY2F0ZWdvcnkvY291bnQnLCB7XHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgaGVhZGVycyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0Umlza3MocGF5bG9hZD86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpLnNldChcclxuICAgICAgJ3Rva2VuJyxcclxuICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRBdXRob3JpemF0aW9uVG9rZW4oKVxyXG4gICAgKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnlbXT4oXHJcbiAgICAgIHRoaXMuZW52Py5yaXNrICsgJ2NhdGVnb3J5L3Jpc2tsaXN0JyxcclxuICAgICAgcGF5bG9hZCxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnMsXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==