New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

perfume.js

Package Overview
Dependencies
Maintainers
1
Versions
157
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

perfume.js - npm Package Compare versions

Comparing version 1.1.6 to 1.1.7

2

angular/bundles/perfume.js-angular.umd.js

@@ -215,2 +215,2 @@ (function (global, factory) {

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5qcy1hbmd1bGFyLnVtZC5qcy5tYXAiLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCJuZzovL3BlcmZ1bWUuanMvYW5ndWxhci9saWIvcGVyZnVtZS5tb2R1bGUudHMiLCJuZzovL3BlcmZ1bWUuanMvYW5ndWxhci9wdWJsaWNfYXBpLnRzIiwibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvcGVyZnVtZS5qcy1hbmd1bGFyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMClcclxuICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZShyZXN1bHQudmFsdWUpOyB9KS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl0sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcclxuICAgIHJlc3VsdC5kZWZhdWx0ID0gbW9kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuIiwiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFBlcmZ1bWUsIHsgSVBlcmZ1bWVDb25maWcgfSBmcm9tICdwZXJmdW1lLmpzJztcblxuZXhwb3J0IGxldCBwZXJmdW1lO1xuXG5jb25zdCBkZWZhdWx0UGVyZnVtZUNvbmZpZyA9IHtcbiAgZmlyc3RDb250ZW50ZnVsUGFpbnQ6IGZhbHNlLFxuICBmaXJzdFBhaW50OiBmYWxzZSxcbiAgZmlyc3RJbnB1dERlbGF5OiBmYWxzZSxcbiAgdGltZVRvSW50ZXJhY3RpdmU6IGZhbHNlLFxuICBnb29nbGVBbmFseXRpY3M6IHtcbiAgICBlbmFibGU6IGZhbHNlLFxuICAgIHRpbWluZ1ZhcjogJ25hbWUnLFxuICB9LFxuICBsb2dQcmVmaXg6ICfDosKawqHDr8K4wo8gUGVyZnVtZS5qczonLFxuICBsb2dnaW5nOiB0cnVlLFxuICB3YXJuaW5nOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBQRVJGVU1FX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignUGVyZnVtZS5qcyBjb25maWcnKTtcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFBlcmZ1bWVSb290TW9kdWxlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChQRVJGVU1FX0NPTkZJRykgcHVibGljIGNvbmZpZzogSVBlcmZ1bWVDb25maWcpIHtcbiAgICBjb25zb2xlLmxvZygnUGVyZnVtZVJvb3RNb2R1bGUnLCBjb25maWcpO1xuICAgIHBlcmZ1bWUgPSBuZXcgUGVyZnVtZShjb25maWcpO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ1BlcmZ1bWUge1xuICBwZXJmdW1lOiBQZXJmdW1lO1xuICBjb25maWc6IElQZXJmdW1lQ29uZmlnO1xuICBmaXJzdFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gMDtcbiAgZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSAwO1xuICBvYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ6IFByb21pc2U8bnVtYmVyPjtcbiAgb2JzZXJ2ZUZpcnN0SW5wdXREZWxheTogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU/OiBQcm9taXNlPG51bWJlcj47XG4gIHRpbWVUb0ludGVyYWN0aXZlRHVyYXRpb24gPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY29uZmlnID0gcGVyZnVtZS5jb25maWc7XG4gICAgY29uc29sZS5sb2coJ05nUGVyZnVtZScsIHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmZpcnN0UGFpbnREdXJhdGlvbiA9IHBlcmZ1bWUuZmlyc3RQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RDb250ZW50ZnVsUGFpbnREdXJhdGlvbiA9IHBlcmZ1bWUuZmlyc3RDb250ZW50ZnVsUGFpbnREdXJhdGlvbjtcbiAgICB0aGlzLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uID0gcGVyZnVtZS5maXJzdElucHV0RGVsYXlEdXJhdGlvbjtcbiAgICB0aGlzLm9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHBlcmZ1bWUub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50O1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0SW5wdXREZWxheSA9IHBlcmZ1bWUub2JzZXJ2ZUZpcnN0SW5wdXREZWxheTtcbiAgICB0aGlzLm9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZSA9IHBlcmZ1bWUub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlO1xuICAgIHRoaXMudGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IHBlcmZ1bWUudGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbjtcbiAgfVxuXG4gIHN0YXJ0KG1ldHJpY05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHBlcmZ1bWUuc3RhcnQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB8IG51bWJlciB7XG4gICAgcmV0dXJuIHBlcmZ1bWUuZW5kKG1ldHJpY05hbWUpO1xuICB9XG5cbiAgZW5kUGFpbnQobWV0cmljTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkIHwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIHBlcmZ1bWUuZW5kUGFpbnQobWV0cmljTmFtZSk7XG4gIH1cblxuICBsb2cobWV0cmljTmFtZTogc3RyaW5nLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgcGVyZnVtZS5sb2cobWV0cmljTmFtZSwgZHVyYXRpb24pO1xuICB9XG5cbiAgc2VuZFRpbWluZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLnNlbmRUaW1pbmcobWV0cmljTmFtZSwgZHVyYXRpb24pO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVyZnVtZU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IGFueSk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUGVyZnVtZVJvb3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFBFUkZVTUVfQ09ORklHLFxuICAgICAgICAgIHVzZVZhbHVlOiB7IC4uLmRlZmF1bHRQZXJmdW1lQ29uZmlnLCAuLi5jb25maWcgfSxcbiAgICAgICAgfSxcbiAgICAgICAgTmdQZXJmdW1lLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogRGVzY3JpYmVzIGFueSBBbmd1bGFyIGNvbXBvbmVudCBjbGFzcyB0aGF0IGltcGxlbWVudHMgYEFmdGVyVmlld0luaXRgLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6aW50ZXJmYWNlLW5hbWVcbmV4cG9ydCBpbnRlcmZhY2UgQWZ0ZXJWaWV3SW5pdGFibGUge1xuICBwcm90b3R5cGU6IEFmdGVyVmlld0luaXQ7XG4gIG5ldyAoLi4uYXJnczogYW55W10pOiBBZnRlclZpZXdJbml0O1xufVxuXG4vKipcbiAqIENvbXBvbmVudCBWaWV3IEluaXQgKENWSSkgZGVjb3JhdG9yXG4gKiBNYXJrcyB0aGUgdGltZSBiZXR3ZWVuIHRoZSBjb25zdHJ1Y3RvciBpcyBpbml0aWFsaXplZCxcbiAqIGFuZCBuZ0FmdGVyVmlld0luaXQgZXhlY3V0aW9uIGVuZHMuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpmdW5jdGlvbi1uYW1lXG5leHBvcnQgZnVuY3Rpb24gUGVyZnVtZUFmdGVyVmlld0luaXQodGFyZ2V0TmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBmdW5jdGlvbiBEZWNvcmF0b3JGYWN0b3J5KHRhcmdldDogQWZ0ZXJWaWV3SW5pdGFibGUpIHtcbiAgICAvLyBUaGUgbmV3IGNvbnN0cnVjdG9yIGJlaGF2aW9yLCBzdXBwb3J0cyBBT1QgYW5kIERJXG4gICAgY29uc3QgbmV3Q29uc3RydWN0b3I6IGFueSA9IGZ1bmN0aW9uIG5ld0N0b3IoLi4uYXJncykge1xuICAgICAgcGVyZnVtZS5zdGFydCh0YXJnZXROYW1lIHx8IHRhcmdldC5uYW1lKTtcbiAgICAgIGNvbnN0IGM6IGFueSA9IGZ1bmN0aW9uIGNoaWxkQ29uc3R1Y3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIGMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcbiAgICAgIHJldHVybiBuZXcgYyguLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgLy8gVGhlIG5ldyBuZ0FmdGVyVmlld0luaXQgYmVoYXZpb3JcbiAgICBjb25zdCBuZ0FmdGVyVmlld0luaXQgPSB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdDtcbiAgICB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdCA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAgICAgbmdBZnRlclZpZXdJbml0ICYmIG5nQWZ0ZXJWaWV3SW5pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIHBlcmZ1bWUuZW5kKHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgIH07XG5cbiAgICAvLyBDb3B5IHByb3RvdHlwZSBzbyBpbnN0YW5jZW9mIG9wZXJhdG9yIHN0aWxsIHdvcmtzXG4gICAgbmV3Q29uc3RydWN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcblxuICAgIC8vIFJldHVybiBuZXcgY29uc3RydWN0b3IgKHdpbGwgb3ZlcnJpZGUgb3JpZ2luYWwpXG4gICAgcmV0dXJuIG5ld0NvbnN0cnVjdG9yO1xuICB9O1xufVxuIiwiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwZXJmdW1lXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVyZnVtZS5tb2R1bGUnO1xuIiwiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl0sIm5hbWVzIjpbIkluamVjdGlvblRva2VuIiwicGVyZnVtZSIsIk5nTW9kdWxlIiwiSW5qZWN0IiwiSW5qZWN0YWJsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7SUFBQTs7Ozs7Ozs7Ozs7Ozs7QUFjQSxJQWVPLElBQUksUUFBUSxHQUFHO1FBQ2xCLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLGtCQUFrQixDQUFDO1lBQzNDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNqRCxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixLQUFL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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5qcy1hbmd1bGFyLnVtZC5qcy5tYXAiLCJzb3VyY2VzIjpbIi4uL25vZGVfbW9kdWxlcy90c2xpYi90c2xpYi5lczYuanMiLCJuZzovL3BlcmZ1bWUuanMvYW5ndWxhci9saWIvcGVyZnVtZS5tb2R1bGUudHMiLCJuZzovL3BlcmZ1bWUuanMvYW5ndWxhci9wdWJsaWNfYXBpLnRzIiwibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvcGVyZnVtZS5qcy1hbmd1bGFyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5Db3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heSBub3QgdXNlXHJcbnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlXHJcbkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXHJcblxyXG5USElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZXHJcbktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRURcclxuV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSxcclxuTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC5cclxuXHJcblNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xyXG5hbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlICovXHJcblxyXG52YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uKGQsIGIpIHtcclxuICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcclxuICAgICAgICAoeyBfX3Byb3RvX186IFtdIH0gaW5zdGFuY2VvZiBBcnJheSAmJiBmdW5jdGlvbiAoZCwgYikgeyBkLl9fcHJvdG9fXyA9IGI7IH0pIHx8XHJcbiAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XHJcbiAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2V4dGVuZHMoZCwgYikge1xyXG4gICAgZXh0ZW5kU3RhdGljcyhkLCBiKTtcclxuICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxyXG4gICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xyXG59XHJcblxyXG5leHBvcnQgdmFyIF9fYXNzaWduID0gZnVuY3Rpb24oKSB7XHJcbiAgICBfX2Fzc2lnbiA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gX19hc3NpZ24odCkge1xyXG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xyXG4gICAgICAgICAgICBzID0gYXJndW1lbnRzW2ldO1xyXG4gICAgICAgICAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkpIHRbcF0gPSBzW3BdO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdDtcclxuICAgIH1cclxuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcclxuICAgIHZhciB0ID0ge307XHJcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcclxuICAgICAgICB0W3BdID0gc1twXTtcclxuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcclxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMClcclxuICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XHJcbiAgICByZXR1cm4gdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcclxuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xyXG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcclxuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3BhcmFtKHBhcmFtSW5kZXgsIGRlY29yYXRvcikge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX21ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlKSB7XHJcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZShyZXN1bHQudmFsdWUpOyB9KS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2dlbmVyYXRvcih0aGlzQXJnLCBib2R5KSB7XHJcbiAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xyXG4gICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XHJcbiAgICBmdW5jdGlvbiB2ZXJiKG4pIHsgcmV0dXJuIGZ1bmN0aW9uICh2KSB7IHJldHVybiBzdGVwKFtuLCB2XSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcclxuICAgICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XHJcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XHJcbiAgICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcclxuICAgICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xyXG4gICAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgNDogXy5sYWJlbCsrOyByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XHJcbiAgICAgICAgICAgICAgICBjYXNlIDU6IF8ubGFiZWwrKzsgeSA9IG9wWzFdOyBvcCA9IFswXTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHQgPSBfLnRyeXMsIHQgPSB0Lmxlbmd0aCA+IDAgJiYgdFt0Lmxlbmd0aCAtIDFdKSAmJiAob3BbMF0gPT09IDYgfHwgb3BbMF0gPT09IDIpKSB7IF8gPSAwOyBjb250aW51ZTsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7IF8ubGFiZWwgPSB0WzFdOyB0ID0gb3A7IGJyZWFrOyB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHQgJiYgXy5sYWJlbCA8IHRbMl0pIHsgXy5sYWJlbCA9IHRbMl07IF8ub3BzLnB1c2gob3ApOyBicmVhazsgfVxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcclxuICAgICAgICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7IGNvbnRpbnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHsgb3AgPSBbNiwgZV07IHkgPSAwOyB9IGZpbmFsbHkgeyBmID0gdCA9IDA7IH1cclxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTsgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fZXhwb3J0U3RhcihtLCBleHBvcnRzKSB7XHJcbiAgICBmb3IgKHZhciBwIGluIG0pIGlmICghZXhwb3J0cy5oYXNPd25Qcm9wZXJ0eShwKSkgZXhwb3J0c1twXSA9IG1bcF07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3ZhbHVlcyhvKSB7XHJcbiAgICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl0sIGkgPSAwO1xyXG4gICAgaWYgKG0pIHJldHVybiBtLmNhbGwobyk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIG5leHQ6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKG8gJiYgaSA+PSBvLmxlbmd0aCkgbyA9IHZvaWQgMDtcclxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xyXG4gICAgdmFyIG0gPSB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgb1tTeW1ib2wuaXRlcmF0b3JdO1xyXG4gICAgaWYgKCFtKSByZXR1cm4gbztcclxuICAgIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xyXG4gICAgdHJ5IHtcclxuICAgICAgICB3aGlsZSAoKG4gPT09IHZvaWQgMCB8fCBuLS0gPiAwKSAmJiAhKHIgPSBpLm5leHQoKSkuZG9uZSkgYXIucHVzaChyLnZhbHVlKTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikgeyBlID0geyBlcnJvcjogZXJyb3IgfTsgfVxyXG4gICAgZmluYWxseSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgaWYgKHIgJiYgIXIuZG9uZSAmJiAobSA9IGlbXCJyZXR1cm5cIl0pKSBtLmNhbGwoaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XHJcbiAgICBmb3IgKHZhciBhciA9IFtdLCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKylcclxuICAgICAgICBhciA9IGFyLmNvbmNhdChfX3JlYWQoYXJndW1lbnRzW2ldKSk7XHJcbiAgICByZXR1cm4gYXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2F3YWl0KHYpIHtcclxuICAgIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcclxuICAgIGlmICghU3ltYm9sLmFzeW5jSXRlcmF0b3IpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XHJcbiAgICB2YXIgZyA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSwgaSwgcSA9IFtdO1xyXG4gICAgcmV0dXJuIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuKSB7IGlmIChnW25dKSBpW25dID0gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChhLCBiKSB7IHEucHVzaChbbiwgdiwgYSwgYl0pID4gMSB8fCByZXN1bWUobiwgdik7IH0pOyB9OyB9XHJcbiAgICBmdW5jdGlvbiByZXN1bWUobiwgdikgeyB0cnkgeyBzdGVwKGdbbl0odikpOyB9IGNhdGNoIChlKSB7IHNldHRsZShxWzBdWzNdLCBlKTsgfSB9XHJcbiAgICBmdW5jdGlvbiBzdGVwKHIpIHsgci52YWx1ZSBpbnN0YW5jZW9mIF9fYXdhaXQgPyBQcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKGZ1bGZpbGwsIHJlamVjdCkgOiBzZXR0bGUocVswXVsyXSwgcik7IH1cclxuICAgIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHJlamVjdCh2YWx1ZSkgeyByZXN1bWUoXCJ0aHJvd1wiLCB2YWx1ZSk7IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShmLCB2KSB7IGlmIChmKHYpLCBxLnNoaWZ0KCksIHEubGVuZ3RoKSByZXN1bWUocVswXVswXSwgcVswXVsxXSk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fYXN5bmNEZWxlZ2F0b3Iobykge1xyXG4gICAgdmFyIGksIHA7XHJcbiAgICByZXR1cm4gaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIsIGZ1bmN0aW9uIChlKSB7IHRocm93IGU7IH0pLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpO1xyXG4gICAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlbbl0gPSBvW25dID8gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIChwID0gIXApID8geyB2YWx1ZTogX19hd2FpdChvW25dKHYpKSwgZG9uZTogbiA9PT0gXCJyZXR1cm5cIiB9IDogZiA/IGYodikgOiB2OyB9IDogZjsgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY1ZhbHVlcyhvKSB7XHJcbiAgICBpZiAoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuXCIpO1xyXG4gICAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcclxuICAgIHJldHVybiBtID8gbS5jYWxsKG8pIDogKG8gPSB0eXBlb2YgX192YWx1ZXMgPT09IFwiZnVuY3Rpb25cIiA/IF9fdmFsdWVzKG8pIDogb1tTeW1ib2wuaXRlcmF0b3JdKCksIGkgPSB7fSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiKSwgaVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9LCBpKTtcclxuICAgIGZ1bmN0aW9uIHZlcmIobikgeyBpW25dID0gb1tuXSAmJiBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2ID0gb1tuXSh2KSwgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgdi5kb25lLCB2LnZhbHVlKTsgfSk7IH07IH1cclxuICAgIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XHJcbiAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb29rZWQsIFwicmF3XCIsIHsgdmFsdWU6IHJhdyB9KTsgfSBlbHNlIHsgY29va2VkLnJhdyA9IHJhdzsgfVxyXG4gICAgcmV0dXJuIGNvb2tlZDtcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfX2ltcG9ydFN0YXIobW9kKSB7XHJcbiAgICBpZiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSByZXR1cm4gbW9kO1xyXG4gICAgdmFyIHJlc3VsdCA9IHt9O1xyXG4gICAgaWYgKG1vZCAhPSBudWxsKSBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcclxuICAgIHJlc3VsdC5kZWZhdWx0ID0gbW9kO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0RGVmYXVsdChtb2QpIHtcclxuICAgIHJldHVybiAobW9kICYmIG1vZC5fX2VzTW9kdWxlKSA/IG1vZCA6IHsgZGVmYXVsdDogbW9kIH07XHJcbn1cclxuIiwiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFBlcmZ1bWUsIHsgSVBlcmZ1bWVDb25maWcgfSBmcm9tICdwZXJmdW1lLmpzJztcblxuZXhwb3J0IGxldCBwZXJmdW1lO1xuXG5jb25zdCBkZWZhdWx0UGVyZnVtZUNvbmZpZyA9IHtcbiAgZmlyc3RDb250ZW50ZnVsUGFpbnQ6IGZhbHNlLFxuICBmaXJzdFBhaW50OiBmYWxzZSxcbiAgZmlyc3RJbnB1dERlbGF5OiBmYWxzZSxcbiAgdGltZVRvSW50ZXJhY3RpdmU6IGZhbHNlLFxuICBnb29nbGVBbmFseXRpY3M6IHtcbiAgICBlbmFibGU6IGZhbHNlLFxuICAgIHRpbWluZ1ZhcjogJ25hbWUnLFxuICB9LFxuICBsb2dQcmVmaXg6ICfDosKawqHDr8K4wo8gUGVyZnVtZS5qczonLFxuICBsb2dnaW5nOiB0cnVlLFxuICB3YXJuaW5nOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBQRVJGVU1FX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbignUGVyZnVtZS5qcyBjb25maWcnKTtcblxuQE5nTW9kdWxlKHt9KVxuZXhwb3J0IGNsYXNzIFBlcmZ1bWVSb290TW9kdWxlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChQRVJGVU1FX0NPTkZJRykgcHVibGljIGNvbmZpZzogSVBlcmZ1bWVDb25maWcpIHtcbiAgICBjb25zb2xlLmxvZygnUGVyZnVtZVJvb3RNb2R1bGUnLCBjb25maWcpO1xuICAgIHBlcmZ1bWUgPSBuZXcgUGVyZnVtZShjb25maWcpO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ1BlcmZ1bWUge1xuICBwZXJmdW1lOiBQZXJmdW1lO1xuICBjb25maWc6IElQZXJmdW1lQ29uZmlnO1xuICBmaXJzdFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gMDtcbiAgZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSAwO1xuICBvYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ6IFByb21pc2U8bnVtYmVyPjtcbiAgb2JzZXJ2ZUZpcnN0SW5wdXREZWxheTogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU/OiBQcm9taXNlPG51bWJlcj47XG4gIHRpbWVUb0ludGVyYWN0aXZlRHVyYXRpb24gPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY29uZmlnID0gcGVyZnVtZS5jb25maWc7XG4gICAgY29uc29sZS5sb2coJ05nUGVyZnVtZScsIHRoaXMuY29uZmlnKTtcbiAgICB0aGlzLmZpcnN0UGFpbnREdXJhdGlvbiA9IHBlcmZ1bWUuZmlyc3RQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RDb250ZW50ZnVsUGFpbnREdXJhdGlvbiA9IHBlcmZ1bWUuZmlyc3RDb250ZW50ZnVsUGFpbnREdXJhdGlvbjtcbiAgICB0aGlzLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uID0gcGVyZnVtZS5maXJzdElucHV0RGVsYXlEdXJhdGlvbjtcbiAgICB0aGlzLm9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludCA9IHBlcmZ1bWUub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50O1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0SW5wdXREZWxheSA9IHBlcmZ1bWUub2JzZXJ2ZUZpcnN0SW5wdXREZWxheTtcbiAgICB0aGlzLm9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZSA9IHBlcmZ1bWUub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlO1xuICAgIHRoaXMudGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IHBlcmZ1bWUudGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbjtcbiAgfVxuXG4gIHN0YXJ0KG1ldHJpY05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHBlcmZ1bWUuc3RhcnQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB8IG51bWJlciB7XG4gICAgcmV0dXJuIHBlcmZ1bWUuZW5kKG1ldHJpY05hbWUpO1xuICB9XG5cbiAgZW5kUGFpbnQobWV0cmljTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkIHwgbnVtYmVyPiB7XG4gICAgcmV0dXJuIHBlcmZ1bWUuZW5kUGFpbnQobWV0cmljTmFtZSk7XG4gIH1cblxuICBsb2cobWV0cmljTmFtZTogc3RyaW5nLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgcGVyZnVtZS5sb2cobWV0cmljTmFtZSwgZHVyYXRpb24pO1xuICB9XG5cbiAgc2VuZFRpbWluZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLnNlbmRUaW1pbmcobWV0cmljTmFtZSwgZHVyYXRpb24pO1xuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVyZnVtZU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IGFueSk6IE1vZHVsZVdpdGhQcm92aWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUGVyZnVtZVJvb3RNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IFBFUkZVTUVfQ09ORklHLFxuICAgICAgICAgIHVzZVZhbHVlOiB7IC4uLmRlZmF1bHRQZXJmdW1lQ29uZmlnLCAuLi5jb25maWcgfSxcbiAgICAgICAgfSxcbiAgICAgICAgTmdQZXJmdW1lLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogRGVzY3JpYmVzIGFueSBBbmd1bGFyIGNvbXBvbmVudCBjbGFzcyB0aGF0IGltcGxlbWVudHMgYEFmdGVyVmlld0luaXRgLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6aW50ZXJmYWNlLW5hbWVcbmV4cG9ydCBpbnRlcmZhY2UgQWZ0ZXJWaWV3SW5pdGFibGUge1xuICBwcm90b3R5cGU6IEFmdGVyVmlld0luaXQ7XG4gIG5ldyAoLi4uYXJnczogYW55W10pOiBBZnRlclZpZXdJbml0O1xufVxuXG4vKipcbiAqIENvbXBvbmVudCBWaWV3IEluaXQgKENWSSkgZGVjb3JhdG9yXG4gKiBNYXJrcyB0aGUgdGltZSBiZXR3ZWVuIHRoZSBjb25zdHJ1Y3RvciBpcyBpbml0aWFsaXplZCxcbiAqIGFuZCBuZ0FmdGVyVmlld0luaXQgZXhlY3V0aW9uIGVuZHMuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpmdW5jdGlvbi1uYW1lXG5leHBvcnQgZnVuY3Rpb24gUGVyZnVtZUFmdGVyVmlld0luaXQodGFyZ2V0TmFtZT86IHN0cmluZykge1xuICByZXR1cm4gZnVuY3Rpb24gRGVjb3JhdG9yRmFjdG9yeSh0YXJnZXQ6IEFmdGVyVmlld0luaXRhYmxlKSB7XG4gICAgLy8gVGhlIG5ldyBjb25zdHJ1Y3RvciBiZWhhdmlvciwgc3VwcG9ydHMgQU9UIGFuZCBESVxuICAgIGNvbnN0IG5ld0NvbnN0cnVjdG9yOiBhbnkgPSBmdW5jdGlvbiBuZXdDdG9yKC4uLmFyZ3MpIHtcbiAgICAgIHBlcmZ1bWUuc3RhcnQodGFyZ2V0TmFtZSB8fCB0YXJnZXQubmFtZSk7XG4gICAgICBjb25zdCBjOiBhbnkgPSBmdW5jdGlvbiBjaGlsZENvbnN0dWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgICBjLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUodGFyZ2V0LnByb3RvdHlwZSk7XG4gICAgICByZXR1cm4gbmV3IGMoLi4uYXJncyk7XG4gICAgfTtcblxuICAgIC8vIFRoZSBuZXcgbmdBZnRlclZpZXdJbml0IGJlaGF2aW9yXG4gICAgY29uc3QgbmdBZnRlclZpZXdJbml0ID0gdGFyZ2V0LnByb3RvdHlwZS5uZ0FmdGVyVmlld0luaXQ7XG4gICAgdGFyZ2V0LnByb3RvdHlwZS5uZ0FmdGVyVmlld0luaXQgPSBmdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdW51c2VkLWV4cHJlc3Npb25cbiAgICAgIG5nQWZ0ZXJWaWV3SW5pdCAmJiBuZ0FmdGVyVmlld0luaXQuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICBwZXJmdW1lLmVuZCh0YXJnZXROYW1lIHx8IHRhcmdldC5uYW1lKTtcbiAgICB9O1xuXG4gICAgLy8gQ29weSBwcm90b3R5cGUgc28gaW5zdGFuY2VvZiBvcGVyYXRvciBzdGlsbCB3b3Jrc1xuICAgIG5ld0NvbnN0cnVjdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUodGFyZ2V0LnByb3RvdHlwZSk7XG5cbiAgICAvLyBSZXR1cm4gbmV3IGNvbnN0cnVjdG9yICh3aWxsIG92ZXJyaWRlIG9yaWdpbmFsKVxuICAgIHJldHVybiBuZXdDb25zdHJ1Y3RvcjtcbiAgfTtcbn1cbiIsIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgcGVyZnVtZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BlcmZ1bWUubW9kdWxlJztcbiIsIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdLCJuYW1lcyI6WyJJbmplY3Rpb25Ub2tlbiIsInBlcmZ1bWUiLCJOZ01vZHVsZSIsIkluamVjdCIsIkluamVjdGFibGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0lBQUE7Ozs7Ozs7Ozs7Ozs7O0FBY0EsSUFlTyxJQUFJLFFBQVEsR0FBRztRQUNsQixRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQztZQUMzQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDakQsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakIsS0FB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

@@ -121,2 +121,2 @@ import { Inject, Injectable, InjectionToken, NgModule, } from '@angular/core';

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvcGVyZnVtZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLE1BQU0sRUFDTixVQUFVLEVBQ1YsY0FBYyxFQUVkLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLE9BQTJCLE1BQU0sWUFBWSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQztBQUVuQixNQUFNLG9CQUFvQixHQUFHO0lBQzNCLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFBVSxFQUFFLEtBQUs7SUFDakIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsaUJBQWlCLEVBQUUsS0FBSztJQUN4QixlQUFlLEVBQUU7UUFDZixNQUFNLEVBQUUsS0FBSztRQUNiLFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBR3RFLE1BQU07SUFDSixZQUEyQyxNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7WUFMRixRQUFRLFNBQUMsRUFBRTs7Ozs0Q0FFRyxNQUFNLFNBQUMsY0FBYzs7QUFPcEMsTUFBTTtJQVdKO1FBUkEsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLGlDQUE0QixHQUFHLENBQUMsQ0FBQztRQUNqQyw0QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFJNUIsOEJB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QyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUM7UUFFRixvREFBb0Q7UUFDcEQsY0FBYyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUzRCxrREFBa0Q7UUFDbEQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBQZXJmdW1lLCB7IElQZXJmdW1lQ29uZmlnIH0gZnJvbSAncGVyZnVtZS5qcyc7XG5cbmV4cG9ydCBsZXQgcGVyZnVtZTtcblxuY29uc3QgZGVmYXVsdFBlcmZ1bWVDb25maWcgPSB7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50OiBmYWxzZSxcbiAgZmlyc3RQYWludDogZmFsc2UsXG4gIGZpcnN0SW5wdXREZWxheTogZmFsc2UsXG4gIHRpbWVUb0ludGVyYWN0aXZlOiBmYWxzZSxcbiAgZ29vZ2xlQW5hbHl0aWNzOiB7XG4gICAgZW5hYmxlOiBmYWxzZSxcbiAgICB0aW1pbmdWYXI6ICduYW1lJyxcbiAgfSxcbiAgbG9nUHJlZml4OiAn4pqh77iPIFBlcmZ1bWUuanM6JyxcbiAgbG9nZ2luZzogdHJ1ZSxcbiAgd2FybmluZzogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgUEVSRlVNRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1BlcmZ1bWUuanMgY29uZmlnJyk7XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lUm9vdE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUEVSRlVNRV9DT05GSUcpIHB1YmxpYyBjb25maWc6IElQZXJmdW1lQ29uZmlnKSB7XG4gICAgY29uc29sZS5sb2coJ1BlcmZ1bWVSb290TW9kdWxlJywgY29uZmlnKTtcbiAgICBwZXJmdW1lID0gbmV3IFBlcmZ1bWUoY29uZmlnKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmdQZXJmdW1lIHtcbiAgcGVyZnVtZTogUGVyZnVtZTtcbiAgY29uZmlnOiBJUGVyZnVtZUNvbmZpZztcbiAgZmlyc3RQYWludER1cmF0aW9uID0gMDtcbiAgZmlyc3RDb250ZW50ZnVsUGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0SW5wdXREZWxheUR1cmF0aW9uID0gMDtcbiAgb2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVGaXJzdElucHV0RGVsYXk6IFByb21pc2U8bnVtYmVyPjtcbiAgb2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlPzogUHJvbWlzZTxudW1iZXI+O1xuICB0aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHBlcmZ1bWUuY29uZmlnO1xuICAgIGNvbnNvbGUubG9nKCdOZ1BlcmZ1bWUnLCB0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5maXJzdFBhaW50RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0UGFpbnREdXJhdGlvbjtcbiAgICB0aGlzLmZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IHBlcmZ1bWUuZmlyc3RJbnB1dERlbGF5RHVyYXRpb247XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSBwZXJmdW1lLm9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDtcbiAgICB0aGlzLm9ic2VydmVGaXJzdElucHV0RGVsYXkgPSBwZXJmdW1lLm9ic2VydmVGaXJzdElucHV0RGVsYXk7XG4gICAgdGhpcy5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmUgPSBwZXJmdW1lLm9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZTtcbiAgICB0aGlzLnRpbWVUb0ludGVyYWN0aXZlRHVyYXRpb24gPSBwZXJmdW1lLnRpbWVUb0ludGVyYWN0aXZlRHVyYXRpb247XG4gIH1cblxuICBzdGFydChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBwZXJmdW1lLnN0YXJ0KG1ldHJpY05hbWUpO1xuICB9XG5cbiAgZW5kKG1ldHJpY05hbWU6IHN0cmluZyk6IHZvaWQgfCBudW1iZXIge1xuICAgIHJldHVybiBwZXJmdW1lLmVuZChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZFBhaW50KG1ldHJpY05hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZCB8IG51bWJlcj4ge1xuICAgIHJldHVybiBwZXJmdW1lLmVuZFBhaW50KG1ldHJpY05hbWUpO1xuICB9XG5cbiAgbG9nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUubG9nKG1ldHJpY05hbWUsIGR1cmF0aW9uKTtcbiAgfVxuXG4gIHNlbmRUaW1pbmcobWV0cmljTmFtZTogc3RyaW5nLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zZW5kVGltaW5nKG1ldHJpY05hbWUsIGR1cmF0aW9uKTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcmZ1bWVNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnOiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFBlcmZ1bWVSb290TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQRVJGVU1FX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogeyAuLi5kZWZhdWx0UGVyZnVtZUNvbmZpZywgLi4uY29uZmlnIH0sXG4gICAgICAgIH0sXG4gICAgICAgIE5nUGVyZnVtZSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIERlc2NyaWJlcyBhbnkgQW5ndWxhciBjb21wb25lbnQgY2xhc3MgdGhhdCBpbXBsZW1lbnRzIGBBZnRlclZpZXdJbml0YC5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmludGVyZmFjZS1uYW1lXG5leHBvcnQgaW50ZXJmYWNlIEFmdGVyVmlld0luaXRhYmxlIHtcbiAgcHJvdG90eXBlOiBBZnRlclZpZXdJbml0O1xuICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogQWZ0ZXJWaWV3SW5pdDtcbn1cblxuLyoqXG4gKiBDb21wb25lbnQgVmlldyBJbml0IChDVkkpIGRlY29yYXRvclxuICogTWFya3MgdGhlIHRpbWUgYmV0d2VlbiB0aGUgY29uc3RydWN0b3IgaXMgaW5pdGlhbGl6ZWQsXG4gKiBhbmQgbmdBZnRlclZpZXdJbml0IGV4ZWN1dGlvbiBlbmRzLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZnVuY3Rpb24tbmFtZVxuZXhwb3J0IGZ1bmN0aW9uIFBlcmZ1bWVBZnRlclZpZXdJbml0KHRhcmdldE5hbWU6IHN0cmluZykge1xuICByZXR1cm4gZnVuY3Rpb24gRGVjb3JhdG9yRmFjdG9yeSh0YXJnZXQ6IEFmdGVyVmlld0luaXRhYmxlKSB7XG4gICAgLy8gVGhlIG5ldyBjb25zdHJ1Y3RvciBiZWhhdmlvciwgc3VwcG9ydHMgQU9UIGFuZCBESVxuICAgIGNvbnN0IG5ld0NvbnN0cnVjdG9yOiBhbnkgPSBmdW5jdGlvbiBuZXdDdG9yKC4uLmFyZ3MpIHtcbiAgICAgIHBlcmZ1bWUuc3RhcnQodGFyZ2V0TmFtZSB8fCB0YXJnZXQubmFtZSk7XG4gICAgICBjb25zdCBjOiBhbnkgPSBmdW5jdGlvbiBjaGlsZENvbnN0dWN0b3IoKSB7XG4gICAgICAgIHJldHVybiB0YXJnZXQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgICBjLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUodGFyZ2V0LnByb3RvdHlwZSk7XG4gICAgICByZXR1cm4gbmV3IGMoLi4uYXJncyk7XG4gICAgfTtcblxuICAgIC8vIFRoZSBuZXcgbmdBZnRlclZpZXdJbml0IGJlaGF2aW9yXG4gICAgY29uc3QgbmdBZnRlclZpZXdJbml0ID0gdGFyZ2V0LnByb3RvdHlwZS5uZ0FmdGVyVmlld0luaXQ7XG4gICAgdGFyZ2V0LnByb3RvdHlwZS5uZ0FmdGVyVmlld0luaXQgPSBmdW5jdGlvbiguLi5hcmdzKSB7XG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tdW51c2VkLWV4cHJlc3Npb25cbiAgICAgIG5nQWZ0ZXJWaWV3SW5pdCAmJiBuZ0FmdGVyVmlld0luaXQuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICBwZXJmdW1lLmVuZCh0YXJnZXROYW1lIHx8IHRhcmdldC5uYW1lKTtcbiAgICB9O1xuXG4gICAgLy8gQ29weSBwcm90b3R5cGUgc28gaW5zdGFuY2VvZiBvcGVyYXRvciBzdGlsbCB3b3Jrc1xuICAgIG5ld0NvbnN0cnVjdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUodGFyZ2V0LnByb3RvdHlwZSk7XG5cbiAgICAvLyBSZXR1cm4gbmV3IGNvbnN0cnVjdG9yICh3aWxsIG92ZXJyaWRlIG9yaWdpbmFsKVxuICAgIHJldHVybiBuZXdDb25zdHJ1Y3RvcjtcbiAgfTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvcGVyZnVtZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLE1BQU0sRUFDTixVQUFVLEVBQ1YsY0FBYyxFQUVkLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLE9BQTJCLE1BQU0sWUFBWSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQztBQUVuQixNQUFNLG9CQUFvQixHQUFHO0lBQzNCLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsVUFBVSxFQUFFLEtBQUs7SUFDakIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsaUJBQWlCLEVBQUUsS0FBSztJQUN4QixlQUFlLEVBQUU7UUFDZixNQUFNLEVBQUUsS0FBSztRQUNiLFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0lBQ0QsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBR3RFLE1BQU07SUFDSixZQUEyQyxNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7WUFMRixRQUFRLFNBQUMsRUFBRTs7Ozs0Q0FFRyxNQUFNLFNBQUMsY0FBYzs7QUFPcEMsTUFBTTtJQVdKO1FBUkEsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLGlDQUE0QixHQUFHLENBQUMsQ0FBQztRQUNqQyw0QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFJNUIsOEJB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QyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUM7UUFFRixvREFBb0Q7UUFDcEQsY0FBYyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUzRCxrREFBa0Q7UUFDbEQsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBQZXJmdW1lLCB7IElQZXJmdW1lQ29uZmlnIH0gZnJvbSAncGVyZnVtZS5qcyc7XG5cbmV4cG9ydCBsZXQgcGVyZnVtZTtcblxuY29uc3QgZGVmYXVsdFBlcmZ1bWVDb25maWcgPSB7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50OiBmYWxzZSxcbiAgZmlyc3RQYWludDogZmFsc2UsXG4gIGZpcnN0SW5wdXREZWxheTogZmFsc2UsXG4gIHRpbWVUb0ludGVyYWN0aXZlOiBmYWxzZSxcbiAgZ29vZ2xlQW5hbHl0aWNzOiB7XG4gICAgZW5hYmxlOiBmYWxzZSxcbiAgICB0aW1pbmdWYXI6ICduYW1lJyxcbiAgfSxcbiAgbG9nUHJlZml4OiAn4pqh77iPIFBlcmZ1bWUuanM6JyxcbiAgbG9nZ2luZzogdHJ1ZSxcbiAgd2FybmluZzogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgUEVSRlVNRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ1BlcmZ1bWUuanMgY29uZmlnJyk7XG5cbkBOZ01vZHVsZSh7fSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lUm9vdE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoUEVSRlVNRV9DT05GSUcpIHB1YmxpYyBjb25maWc6IElQZXJmdW1lQ29uZmlnKSB7XG4gICAgY29uc29sZS5sb2coJ1BlcmZ1bWVSb290TW9kdWxlJywgY29uZmlnKTtcbiAgICBwZXJmdW1lID0gbmV3IFBlcmZ1bWUoY29uZmlnKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmdQZXJmdW1lIHtcbiAgcGVyZnVtZTogUGVyZnVtZTtcbiAgY29uZmlnOiBJUGVyZnVtZUNvbmZpZztcbiAgZmlyc3RQYWludER1cmF0aW9uID0gMDtcbiAgZmlyc3RDb250ZW50ZnVsUGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0SW5wdXREZWxheUR1cmF0aW9uID0gMDtcbiAgb2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVGaXJzdElucHV0RGVsYXk6IFByb21pc2U8bnVtYmVyPjtcbiAgb2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlPzogUHJvbWlzZTxudW1iZXI+O1xuICB0aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHBlcmZ1bWUuY29uZmlnO1xuICAgIGNvbnNvbGUubG9nKCdOZ1BlcmZ1bWUnLCB0aGlzLmNvbmZpZyk7XG4gICAgdGhpcy5maXJzdFBhaW50RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0UGFpbnREdXJhdGlvbjtcbiAgICB0aGlzLmZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IHBlcmZ1bWUuZmlyc3RJbnB1dERlbGF5RHVyYXRpb247XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQgPSBwZXJmdW1lLm9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDtcbiAgICB0aGlzLm9ic2VydmVGaXJzdElucHV0RGVsYXkgPSBwZXJmdW1lLm9ic2VydmVGaXJzdElucHV0RGVsYXk7XG4gICAgdGhpcy5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmUgPSBwZXJmdW1lLm9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZTtcbiAgICB0aGlzLnRpbWVUb0ludGVyYWN0aXZlRHVyYXRpb24gPSBwZXJmdW1lLnRpbWVUb0ludGVyYWN0aXZlRHVyYXRpb247XG4gIH1cblxuICBzdGFydChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBwZXJmdW1lLnN0YXJ0KG1ldHJpY05hbWUpO1xuICB9XG5cbiAgZW5kKG1ldHJpY05hbWU6IHN0cmluZyk6IHZvaWQgfCBudW1iZXIge1xuICAgIHJldHVybiBwZXJmdW1lLmVuZChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZFBhaW50KG1ldHJpY05hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZCB8IG51bWJlcj4ge1xuICAgIHJldHVybiBwZXJmdW1lLmVuZFBhaW50KG1ldHJpY05hbWUpO1xuICB9XG5cbiAgbG9nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUubG9nKG1ldHJpY05hbWUsIGR1cmF0aW9uKTtcbiAgfVxuXG4gIHNlbmRUaW1pbmcobWV0cmljTmFtZTogc3RyaW5nLCBkdXJhdGlvbjogbnVtYmVyKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zZW5kVGltaW5nKG1ldHJpY05hbWUsIGR1cmF0aW9uKTtcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcmZ1bWVNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnOiBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFBlcmZ1bWVSb290TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBQRVJGVU1FX0NPTkZJRyxcbiAgICAgICAgICB1c2VWYWx1ZTogeyAuLi5kZWZhdWx0UGVyZnVtZUNvbmZpZywgLi4uY29uZmlnIH0sXG4gICAgICAgIH0sXG4gICAgICAgIE5nUGVyZnVtZSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIERlc2NyaWJlcyBhbnkgQW5ndWxhciBjb21wb25lbnQgY2xhc3MgdGhhdCBpbXBsZW1lbnRzIGBBZnRlclZpZXdJbml0YC5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmludGVyZmFjZS1uYW1lXG5leHBvcnQgaW50ZXJmYWNlIEFmdGVyVmlld0luaXRhYmxlIHtcbiAgcHJvdG90eXBlOiBBZnRlclZpZXdJbml0O1xuICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogQWZ0ZXJWaWV3SW5pdDtcbn1cblxuLyoqXG4gKiBDb21wb25lbnQgVmlldyBJbml0IChDVkkpIGRlY29yYXRvclxuICogTWFya3MgdGhlIHRpbWUgYmV0d2VlbiB0aGUgY29uc3RydWN0b3IgaXMgaW5pdGlhbGl6ZWQsXG4gKiBhbmQgbmdBZnRlclZpZXdJbml0IGV4ZWN1dGlvbiBlbmRzLlxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZnVuY3Rpb24tbmFtZVxuZXhwb3J0IGZ1bmN0aW9uIFBlcmZ1bWVBZnRlclZpZXdJbml0KHRhcmdldE5hbWU/OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIERlY29yYXRvckZhY3RvcnkodGFyZ2V0OiBBZnRlclZpZXdJbml0YWJsZSkge1xuICAgIC8vIFRoZSBuZXcgY29uc3RydWN0b3IgYmVoYXZpb3IsIHN1cHBvcnRzIEFPVCBhbmQgRElcbiAgICBjb25zdCBuZXdDb25zdHJ1Y3RvcjogYW55ID0gZnVuY3Rpb24gbmV3Q3RvciguLi5hcmdzKSB7XG4gICAgICBwZXJmdW1lLnN0YXJ0KHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgICAgY29uc3QgYzogYW55ID0gZnVuY3Rpb24gY2hpbGRDb25zdHVjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgICAgYy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuICAgICAgcmV0dXJuIG5ldyBjKC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICAvLyBUaGUgbmV3IG5nQWZ0ZXJWaWV3SW5pdCBiZWhhdmlvclxuICAgIGNvbnN0IG5nQWZ0ZXJWaWV3SW5pdCA9IHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0O1xuICAgIHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0ID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVudXNlZC1leHByZXNzaW9uXG4gICAgICBuZ0FmdGVyVmlld0luaXQgJiYgbmdBZnRlclZpZXdJbml0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgcGVyZnVtZS5lbmQodGFyZ2V0TmFtZSB8fCB0YXJnZXQubmFtZSk7XG4gICAgfTtcblxuICAgIC8vIENvcHkgcHJvdG90eXBlIHNvIGluc3RhbmNlb2Ygb3BlcmF0b3Igc3RpbGwgd29ya3NcbiAgICBuZXdDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuXG4gICAgLy8gUmV0dXJuIG5ldyBjb25zdHJ1Y3RvciAod2lsbCBvdmVycmlkZSBvcmlnaW5hbClcbiAgICByZXR1cm4gbmV3Q29uc3RydWN0b3I7XG4gIH07XG59XG4iXX0=

@@ -138,2 +138,2 @@ import * as tslib_1 from "tslib";

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvcGVyZnVtZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFFZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxPQUEyQixNQUFNLFlBQVksQ0FBQztBQUVyRCxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUM7QUFFbkIsSUFBTSxvQkFBb0IsR0FBRztJQUMzQixvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsZUFBZSxFQUFFO1FBQ2YsTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTLEVBQUUsTUFBTTtLQUNsQjtJQUNELFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsS0FBSztDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUV0RTtJQUVFLDJCQUEyQyxNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOztnQkFMRixRQUFRLFNBQUMsRUFBRTs7OztnREFFRyxNQUFNLFNBQUMsY0FBYzs7SUFJcEMsd0JBQUM7Q0FBQSxBQU5ELElBTUM7U0FMWSxpQkFBaUI7QUFPOUI7SUFZRTtRQVJBLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2QixpQ0FBNEIsR0FBRyxDQUFDLENBQUM7UUFDakMs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Q0FBQztRQUVGLG1DQUFtQztRQUNuQyxJQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztRQUN6RCxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRztZQUFTLGNBQU87aUJBQVAsVUFBTyxFQUFQLHFCQUFPLEVBQVAsSUFBTztnQkFBUCx5QkFBTzs7WUFDakQsZ0RBQWdEO1lBQ2hELGVBQWUsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO1FBRUYsb0RBQW9EO1FBQ3BELGNBQWMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFM0Qsa0RBQWtEO1FBQ2xELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGVyZnVtZSwgeyBJUGVyZnVtZUNvbmZpZyB9IGZyb20gJ3BlcmZ1bWUuanMnO1xuXG5leHBvcnQgbGV0IHBlcmZ1bWU7XG5cbmNvbnN0IGRlZmF1bHRQZXJmdW1lQ29uZmlnID0ge1xuICBmaXJzdENvbnRlbnRmdWxQYWludDogZmFsc2UsXG4gIGZpcnN0UGFpbnQ6IGZhbHNlLFxuICBmaXJzdElucHV0RGVsYXk6IGZhbHNlLFxuICB0aW1lVG9JbnRlcmFjdGl2ZTogZmFsc2UsXG4gIGdvb2dsZUFuYWx5dGljczoge1xuICAgIGVuYWJsZTogZmFsc2UsXG4gICAgdGltaW5nVmFyOiAnbmFtZScsXG4gIH0sXG4gIGxvZ1ByZWZpeDogJ+Kaoe+4jyBQZXJmdW1lLmpzOicsXG4gIGxvZ2dpbmc6IHRydWUsXG4gIHdhcm5pbmc6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBFUkZVTUVfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdQZXJmdW1lLmpzIGNvbmZpZycpO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUGVyZnVtZVJvb3RNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBFUkZVTUVfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBJUGVyZnVtZUNvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdQZXJmdW1lUm9vdE1vZHVsZScsIGNvbmZpZyk7XG4gICAgcGVyZnVtZSA9IG5ldyBQZXJmdW1lKGNvbmZpZyk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nUGVyZnVtZSB7XG4gIHBlcmZ1bWU6IFBlcmZ1bWU7XG4gIGNvbmZpZzogSVBlcmZ1bWVDb25maWc7XG4gIGZpcnN0UGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IDA7XG4gIG9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlRmlyc3RJbnB1dERlbGF5OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZT86IFByb21pc2U8bnVtYmVyPjtcbiAgdGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb25maWcgPSBwZXJmdW1lLmNvbmZpZztcbiAgICBjb25zb2xlLmxvZygnTmdQZXJmdW1lJywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlyc3RQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uO1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ7XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RJbnB1dERlbGF5ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RJbnB1dERlbGF5O1xuICAgIHRoaXMub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlID0gcGVyZnVtZS5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU7XG4gICAgdGhpcy50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gcGVyZnVtZS50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uO1xuICB9XG5cbiAgc3RhcnQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zdGFydChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmRQYWludChtZXRyaWNOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQgfCBudW1iZXI+IHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmRQYWludChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGxvZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLmxvZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cblxuICBzZW5kVGltaW5nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUuc2VuZFRpbWluZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQZXJmdW1lUm9vdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUEVSRlVNRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgLi4uZGVmYXVsdFBlcmZ1bWVDb25maWcsIC4uLmNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICBOZ1BlcmZ1bWUsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYW55IEFuZ3VsYXIgY29tcG9uZW50IGNsYXNzIHRoYXQgaW1wbGVtZW50cyBgQWZ0ZXJWaWV3SW5pdGAuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTppbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBBZnRlclZpZXdJbml0YWJsZSB7XG4gIHByb3RvdHlwZTogQWZ0ZXJWaWV3SW5pdDtcbiAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IEFmdGVyVmlld0luaXQ7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IFZpZXcgSW5pdCAoQ1ZJKSBkZWNvcmF0b3JcbiAqIE1hcmtzIHRoZSB0aW1lIGJldHdlZW4gdGhlIGNvbnN0cnVjdG9yIGlzIGluaXRpYWxpemVkLFxuICogYW5kIG5nQWZ0ZXJWaWV3SW5pdCBleGVjdXRpb24gZW5kcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZ1bmN0aW9uLW5hbWVcbmV4cG9ydCBmdW5jdGlvbiBQZXJmdW1lQWZ0ZXJWaWV3SW5pdCh0YXJnZXROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIERlY29yYXRvckZhY3RvcnkodGFyZ2V0OiBBZnRlclZpZXdJbml0YWJsZSkge1xuICAgIC8vIFRoZSBuZXcgY29uc3RydWN0b3IgYmVoYXZpb3IsIHN1cHBvcnRzIEFPVCBhbmQgRElcbiAgICBjb25zdCBuZXdDb25zdHJ1Y3RvcjogYW55ID0gZnVuY3Rpb24gbmV3Q3RvciguLi5hcmdzKSB7XG4gICAgICBwZXJmdW1lLnN0YXJ0KHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgICAgY29uc3QgYzogYW55ID0gZnVuY3Rpb24gY2hpbGRDb25zdHVjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgICAgYy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuICAgICAgcmV0dXJuIG5ldyBjKC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICAvLyBUaGUgbmV3IG5nQWZ0ZXJWaWV3SW5pdCBiZWhhdmlvclxuICAgIGNvbnN0IG5nQWZ0ZXJWaWV3SW5pdCA9IHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0O1xuICAgIHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0ID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVudXNlZC1leHByZXNzaW9uXG4gICAgICBuZ0FmdGVyVmlld0luaXQgJiYgbmdBZnRlclZpZXdJbml0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgcGVyZnVtZS5lbmQodGFyZ2V0TmFtZSB8fCB0YXJnZXQubmFtZSk7XG4gICAgfTtcblxuICAgIC8vIENvcHkgcHJvdG90eXBlIHNvIGluc3RhbmNlb2Ygb3BlcmF0b3Igc3RpbGwgd29ya3NcbiAgICBuZXdDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuXG4gICAgLy8gUmV0dXJuIG5ldyBjb25zdHJ1Y3RvciAod2lsbCBvdmVycmlkZSBvcmlnaW5hbClcbiAgICByZXR1cm4gbmV3Q29uc3RydWN0b3I7XG4gIH07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvcGVyZnVtZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxNQUFNLEVBQ04sVUFBVSxFQUNWLGNBQWMsRUFFZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxPQUEyQixNQUFNLFlBQVksQ0FBQztBQUVyRCxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUM7QUFFbkIsSUFBTSxvQkFBb0IsR0FBRztJQUMzQixvQkFBb0IsRUFBRSxLQUFLO0lBQzNCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsZUFBZSxFQUFFO1FBQ2YsTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTLEVBQUUsTUFBTTtLQUNsQjtJQUNELFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsS0FBSztDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUV0RTtJQUVFLDJCQUEyQyxNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMvRCxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDOztnQkFMRixRQUFRLFNBQUMsRUFBRTs7OztnREFFRyxNQUFNLFNBQUMsY0FBYzs7SUFJcEMsd0JBQUM7Q0FBQSxBQU5ELElBTUM7U0FMWSxpQkFBaUI7QUFPOUI7SUFZRTtRQVJBLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2QixpQ0FBNEIsR0FBRyxDQUFDLENBQUM7UUFDakMs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Q0FBQztRQUVGLG1DQUFtQztRQUNuQyxJQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztRQUN6RCxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRztZQUFTLGNBQU87aUJBQVAsVUFBTyxFQUFQLHFCQUFPLEVBQVAsSUFBTztnQkFBUCx5QkFBTzs7WUFDakQsZ0RBQWdEO1lBQ2hELGVBQWUsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDO1FBRUYsb0RBQW9EO1FBQ3BELGNBQWMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFM0Qsa0RBQWtEO1FBQ2xELE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGVyZnVtZSwgeyBJUGVyZnVtZUNvbmZpZyB9IGZyb20gJ3BlcmZ1bWUuanMnO1xuXG5leHBvcnQgbGV0IHBlcmZ1bWU7XG5cbmNvbnN0IGRlZmF1bHRQZXJmdW1lQ29uZmlnID0ge1xuICBmaXJzdENvbnRlbnRmdWxQYWludDogZmFsc2UsXG4gIGZpcnN0UGFpbnQ6IGZhbHNlLFxuICBmaXJzdElucHV0RGVsYXk6IGZhbHNlLFxuICB0aW1lVG9JbnRlcmFjdGl2ZTogZmFsc2UsXG4gIGdvb2dsZUFuYWx5dGljczoge1xuICAgIGVuYWJsZTogZmFsc2UsXG4gICAgdGltaW5nVmFyOiAnbmFtZScsXG4gIH0sXG4gIGxvZ1ByZWZpeDogJ+Kaoe+4jyBQZXJmdW1lLmpzOicsXG4gIGxvZ2dpbmc6IHRydWUsXG4gIHdhcm5pbmc6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBFUkZVTUVfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdQZXJmdW1lLmpzIGNvbmZpZycpO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUGVyZnVtZVJvb3RNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBFUkZVTUVfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBJUGVyZnVtZUNvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdQZXJmdW1lUm9vdE1vZHVsZScsIGNvbmZpZyk7XG4gICAgcGVyZnVtZSA9IG5ldyBQZXJmdW1lKGNvbmZpZyk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nUGVyZnVtZSB7XG4gIHBlcmZ1bWU6IFBlcmZ1bWU7XG4gIGNvbmZpZzogSVBlcmZ1bWVDb25maWc7XG4gIGZpcnN0UGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IDA7XG4gIG9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlRmlyc3RJbnB1dERlbGF5OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZT86IFByb21pc2U8bnVtYmVyPjtcbiAgdGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb25maWcgPSBwZXJmdW1lLmNvbmZpZztcbiAgICBjb25zb2xlLmxvZygnTmdQZXJmdW1lJywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlyc3RQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uO1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ7XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RJbnB1dERlbGF5ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RJbnB1dERlbGF5O1xuICAgIHRoaXMub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlID0gcGVyZnVtZS5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU7XG4gICAgdGhpcy50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gcGVyZnVtZS50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uO1xuICB9XG5cbiAgc3RhcnQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zdGFydChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmRQYWludChtZXRyaWNOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQgfCBudW1iZXI+IHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmRQYWludChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGxvZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLmxvZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cblxuICBzZW5kVGltaW5nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUuc2VuZFRpbWluZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQZXJmdW1lUm9vdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUEVSRlVNRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgLi4uZGVmYXVsdFBlcmZ1bWVDb25maWcsIC4uLmNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICBOZ1BlcmZ1bWUsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYW55IEFuZ3VsYXIgY29tcG9uZW50IGNsYXNzIHRoYXQgaW1wbGVtZW50cyBgQWZ0ZXJWaWV3SW5pdGAuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTppbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBBZnRlclZpZXdJbml0YWJsZSB7XG4gIHByb3RvdHlwZTogQWZ0ZXJWaWV3SW5pdDtcbiAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IEFmdGVyVmlld0luaXQ7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IFZpZXcgSW5pdCAoQ1ZJKSBkZWNvcmF0b3JcbiAqIE1hcmtzIHRoZSB0aW1lIGJldHdlZW4gdGhlIGNvbnN0cnVjdG9yIGlzIGluaXRpYWxpemVkLFxuICogYW5kIG5nQWZ0ZXJWaWV3SW5pdCBleGVjdXRpb24gZW5kcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZ1bmN0aW9uLW5hbWVcbmV4cG9ydCBmdW5jdGlvbiBQZXJmdW1lQWZ0ZXJWaWV3SW5pdCh0YXJnZXROYW1lPzogc3RyaW5nKSB7XG4gIHJldHVybiBmdW5jdGlvbiBEZWNvcmF0b3JGYWN0b3J5KHRhcmdldDogQWZ0ZXJWaWV3SW5pdGFibGUpIHtcbiAgICAvLyBUaGUgbmV3IGNvbnN0cnVjdG9yIGJlaGF2aW9yLCBzdXBwb3J0cyBBT1QgYW5kIERJXG4gICAgY29uc3QgbmV3Q29uc3RydWN0b3I6IGFueSA9IGZ1bmN0aW9uIG5ld0N0b3IoLi4uYXJncykge1xuICAgICAgcGVyZnVtZS5zdGFydCh0YXJnZXROYW1lIHx8IHRhcmdldC5uYW1lKTtcbiAgICAgIGNvbnN0IGM6IGFueSA9IGZ1bmN0aW9uIGNoaWxkQ29uc3R1Y3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIGMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcbiAgICAgIHJldHVybiBuZXcgYyguLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgLy8gVGhlIG5ldyBuZ0FmdGVyVmlld0luaXQgYmVoYXZpb3JcbiAgICBjb25zdCBuZ0FmdGVyVmlld0luaXQgPSB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdDtcbiAgICB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdCA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAgICAgbmdBZnRlclZpZXdJbml0ICYmIG5nQWZ0ZXJWaWV3SW5pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIHBlcmZ1bWUuZW5kKHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgIH07XG5cbiAgICAvLyBDb3B5IHByb3RvdHlwZSBzbyBpbnN0YW5jZW9mIG9wZXJhdG9yIHN0aWxsIHdvcmtzXG4gICAgbmV3Q29uc3RydWN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcblxuICAgIC8vIFJldHVybiBuZXcgY29uc3RydWN0b3IgKHdpbGwgb3ZlcnJpZGUgb3JpZ2luYWwpXG4gICAgcmV0dXJuIG5ld0NvbnN0cnVjdG9yO1xuICB9O1xufVxuIl19

@@ -132,2 +132,2 @@ import { Inject, Injectable, InjectionToken, NgModule } from '@angular/core';

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5qcy1hbmd1bGFyLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvbGliL3BlcmZ1bWUubW9kdWxlLnRzIiwibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvcHVibGljX2FwaS50cyIsIm5nOi8vcGVyZnVtZS5qcy9hbmd1bGFyL3BlcmZ1bWUuanMtYW5ndWxhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGVyZnVtZSwgeyBJUGVyZnVtZUNvbmZpZyB9IGZyb20gJ3BlcmZ1bWUuanMnO1xuXG5leHBvcnQgbGV0IHBlcmZ1bWU7XG5cbmNvbnN0IGRlZmF1bHRQZXJmdW1lQ29uZmlnID0ge1xuICBmaXJzdENvbnRlbnRmdWxQYWludDogZmFsc2UsXG4gIGZpcnN0UGFpbnQ6IGZhbHNlLFxuICBmaXJzdElucHV0RGVsYXk6IGZhbHNlLFxuICB0aW1lVG9JbnRlcmFjdGl2ZTogZmFsc2UsXG4gIGdvb2dsZUFuYWx5dGljczoge1xuICAgIGVuYWJsZTogZmFsc2UsXG4gICAgdGltaW5nVmFyOiAnbmFtZScsXG4gIH0sXG4gIGxvZ1ByZWZpeDogJ8OiwprCocOvwrjCjyBQZXJmdW1lLmpzOicsXG4gIGxvZ2dpbmc6IHRydWUsXG4gIHdhcm5pbmc6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBFUkZVTUVfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdQZXJmdW1lLmpzIGNvbmZpZycpO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUGVyZnVtZVJvb3RNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBFUkZVTUVfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBJUGVyZnVtZUNvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdQZXJmdW1lUm9vdE1vZHVsZScsIGNvbmZpZyk7XG4gICAgcGVyZnVtZSA9IG5ldyBQZXJmdW1lKGNvbmZpZyk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nUGVyZnVtZSB7XG4gIHBlcmZ1bWU6IFBlcmZ1bWU7XG4gIGNvbmZpZzogSVBlcmZ1bWVDb25maWc7XG4gIGZpcnN0UGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IDA7XG4gIG9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlRmlyc3RJbnB1dERlbGF5OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZT86IFByb21pc2U8bnVtYmVyPjtcbiAgdGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb25maWcgPSBwZXJmdW1lLmNvbmZpZztcbiAgICBjb25zb2xlLmxvZygnTmdQZXJmdW1lJywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlyc3RQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uO1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ7XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RJbnB1dERlbGF5ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RJbnB1dERlbGF5O1xuICAgIHRoaXMub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlID0gcGVyZnVtZS5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU7XG4gICAgdGhpcy50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gcGVyZnVtZS50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uO1xuICB9XG5cbiAgc3RhcnQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zdGFydChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmRQYWludChtZXRyaWNOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQgfCBudW1iZXI+IHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmRQYWludChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGxvZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLmxvZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cblxuICBzZW5kVGltaW5nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUuc2VuZFRpbWluZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQZXJmdW1lUm9vdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUEVSRlVNRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgLi4uZGVmYXVsdFBlcmZ1bWVDb25maWcsIC4uLmNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICBOZ1BlcmZ1bWUsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYW55IEFuZ3VsYXIgY29tcG9uZW50IGNsYXNzIHRoYXQgaW1wbGVtZW50cyBgQWZ0ZXJWaWV3SW5pdGAuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTppbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBBZnRlclZpZXdJbml0YWJsZSB7XG4gIHByb3RvdHlwZTogQWZ0ZXJWaWV3SW5pdDtcbiAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IEFmdGVyVmlld0luaXQ7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IFZpZXcgSW5pdCAoQ1ZJKSBkZWNvcmF0b3JcbiAqIE1hcmtzIHRoZSB0aW1lIGJldHdlZW4gdGhlIGNvbnN0cnVjdG9yIGlzIGluaXRpYWxpemVkLFxuICogYW5kIG5nQWZ0ZXJWaWV3SW5pdCBleGVjdXRpb24gZW5kcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZ1bmN0aW9uLW5hbWVcbmV4cG9ydCBmdW5jdGlvbiBQZXJmdW1lQWZ0ZXJWaWV3SW5pdCh0YXJnZXROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIERlY29yYXRvckZhY3RvcnkodGFyZ2V0OiBBZnRlclZpZXdJbml0YWJsZSkge1xuICAgIC8vIFRoZSBuZXcgY29uc3RydWN0b3IgYmVoYXZpb3IsIHN1cHBvcnRzIEFPVCBhbmQgRElcbiAgICBjb25zdCBuZXdDb25zdHJ1Y3RvcjogYW55ID0gZnVuY3Rpb24gbmV3Q3RvciguLi5hcmdzKSB7XG4gICAgICBwZXJmdW1lLnN0YXJ0KHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgICAgY29uc3QgYzogYW55ID0gZnVuY3Rpb24gY2hpbGRDb25zdHVjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgICAgYy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuICAgICAgcmV0dXJuIG5ldyBjKC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICAvLyBUaGUgbmV3IG5nQWZ0ZXJWaWV3SW5pdCBiZWhhdmlvclxuICAgIGNvbnN0IG5nQWZ0ZXJWaWV3SW5pdCA9IHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0O1xuICAgIHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0ID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVudXNlZC1leHByZXNzaW9uXG4gICAgICBuZ0FmdGVyVmlld0luaXQgJiYgbmdBZnRlclZpZXdJbml0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgcGVyZnVtZS5lbmQodGFyZ2V0TmFtZSB8fCB0YXJnZXQubmFtZSk7XG4gICAgfTtcblxuICAgIC8vIENvcHkgcHJvdG90eXBlIHNvIGluc3RhbmNlb2Ygb3BlcmF0b3Igc3RpbGwgd29ya3NcbiAgICBuZXdDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuXG4gICAgLy8gUmV0dXJuIG5ldyBjb25zdHJ1Y3RvciAod2lsbCBvdmVycmlkZSBvcmlnaW5hbClcbiAgICByZXR1cm4gbmV3Q29uc3RydWN0b3I7XG4gIH07XG59XG4iLCIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHBlcmZ1bWVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wZXJmdW1lLm1vZHVsZSc7XG4iLCIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAq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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5qcy1hbmd1bGFyLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvbGliL3BlcmZ1bWUubW9kdWxlLnRzIiwibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvcHVibGljX2FwaS50cyIsIm5nOi8vcGVyZnVtZS5qcy9hbmd1bGFyL3BlcmZ1bWUuanMtYW5ndWxhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGVyZnVtZSwgeyBJUGVyZnVtZUNvbmZpZyB9IGZyb20gJ3BlcmZ1bWUuanMnO1xuXG5leHBvcnQgbGV0IHBlcmZ1bWU7XG5cbmNvbnN0IGRlZmF1bHRQZXJmdW1lQ29uZmlnID0ge1xuICBmaXJzdENvbnRlbnRmdWxQYWludDogZmFsc2UsXG4gIGZpcnN0UGFpbnQ6IGZhbHNlLFxuICBmaXJzdElucHV0RGVsYXk6IGZhbHNlLFxuICB0aW1lVG9JbnRlcmFjdGl2ZTogZmFsc2UsXG4gIGdvb2dsZUFuYWx5dGljczoge1xuICAgIGVuYWJsZTogZmFsc2UsXG4gICAgdGltaW5nVmFyOiAnbmFtZScsXG4gIH0sXG4gIGxvZ1ByZWZpeDogJ8OiwprCocOvwrjCjyBQZXJmdW1lLmpzOicsXG4gIGxvZ2dpbmc6IHRydWUsXG4gIHdhcm5pbmc6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBFUkZVTUVfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdQZXJmdW1lLmpzIGNvbmZpZycpO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUGVyZnVtZVJvb3RNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBFUkZVTUVfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBJUGVyZnVtZUNvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdQZXJmdW1lUm9vdE1vZHVsZScsIGNvbmZpZyk7XG4gICAgcGVyZnVtZSA9IG5ldyBQZXJmdW1lKGNvbmZpZyk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nUGVyZnVtZSB7XG4gIHBlcmZ1bWU6IFBlcmZ1bWU7XG4gIGNvbmZpZzogSVBlcmZ1bWVDb25maWc7XG4gIGZpcnN0UGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IDA7XG4gIG9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlRmlyc3RJbnB1dERlbGF5OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZT86IFByb21pc2U8bnVtYmVyPjtcbiAgdGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb25maWcgPSBwZXJmdW1lLmNvbmZpZztcbiAgICBjb25zb2xlLmxvZygnTmdQZXJmdW1lJywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlyc3RQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uO1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ7XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RJbnB1dERlbGF5ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RJbnB1dERlbGF5O1xuICAgIHRoaXMub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlID0gcGVyZnVtZS5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU7XG4gICAgdGhpcy50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gcGVyZnVtZS50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uO1xuICB9XG5cbiAgc3RhcnQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zdGFydChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmRQYWludChtZXRyaWNOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQgfCBudW1iZXI+IHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmRQYWludChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGxvZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLmxvZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cblxuICBzZW5kVGltaW5nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUuc2VuZFRpbWluZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQZXJmdW1lUm9vdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUEVSRlVNRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgLi4uZGVmYXVsdFBlcmZ1bWVDb25maWcsIC4uLmNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICBOZ1BlcmZ1bWUsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYW55IEFuZ3VsYXIgY29tcG9uZW50IGNsYXNzIHRoYXQgaW1wbGVtZW50cyBgQWZ0ZXJWaWV3SW5pdGAuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTppbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBBZnRlclZpZXdJbml0YWJsZSB7XG4gIHByb3RvdHlwZTogQWZ0ZXJWaWV3SW5pdDtcbiAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IEFmdGVyVmlld0luaXQ7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IFZpZXcgSW5pdCAoQ1ZJKSBkZWNvcmF0b3JcbiAqIE1hcmtzIHRoZSB0aW1lIGJldHdlZW4gdGhlIGNvbnN0cnVjdG9yIGlzIGluaXRpYWxpemVkLFxuICogYW5kIG5nQWZ0ZXJWaWV3SW5pdCBleGVjdXRpb24gZW5kcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZ1bmN0aW9uLW5hbWVcbmV4cG9ydCBmdW5jdGlvbiBQZXJmdW1lQWZ0ZXJWaWV3SW5pdCh0YXJnZXROYW1lPzogc3RyaW5nKSB7XG4gIHJldHVybiBmdW5jdGlvbiBEZWNvcmF0b3JGYWN0b3J5KHRhcmdldDogQWZ0ZXJWaWV3SW5pdGFibGUpIHtcbiAgICAvLyBUaGUgbmV3IGNvbnN0cnVjdG9yIGJlaGF2aW9yLCBzdXBwb3J0cyBBT1QgYW5kIERJXG4gICAgY29uc3QgbmV3Q29uc3RydWN0b3I6IGFueSA9IGZ1bmN0aW9uIG5ld0N0b3IoLi4uYXJncykge1xuICAgICAgcGVyZnVtZS5zdGFydCh0YXJnZXROYW1lIHx8IHRhcmdldC5uYW1lKTtcbiAgICAgIGNvbnN0IGM6IGFueSA9IGZ1bmN0aW9uIGNoaWxkQ29uc3R1Y3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIGMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcbiAgICAgIHJldHVybiBuZXcgYyguLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgLy8gVGhlIG5ldyBuZ0FmdGVyVmlld0luaXQgYmVoYXZpb3JcbiAgICBjb25zdCBuZ0FmdGVyVmlld0luaXQgPSB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdDtcbiAgICB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdCA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAgICAgbmdBZnRlclZpZXdJbml0ICYmIG5nQWZ0ZXJWaWV3SW5pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIHBlcmZ1bWUuZW5kKHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgIH07XG5cbiAgICAvLyBDb3B5IHByb3RvdHlwZSBzbyBpbnN0YW5jZW9mIG9wZXJhdG9yIHN0aWxsIHdvcmtzXG4gICAgbmV3Q29uc3RydWN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcblxuICAgIC8vIFJldHVybiBuZXcgY29uc3RydWN0b3IgKHdpbGwgb3ZlcnJpZGUgb3JpZ2luYWwpXG4gICAgcmV0dXJuIG5ld0NvbnN0cnVjdG9yO1xuICB9O1xufVxuIiwiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwZXJmdW1lXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVyZnVtZS5tb2R1bGUnO1xuIiwiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQg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

@@ -146,2 +146,2 @@ import { __assign, __spread } from 'tslib';

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5qcy1hbmd1bGFyLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvbGliL3BlcmZ1bWUubW9kdWxlLnRzIiwibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvcHVibGljX2FwaS50cyIsIm5nOi8vcGVyZnVtZS5qcy9hbmd1bGFyL3BlcmZ1bWUuanMtYW5ndWxhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGVyZnVtZSwgeyBJUGVyZnVtZUNvbmZpZyB9IGZyb20gJ3BlcmZ1bWUuanMnO1xuXG5leHBvcnQgbGV0IHBlcmZ1bWU7XG5cbmNvbnN0IGRlZmF1bHRQZXJmdW1lQ29uZmlnID0ge1xuICBmaXJzdENvbnRlbnRmdWxQYWludDogZmFsc2UsXG4gIGZpcnN0UGFpbnQ6IGZhbHNlLFxuICBmaXJzdElucHV0RGVsYXk6IGZhbHNlLFxuICB0aW1lVG9JbnRlcmFjdGl2ZTogZmFsc2UsXG4gIGdvb2dsZUFuYWx5dGljczoge1xuICAgIGVuYWJsZTogZmFsc2UsXG4gICAgdGltaW5nVmFyOiAnbmFtZScsXG4gIH0sXG4gIGxvZ1ByZWZpeDogJ8OiwprCocOvwrjCjyBQZXJmdW1lLmpzOicsXG4gIGxvZ2dpbmc6IHRydWUsXG4gIHdhcm5pbmc6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBFUkZVTUVfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdQZXJmdW1lLmpzIGNvbmZpZycpO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUGVyZnVtZVJvb3RNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBFUkZVTUVfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBJUGVyZnVtZUNvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdQZXJmdW1lUm9vdE1vZHVsZScsIGNvbmZpZyk7XG4gICAgcGVyZnVtZSA9IG5ldyBQZXJmdW1lKGNvbmZpZyk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nUGVyZnVtZSB7XG4gIHBlcmZ1bWU6IFBlcmZ1bWU7XG4gIGNvbmZpZzogSVBlcmZ1bWVDb25maWc7XG4gIGZpcnN0UGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IDA7XG4gIG9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlRmlyc3RJbnB1dERlbGF5OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZT86IFByb21pc2U8bnVtYmVyPjtcbiAgdGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb25maWcgPSBwZXJmdW1lLmNvbmZpZztcbiAgICBjb25zb2xlLmxvZygnTmdQZXJmdW1lJywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlyc3RQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uO1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ7XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RJbnB1dERlbGF5ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RJbnB1dERlbGF5O1xuICAgIHRoaXMub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlID0gcGVyZnVtZS5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU7XG4gICAgdGhpcy50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gcGVyZnVtZS50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uO1xuICB9XG5cbiAgc3RhcnQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zdGFydChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmRQYWludChtZXRyaWNOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQgfCBudW1iZXI+IHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmRQYWludChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGxvZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLmxvZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cblxuICBzZW5kVGltaW5nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUuc2VuZFRpbWluZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQZXJmdW1lUm9vdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUEVSRlVNRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgLi4uZGVmYXVsdFBlcmZ1bWVDb25maWcsIC4uLmNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICBOZ1BlcmZ1bWUsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYW55IEFuZ3VsYXIgY29tcG9uZW50IGNsYXNzIHRoYXQgaW1wbGVtZW50cyBgQWZ0ZXJWaWV3SW5pdGAuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTppbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBBZnRlclZpZXdJbml0YWJsZSB7XG4gIHByb3RvdHlwZTogQWZ0ZXJWaWV3SW5pdDtcbiAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IEFmdGVyVmlld0luaXQ7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IFZpZXcgSW5pdCAoQ1ZJKSBkZWNvcmF0b3JcbiAqIE1hcmtzIHRoZSB0aW1lIGJldHdlZW4gdGhlIGNvbnN0cnVjdG9yIGlzIGluaXRpYWxpemVkLFxuICogYW5kIG5nQWZ0ZXJWaWV3SW5pdCBleGVjdXRpb24gZW5kcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZ1bmN0aW9uLW5hbWVcbmV4cG9ydCBmdW5jdGlvbiBQZXJmdW1lQWZ0ZXJWaWV3SW5pdCh0YXJnZXROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIERlY29yYXRvckZhY3RvcnkodGFyZ2V0OiBBZnRlclZpZXdJbml0YWJsZSkge1xuICAgIC8vIFRoZSBuZXcgY29uc3RydWN0b3IgYmVoYXZpb3IsIHN1cHBvcnRzIEFPVCBhbmQgRElcbiAgICBjb25zdCBuZXdDb25zdHJ1Y3RvcjogYW55ID0gZnVuY3Rpb24gbmV3Q3RvciguLi5hcmdzKSB7XG4gICAgICBwZXJmdW1lLnN0YXJ0KHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgICAgY29uc3QgYzogYW55ID0gZnVuY3Rpb24gY2hpbGRDb25zdHVjdG9yKCkge1xuICAgICAgICByZXR1cm4gdGFyZ2V0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgICAgYy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuICAgICAgcmV0dXJuIG5ldyBjKC4uLmFyZ3MpO1xuICAgIH07XG5cbiAgICAvLyBUaGUgbmV3IG5nQWZ0ZXJWaWV3SW5pdCBiZWhhdmlvclxuICAgIGNvbnN0IG5nQWZ0ZXJWaWV3SW5pdCA9IHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0O1xuICAgIHRhcmdldC5wcm90b3R5cGUubmdBZnRlclZpZXdJbml0ID0gZnVuY3Rpb24oLi4uYXJncykge1xuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLXVudXNlZC1leHByZXNzaW9uXG4gICAgICBuZ0FmdGVyVmlld0luaXQgJiYgbmdBZnRlclZpZXdJbml0LmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgcGVyZnVtZS5lbmQodGFyZ2V0TmFtZSB8fCB0YXJnZXQubmFtZSk7XG4gICAgfTtcblxuICAgIC8vIENvcHkgcHJvdG90eXBlIHNvIGluc3RhbmNlb2Ygb3BlcmF0b3Igc3RpbGwgd29ya3NcbiAgICBuZXdDb25zdHJ1Y3Rvci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHRhcmdldC5wcm90b3R5cGUpO1xuXG4gICAgLy8gUmV0dXJuIG5ldyBjb25zdHJ1Y3RvciAod2lsbCBvdmVycmlkZSBvcmlnaW5hbClcbiAgICByZXR1cm4gbmV3Q29uc3RydWN0b3I7XG4gIH07XG59XG4iLCIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHBlcmZ1bWVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wZXJmdW1lLm1vZHVsZSc7XG4iLCIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAq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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZnVtZS5qcy1hbmd1bGFyLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvbGliL3BlcmZ1bWUubW9kdWxlLnRzIiwibmc6Ly9wZXJmdW1lLmpzL2FuZ3VsYXIvcHVibGljX2FwaS50cyIsIm5nOi8vcGVyZnVtZS5qcy9hbmd1bGFyL3BlcmZ1bWUuanMtYW5ndWxhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIEluamVjdGlvblRva2VuLFxuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUGVyZnVtZSwgeyBJUGVyZnVtZUNvbmZpZyB9IGZyb20gJ3BlcmZ1bWUuanMnO1xuXG5leHBvcnQgbGV0IHBlcmZ1bWU7XG5cbmNvbnN0IGRlZmF1bHRQZXJmdW1lQ29uZmlnID0ge1xuICBmaXJzdENvbnRlbnRmdWxQYWludDogZmFsc2UsXG4gIGZpcnN0UGFpbnQ6IGZhbHNlLFxuICBmaXJzdElucHV0RGVsYXk6IGZhbHNlLFxuICB0aW1lVG9JbnRlcmFjdGl2ZTogZmFsc2UsXG4gIGdvb2dsZUFuYWx5dGljczoge1xuICAgIGVuYWJsZTogZmFsc2UsXG4gICAgdGltaW5nVmFyOiAnbmFtZScsXG4gIH0sXG4gIGxvZ1ByZWZpeDogJ8OiwprCocOvwrjCjyBQZXJmdW1lLmpzOicsXG4gIGxvZ2dpbmc6IHRydWUsXG4gIHdhcm5pbmc6IGZhbHNlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBFUkZVTUVfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdQZXJmdW1lLmpzIGNvbmZpZycpO1xuXG5ATmdNb2R1bGUoe30pXG5leHBvcnQgY2xhc3MgUGVyZnVtZVJvb3RNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KFBFUkZVTUVfQ09ORklHKSBwdWJsaWMgY29uZmlnOiBJUGVyZnVtZUNvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdQZXJmdW1lUm9vdE1vZHVsZScsIGNvbmZpZyk7XG4gICAgcGVyZnVtZSA9IG5ldyBQZXJmdW1lKGNvbmZpZyk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nUGVyZnVtZSB7XG4gIHBlcmZ1bWU6IFBlcmZ1bWU7XG4gIGNvbmZpZzogSVBlcmZ1bWVDb25maWc7XG4gIGZpcnN0UGFpbnREdXJhdGlvbiA9IDA7XG4gIGZpcnN0Q29udGVudGZ1bFBhaW50RHVyYXRpb24gPSAwO1xuICBmaXJzdElucHV0RGVsYXlEdXJhdGlvbiA9IDA7XG4gIG9ic2VydmVGaXJzdENvbnRlbnRmdWxQYWludDogUHJvbWlzZTxudW1iZXI+O1xuICBvYnNlcnZlRmlyc3RJbnB1dERlbGF5OiBQcm9taXNlPG51bWJlcj47XG4gIG9ic2VydmVUaW1lVG9JbnRlcmFjdGl2ZT86IFByb21pc2U8bnVtYmVyPjtcbiAgdGltZVRvSW50ZXJhY3RpdmVEdXJhdGlvbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5jb25maWcgPSBwZXJmdW1lLmNvbmZpZztcbiAgICBjb25zb2xlLmxvZygnTmdQZXJmdW1lJywgdGhpcy5jb25maWcpO1xuICAgIHRoaXMuZmlyc3RQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdFBhaW50RHVyYXRpb247XG4gICAgdGhpcy5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uID0gcGVyZnVtZS5maXJzdENvbnRlbnRmdWxQYWludER1cmF0aW9uO1xuICAgIHRoaXMuZmlyc3RJbnB1dERlbGF5RHVyYXRpb24gPSBwZXJmdW1lLmZpcnN0SW5wdXREZWxheUR1cmF0aW9uO1xuICAgIHRoaXMub2JzZXJ2ZUZpcnN0Q29udGVudGZ1bFBhaW50ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RDb250ZW50ZnVsUGFpbnQ7XG4gICAgdGhpcy5vYnNlcnZlRmlyc3RJbnB1dERlbGF5ID0gcGVyZnVtZS5vYnNlcnZlRmlyc3RJbnB1dERlbGF5O1xuICAgIHRoaXMub2JzZXJ2ZVRpbWVUb0ludGVyYWN0aXZlID0gcGVyZnVtZS5vYnNlcnZlVGltZVRvSW50ZXJhY3RpdmU7XG4gICAgdGhpcy50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uID0gcGVyZnVtZS50aW1lVG9JbnRlcmFjdGl2ZUR1cmF0aW9uO1xuICB9XG5cbiAgc3RhcnQobWV0cmljTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgcGVyZnVtZS5zdGFydChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGVuZChtZXRyaWNOYW1lOiBzdHJpbmcpOiB2b2lkIHwgbnVtYmVyIHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmQobWV0cmljTmFtZSk7XG4gIH1cblxuICBlbmRQYWludChtZXRyaWNOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQgfCBudW1iZXI+IHtcbiAgICByZXR1cm4gcGVyZnVtZS5lbmRQYWludChtZXRyaWNOYW1lKTtcbiAgfVxuXG4gIGxvZyhtZXRyaWNOYW1lOiBzdHJpbmcsIGR1cmF0aW9uOiBudW1iZXIpOiB2b2lkIHtcbiAgICBwZXJmdW1lLmxvZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cblxuICBzZW5kVGltaW5nKG1ldHJpY05hbWU6IHN0cmluZywgZHVyYXRpb246IG51bWJlcik6IHZvaWQge1xuICAgIHBlcmZ1bWUuc2VuZFRpbWluZyhtZXRyaWNOYW1lLCBkdXJhdGlvbik7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJmdW1lTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogYW55KTogTW9kdWxlV2l0aFByb3ZpZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBQZXJmdW1lUm9vdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogUEVSRlVNRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHsgLi4uZGVmYXVsdFBlcmZ1bWVDb25maWcsIC4uLmNvbmZpZyB9LFxuICAgICAgICB9LFxuICAgICAgICBOZ1BlcmZ1bWUsXG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgYW55IEFuZ3VsYXIgY29tcG9uZW50IGNsYXNzIHRoYXQgaW1wbGVtZW50cyBgQWZ0ZXJWaWV3SW5pdGAuXG4gKi9cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTppbnRlcmZhY2UtbmFtZVxuZXhwb3J0IGludGVyZmFjZSBBZnRlclZpZXdJbml0YWJsZSB7XG4gIHByb3RvdHlwZTogQWZ0ZXJWaWV3SW5pdDtcbiAgbmV3ICguLi5hcmdzOiBhbnlbXSk6IEFmdGVyVmlld0luaXQ7XG59XG5cbi8qKlxuICogQ29tcG9uZW50IFZpZXcgSW5pdCAoQ1ZJKSBkZWNvcmF0b3JcbiAqIE1hcmtzIHRoZSB0aW1lIGJldHdlZW4gdGhlIGNvbnN0cnVjdG9yIGlzIGluaXRpYWxpemVkLFxuICogYW5kIG5nQWZ0ZXJWaWV3SW5pdCBleGVjdXRpb24gZW5kcy5cbiAqL1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmZ1bmN0aW9uLW5hbWVcbmV4cG9ydCBmdW5jdGlvbiBQZXJmdW1lQWZ0ZXJWaWV3SW5pdCh0YXJnZXROYW1lPzogc3RyaW5nKSB7XG4gIHJldHVybiBmdW5jdGlvbiBEZWNvcmF0b3JGYWN0b3J5KHRhcmdldDogQWZ0ZXJWaWV3SW5pdGFibGUpIHtcbiAgICAvLyBUaGUgbmV3IGNvbnN0cnVjdG9yIGJlaGF2aW9yLCBzdXBwb3J0cyBBT1QgYW5kIERJXG4gICAgY29uc3QgbmV3Q29uc3RydWN0b3I6IGFueSA9IGZ1bmN0aW9uIG5ld0N0b3IoLi4uYXJncykge1xuICAgICAgcGVyZnVtZS5zdGFydCh0YXJnZXROYW1lIHx8IHRhcmdldC5uYW1lKTtcbiAgICAgIGNvbnN0IGM6IGFueSA9IGZ1bmN0aW9uIGNoaWxkQ29uc3R1Y3RvcigpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIGMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcbiAgICAgIHJldHVybiBuZXcgYyguLi5hcmdzKTtcbiAgICB9O1xuXG4gICAgLy8gVGhlIG5ldyBuZ0FmdGVyVmlld0luaXQgYmVoYXZpb3JcbiAgICBjb25zdCBuZ0FmdGVyVmlld0luaXQgPSB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdDtcbiAgICB0YXJnZXQucHJvdG90eXBlLm5nQWZ0ZXJWaWV3SW5pdCA9IGZ1bmN0aW9uKC4uLmFyZ3MpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby11bnVzZWQtZXhwcmVzc2lvblxuICAgICAgbmdBZnRlclZpZXdJbml0ICYmIG5nQWZ0ZXJWaWV3SW5pdC5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIHBlcmZ1bWUuZW5kKHRhcmdldE5hbWUgfHwgdGFyZ2V0Lm5hbWUpO1xuICAgIH07XG5cbiAgICAvLyBDb3B5IHByb3RvdHlwZSBzbyBpbnN0YW5jZW9mIG9wZXJhdG9yIHN0aWxsIHdvcmtzXG4gICAgbmV3Q29uc3RydWN0b3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZSh0YXJnZXQucHJvdG90eXBlKTtcblxuICAgIC8vIFJldHVybiBuZXcgY29uc3RydWN0b3IgKHdpbGwgb3ZlcnJpZGUgb3JpZ2luYWwpXG4gICAgcmV0dXJuIG5ld0NvbnN0cnVjdG9yO1xuICB9O1xufVxuIiwiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwZXJmdW1lXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVyZnVtZS5tb2R1bGUnO1xuIiwiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQg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

@@ -41,2 +41,2 @@ import { AfterViewInit, InjectionToken, ModuleWithProviders } from '@angular/core';

*/
export declare function PerfumeAfterViewInit(targetName: string): (target: AfterViewInitable) => any;
export declare function PerfumeAfterViewInit(targetName?: string): (target: AfterViewInitable) => any;
{
"name": "perfume.js",
"version": "1.1.6",
"version": "1.1.7",
"description": "JavaScript library for measuring Short and Long Script, First Contentful Paint (FCP), Time to Interactive (TTI), Component First Paint (CFM), annotating them to the DevTools timeline and reporting the results to Google Analytics.",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc