ets-fe-ng-sdk 17.0.404 → 17.0.405

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.
@@ -141,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
141
141
  providedIn: 'root',
142
142
  }]
143
143
  }], ctorParameters: () => [{ type: i1.ApiService }, { type: i2.ETSStorageService }, { type: i3.LocalCacheService }] });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFnQixRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFGLE9BQU8sRUFBd0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU03RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBS25ELE1BQU0sT0FBTyxrQkFBa0I7SUFZN0IsWUFDUyxVQUFzQixFQUN0QixRQUEyQixFQUMzQixPQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBZDNCLFlBQU8sR0FBRyxXQUFXLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQy9DLDZCQUF3QixHQUFHLE1BQU0sQ0FBMEIsRUFBRSxDQUFDLENBQUM7UUFDeEUsOEJBQXlCLEdBQTZDLElBQUksZUFBZSxDQUMvRixFQUFFLENBQ0gsQ0FBQztRQUNPLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUlULE9BQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUEwRnJDLGtCQUFhLEdBQUcsQ0FDZCxVQUFrQixF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QUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25CLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLFVBQVUsQ0FDVCxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNkLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUN4QjthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs4R0FwR1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgaW50ZXJ2YWwsIGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEVMYW5ndWFnZSB9IGZyb20gJy4uL1NoYXJlZC9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxDYWNoZVNlcnZpY2UgfSBmcm9tICcuL2NhY2hlL2xvY2FsLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRVRTU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZTxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2UgPSBhbnk+IHtcbiAgcHJpdmF0ZSBiYXNlVVJMID0gZW52aXJvbm1lbnQuYXBpQmFzZVVybCArICcvcmVzdC90cmFuc2xhdGlvbi8nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uUmVxdWVzdE1hdHJpeCA9IHNpZ25hbDx7IFt4OiBudW1iZXJdOiBzdHJpbmcgfT4oe30pO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXg6IEJlaGF2aW9yU3ViamVjdDx7IFt4OiBudW1iZXJdOiBzdHJpbmcgfT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFxuICAgIHt9LFxuICApO1xuICByZWFkb25seSBzZXBlcmF0b3IgPSAnfn5+JztcbiAgbmFtZSA9ICdnbG9zc2FyeSc7XG4gIHNvdXJjZUxhbmd1YWdlOiBFTGFuZ3VhZ2U7XG4gIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2U7XG4gIHRyYW5zR2xvc3Nhcnk7XG4gIHJlYWRvbmx5IHVTID0gaW5qZWN0KFV0aWxpdHlTZXJ2aWNlKTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgcHVibGljIHN0b3JhZ2VTOiBFVFNTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgbENhY2hlUzogTG9jYWxDYWNoZVNlcnZpY2UsXG4gICkge1xuICAgIGludGVydmFsKDEwMDApLnBpcGUoXG4gICAgICB0YXAoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBib2R5ID0gY2xvbmUodGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXgoKSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0TWF0cml4LnNldCh7fSk7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhib2R5KT8ubGVuZ3RoKSB7XG4gICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgY29uc3QgdHJhbnNHbG9zc2FyeSA9IHRoaXMudHJhbnNHbG9zc2FyeSB8fCAoYXdhaXQgdGhpcy5nZXRHbG9zc2FyeSgpLnRvUHJvbWlzZSgpKTtcbiAgICAgICAgICBpZiAodGhpcy5zb3VyY2VMYW5ndWFnZSAhPSB0aGlzLnRhcmdldExhbmd1YWdlKVxuICAgICAgICAgICAgbGFzdFZhbHVlRnJvbShcbiAgICAgICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLnBvc3RTdHJpbmcoXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlVVJMICtcbiAgICAgICAgICAgICAgICAgICh0aGlzLnRyYW5zR2xvc3Nhcnk/LmNvZGVcbiAgICAgICAgICAgICAgICAgICAgPyBgbGFuZ3VhZ2U/Z2xvc3NhcnlDb2RlPSR7dGhpcy50cmFuc0dsb3NzYXJ5Py5jb2RlfSZzb3VyY2VMYW5nPSR7dGhpcy5zb3VyY2VMYW5ndWFnZX0mdGFyZ2V0TGFuZz0ke3RoaXMudGFyZ2V0TGFuZ3VhZ2V9YFxuICAgICAgICAgICAgICAgICAgICA6IGBsYW5ndWFnZS8ke3RoaXMudGFyZ2V0TGFuZ3VhZ2V9YCksXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoYm9keSlcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGlkKSA9PiB0aGlzLnRhZ2dlcigraWQsIGJvZHlbaWRdKSlcbiAgICAgICAgICAgICAgICAgIC5qb2luKHRoaXMuc2VwZXJhdG9yKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLnRoZW4oKHIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXgubmV4dCh0aGlzLmRldGFnZ2VyKHIpKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICB0YWdnZXIoaWQ6IG51bWJlciwgc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYDxkaXYgaWQ9XCIke2lkfVwiPiR7c3RyfTwvZGl2PmA7XG4gIH1cbiAgZ2V0R2xvc3NhcnkoXG4gICAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZSA9IGVudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgKSB7XG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHNvdXJjZUxhbmd1YWdlIHx8IHRoaXMuc291cmNlTGFuZ3VhZ2U7XG4gICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlIHx8IHRoaXMudGFyZ2V0TGFuZ3VhZ2U7XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldDxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2VbXT4oYCR7dGhpcy5iYXNlVVJMfWdsb3NzYXJ5L2ApLnBpcGUoXG4gICAgICBtYXAoKHI6IGFueVtdKSA9PiB7XG4gICAgICAgIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCBnbG9zc2FyeSA9IHI/LmZpbmQoXG4gICAgICAgICAgKHgpID0+XG4gICAgICAgICAgICB4LnNvdXJjZUxhbmcgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJlxuICAgICAgICAgICAgeC50YXJnZXRMYW5nID09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UgJiZcbiAgICAgICAgICAgIHgubmFtZSA9PSB0aGlzLm5hbWUsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBnbG9zc2FyeSA/IGdsb3NzYXJ5IDogbnVsbDtcbiAgICAgIH0pLFxuICAgICAgbWFwKChnbG9zc2FyeSkgPT4ge1xuICAgICAgICBpZiAoIWdsb3NzYXJ5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5ID0gZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeSA9IGdsb3NzYXJ5O1xuICAgICAgICB0aGlzLnN0b3JhZ2VTLnNhdmVJdGVtKGVudmlyb25tZW50LnRyYW5zR2xvc3NhcnlLZXksIHRoaXMudHJhbnNHbG9zc2FyeSk7XG4gICAgICAgIHJldHVybiBnbG9zc2FyeTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbiAgZGV0YWdnZXIoc3RyOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpdGVtcyA9IHN0cj8uc3BsaXQodGhpcy5zZXBlcmF0b3IpO1xuICAgIGNvbnN0IHJlc29iaiA9IHt9O1xuICAgIGZvciAoY29uc3Qgc3RyIG9mIGl0ZW1zKSB7XG4gICAgICByZXNvYmpbc3RyPy5zcGxpdCgnXCInKVsxXV0gPSBzdHI/LnNwbGl0KCc+JylbMV0/LnNwbGl0KCc8L2RpdicpWzBdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2JqO1xuICB9XG5cbiAgdHJuYXNsYXRlT2xkKHRleHQ6IHN0cmluZykge1xuICAgIGNvbnN0IGlkID0gMzIzMjMyMztcbiAgICBjb25zdCBib2R5ID0geyBbaWRdOiB0ZXh0IH07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RTdHJpbmcoXG4gICAgICAgIHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZS8ke2Vudmlyb25tZW50LnRhcmdldExhbmd1YWdlfWAsXG4gICAgICAgIE9iamVjdC5rZXlzKGJvZHkpXG4gICAgICAgICAgLm1hcCgoaWQpID0+IHRoaXMudGFnZ2VyKCtpZCwgYm9keVtpZF0pKVxuICAgICAgICAgIC5qb2luKHRoaXMuc2VwZXJhdG9yKSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZXRhZ2dlcihyKVtpZF0gYXMgc3RyaW5nO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbiAgdHJhbnNsYXRlSFRNTCA9IChcbiAgICBIVE1MU3RyaW5nOiBzdHJpbmcsXG4gICAgc291cmNlTGFuZ3VhZ2UgPSB0aGlzLnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gdGhpcy50YXJnZXRMYW5ndWFnZSxcbiAgICBkZWJ1ZyA9IGZhbHNlLFxuICApID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigocmVzKSA9PiB7XG4gICAgICBpZiAoZGVidWcpIGRlYnVnZ2VyO1xuXG4gICAgICBjb25zdCB0ZXh0ID0gSFRNTFN0cmluZz8udHJpbSgpLFxuICAgICAgICByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG4gICAgICBjb25zdCBjYWNoZUtleSA9IHJvdXRlICsgJ18nICsgdGFyZ2V0TGFuZ3VhZ2UgKyAnXycgKyB0ZXh0O1xuICAgICAgaWYgKCF0ZXh0KSB7XG4gICAgICAgIHJlcy5uZXh0KEhUTUxTdHJpbmcpO1xuICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5sQ2FjaGVTLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgICAgcmVzLm5leHQodGhpcy5sQ2FjaGVTLmdldEl0ZW08c3RyaW5nPihjYWNoZUtleSkpO1xuICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy51Uy5nZW5lcmF0ZVVVSUQoKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXgudXBkYXRlKChtYXApID0+ICh7IC4uLm1hcCwgW2lkXTogdGV4dCB9KSk7XG4gICAgICAgIGNvbnN0IHN1YjogU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4LnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHIpID0+IHtcbiAgICAgICAgICAgIGlmIChkZWJ1ZykgZGVidWdnZXI7XG4gICAgICAgICAgICBjb25zdCB0cmFuc1ZhbCA9IHJbaWQudG9TdHJpbmcoKV07XG4gICAgICAgICAgICBpZiAodHJhbnNWYWwpIHtcbiAgICAgICAgICAgICAgcmVzLm5leHQodHJhbnNWYWwpO1xuICAgICAgICAgICAgICB0aGlzLmxDYWNoZVMuc2V0SXRlbShjYWNoZUtleSwgdHJhbnNWYWwpO1xuICAgICAgICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHJlcy5lcnJvcihlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbiAgcGxhaW5UcmFuc2xhdGUgPSAoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHNvdXJjZUxhbmd1YWdlID0gZW52aXJvbm1lbnQuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIHRleHQgPSB0ZXh0Py50cmltKCk7XG4gICAgICBjb25zdCByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG5cbiAgICAgIGlmICghdGV4dCkgcmVzb2x2ZShudWxsKTtcbiAgICAgIGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMocm91dGUgKyAnXycgKyB0ZXh0KSlcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmxDYWNoZVMuZ2V0SXRlbTxzdHJpbmc+KHJvdXRlICsgJ18nICsgdGV4dCkpO1xuICAgICAgZWxzZVxuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgICAgLnBvc3RTdHJpbmcocm91dGUsIHRleHQpXG4gICAgICAgICAgICAucGlwZSh0YXAoKHIpID0+IHRoaXMubENhY2hlUy5zZXRJdGVtKHJvdXRlICsgJ18nICsgdGV4dCwgcikpKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpLFxuICAgICAgICApO1xuICAgIH0pO1xuICB9O1xuICB0cmFuc2xhdGVIVE1MUHJvbWlzZSA9IChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgc291cmNlTGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC5zb3VyY2VMYW5ndWFnZSxcbiAgICB0YXJnZXRMYW5ndWFnZSA9IGVudmlyb25tZW50LnRhcmdldExhbmd1YWdlLFxuICAgIGRlYnVnID0gZmFsc2UsXG4gICkgPT4gdGhpcy50cmFuc2xhdGVIVE1MKHRleHQsIHNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZSwgZGVidWcpPy50b1Byb21pc2UoKTtcbn1cbiJdfQ==
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFnQixRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFGLE9BQU8sRUFBd0IsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU03RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBS25ELE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDUyxVQUFzQixFQUN0QixRQUEyQixFQUMzQixPQUEwQjtRQUYxQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBYnpCLFlBQU8sR0FBRyxXQUFXLENBQUMsVUFBVSxHQUFHLG9CQUFvQixDQUFDO1FBQy9DLDZCQUF3QixHQUFHLE1BQU0sQ0FBMEIsRUFBRSxDQUFDLENBQUM7UUFDeEUsOEJBQXlCLEdBQ2pDLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUlULE9BQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUEwRnJDLGtCQUFhLEdBQUcsQ0FDZCxVQUFrQixF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QUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ25CLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLFVBQVUsQ0FDVCxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUN2RCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNkLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUN4QjthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVcsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs4R0FuR1Usa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgaW50ZXJ2YWwsIGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEVMYW5ndWFnZSB9IGZyb20gJy4uL1NoYXJlZC9tb2RlbHMvaW5kZXgubW9kZWwnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxDYWNoZVNlcnZpY2UgfSBmcm9tICcuL2NhY2hlL2xvY2FsLWNhY2hlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRVRTU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uU2VydmljZTxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2UgPSBhbnk+IHtcbiAgcHJvdGVjdGVkIGJhc2VVUkwgPSBlbnZpcm9ubWVudC5hcGlCYXNlVXJsICsgJy9yZXN0L3RyYW5zbGF0aW9uLyc7XG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGlvblJlcXVlc3RNYXRyaXggPSBzaWduYWw8eyBbeDogbnVtYmVyXTogc3RyaW5nIH0+KHt9KTtcbiAgcHJvdGVjdGVkIHRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXg6IEJlaGF2aW9yU3ViamVjdDx7IFt4OiBudW1iZXJdOiBzdHJpbmcgfT4gPVxuICAgIG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICByZWFkb25seSBzZXBlcmF0b3IgPSAnfn5+JztcbiAgbmFtZSA9ICdnbG9zc2FyeSc7XG4gIHNvdXJjZUxhbmd1YWdlOiBFTGFuZ3VhZ2U7XG4gIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2U7XG4gIHRyYW5zR2xvc3Nhcnk7XG4gIHJlYWRvbmx5IHVTID0gaW5qZWN0KFV0aWxpdHlTZXJ2aWNlKTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgcHVibGljIHN0b3JhZ2VTOiBFVFNTdG9yYWdlU2VydmljZSxcbiAgICBwdWJsaWMgbENhY2hlUzogTG9jYWxDYWNoZVNlcnZpY2UsXG4gICkge1xuICAgIGludGVydmFsKDEwMDApLnBpcGUoXG4gICAgICB0YXAoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBib2R5ID0gY2xvbmUodGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXgoKSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRpb25SZXF1ZXN0TWF0cml4LnNldCh7fSk7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyhib2R5KT8ubGVuZ3RoKSB7XG4gICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgY29uc3QgdHJhbnNHbG9zc2FyeSA9IHRoaXMudHJhbnNHbG9zc2FyeSB8fCAoYXdhaXQgdGhpcy5nZXRHbG9zc2FyeSgpLnRvUHJvbWlzZSgpKTtcbiAgICAgICAgICBpZiAodGhpcy5zb3VyY2VMYW5ndWFnZSAhPSB0aGlzLnRhcmdldExhbmd1YWdlKVxuICAgICAgICAgICAgbGFzdFZhbHVlRnJvbShcbiAgICAgICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLnBvc3RTdHJpbmcoXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlVVJMICtcbiAgICAgICAgICAgICAgICAgICh0aGlzLnRyYW5zR2xvc3Nhcnk/LmNvZGVcbiAgICAgICAgICAgICAgICAgICAgPyBgbGFuZ3VhZ2U/Z2xvc3NhcnlDb2RlPSR7dGhpcy50cmFuc0dsb3NzYXJ5Py5jb2RlfSZzb3VyY2VMYW5nPSR7dGhpcy5zb3VyY2VMYW5ndWFnZX0mdGFyZ2V0TGFuZz0ke3RoaXMudGFyZ2V0TGFuZ3VhZ2V9YFxuICAgICAgICAgICAgICAgICAgICA6IGBsYW5ndWFnZS8ke3RoaXMudGFyZ2V0TGFuZ3VhZ2V9YCksXG4gICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoYm9keSlcbiAgICAgICAgICAgICAgICAgIC5tYXAoKGlkKSA9PiB0aGlzLnRhZ2dlcigraWQsIGJvZHlbaWRdKSlcbiAgICAgICAgICAgICAgICAgIC5qb2luKHRoaXMuc2VwZXJhdG9yKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLnRoZW4oKHIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uUmVzcG9uc2VNYXRyaXgubmV4dCh0aGlzLmRldGFnZ2VyKHIpKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICB0YWdnZXIoaWQ6IG51bWJlciwgc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYDxkaXYgaWQ9XCIke2lkfVwiPiR7c3RyfTwvZGl2PmA7XG4gIH1cbiAgZ2V0R2xvc3NhcnkoXG4gICAgc291cmNlTGFuZ3VhZ2U6IEVMYW5ndWFnZSA9IGVudmlyb25tZW50LnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlOiBFTGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgKSB7XG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IHNvdXJjZUxhbmd1YWdlIHx8IHRoaXMuc291cmNlTGFuZ3VhZ2U7XG4gICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlIHx8IHRoaXMudGFyZ2V0TGFuZ3VhZ2U7XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldDxUcmFuc2xhdGlvbkdsb3NzYXJ5UmVzcG9uc2VbXT4oYCR7dGhpcy5iYXNlVVJMfWdsb3NzYXJ5L2ApLnBpcGUoXG4gICAgICBtYXAoKHI6IGFueVtdKSA9PiB7XG4gICAgICAgIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCBnbG9zc2FyeSA9IHI/LmZpbmQoXG4gICAgICAgICAgKHgpID0+XG4gICAgICAgICAgICB4LnNvdXJjZUxhbmcgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJlxuICAgICAgICAgICAgeC50YXJnZXRMYW5nID09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UgJiZcbiAgICAgICAgICAgIHgubmFtZSA9PSB0aGlzLm5hbWUsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBnbG9zc2FyeSA/IGdsb3NzYXJ5IDogbnVsbDtcbiAgICAgIH0pLFxuICAgICAgbWFwKChnbG9zc2FyeSkgPT4ge1xuICAgICAgICBpZiAoIWdsb3NzYXJ5KSByZXR1cm4gbnVsbDtcbiAgICAgICAgdGhpcy50cmFuc0dsb3NzYXJ5ID0gZW52aXJvbm1lbnQudHJhbnNHbG9zc2FyeSA9IGdsb3NzYXJ5O1xuICAgICAgICB0aGlzLnN0b3JhZ2VTLnNhdmVJdGVtKGVudmlyb25tZW50LnRyYW5zR2xvc3NhcnlLZXksIHRoaXMudHJhbnNHbG9zc2FyeSk7XG4gICAgICAgIHJldHVybiBnbG9zc2FyeTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbiAgZGV0YWdnZXIoc3RyOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpdGVtcyA9IHN0cj8uc3BsaXQodGhpcy5zZXBlcmF0b3IpO1xuICAgIGNvbnN0IHJlc29iaiA9IHt9O1xuICAgIGZvciAoY29uc3Qgc3RyIG9mIGl0ZW1zKSB7XG4gICAgICByZXNvYmpbc3RyPy5zcGxpdCgnXCInKVsxXV0gPSBzdHI/LnNwbGl0KCc+JylbMV0/LnNwbGl0KCc8L2RpdicpWzBdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2JqO1xuICB9XG5cbiAgdHJuYXNsYXRlT2xkKHRleHQ6IHN0cmluZykge1xuICAgIGNvbnN0IGlkID0gMzIzMjMyMztcbiAgICBjb25zdCBib2R5ID0geyBbaWRdOiB0ZXh0IH07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RTdHJpbmcoXG4gICAgICAgIHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZS8ke2Vudmlyb25tZW50LnRhcmdldExhbmd1YWdlfWAsXG4gICAgICAgIE9iamVjdC5rZXlzKGJvZHkpXG4gICAgICAgICAgLm1hcCgoaWQpID0+IHRoaXMudGFnZ2VyKCtpZCwgYm9keVtpZF0pKVxuICAgICAgICAgIC5qb2luKHRoaXMuc2VwZXJhdG9yKSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHIpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5kZXRhZ2dlcihyKVtpZF0gYXMgc3RyaW5nO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cbiAgdHJhbnNsYXRlSFRNTCA9IChcbiAgICBIVE1MU3RyaW5nOiBzdHJpbmcsXG4gICAgc291cmNlTGFuZ3VhZ2UgPSB0aGlzLnNvdXJjZUxhbmd1YWdlLFxuICAgIHRhcmdldExhbmd1YWdlID0gdGhpcy50YXJnZXRMYW5ndWFnZSxcbiAgICBkZWJ1ZyA9IGZhbHNlLFxuICApID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPigocmVzKSA9PiB7XG4gICAgICBpZiAoZGVidWcpIGRlYnVnZ2VyO1xuXG4gICAgICBjb25zdCB0ZXh0ID0gSFRNTFN0cmluZz8udHJpbSgpLFxuICAgICAgICByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG4gICAgICBjb25zdCBjYWNoZUtleSA9IHJvdXRlICsgJ18nICsgdGFyZ2V0TGFuZ3VhZ2UgKyAnXycgKyB0ZXh0O1xuICAgICAgaWYgKCF0ZXh0KSB7XG4gICAgICAgIHJlcy5uZXh0KEhUTUxTdHJpbmcpO1xuICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5sQ2FjaGVTLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgICAgcmVzLm5leHQodGhpcy5sQ2FjaGVTLmdldEl0ZW08c3RyaW5nPihjYWNoZUtleSkpO1xuICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGlkID0gdGhpcy51Uy5nZW5lcmF0ZVVVSUQoKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblJlcXVlc3RNYXRyaXgudXBkYXRlKChtYXApID0+ICh7IC4uLm1hcCwgW2lkXTogdGV4dCB9KSk7XG4gICAgICAgIGNvbnN0IHN1YjogU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGlvblJlc3BvbnNlTWF0cml4LnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHIpID0+IHtcbiAgICAgICAgICAgIGlmIChkZWJ1ZykgZGVidWdnZXI7XG4gICAgICAgICAgICBjb25zdCB0cmFuc1ZhbCA9IHJbaWQudG9TdHJpbmcoKV07XG4gICAgICAgICAgICBpZiAodHJhbnNWYWwpIHtcbiAgICAgICAgICAgICAgcmVzLm5leHQodHJhbnNWYWwpO1xuICAgICAgICAgICAgICB0aGlzLmxDYWNoZVMuc2V0SXRlbShjYWNoZUtleSwgdHJhbnNWYWwpO1xuICAgICAgICAgICAgICByZXMuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgICAgIHJlcy5lcnJvcihlKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbiAgcGxhaW5UcmFuc2xhdGUgPSAoXG4gICAgdGV4dDogc3RyaW5nLFxuICAgIHNvdXJjZUxhbmd1YWdlID0gZW52aXJvbm1lbnQuc291cmNlTGFuZ3VhZ2UsXG4gICAgdGFyZ2V0TGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC50YXJnZXRMYW5ndWFnZSxcbiAgKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIHRleHQgPSB0ZXh0Py50cmltKCk7XG4gICAgICBjb25zdCByb3V0ZSA9IHRoaXMuYmFzZVVSTCArIGBsYW5ndWFnZWA7XG5cbiAgICAgIGlmICghdGV4dCkgcmVzb2x2ZShudWxsKTtcbiAgICAgIGVsc2UgaWYgKHRoaXMubENhY2hlUy5oYXMocm91dGUgKyAnXycgKyB0ZXh0KSlcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmxDYWNoZVMuZ2V0SXRlbTxzdHJpbmc+KHJvdXRlICsgJ18nICsgdGV4dCkpO1xuICAgICAgZWxzZVxuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIGF3YWl0IHRoaXMuYXBpU2VydmljZVxuICAgICAgICAgICAgLnBvc3RTdHJpbmcocm91dGUsIHRleHQpXG4gICAgICAgICAgICAucGlwZSh0YXAoKHIpID0+IHRoaXMubENhY2hlUy5zZXRJdGVtKHJvdXRlICsgJ18nICsgdGV4dCwgcikpKVxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpLFxuICAgICAgICApO1xuICAgIH0pO1xuICB9O1xuICB0cmFuc2xhdGVIVE1MUHJvbWlzZSA9IChcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgc291cmNlTGFuZ3VhZ2UgPSBlbnZpcm9ubWVudC5zb3VyY2VMYW5ndWFnZSxcbiAgICB0YXJnZXRMYW5ndWFnZSA9IGVudmlyb25tZW50LnRhcmdldExhbmd1YWdlLFxuICAgIGRlYnVnID0gZmFsc2UsXG4gICkgPT4gdGhpcy50cmFuc2xhdGVIVE1MKHRleHQsIHNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZSwgZGVidWcpPy50b1Byb21pc2UoKTtcbn1cbiJdfQ==