@ecodev/natural 42.4.2 → 43.0.0

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.
@@ -201,6 +201,8 @@ export class NaturalInputComponent {
201
201
  configuration: facet.configuration,
202
202
  };
203
203
  const injector = Injector.create({ providers: this.createProviders(data), parent: this.injector });
204
+ // TODO replace by this when https://github.com/angular/angular/commit/d1e83e1b30f2cea9f2ed16bff2d3b969335072ab is released
205
+ // this.dropdownComponentRef = createComponent(facet.component, {environmentInjector: injector});
204
206
  const factory = this.componentFactoryResolver.resolveComponentFactory(facet.component);
205
207
  this.dropdownComponentRef = factory.create(injector);
206
208
  return this.dropdownComponentRef.instance;
@@ -325,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
325
327
  type: HostListener,
326
328
  args: ['focus']
327
329
  }] } });
328
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUlULFlBQVksRUFDWixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFJTCxNQUFNLEVBR04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQTRELE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFvQixTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQ0gscUJBQXFCLEdBR3hCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFDLHNCQUFzQixFQUE2QixNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7O0FBSzlHLG9FQUFvRTtBQUNwRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFlBQVksQ0FBQyxPQUEyQixFQUFFLElBQXdDO1FBQ3JGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7Q0FDSjtBQUVELFNBQVMsZ0JBQWdCLENBQUMsU0FBNEI7SUFDbEQsT0FBTyxHQUE0QixFQUFFO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQztTQUM1QjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFPRCxNQUFNLE9BQU8scUJBQXFCO0lBZ0c5QixZQUNxQixPQUFtQixFQUNuQixlQUF1QyxFQUN2QyxRQUFrQixFQUNsQix3QkFBa0Q7UUFIbEQsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixvQkFBZSxHQUFmLGVBQWUsQ0FBd0I7UUFDdkMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBcEZ2RTs7V0FFRztRQUNhLG9CQUFlLEdBQUcsUUFBUSxDQUFDO1FBRTNDOztXQUVHO1FBQ2EsY0FBUyxHQUFrQyxJQUFJLENBQUM7UUFPaEU7O1dBRUc7UUFDdUIsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUV2Rjs7V0FFRztRQUN1QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFOUU7O1dBRUc7UUFDSSxVQUFLLEdBQWlCLElBQUksQ0FBQztRQUVsQzs7V0FFRztRQUNJLGFBQVEsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNJLGlCQUFZLEdBQUcsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBRXBEOztXQUVHO1FBQ0ssZ0JBQVcsR0FBOEIsSUFBSSxDQUFDO1FBRXREOztXQUVHO1FBQ0sseUJBQW9CLEdBQTJDLElBQUksQ0FBQztRQUU1RTs7O1dBR0c7UUFDYyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRS9COzs7V0FHRztRQUNJLFdBQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRS9COzs7V0FHRztRQUNLLDhCQUF5QixHQUFHLEtBQUssQ0FBQztJQW1CdkMsQ0FBQztJQWpCSjs7OztPQUlHO0lBRUksS0FBSztRQUNSLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQztJQUMzQyxDQUFDO0lBU00sUUFBUTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtZQUNwRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsT0FBTzthQUNWO1lBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxFQUFFLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7YUFDNUI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFBLFdBQVcsQ0FBQztTQUMzQztRQUVELE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNsRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdkM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ2xDO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVoRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDbkIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFrRCxDQUFDLENBQUM7Z0JBRXhHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25FLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsQyxDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5QjtpQkFBTSxJQUNILElBQUksQ0FBQyxTQUFTO2dCQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxlQUFlO2dCQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQy9CO2dCQUNFLHFCQUFxQjtnQkFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQy9EO2lCQUFNO2dCQUNILHNHQUFzRztnQkFDdEcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0o7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQVk7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDdEIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRTtZQUM1QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEY7SUFDTCxDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUNwRCxzQ0FBc0M7WUFDdEMsOEZBQThGO1lBQzlGLGlEQUFpRDtZQUNqRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDckMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7U0FDcEM7YUFBTTtZQUNILDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFTSxVQUFVO1FBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFLLElBQUksQ0FBQyxLQUFnQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTSxNQUFNO1FBQ1QsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFLLElBQUksQ0FBQyxLQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxlQUFlLENBQUMsS0FBNkI7UUFDakQsd0NBQXdDO1FBQ3hDLGdFQUFnRTtRQUNoRSxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDdkM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQXVDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNsRyxNQUFNLElBQUksR0FBd0I7WUFDOUIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1NBQ3JDLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQyxDQUFDO1FBQ2pHLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBb0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQXlCO1FBQzdDLGlGQUFpRjtRQUNqRixPQUFPO1lBQ0g7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsUUFBUSxFQUFFLElBQUk7YUFDakI7WUFDRDtnQkFDSSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLEVBQUUsSUFBSTthQUNqQjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sWUFBWTtRQUNoQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLHlCQUF5QjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RELE9BQU87U0FDVjtRQUVELE1BQU0sSUFBSSxHQUFvRDtZQUMxRCxTQUFTLEVBQUUsRUFBRTtZQUNiLGFBQWEsRUFBRTtnQkFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDdEI7U0FDSixDQUFDO1FBRUYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7Z0JBQ3RCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0I7cUJBQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO29CQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN6QjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDcEIsT0FBTztTQUNWO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQStCLENBQUM7UUFFM0QsTUFBTSxJQUFJLEdBQXdCO1lBQzlCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUMzRCxhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQWE7U0FDN0MsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN4QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLE9BQU8sRUFDWixjQUFjLEVBQ2QsYUFBYSxDQUFDLGtCQUFrQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQVk7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNWLFNBQVMsRUFBRyxLQUFtQixDQUFDLFNBQVM7YUFDNUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUFzQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxTQUE4QztRQUMvRCxNQUFNLFNBQVMsR0FBMkI7WUFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUMzRCxTQUFTLEVBQUUsU0FBUztTQUN2QixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQy9CLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDcEM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOztrSEFyVlEscUJBQXFCO3NHQUFyQixxQkFBcUIscVVBSW5CLFNBQVMsa0xDMUR4Qiw2eUNBZ0NBOzJGRHNCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksZUFBZTtvTUFRb0IsTUFBTTtzQkFBbEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUtPLEtBQUs7c0JBQS9DLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFLbEIsV0FBVztzQkFBMUIsS0FBSztnQkFLVSxlQUFlO3NCQUE5QixLQUFLO2dCQUtVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFLb0IsZUFBZTtzQkFBeEMsTUFBTTtnQkFLbUIsT0FBTztzQkFBaEMsTUFBTTtnQkFtREEsS0FBSztzQkFEWCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTdGF0aWNQcm92aWRlcixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0Zvcm0sIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Vycm9yU3RhdGVNYXRjaGVyLCBNYXRSaXBwbGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuaW1wb3J0IHtnZXRGYWNldEZyb21TZWxlY3Rpb259IGZyb20gJy4uL2NsYXNzZXMvdXRpbHMnO1xuaW1wb3J0IHtOYXR1cmFsRHJvcGRvd25SZWZ9IGZyb20gJy4uL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1yZWYnO1xuaW1wb3J0IHtcbiAgICBOQVRVUkFMX0RST1BET1dOX0RBVEEsXG4gICAgTmF0dXJhbERyb3Bkb3duRGF0YSxcbiAgICBOYXR1cmFsRHJvcGRvd25TZXJ2aWNlLFxufSBmcm9tICcuLi9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge0ZhY2V0U2VsZWN0b3JDb21wb25lbnQsIEZhY2V0U2VsZWN0b3JDb25maWd1cmF0aW9ufSBmcm9tICcuLi9mYWNldC1zZWxlY3Rvci9mYWNldC1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vdHlwZXMvZHJvcGRvd24tY29tcG9uZW50JztcbmltcG9ydCB7RHJvcGRvd25GYWNldCwgRmFjZXQsIEZsYWdGYWNldCwgTmF0dXJhbFNlYXJjaEZhY2V0c30gZnJvbSAnLi4vdHlwZXMvZmFjZXQnO1xuaW1wb3J0IHtEcm9wZG93blJlc3VsdCwgTmF0dXJhbFNlYXJjaFNlbGVjdGlvbn0gZnJvbSAnLi4vdHlwZXMvdmFsdWVzJztcblxuLy8gUmVxdWlyZWQgdG8gY2hlY2sgaW52YWxpZCBmaWVsZHMgd2hlbiBpbml0aWFsaXppbmcgbmF0dXJhbC1zZWFyY2hcbmV4cG9ydCBjbGFzcyBBbHdheXNFcnJvclN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sIHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzQ29tcG9uZW50VmFsaWQoY29tcG9uZW50OiBEcm9wZG93bkNvbXBvbmVudCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgaWYgKCFjb21wb25lbnQuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4ge2NvbXBvbmVudDogdHJ1ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQ29udHJvbHMgdGhlIHJpcHBsZSBlZmZlY3QsIHVzZWQgd2hlbiBvcGVuaW5nIGEgZHJvcGRvd25cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKE1hdFJpcHBsZSwge3N0YXRpYzogdHJ1ZX0pIHB1YmxpYyByaXBwbGUhOiBNYXRSaXBwbGU7XG5cbiAgICAvKipcbiAgICAgKiBOYXRpdmUgZWxlbWVudCByZWYgZm9yIDxpbnB1dD4gcmVsYXRlZCB0byB0aGlzIDxuYXR1cmFsLWlucHV0PiBjb21wb25lbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgaW5wdXQhOiBFbGVtZW50UmVmO1xuXG4gICAgLyoqXG4gICAgICogTGFiZWwgZm9yIHRoaXMgZmllbGRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBmaWVsZCBvbiB3aGljaCBkbyBhIGdsb2JhbCBzZWFyY2ggKHdpdGhvdXQgZmFjZXQpXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNlYXJjaEZpZWxkTmFtZSA9ICdzZWFyY2gnO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0ZWQgc2V0dGVkIGZvciB0aGlzIGNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEF2YWlsYWJsZSBmYWNldHMsIGFsbG93cyB0aGUgdXNlciB0byBwaWNrIG9uZSwgdGhhbiBnZW5lcmF0ZWQgdGhlbiBhIHNlbGVjdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmYWNldHMhOiBOYXR1cmFsU2VhcmNoRmFjZXRzO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiB1c2VyIGEgYWRkZWQvdXBkYXRlZC9kZWxldGVkIGEgc2VhcmNoIChmcm9tIGdsb2JhbCBjb250ZXh0IG9yIGZyb20gZmFjZXQpXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIHVzZXIgcmVtb3ZlcyB0aGUgc2VhcmNoIGJ5IHByZXNzaW5nIHRoZSBjcm9zcyBpY29uXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxOYXR1cmFsSW5wdXRDb21wb25lbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RlZCBmYWNldCBmcm9tIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBmYWNldHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZmFjZXQ6IEZhY2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDb250cm9sbGVyIGZvciB0aGUgaW5wdXQgZmllbGRcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybUN0cmw6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21lciBlcnJvciBtYXRjaGVyIHRoYXQgc2hvdWxkIHZhbGlkYXRlIG9uIGVhY2ggY2hhbmdlIChpbmNsdWRpbmcgaW5pdGlhbGlzYXRpb24pXG4gICAgICovXG4gICAgcHVibGljIGVycm9yTWF0Y2hlciA9IG5ldyBBbHdheXNFcnJvclN0YXRlTWF0Y2hlcigpO1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIG9mIHRoZSBvcGVuZWQgZHJvcGRvd24gY29udGFpbmVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBkcm9wZG93blJlZjogTmF0dXJhbERyb3Bkb3duUmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2Ugb2YgdGhlIGNvbXBvbmVudCBpbnNpZGUgdGhlIGRyb3Bkb3duIGNvbnRhaW5lclxuICAgICAqL1xuICAgIHByaXZhdGUgZHJvcGRvd25Db21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxEcm9wZG93bkNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqICBNaW5pbXVtIGlucHV0IGxlbmd0aCAobnVtYmVyIG9mIGNoYXJzKVxuICAgICAqICBTZWUgbGVuZ3RoIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWluTGVuZ3RoID0gNTtcblxuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIGlucHV0IChudW1iZXIgb2YgY2hhcnMpXG4gICAgICogTWF0Y2ggdGhlIGlucHV0LnNpemUgYXR0cmlidXRlXG4gICAgICovXG4gICAgcHVibGljIGxlbmd0aCA9IHRoaXMubWluTGVuZ3RoO1xuXG4gICAgLyoqXG4gICAgICogRmxhZywgdGhhdCwgaWYgbWFya2VkIGFzIHllcywgcHJldmVudHMgdGhlIG9wZW5pbmcgb2YgdGhlIGRyb3Bkb3duXG4gICAgICogSXMgdXNlZCB0byBwcmV2ZW50IGRyb3Bkb3duIG9wZW5pbmcgd2hlbiBuYXR1cmFsLXNlYXJjaCB0YWtlcyB0aGUgZm9jdXMgZnJvbSBwYXJlbnQgY29udGV4dCAobGlrZSBvbiBtb2RhbCBvcGVuaW5nKVxuICAgICAqL1xuICAgIHByaXZhdGUgbmV1dHJhbGl6ZURyb3Bkb3duT3BlbmluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIG1hbmFnZW1lbnQgZm9yIHRha2luZyB0aGUgZm9jdXMgZnJvbSBwYXJlbnQgY29udGV4dFxuICAgICAqIFdoZW4gZm9jdXNpbmcgbWFudWFsbHkgb24gdGhlIDxpbnB1dD4sIGEgZHJvcGRvd24gaXMgb3BlbmVkXG4gICAgICogQnV0IHdoZW4gdGhlIGZvY3VzIGlzIGdpdmVuIGZyb20gYW5ndWxhciBpbiBhIHBhcmVudCBjb250ZXh0IChsaWtlIGEgZGlhbG9nKSB0aGUgZHJvcGRvd24gd291bGQgb3BlbiBhbmQgd2UgZG9uJ3Qgd2FudCBpdC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ldXRyYWxpemVEcm9wZG93bk9wZW5pbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5uZXV0cmFsaXplRHJvcGRvd25PcGVuaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25TZXJ2aWNlOiBOYXR1cmFsRHJvcGRvd25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsICgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kcm9wZG93blJlZikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybUN0cmwudmFsdWUgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wZG93blJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXIgPSAkbG9jYWxpemVgUmVjaGVyY2hlYDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBsYWNlaG9sZGVyU2l6ZSA9ICh0aGlzLmZhY2V0ID8gdGhpcy5mYWNldC5kaXNwbGF5Lmxlbmd0aCA6IHRoaXMucGxhY2Vob2xkZXIubGVuZ3RoKSAqIDAuNjY7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gTWF0aC5tYXgodGhpcy5taW5MZW5ndGgsIE1hdGguY2VpbChwbGFjZWhvbGRlclNpemUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duQ29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mYWNldHMgJiYgdGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbGVhcigpKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZhY2V0cyAmJiB0aGlzLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgdGhpcy5mYWNldCA9IGdldEZhY2V0RnJvbVNlbGVjdGlvbih0aGlzLmZhY2V0cywgdGhpcy5zZWxlY3Rpb24pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pc0Ryb3Bkb3duKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkcm9wZG93bkNvbXBvbmVudCA9IHRoaXMuY3JlYXRlQ29tcG9uZW50KHRoaXMuZmFjZXQgYXMgRHJvcGRvd25GYWNldDxGYWNldFNlbGVjdG9yQ29uZmlndXJhdGlvbj4pO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWxpZGF0b3JzKFtpc0NvbXBvbmVudFZhbGlkKGRyb3Bkb3duQ29tcG9uZW50KV0pO1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duQ29tcG9uZW50LnJlbmRlcmVkVmFsdWUuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNGbGFnKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1DdHJsLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24gJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5maWVsZCA9PT0gdGhpcy5zZWFyY2hGaWVsZE5hbWUgJiZcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jb25kaXRpb24ubGlrZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gZ2xvYmFsIHNlYXJjaCBtb2RlXG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWx1ZSh0aGlzLnNlbGVjdGlvbi5jb25kaXRpb24ubGlrZS52YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIElmIGNvbXBvbmVudCBpcyBpbnZhbGlkIChubyBmYWNldCBhbmQgbm90IGEgZ2xvYmFsIHNlYXJjaCksIGNsZWFyIGZyb20gcmVzdWx0IGFuZCBkZXN0cm95IGNvbXBvbmVudFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbGVhcigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2goZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGlmICghdGhpcy5mb3JtQ3RybC52YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNEcm9wZG93bigpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtQ3RybC52YWxpZCAmJiB0aGlzLmZvcm1DdHJsLmRpcnR5KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZ2V0U2VsZWN0aW9uKHtsaWtlOiB7dmFsdWU6IHRoaXMuZm9ybUN0cmwudmFsdWV9fSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZhY2V0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBudWxsO1xuICAgICAgICB0aGlzLmZvcm1DdHJsLnNldFZhbHVlKG51bGwpO1xuICAgICAgICB0aGlzLmNsZWFyZWQuZW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbkRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93blJlZiB8fCB0aGlzLm5ldXRyYWxpemVEcm9wZG93bk9wZW5pbmcpIHtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgdG8gb3BlbiBtdWx0aXBsZSBkcm9wZG93bnMuXG4gICAgICAgICAgICAvLyBIYXBwZW5zIGFzIHdlIG9wZW4gb24gXCJmb2N1c1wiLCBhbmQgYWx0K3RhYiByZS1hY3RpdmF0ZSBmb2N1cyBvbiBhbiBlbGVtZW50IHRoYXQgYWxyZWFkeSBoYWRcbiAgICAgICAgICAgIC8vIGZvY3VzIHdoZW4gbGVhdmluZyB3aW5kb3cgd2l0aCBhbm90aGVyIGFsdCt0YWJcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGF1bmNoUmlwcGxlKCk7XG5cbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gZmFjZXQgYW5kIG5vIHN0cmluZyB0eXBlZCwgc2hvdyBwYW5lbCB0byBzZWxlY3QgdGhlIGZhY2V0XG4gICAgICAgIGlmICghdGhpcy5mYWNldCAmJiAhdGhpcy5mb3JtQ3RybC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuRmFjZXRTZWxlY3RvckRyb3Bkb3duKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBJZiBhIGZhY2V0IGlzIHNlbGVjdGVkLCBvcGVuIHNwZWNpZmljIGNvbXBvbmVudCBkcm9wZG93blxuICAgICAgICAgICAgdGhpcy5vcGVuVHlwZURyb3Bkb3duKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaXNEcm9wZG93bigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuZmFjZXQgJiYgKHRoaXMuZmFjZXQgYXMgRHJvcGRvd25GYWNldDx1bmtub3duPikuY29tcG9uZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNGbGFnKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEodGhpcy5mYWNldCAmJiAodGhpcy5mYWNldCBhcyBGbGFnRmFjZXQpLmNvbmRpdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQoZmFjZXQ6IERyb3Bkb3duRmFjZXQ8dW5rbm93bj4pOiBEcm9wZG93bkNvbXBvbmVudCB7XG4gICAgICAgIC8vIEFsd2F5cyBkZXN0cm95IGFuZCByZWNyZWF0ZSBjb21wb25lbnRcbiAgICAgICAgLy8gVG9kbyA6IHRlc3QgaWYgZmFjZXQgaGFzIGNoYW5nZWQsIGlmIG5vdCByZS11c2UgdGhlIGNvbXBvbmVudFxuICAgICAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb25kaXRpb24gPSB0aGlzLnNlbGVjdGlvbiA/ICh0aGlzLnNlbGVjdGlvbi5jb25kaXRpb24gYXMgRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCkgOiBudWxsO1xuICAgICAgICBjb25zdCBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhID0ge1xuICAgICAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24sXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uOiBmYWNldC5jb25maWd1cmF0aW9uLFxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtwcm92aWRlcnM6IHRoaXMuY3JlYXRlUHJvdmlkZXJzKGRhdGEpLCBwYXJlbnQ6IHRoaXMuaW5qZWN0b3J9KTtcbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5PERyb3Bkb3duQ29tcG9uZW50PihmYWNldC5jb21wb25lbnQpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duQ29tcG9uZW50UmVmID0gZmFjdG9yeS5jcmVhdGUoaW5qZWN0b3IpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duQ29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlUHJvdmlkZXJzKGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGEpOiBTdGF0aWNQcm92aWRlcltdIHtcbiAgICAgICAgLy8gQ3VzdG9taXplIGluamVjdG9yIHRvIGFsbG93IGRhdGEgYW5kIGRyb3Bkb3duIHJlZmVyZW5jZSBpbmplY3Rpb24gaW4gY29tcG9uZW50XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTmF0dXJhbERyb3Bkb3duUmVmLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBOQVRVUkFMX0RST1BET1dOX0RBVEEsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IGRhdGEsXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgbGF1bmNoUmlwcGxlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCByaXBwbGVSZWYgPSB0aGlzLnJpcHBsZS5sYXVuY2goe1xuICAgICAgICAgICAgcGVyc2lzdGVudDogdHJ1ZSxcbiAgICAgICAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICByaXBwbGVSZWYuZmFkZU91dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkZhY2V0U2VsZWN0b3JEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmZhY2V0cyB8fCAodGhpcy5mYWNldHMgJiYgIXRoaXMuZmFjZXRzLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGE8RmFjZXRTZWxlY3RvckNvbmZpZ3VyYXRpb24+ID0ge1xuICAgICAgICAgICAgY29uZGl0aW9uOiB7fSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICBmYWNldHM6IHRoaXMuZmFjZXRzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpbmplY3RvclRva2VucyA9IHRoaXMuY3JlYXRlUHJvdmlkZXJzKGRhdGEpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duUmVmID0gdGhpcy5kcm9wZG93blNlcnZpY2Uub3BlbihGYWNldFNlbGVjdG9yQ29tcG9uZW50LCB0aGlzLmVsZW1lbnQsIGluamVjdG9yVG9rZW5zLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2VkLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blJlZiA9IG51bGw7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0LmZhY2V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RmFjZXQocmVzdWx0LmZhY2V0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5jb25kaXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuVHlwZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNEcm9wZG93bigpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkcm9wZG93bkZhY2V0ID0gdGhpcy5mYWNldCBhcyBEcm9wZG93bkZhY2V0PHVua25vd24+O1xuXG4gICAgICAgIGNvbnN0IGRhdGE6IE5hdHVyYWxEcm9wZG93bkRhdGEgPSB7XG4gICAgICAgICAgICBjb25kaXRpb246IHRoaXMuc2VsZWN0aW9uID8gdGhpcy5zZWxlY3Rpb24uY29uZGl0aW9uIDogbnVsbCxcbiAgICAgICAgICAgIGNvbmZpZ3VyYXRpb246IGRyb3Bkb3duRmFjZXQuY29uZmlndXJhdGlvbixcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpbmplY3RvclRva2VucyA9IHRoaXMuY3JlYXRlUHJvdmlkZXJzKGRhdGEpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBkcm9wZG93bkZhY2V0LmNvbXBvbmVudDtcbiAgICAgICAgdGhpcy5kcm9wZG93blJlZiA9IHRoaXMuZHJvcGRvd25TZXJ2aWNlLm9wZW4oXG4gICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQsXG4gICAgICAgICAgICBpbmplY3RvclRva2VucyxcbiAgICAgICAgICAgIGRyb3Bkb3duRmFjZXQuc2hvd1ZhbGlkYXRlQnV0dG9uICE9PSB1bmRlZmluZWQgPyBkcm9wZG93bkZhY2V0LnNob3dWYWxpZGF0ZUJ1dHRvbiA6IHRydWUsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kcm9wZG93blJlZi5jbG9zZWQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duUmVmID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUocmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRGYWNldChmYWNldDogRmFjZXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mYWNldCA9IGZhY2V0O1xuXG4gICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd24oKSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuVHlwZURyb3Bkb3duKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0ZsYWcoKSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uOiAoZmFjZXQgYXMgRmxhZ0ZhY2V0KS5jb25kaXRpb24sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZShyZXN1bHQ6IERyb3Bkb3duUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZhY2V0KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMuZ2V0U2VsZWN0aW9uKHJlc3VsdC5jb25kaXRpb24pKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0aW9uKGNvbmRpdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvblsnY29uZGl0aW9uJ10pOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uOiBOYXR1cmFsU2VhcmNoU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgZmllbGQ6IHRoaXMuZmFjZXQgPyB0aGlzLmZhY2V0LmZpZWxkIDogdGhpcy5zZWFyY2hGaWVsZE5hbWUsXG4gICAgICAgICAgICBjb25kaXRpb246IGNvbmRpdGlvbixcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5mYWNldCAmJiB0aGlzLmZhY2V0Lm5hbWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbi5uYW1lID0gdGhpcy5mYWNldC5uYW1lO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNlbGVjdGlvbjtcbiAgICB9XG59XG4iLCI8IS0tIGNsaWNrIGNvbmRpdGlvbiBzaG91bGQgbWF0Y2ggdG8gYWxsb3cgY2xpY2sgYWN0aW9uIG9ubHkgd2hlbiBubyBvdGhlciBidXR0b24gaXMgdmlzaWJsZSAtLT5cbjxtYXQtZm9ybS1maWVsZCAjZmllbGQgbWF0UmlwcGxlIChjbGljayk9XCIhc2VsZWN0aW9uICYmICEoZmFjZXQgJiYgIXNlbGVjdGlvbikgPyBvcGVuRHJvcGRvd24oKSA6IG51bGxcIj5cbiAgICA8bWF0LWxhYmVsICpuZ0lmPVwiZmFjZXRcIj57eyBmYWNldC5kaXNwbGF5IH19PC9tYXQtbGFiZWw+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFmYWNldFwiPnt7IHBsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XG5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIChibHVyKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICBbYXR0ci5zaXplXT1cImxlbmd0aFwiXG4gICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvck1hdGNoZXJcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUN0cmxcIlxuICAgICAgICBbcmVhZG9ubHldPVwiKGlzRHJvcGRvd24oKSAmJiAhIXNlbGVjdGlvbikgfHwgaXNGbGFnKClcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICBtYXRJbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgLz5cblxuICAgIDwhLS0gVE9ETyA6IHJlcGxhY2UgdGhpcyB2b2lkIGJ1dHRvbiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiIWZhY2V0ICYmICFzZWxlY3Rpb25cIiBjbGFzcz1cInNlYXJjaC1pY29uXCIgbWF0UHJlZml4PlxuICAgICAgICA8bmF0dXJhbC1pY29uIG5hbWU9XCJzZWFyY2hcIj48L25hdHVyYWwtaWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxidXR0b24gKGNsaWNrKT1cImNsZWFyKClcIiAqbmdJZj1cInNlbGVjdGlvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXg+XG4gICAgICAgIDxuYXR1cmFsLWljb24gbmFtZT1cImNsb3NlXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjbGVhcigpXCIgKm5nSWY9XCJmYWNldCAmJiAhc2VsZWN0aW9uXCIgbWF0LWljb24tYnV0dG9uIG1hdFN1ZmZpeD5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiBuYW1lPVwidW5kb1wiPjwvbmF0dXJhbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9tYXQtZm9ybS1maWVsZD5cbjxkaXYgY2xhc3M9XCJoaWRlXCI+e3sgZm9ybUN0cmwudmFsdWUgPyBmb3JtQ3RybC52YWx1ZSA6IGZhY2V0ID8gZmFjZXQuZGlzcGxheSA6IHBsYWNlaG9sZGVyIH19PC9kaXY+XG4iXX0=
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VhcmNoL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlYXJjaC9pbnB1dC9pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUlULFlBQVksRUFDWixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFJTCxNQUFNLEVBR04sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQTRELE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUFvQixTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQ0gscUJBQXFCLEdBR3hCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEQsT0FBTyxFQUFDLHNCQUFzQixFQUE2QixNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7O0FBSzlHLG9FQUFvRTtBQUNwRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLFlBQVksQ0FBQyxPQUEyQixFQUFFLElBQXdDO1FBQ3JGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3hDLENBQUM7Q0FDSjtBQUVELFNBQVMsZ0JBQWdCLENBQUMsU0FBNEI7SUFDbEQsT0FBTyxHQUE0QixFQUFFO1FBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDdEIsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQztTQUM1QjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFPRCxNQUFNLE9BQU8scUJBQXFCO0lBZ0c5QixZQUNxQixPQUFnQyxFQUNoQyxlQUF1QyxFQUN2QyxRQUFrQixFQUNsQix3QkFBa0Q7UUFIbEQsWUFBTyxHQUFQLE9BQU8sQ0FBeUI7UUFDaEMsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQXBGdkU7O1dBRUc7UUFDYSxvQkFBZSxHQUFHLFFBQVEsQ0FBQztRQUUzQzs7V0FFRztRQUNhLGNBQVMsR0FBa0MsSUFBSSxDQUFDO1FBT2hFOztXQUVHO1FBQ3VCLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFdkY7O1dBRUc7UUFDdUIsWUFBTyxHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBRTlFOztXQUVHO1FBQ0ksVUFBSyxHQUFpQixJQUFJLENBQUM7UUFFbEM7O1dBRUc7UUFDSSxhQUFRLEdBQWdCLElBQUksV0FBVyxFQUFFLENBQUM7UUFFakQ7O1dBRUc7UUFDSSxpQkFBWSxHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUVwRDs7V0FFRztRQUNLLGdCQUFXLEdBQThCLElBQUksQ0FBQztRQUV0RDs7V0FFRztRQUNLLHlCQUFvQixHQUEyQyxJQUFJLENBQUM7UUFFNUU7OztXQUdHO1FBQ2MsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUUvQjs7O1dBR0c7UUFDSSxXQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUUvQjs7O1dBR0c7UUFDSyw4QkFBeUIsR0FBRyxLQUFLLENBQUM7SUFtQnZDLENBQUM7SUFqQko7Ozs7T0FJRztJQUVJLEtBQUs7UUFDUixJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUM7SUFDM0MsQ0FBQztJQVNNLFFBQVE7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ3BELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7WUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ25CLE9BQU87YUFDVjtZQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEtBQUssRUFBRSxFQUFFO2dCQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQSxXQUFXLENBQUM7U0FDM0M7UUFFRCxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbEcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNsQzthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFaEUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ25CLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBa0QsQ0FBQyxDQUFDO2dCQUV4RyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuRSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDOUI7aUJBQU0sSUFDSCxJQUFJLENBQUMsU0FBUztnQkFDZCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZTtnQkFDN0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUMvQjtnQkFDRSxxQkFBcUI7Z0JBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMvRDtpQkFBTTtnQkFDSCxzR0FBc0c7Z0JBQ3RHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUNsQztTQUNKO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3RCLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25CLE9BQU87U0FDVjtRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFDLElBQUksRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBQyxFQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RGO0lBQ0wsQ0FBQztJQUVNLEtBQUs7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUU7WUFDcEQsc0NBQXNDO1lBQ3RDLDhGQUE4RjtZQUM5RixpREFBaUQ7WUFDakQsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO1lBQ3JDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1NBQ3BDO2FBQU07WUFDSCwyREFBMkQ7WUFDM0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRU0sVUFBVTtRQUNiLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSyxJQUFJLENBQUMsS0FBZ0MsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTTtRQUNULE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSyxJQUFJLENBQUMsS0FBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQTZCO1FBQ2pELHdDQUF3QztRQUN4QyxnRUFBZ0U7UUFDaEUsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3ZDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUF1QyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbEcsTUFBTSxJQUFJLEdBQXdCO1lBQzlCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNyQyxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQztRQUNqRywySEFBMkg7UUFDM0gsaUdBQWlHO1FBQ2pHLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBb0IsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRU8sZUFBZSxDQUFDLElBQXlCO1FBQzdDLGlGQUFpRjtRQUNqRixPQUFPO1lBQ0g7Z0JBQ0ksT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsUUFBUSxFQUFFLElBQUk7YUFDakI7WUFDRDtnQkFDSSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLEVBQUUsSUFBSTthQUNqQjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sWUFBWTtRQUNoQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNqQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLHlCQUF5QjtRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RELE9BQU87U0FDVjtRQUVELE1BQU0sSUFBSSxHQUFvRDtZQUMxRCxTQUFTLEVBQUUsRUFBRTtZQUNiLGFBQWEsRUFBRTtnQkFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDdEI7U0FDSixDQUFDO1FBRUYsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7Z0JBQ3RCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtvQkFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDL0I7cUJBQU0sSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO29CQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN6QjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDcEIsT0FBTztTQUNWO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQStCLENBQUM7UUFFM0QsTUFBTSxJQUFJLEdBQXdCO1lBQzlCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUMzRCxhQUFhLEVBQUUsYUFBYSxDQUFDLGFBQWE7U0FDN0MsQ0FBQztRQUVGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEQsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN4QyxTQUFTLEVBQ1QsSUFBSSxDQUFDLE9BQU8sRUFDWixjQUFjLEVBQ2QsYUFBYSxDQUFDLGtCQUFrQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO2dCQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ3pCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sUUFBUSxDQUFDLEtBQVk7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNWLFNBQVMsRUFBRyxLQUFtQixDQUFDLFNBQVM7YUFDNUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxNQUFzQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxTQUE4QztRQUMvRCxNQUFNLFNBQVMsR0FBMkI7WUFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUMzRCxTQUFTLEVBQUUsU0FBUztTQUN2QixDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQy9CLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDcEM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOztrSEF2VlEscUJBQXFCO3NHQUFyQixxQkFBcUIscVVBSW5CLFNBQVMsa0xDMUR4Qiw2eUNBZ0NBOzJGRHNCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksZUFBZTtvTUFRb0IsTUFBTTtzQkFBbEQsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUtPLEtBQUs7c0JBQS9DLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztnQkFLbEIsV0FBVztzQkFBMUIsS0FBSztnQkFLVSxlQUFlO3NCQUE5QixLQUFLO2dCQUtVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBS1UsTUFBTTtzQkFBckIsS0FBSztnQkFLb0IsZUFBZTtzQkFBeEMsTUFBTTtnQkFLbUIsT0FBTztzQkFBaEMsTUFBTTtnQkFtREEsS0FBSztzQkFEWCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBTdGF0aWNQcm92aWRlcixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0Zvcm0sIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0Vycm9yU3RhdGVNYXRjaGVyLCBNYXRSaXBwbGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtGaWx0ZXJHcm91cENvbmRpdGlvbkZpZWxkfSBmcm9tICcuLi9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuaW1wb3J0IHtnZXRGYWNldEZyb21TZWxlY3Rpb259IGZyb20gJy4uL2NsYXNzZXMvdXRpbHMnO1xuaW1wb3J0IHtOYXR1cmFsRHJvcGRvd25SZWZ9IGZyb20gJy4uL2Ryb3Bkb3duLWNvbnRhaW5lci9kcm9wZG93bi1yZWYnO1xuaW1wb3J0IHtcbiAgICBOQVRVUkFMX0RST1BET1dOX0RBVEEsXG4gICAgTmF0dXJhbERyb3Bkb3duRGF0YSxcbiAgICBOYXR1cmFsRHJvcGRvd25TZXJ2aWNlLFxufSBmcm9tICcuLi9kcm9wZG93bi1jb250YWluZXIvZHJvcGRvd24uc2VydmljZSc7XG5pbXBvcnQge0ZhY2V0U2VsZWN0b3JDb21wb25lbnQsIEZhY2V0U2VsZWN0b3JDb25maWd1cmF0aW9ufSBmcm9tICcuLi9mYWNldC1zZWxlY3Rvci9mYWNldC1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHtEcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vdHlwZXMvZHJvcGRvd24tY29tcG9uZW50JztcbmltcG9ydCB7RHJvcGRvd25GYWNldCwgRmFjZXQsIEZsYWdGYWNldCwgTmF0dXJhbFNlYXJjaEZhY2V0c30gZnJvbSAnLi4vdHlwZXMvZmFjZXQnO1xuaW1wb3J0IHtEcm9wZG93blJlc3VsdCwgTmF0dXJhbFNlYXJjaFNlbGVjdGlvbn0gZnJvbSAnLi4vdHlwZXMvdmFsdWVzJztcblxuLy8gUmVxdWlyZWQgdG8gY2hlY2sgaW52YWxpZCBmaWVsZHMgd2hlbiBpbml0aWFsaXppbmcgbmF0dXJhbC1zZWFyY2hcbmV4cG9ydCBjbGFzcyBBbHdheXNFcnJvclN0YXRlTWF0Y2hlciBpbXBsZW1lbnRzIEVycm9yU3RhdGVNYXRjaGVyIHtcbiAgICBwdWJsaWMgaXNFcnJvclN0YXRlKGNvbnRyb2w6IEZvcm1Db250cm9sIHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISFjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZDtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzQ29tcG9uZW50VmFsaWQoY29tcG9uZW50OiBEcm9wZG93bkNvbXBvbmVudCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgaWYgKCFjb21wb25lbnQuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4ge2NvbXBvbmVudDogdHJ1ZX07XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtaW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQ29udHJvbHMgdGhlIHJpcHBsZSBlZmZlY3QsIHVzZWQgd2hlbiBvcGVuaW5nIGEgZHJvcGRvd25cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKE1hdFJpcHBsZSwge3N0YXRpYzogdHJ1ZX0pIHB1YmxpYyByaXBwbGUhOiBNYXRSaXBwbGU7XG5cbiAgICAvKipcbiAgICAgKiBOYXRpdmUgZWxlbWVudCByZWYgZm9yIDxpbnB1dD4gcmVsYXRlZCB0byB0aGlzIDxuYXR1cmFsLWlucHV0PiBjb21wb25lbnRcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHtzdGF0aWM6IHRydWV9KSBwdWJsaWMgaW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogTGFiZWwgZm9yIHRoaXMgZmllbGRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBmaWVsZCBvbiB3aGljaCBkbyBhIGdsb2JhbCBzZWFyY2ggKHdpdGhvdXQgZmFjZXQpXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNlYXJjaEZpZWxkTmFtZSA9ICdzZWFyY2gnO1xuXG4gICAgLyoqXG4gICAgICogU2VsZWN0ZWQgc2V0dGVkIGZvciB0aGlzIGNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3Rpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqIEF2YWlsYWJsZSBmYWNldHMsIGFsbG93cyB0aGUgdXNlciB0byBwaWNrIG9uZSwgdGhhbiBnZW5lcmF0ZWQgdGhlbiBhIHNlbGVjdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmYWNldHMhOiBOYXR1cmFsU2VhcmNoRmFjZXRzO1xuXG4gICAgLyoqXG4gICAgICogRW1pdHMgd2hlbiB1c2VyIGEgYWRkZWQvdXBkYXRlZC9kZWxldGVkIGEgc2VhcmNoIChmcm9tIGdsb2JhbCBjb250ZXh0IG9yIGZyb20gZmFjZXQpXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE5hdHVyYWxTZWFyY2hTZWxlY3Rpb24+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyB3aGVuIHVzZXIgcmVtb3ZlcyB0aGUgc2VhcmNoIGJ5IHByZXNzaW5nIHRoZSBjcm9zcyBpY29uXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxOYXR1cmFsSW5wdXRDb21wb25lbnQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3RlZCBmYWNldCBmcm9tIHRoZSBsaXN0IG9mIGF2YWlsYWJsZSBmYWNldHNcbiAgICAgKi9cbiAgICBwdWJsaWMgZmFjZXQ6IEZhY2V0IHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDb250cm9sbGVyIGZvciB0aGUgaW5wdXQgZmllbGRcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybUN0cmw6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG5cbiAgICAvKipcbiAgICAgKiBDdXN0b21lciBlcnJvciBtYXRjaGVyIHRoYXQgc2hvdWxkIHZhbGlkYXRlIG9uIGVhY2ggY2hhbmdlIChpbmNsdWRpbmcgaW5pdGlhbGlzYXRpb24pXG4gICAgICovXG4gICAgcHVibGljIGVycm9yTWF0Y2hlciA9IG5ldyBBbHdheXNFcnJvclN0YXRlTWF0Y2hlcigpO1xuXG4gICAgLyoqXG4gICAgICogUmVmZXJlbmNlIG9mIHRoZSBvcGVuZWQgZHJvcGRvd24gY29udGFpbmVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBkcm9wZG93blJlZjogTmF0dXJhbERyb3Bkb3duUmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBSZWZlcmVuY2Ugb2YgdGhlIGNvbXBvbmVudCBpbnNpZGUgdGhlIGRyb3Bkb3duIGNvbnRhaW5lclxuICAgICAqL1xuICAgIHByaXZhdGUgZHJvcGRvd25Db21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxEcm9wZG93bkNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICAgIC8qKlxuICAgICAqICBNaW5pbXVtIGlucHV0IGxlbmd0aCAobnVtYmVyIG9mIGNoYXJzKVxuICAgICAqICBTZWUgbGVuZ3RoIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbWluTGVuZ3RoID0gNTtcblxuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIGlucHV0IChudW1iZXIgb2YgY2hhcnMpXG4gICAgICogTWF0Y2ggdGhlIGlucHV0LnNpemUgYXR0cmlidXRlXG4gICAgICovXG4gICAgcHVibGljIGxlbmd0aCA9IHRoaXMubWluTGVuZ3RoO1xuXG4gICAgLyoqXG4gICAgICogRmxhZywgdGhhdCwgaWYgbWFya2VkIGFzIHllcywgcHJldmVudHMgdGhlIG9wZW5pbmcgb2YgdGhlIGRyb3Bkb3duXG4gICAgICogSXMgdXNlZCB0byBwcmV2ZW50IGRyb3Bkb3duIG9wZW5pbmcgd2hlbiBuYXR1cmFsLXNlYXJjaCB0YWtlcyB0aGUgZm9jdXMgZnJvbSBwYXJlbnQgY29udGV4dCAobGlrZSBvbiBtb2RhbCBvcGVuaW5nKVxuICAgICAqL1xuICAgIHByaXZhdGUgbmV1dHJhbGl6ZURyb3Bkb3duT3BlbmluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIG1hbmFnZW1lbnQgZm9yIHRha2luZyB0aGUgZm9jdXMgZnJvbSBwYXJlbnQgY29udGV4dFxuICAgICAqIFdoZW4gZm9jdXNpbmcgbWFudWFsbHkgb24gdGhlIDxpbnB1dD4sIGEgZHJvcGRvd24gaXMgb3BlbmVkXG4gICAgICogQnV0IHdoZW4gdGhlIGZvY3VzIGlzIGdpdmVuIGZyb20gYW5ndWxhciBpbiBhIHBhcmVudCBjb250ZXh0IChsaWtlIGEgZGlhbG9nKSB0aGUgZHJvcGRvd24gd291bGQgb3BlbiBhbmQgd2UgZG9uJ3Qgd2FudCBpdC5cbiAgICAgKi9cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gICAgcHVibGljIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ldXRyYWxpemVEcm9wZG93bk9wZW5pbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgdGhpcy5uZXV0cmFsaXplRHJvcGRvd25PcGVuaW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duU2VydmljZTogTmF0dXJhbERyb3Bkb3duU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZHJvcGRvd25SZWYpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZvcm1DdHJsLnZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnBsYWNlaG9sZGVyKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gJGxvY2FsaXplYFJlY2hlcmNoZWA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwbGFjZWhvbGRlclNpemUgPSAodGhpcy5mYWNldCA/IHRoaXMuZmFjZXQuZGlzcGxheS5sZW5ndGggOiB0aGlzLnBsYWNlaG9sZGVyLmxlbmd0aCkgKiAwLjY2O1xuICAgICAgICB0aGlzLmxlbmd0aCA9IE1hdGgubWF4KHRoaXMubWluTGVuZ3RoLCBNYXRoLmNlaWwocGxhY2Vob2xkZXJTaXplKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93bkNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZmFjZXRzICYmIHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xlYXIoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5mYWNldHMgJiYgdGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZmFjZXQgPSBnZXRGYWNldEZyb21TZWxlY3Rpb24odGhpcy5mYWNldHMsIHRoaXMuc2VsZWN0aW9uKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaXNEcm9wZG93bigpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZHJvcGRvd25Db21wb25lbnQgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmZhY2V0IGFzIERyb3Bkb3duRmFjZXQ8RmFjZXRTZWxlY3RvckNvbmZpZ3VyYXRpb24+KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUN0cmwuc2V0VmFsaWRhdG9ycyhbaXNDb21wb25lbnRWYWxpZChkcm9wZG93bkNvbXBvbmVudCldKTtcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNvbXBvbmVudC5yZW5kZXJlZFZhbHVlLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUN0cmwuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRmxhZygpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uICYmXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uZmllbGQgPT09IHRoaXMuc2VhcmNoRmllbGROYW1lICYmXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uY29uZGl0aW9uLmxpa2VcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIC8vIGdsb2JhbCBzZWFyY2ggbW9kZVxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUN0cmwuc2V0VmFsdWUodGhpcy5zZWxlY3Rpb24uY29uZGl0aW9uLmxpa2UudmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBjb21wb25lbnQgaXMgaW52YWxpZCAobm8gZmFjZXQgYW5kIG5vdCBhIGdsb2JhbCBzZWFyY2gpLCBjbGVhciBmcm9tIHJlc3VsdCBhbmQgZGVzdHJveSBjb21wb25lbnRcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xlYXIoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2VhcmNoKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAoIXRoaXMuZm9ybUN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd24oKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybUN0cmwudmFsaWQgJiYgdGhpcy5mb3JtQ3RybC5kaXJ0eSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmdldFNlbGVjdGlvbih7bGlrZToge3ZhbHVlOiB0aGlzLmZvcm1DdHJsLnZhbHVlfX0pKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mYWNldCA9IG51bGw7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gbnVsbDtcbiAgICAgICAgdGhpcy5mb3JtQ3RybC5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5jbGVhcmVkLmVtaXQodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd25SZWYgfHwgdGhpcy5uZXV0cmFsaXplRHJvcGRvd25PcGVuaW5nKSB7XG4gICAgICAgICAgICAvLyBQcmV2ZW50IHRvIG9wZW4gbXVsdGlwbGUgZHJvcGRvd25zLlxuICAgICAgICAgICAgLy8gSGFwcGVucyBhcyB3ZSBvcGVuIG9uIFwiZm9jdXNcIiwgYW5kIGFsdCt0YWIgcmUtYWN0aXZhdGUgZm9jdXMgb24gYW4gZWxlbWVudCB0aGF0IGFscmVhZHkgaGFkXG4gICAgICAgICAgICAvLyBmb2N1cyB3aGVuIGxlYXZpbmcgd2luZG93IHdpdGggYW5vdGhlciBhbHQrdGFiXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxhdW5jaFJpcHBsZSgpO1xuXG4gICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGZhY2V0IGFuZCBubyBzdHJpbmcgdHlwZWQsIHNob3cgcGFuZWwgdG8gc2VsZWN0IHRoZSBmYWNldFxuICAgICAgICBpZiAoIXRoaXMuZmFjZXQgJiYgIXRoaXMuZm9ybUN0cmwudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkZhY2V0U2VsZWN0b3JEcm9wZG93bigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgYSBmYWNldCBpcyBzZWxlY3RlZCwgb3BlbiBzcGVjaWZpYyBjb21wb25lbnQgZHJvcGRvd25cbiAgICAgICAgICAgIHRoaXMub3BlblR5cGVEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLmZhY2V0ICYmICh0aGlzLmZhY2V0IGFzIERyb3Bkb3duRmFjZXQ8dW5rbm93bj4pLmNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzRmxhZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuZmFjZXQgJiYgKHRoaXMuZmFjZXQgYXMgRmxhZ0ZhY2V0KS5jb25kaXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50KGZhY2V0OiBEcm9wZG93bkZhY2V0PHVua25vd24+KTogRHJvcGRvd25Db21wb25lbnQge1xuICAgICAgICAvLyBBbHdheXMgZGVzdHJveSBhbmQgcmVjcmVhdGUgY29tcG9uZW50XG4gICAgICAgIC8vIFRvZG8gOiB0ZXN0IGlmIGZhY2V0IGhhcyBjaGFuZ2VkLCBpZiBub3QgcmUtdXNlIHRoZSBjb21wb25lbnRcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd25Db21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Db21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29uZGl0aW9uID0gdGhpcy5zZWxlY3Rpb24gPyAodGhpcy5zZWxlY3Rpb24uY29uZGl0aW9uIGFzIEZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGQpIDogbnVsbDtcbiAgICAgICAgY29uc3QgZGF0YTogTmF0dXJhbERyb3Bkb3duRGF0YSA9IHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjogY29uZGl0aW9uLFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbjogZmFjZXQuY29uZmlndXJhdGlvbixcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7cHJvdmlkZXJzOiB0aGlzLmNyZWF0ZVByb3ZpZGVycyhkYXRhKSwgcGFyZW50OiB0aGlzLmluamVjdG9yfSk7XG4gICAgICAgIC8vIFRPRE8gcmVwbGFjZSBieSB0aGlzIHdoZW4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9jb21taXQvZDFlODNlMWIzMGYyY2VhOWYyZWQxNmJmZjJkM2I5NjkzMzUwNzJhYiBpcyByZWxlYXNlZFxuICAgICAgICAvLyB0aGlzLmRyb3Bkb3duQ29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KGZhY2V0LmNvbXBvbmVudCwge2Vudmlyb25tZW50SW5qZWN0b3I6IGluamVjdG9yfSk7XG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeTxEcm9wZG93bkNvbXBvbmVudD4oZmFjZXQuY29tcG9uZW50KTtcbiAgICAgICAgdGhpcy5kcm9wZG93bkNvbXBvbmVudFJlZiA9IGZhY3RvcnkuY3JlYXRlKGluamVjdG9yKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVByb3ZpZGVycyhkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhKTogU3RhdGljUHJvdmlkZXJbXSB7XG4gICAgICAgIC8vIEN1c3RvbWl6ZSBpbmplY3RvciB0byBhbGxvdyBkYXRhIGFuZCBkcm9wZG93biByZWZlcmVuY2UgaW5qZWN0aW9uIGluIGNvbXBvbmVudFxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHByb3ZpZGU6IE5hdHVyYWxEcm9wZG93blJlZixcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogbnVsbCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogTkFUVVJBTF9EUk9QRE9XTl9EQVRBLFxuICAgICAgICAgICAgICAgIHVzZVZhbHVlOiBkYXRhLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxhdW5jaFJpcHBsZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcmlwcGxlUmVmID0gdGhpcy5yaXBwbGUubGF1bmNoKHtcbiAgICAgICAgICAgIHBlcnNpc3RlbnQ6IHRydWUsXG4gICAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmlwcGxlUmVmLmZhZGVPdXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5GYWNldFNlbGVjdG9yRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5mYWNldHMgfHwgKHRoaXMuZmFjZXRzICYmICF0aGlzLmZhY2V0cy5sZW5ndGgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhPEZhY2V0U2VsZWN0b3JDb25maWd1cmF0aW9uPiA9IHtcbiAgICAgICAgICAgIGNvbmRpdGlvbjoge30sXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgZmFjZXRzOiB0aGlzLmZhY2V0cyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaW5qZWN0b3JUb2tlbnMgPSB0aGlzLmNyZWF0ZVByb3ZpZGVycyhkYXRhKTtcbiAgICAgICAgdGhpcy5kcm9wZG93blJlZiA9IHRoaXMuZHJvcGRvd25TZXJ2aWNlLm9wZW4oRmFjZXRTZWxlY3RvckNvbXBvbmVudCwgdGhpcy5lbGVtZW50LCBpbmplY3RvclRva2VucywgZmFsc2UpO1xuICAgICAgICB0aGlzLmRyb3Bkb3duUmVmLmNsb3NlZC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25SZWYgPSBudWxsO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5mYWNldCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldEZhY2V0KHJlc3VsdC5mYWNldCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuY29uZGl0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlblR5cGVEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRHJvcGRvd24oKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZHJvcGRvd25GYWNldCA9IHRoaXMuZmFjZXQgYXMgRHJvcGRvd25GYWNldDx1bmtub3duPjtcblxuICAgICAgICBjb25zdCBkYXRhOiBOYXR1cmFsRHJvcGRvd25EYXRhID0ge1xuICAgICAgICAgICAgY29uZGl0aW9uOiB0aGlzLnNlbGVjdGlvbiA/IHRoaXMuc2VsZWN0aW9uLmNvbmRpdGlvbiA6IG51bGwsXG4gICAgICAgICAgICBjb25maWd1cmF0aW9uOiBkcm9wZG93bkZhY2V0LmNvbmZpZ3VyYXRpb24sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaW5qZWN0b3JUb2tlbnMgPSB0aGlzLmNyZWF0ZVByb3ZpZGVycyhkYXRhKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gZHJvcGRvd25GYWNldC5jb21wb25lbnQ7XG4gICAgICAgIHRoaXMuZHJvcGRvd25SZWYgPSB0aGlzLmRyb3Bkb3duU2VydmljZS5vcGVuKFxuICAgICAgICAgICAgY29tcG9uZW50LFxuICAgICAgICAgICAgdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgaW5qZWN0b3JUb2tlbnMsXG4gICAgICAgICAgICBkcm9wZG93bkZhY2V0LnNob3dWYWxpZGF0ZUJ1dHRvbiAhPT0gdW5kZWZpbmVkID8gZHJvcGRvd25GYWNldC5zaG93VmFsaWRhdGVCdXR0b24gOiB0cnVlLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZHJvcGRvd25SZWYuY2xvc2VkLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blJlZiA9IG51bGw7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RmFjZXQoZmFjZXQ6IEZhY2V0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmFjZXQgPSBmYWNldDtcblxuICAgICAgICBpZiAodGhpcy5pc0Ryb3Bkb3duKCkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblR5cGVEcm9wZG93bigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNGbGFnKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUoe1xuICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogKGZhY2V0IGFzIEZsYWdGYWNldCkuY29uZGl0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VmFsdWUocmVzdWx0OiBEcm9wZG93blJlc3VsdCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mYWNldCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLmdldFNlbGVjdGlvbihyZXN1bHQuY29uZGl0aW9uKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdGlvbihjb25kaXRpb246IE5hdHVyYWxTZWFyY2hTZWxlY3Rpb25bJ2NvbmRpdGlvbiddKTogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbjogTmF0dXJhbFNlYXJjaFNlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLmZhY2V0ID8gdGhpcy5mYWNldC5maWVsZCA6IHRoaXMuc2VhcmNoRmllbGROYW1lLFxuICAgICAgICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24sXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHRoaXMuZmFjZXQgJiYgdGhpcy5mYWNldC5uYW1lKSB7XG4gICAgICAgICAgICBzZWxlY3Rpb24ubmFtZSA9IHRoaXMuZmFjZXQubmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzZWxlY3Rpb247XG4gICAgfVxufVxuIiwiPCEtLSBjbGljayBjb25kaXRpb24gc2hvdWxkIG1hdGNoIHRvIGFsbG93IGNsaWNrIGFjdGlvbiBvbmx5IHdoZW4gbm8gb3RoZXIgYnV0dG9uIGlzIHZpc2libGUgLS0+XG48bWF0LWZvcm0tZmllbGQgI2ZpZWxkIG1hdFJpcHBsZSAoY2xpY2spPVwiIXNlbGVjdGlvbiAmJiAhKGZhY2V0ICYmICFzZWxlY3Rpb24pID8gb3BlbkRyb3Bkb3duKCkgOiBudWxsXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImZhY2V0XCI+e3sgZmFjZXQuZGlzcGxheSB9fTwvbWF0LWxhYmVsPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCIhZmFjZXRcIj57eyBwbGFjZWhvbGRlciB9fTwvbWF0LWxhYmVsPlxuXG4gICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICAoYmx1cik9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIuc2l6ZV09XCJsZW5ndGhcIlxuICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JNYXRjaGVyXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1DdHJsXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cIihpc0Ryb3Bkb3duKCkgJiYgISFzZWxlY3Rpb24pIHx8IGlzRmxhZygpXCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgIC8+XG5cbiAgICA8IS0tIFRPRE8gOiByZXBsYWNlIHRoaXMgdm9pZCBidXR0b24gLS0+XG4gICAgPGRpdiAqbmdJZj1cIiFmYWNldCAmJiAhc2VsZWN0aW9uXCIgY2xhc3M9XCJzZWFyY2gtaWNvblwiIG1hdFByZWZpeD5cbiAgICAgICAgPG5hdHVyYWwtaWNvbiBuYW1lPVwic2VhcmNoXCI+PC9uYXR1cmFsLWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjbGVhcigpXCIgKm5nSWY9XCJzZWxlY3Rpb25cIiBtYXQtaWNvbi1idXR0b24gbWF0U3VmZml4PlxuICAgICAgICA8bmF0dXJhbC1pY29uIG5hbWU9XCJjbG9zZVwiPjwvbmF0dXJhbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiY2xlYXIoKVwiICpuZ0lmPVwiZmFjZXQgJiYgIXNlbGVjdGlvblwiIG1hdC1pY29uLWJ1dHRvbiBtYXRTdWZmaXg+XG4gICAgICAgIDxuYXR1cmFsLWljb24gbmFtZT1cInVuZG9cIj48L25hdHVyYWwtaWNvbj5cbiAgICA8L2J1dHRvbj5cbjwvbWF0LWZvcm0tZmllbGQ+XG48ZGl2IGNsYXNzPVwiaGlkZVwiPnt7IGZvcm1DdHJsLnZhbHVlID8gZm9ybUN0cmwudmFsdWUgOiBmYWNldCA/IGZhY2V0LmRpc3BsYXkgOiBwbGFjZWhvbGRlciB9fTwvZGl2PlxuIl19
@@ -6,9 +6,8 @@ import * as i1 from "../sidenav.service";
6
6
  import * as i2 from "@angular/material/sidenav";
7
7
  import * as i3 from "@angular/common";
8
8
  export class NaturalSidenavContainerComponent {
9
- constructor(sidenavService, element) {
9
+ constructor(sidenavService) {
10
10
  this.sidenavService = sidenavService;
11
- this.element = element;
12
11
  /**
13
12
  * The side that the drawer is attached to
14
13
  */
@@ -59,12 +58,12 @@ export class NaturalSidenavContainerComponent {
59
58
  this.sidenavService.toggleMinimized();
60
59
  }
61
60
  }
62
- NaturalSidenavContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalSidenavContainerComponent, deps: [{ token: i1.NaturalSidenavService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
61
+ NaturalSidenavContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalSidenavContainerComponent, deps: [{ token: i1.NaturalSidenavService }], target: i0.ɵɵFactoryTarget.Component });
63
62
  NaturalSidenavContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: NaturalSidenavContainerComponent, selector: "natural-sidenav-container", inputs: { name: "name", position: "position", mobileAutoClose: "mobileAutoClose", minimizedWidth: "minimizedWidth", noScroll: "noScroll" }, host: { properties: { "attr.no-scroll": "this.noScroll" } }, providers: [NaturalSidenavService], viewQueries: [{ propertyName: "menuContainer", first: true, predicate: MatSidenavContainer, descendants: true, static: true }, { propertyName: "menuSidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container (backdropClick)=\"sidenavService.setOpened(false)\">\n <mat-sidenav\n [mode]=\"sidenavService.activeMode\"\n [ngClass]=\"sidenavService.isMinimized ? 'menuMinimized' : ''\"\n [opened]=\"sidenavService.isOpened\"\n [style.min-width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [style.width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [position]=\"position\"\n >\n <ng-content select=\"natural-sidenav\"></ng-content>\n </mat-sidenav>\n\n <mat-sidenav-content>\n <div>\n <ng-content select=\"natural-sidenav-content\"></ng-content>\n </div>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [":host{display:flex;flex-direction:column}:host mat-sidenav-container{display:flex;flex-direction:column;flex:1}:host mat-sidenav-content>div{overflow:auto}:host .menuMinimized{overflow-x:hidden}:host .buttons{display:flex;flex-direction:row;justify-content:flex-end}\n"], components: [{ type: i2.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i2.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i2.MatSidenavContent, selector: "mat-sidenav-content" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
64
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NaturalSidenavContainerComponent, decorators: [{
65
64
  type: Component,
66
65
  args: [{ selector: 'natural-sidenav-container', providers: [NaturalSidenavService], template: "<mat-sidenav-container (backdropClick)=\"sidenavService.setOpened(false)\">\n <mat-sidenav\n [mode]=\"sidenavService.activeMode\"\n [ngClass]=\"sidenavService.isMinimized ? 'menuMinimized' : ''\"\n [opened]=\"sidenavService.isOpened\"\n [style.min-width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [style.width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [position]=\"position\"\n >\n <ng-content select=\"natural-sidenav\"></ng-content>\n </mat-sidenav>\n\n <mat-sidenav-content>\n <div>\n <ng-content select=\"natural-sidenav-content\"></ng-content>\n </div>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [":host{display:flex;flex-direction:column}:host mat-sidenav-container{display:flex;flex-direction:column;flex:1}:host mat-sidenav-content>div{overflow:auto}:host .menuMinimized{overflow-x:hidden}:host .buttons{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
67
- }], ctorParameters: function () { return [{ type: i1.NaturalSidenavService }, { type: i0.ElementRef }]; }, propDecorators: { name: [{
66
+ }], ctorParameters: function () { return [{ type: i1.NaturalSidenavService }]; }, propDecorators: { name: [{
68
67
  type: Input
69
68
  }], position: [{
70
69
  type: Input
@@ -84,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
84
83
  type: ViewChild,
85
84
  args: [MatSidenav, { static: true }]
86
85
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2lkZW5hdi9zaWRlbmF2LWNvbnRhaW5lci9zaWRlbmF2LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9zaWRlbmF2L3NpZGVuYXYtY29udGFpbmVyL3NpZGVuYXYtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsV0FBVyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBWSxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFRekQsTUFBTSxPQUFPLGdDQUFnQztJQXNDekMsWUFBbUMsY0FBcUMsRUFBa0IsT0FBbUI7UUFBMUUsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBQWtCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFoQzdHOztXQUVHO1FBQ2EsYUFBUSxHQUEwQixPQUFPLENBQUM7UUFFMUQ7OztXQUdHO1FBQ2Esb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkM7O1dBRUc7UUFDYSxtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUVyQzs7O1dBR0c7UUFDNEMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQVlnRCxDQUFDO0lBRWpILElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxNQUFNO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTTtRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzs2SEE5RVEsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsNlBBRjlCLENBQUMscUJBQXFCLENBQUMseUVBaUN2QixtQkFBbUIsNEZBS25CLFVBQVUsOERDOUN6Qixzd0JBa0JBOzJGRFJhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDSSwyQkFBMkIsYUFHMUIsQ0FBQyxxQkFBcUIsQ0FBQztxSUFNbEIsSUFBSTtzQkFBbkIsS0FBSztnQkFLVSxRQUFRO3NCQUF2QixLQUFLO2dCQU1VLGVBQWU7c0JBQTlCLEtBQUs7Z0JBS1UsY0FBYztzQkFBN0IsS0FBSztnQkFNeUMsUUFBUTtzQkFBdEQsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBS21CLGFBQWE7c0JBQXBFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUtDLFdBQVc7c0JBQXpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREcmF3ZXIsIE1hdFNpZGVuYXYsIE1hdFNpZGVuYXZDb250YWluZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtOYXR1cmFsU2lkZW5hdlNlcnZpY2V9IGZyb20gJy4uL3NpZGVuYXYuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1zaWRlbmF2LWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGVuYXYtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlbmF2LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW05hdHVyYWxTaWRlbmF2U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTaWRlbmF2Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIFVuaXF1ZSBpZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBsb2NhbCBzdG9yYWdlXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG5hbWUhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2lkZSB0aGF0IHRoZSBkcmF3ZXIgaXMgYXR0YWNoZWQgdG9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcG9zaXRpb246IE1hdERyYXdlclsncG9zaXRpb24nXSA9ICdzdGFydCc7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlIGxpc3RlbnMgdG8gcm91dGUgY2hhbmdlcyB0byBjbG9zZSBzaWRlIG5hdiBhZnRlciBhIHJvdXRlIGNoYW5nZSBpZiBtb2JpbGUgdmlldyBpcyBhY3RpdmVcbiAgICAgKiBBY3R1YWxseSBhIG5hdmlnYXRpb24gdG8gY3VycmVudCByb3V0ZSBkb2VzIG5vdCBlbWl0IGEgcm91dGUgY2hhbmdlLCBhbmQgdGhlIHNpZGVuYXYgZG9uJ3QgY2xvc2UuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG1vYmlsZUF1dG9DbG9zZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaWR0aCBvZiB0aGUgbWluaW1pemVkIG1lbnVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbWluaW1pemVkV2lkdGggPSAxNTA7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBwcmV2ZW50cyBcIm5hdGl2ZVwiIG1hdGVyaWFsIHNpZGVuYXYgdG8gc2Nyb2xsIGF0IGNvbnRhaW5lciBsZXZlbCBhbmQgZGVsZWdhdGVzIHRoZSBzY3JvbGwgcmVzcG9uc2FiaWxpdHkgdG8gdGhlIHRyYW5zY2x1ZGVkXG4gICAgICogY29udGVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5uby1zY3JvbGwnKSBASW5wdXQoKSBwdWJsaWMgbm9TY3JvbGwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElubmVyIFwibmF0aXZlXCIgbWF0ZXJpYWwgc2lkZW5hdiBjb250YWluZXJcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKE1hdFNpZGVuYXZDb250YWluZXIsIHtzdGF0aWM6IHRydWV9KSBwcml2YXRlIG1lbnVDb250YWluZXIhOiBNYXRTaWRlbmF2Q29udGFpbmVyO1xuXG4gICAgLyoqXG4gICAgICogSW5uZXIgXCJuYXRpdmVcIiBtYXRlcmlhbCBzaWRlbmF2XG4gICAgICovXG4gICAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7c3RhdGljOiB0cnVlfSkgcHJpdmF0ZSBtZW51U2lkZW5hdiE6IE1hdFNpZGVuYXY7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBOYXR1cmFsU2lkZW5hdlNlcnZpY2UsIHB1YmxpYyByZWFkb25seSBlbGVtZW50OiBFbGVtZW50UmVmKSB7fVxuXG4gICAgcHVibGljIGdldCBpc01pbmltaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZW5hdlNlcnZpY2UuaXNNaW5pbWl6ZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc01vYmlsZVZpZXcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZGVuYXZTZXJ2aWNlLmlzTW9iaWxlVmlldygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5pbml0KHRoaXMubmFtZSwgdGhpcy5tZW51Q29udGFpbmVyLCB0aGlzLm1lbnVTaWRlbmF2LCB0aGlzLCB0aGlzLm1vYmlsZUF1dG9DbG9zZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLmRlc3Ryb3kodGhpcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS50b2dnbGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5vcGVuKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG1pbmltaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLm1pbmltaXplKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cGFuZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5leHBhbmQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlTWluaW1pemVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnRvZ2dsZU1pbmltaXplZCgpO1xuICAgIH1cbn1cbiIsIjxtYXQtc2lkZW5hdi1jb250YWluZXIgKGJhY2tkcm9wQ2xpY2spPVwic2lkZW5hdlNlcnZpY2Uuc2V0T3BlbmVkKGZhbHNlKVwiPlxuICAgIDxtYXQtc2lkZW5hdlxuICAgICAgICBbbW9kZV09XCJzaWRlbmF2U2VydmljZS5hY3RpdmVNb2RlXCJcbiAgICAgICAgW25nQ2xhc3NdPVwic2lkZW5hdlNlcnZpY2UuaXNNaW5pbWl6ZWQgPyAnbWVudU1pbmltaXplZCcgOiAnJ1wiXG4gICAgICAgIFtvcGVuZWRdPVwic2lkZW5hdlNlcnZpY2UuaXNPcGVuZWRcIlxuICAgICAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cInNpZGVuYXZTZXJ2aWNlLmlzTWluaW1pemVkICYmIG1pbmltaXplZFdpZHRoID8gbWluaW1pemVkV2lkdGggOiBudWxsXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInNpZGVuYXZTZXJ2aWNlLmlzTWluaW1pemVkICYmIG1pbmltaXplZFdpZHRoID8gbWluaW1pemVkV2lkdGggOiBudWxsXCJcbiAgICAgICAgW3Bvc2l0aW9uXT1cInBvc2l0aW9uXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5hdHVyYWwtc2lkZW5hdlwiPjwvbmctY29udGVudD5cbiAgICA8L21hdC1zaWRlbmF2PlxuXG4gICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJuYXR1cmFsLXNpZGVuYXYtY29udGVudFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2lkZW5hdi9zaWRlbmF2LWNvbnRhaW5lci9zaWRlbmF2LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9zaWRlbmF2L3NpZGVuYXYtY29udGFpbmVyL3NpZGVuYXYtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBWSxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFRekQsTUFBTSxPQUFPLGdDQUFnQztJQXNDekMsWUFBbUMsY0FBcUM7UUFBckMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBaEN4RTs7V0FFRztRQUNhLGFBQVEsR0FBMEIsT0FBTyxDQUFDO1FBRTFEOzs7V0FHRztRQUNhLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZDOztXQUVHO1FBQ2EsbUJBQWMsR0FBRyxHQUFHLENBQUM7UUFFckM7OztXQUdHO1FBQzRDLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFZVyxDQUFDO0lBRTVFLElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxNQUFNO1FBQ1QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLElBQUk7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTTtRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzs2SEE5RVEsZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsNlBBRjlCLENBQUMscUJBQXFCLENBQUMseUVBaUN2QixtQkFBbUIsNEZBS25CLFVBQVUsOERDOUN6Qixzd0JBa0JBOzJGRFJhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDSSwyQkFBMkIsYUFHMUIsQ0FBQyxxQkFBcUIsQ0FBQzs0R0FNbEIsSUFBSTtzQkFBbkIsS0FBSztnQkFLVSxRQUFRO3NCQUF2QixLQUFLO2dCQU1VLGVBQWU7c0JBQTlCLEtBQUs7Z0JBS1UsY0FBYztzQkFBN0IsS0FBSztnQkFNeUMsUUFBUTtzQkFBdEQsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUs7Z0JBS21CLGFBQWE7c0JBQXBFLFNBQVM7dUJBQUMsbUJBQW1CLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQUtDLFdBQVc7c0JBQXpELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREcmF3ZXIsIE1hdFNpZGVuYXYsIE1hdFNpZGVuYXZDb250YWluZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHtOYXR1cmFsU2lkZW5hdlNlcnZpY2V9IGZyb20gJy4uL3NpZGVuYXYuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1zaWRlbmF2LWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGVuYXYtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWRlbmF2LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW05hdHVyYWxTaWRlbmF2U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTaWRlbmF2Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIFVuaXF1ZSBpZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBsb2NhbCBzdG9yYWdlXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG5hbWUhOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2lkZSB0aGF0IHRoZSBkcmF3ZXIgaXMgYXR0YWNoZWQgdG9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcG9zaXRpb246IE1hdERyYXdlclsncG9zaXRpb24nXSA9ICdzdGFydCc7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlIGxpc3RlbnMgdG8gcm91dGUgY2hhbmdlcyB0byBjbG9zZSBzaWRlIG5hdiBhZnRlciBhIHJvdXRlIGNoYW5nZSBpZiBtb2JpbGUgdmlldyBpcyBhY3RpdmVcbiAgICAgKiBBY3R1YWxseSBhIG5hdmlnYXRpb24gdG8gY3VycmVudCByb3V0ZSBkb2VzIG5vdCBlbWl0IGEgcm91dGUgY2hhbmdlLCBhbmQgdGhlIHNpZGVuYXYgZG9uJ3QgY2xvc2UuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG1vYmlsZUF1dG9DbG9zZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaWR0aCBvZiB0aGUgbWluaW1pemVkIG1lbnVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbWluaW1pemVkV2lkdGggPSAxNTA7XG5cbiAgICAvKipcbiAgICAgKiBJZiB0cnVlLCBwcmV2ZW50cyBcIm5hdGl2ZVwiIG1hdGVyaWFsIHNpZGVuYXYgdG8gc2Nyb2xsIGF0IGNvbnRhaW5lciBsZXZlbCBhbmQgZGVsZWdhdGVzIHRoZSBzY3JvbGwgcmVzcG9uc2FiaWxpdHkgdG8gdGhlIHRyYW5zY2x1ZGVkXG4gICAgICogY29udGVudFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5uby1zY3JvbGwnKSBASW5wdXQoKSBwdWJsaWMgbm9TY3JvbGwgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIElubmVyIFwibmF0aXZlXCIgbWF0ZXJpYWwgc2lkZW5hdiBjb250YWluZXJcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKE1hdFNpZGVuYXZDb250YWluZXIsIHtzdGF0aWM6IHRydWV9KSBwcml2YXRlIG1lbnVDb250YWluZXIhOiBNYXRTaWRlbmF2Q29udGFpbmVyO1xuXG4gICAgLyoqXG4gICAgICogSW5uZXIgXCJuYXRpdmVcIiBtYXRlcmlhbCBzaWRlbmF2XG4gICAgICovXG4gICAgQFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7c3RhdGljOiB0cnVlfSkgcHJpdmF0ZSBtZW51U2lkZW5hdiE6IE1hdFNpZGVuYXY7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBOYXR1cmFsU2lkZW5hdlNlcnZpY2UpIHt9XG5cbiAgICBwdWJsaWMgZ2V0IGlzTWluaW1pemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWRlbmF2U2VydmljZS5pc01pbmltaXplZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzTW9iaWxlVmlldygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lkZW5hdlNlcnZpY2UuaXNNb2JpbGVWaWV3KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLmluaXQodGhpcy5uYW1lLCB0aGlzLm1lbnVDb250YWluZXIsIHRoaXMubWVudVNpZGVuYXYsIHRoaXMsIHRoaXMubW9iaWxlQXV0b0Nsb3NlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UuZGVzdHJveSh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnRvZ2dsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWRlbmF2U2VydmljZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLm9wZW4oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbWluaW1pemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UubWluaW1pemUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwYW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLmV4cGFuZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGVNaW5pbWl6ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UudG9nZ2xlTWluaW1pemVkKCk7XG4gICAgfVxufVxuIiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lciAoYmFja2Ryb3BDbGljayk9XCJzaWRlbmF2U2VydmljZS5zZXRPcGVuZWQoZmFsc2UpXCI+XG4gICAgPG1hdC1zaWRlbmF2XG4gICAgICAgIFttb2RlXT1cInNpZGVuYXZTZXJ2aWNlLmFjdGl2ZU1vZGVcIlxuICAgICAgICBbbmdDbGFzc109XCJzaWRlbmF2U2VydmljZS5pc01pbmltaXplZCA/ICdtZW51TWluaW1pemVkJyA6ICcnXCJcbiAgICAgICAgW29wZW5lZF09XCJzaWRlbmF2U2VydmljZS5pc09wZW5lZFwiXG4gICAgICAgIFtzdHlsZS5taW4td2lkdGgucHhdPVwic2lkZW5hdlNlcnZpY2UuaXNNaW5pbWl6ZWQgJiYgbWluaW1pemVkV2lkdGggPyBtaW5pbWl6ZWRXaWR0aCA6IG51bGxcIlxuICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwic2lkZW5hdlNlcnZpY2UuaXNNaW5pbWl6ZWQgJiYgbWluaW1pemVkV2lkdGggPyBtaW5pbWl6ZWRXaWR0aCA6IG51bGxcIlxuICAgICAgICBbcG9zaXRpb25dPVwicG9zaXRpb25cIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibmF0dXJhbC1zaWRlbmF2XCI+PC9uZy1jb250ZW50PlxuICAgIDwvbWF0LXNpZGVuYXY+XG5cbiAgICA8bWF0LXNpZGVuYXYtY29udGVudD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm5hdHVyYWwtc2lkZW5hdi1jb250ZW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG48L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiJdfQ==