@sabstravtech/obtservices 0.2.2409261200 → 0.2.2409261530

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.
@@ -180,4 +180,4 @@ export const makeDraftManagamentInfo = (miItem, basketService) => {
180
180
  }
181
181
  return null;
182
182
  };
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZnQtbWFuYWdlbWVudC1pbmZvLWFuZC12YWxpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3IvY2xhc3Nlcy9kcmFmdC1tYW5hZ2VtZW50LWluZm8tYW5kLXZhbGlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsR0FBRyxFQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQU9MLDRCQUE0QixHQU03QixNQUFNLHdCQUF3QixDQUFDO0FBSWhDLE1BQU0sT0FBZ0IsNkJBQ3BCLFNBQVEsZ0JBQWdCO0lBd0N4QixZQUFzQixjQUE4QjtRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQWhDVixjQUFjO1FBQ2QsY0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQW1DMUUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQThCbEIsZ0VBQWdFO1FBRWhFLFdBQU0sR0FBRyxDQUFDLEtBQXlCLEVBQW1CLEVBQUU7WUFDdEQsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBckNBLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsMENBQTBDO0lBQ2pGLENBQUM7SUFoQ3dFLENBQUM7SUFlakIsQ0FBQztJQUsxRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsR0FBeUM7UUFDakQsSUFBSSxDQUFDLFFB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QUFNLENBQUMsQ0FBQztRQUNqRCxLQUFLLDRCQUE0QixDQUFDLFdBQVc7WUFDekMsT0FBTyxJQUFJLDZCQUE2QixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNwRSxLQUFLLDRCQUE0QixDQUFDLFFBQVE7WUFDeEMsT0FBTyxJQUFJLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNoRTtZQUNFLE1BQU0sR0FBRyxHQUFpQyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzdCO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBzd2l0Y2hNYXAsXG4gIHRhcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWYWxpZGF0b3JDaGVja2VyIH0gZnJvbSAnLi92YWxpZGF0b3IuY2hlY2tlcic7XG5pbXBvcnQgeyBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSWVudGVycHJpc2UtYmFza2V0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRmllbGRXcmFwcGVyLFxuICBNYW5hZ2VtZW50SW5mbyxcbiAgTWFuYWdlbWVudEluZm9WYWx1ZSxcbiAgTWF5YmUsXG4gIFNjYWxhcnMsXG4gIFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSxcbiAgTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbixcbiAgTWFuYWdlbWVudEluZm9TY29wZSxcbiAgU2VydmljZVR5cGUsXG4gIE1hbmFnZW1lbnRJbmZvVHJpZ2dlcixcbiAgQmFza2V0SXRlbU1hbmFnZW1lbnRJbmZvLFxuICBVc2VyT3JHdWVzdCxcbn0gZnJvbSAnLi4vdHlwZXMvZ3JhcGhxbC50eXBlcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEcmFmdE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZFxuICBleHRlbmRzIFZhbGlkYXRvckNoZWNrZXJcbiAgaW1wbGVtZW50cyBNYW5hZ2VtZW50SW5mbyB7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVpUHJlc2VudGF0aW9uOiBGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbj47XG4gIHZhbHVlTWFzaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhdmFpbGFibGVWYWx1ZXM6IEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+O1xuXG4gIC8vIGV4dHJhRmllbGRzXG4gIGlzTG9hZGluZzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGF2YWlsYWJsZUl0ZW1zPzogIE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+Pjs7XG5cbiAgYXNzaWdubWVudE1hbmFnZW1lbnRJbmZvSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGNvbmRpdGlvbmFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb3JkZXJPblNjcmVlbkZvclNlcnZpY2U6RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgcGFyZW50TWFuYWdlbWVudEluZm9JZDpGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+XG4gIHNjb3BlOiBGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9TY29wZT47XG4gIHNlcnZpY2VJZDpGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47IFxuICBzZXJ2aWNlVHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgdHJpZ2dlcmVkQnk6QXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVHJpZ2dlcj4+OyBcbiAgdHJpZ2dlcnM6QXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVHJpZ2dlcj4+O1xuICBzZWxlY3RlZFZhbHVlOkZpZWxkV3JhcHBlcjxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWU+O1xuICBhc3NvY2lhdGVkVXNlck9yR3Vlc3Q6RmllbGRXcmFwcGVyPFVzZXJPckd1ZXN0PjtcbiAgcmVxdWlyZWQ6RmllbGRXcmFwcGVyPGJvb2xlYW4+O1xuICB2YWx1ZUVkaXRhYmxlOkZpZWxkV3JhcHBlcjxib29sZWFuPjtcbiAgb2J0QWRkaXRpb25hbE1lc3NhZ2VzOkFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTdHJpbmc+Pj47O1xuICByZWFzb25LZXlzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcblxuXG5cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyAgfCBTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWV7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZyB8IFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSkge1xuICAgIHRoaXMuc2V0VmFsdWUodmFsKTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKG1hbmFnZW1lbnRJbmZvOiBNYW5hZ2VtZW50SW5mbykge1xuICAgIHN1cGVyKCk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBtYW5hZ2VtZW50SW5mbyk7IC8vIFRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IGNhbGwgX2lzVmFsaWQoKVxuICB9XG5cbiAgX3JlYWRPbmx5ID0gZmFsc2U7XG5cbiAgc2V0IHJlYWRPbmx5KHZhbHVlOmJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkT25seSA9IHZhbHVlO1xuICAgfVxuXG4gIGdldCByZWFkT25seSgpOmJvb2xlYW4ge1xuICAgcmV0dXJuIHRoaXMuX3JlYWRPbmx5O1xuICB9XG5cbiAgcmVhc29uOiBib29sZWFuO1xuICBlbmZvcmNlVXNlckRlZmF1bHQ/OiBib29sZWFuO1xuXG5cbiAgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubWFuZGF0b3J5IHx8ICEhdGhpcy5zZWxlY3RlZFZhbHVlO1xuICB9XG5cbiAgaGFzRXJyb3JzKHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVzb2x2ZShcbiAgICAgICAgdGhpcy5tYW5kYXRvcnkgJiYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT09IDApXG4gICAgICAgICAgPyB7IGhhc0Vycm9yczogdHJ1ZSB9XG4gICAgICAgICAgOiBudWxsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0VmFsdWUoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBzZXRWYWx1ZSh2YWw6IHN0cmluZyB8IFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSk6IHZvaWQ7XG4gIC8vIGFic3RyYWN0IHNldHVwZGF0ZWRBdmFsaWFibGUodmFsOiBNYW5hZ2VtZW50SW5mb1ZhbHVlKTogdm9pZDtcblxuICBzZWFyY2ggPSAodGVybXM6IE9ic2VydmFibGU8c3RyaW5nPik6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfTtcblxufVxuXG5jbGFzcyBGcmVlVGV4dERyYWZ0TWFuYWdlbWVudEluZm8gZXh0ZW5kcyBEcmFmdE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1pSXRlbTogTWFuYWdlbWVudEluZm9cbiAgKSB7XG4gICAgc3VwZXIobWlJdGVtKTtcbiAgfVxuICBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWUgPyB0aGlzLnNlbGVjdGVkVmFsdWUuZnJlZVZhbHVlIDogJyc7XG4gIH1cbiAgc2V0VmFsdWUodmFsOiBTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB2YWwgfHwgbnVsbFxuICB9XG5cbiAgYXN5bmMgaGFzRXJyb3JzKHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gcmVzb2x2ZShudWxsKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlTWFzayAmJiAhIXZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLnZhbHVlTWFzaylcbiAgICAgICAgcmVzb2x2ZShyZWdleC50ZXN0KHZhbHVlKSA/IG51bGwgOiB7IGhhc0Vycm9yczogdHJ1ZSB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIHRoaXMubWFuZGF0b3J5ID8geyBoYXNFcnJvcnM6IHRydWUgfSA6IG51bGxcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShudWxsKVxuICAgICAgfVxuICB9KVxufVxuXG4gIHNldHVwZGF0ZWRBdmFsaWFibGUoKXt9XG59XG5cbmNsYXNzIEF1dG9TdWdlc3REcmFmdE1hbmFnZW1lbnRJbmZvIGV4dGVuZHMgRHJhZnRNYW5hZ2VtZW50SW5mb0FuZElzVmFsaWQge1xuICBhdXRvU3VnZ2VzdFN1YnM6IE9ic2VydmFibGU8YW55PltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWlJdGVtOiBNYW5hZ2VtZW50SW5mbyxcbiAgICBwcml2YXRlIGJhc2tldFNlcnZpY2U6IEVudGVycHJpc2VCYXNrZXRTZXJ2aWNlSW50ZXJmYWNlLFxuICApIHtcbiAgICBzdXBlcihtaUl0ZW0pO1xuICB9XG4gIGdldFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZT8ubWFuYWdlbWVudEluZm9WYWx1ZT8uaWQ7XG4gIH1cblxuXG4gIGFzeW5jIGhhc0Vycm9ycyh2YWx1ZTogIHN0cmluZyB8IE1hbmFnZW1lbnRJbmZvVmFsdWUpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICBpZiAoIXZhbHVlIHx8ICEoPE1hbmFnZW1lbnRJbmZvVmFsdWU+dmFsdWUpPy5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMubWFuZGF0b3J5ID8geyBoYXNFcnJvcnM6IHRydWUgfSA6IG51bGxcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmICEoPE1hbmFnZW1lbnRJbmZvVmFsdWU+dmFsdWUpPy5pZCkge1xuICAgICAgcmV0dXJuIHtoYXNFcnJvcnM6dHJ1ZX1cbiAgICB9XG4gIH1cblxuICBzZXRWYWx1ZShtYW5hZ2VWYWw6IFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG1hbmFnZVZhbD8uc2VsZWN0aW9uSWQgPyBtYW5hZ2VWYWwgOiBudWxsO1xuICAgIH1cblxuXG4gIHNlYXJjaCA9ICh0ZXJtczogT2JzZXJ2YWJsZTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxNYW5hZ2VtZW50SW5mb1ZhbHVlW10+ID0+IHtcbiAgICByZXR1cm4gdGVybXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IG9iID1cbiAgICAgICAgICB0ZXJtLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gdGhpcy5iYXNrZXRTZXJ2aWNlLmdldE1pQXV0b1N1Z2VzdGlvbnMoXG4gICAgICAgICAgICAgIHRoaXMuaWQsXG4gICAgICAgICAgICAgIHRlcm0sXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLFxuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VJZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZih0aGlzLmF2YWlsYWJsZUl0ZW1zKTtcblxuICAgICAgICByZXR1cm4gb2I7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoc3VnZXN0aW9uczogTWFuYWdlbWVudEluZm9WYWx1ZVtdKSA9PiB7XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlSXRlbXMgPSBzdWdlc3Rpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9O1xuXG4gIHNlYXJjaE5vSGFzaCA9ICh0ZXJtczogT2JzZXJ2YWJsZTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxNYW5hZ2VtZW50SW5mb1ZhbHVlW10+ID0+IHtcbiAgICByZXR1cm4gdGVybXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IG9iID1cbiAgICAgICAgICB0ZXJtLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gdGhpcy5iYXNrZXRTZXJ2aWNlLmdldE1pQXV0b1N1Z2VzdGlvbnMoXG4gICAgICAgICAgICAgIHRoaXMuaWQsXG4gICAgICAgICAgICAgIHRlcm0sXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLFxuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VJZCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YodGhpcy5hdmFpbGFibGVJdGVtcyk7XG5cbiAgICAgICAgcmV0dXJuIG9iO1xuICAgICAgfSksXG4gICAgICB0YXAoKHN1Z2VzdGlvbnM6IE1hbmFnZW1lbnRJbmZvVmFsdWVbXSkgPT4ge1xuICAgICAgICB0aGlzLmF2YWlsYWJsZUl0ZW1zID0gc3VnZXN0aW9ucztcbiAgICAgIH0pXG4gICAgKTtcbiAgfTtcblxufVxuXG5jbGFzcyBEcm9wZG93bkRyYWZ0TWFuYWdlbWVudEluZm8gZXh0ZW5kcyBEcmFmdE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1pSXRlbTogTWFuYWdlbWVudEluZm8sXG4gICAgcHJpdmF0ZSBiYXNrZXRTZXJ2aWNlOiBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZSkge1xuICAgIHN1cGVyKG1pSXRlbSk7XG4gICAgaWYgKHRoaXMuYXZhaWxhYmxlVmFsdWVzPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZUl0ZW1zID0gdGhpcy5hdmFpbGFibGVWYWx1ZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGhlcmUgaXMgd2hlcmUgdGhlIG1vZGFsIG5lZWRzIHRvIGJlXG4gICAgICB0aGlzLmJhc2tldFNlcnZpY2Uuc2hvd0Vycm9yTW9kYWwoKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIHZhbHVlcyBmb3IgRHJvcGRvd24gTUkgZmllbGQgICcpO1xuICAgIH1cbiAgfVxuXG5cbiAgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlID8gdGhpcy5zZWxlY3RlZFZhbHVlLm1hbmFnZW1lbnRJbmZvVmFsdWU/LmlkIDogJ19fTk9ORSc7XG4gIH1cblxuICBhc3luYyBoYXNFcnJvcnMoaWQ6IHN0cmluZyk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycz4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gIXRoaXMuYXZhaWxhYmxlSXRlbXM/LmZpbmQoKHZhbHVlMTogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUxLmlkID09PSBpZDtcbiAgICAgIH0pICYmIHRoaXMubWFuZGF0b3J5XG4gICAgICAgID8geyBoYXNFcnJvcnM6IHRydWUgfVxuICAgICAgICA6IG51bGw7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUpOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFZhbHVlOiBNYW5hZ2VtZW50SW5mb1ZhbHVlID0gdGhpcy5hdmFpbGFibGVJdGVtcz8uZmluZChcbiAgICAgICAgKHZhbHVlMTogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4ge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTEuaWQgPT09IHZhbHVlPy5tYW5hZ2VtZW50SW5mb1ZhbHVlPy5pZDtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGlmICghIXNlbGVjdGVkVmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IG1ha2VEcmFmdE1hbmFnYW1lbnRJbmZvID0gKFxuICBtaUl0ZW06IE1hbmFnZW1lbnRJbmZvLFxuICBiYXNrZXRTZXJ2aWNlOiBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZSxcbik6IERyYWZ0TWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkID0+IHtcbiAgc3dpdGNoIChtaUl0ZW0udWlQcmVzZW50YXRpb24pIHtcbiAgICBjYXNlIE1hbmFnZW1lbnRJbmZvVWlQcmVzZW50YXRpb24uRnJlZVRleHQ6XG4gICAgICByZXR1cm4gbmV3IEZyZWVUZXh0RHJhZnRNYW5hZ2VtZW50SW5mbyhtaUl0ZW0pO1xuICAgIGNhc2UgTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbi5BdXRvU3VnZ2VzdDpcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRvU3VnZXN0RHJhZnRNYW5hZ2VtZW50SW5mbyhtaUl0ZW0sIGJhc2tldFNlcnZpY2UpO1xuICAgIGNhc2UgTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbi5Ecm9wZG93bjpcbiAgICAgIHJldHVybiBuZXcgRHJvcGRvd25EcmFmdE1hbmFnZW1lbnRJbmZvKG1pSXRlbSwgYmFza2V0U2VydmljZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbnN0IHRtcDogTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbiA9IG1pSXRlbS51aVByZXNlbnRhdGlvbjtcbiAgICAgIGNvbnNvbGUubG9nKCdlcnJvcicsIHRtcCk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZnQtbWFuYWdlbWVudC1pbmZvLWFuZC12YWxpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3IvY2xhc3Nlcy9kcmFmdC1tYW5hZ2VtZW50LWluZm8tYW5kLXZhbGlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsR0FBRyxFQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQU9MLDRCQUE0QixHQU03QixNQUFNLHdCQUF3QixDQUFDO0FBSWhDLE1BQU0sT0FBZ0IsNkJBQ3BCLFNBQVEsZ0JBQWdCO0lBd0N4QixZQUFzQixjQUE4QjtRQUNsRCxLQUFLLEVBQUUsQ0FBQztRQWhDVixjQUFjO1FBQ2QsY0FBUyxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQW1DMUUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQThCbEIsZ0VBQWdFO1FBRWhFLFdBQU0sR0FBRyxDQUFDLEtBQXlCLEVBQW1CLEVBQUU7WUFDdEQsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBckNBLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsMENBQTBDO0lBQ2pGLENBQUM7SUFoQ3dFLENBQUM7SUFlakIsQ0FBQztJQUsxRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsR0FBeUM7UUFDakQsSUFBSSxDQUFDLFFB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QUFNLENBQUMsQ0FBQztRQUNqRCxLQUFLLDRCQUE0QixDQUFDLFdBQVc7WUFDekMsT0FBTyxJQUFJLDZCQUE2QixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNwRSxLQUFLLDRCQUE0QixDQUFDLFFBQVE7WUFDeEMsT0FBTyxJQUFJLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNoRTtZQUNFLE1BQU0sR0FBRyxHQUFpQyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBQzdCO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBzd2l0Y2hNYXAsXG4gIHRhcFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBWYWxpZGF0b3JDaGVja2VyIH0gZnJvbSAnLi92YWxpZGF0b3IuY2hlY2tlcic7XG5pbXBvcnQgeyBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSWVudGVycHJpc2UtYmFza2V0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRmllbGRXcmFwcGVyLFxuICBNYW5hZ2VtZW50SW5mbyxcbiAgTWFuYWdlbWVudEluZm9WYWx1ZSxcbiAgTWF5YmUsXG4gIFNjYWxhcnMsXG4gIFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSxcbiAgTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbixcbiAgTWFuYWdlbWVudEluZm9TY29wZSxcbiAgU2VydmljZVR5cGUsXG4gIE1hbmFnZW1lbnRJbmZvVHJpZ2dlcixcbiAgQmFza2V0SXRlbU1hbmFnZW1lbnRJbmZvLFxuICBVc2VyT3JHdWVzdCxcbn0gZnJvbSAnLi4vdHlwZXMvZ3JhcGhxbC50eXBlcyc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEcmFmdE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZFxuICBleHRlbmRzIFZhbGlkYXRvckNoZWNrZXJcbiAgaW1wbGVtZW50cyBNYW5hZ2VtZW50SW5mbyB7XG4gIGlkOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47XG4gIG1hbmRhdG9yeTogRmllbGRXcmFwcGVyPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG5hbWU6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHVpUHJlc2VudGF0aW9uOiBGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbj47XG4gIHZhbHVlTWFzaz86IE1heWJlPEZpZWxkV3JhcHBlcjxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBhdmFpbGFibGVWYWx1ZXM6IEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+O1xuXG4gIC8vIGV4dHJhRmllbGRzXG4gIGlzTG9hZGluZzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIGF2YWlsYWJsZUl0ZW1zPzogIE1heWJlPEFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxNYW5hZ2VtZW50SW5mb1ZhbHVlPj4+Pjs7XG5cbiAgYXNzaWdubWVudE1hbmFnZW1lbnRJbmZvSWQ6IEZpZWxkV3JhcHBlcjxTY2FsYXJzWydJbnQnXT47XG4gIGNvbmRpdGlvbmFsOiBGaWVsZFdyYXBwZXI8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgb3JkZXJPblNjcmVlbkZvclNlcnZpY2U6RmllbGRXcmFwcGVyPFNjYWxhcnNbJ0ludCddPjtcbiAgcGFyZW50TWFuYWdlbWVudEluZm9JZDpGaWVsZFdyYXBwZXI8U2NhbGFyc1snSW50J10+XG4gIHNjb3BlOiBGaWVsZFdyYXBwZXI8TWFuYWdlbWVudEluZm9TY29wZT47XG4gIHNlcnZpY2VJZDpGaWVsZFdyYXBwZXI8U2NhbGFyc1snSUQnXT47IFxuICBzZXJ2aWNlVHlwZTogRmllbGRXcmFwcGVyPFNlcnZpY2VUeXBlPjtcbiAgdHJpZ2dlcmVkQnk6QXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVHJpZ2dlcj4+OyBcbiAgdHJpZ2dlcnM6QXJyYXk8RmllbGRXcmFwcGVyPE1hbmFnZW1lbnRJbmZvVHJpZ2dlcj4+O1xuICBzZWxlY3RlZFZhbHVlOkZpZWxkV3JhcHBlcjxTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWU+O1xuICBhc3NvY2lhdGVkVXNlck9yR3Vlc3Q6RmllbGRXcmFwcGVyPFVzZXJPckd1ZXN0PjtcbiAgcmVxdWlyZWQ6RmllbGRXcmFwcGVyPGJvb2xlYW4+O1xuICB2YWx1ZUVkaXRhYmxlOkZpZWxkV3JhcHBlcjxib29sZWFuPjtcbiAgb2J0QWRkaXRpb25hbE1lc3NhZ2VzOkFycmF5PE1heWJlPEZpZWxkV3JhcHBlcjxTdHJpbmc+Pj47O1xuICByZWFzb25LZXlzOiBBcnJheTxGaWVsZFdyYXBwZXI8U2NhbGFyc1snU3RyaW5nJ10+PjtcblxuXG5cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZyB8IFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSkge1xuICAgIHRoaXMuc2V0VmFsdWUodmFsKTtcbiAgfVxuXG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKG1hbmFnZW1lbnRJbmZvOiBNYW5hZ2VtZW50SW5mbykge1xuICAgIHN1cGVyKCk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBtYW5hZ2VtZW50SW5mbyk7IC8vIFRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IGNhbGwgX2lzVmFsaWQoKVxuICB9XG5cbiAgX3JlYWRPbmx5ID0gZmFsc2U7XG5cbiAgc2V0IHJlYWRPbmx5KHZhbHVlOmJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkT25seSA9IHZhbHVlO1xuICAgfVxuXG4gIGdldCByZWFkT25seSgpOmJvb2xlYW4ge1xuICAgcmV0dXJuIHRoaXMuX3JlYWRPbmx5O1xuICB9XG5cbiAgcmVhc29uOiBib29sZWFuO1xuICBlbmZvcmNlVXNlckRlZmF1bHQ/OiBib29sZWFuO1xuXG5cbiAgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubWFuZGF0b3J5IHx8ICEhdGhpcy5zZWxlY3RlZFZhbHVlO1xuICB9XG5cbiAgaGFzRXJyb3JzKHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVzb2x2ZShcbiAgICAgICAgdGhpcy5tYW5kYXRvcnkgJiYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT09IDApXG4gICAgICAgICAgPyB7IGhhc0Vycm9yczogdHJ1ZSB9XG4gICAgICAgICAgOiBudWxsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgYWJzdHJhY3QgZ2V0VmFsdWUoKTogc3RyaW5nO1xuICBhYnN0cmFjdCBzZXRWYWx1ZSh2YWw6IHN0cmluZyB8IFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSk6IHZvaWQ7XG4gIC8vIGFic3RyYWN0IHNldHVwZGF0ZWRBdmFsaWFibGUodmFsOiBNYW5hZ2VtZW50SW5mb1ZhbHVlKTogdm9pZDtcblxuICBzZWFyY2ggPSAodGVybXM6IE9ic2VydmFibGU8c3RyaW5nPik6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfTtcblxufVxuXG5jbGFzcyBGcmVlVGV4dERyYWZ0TWFuYWdlbWVudEluZm8gZXh0ZW5kcyBEcmFmdE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1pSXRlbTogTWFuYWdlbWVudEluZm9cbiAgKSB7XG4gICAgc3VwZXIobWlJdGVtKTtcbiAgfVxuICBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWUgPyB0aGlzLnNlbGVjdGVkVmFsdWUuZnJlZVZhbHVlIDogJyc7XG4gIH1cbiAgc2V0VmFsdWUodmFsOiBTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB2YWwgfHwgbnVsbFxuICB9XG5cbiAgYXN5bmMgaGFzRXJyb3JzKHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgLy8gcmVzb2x2ZShudWxsKTtcbiAgICAgIGlmICh0aGlzLnZhbHVlTWFzayAmJiAhIXZhbHVlKSB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCh0aGlzLnZhbHVlTWFzaylcbiAgICAgICAgcmVzb2x2ZShyZWdleC50ZXN0KHZhbHVlKSA/IG51bGwgOiB7IGhhc0Vycm9yczogdHJ1ZSB9KTtcbiAgICAgIH0gZWxzZSBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXNvbHZlKFxuICAgICAgICAgIHRoaXMubWFuZGF0b3J5ID8geyBoYXNFcnJvcnM6IHRydWUgfSA6IG51bGxcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShudWxsKVxuICAgICAgfVxuICB9KVxufVxuXG4gIHNldHVwZGF0ZWRBdmFsaWFibGUoKXt9XG59XG5cbmNsYXNzIEF1dG9TdWdlc3REcmFmdE1hbmFnZW1lbnRJbmZvIGV4dGVuZHMgRHJhZnRNYW5hZ2VtZW50SW5mb0FuZElzVmFsaWQge1xuICBhdXRvU3VnZ2VzdFN1YnM6IE9ic2VydmFibGU8YW55PltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbWlJdGVtOiBNYW5hZ2VtZW50SW5mbyxcbiAgICBwcml2YXRlIGJhc2tldFNlcnZpY2U6IEVudGVycHJpc2VCYXNrZXRTZXJ2aWNlSW50ZXJmYWNlLFxuICApIHtcbiAgICBzdXBlcihtaUl0ZW0pO1xuICB9XG4gIGdldFZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZT8ubWFuYWdlbWVudEluZm9WYWx1ZT8uaWQ7XG4gIH1cblxuXG4gIGFzeW5jIGhhc0Vycm9ycyh2YWx1ZTogIHN0cmluZyB8IE1hbmFnZW1lbnRJbmZvVmFsdWUpOiBQcm9taXNlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICBpZiAoIXZhbHVlIHx8ICEoPE1hbmFnZW1lbnRJbmZvVmFsdWU+dmFsdWUpPy5pZCkge1xuICAgICAgcmV0dXJuIHRoaXMubWFuZGF0b3J5ID8geyBoYXNFcnJvcnM6IHRydWUgfSA6IG51bGxcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmICEoPE1hbmFnZW1lbnRJbmZvVmFsdWU+dmFsdWUpPy5pZCkge1xuICAgICAgcmV0dXJuIHtoYXNFcnJvcnM6dHJ1ZX1cbiAgICB9XG4gIH1cblxuICBzZXRWYWx1ZShtYW5hZ2VWYWw6IFNlbGVjdGVkTWFuYWdlbWVudEluZm9WYWx1ZSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG1hbmFnZVZhbD8uc2VsZWN0aW9uSWQgPyBtYW5hZ2VWYWwgOiBudWxsO1xuICAgIH1cblxuXG4gIHNlYXJjaCA9ICh0ZXJtczogT2JzZXJ2YWJsZTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxNYW5hZ2VtZW50SW5mb1ZhbHVlW10+ID0+IHtcbiAgICByZXR1cm4gdGVybXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IG9iID1cbiAgICAgICAgICB0ZXJtLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gdGhpcy5iYXNrZXRTZXJ2aWNlLmdldE1pQXV0b1N1Z2VzdGlvbnMoXG4gICAgICAgICAgICAgIHRoaXMuaWQsXG4gICAgICAgICAgICAgIHRlcm0sXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLFxuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VJZFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgOiBvZih0aGlzLmF2YWlsYWJsZUl0ZW1zKTtcblxuICAgICAgICByZXR1cm4gb2I7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoc3VnZXN0aW9uczogTWFuYWdlbWVudEluZm9WYWx1ZVtdKSA9PiB7XG4gICAgICAgIHRoaXMuYXZhaWxhYmxlSXRlbXMgPSBzdWdlc3Rpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9O1xuXG4gIHNlYXJjaE5vSGFzaCA9ICh0ZXJtczogT2JzZXJ2YWJsZTxzdHJpbmc+KTogT2JzZXJ2YWJsZTxNYW5hZ2VtZW50SW5mb1ZhbHVlW10+ID0+IHtcbiAgICByZXR1cm4gdGVybXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IG9iID1cbiAgICAgICAgICB0ZXJtLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gdGhpcy5iYXNrZXRTZXJ2aWNlLmdldE1pQXV0b1N1Z2VzdGlvbnMoXG4gICAgICAgICAgICAgIHRoaXMuaWQsXG4gICAgICAgICAgICAgIHRlcm0sXG4gICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nLFxuICAgICAgICAgICAgICB0aGlzLnNlcnZpY2VJZCxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogb2YodGhpcy5hdmFpbGFibGVJdGVtcyk7XG5cbiAgICAgICAgcmV0dXJuIG9iO1xuICAgICAgfSksXG4gICAgICB0YXAoKHN1Z2VzdGlvbnM6IE1hbmFnZW1lbnRJbmZvVmFsdWVbXSkgPT4ge1xuICAgICAgICB0aGlzLmF2YWlsYWJsZUl0ZW1zID0gc3VnZXN0aW9ucztcbiAgICAgIH0pXG4gICAgKTtcbiAgfTtcblxufVxuXG5jbGFzcyBEcm9wZG93bkRyYWZ0TWFuYWdlbWVudEluZm8gZXh0ZW5kcyBEcmFmdE1hbmFnZW1lbnRJbmZvQW5kSXNWYWxpZCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1pSXRlbTogTWFuYWdlbWVudEluZm8sXG4gICAgcHJpdmF0ZSBiYXNrZXRTZXJ2aWNlOiBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZSkge1xuICAgIHN1cGVyKG1pSXRlbSk7XG4gICAgaWYgKHRoaXMuYXZhaWxhYmxlVmFsdWVzPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmF2YWlsYWJsZUl0ZW1zID0gdGhpcy5hdmFpbGFibGVWYWx1ZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGhlcmUgaXMgd2hlcmUgdGhlIG1vZGFsIG5lZWRzIHRvIGJlXG4gICAgICB0aGlzLmJhc2tldFNlcnZpY2Uuc2hvd0Vycm9yTW9kYWwoKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIHZhbHVlcyBmb3IgRHJvcGRvd24gTUkgZmllbGQgICcpO1xuICAgIH1cbiAgfVxuXG5cbiAgZ2V0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFZhbHVlID8gdGhpcy5zZWxlY3RlZFZhbHVlLm1hbmFnZW1lbnRJbmZvVmFsdWU/LmlkIDogJ19fTk9ORSc7XG4gIH1cblxuICBhc3luYyBoYXNFcnJvcnMoaWQ6IHN0cmluZyk6IFByb21pc2U8VmFsaWRhdGlvbkVycm9ycz4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gIXRoaXMuYXZhaWxhYmxlSXRlbXM/LmZpbmQoKHZhbHVlMTogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUxLmlkID09PSBpZDtcbiAgICAgIH0pICYmIHRoaXMubWFuZGF0b3J5XG4gICAgICAgID8geyBoYXNFcnJvcnM6IHRydWUgfVxuICAgICAgICA6IG51bGw7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBTZWxlY3RlZE1hbmFnZW1lbnRJbmZvVmFsdWUpOiB2b2lkIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFZhbHVlOiBNYW5hZ2VtZW50SW5mb1ZhbHVlID0gdGhpcy5hdmFpbGFibGVJdGVtcz8uZmluZChcbiAgICAgICAgKHZhbHVlMTogTWFuYWdlbWVudEluZm9WYWx1ZSkgPT4ge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTEuaWQgPT09IHZhbHVlPy5tYW5hZ2VtZW50SW5mb1ZhbHVlPy5pZDtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIGlmICghIXNlbGVjdGVkVmFsdWUpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IG1ha2VEcmFmdE1hbmFnYW1lbnRJbmZvID0gKFxuICBtaUl0ZW06IE1hbmFnZW1lbnRJbmZvLFxuICBiYXNrZXRTZXJ2aWNlOiBFbnRlcnByaXNlQmFza2V0U2VydmljZUludGVyZmFjZSxcbik6IERyYWZ0TWFuYWdlbWVudEluZm9BbmRJc1ZhbGlkID0+IHtcbiAgc3dpdGNoIChtaUl0ZW0udWlQcmVzZW50YXRpb24pIHtcbiAgICBjYXNlIE1hbmFnZW1lbnRJbmZvVWlQcmVzZW50YXRpb24uRnJlZVRleHQ6XG4gICAgICByZXR1cm4gbmV3IEZyZWVUZXh0RHJhZnRNYW5hZ2VtZW50SW5mbyhtaUl0ZW0pO1xuICAgIGNhc2UgTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbi5BdXRvU3VnZ2VzdDpcbiAgICAgICAgcmV0dXJuIG5ldyBBdXRvU3VnZXN0RHJhZnRNYW5hZ2VtZW50SW5mbyhtaUl0ZW0sIGJhc2tldFNlcnZpY2UpO1xuICAgIGNhc2UgTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbi5Ecm9wZG93bjpcbiAgICAgIHJldHVybiBuZXcgRHJvcGRvd25EcmFmdE1hbmFnZW1lbnRJbmZvKG1pSXRlbSwgYmFza2V0U2VydmljZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbnN0IHRtcDogTWFuYWdlbWVudEluZm9VaVByZXNlbnRhdGlvbiA9IG1pSXRlbS51aVByZXNlbnRhdGlvbjtcbiAgICAgIGNvbnNvbGUubG9nKCdlcnJvcicsIHRtcCk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuIl19