@sunbird-cb/consumption 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/sunbird-cb-consumption.umd.js +589 -149
- package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
- package/esm2015/lib/_common/announcements/announcements.component.js +77 -9
- package/esm2015/lib/_common/calender/calender.component.js +1 -2
- package/esm2015/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +2 -3
- package/esm2015/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +167 -0
- package/esm2015/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +48 -26
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +1 -1
- package/esm2015/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +11 -23
- package/esm2015/lib/_common/cards/cards.component.js +15 -4
- package/esm2015/lib/_common/cards/cards.module.js +6 -3
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +168 -64
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +1 -1
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +1 -2
- package/esm2015/lib/_services/insite-data.service.js +10 -2
- package/esm2015/lib/_services/widget-content.service.js +9 -1
- package/esm2015/sunbird-cb-consumption.js +23 -22
- package/esm5/lib/_common/announcements/announcements.component.js +77 -9
- package/esm5/lib/_common/calender/calender.component.js +1 -2
- package/esm5/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +2 -3
- package/esm5/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +177 -0
- package/esm5/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +55 -26
- package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +1 -1
- package/esm5/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +12 -23
- package/esm5/lib/_common/cards/cards.component.js +19 -4
- package/esm5/lib/_common/cards/cards.module.js +6 -3
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +209 -65
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +1 -1
- package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +1 -2
- package/esm5/lib/_services/insite-data.service.js +14 -2
- package/esm5/lib/_services/widget-content.service.js +13 -1
- package/esm5/sunbird-cb-consumption.js +23 -22
- package/fesm2015/sunbird-cb-consumption.js +497 -127
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +567 -128
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/announcements/announcements.component.d.ts +7 -1
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts +23 -0
- package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts +10 -3
- package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts +2 -1
- package/lib/_common/cards/cards.component.d.ts +3 -1
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +5 -1
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +3 -1
- package/lib/_services/insite-data.service.d.ts +1 -0
- package/lib/_services/widget-content.service.d.ts +1 -0
- package/package.json +1 -1
- package/sunbird-cb-consumption.d.ts +22 -21
- package/sunbird-cb-consumption.metadata.json +1 -1
package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js
CHANGED
|
@@ -209,4 +209,4 @@ export var NsContentStripWithTabs;
|
|
|
209
209
|
IContentStripTab.prototype.tabLoading;
|
|
210
210
|
}
|
|
211
211
|
})(NsContentStripWithTabs || (NsContentStripWithTabs = {}));
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1zdHJpcC13aXRoLXRhYnMtbGliLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29uc3VtcHRpb24vIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9jb250ZW50LXN0cmlwLXdpdGgtdGFicy1saWIvY29udGVudC1zdHJpcC13aXRoLXRhYnMtbGliLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFLQSxNQUFNLEtBQVcsc0JBQXNCLENBaUp0QztBQWpKRCxXQUFpQixzQkFBc0I7Ozs7SUFDckMsb0NBTUM7Ozs7UUFMQyw0Q0FBd0Q7O1FBQ3hELHVDQUFpQjs7UUFDakIsNkNBQXlEOztRQUN6RCx1Q0FBNEI7O1FBQzVCLCtDQUF5Qjs7Ozs7SUFFM0IsZ0NBeUVDOzs7O1FBeEVDLDZDQUF1Qjs7UUFDdkIsZ0NBQVk7O1FBQ1osa0NBQWM7O1FBQ2QseUNBQXNCOztRQUN0QixzQ0FBbUI7O1FBQ25CLDJDQU1FOztRQUNGLHlDQWFFOztRQUNGLGlDQUE2RDs7UUFDN0QsNkNBQTBCOztRQUMxQixpQ0FBYzs7UUFDZCxpQ0FBbUI7O1FBQ25CLGlDQUFrQjs7UUFDbEIsaUNBQWM7O1FBQ2QsdUNBQXlEOztRQUN6RCx3Q0FBMEQ7O1FBQzFELHdDQUEyQjs7UUFDM0IseUNBQXVCOztRQUN2QixvQ0FBZ0I7O1FBQ2hCLHNDQUEyQjs7UUFDM0Isb0NBa0JFOztRQUNGLHlDQUEyRDs7UUFDM0QsNENBQXlCOztRQUN6Qix5Q0FBeUQ7O1FBQ3pELG1DQUFpQjs7UUFDakIsMENBQW9COztRQUNwQix3Q0FBd0Q7O1FBQ3hELHlDQUFvRDs7UUFDcEQsdUNBQXFCOztRQUNyQiw2Q0FBdUI7O1FBQ3ZCLHdDQUlFOztRQUNGLGlDQUFVOzs7OztJQUdaLCtCQVFDOzs7O1FBUEMsZ0NBQWE7O1FBQ2IsdUNBS0U7Ozs7O0lBRUosaUNBR0M7Ozs7UUFGQyxrQ0FBYTs7UUFDYixrQ0FBVzs7Ozs7SUFFYix5QkFTQzs7OztRQVJDLDBCQUFrQzs7UUFDbEMsb0NBQXNDOztRQUN0QywwQkFJRTs7UUFDRiw0QkFBa0Q7Ozs7O0lBRXBELDJCQVNDOzs7UUFQQyxtQ0FBd0M7O1FBRXhDLHlDQUE0Qjs7UUFDNUIsb0NBQWtDOztRQUNsQyxtQ0FBaUM7O1FBQ2pDLG1DQUEyQjs7UUFDM0IsbUNBQXNCOzs7OztJQUd4QiwyQkFNQzs7OztRQUxDLGdDQUFrQjs7UUFDbEIsMENBQStDOztRQUMvQyx1Q0FBMkI7O1FBQzNCLDJCQUFZOztRQUNaLHFDQUFzQjs7Ozs7SUFFeEIsdUNBS0M7Ozs7UUFKQyw0Q0FBK0I7O1FBQy9CLDJDQUFrQjs7UUFDbEIsNkNBQW1COztRQUNuQiw2Q0FBbUI7Ozs7O0lBR3JCLCtCQWFDOzs7O1FBWkMsaUNBQWM7O1FBQ2QsaUNBQWM7O1FBQ2QsNENBQTBCOztRQUMxQiwyQ0FBMEI7O1FBQzFCLDhDQUE2Qjs7UUFDN0IsaURBQStCOztRQUMvQixtQ0FBYzs7UUFDZCxtQ0FBc0Q7O1FBQ3RELHNDQUFvQjs7UUFDcEIsMENBQXdCOztRQUN4QixxQ0FBbUI7O1FBQ25CLHNDQUFxQjs7QUFFekIsQ0FBQyxFQWpKZ0Isc0JBQXNCLEtBQXRCLHNCQUFzQixRQWlKdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOc1dpZGdldFJlc29sdmVyIH0gZnJvbSAnQHN1bmJpcmQtY2IvcmVzb2x2ZXItdjInO1xuaW1wb3J0IHsgTlNTZWFyY2ggfSBmcm9tICcuLi8uLi9fbW9kZWxzL3dpZGdldC1zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi4vLi4vX21vZGVscy93aWRnZXQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBOc0NhcmRDb250ZW50IH0gZnJvbSAnLi4vLi4vX21vZGVscy9jYXJkLWNvbnRlbnQubW9kZWwnO1xuXG5leHBvcnQgbmFtZXNwYWNlIE5zQ29udGVudFN0cmlwV2l0aFRhYnMge1xuICBleHBvcnQgaW50ZXJmYWNlIElDb250ZW50U3RyaXBNdWx0aXBsZSB7XG4gICAgZXJyb3JXaWRnZXQ/OiBOc1dpZGdldFJlc29sdmVyLklSZW5kZXJDb25maWdXaXRoQW55RGF0YTtcbiAgICBsb2FkZXI/OiBib29sZWFuO1xuICAgIG5vRGF0YVdpZGdldD86IE5zV2lkZ2V0UmVzb2x2ZXIuSVJlbmRlckNvbmZpZ1dpdGhBbnlEYXRhO1xuICAgIHN0cmlwczogSUNvbnRlbnRTdHJpcFVuaXRbXTtcbiAgICBpc0NoYW5uZWxTdHJpcD86IGJvb2xlYW47XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGVudFN0cmlwVW5pdCB7XG4gICAgZGlzYWJsZVRyYW5zbGF0ZT86IGFueTtcbiAgICBrZXk6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGN1c3RvbWVDbGFzcz86IHN0cmluZztcbiAgICBub2RhdGFNc2c/OiBzdHJpbmc7XG4gICAgc3RyaXBUaXRsZUxpbms/OiB7XG4gICAgICAgIGxpbms6ICB7XG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHN0cmluZ1xuICAgICAgICB9LFxuICAgICAgICBpY29uOiBzdHJpbmcsXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBzdHJpbmdcbiAgICB9O1xuICAgIHNsaWRlckNvbmZpZz86IHtcbiAgICAgIHNob3dOYXZzOiBib29sZWFuLFxuICAgICAgc2hvd0RvdHM6IGJvb2xlYW4sXG4gICAgICBtYXhXaWRnZXRzPzogbnVtYmVyXG4gICAgICBjZXJpZmljYXRlQ2FyZE1hcmdpbj86IGJvb2xlYW4sXG4gICAgICBkb3RzQWxpZ24/OiBcInJpZ2h0XCIgfCBcImxlZnRcIixcbiAgICAgIGFycm93c1BsYWNlbWVudD86IFwiYm90dG9tLXJpZ2h0XCIgfCBcImJvdHRvbS1jZW50ZXJcIiB8IFwiYm90dG9tLWxlZnRcIiB8IFwibWlkZGxlLWlubGluZVwiLFxuICAgICAgcmVzcG9uc2l2ZT86IHtcbiAgICAgICAgc2hvd05hdnM6IGJvb2xlYW4sXG4gICAgICAgIHNob3dEb3RzOiBib29sZWFuLFxuICAgICAgICBkb3RzQWxpZ24/OiBcInJpZ2h0XCIgfCBcImxlZnRcIixcbiAgICAgICAgYXJyb3dzUGxhY2VtZW50PzogXCJib3R0b20tcmlnaHRcIiB8IFwiYm90dG9tLWNlbnRlclwiIHwgXCJib3R0b20tbGVmdFwiIHwgXCJtaWRkbGUtaW5saW5lXCIsXG4gICAgICB9O1xuICAgIH07XG4gICAgdGFicz86IE5zQ29udGVudFN0cmlwV2l0aFRhYnMuSUNvbnRlbnRTdHJpcFRhYltdIHwgdW5kZWZpbmVkO1xuICAgIHRpdGxlRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBtb2RlPzogJ2FjY29yZGlvbic7XG4gICAgaW5mbz86IElTdHJpcEluZm87XG4gICAgbG9nbz86IHN0cmluZztcbiAgICBwcmVXaWRnZXRzPzogTnNXaWRnZXRSZXNvbHZlci5JUmVuZGVyQ29uZmlnV2l0aEFueURhdGFbXTtcbiAgICBwb3N0V2lkZ2V0cz86IE5zV2lkZ2V0UmVzb2x2ZXIuSVJlbmRlckNvbmZpZ1dpdGhBbnlEYXRhW107XG4gICAgc3RyaXBDb25maWc/OiBJU3RyaXBDb25maWc7XG4gICAgY2FuSGlkZVN0cmlwPzogYm9vbGVhbjtcbiAgICBmaWx0ZXJzPzogYW55W107XG4gICAgc2VsZWN0QWxsPzogYm9vbGVhbiB8IG51bGw7XG4gICAgcmVxdWVzdD86IHtcbiAgICAgIHBsYXlsaXN0UmVhZDogYW55O1xuICAgICAgcGxheWxpc3RTZWFyY2g/OiBhbnk7XG4gICAgICBzZWFyY2g/OiBOU1NlYXJjaC5JU2VhcmNoUmVxdWVzdFxuICAgICAgc2VhcmNoVjY/OiBOU1NlYXJjaC5JU2VhcmNoVjZSZXF1ZXN0XG4gICAgICB0b3BDb250ZW50PzogYW55XG4gICAgICBmZWF0dXJlQ29udGVudD86IGFueVxuICAgICAgYm9va21hcmtSZWFkPzogYW55XG4gICAgICBlbnJvbGxtZW50TGlzdD86IGFueVxuICAgICAgY2JwTGlzdD86IGFueSxcbiAgICAgIGFwaVVybDogc3RyaW5nXG4gICAgICBzZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbj86IE5TU2VhcmNoLklTZWFyY2hPcmdSZWdpb25SZWNvbW1lbmRhdGlvblJlcXVlc3RcbiAgICAgIGFwaT86IElTdHJpcFJlcXVlc3RBcGlcbiAgICAgIG5ldHdvcmtBcGk/OiBJTmV0d29ya1JlcXVlc3RBcGlcbiAgICAgIGlkcz86IHN0cmluZ1tdXG4gICAgICByZWNvbW1lbmRlZENvdXJzZXM/OiBhbnksXG4gICAgICBtYXN0ZXJDb21wZXRlbmN5PzogYW55XG4gICAgICB0cmVuZGluZ1NlYXJjaD86IGFueVxuICAgIH07XG4gICAgc2VhcmNoVjZUeXBlPzogJ0tCJyB8ICdDb2xsZWN0aW9ucycgfCAnc2VhcmNoUXVlcnknIHwgbnVsbDtcbiAgICBzdHJpcEJhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgbm9EYXRhV2lkZ2V0PzogTnNXaWRnZXRSZXNvbHZlci5JUmVuZGVyQ29uZmlnV2l0aEFueURhdGE7XG4gICAgbG9hZGVyPzogYm9vbGVhbjtcbiAgICBsb2FkZXJXaWRnZXRzPzogYW55O1xuICAgIGVycm9yV2lkZ2V0PzogTnNXaWRnZXRSZXNvbHZlci5JUmVuZGVyQ29uZmlnV2l0aEFueURhdGE7XG4gICAgcmVmcmVzaEV2ZW50PzogUmVjb3JkPCdldmVudFR5cGUnIHwgJ2Zyb20nLCBzdHJpbmc+O1xuICAgIGZldGNoTGlrZXM/OiBib29sZWFuO1xuICAgIHNlY29uZGFyeUhlYWRpbmc/OiBhbnk7XG4gICAgdmlld01vcmVVcmw/OiB7XG4gICAgICBxdWVyeVBhcmFtcz86IGFueVxuICAgICAgdmlld01vcmVUZXh0OiBzdHJpbmdcbiAgICAgIHBhdGg6IHN0cmluZ1xuICAgIH07XG4gICAgZGF0YT86IFtdO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJU3RyaXBSZXF1ZXN0QXBpIHtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgcXVlcnlQYXJhbXM/OiB7XG4gICAgICBwYWdlTm8/OiBudW1iZXJcbiAgICAgIHBhZ2VTaXplPzogbnVtYmVyXG4gICAgICBwYWdlU3RhdGU/OiBzdHJpbmdcbiAgICAgIHNvdXJjZUZpZWxkcz86IHN0cmluZ1xuICAgIH07XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBJTmV0d29ya1JlcXVlc3RBcGkge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBkYXRhPzogYW55O1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgSVN0cmlwSW5mbyB7XG4gICAgbW9kZTogJ2JlbG93JyB8ICdwb3B1cCcgfCAnbW9kYWwnO1xuICAgIHZpc2liaWxpdHlNb2RlPzogJ2hpZGRlbicgfCAndmlzaWJsZSc7XG4gICAgaWNvbjoge1xuICAgICAgaWNvbjogc3RyaW5nXG4gICAgICBzY2FsZTogbnVtYmVyXG4gICAgICBzdHlsZT86IGFueSAvLyBhZGRlZCBmb3IgVUlcbiAgICB9O1xuICAgIHdpZGdldDogTnNXaWRnZXRSZXNvbHZlci5JUmVuZGVyQ29uZmlnV2l0aEFueURhdGE7XG4gIH1cbiAgaW50ZXJmYWNlIElTdHJpcENvbmZpZyB7XG4gICAgLy8gY2FyZCBzdWJUeXBlIGtleSBpcyB1c2VkIHRvIGRldGVybWluZSB0aGUgY29udGVudCBDYXJkIGRpc3BsYXkgdHlwZVxuICAgIGNhcmRTdWJUeXBlOiBOc0NhcmRDb250ZW50LlRDYXJkU3ViVHlwZTtcbiAgICAvLyB0byBzaG93IHZpZXcgbW9yZSBjYXJkIGZvciBhIHNlYXJjaCBzdHJpcFxuICAgIHBvc3RDYXJkRm9yU2VhcmNoPzogYm9vbGVhbjtcbiAgICBpbnRyYW5ldE1vZGU/OiAnZ3JleU91dCcgfCAnaGlkZSc7XG4gICAgZGVsZXRlZE1vZGU/OiAnZ3JleU91dCcgfCAnaGlkZSc7XG4gICAgY29udGVudFRhZ3M/OiBJQ29udGVudFRhZ3M7XG4gICAgaGlkZVNob3dBbGw/OiBib29sZWFuO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGVudFRhZ3Mge1xuICAgIGRheXNTcGFuPzogbnVtYmVyO1xuICAgIGV4Y2x1ZGVDb250ZW50VHlwZT86IE5zQ29udGVudC5FQ29udGVudFR5cGVzW107XG4gICAgZXhjbHVkZU1pbWVUeXBlPzogc3RyaW5nW107XG4gICAgdGFnOiBzdHJpbmc7XG4gICAgY3JpdGVyaWFGaWVsZDogc3RyaW5nO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpIHtcbiAgICBjb250ZW50czogTnNDb250ZW50LklDb250ZW50W107XG4gICAgaGFzTW9yZT86IGJvb2xlYW47XG4gICAgcGFnZVN0YXRlPzogc3RyaW5nO1xuICAgIHRvdGFsSGl0cz86IG51bWJlcjtcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnRTdHJpcFRhYiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHNob3dUYWJEYXRhQ291bnQ6IGJvb2xlYW47XG4gICAgcmVxdWVzdFJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICBjb21wdXRlRGF0YU9uQ2xpY2s/OiBib29sZWFuO1xuICAgIGNvbXB1dGVEYXRhT25DbGlja0tleT86IHN0cmluZztcbiAgICByZXF1ZXN0PzogYW55O1xuICAgIHdpZGdldHM/OiBOc1dpZGdldFJlc29sdmVyLklSZW5kZXJDb25maWdXaXRoQW55RGF0YVtdO1xuICAgIG1heFdpZGdldHM/OiBudW1iZXI7XG4gICAgZmV0Y2hUYWJTdGF0dXM/OiBzdHJpbmc7XG4gICAgbm9kYXRhTXNnPzogc3RyaW5nO1xuICAgIHRhYkxvYWRpbmc/OiBib29sZWFuO1xuICB9XG59XG4iXX0=
|
|
@@ -166,7 +166,6 @@ export class HorizontalScrollerV2Component {
|
|
|
166
166
|
* @return {?}
|
|
167
167
|
*/
|
|
168
168
|
updateNavigationBtnStatus(elem) {
|
|
169
|
-
debugger;
|
|
170
169
|
this.enablePrev = true;
|
|
171
170
|
this.enableNext = true;
|
|
172
171
|
if (elem.scrollLeft === 0) {
|
|
@@ -346,4 +345,4 @@ if (false) {
|
|
|
346
345
|
*/
|
|
347
346
|
HorizontalScrollerV2Component.prototype.valueSvc;
|
|
348
347
|
}
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVVwRCxNQUFNLE9BQU8sNkJBQTZCOzs7O0lBMkJ4QyxZQUFvQixRQUFzQjtRQUF0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBekJqQyxlQUFVLEdBQWlCLFVBQVUsQ0FBQztRQUN0QyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsaUJBQVksR0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2Qsb0JBQW9CLEVBQUUsS0FBSztTQUM1QixDQUFDO1FBQ1EsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLeEMseUJBQW9CLEdBQXNCLElBQUksQ0FBQztRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLG1CQUFj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REFBMEI7O0lBQzFCLDZEQUMrQzs7SUFFL0MsbURBQW1COztJQUNuQixtREFBbUI7O0lBQ25CLGtEQUFjOztJQUNkLG9EQUF5Qjs7SUFDekIsd0RBQTBCOzs7OztJQUMxQix1REFBbUQ7O0lBQ25ELGlEQUFnQjs7Ozs7SUFDaEIsNkRBQXdEOztJQUN4RCxvREFBdUM7Ozs7O0lBRTNCLGlEQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGZyb21FdmVudCxcbiAgU3Vic2NyaXB0aW9uLFxuICB0aW1lcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRGZXRjaFN0YXR1cyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvbWlzYy5jb25zdGFudHMnO1xuaW1wb3J0IHsgVmFsdWVTZXJ2aWNlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInO1xuaW1wb3J0IHsgTnNDb21tb25TdHJpcCB9IGZyb20gJy4uL2NvbW1vbi1zdHJpcC9jb21tb24tc3RyaXAubW9kZWwnO1xuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1ob3Jpem9udGFsLXNjcm9sbGVyLXYyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hvcml6b250YWwtc2Nyb2xsZXItdjIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgSG9yaXpvbnRhbFNjcm9sbGVyVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBsb2FkU3RhdHVzOiBURmV0Y2hTdGF0dXMgPSAnZmV0Y2hpbmcnO1xuICBASW5wdXQoKSBpZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG9uSG92ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgc2xpZGVyQ29uZmlnOiBhbnkgPSB7XG4gICAgc2hvd05hdnM6IHRydWUsXG4gICAgc2hvd0RvdHM6IHRydWUsXG4gICAgY2VyaWZpY2F0ZUNhcmRNYXJnaW46IGZhbHNlLFxuICB9O1xuICBAT3V0cHV0KCkgbG9hZE5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHdpZGdldHNMZW5ndGg6IGFueTtcbiAgQElucHV0KCkgZGVmYXVsdE1heFdpZGdldHM6IGFueTtcbiAgQElucHV0KCkgc3RyaXBDb25maWc6IGFueTtcbiAgQFZpZXdDaGlsZCgnaG9yaXpvbnRhbFNjcm9sbEVsZW0nLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBob3Jpem9udGFsU2Nyb2xsRWxlbTogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gIGVuYWJsZVByZXYgPSBmYWxzZTtcbiAgZW5hYmxlTmV4dCA9IGZhbHNlO1xuICBhY3RpdmVOYXYgPSAwO1xuICBjYXJkU3ViVHlwZSA9ICdzdGFuZGFyZCc7XG4gIGJvdHRvbURvdHNBcnJheTogYW55ID0gW107XG4gIHByaXZhdGUgc2Nyb2xsT2JzZXJ2ZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBpc01vYmlsZSA9IGZhbHNlXG4gIHByaXZhdGUgZGVmYXVsdE1lbnVTdWJzY3JpYmU6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXG4gIGlzTHRNZWRpdW0kID0gdGhpcy52YWx1ZVN2Yy5pc0x0TWVkaXVtJFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmFsdWVTdmM6IFZhbHVlU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYXJkU3ViVHlwZSA9IHRoaXMuc3RyaXBDb25maWcgJiYgdGhpcy5zdHJpcENvbmZpZy5jYXJkU3ViVHlwZSA/IHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgOiAnc3RhbmRhcmQnO1xuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICBjb25zdCBob3Jpem9udGFsU2Nyb2xsRWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW07XG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyID0gZnJvbUV2ZW50KFxuICAgICAgICBob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnc2Nyb2xsJyxcbiAgICAgIClcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0aHJvdHRsZVRpbWUoMTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyhob3Jpem9udGFsU2Nyb2xsRWxlbVxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIH0pO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XG4gICAgICB9LCA3MDApO1xuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlID0gdGhpcy5pc0x0TWVkaXVtJC5zdWJzY3JpYmUoKGlzTHRNZWRpdW06IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBpc0x0TWVkaXVtXG4gICAgfSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRpbWVyKDEwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtXG4gICAgICAgICAgLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5nZXRCb3R0b21Eb3RzQXJyYXkoKTtcbiAgICB9LCA3MDApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuc2Nyb2xsT2JzZXJ2ZXIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUudW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHNob3dQcmV2KCkge1xuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgLT0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIGNsaWVudFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgLT0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKHRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IDApe1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgbGVmdDogZWxlbS5zY3JvbGxXaWR0aCxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2hvd05leHQoKSB7XG4gICAgLy8gY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCArPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICAvLyBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggKiAwLjI0KVxuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgY2xpZW50V2lkdGgsXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgKz0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKHRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgIT09IDAgJiYgZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCA+PSBlbGVtLnNjcm9sbFdpZHRoICl7XG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoZWxlbTogSFRNTEVsZW1lbnQpIHtcbiAgICBkZWJ1Z2dlclxuICAgIHRoaXMuZW5hYmxlUHJldiA9IHRydWU7XG4gICAgdGhpcy5lbmFibGVOZXh0ID0gdHJ1ZTtcbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ID09PSAwKSB7XG4gICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcbiAgICAgICAgdGhpcy5lbmFibGVQcmV2ID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XG4gICAgfVxuICAgIGlmIChlbGVtLnNjcm9sbFdpZHRoID09PSBNYXRoLnJvdW5kKGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICBpZiAodGhpcy5sb2FkU3RhdHVzID09PSAnaGFzTW9yZScpIHtcbiAgICAgICAgdGhpcy5sb2FkTmV4dC5lbWl0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZighdGhpcy5zbGlkZXJDb25maWcuYXJyb3dzQWx3YXlzT24pIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZU5leHQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKTtcbiAgICB9XG4gIH1cblxuICBzbGlkZVRvKGVsZTogYW55KSB7XG4gICAgY29uc3QgZGlmZiA9IGVsZSAtIHRoaXMuYWN0aXZlTmF2O1xuICAgIC8vIGlmIChlbGUgPiB0aGlzLmFjdGl2ZU5hdiAmJiBlbGUgIT09IHRoaXMuYWN0aXZlTmF2KSB7XG4gICAgLy8gICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXG4gICAgLy8gICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgLy8gICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyAoY2xpZW50V2lkdGgqZGlmZiksXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcbiAgICAvLyB9IGVsc2Uge1xuICAgIC8vICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0gJiYgZWxlID49IDAgJiYgZWxlICE9PSB0aGlzLmFjdGl2ZU5hdikge1xuICAgIC8vICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpXG4gICAgLy8gICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgLy8gICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgLSAoY2xpZW50V2lkdGgqZGlmZiksXG4gICAgLy8gICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgIC8vICAgICB9KVxuICAgIC8vICAgfVxuICAgIC8vICAgdGhpcy5hY3RpdmVOYXYgPSBlbGVcbiAgICAvLyB9XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIChjbGllbnRXaWR0aCAqIGRpZmYpLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5hY3RpdmVOYXYgPSBlbGU7XG4gIH1cblxuICBnZXRCb3R0b21Eb3RzQXJyYXkoKSB7XG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5ID0gW107XG4gICAgICBsZXQgY2FyZFdpZHRoO1xuICAgICAgbGV0IGFyckxlbmd0aDtcbiAgICAgIGlmICh0aGlzLmNhcmRTdWJUeXBlICE9PSAnY2FyZC13aWRlLXYyJykge1xuICAgICAgICBjYXJkV2lkdGggPSB0aGlzLmNhcmRTdWJUeXBlID09PSAnc3RhbmRhcmQnID8gMjQ1IDpcbiAgICAgICAgKChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpICYmXG4gICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpWzBdICE9PSB1bmRlZmluZWQpXG4gICAgICAgID8gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXS5jbGllbnRXaWR0aCA6IDI0NSk7XG4gICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkfWApKSB7XG4gICAgICAgICAgY29uc3Qgc2Nyb2xsZXJXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkuY2xpZW50V2lkdGg7XG4gICAgICAgICAgY29uc3QgdG90YWxDYXJkc0xlbmd0aCA9IGNhcmRXaWR0aCAqIHRoaXMud2lkZ2V0c0xlbmd0aDtcbiAgICAgICAgICBpZiAodG90YWxDYXJkc0xlbmd0aCA+IHNjcm9sbGVyV2lkdGgpIHtcbiAgICAgICAgICAgIGFyckxlbmd0aCA9IChzY3JvbGxlcldpZHRoIC8gY2FyZFdpZHRoKTtcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdE1heFdpZGdldHMgPSB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID8gIHRoaXMud2lkZ2V0c0xlbmd0aCA8IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgP1xuICAgICAgICAgICAgICB0aGlzLndpZGdldHNMZW5ndGggOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cztcbiAgICAgICAgICAgIGFyckxlbmd0aCA9IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgLyBhcnJMZW5ndGg7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5jYXJkU3ViVHlwZScsIHRoaXMuY2FyZFN1YlR5cGUsIGFyckxlbmd0aCwgdGhpcy53aWRnZXRzTGVuZ3RoICxcbiAgICAgICAgICAgIC8vIHRoaXMuZGVmYXVsdE1heFdpZGdldHMsIHNjcm9sbGVyV2lkdGgsIHRoaXMuYm90dG9tRG90c0FycmF5KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgYXJyTGVuZ3RoID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKS5sZW5ndGg7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkucHVzaChpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sICAgICAgICAgMTAwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
348
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVVwRCxNQUFNLE9BQU8sNkJBQTZCOzs7O0lBMkJ4QyxZQUFvQixRQUFzQjtRQUF0QixhQUFRLEdBQVIsUUFBUSxDQUFjO1FBekJqQyxlQUFVLEdBQWlCLFVBQVUsQ0FBQztRQUN0QyxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBQ2hCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsaUJBQVksR0FBUTtZQUMzQixRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1lBQ2Qsb0JBQW9CLEVBQUUsS0FBSztTQUM1QixDQUFDO1FBQ1EsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLeEMseUJBQW9CLEdBQXNCLElBQUksQ0FBQztRQUUvQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLG1CQUFj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QUMrQzs7SUFFL0MsbURBQW1COztJQUNuQixtREFBbUI7O0lBQ25CLGtEQUFjOztJQUNkLG9EQUF5Qjs7SUFDekIsd0RBQTBCOzs7OztJQUMxQix1REFBbUQ7O0lBQ25ELGlEQUFnQjs7Ozs7SUFDaEIsNkRBQXdEOztJQUN4RCxvREFBdUM7Ozs7O0lBRTNCLGlEQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGZyb21FdmVudCxcbiAgU3Vic2NyaXB0aW9uLFxuICB0aW1lcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRGZXRjaFN0YXR1cyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvbWlzYy5jb25zdGFudHMnO1xuaW1wb3J0IHsgVmFsdWVTZXJ2aWNlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInO1xuaW1wb3J0IHsgTnNDb21tb25TdHJpcCB9IGZyb20gJy4uL2NvbW1vbi1zdHJpcC9jb21tb24tc3RyaXAubW9kZWwnO1xuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1ob3Jpem9udGFsLXNjcm9sbGVyLXYyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hvcml6b250YWwtc2Nyb2xsZXItdjIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgSG9yaXpvbnRhbFNjcm9sbGVyVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBsb2FkU3RhdHVzOiBURmV0Y2hTdGF0dXMgPSAnZmV0Y2hpbmcnO1xuICBASW5wdXQoKSBpZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG9uSG92ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgc2xpZGVyQ29uZmlnOiBhbnkgPSB7XG4gICAgc2hvd05hdnM6IHRydWUsXG4gICAgc2hvd0RvdHM6IHRydWUsXG4gICAgY2VyaWZpY2F0ZUNhcmRNYXJnaW46IGZhbHNlLFxuICB9O1xuICBAT3V0cHV0KCkgbG9hZE5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHdpZGdldHNMZW5ndGg6IGFueTtcbiAgQElucHV0KCkgZGVmYXVsdE1heFdpZGdldHM6IGFueTtcbiAgQElucHV0KCkgc3RyaXBDb25maWc6IGFueTtcbiAgQFZpZXdDaGlsZCgnaG9yaXpvbnRhbFNjcm9sbEVsZW0nLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBob3Jpem9udGFsU2Nyb2xsRWxlbTogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gIGVuYWJsZVByZXYgPSBmYWxzZTtcbiAgZW5hYmxlTmV4dCA9IGZhbHNlO1xuICBhY3RpdmVOYXYgPSAwO1xuICBjYXJkU3ViVHlwZSA9ICdzdGFuZGFyZCc7XG4gIGJvdHRvbURvdHNBcnJheTogYW55ID0gW107XG4gIHByaXZhdGUgc2Nyb2xsT2JzZXJ2ZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBpc01vYmlsZSA9IGZhbHNlXG4gIHByaXZhdGUgZGVmYXVsdE1lbnVTdWJzY3JpYmU6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXG4gIGlzTHRNZWRpdW0kID0gdGhpcy52YWx1ZVN2Yy5pc0x0TWVkaXVtJFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmFsdWVTdmM6IFZhbHVlU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYXJkU3ViVHlwZSA9IHRoaXMuc3RyaXBDb25maWcgJiYgdGhpcy5zdHJpcENvbmZpZy5jYXJkU3ViVHlwZSA/IHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgOiAnc3RhbmRhcmQnO1xuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICBjb25zdCBob3Jpem9udGFsU2Nyb2xsRWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW07XG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyID0gZnJvbUV2ZW50KFxuICAgICAgICBob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnc2Nyb2xsJyxcbiAgICAgIClcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0aHJvdHRsZVRpbWUoMTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyhob3Jpem9udGFsU2Nyb2xsRWxlbVxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIH0pO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XG4gICAgICB9LCA3MDApO1xuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlID0gdGhpcy5pc0x0TWVkaXVtJC5zdWJzY3JpYmUoKGlzTHRNZWRpdW06IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBpc0x0TWVkaXVtXG4gICAgfSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRpbWVyKDEwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtXG4gICAgICAgICAgLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5nZXRCb3R0b21Eb3RzQXJyYXkoKTtcbiAgICB9LCA3MDApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuc2Nyb2xsT2JzZXJ2ZXIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUudW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHNob3dQcmV2KCkge1xuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgLT0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIGNsaWVudFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgLT0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKHRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IDApe1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgbGVmdDogZWxlbS5zY3JvbGxXaWR0aCxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2hvd05leHQoKSB7XG4gICAgLy8gY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCArPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICAvLyBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggKiAwLjI0KVxuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgY2xpZW50V2lkdGgsXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgKz0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKHRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgIT09IDAgJiYgZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCA+PSBlbGVtLnNjcm9sbFdpZHRoICl7XG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoZWxlbTogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLmVuYWJsZVByZXYgPSB0cnVlO1xuICAgIHRoaXMuZW5hYmxlTmV4dCA9IHRydWU7XG4gICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCA9PT0gMCkge1xuICAgICAgaWYoIXRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlUHJldiA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3RpdmVOYXYgPSAwO1xuICAgIH1cbiAgICBpZiAoZWxlbS5zY3JvbGxXaWR0aCA9PT0gTWF0aC5yb3VuZChlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xuICAgICAgaWYgKHRoaXMubG9hZFN0YXR1cyA9PT0gJ2hhc01vcmUnKSB7XG4gICAgICAgIHRoaXMubG9hZE5leHQuZW1pdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYoIXRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVOZXh0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gdGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xuICAgICAgdGhpcy5hY3RpdmVOYXYgPSBNYXRoLmNlaWwoZWxlbS5zY3JvbGxMZWZ0IC8gZWxlbS5jbGllbnRXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgc2xpZGVUbyhlbGU6IGFueSkge1xuICAgIGNvbnN0IGRpZmYgPSBlbGUgLSB0aGlzLmFjdGl2ZU5hdjtcbiAgICAvLyBpZiAoZWxlID4gdGhpcy5hY3RpdmVOYXYgJiYgZWxlICE9PSB0aGlzLmFjdGl2ZU5hdikge1xuICAgIC8vICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAvLyAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKVxuICAgIC8vICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoKmRpZmYpLFxuICAgIC8vICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAvLyAgICAgfSlcbiAgICAvLyAgIH1cbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gZWxlXG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtICYmIGVsZSA+PSAwICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcbiAgICAvLyAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKVxuICAgIC8vICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC0gKGNsaWVudFdpZHRoKmRpZmYpLFxuICAgIC8vICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAvLyAgICAgfSlcbiAgICAvLyAgIH1cbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gZWxlXG4gICAgLy8gfVxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyAoY2xpZW50V2lkdGggKiBkaWZmKSxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlTmF2ID0gZWxlO1xuICB9XG5cbiAgZ2V0Qm90dG9tRG90c0FycmF5KCkge1xuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdO1xuICAgICAgbGV0IGNhcmRXaWR0aDtcbiAgICAgIGxldCBhcnJMZW5ndGg7XG4gICAgICBpZiAodGhpcy5jYXJkU3ViVHlwZSAhPT0gJ2NhcmQtd2lkZS12MicpIHtcbiAgICAgICAgY2FyZFdpZHRoID0gdGhpcy5jYXJkU3ViVHlwZSA9PT0gJ3N0YW5kYXJkJyA/IDI0NSA6XG4gICAgICAgICgoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKSAmJlxuICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICA/IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSlbMF0uY2xpZW50V2lkdGggOiAyNDUpO1xuICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH1gKSkge1xuICAgICAgICAgIGNvbnN0IHNjcm9sbGVyV2lkdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkfWApLmNsaWVudFdpZHRoO1xuICAgICAgICAgIGNvbnN0IHRvdGFsQ2FyZHNMZW5ndGggPSBjYXJkV2lkdGggKiB0aGlzLndpZGdldHNMZW5ndGg7XG4gICAgICAgICAgaWYgKHRvdGFsQ2FyZHNMZW5ndGggPiBzY3JvbGxlcldpZHRoKSB7XG4gICAgICAgICAgICBhcnJMZW5ndGggPSAoc2Nyb2xsZXJXaWR0aCAvIGNhcmRXaWR0aCk7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID0gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA/ICB0aGlzLndpZGdldHNMZW5ndGggPCB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID9cbiAgICAgICAgICAgICAgdGhpcy53aWRnZXRzTGVuZ3RoIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA6IHRoaXMuZGVmYXVsdE1heFdpZGdldHM7XG4gICAgICAgICAgICBhcnJMZW5ndGggPSB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIC8gYXJyTGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheS5wdXNoKGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuY2FyZFN1YlR5cGUnLCB0aGlzLmNhcmRTdWJUeXBlLCBhcnJMZW5ndGgsIHRoaXMud2lkZ2V0c0xlbmd0aCAsXG4gICAgICAgICAgICAvLyB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzLCBzY3JvbGxlcldpZHRoLCB0aGlzLmJvdHRvbURvdHNBcnJheSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGFyckxlbmd0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkubGVuZ3RoO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAgICAgICAgIDEwMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -9,7 +9,8 @@ import * as i1 from "@angular/common/http";
|
|
|
9
9
|
/** @type {?} */
|
|
10
10
|
const API_END_POINTS = {
|
|
11
11
|
PROVIDER_INSIGHTS: `/apis/proxies/v8/microsite/read/insights`,
|
|
12
|
-
TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search
|
|
12
|
+
TRAINING_DETAILS: `apis/proxies/v8/sunbirdigot/search`,
|
|
13
|
+
ANNOUNCEMENTS_DETAILS: `apis/proxies/v8/announcements/v1/search`
|
|
13
14
|
};
|
|
14
15
|
export class InsiteDataService {
|
|
15
16
|
/**
|
|
@@ -25,6 +26,13 @@ export class InsiteDataService {
|
|
|
25
26
|
fetchSearchData(request) {
|
|
26
27
|
return this.http.post(API_END_POINTS.PROVIDER_INSIGHTS, request);
|
|
27
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* @param {?} request
|
|
31
|
+
* @return {?}
|
|
32
|
+
*/
|
|
33
|
+
fetchAnnouncementsData(request) {
|
|
34
|
+
return this.http.post(API_END_POINTS.ANNOUNCEMENTS_DETAILS, request);
|
|
35
|
+
}
|
|
28
36
|
/**
|
|
29
37
|
* @param {?} request
|
|
30
38
|
* @return {?}
|
|
@@ -50,4 +58,4 @@ if (false) {
|
|
|
50
58
|
*/
|
|
51
59
|
InsiteDataService.prototype.http;
|
|
52
60
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zaXRlLWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy9pbnNpdGUtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztNQUdyQyxjQUFjLEdBQUc7SUFDckIsaUJBQWlCLEVBQUUsMENBQTBDO0lBQzdELGdCQUFnQixFQUFFLG9DQUFvQztJQUN0RCxxQkFBcUIsRUFBRSx5Q0FBeUM7Q0FDakU7QUFLRCxNQUFNLE9BQU8saUJBQWlCOzs7O0lBRTVCLFlBQ1UsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDOzs7OztJQUNKLGVBQWUsQ0FBQyxPQUFZO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sY0FBYyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7Ozs7O0lBRUQsc0JBQXNCLENBQUMsT0FBWTtRQUNqQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLGNBQWMsQ0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUMzRSxDQUFDOzs7OztJQUdELG9CQUFvQixDQUFDLE9BQVk7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDdEUsQ0FBQzs7O1lBbkJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQVpRLFVBQVU7Ozs7Ozs7O0lBZ0JmLGlDQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IEFQSV9FTkRfUE9JTlRTID0ge1xuICBQUk9WSURFUl9JTlNJR0hUUzogYC9hcGlzL3Byb3hpZXMvdjgvbWljcm9zaXRlL3JlYWQvaW5zaWdodHNgLFxuICBUUkFJTklOR19ERVRBSUxTOiBgYXBpcy9wcm94aWVzL3Y4L3N1bmJpcmRpZ290L3NlYXJjaGAsXG4gIEFOTk9VTkNFTUVOVFNfREVUQUlMUzogYGFwaXMvcHJveGllcy92OC9hbm5vdW5jZW1lbnRzL3YxL3NlYXJjaGBcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgSW5zaXRlRGF0YVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICApIHt9XG4gIGZldGNoU2VhcmNoRGF0YShyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KEFQSV9FTkRfUE9JTlRTLlBST1ZJREVSX0lOU0lHSFRTLCByZXF1ZXN0KVxuICB9XG5cbiAgZmV0Y2hBbm5vdW5jZW1lbnRzRGF0YShyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KEFQSV9FTkRfUE9JTlRTLkFOTk9VTkNFTUVOVFNfREVUQUlMUywgcmVxdWVzdClcbiAgfVxuXG5cbiAgZmV0Y2hUcmFpbmluZ0RldGFpbHMocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihBUElfRU5EX1BPSU5UUy5UUkFJTklOR19ERVRBSUxTLCByZXF1ZXN0KVxuICB9XG59XG4iXX0=
|
|
@@ -796,6 +796,14 @@ export class WidgetContentService {
|
|
|
796
796
|
req.query = req.query || '';
|
|
797
797
|
return this.http.post(apiUrl, req);
|
|
798
798
|
}
|
|
799
|
+
/**
|
|
800
|
+
* @param {?} apiUrl
|
|
801
|
+
* @return {?}
|
|
802
|
+
*/
|
|
803
|
+
getApiMethod(apiUrl) {
|
|
804
|
+
// req.query = req.query || '';
|
|
805
|
+
return this.http.get(apiUrl);
|
|
806
|
+
}
|
|
799
807
|
}
|
|
800
808
|
WidgetContentService.decorators = [
|
|
801
809
|
{ type: Injectable, args: [{
|
|
@@ -842,4 +850,4 @@ if (false) {
|
|
|
842
850
|
WidgetContentService.prototype.configSvc;
|
|
843
851
|
}
|
|
844
852
|
export { ɵ0, ɵ1, ɵ2, ɵ3 };
|
|
845
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUc1RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQTtBQUMzQixPQUFPLEVBQUcsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMzRCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7Ozs7TUFDNUIsTUFBTSxHQUFHLE9BQU87Ozs7TUFJaEIsaUJBQWlCLEdBQUcsb0JBQW9COzs7Ozs7QUF5QnRCLENBQUMsSUFBWSxFQUFFLEVBQVUsRUFBRSxFQUFFLENBQ2pELEdBQUcsaUJBQWlCLHVCQUF1QixJQUFJLElBQUksRUFBRSxFQUFFOzs7O0FBRWxDLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsR0FBRyxpQkFBaUIsa0JBQWtCLFNBQVMsRUFBRTs7OztBQVFoRixDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxpQkFBaUIsdUNBQXVDLE1BQU0sRUFBRTs7OztBQUVyRixDQUFDLFNBQWMsRUFBRSxF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QztJQUNoQixDQUFDOzs7Ozs7SUFDRCxhQUFhLENBQUMsTUFBVyxFQUFFLEdBQVE7UUFDakMsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxQixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7O1lBbmdCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFoRVEsVUFBVTtZQUVWLHFCQUFxQjs7Ozs7SUFzRTVCLDZDQUFrRDs7SUFDbEQsOENBQW9EOzs7OztJQUVwRCw2Q0FBK0M7O0lBQy9DLDhDQUF5RDs7SUFDekQsK0NBQXFDOztJQUNyQywwREFBZ0Q7O0lBQ2hELDBEQUFpRDs7SUFDakQsNERBQTREOztJQUM1RCw2REFBaUY7Ozs7O0lBZC9FLG9DQUF3Qjs7Ozs7SUFDeEIseUNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBFTVBUWSwgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCByZXRyeSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuLi9fbW9kZWxzL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnO1xuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi4vX21vZGVscy93aWRnZXQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBOU1NlYXJjaCB9IGZyb20gJy4uL19tb2RlbHMvd2lkZ2V0LXNlYXJjaC5tb2RlbCc7XG4vLyB0c2xpbnQ6ZGlzYWJsZVxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyAgdmlld2VyUm91dGVHZW5lcmF0b3IgfSBmcm9tICcuL3ZpZXdlci1yb3V0ZS11dGlsJ1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gbW9tZW50Xztcbi8vIHRzbGludDplbmFibGVcblxuLy8gVE9ETzogbW92ZSB0aGlzIGluIHNvbWUgY29tbW9uIHBsYWNlXG5jb25zdCBQUk9URUNURURfU0xBR19WOCA9ICcvYXBpcy9wcm90ZWN0ZWQvdjgnO1xuXG5jb25zdCBBUElfRU5EX1BPSU5UUyA9IHtcbiAgQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnRgLFxuICBBVVRIT1JJTkdfQ09OVEVOVDogYC9hcGkvY291cnNlL3YxL2hpZXJhcmNoeWAsXG4gIENPTlRFTlRfTElLRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2xpa2VDb3VudGAsXG4gIFNFVF9TM19DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldENvb2tpZWAsXG4gIFNFVF9TM19JTUFHRV9DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldEltYWdlQ29va2llYCxcbiAgRkVUQ0hfTUFOSUZFU1Q6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZU1hbmlmZXN0YCxcbiAgRkVUQ0hfV0VCX01PRFVMRV9GSUxFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlRmlsZXNgLFxuICBNVUxUSVBMRV9DT05URU5UOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9tdWx0aXBsZWAsXG4gIENPTlRFTlRfU0VBUkNIX1Y1OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNWAsXG4gIENPTlRFTlRfU0VBUkNIX1Y2OiBgL2FwaXMvcHJveGllcy92OC9zdW5iaXJkaWdvdC9zZWFyY2hgLFxuICBUUkVORElOR19DT05URU5UX1NFQVJDSDogYGFwaXMvcHJveGllcy92OC90cmVuZGluZy9jb250ZW50L3NlYXJjaGAsXG4gIENPTlRFTlRfU0VBUkNIX1JFTEFURURfQ0JQX1Y2OiBgL2FwaXMvcHJveGllcy92OC9zdW5iaXJkaWdvdC9zZWFyY2hgLFxuICBDT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT046IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uYCxcbiAgQ09OVEVOVF9ISVNUT1JZOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5YCxcbiAgQ09OVEVOVF9ISVNUT1JZVjI6IGAvYXBpcy9wcm94aWVzL3Y4L3JlYWQvY29udGVudC1wcm9ncmVzYCxcbiAgQ09VUlNFX0JBVENIX0xJU1Q6IGAvYXBpcy9wcm94aWVzL3Y4L2xlYXJuZXIvY291cnNlL3YxL2JhdGNoL2xpc3RgLFxuICBDT1VSU0VfQkFUQ0g6IGAvYXBpcy9wcm94aWVzL3Y4L2NvdXJzZS92MS9iYXRjaC9yZWFkYCxcbiAgQVVUT19BU1NJR05fQkFUQ0g6IGAvYXBpcy9wcm90ZWN0ZWQvdjgvY29ob3J0cy91c2VyL2F1dG9lbnJvbGxtZW50L2AsXG4gIEFVVE9fQVNTSUdOX0NVUkFURURfQkFUQ0g6IGAvYXBpcy9wcm94aWVzL3Y4L2N1cmF0ZWRwcm9ncmFtL3YxL2Vucm9sYCxcbiAgQVVUT19BU1NJR05fT1BFTl9QUk9HUkFNOiBgL2FwaXMvcHJveGllcy92OC9vcGVucHJvZ3JhbS92MS9lbnJvbGAsXG4gIFVTRVJfQ09OVElOVUVfTEVBUk5JTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnkvY29udGludWVgLFxuICBDT05URU5UX1JBVElORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nYCxcbiAgQ09MTEVDVElPTl9ISUVSQVJDSFk6ICh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcpID0+XG4gICAgYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvY29sbGVjdGlvbi8ke3R5cGV9LyR7aWR9YCxcbiAgUkVHSVNUUkFUSU9OX1NUQVRVUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2FkbWluL3VzZXJSZWdpc3RyYXRpb24vY2hlY2tVc2VyUmVnaXN0cmF0aW9uQ29udGVudGAsXG4gIE1BUktfQVNfQ09NUExFVEVfTUVUQTogKGNvbnRlbnRJZDogc3RyaW5nKSA9PiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9wcm9ncmVzcy8ke2NvbnRlbnRJZH1gLFxuICBFTlJPTExfQkFUQ0g6IGAvYXBpcy9wcm94aWVzL3Y4L2xlYXJuZXIvY291cnNlL3YxL2Vucm9sYCxcbiAgRU5ST0xMX0JBVENIX1dGOiBgL2FwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS9lbnJvbGAsXG4gIFdJVEhEUkFXX0JBVENIX1dGOiBgL2FwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS91bmVucm9sYCxcbiAgQkxFTkRFRF9VU0VSX1dGOiBgL2FwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS91c2VyL3NlYXJjaGAsXG4gIEJMRU5ERURfVVNFUl9DT1VOVDogYGFwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS9lbnJvbC9zdGF0dXMvY291bnRgLFxuICBDRVJUX0FERF9URU1QTEFURTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvaG9ydHMvY291cnNlL2JhdGNoL2NlcnQvdGVtcGxhdGUvYWRkYCxcbiAgQ0VSVF9JU1NVRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvaG9ydHMvY291cnNlL2JhdGNoL2NlcnQvaXNzdWVgLFxuICBDRVJUX0RPV05MT0FEOiAoY2VydElkOiBhbnkpID0+IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb2hvcnRzL2NvdXJzZS9iYXRjaC9jZXJ0L2Rvd25sb2FkLyR7Y2VydElkfWAsXG4gIFJFQURfS0FSTUFQT0lOVFM6IGAvYXBpcy9wcm94aWVzL3Y4L2thcm1hcG9pbnRzL3JlYWRgLFxuICBDT05URU5UX1JFQUQ6IChjb250ZW50SWQ6IGFueSkgPT4gYC9hcGlzL3Byb3hpZXMvdjgvYWN0aW9uL2NvbnRlbnQvdjMvcmVhZC8ke2NvbnRlbnRJZH1gLFxuICBSRUFEX0NPVVJTRV9LQVJNQVBPSU5UUzogJy9hcGlzL3Byb3hpZXMvdjgva2FybWFwb2ludHMvdXNlci9jb3Vyc2UvcmVhZCcsXG4gIENMQUlNX0tBUk1BUE9JTlRTOiAnL2FwaXMvcHJveGllcy92OC9jbGFpbWthcm1hcG9pbnRzJyxcbiAgVVNFUl9LQVJNQV9QT0lOVFM6ICcvYXBpcy9wcm94aWVzL3Y4L3VzZXIvdG90YWxrYXJtYXBvaW50cycsXG4gIEFHR1JFR0FUSU9OX1NFQVJDSDogJy9hcGlzL3Byb3hpZXMvdjgvY29udGVudC9hZ2dyZWdhdGlvbi9zZWFyY2gnLFxuICBGRUFUVVJFX1NFQVJDSDogJy9hcGlzL3Byb3hpZXMvdjgvZmVhdHVyZWQvY29udGVudC9zZWFyY2gnLFxufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldENvbnRlbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgdG9jQ29uZmlnRGF0YTogYW55ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcbiAgdG9jQ29uZmlnRGF0YSQgID0gdGhpcy50b2NDb25maWdEYXRhLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgdGVsZW1ldHJ5RGF0YTogYW55ID0gbmV3IFN1YmplY3Q8YW55PigpXG4gIHB1YmxpYyB0ZWxlbWV0cnlEYXRhJCA9IHRoaXMudGVsZW1ldHJ5RGF0YS5hc09ic2VydmFibGUoKVxuICBjdXJyZW50TWV0YURhdGEhOiBOc0NvbnRlbnQuSUNvbnRlbnQ7XG4gIGN1cnJlbnRDb250ZW50UmVhZE1ldGFEYXRhITogTnNDb250ZW50LklDb250ZW50O1xuICBjdXJyZW50QmF0Y2hFbnJvbGxtZW50TGlzdCE6IE5zQ29udGVudC5JQ291cnNlW107XG4gIHByb2dyYW1DaGlsZENvdXJzZVJlc3VtZURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe30pO1xuICBwcm9ncmFtQ2hpbGRDb3Vyc2VSZXN1bWVEYXRhJCA9IHRoaXMucHJvZ3JhbUNoaWxkQ291cnNlUmVzdW1lRGF0YS5hc09ic2VydmFibGUoKTtcblxuICBjaGFuZ2VUZWxlbWV0cnlEYXRhKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMudGVsZW1ldHJ5RGF0YS5uZXh0KG1lc3NhZ2UpO1xuICB9XG4gIGlzUmVzb3VyY2UocHJpbWFyeUNhdGVnb3J5OiBzdHJpbmcpIHtcbiAgICBpZiAocHJpbWFyeUNhdGVnb3J5KSB7XG4gICAgICBjb25zdCBpc1Jlc291cmNlID0gKHByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVSZXNvdXJjZVByaW1hcnlDYXRlZ29yaWVzLkxFQVJOSU5HX1JFU09VUkNFKSB8fFxuICAgICAgICAocHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVJlc291cmNlUHJpbWFyeUNhdGVnb3JpZXMuUFJBQ1RJQ0VfUkVTT1VSQ0UpIHx8XG4gICAgICAgIChwcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUmVzb3VyY2VQcmltYXJ5Q2F0ZWdvcmllcy5GSU5BTF9BU1NFU1NNRU5UKSB8fFxuICAgICAgICAocHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVJlc291cmNlUHJpbWFyeUNhdGVnb3JpZXMuQ09NUF9BU1NFU1NNRU5UKSB8fFxuICAgICAgICAocHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVJlc291cmNlUHJpbWFyeUNhdGVnb3JpZXMuT0ZGTElORV9TRVNTSU9OKTtcbiAgICAgIHJldHVybiBpc1Jlc291cmNlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmZXRjaE1hcmtBc0NvbXBsZXRlTWV0YShpZGVudGlmaWVyOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLk1BUktfQVNfQ09NUExFVEVfTUVUQShpZGVudGlmaWVyKVxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkudG9Qcm9taXNlKClcbiAgICBpZiAodXJsKSB7IH1cbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHVwZGF0ZVRvY0NvbmZpZyhkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnRvY0NvbmZpZ0RhdGEubmV4dChkYXRhKTtcbiAgfVxuXG4gIGZldGNoQ29udGVudChcbiAgICBjb250ZW50SWQ6IHN0cmluZyxcbiAgICBoaWVyYXJjaHlUeXBlOiAnYWxsJyB8ICdtaW5pbWFsJyB8ICdkZXRhaWwnID0gJ2RldGFpbCcsXG4gICAgX2FkZGl0aW9uYWxGaWVsZHM6IHN0cmluZ1tdID0gW10sXG4gICAgcHJpbWFyeUNhdGVnb3J5Pzogc3RyaW5nIHwgbnVsbCxcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcbiAgICAvLyBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UfS8ke2NvbnRlbnRJZH0/aGllcmFyY2h5VHlwZT0ke2hpZXJhcmNoeVR5cGV9YFxuICAgIGxldCB1cmwgPSAnJztcbiAgICBjb25zdCBmb3JQcmV2aWV3ID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJy9wdWJsaWMvJykgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJyZwcmV2aWV3PXRydWUnKTtcbiAgICBpZiAocHJpbWFyeUNhdGVnb3J5ICYmIHRoaXMuaXNSZXNvdXJjZShwcmltYXJ5Q2F0ZWdvcnkpKSB7XG4gICAgICBpZiAoIWZvclByZXZpZXcpIHtcbiAgICAgICAgdXJsID0gYC9hcGlzL3Byb3hpZXMvdjgvYWN0aW9uL2NvbnRlbnQvdjMvcmVhZC8ke2NvbnRlbnRJZH1gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXJsID0gYC9hcGkvY29udGVudC92MS9yZWFkLyR7Y29udGVudElkfWA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghZm9yUHJldmlldykge1xuICAgICAgICB1cmwgPSBgL2FwaXMvcHJveGllcy92OC9hY3Rpb24vY29udGVudC92My9oaWVyYXJjaHkvJHtjb250ZW50SWR9P2hpZXJhcmNoeVR5cGU9JHtoaWVyYXJjaHlUeXBlfWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBmb3JjcmVhdG9yID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJ2VkaXRNb2RlPXRydWUnKTtcbiAgICAgICAgaWYgKGZvcmNyZWF0b3IpIHtcbiAgICAgICAgICB1cmwgPSBgYXBpcy9wcm94aWVzL3Y4L2FjdGlvbi9jb250ZW50L3YzL2hpZXJhcmNoeS8ke2NvbnRlbnRJZH0/bW9kZT1lZGl0YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwgPSBgL2FwaS9jb3Vyc2UvdjEvaGllcmFyY2h5LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPSR7aGllcmFyY2h5VHlwZX1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcbiAgICAvLyAgIC5wb3N0PE5zQ29udGVudC5JQ29udGVudD4odXJsLCB7IGFkZGl0aW9uYWxGaWVsZHMgfSlcbiAgICAvLyAgIC5waXBlKHJldHJ5KDEpKVxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8TnNDb250ZW50LklDb250ZW50Pih1cmwpXG4gICAgICAucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgLy8gaWYgKGFwaURhdGEgJiYgYXBpRGF0YS5yZXN1bHQpIHtcbiAgICAvLyAgIHJldHVybiBhcGlEYXRhLnJlc3VsdC5jb250ZW50XG4gICAgLy8gfVxuICB9XG4gIGZldGNoQXV0aG9yaW5nQ29udGVudChjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XG4gICAgY29uc3QgZm9yY3JlYXRvciA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCdlZGl0TW9kZT10cnVlJyk7XG4gICAgbGV0IHVybCA9ICcnO1xuICAgIGlmIChmb3JjcmVhdG9yKSB7XG4gICAgICB1cmwgPSBgYXBpcy9wcm94aWVzL3Y4L2FjdGlvbi9jb250ZW50L3YzL2hpZXJhcmNoeS8ke2NvbnRlbnRJZH0/bW9kZT1lZGl0YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQVVUSE9SSU5HX0NPTlRFTlR9LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPWRldGFpbGA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudD4odXJsKS5waXBlKHNoYXJlUmVwbGF5KDEpLCByID0+IHIpO1xuICB9XG4gIGZldGNoTXVsdGlwbGVDb250ZW50KGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KFxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuTVVMVElQTEVfQ09OVEVOVH0vJHtpZHMuam9pbignLCcpfWAsXG4gICAgKTtcbiAgfVxuICBmZXRjaENvbGxlY3Rpb25IaWVyYXJjaHkodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIgPSAwLCBwYWdlU2l6ZTogbnVtYmVyID0gMSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlPihcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTExFQ1RJT05fSElFUkFSQ0hZKFxuICAgICAgICB0eXBlLFxuICAgICAgICBpZCxcbiAgICAgICl9P3BhZ2VOdW1iZXI9JHtwYWdlTnVtYmVyfSZwYWdlU2l6ZT0ke3BhZ2VTaXplfWAsXG4gICAgKTtcbiAgfVxuXG4gIGZldGNoQmxlbmRlZENvdXJzZSgpIHtcblxuICB9XG5cbiAgZmV0Y2hDb3Vyc2VCYXRjaGVzKHJlcTogYW55KTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUJhdGNoTGlzdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8TnNDb250ZW50LklCYXRjaExpc3RSZXNwb25zZT4oQVBJX0VORF9QT0lOVFMuQ09VUlNFX0JBVENIX0xJU1QsIHJlcSlcbiAgICAgIC5waXBlKFxuICAgICAgICByZXRyeSgxKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEucmVzdWx0LnJlc3BvbnNlXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICAvLyBmZXRjaCBpbmRpdmlkdWFsIGJhdGNoXG4gIGZldGNoQ291cnNlQmF0Y2goYmF0Y2hJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4oXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT1VSU0VfQkFUQ0h9LyR7YmF0Y2hJZH1gLFxuICAgICk7XG4gIH1cblxuICBhdXRvQXNzaWduQmF0Y2hBcGkoaWRlbnRpZmllcjogYW55KTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUJhdGNoTGlzdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklCYXRjaExpc3RSZXNwb25zZT4oYCR7QVBJX0VORF9QT0lOVFMuQVVUT19BU1NJR05fQkFUQ0h9JHtpZGVudGlmaWVyfWApXG4gICAgICAucGlwZShcbiAgICAgICAgcmV0cnkoMSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoZGF0YTogYW55KSA9PiBkYXRhLnJlc3VsdC5yZXNwb25zZVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgYXV0b0Fzc2lnbkN1cmF0ZWRCYXRjaEFwaShyZXF1ZXN0OiBhbnksIHByb2dyYW1UeXBlOiBhbnkpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQmF0Y2hMaXN0UmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBwcm9ncmFtVHlwZSA9PT0gTnNDb250ZW50LkVDb3Vyc2VDYXRlZ29yeS5NT0RFUkFURURfUFJPR1JBTSA/XG4gICAgQVBJX0VORF9QT0lOVFMuQVVUT19BU1NJR05fT1BFTl9QUk9HUkFNIDogQVBJX0VORF9QT0lOVFMuQVVUT19BU1NJR05fQ1VSQVRFRF9CQVRDSDtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50LklCYXRjaExpc3RSZXNwb25zZT4oYCR7dXJsfWAsIHJlcXVlc3QpXG4gICAgICAucGlwZShcbiAgICAgICAgcmV0cnkoMSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoZGF0YTogYW55KSA9PiBkYXRhLnJlc3VsdC5yZXNwb25zZVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZW5yb2xsVXNlclRvQmF0Y2gocmVxOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChBUElfRU5EX1BPSU5UUy5FTlJPTExfQkFUQ0gsIHJlcSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGVucm9sbEFuZFVuZW5yb2xsVXNlclRvQmF0Y2hXRihyZXE6IGFueSwgdHlwZTogYW55KSB7XG4gICAgY29uc3QgdXJsOiBhbnkgPSB0eXBlID09PSAnV0lUSERSQVcnID8gQVBJX0VORF9QT0lOVFMuV0lUSERSQVdfQkFUQ0hfV0YgOiBBUElfRU5EX1BPSU5UUy5FTlJPTExfQkFUQ0hfV0Y7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCByZXEpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBmZXRjaEJsZW5kZWRVc2VyV0YocmVxOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChBUElfRU5EX1BPSU5UUy5CTEVOREVEX1VTRVJfV0YsIHJlcSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGZldGNoQmxlbmRlZFVzZXJDT1VOVChyZXE6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KEFQSV9FTkRfUE9JTlRTLkJMRU5ERURfVVNFUl9DT1VOVCwgcmVxKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZmV0Y2hDb250ZW50TGlrZXMoY29udGVudElkczogeyBjb250ZW50X2lkOiBzdHJpbmdbXSB9KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8eyBbaWRlbnRpZmllcjogc3RyaW5nXTogbnVtYmVyIH0+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfTElLRVMsIGNvbnRlbnRJZHMpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbiAgZmV0Y2hDb250ZW50UmF0aW5ncyhjb250ZW50SWRzOiB7IGNvbnRlbnRJZHM6IHN0cmluZ1tdIH0pIHtcbiAgICBpZiAoY29udGVudElkcykgeyB9XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cFxuICAgIC8vICAgLnBvc3QoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9L3JhdGluZ2AsIGNvbnRlbnRJZHMpXG4gICAgLy8gICAudG9Qcm9taXNlKClcbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGZldGNoQ29udGVudEhpc3RvcnkoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPihcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfSElTVE9SWX0vJHtjb250ZW50SWR9YCxcbiAgICApO1xuICB9XG5cbiAgZmV0Y2hDb250ZW50SGlzdG9yeVYyKHJlcTogTnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YVJlcSk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4ge1xuICAgIHJlcS5yZXF1ZXN0LmZpZWxkcyA9IFsncHJvZ3Jlc3NkZXRhaWxzJ107XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuaHR0cC5wb3N0PE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+KFxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9ISVNUT1JZVjJ9LyR7cmVxLnJlcXVlc3QuY291cnNlSWR9YCwgcmVxXG4gICAgKTtcbiAgICBkYXRhLnN1YnNjcmliZSgoc3Vic2NyaWJlRGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5wcm9ncmFtQ2hpbGRDb3Vyc2VSZXN1bWVEYXRhLm5leHQoeyByZXN1bWVEYXRhOiBzdWJzY3JpYmVEYXRhLnJlc3VsdC5jb250ZW50TGlzdCwgY291cnNlSWQ6IHJlcS5yZXF1ZXN0LmNvdXJzZUlkIH0pO1xuICAgICAgICB9KTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGFzeW5jIGNvbnRpbnVlTGVhcm5pbmcoaWQ6IHN0cmluZywgY29sbGVjdGlvbklkPzogc3RyaW5nLCBjb2xsZWN0aW9uVHlwZT86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb25UeXBlICYmXG4gICAgICAgIGNvbGxlY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdwbGF5bGlzdCcpIHtcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICBjb250ZXh0RnVsbFBhdGg6IFtjb2xsZWN0aW9uSWQsIGlkXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXG4gICAgICAgICAgY29udGV4dFR5cGU6ICdwbGF5bGlzdCcsXG4gICAgICAgIH07XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdGltZXN0YW1wOiBEYXRlLm5vdygpIH0pLFxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcbiAgICAgICAgfTtcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlQ29udGludWVMZWFybmluZyhyZXFCb2R5KS50b1Byb21pc2UoKS5jYXRjaCgpLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHNhdmVDb250aW51ZUxlYXJuaW5nKGNvbnRlbnQ6IE5zQ29udGVudC5JVmlld2VyQ29udGludWVMZWFybmluZ1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIC8vIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLlVTRVJfQ09OVElOVUVfTEVBUk5JTkdcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGNvbnRlbnQpXG4gICAgaWYgKGNvbnRlbnQpIHtcblxuICAgIH1cbiAgICByZXR1cm4gb2YoKSBhcyBhbnk7XG4gIH1cblxuICBzZXRTM0Nvb2tpZShcbiAgICBfY29udGVudElkOiBzdHJpbmcsXG4gICAgLy8gX3BhdGg6IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwXG4gICAgLy8gICAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfQ09PS0lFLCB7IGNvbnRlbnRJZCB9KVxuICAgIC8vICAgLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcblxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIHNldFMzSW1hZ2VDb29raWUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0lNQUdFX0NPT0tJRSwge30pLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSk7XG4gIH1cblxuICBmZXRjaE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuRkVUQ0hfTUFOSUZFU1QsIHsgdXJsIH0pO1xuICB9XG4gIGZldGNoV2ViTW9kdWxlQ29udGVudCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7QVBJX0VORF9QT0lOVFMuRkVUQ0hfV0VCX01PRFVMRV9GSUxFU30/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVybCl9YCk7XG4gIH1cbiAgc2VhcmNoKHJlcTogTlNTZWFyY2guSVNlYXJjaFJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+IHtcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y1LCB7XG4gICAgICByZXF1ZXN0OiByZXEsXG4gICAgfSk7XG4gIH1cbiAgc2VhcmNoUmVnaW9uUmVjb21tZW5kYXRpb24oXG4gICAgcmVxOiBOU1NlYXJjaC5JU2VhcmNoT3JnUmVnaW9uUmVjb21tZW5kYXRpb25SZXF1ZXN0LFxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPiB7XG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnO1xuICAgIHJlcS5wcmVMYWJlbFZhbHVlID1cbiAgICAgIChyZXEucHJlTGFiZWxWYWx1ZSB8fCAnJykgK1xuICAgICAgKCh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5jb3VudHJ5KSB8fCAnJyk7XG4gICAgcmVxLmZpbHRlcnMgPSB7XG4gICAgICAuLi5yZXEuZmlsdGVycyxcbiAgICAgIGxhYmVsczogW3JlcS5wcmVMYWJlbFZhbHVlIHx8ICcnXSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4oXG4gICAgICBBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT04sXG4gICAgICB7IHJlcXVlc3Q6IHJlcSB9LFxuICAgICk7XG4gIH1cbiAgc2VhcmNoVjYocmVxOiBOU1NlYXJjaC5JU2VhcmNoVjZSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHRWMj4ge1xuICAgIGNvbnN0IGFwaVBhdGggPSBfLmdldChyZXEsICdhcGkucGF0aCcpO1xuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJztcbiAgICBpZiAoYXBpUGF0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0VjI+KGFwaVBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0VjI+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y2LCByZXEpO1xuICB9XG5cbiAgc2VhcmNoUmVsYXRlZENCUFY2KHJlcTogTlNTZWFyY2guSVNlYXJjaFY2UmVxdWVzdFYyKTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHRWMj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHRWMj4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfUkVMQVRFRF9DQlBfVjYsIHJlcSk7XG4gIH1cblxuICBmZXRjaENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgcmF0aW5nOiBudW1iZXIgfT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgcmF0aW5nOiBudW1iZXIgfT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApO1xuICB9XG4gIGRlbGV0ZUNvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKTtcbiAgfVxuICBhZGRDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nLCBkYXRhOiB7IHJhdGluZzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gLCBkYXRhKTtcbiAgfVxuXG4gIGdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQpOiBOc0NvbnRlbnQuSUNvbnRlbnQge1xuICAgIGlmICghKGNvbnRlbnQuY2hpbGRyZW4gfHwgW10pLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIChjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJPR1JBTSAmJlxuICAgICAgICAhKGNvbnRlbnQuYXJ0aWZhY3RVcmwgJiYgY29udGVudC5hcnRpZmFjdFVybC5sZW5ndGgpKSB8fFxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5Lk1BTkRBVE9SWV9DT1VSU0VfR09BTCB8fFxuICAgICAgKGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5CTEVOREVEX1BST0dSQU0gJiZcbiAgICAgICAgIShjb250ZW50LmFydGlmYWN0VXJsICYmIGNvbnRlbnQuYXJ0aWZhY3RVcmwubGVuZ3RoKSkgfHxcbiAgICAgIChjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuTU9EVUxFICYmXG4gICAgICAgICEoY29udGVudC5hcnRpZmFjdFVybCAmJiBjb250ZW50LmFydGlmYWN0VXJsLmxlbmd0aCkpXG4gICAgKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF07XG4gICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY2hpbGQpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUkVTT1VSQ0UgfHxcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5LTk9XTEVER0VfQVJUSUZBQ1QgfHxcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUk9HUkFNIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJBQ1RJQ0VfUkVTT1VSQ0UgfHxcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5GSU5BTF9BU1NFU1NNRU5UIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuQ09NUF9BU1NFU1NNRU5UIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuQkxFTkRFRF9QUk9HUkFNIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuT0ZGTElORV9TRVNTSU9OXG4gICAgKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RDaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF07XG4gICAgY29uc3QgcmVzdWx0Q29udGVudCA9IHRoaXMuZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGZpcnN0Q2hpbGQpO1xuICAgIHJldHVybiByZXN1bHRDb250ZW50O1xuICB9XG5cbiAgZ2V0UmVnaXN0cmF0aW9uU3RhdHVzKHNvdXJjZTogc3RyaW5nKTogUHJvbWlzZTx7IGhhc0FjY2VzczogYm9vbGVhbjsgcmVnaXN0cmF0aW9uVXJsPzogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLlJFR0lTVFJBVElPTl9TVEFUVVN9LyR7c291cmNlfWApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZmV0Y2hDb25maWcodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICBhZGRDZXJ0VGVtcGxhdGUoYm9keTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNFUlRfQUREX1RFTVBMQVRFfWAsIGJvZHkpO1xuICB9XG5cbiAgaXNzdWVDZXJ0KGJvZHk6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNFUlRfSVNTVUV9YCwgYm9keSk7XG4gIH1cbiAgZG93bmxvYWRDZXJ0KGNlcnRJZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHtBUElfRU5EX1BPSU5UUy5DRVJUX0RPV05MT0FEKGNlcnRJZCl9YCk7XG4gIH1cblxuICB0cmVuZGluZ0NvbnRlbnRTZWFyY2gocmVxOiBhbnkpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50LklDb250ZW50PihBUElfRU5EX1BPSU5UUy5UUkVORElOR19DT05URU5UX1NFQVJDSCwgcmVxKTtcbiAgfVxuXG4gIGdldEthcm1hUG9pdG5zKGxpbWl0OiBudW1iZXIsIG9mZnNldDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLlJFQURfS0FSTUFQT0lOVFMsIHsgbGltaXQsIG9mZnNldCB9KS5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpO1xuICB9XG4gIGZldGNoUHJvZ3JhbUNvbnRlbnQoY29udGVudElkOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50W10+IHtcbiAgICBsZXQgdXJsID0gJyc7XG4gICAgY29uc3QgZm9yUHJldmlldyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCcvcHVibGljLycpIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCcmcHJldmlldz10cnVlJyk7XG4gICAgaWYgKCFmb3JQcmV2aWV3KSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnRbXT4oXG4gICAgICAgIEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkVBRChjb250ZW50SWQpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdXJsID0gYC9hcGkvY29udGVudC92MS9yZWFkLyR7Y29udGVudElkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KHVybCk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkVBRChjb250ZW50SWQpKVxuICB9XG5cbiAgZ2V0Q291cnNlS2FybWFQb2ludHMocmVxdWVzdDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0VORF9QT0lOVFMuUkVBRF9DT1VSU0VfS0FSTUFQT0lOVFMsIHJlcXVlc3QpO1xuICB9XG5cbiAgY2xhaW1LYXJtYXBvaW50cyhyZXF1ZXN0OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihBUElfRU5EX1BPSU5UUy5DTEFJTV9LQVJNQVBPSU5UUywgcmVxdWVzdCk7XG4gIH1cblxuICB1c2VyS2FybWFQb2ludHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0VORF9QT0lOVFMuVVNFUl9LQVJNQV9QT0lOVFMsIHt9KTtcbiAgfVxuXG4gIGdldEVucm9sbGVkRGF0YShkb0lkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBlbnJvbGxtZW50TWFwRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Vucm9sbG1lbnRNYXBEYXRhJykgfHwgJ3t9Jyk7XG4gICAgY29uc3QgZW5yb2xsZWRDb3Vyc2VEYXRhID0gZW5yb2xsbWVudE1hcERhdGFbZG9JZF07XG4gICAgcmV0dXJuIGVucm9sbGVkQ291cnNlRGF0YTtcbiAgfVxuXG4gIGFzeW5jIGdldFJlc291cnNlTGluayhjb250ZW50OiBhbnkpIHtcbiAgICBjb25zdCBlbnJvbGxlZENvdXJzZURhdGE6IGFueSA9IHRoaXMuZ2V0RW5yb2xsZWREYXRhKGNvbnRlbnQuaWRlbnRpZmllcik7XG4gICAgaWYgKGVucm9sbGVkQ291cnNlRGF0YSkge1xuICAgICAgaWYgKGVucm9sbGVkQ291cnNlRGF0YS5jb250ZW50LmNvdXJzZUNhdGVnb3J5ID09PSAgTnNDb250ZW50LkVDb3Vyc2VDYXRlZ29yeS5CTEVOREVEX1BST0dSQU0gfHxcbiAgICAgICAgZW5yb2xsZWRDb3Vyc2VEYXRhLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkgPT09ICBOc0NvbnRlbnQuRUNvdXJzZUNhdGVnb3J5LklOVklURV9PTkxZX1BST0dSQU0gfHxcbiAgICAgICAgZW5yb2xsZWRDb3Vyc2VEYXRhLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkgPT09ICBOc0NvbnRlbnQuRUNvdXJzZUNhdGVnb3J5Lk1PREVSQVRFRF9QUk9HUkFNIHx8XG4gICAgICAgIGVucm9sbGVkQ291cnNlRGF0YS5jb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gIE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LkJMRU5ERURfUFJPR1JBTSB8fFxuICAgICAgICBlbnJvbGxlZENvdXJzZURhdGEuY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09ICBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUk9HUkFNKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmlzQmF0Y2hJblByb2dyZXNzKGVucm9sbGVkQ291cnNlRGF0YS5iYXRjaCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdvdG9Ub2NQYWdlKGNvbnRlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBkYXRhID0gIGF3YWl0IHRoaXMuY2hlY2tGb3JEYXRhVG9Gb3JtVXJsKGNvbnRlbnQsIGVucm9sbGVkQ291cnNlRGF0YSk7XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9ICB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSAgYXdhaXQgdGhpcy5jaGVja0ZvckRhdGFUb0Zvcm1VcmwoY29udGVudCwgZW5yb2xsZWRDb3Vyc2VEYXRhKTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG5cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ290b1RvY1BhZ2UoY29udGVudCk7XG5cbiAgfVxuICBhc3luYyBjaGVja0ZvckRhdGFUb0Zvcm1VcmwoY29udGVudDogYW55LCBlbnJvbGxEYXRhOiBhbnkpIHtcbiAgICBsZXQgdXJsRGF0YTogYW55O1xuICAgIGlmIChlbnJvbGxEYXRhLmNvbXBsZXRpb25QZXJjZW50YWdlICA9PT0gMTAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5nb3RvVG9jUGFnZShlbnJvbGxEYXRhKTtcbiAgICB9XG4gICAgaWYgKGVucm9sbERhdGEubHJjUHJvZ3Jlc3NEZXRhaWxzICYmIGVucm9sbERhdGEubHJjUHJvZ3Jlc3NEZXRhaWxzLm1pbWVUeXBlKSB7XG4gICAgICBjb25zdCBtb2RpZnlFbnJvbGxEYXRhICA9IHtcbiAgICAgICAgLi4uZW5yb2xsRGF0YSxcbiAgICAgICAgaWRlbnRpZmllcjogZW5yb2xsRGF0YS5jb2xsZWN0aW9uSWQsXG4gICAgICAgIHByaW1hcnlDYXRlZ29yeTogZW5yb2xsRGF0YS5jb250ZW50LnByaW1hcnlDYXRlZ29yeSxcbiAgICAgICAgbmFtZTogZW5yb2xsRGF0YS5jb250ZW50Lm5hbWUsXG4gICAgICB9O1xuICAgICAgaWYgKG1vZGlmeUVucm9sbERhdGEubGFzdFJlYWRDb250ZW50SWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3Vyc2VEYXRhV2l0aERhdGEobW9kaWZ5RW5yb2xsRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5yb2xsRGF0YS5sYXN0UmVhZENvbnRlbnRJZCwgZW5yb2xsRGF0YS5scmNQcm9ncmVzc0RldGFpbHMubWltZVR5cGUpO1xuICAgICAgfVxuICAgICAgaWYgKG1vZGlmeUVucm9sbERhdGEuZmlyc3RDaGlsZElkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJlc291cnNlRGF0YVdpdGhEYXRhKG1vZGlmeUVucm9sbERhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVucm9sbERhdGEuZmlyc3RDaGlsZElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnJvbGxEYXRhLmxyY1Byb2dyZXNzRGV0YWlscy5taW1lVHlwZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbnJvbGxEYXRhLmZpcnN0Q2hpbGRJZCB8fCBlbnJvbGxEYXRhLmxhc3RSZWFkQ29udGVudElkKSB7XG4gICAgICAgIGNvbnN0IGRvSWQgPSBlbnJvbGxEYXRhLmZpcnN0Q2hpbGRJZCB8fCBlbnJvbGxEYXRhLmxhc3RSZWFkQ29udGVudElkO1xuICAgICAgICBjb25zdCByZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmZldGNoUHJvZ3JhbUNvbnRlbnQoZG9JZCkudG9Qcm9taXNlKCkudGhlbihhc3luYyAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5yZXN1bHQgJiYgcmVzLnJlc3VsdC5jb250ZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50RGF0YTogYW55ID0gcmVzLnJlc3VsdC5jb250ZW50O1xuICAgICAgICAgICAgY29uc3QgbW9kaWZ5RW5yb2xsRGF0YSAgPSB7XG4gICAgICAgICAgICAgIC4uLmVucm9sbERhdGEsXG4gICAgICAgICAgICAgIGlkZW50aWZpZXI6IGVucm9sbERhdGEuY29sbGVjdGlvbklkLFxuICAgICAgICAgICAgICBwcmltYXJ5Q2F0ZWdvcnk6IGVucm9sbERhdGEuY29udGVudC5wcmltYXJ5Q2F0ZWdvcnksXG4gICAgICAgICAgICAgIG5hbWU6IGVucm9sbERhdGEuY29udGVudC5uYW1lLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHVybERhdGEgPSAgdGhpcy5nZXRSZXNvdXJzZURhdGFXaXRoRGF0YShtb2RpZnlFbnJvbGxEYXRhLCBjb250ZW50RGF0YS5pZGVudGlmaWVyLCBjb250ZW50RGF0YS5taW1lVHlwZSk7XG4gICAgICAgICAgICBpZiAodXJsRGF0YSkge1xuICAgICAgICAgICAgICByZXR1cm4gdXJsRGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2VEYXRhID8gcmVzcG9uc2VEYXRhIDogdGhpcy5nb3RvVG9jUGFnZShjb250ZW50KTtcbiAgICAgIH1cbiAgICByZXR1cm4gdGhpcy5nb3RvVG9jUGFnZShjb250ZW50KTtcblxuICB9XG5cbiAgZ2V0UmVzb3Vyc2VEYXRhV2l0aERhdGEoY29udGVudDogYW55LCByZXNvdXJzZUlkOiBhbnksIG1pbWVUeXBlOiBhbnkpIHtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29uc3QgdXJsID0gdmlld2VyUm91dGVHZW5lcmF0b3IoXG4gICAgICAgIHJlc291cnNlSWQsXG4gICAgICAgIG1pbWVUeXBlLFxuICAgICAgICBjb250ZW50LmlkZW50aWZpZXIsXG4gICAgICAgICdDb3Vyc2UnLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgJ0xlYXJuaW5nIFJlc291cmNlJyxcbiAgICAgICAgY29udGVudC5iYXRjaElkLFxuICAgICAgICBjb250ZW50Lm5hbWUsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ290b1RvY1BhZ2UoY29udGVudCk7XG4gIH1cbiAgZ290b1RvY1BhZ2UoY29udGVudDogYW55KSB7XG4gICAgY29uc3QgdXJsRGF0YTogYW55ID0ge1xuICAgICAgdXJsOiBgL2FwcC90b2MvJHtjb250ZW50LmlkZW50aWZpZXIgPyBjb250ZW50LmlkZW50aWZpZXIgOiBjb250ZW50LmNvbGxlY3Rpb25JZH0vb3ZlcnZpZXdgLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgYmF0Y2hJZDogY29udGVudC5iYXRjaElkIH0sXG4gICAgfTtcbiAgICBpZiAoY29udGVudC5lbmREYXRlKSB7XG4gICAgICB1cmxEYXRhLnF1ZXJ5UGFyYW1zID0geyAuLi51cmxEYXRhLnF1ZXJ5UGFyYW1zLCBwbGFuVHlwZTogJ2NiUGxhbicsIGVuZERhdGU6IGNvbnRlbnQuZW5kRGF0ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gdXJsRGF0YTtcbiAgfVxuICBpc0JhdGNoSW5Qcm9ncmVzcyhiYXRjaERhdGE6IGFueSkge1xuICAgIC8vIGlmICh0aGlzLmNvbnRlbnQgJiYgdGhpcy5jb250ZW50WydiYXRjaGVzJ10pIHtcbiAgICAvLyBjb25zdCBiYXRjaGVzID0gdGhpcy5jb250ZW50WydiYXRjaGVzJ10gYXMgTnNDb250ZW50LklCYXRjaFxuICAgIGlmIChiYXRjaERhdGEgJiYgYmF0Y2hEYXRhLmVuZERhdGUpIHtcbiAgICAgIGNvbnN0IG5vdyA9IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gbW9tZW50KGJhdGNoRGF0YS5zdGFydERhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IGJhdGNoRGF0YS5lbmREYXRlID8gbW9tZW50KGJhdGNoRGF0YS5lbmREYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKSA6IG5vdztcbiAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAvLyBiYXRjaC5zdGF0dXMgJiZcbiAgICAgICAgICAgIG1vbWVudChzdGFydERhdGUpLmlzU2FtZU9yQmVmb3JlKG5vdylcbiAgICAgICAgICAgICYmIG1vbWVudChlbmREYXRlKS5pc1NhbWVPckFmdGVyKG5vdylcbiAgICAgICAgICApO1xuICAgIH0gcmV0dXJuIHRydWU7XG4gIH1cbiAgcG9zdEFwaU1ldGhvZChhcGlVcmw6IGFueSwgcmVxOiBhbnkpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50LklDb250ZW50PihhcGlVcmwsIHJlcSk7XG4gIH1cbn1cbiJdfQ==
|
|
853
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsibGliL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUc1RCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQTtBQUMzQixPQUFPLEVBQUcsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUMzRCxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQzs7Ozs7TUFDNUIsTUFBTSxHQUFHLE9BQU87Ozs7TUFJaEIsaUJBQWlCLEdBQUcsb0JBQW9COzs7Ozs7QUF5QnRCLENBQUMsSUFBWSxFQUFFLEVBQVUsRUFBRSxFQUFFLENBQ2pELEdBQUcsaUJBQWlCLHVCQUF1QixJQUFJLElBQUksRUFBRSxFQUFFOzs7O0FBRWxDLENBQUMsU0FBaUIsRUFBRSxFQUFFLENBQUMsR0FBRyxpQkFBaUIsa0JBQWtCLFNBQVMsRUFBRTs7OztBQVFoRixDQUFDLE1BQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxpQkFBaUIsdUNBQXVDLE1BQU0sRUFBRTs7OztBQUVyRixDQUFDLFNBQWMsRUFBRSxF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QztJQUNoQixDQUFDOzs7Ozs7SUFDRCxhQUFhLENBQUMsTUFBVyxFQUFFLEdBQVE7UUFDakMsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxQixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekQsQ0FBQzs7Ozs7SUFDRCxZQUFZLENBQUMsTUFBVztRQUN0QiwrQkFBK0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBcUIsTUFBTSxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7O1lBdmdCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFoRVEsVUFBVTtZQUVWLHFCQUFxQjs7Ozs7SUFzRTVCLDZDQUFrRDs7SUFDbEQsOENBQW9EOzs7OztJQUVwRCw2Q0FBK0M7O0lBQy9DLDhDQUF5RDs7SUFDekQsK0NBQXFDOztJQUNyQywwREFBZ0Q7O0lBQ2hELDBEQUFpRDs7SUFDakQsNERBQTREOztJQUM1RCw2REFBaUY7Ozs7O0lBZC9FLG9DQUF3Qjs7Ozs7SUFDeEIseUNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBFTVBUWSwgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCByZXRyeSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuLi9fbW9kZWxzL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnO1xuaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi4vX21vZGVscy93aWRnZXQtY29udGVudC5tb2RlbCc7XG5pbXBvcnQgeyBOU1NlYXJjaCB9IGZyb20gJy4uL19tb2RlbHMvd2lkZ2V0LXNlYXJjaC5tb2RlbCc7XG4vLyB0c2xpbnQ6ZGlzYWJsZVxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnXG5pbXBvcnQgeyAgdmlld2VyUm91dGVHZW5lcmF0b3IgfSBmcm9tICcuL3ZpZXdlci1yb3V0ZS11dGlsJ1xuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnO1xuY29uc3QgbW9tZW50ID0gbW9tZW50Xztcbi8vIHRzbGludDplbmFibGVcblxuLy8gVE9ETzogbW92ZSB0aGlzIGluIHNvbWUgY29tbW9uIHBsYWNlXG5jb25zdCBQUk9URUNURURfU0xBR19WOCA9ICcvYXBpcy9wcm90ZWN0ZWQvdjgnO1xuXG5jb25zdCBBUElfRU5EX1BPSU5UUyA9IHtcbiAgQ09OVEVOVDogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnRgLFxuICBBVVRIT1JJTkdfQ09OVEVOVDogYC9hcGkvY291cnNlL3YxL2hpZXJhcmNoeWAsXG4gIENPTlRFTlRfTElLRVM6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2xpa2VDb3VudGAsXG4gIFNFVF9TM19DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldENvb2tpZWAsXG4gIFNFVF9TM19JTUFHRV9DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldEltYWdlQ29va2llYCxcbiAgRkVUQ0hfTUFOSUZFU1Q6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2dldFdlYk1vZHVsZU1hbmlmZXN0YCxcbiAgRkVUQ0hfV0VCX01PRFVMRV9GSUxFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlRmlsZXNgLFxuICBNVUxUSVBMRV9DT05URU5UOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9tdWx0aXBsZWAsXG4gIENPTlRFTlRfU0VBUkNIX1Y1OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNWAsXG4gIENPTlRFTlRfU0VBUkNIX1Y2OiBgL2FwaXMvcHJveGllcy92OC9zdW5iaXJkaWdvdC9zZWFyY2hgLFxuICBUUkVORElOR19DT05URU5UX1NFQVJDSDogYGFwaXMvcHJveGllcy92OC90cmVuZGluZy9jb250ZW50L3NlYXJjaGAsXG4gIENPTlRFTlRfU0VBUkNIX1JFTEFURURfQ0JQX1Y2OiBgL2FwaXMvcHJveGllcy92OC9zdW5iaXJkaWdvdC9zZWFyY2hgLFxuICBDT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT046IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NlYXJjaFJlZ2lvblJlY29tbWVuZGF0aW9uYCxcbiAgQ09OVEVOVF9ISVNUT1JZOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5YCxcbiAgQ09OVEVOVF9ISVNUT1JZVjI6IGAvYXBpcy9wcm94aWVzL3Y4L3JlYWQvY29udGVudC1wcm9ncmVzYCxcbiAgQ09VUlNFX0JBVENIX0xJU1Q6IGAvYXBpcy9wcm94aWVzL3Y4L2xlYXJuZXIvY291cnNlL3YxL2JhdGNoL2xpc3RgLFxuICBDT1VSU0VfQkFUQ0g6IGAvYXBpcy9wcm94aWVzL3Y4L2NvdXJzZS92MS9iYXRjaC9yZWFkYCxcbiAgQVVUT19BU1NJR05fQkFUQ0g6IGAvYXBpcy9wcm90ZWN0ZWQvdjgvY29ob3J0cy91c2VyL2F1dG9lbnJvbGxtZW50L2AsXG4gIEFVVE9fQVNTSUdOX0NVUkFURURfQkFUQ0g6IGAvYXBpcy9wcm94aWVzL3Y4L2N1cmF0ZWRwcm9ncmFtL3YxL2Vucm9sYCxcbiAgQVVUT19BU1NJR05fT1BFTl9QUk9HUkFNOiBgL2FwaXMvcHJveGllcy92OC9vcGVucHJvZ3JhbS92MS9lbnJvbGAsXG4gIFVTRVJfQ09OVElOVUVfTEVBUk5JTkc6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL2hpc3RvcnkvY29udGludWVgLFxuICBDT05URU5UX1JBVElORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nYCxcbiAgQ09MTEVDVElPTl9ISUVSQVJDSFk6ICh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcpID0+XG4gICAgYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvY29sbGVjdGlvbi8ke3R5cGV9LyR7aWR9YCxcbiAgUkVHSVNUUkFUSU9OX1NUQVRVUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2FkbWluL3VzZXJSZWdpc3RyYXRpb24vY2hlY2tVc2VyUmVnaXN0cmF0aW9uQ29udGVudGAsXG4gIE1BUktfQVNfQ09NUExFVEVfTUVUQTogKGNvbnRlbnRJZDogc3RyaW5nKSA9PiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9wcm9ncmVzcy8ke2NvbnRlbnRJZH1gLFxuICBFTlJPTExfQkFUQ0g6IGAvYXBpcy9wcm94aWVzL3Y4L2xlYXJuZXIvY291cnNlL3YxL2Vucm9sYCxcbiAgRU5ST0xMX0JBVENIX1dGOiBgL2FwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS9lbnJvbGAsXG4gIFdJVEhEUkFXX0JBVENIX1dGOiBgL2FwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS91bmVucm9sYCxcbiAgQkxFTkRFRF9VU0VSX1dGOiBgL2FwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS91c2VyL3NlYXJjaGAsXG4gIEJMRU5ERURfVVNFUl9DT1VOVDogYGFwaXMvcHJveGllcy92OC93b3JrZmxvdy9ibGVuZGVkcHJvZ3JhbS9lbnJvbC9zdGF0dXMvY291bnRgLFxuICBDRVJUX0FERF9URU1QTEFURTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvaG9ydHMvY291cnNlL2JhdGNoL2NlcnQvdGVtcGxhdGUvYWRkYCxcbiAgQ0VSVF9JU1NVRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvaG9ydHMvY291cnNlL2JhdGNoL2NlcnQvaXNzdWVgLFxuICBDRVJUX0RPV05MT0FEOiAoY2VydElkOiBhbnkpID0+IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb2hvcnRzL2NvdXJzZS9iYXRjaC9jZXJ0L2Rvd25sb2FkLyR7Y2VydElkfWAsXG4gIFJFQURfS0FSTUFQT0lOVFM6IGAvYXBpcy9wcm94aWVzL3Y4L2thcm1hcG9pbnRzL3JlYWRgLFxuICBDT05URU5UX1JFQUQ6IChjb250ZW50SWQ6IGFueSkgPT4gYC9hcGlzL3Byb3hpZXMvdjgvYWN0aW9uL2NvbnRlbnQvdjMvcmVhZC8ke2NvbnRlbnRJZH1gLFxuICBSRUFEX0NPVVJTRV9LQVJNQVBPSU5UUzogJy9hcGlzL3Byb3hpZXMvdjgva2FybWFwb2ludHMvdXNlci9jb3Vyc2UvcmVhZCcsXG4gIENMQUlNX0tBUk1BUE9JTlRTOiAnL2FwaXMvcHJveGllcy92OC9jbGFpbWthcm1hcG9pbnRzJyxcbiAgVVNFUl9LQVJNQV9QT0lOVFM6ICcvYXBpcy9wcm94aWVzL3Y4L3VzZXIvdG90YWxrYXJtYXBvaW50cycsXG4gIEFHR1JFR0FUSU9OX1NFQVJDSDogJy9hcGlzL3Byb3hpZXMvdjgvY29udGVudC9hZ2dyZWdhdGlvbi9zZWFyY2gnLFxuICBGRUFUVVJFX1NFQVJDSDogJy9hcGlzL3Byb3hpZXMvdjgvZmVhdHVyZWQvY29udGVudC9zZWFyY2gnLFxufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFdpZGdldENvbnRlbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgdG9jQ29uZmlnRGF0YTogYW55ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHt9KTtcbiAgdG9jQ29uZmlnRGF0YSQgID0gdGhpcy50b2NDb25maWdEYXRhLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByaXZhdGUgdGVsZW1ldHJ5RGF0YTogYW55ID0gbmV3IFN1YmplY3Q8YW55PigpXG4gIHB1YmxpYyB0ZWxlbWV0cnlEYXRhJCA9IHRoaXMudGVsZW1ldHJ5RGF0YS5hc09ic2VydmFibGUoKVxuICBjdXJyZW50TWV0YURhdGEhOiBOc0NvbnRlbnQuSUNvbnRlbnQ7XG4gIGN1cnJlbnRDb250ZW50UmVhZE1ldGFEYXRhITogTnNDb250ZW50LklDb250ZW50O1xuICBjdXJyZW50QmF0Y2hFbnJvbGxtZW50TGlzdCE6IE5zQ29udGVudC5JQ291cnNlW107XG4gIHByb2dyYW1DaGlsZENvdXJzZVJlc3VtZURhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4oe30pO1xuICBwcm9ncmFtQ2hpbGRDb3Vyc2VSZXN1bWVEYXRhJCA9IHRoaXMucHJvZ3JhbUNoaWxkQ291cnNlUmVzdW1lRGF0YS5hc09ic2VydmFibGUoKTtcblxuICBjaGFuZ2VUZWxlbWV0cnlEYXRhKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMudGVsZW1ldHJ5RGF0YS5uZXh0KG1lc3NhZ2UpO1xuICB9XG4gIGlzUmVzb3VyY2UocHJpbWFyeUNhdGVnb3J5OiBzdHJpbmcpIHtcbiAgICBpZiAocHJpbWFyeUNhdGVnb3J5KSB7XG4gICAgICBjb25zdCBpc1Jlc291cmNlID0gKHByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVSZXNvdXJjZVByaW1hcnlDYXRlZ29yaWVzLkxFQVJOSU5HX1JFU09VUkNFKSB8fFxuICAgICAgICAocHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVJlc291cmNlUHJpbWFyeUNhdGVnb3JpZXMuUFJBQ1RJQ0VfUkVTT1VSQ0UpIHx8XG4gICAgICAgIChwcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUmVzb3VyY2VQcmltYXJ5Q2F0ZWdvcmllcy5GSU5BTF9BU1NFU1NNRU5UKSB8fFxuICAgICAgICAocHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVJlc291cmNlUHJpbWFyeUNhdGVnb3JpZXMuQ09NUF9BU1NFU1NNRU5UKSB8fFxuICAgICAgICAocHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVJlc291cmNlUHJpbWFyeUNhdGVnb3JpZXMuT0ZGTElORV9TRVNTSU9OKTtcbiAgICAgIHJldHVybiBpc1Jlc291cmNlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmZXRjaE1hcmtBc0NvbXBsZXRlTWV0YShpZGVudGlmaWVyOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLk1BUktfQVNfQ09NUExFVEVfTUVUQShpZGVudGlmaWVyKVxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCkudG9Qcm9taXNlKClcbiAgICBpZiAodXJsKSB7IH1cbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIHVwZGF0ZVRvY0NvbmZpZyhkYXRhOiBhbnkpIHtcbiAgICB0aGlzLnRvY0NvbmZpZ0RhdGEubmV4dChkYXRhKTtcbiAgfVxuXG4gIGZldGNoQ29udGVudChcbiAgICBjb250ZW50SWQ6IHN0cmluZyxcbiAgICBoaWVyYXJjaHlUeXBlOiAnYWxsJyB8ICdtaW5pbWFsJyB8ICdkZXRhaWwnID0gJ2RldGFpbCcsXG4gICAgX2FkZGl0aW9uYWxGaWVsZHM6IHN0cmluZ1tdID0gW10sXG4gICAgcHJpbWFyeUNhdGVnb3J5Pzogc3RyaW5nIHwgbnVsbCxcbiAgKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcbiAgICAvLyBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UfS8ke2NvbnRlbnRJZH0/aGllcmFyY2h5VHlwZT0ke2hpZXJhcmNoeVR5cGV9YFxuICAgIGxldCB1cmwgPSAnJztcbiAgICBjb25zdCBmb3JQcmV2aWV3ID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJy9wdWJsaWMvJykgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJyZwcmV2aWV3PXRydWUnKTtcbiAgICBpZiAocHJpbWFyeUNhdGVnb3J5ICYmIHRoaXMuaXNSZXNvdXJjZShwcmltYXJ5Q2F0ZWdvcnkpKSB7XG4gICAgICBpZiAoIWZvclByZXZpZXcpIHtcbiAgICAgICAgdXJsID0gYC9hcGlzL3Byb3hpZXMvdjgvYWN0aW9uL2NvbnRlbnQvdjMvcmVhZC8ke2NvbnRlbnRJZH1gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXJsID0gYC9hcGkvY29udGVudC92MS9yZWFkLyR7Y29udGVudElkfWA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghZm9yUHJldmlldykge1xuICAgICAgICB1cmwgPSBgL2FwaXMvcHJveGllcy92OC9hY3Rpb24vY29udGVudC92My9oaWVyYXJjaHkvJHtjb250ZW50SWR9P2hpZXJhcmNoeVR5cGU9JHtoaWVyYXJjaHlUeXBlfWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBmb3JjcmVhdG9yID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJ2VkaXRNb2RlPXRydWUnKTtcbiAgICAgICAgaWYgKGZvcmNyZWF0b3IpIHtcbiAgICAgICAgICB1cmwgPSBgYXBpcy9wcm94aWVzL3Y4L2FjdGlvbi9jb250ZW50L3YzL2hpZXJhcmNoeS8ke2NvbnRlbnRJZH0/bW9kZT1lZGl0YDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwgPSBgL2FwaS9jb3Vyc2UvdjEvaGllcmFyY2h5LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPSR7aGllcmFyY2h5VHlwZX1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcbiAgICAvLyAgIC5wb3N0PE5zQ29udGVudC5JQ29udGVudD4odXJsLCB7IGFkZGl0aW9uYWxGaWVsZHMgfSlcbiAgICAvLyAgIC5waXBlKHJldHJ5KDEpKVxuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5nZXQ8TnNDb250ZW50LklDb250ZW50Pih1cmwpXG4gICAgICAucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gICAgLy8gaWYgKGFwaURhdGEgJiYgYXBpRGF0YS5yZXN1bHQpIHtcbiAgICAvLyAgIHJldHVybiBhcGlEYXRhLnJlc3VsdC5jb250ZW50XG4gICAgLy8gfVxuICB9XG4gIGZldGNoQXV0aG9yaW5nQ29udGVudChjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XG4gICAgY29uc3QgZm9yY3JlYXRvciA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCdlZGl0TW9kZT10cnVlJyk7XG4gICAgbGV0IHVybCA9ICcnO1xuICAgIGlmIChmb3JjcmVhdG9yKSB7XG4gICAgICB1cmwgPSBgYXBpcy9wcm94aWVzL3Y4L2FjdGlvbi9jb250ZW50L3YzL2hpZXJhcmNoeS8ke2NvbnRlbnRJZH0/bW9kZT1lZGl0YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQVVUSE9SSU5HX0NPTlRFTlR9LyR7Y29udGVudElkfT9oaWVyYXJjaHlUeXBlPWRldGFpbGA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudD4odXJsKS5waXBlKHNoYXJlUmVwbGF5KDEpLCByID0+IHIpO1xuICB9XG4gIGZldGNoTXVsdGlwbGVDb250ZW50KGlkczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KFxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuTVVMVElQTEVfQ09OVEVOVH0vJHtpZHMuam9pbignLCcpfWAsXG4gICAgKTtcbiAgfVxuICBmZXRjaENvbGxlY3Rpb25IaWVyYXJjaHkodHlwZTogc3RyaW5nLCBpZDogc3RyaW5nLCBwYWdlTnVtYmVyOiBudW1iZXIgPSAwLCBwYWdlU2l6ZTogbnVtYmVyID0gMSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlPihcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTExFQ1RJT05fSElFUkFSQ0hZKFxuICAgICAgICB0eXBlLFxuICAgICAgICBpZCxcbiAgICAgICl9P3BhZ2VOdW1iZXI9JHtwYWdlTnVtYmVyfSZwYWdlU2l6ZT0ke3BhZ2VTaXplfWAsXG4gICAgKTtcbiAgfVxuXG4gIGZldGNoQmxlbmRlZENvdXJzZSgpIHtcblxuICB9XG5cbiAgZmV0Y2hDb3Vyc2VCYXRjaGVzKHJlcTogYW55KTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUJhdGNoTGlzdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8TnNDb250ZW50LklCYXRjaExpc3RSZXNwb25zZT4oQVBJX0VORF9QT0lOVFMuQ09VUlNFX0JBVENIX0xJU1QsIHJlcSlcbiAgICAgIC5waXBlKFxuICAgICAgICByZXRyeSgxKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEucmVzdWx0LnJlc3BvbnNlXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICAvLyBmZXRjaCBpbmRpdmlkdWFsIGJhdGNoXG4gIGZldGNoQ291cnNlQmF0Y2goYmF0Y2hJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4oXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT1VSU0VfQkFUQ0h9LyR7YmF0Y2hJZH1gLFxuICAgICk7XG4gIH1cblxuICBhdXRvQXNzaWduQmF0Y2hBcGkoaWRlbnRpZmllcjogYW55KTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUJhdGNoTGlzdFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklCYXRjaExpc3RSZXNwb25zZT4oYCR7QVBJX0VORF9QT0lOVFMuQVVUT19BU1NJR05fQkFUQ0h9JHtpZGVudGlmaWVyfWApXG4gICAgICAucGlwZShcbiAgICAgICAgcmV0cnkoMSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoZGF0YTogYW55KSA9PiBkYXRhLnJlc3VsdC5yZXNwb25zZVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgYXV0b0Fzc2lnbkN1cmF0ZWRCYXRjaEFwaShyZXF1ZXN0OiBhbnksIHByb2dyYW1UeXBlOiBhbnkpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQmF0Y2hMaXN0UmVzcG9uc2U+IHtcbiAgICBjb25zdCB1cmwgPSBwcm9ncmFtVHlwZSA9PT0gTnNDb250ZW50LkVDb3Vyc2VDYXRlZ29yeS5NT0RFUkFURURfUFJPR1JBTSA/XG4gICAgQVBJX0VORF9QT0lOVFMuQVVUT19BU1NJR05fT1BFTl9QUk9HUkFNIDogQVBJX0VORF9QT0lOVFMuQVVUT19BU1NJR05fQ1VSQVRFRF9CQVRDSDtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50LklCYXRjaExpc3RSZXNwb25zZT4oYCR7dXJsfWAsIHJlcXVlc3QpXG4gICAgICAucGlwZShcbiAgICAgICAgcmV0cnkoMSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoZGF0YTogYW55KSA9PiBkYXRhLnJlc3VsdC5yZXNwb25zZVxuICAgICAgICApXG4gICAgICApO1xuICB9XG5cbiAgZW5yb2xsVXNlclRvQmF0Y2gocmVxOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChBUElfRU5EX1BPSU5UUy5FTlJPTExfQkFUQ0gsIHJlcSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGVucm9sbEFuZFVuZW5yb2xsVXNlclRvQmF0Y2hXRihyZXE6IGFueSwgdHlwZTogYW55KSB7XG4gICAgY29uc3QgdXJsOiBhbnkgPSB0eXBlID09PSAnV0lUSERSQVcnID8gQVBJX0VORF9QT0lOVFMuV0lUSERSQVdfQkFUQ0hfV0YgOiBBUElfRU5EX1BPSU5UUy5FTlJPTExfQkFUQ0hfV0Y7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3QodXJsLCByZXEpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBmZXRjaEJsZW5kZWRVc2VyV0YocmVxOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdChBUElfRU5EX1BPSU5UUy5CTEVOREVEX1VTRVJfV0YsIHJlcSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGZldGNoQmxlbmRlZFVzZXJDT1VOVChyZXE6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgIC5wb3N0KEFQSV9FTkRfUE9JTlRTLkJMRU5ERURfVVNFUl9DT1VOVCwgcmVxKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZmV0Y2hDb250ZW50TGlrZXMoY29udGVudElkczogeyBjb250ZW50X2lkOiBzdHJpbmdbXSB9KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8eyBbaWRlbnRpZmllcjogc3RyaW5nXTogbnVtYmVyIH0+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfTElLRVMsIGNvbnRlbnRJZHMpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbiAgZmV0Y2hDb250ZW50UmF0aW5ncyhjb250ZW50SWRzOiB7IGNvbnRlbnRJZHM6IHN0cmluZ1tdIH0pIHtcbiAgICBpZiAoY29udGVudElkcykgeyB9XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cFxuICAgIC8vICAgLnBvc3QoYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9L3JhdGluZ2AsIGNvbnRlbnRJZHMpXG4gICAgLy8gICAudG9Qcm9taXNlKClcbiAgICByZXR1cm4gb2YoKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGZldGNoQ29udGVudEhpc3RvcnkoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRpbnVlTGVhcm5pbmdEYXRhPihcbiAgICAgIGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfSElTVE9SWX0vJHtjb250ZW50SWR9YCxcbiAgICApO1xuICB9XG5cbiAgZmV0Y2hDb250ZW50SGlzdG9yeVYyKHJlcTogTnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YVJlcSk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250aW51ZUxlYXJuaW5nRGF0YT4ge1xuICAgIHJlcS5yZXF1ZXN0LmZpZWxkcyA9IFsncHJvZ3Jlc3NkZXRhaWxzJ107XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuaHR0cC5wb3N0PE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+KFxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9ISVNUT1JZVjJ9LyR7cmVxLnJlcXVlc3QuY291cnNlSWR9YCwgcmVxXG4gICAgKTtcbiAgICBkYXRhLnN1YnNjcmliZSgoc3Vic2NyaWJlRGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5wcm9ncmFtQ2hpbGRDb3Vyc2VSZXN1bWVEYXRhLm5leHQoeyByZXN1bWVEYXRhOiBzdWJzY3JpYmVEYXRhLnJlc3VsdC5jb250ZW50TGlzdCwgY291cnNlSWQ6IHJlcS5yZXF1ZXN0LmNvdXJzZUlkIH0pO1xuICAgICAgICB9KTtcbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIGFzeW5jIGNvbnRpbnVlTGVhcm5pbmcoaWQ6IHN0cmluZywgY29sbGVjdGlvbklkPzogc3RyaW5nLCBjb2xsZWN0aW9uVHlwZT86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb25UeXBlICYmXG4gICAgICAgIGNvbGxlY3Rpb25UeXBlLnRvTG93ZXJDYXNlKCkgPT09ICdwbGF5bGlzdCcpIHtcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcbiAgICAgICAgICBjb250ZXh0UGF0aElkOiBjb2xsZWN0aW9uSWQgPyBjb2xsZWN0aW9uSWQgOiBpZCxcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICBjb250ZXh0RnVsbFBhdGg6IFtjb2xsZWN0aW9uSWQsIGlkXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBkYXRlQWNjZXNzZWQ6IERhdGUubm93KCksXG4gICAgICAgICAgY29udGV4dFR5cGU6ICdwbGF5bGlzdCcsXG4gICAgICAgIH07XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZUNvbnRpbnVlTGVhcm5pbmcocmVxQm9keSkudG9Qcm9taXNlKCkuY2F0Y2goKS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxuICAgICAgICAgIHJlc291cmNlSWQ6IGlkLFxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdGltZXN0YW1wOiBEYXRlLm5vdygpIH0pLFxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcbiAgICAgICAgfTtcbiAgICAgICAgYXdhaXQgdGhpcy5zYXZlQ29udGludWVMZWFybmluZyhyZXFCb2R5KS50b1Byb21pc2UoKS5jYXRjaCgpLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHNhdmVDb250aW51ZUxlYXJuaW5nKGNvbnRlbnQ6IE5zQ29udGVudC5JVmlld2VyQ29udGludWVMZWFybmluZ1JlcXVlc3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIC8vIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLlVTRVJfQ09OVElOVUVfTEVBUk5JTkdcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGNvbnRlbnQpXG4gICAgaWYgKGNvbnRlbnQpIHtcblxuICAgIH1cbiAgICByZXR1cm4gb2YoKSBhcyBhbnk7XG4gIH1cblxuICBzZXRTM0Nvb2tpZShcbiAgICBfY29udGVudElkOiBzdHJpbmcsXG4gICAgLy8gX3BhdGg6IHN0cmluZyxcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwXG4gICAgLy8gICAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfQ09PS0lFLCB7IGNvbnRlbnRJZCB9KVxuICAgIC8vICAgLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSlcblxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIHNldFMzSW1hZ2VDb29raWUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuU0VUX1MzX0lNQUdFX0NPT0tJRSwge30pLnBpcGUoY2F0Y2hFcnJvcihfZXJyID0+IG9mKHRydWUpKSk7XG4gIH1cblxuICBmZXRjaE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoQVBJX0VORF9QT0lOVFMuRkVUQ0hfTUFOSUZFU1QsIHsgdXJsIH0pO1xuICB9XG4gIGZldGNoV2ViTW9kdWxlQ29udGVudCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7QVBJX0VORF9QT0lOVFMuRkVUQ0hfV0VCX01PRFVMRV9GSUxFU30/dXJsPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHVybCl9YCk7XG4gIH1cbiAgc2VhcmNoKHJlcTogTlNTZWFyY2guSVNlYXJjaFJlcXVlc3QpOiBPYnNlcnZhYmxlPE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+IHtcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hBcGlSZXN1bHQ+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y1LCB7XG4gICAgICByZXF1ZXN0OiByZXEsXG4gICAgfSk7XG4gIH1cbiAgc2VhcmNoUmVnaW9uUmVjb21tZW5kYXRpb24oXG4gICAgcmVxOiBOU1NlYXJjaC5JU2VhcmNoT3JnUmVnaW9uUmVjb21tZW5kYXRpb25SZXF1ZXN0LFxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPiB7XG4gICAgcmVxLnF1ZXJ5ID0gcmVxLnF1ZXJ5IHx8ICcnO1xuICAgIHJlcS5wcmVMYWJlbFZhbHVlID1cbiAgICAgIChyZXEucHJlTGFiZWxWYWx1ZSB8fCAnJykgK1xuICAgICAgKCh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS5jb3VudHJ5KSB8fCAnJyk7XG4gICAgcmVxLmZpbHRlcnMgPSB7XG4gICAgICAuLi5yZXEuZmlsdGVycyxcbiAgICAgIGxhYmVsczogW3JlcS5wcmVMYWJlbFZhbHVlIHx8ICcnXSxcbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4oXG4gICAgICBBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9SRUdJT05fUkVDT01NRU5EQVRJT04sXG4gICAgICB7IHJlcXVlc3Q6IHJlcSB9LFxuICAgICk7XG4gIH1cbiAgc2VhcmNoVjYocmVxOiBOU1NlYXJjaC5JU2VhcmNoVjZSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHRWMj4ge1xuICAgIGNvbnN0IGFwaVBhdGggPSBfLmdldChyZXEsICdhcGkucGF0aCcpO1xuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJztcbiAgICBpZiAoYXBpUGF0aCkge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0VjI+KGFwaVBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TlNTZWFyY2guSVNlYXJjaFY2QXBpUmVzdWx0VjI+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1Y2LCByZXEpO1xuICB9XG5cbiAgc2VhcmNoUmVsYXRlZENCUFY2KHJlcTogTlNTZWFyY2guSVNlYXJjaFY2UmVxdWVzdFYyKTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHRWMj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHRWMj4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfUkVMQVRFRF9DQlBfVjYsIHJlcSk7XG4gIH1cblxuICBmZXRjaENvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgcmF0aW5nOiBudW1iZXIgfT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHsgcmF0aW5nOiBudW1iZXIgfT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWApO1xuICB9XG4gIGRlbGV0ZUNvbnRlbnRSYXRpbmcoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKTtcbiAgfVxuICBhZGRDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nLCBkYXRhOiB7IHJhdGluZzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gLCBkYXRhKTtcbiAgfVxuXG4gIGdldEZpcnN0Q2hpbGRJbkhpZXJhcmNoeShjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQpOiBOc0NvbnRlbnQuSUNvbnRlbnQge1xuICAgIGlmICghKGNvbnRlbnQuY2hpbGRyZW4gfHwgW10pLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIChjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJPR1JBTSAmJlxuICAgICAgICAhKGNvbnRlbnQuYXJ0aWZhY3RVcmwgJiYgY29udGVudC5hcnRpZmFjdFVybC5sZW5ndGgpKSB8fFxuICAgICAgY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5Lk1BTkRBVE9SWV9DT1VSU0VfR09BTCB8fFxuICAgICAgKGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5CTEVOREVEX1BST0dSQU0gJiZcbiAgICAgICAgIShjb250ZW50LmFydGlmYWN0VXJsICYmIGNvbnRlbnQuYXJ0aWZhY3RVcmwubGVuZ3RoKSkgfHxcbiAgICAgIChjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuTU9EVUxFICYmXG4gICAgICAgICEoY29udGVudC5hcnRpZmFjdFVybCAmJiBjb250ZW50LmFydGlmYWN0VXJsLmxlbmd0aCkpXG4gICAgKSB7XG4gICAgICBjb25zdCBjaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF07XG4gICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY2hpbGQpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUkVTT1VSQ0UgfHxcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5LTk9XTEVER0VfQVJUSUZBQ1QgfHxcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUk9HUkFNIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuUFJBQ1RJQ0VfUkVTT1VSQ0UgfHxcbiAgICAgIGNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5GSU5BTF9BU1NFU1NNRU5UIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuQ09NUF9BU1NFU1NNRU5UIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuQkxFTkRFRF9QUk9HUkFNIHx8XG4gICAgICBjb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVQcmltYXJ5Q2F0ZWdvcnkuT0ZGTElORV9TRVNTSU9OXG4gICAgKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RDaGlsZCA9IGNvbnRlbnQuY2hpbGRyZW5bMF07XG4gICAgY29uc3QgcmVzdWx0Q29udGVudCA9IHRoaXMuZ2V0Rmlyc3RDaGlsZEluSGllcmFyY2h5KGZpcnN0Q2hpbGQpO1xuICAgIHJldHVybiByZXN1bHRDb250ZW50O1xuICB9XG5cbiAgZ2V0UmVnaXN0cmF0aW9uU3RhdHVzKHNvdXJjZTogc3RyaW5nKTogUHJvbWlzZTx7IGhhc0FjY2VzczogYm9vbGVhbjsgcmVnaXN0cmF0aW9uVXJsPzogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLlJFR0lTVFJBVElPTl9TVEFUVVN9LyR7c291cmNlfWApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZmV0Y2hDb25maWcodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KHVybCk7XG4gIH1cblxuICBhZGRDZXJ0VGVtcGxhdGUoYm9keTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNFUlRfQUREX1RFTVBMQVRFfWAsIGJvZHkpO1xuICB9XG5cbiAgaXNzdWVDZXJ0KGJvZHk6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke0FQSV9FTkRfUE9JTlRTLkNFUlRfSVNTVUV9YCwgYm9keSk7XG4gIH1cbiAgZG93bmxvYWRDZXJ0KGNlcnRJZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHtBUElfRU5EX1BPSU5UUy5DRVJUX0RPV05MT0FEKGNlcnRJZCl9YCk7XG4gIH1cblxuICB0cmVuZGluZ0NvbnRlbnRTZWFyY2gocmVxOiBhbnkpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50LklDb250ZW50PihBUElfRU5EX1BPSU5UUy5UUkVORElOR19DT05URU5UX1NFQVJDSCwgcmVxKTtcbiAgfVxuXG4gIGdldEthcm1hUG9pdG5zKGxpbWl0OiBudW1iZXIsIG9mZnNldDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLlJFQURfS0FSTUFQT0lOVFMsIHsgbGltaXQsIG9mZnNldCB9KS5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpO1xuICB9XG4gIGZldGNoUHJvZ3JhbUNvbnRlbnQoY29udGVudElkOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50W10+IHtcbiAgICBsZXQgdXJsID0gJyc7XG4gICAgY29uc3QgZm9yUHJldmlldyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCcvcHVibGljLycpIHx8IHdpbmRvdy5sb2NhdGlvbi5ocmVmLmluY2x1ZGVzKCcmcHJldmlldz10cnVlJyk7XG4gICAgaWYgKCFmb3JQcmV2aWV3KSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxOc0NvbnRlbnQuSUNvbnRlbnRbXT4oXG4gICAgICAgIEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkVBRChjb250ZW50SWQpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdXJsID0gYC9hcGkvY29udGVudC92MS9yZWFkLyR7Y29udGVudElkfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KHVybCk7XG4gICAgLy8gcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkVBRChjb250ZW50SWQpKVxuICB9XG5cbiAgZ2V0Q291cnNlS2FybWFQb2ludHMocmVxdWVzdDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0VORF9QT0lOVFMuUkVBRF9DT1VSU0VfS0FSTUFQT0lOVFMsIHJlcXVlc3QpO1xuICB9XG5cbiAgY2xhaW1LYXJtYXBvaW50cyhyZXF1ZXN0OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihBUElfRU5EX1BPSU5UUy5DTEFJTV9LQVJNQVBPSU5UUywgcmVxdWVzdCk7XG4gIH1cblxuICB1c2VyS2FybWFQb2ludHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0VORF9QT0lOVFMuVVNFUl9LQVJNQV9QT0lOVFMsIHt9KTtcbiAgfVxuXG4gIGdldEVucm9sbGVkRGF0YShkb0lkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBlbnJvbGxtZW50TWFwRGF0YSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2Vucm9sbG1lbnRNYXBEYXRhJykgfHwgJ3t9Jyk7XG4gICAgY29uc3QgZW5yb2xsZWRDb3Vyc2VEYXRhID0gZW5yb2xsbWVudE1hcERhdGFbZG9JZF07XG4gICAgcmV0dXJuIGVucm9sbGVkQ291cnNlRGF0YTtcbiAgfVxuXG4gIGFzeW5jIGdldFJlc291cnNlTGluayhjb250ZW50OiBhbnkpIHtcbiAgICBjb25zdCBlbnJvbGxlZENvdXJzZURhdGE6IGFueSA9IHRoaXMuZ2V0RW5yb2xsZWREYXRhKGNvbnRlbnQuaWRlbnRpZmllcik7XG4gICAgaWYgKGVucm9sbGVkQ291cnNlRGF0YSkge1xuICAgICAgaWYgKGVucm9sbGVkQ291cnNlRGF0YS5jb250ZW50LmNvdXJzZUNhdGVnb3J5ID09PSAgTnNDb250ZW50LkVDb3Vyc2VDYXRlZ29yeS5CTEVOREVEX1BST0dSQU0gfHxcbiAgICAgICAgZW5yb2xsZWRDb3Vyc2VEYXRhLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkgPT09ICBOc0NvbnRlbnQuRUNvdXJzZUNhdGVnb3J5LklOVklURV9PTkxZX1BST0dSQU0gfHxcbiAgICAgICAgZW5yb2xsZWRDb3Vyc2VEYXRhLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkgPT09ICBOc0NvbnRlbnQuRUNvdXJzZUNhdGVnb3J5Lk1PREVSQVRFRF9QUk9HUkFNIHx8XG4gICAgICAgIGVucm9sbGVkQ291cnNlRGF0YS5jb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gIE5zQ29udGVudC5FUHJpbWFyeUNhdGVnb3J5LkJMRU5ERURfUFJPR1JBTSB8fFxuICAgICAgICBlbnJvbGxlZENvdXJzZURhdGEuY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09ICBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeS5QUk9HUkFNKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmlzQmF0Y2hJblByb2dyZXNzKGVucm9sbGVkQ291cnNlRGF0YS5iYXRjaCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdvdG9Ub2NQYWdlKGNvbnRlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBkYXRhID0gIGF3YWl0IHRoaXMuY2hlY2tGb3JEYXRhVG9Gb3JtVXJsKGNvbnRlbnQsIGVucm9sbGVkQ291cnNlRGF0YSk7XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9ICB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSAgYXdhaXQgdGhpcy5jaGVja0ZvckRhdGFUb0Zvcm1VcmwoY29udGVudCwgZW5yb2xsZWRDb3Vyc2VEYXRhKTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICB9XG5cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ290b1RvY1BhZ2UoY29udGVudCk7XG5cbiAgfVxuICBhc3luYyBjaGVja0ZvckRhdGFUb0Zvcm1VcmwoY29udGVudDogYW55LCBlbnJvbGxEYXRhOiBhbnkpIHtcbiAgICBsZXQgdXJsRGF0YTogYW55O1xuICAgIGlmIChlbnJvbGxEYXRhLmNvbXBsZXRpb25QZXJjZW50YWdlICA9PT0gMTAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5nb3RvVG9jUGFnZShlbnJvbGxEYXRhKTtcbiAgICB9XG4gICAgaWYgKGVucm9sbERhdGEubHJjUHJvZ3Jlc3NEZXRhaWxzICYmIGVucm9sbERhdGEubHJjUHJvZ3Jlc3NEZXRhaWxzLm1pbWVUeXBlKSB7XG4gICAgICBjb25zdCBtb2RpZnlFbnJvbGxEYXRhICA9IHtcbiAgICAgICAgLi4uZW5yb2xsRGF0YSxcbiAgICAgICAgaWRlbnRpZmllcjogZW5yb2xsRGF0YS5jb2xsZWN0aW9uSWQsXG4gICAgICAgIHByaW1hcnlDYXRlZ29yeTogZW5yb2xsRGF0YS5jb250ZW50LnByaW1hcnlDYXRlZ29yeSxcbiAgICAgICAgbmFtZTogZW5yb2xsRGF0YS5jb250ZW50Lm5hbWUsXG4gICAgICB9O1xuICAgICAgaWYgKG1vZGlmeUVucm9sbERhdGEubGFzdFJlYWRDb250ZW50SWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3Vyc2VEYXRhV2l0aERhdGEobW9kaWZ5RW5yb2xsRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5yb2xsRGF0YS5sYXN0UmVhZENvbnRlbnRJZCwgZW5yb2xsRGF0YS5scmNQcm9ncmVzc0RldGFpbHMubWltZVR5cGUpO1xuICAgICAgfVxuICAgICAgaWYgKG1vZGlmeUVucm9sbERhdGEuZmlyc3RDaGlsZElkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFJlc291cnNlRGF0YVdpdGhEYXRhKG1vZGlmeUVucm9sbERhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVucm9sbERhdGEuZmlyc3RDaGlsZElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnJvbGxEYXRhLmxyY1Byb2dyZXNzRGV0YWlscy5taW1lVHlwZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbnJvbGxEYXRhLmZpcnN0Q2hpbGRJZCB8fCBlbnJvbGxEYXRhLmxhc3RSZWFkQ29udGVudElkKSB7XG4gICAgICAgIGNvbnN0IGRvSWQgPSBlbnJvbGxEYXRhLmZpcnN0Q2hpbGRJZCB8fCBlbnJvbGxEYXRhLmxhc3RSZWFkQ29udGVudElkO1xuICAgICAgICBjb25zdCByZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmZldGNoUHJvZ3JhbUNvbnRlbnQoZG9JZCkudG9Qcm9taXNlKCkudGhlbihhc3luYyAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5yZXN1bHQgJiYgcmVzLnJlc3VsdC5jb250ZW50KSB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50RGF0YTogYW55ID0gcmVzLnJlc3VsdC5jb250ZW50O1xuICAgICAgICAgICAgY29uc3QgbW9kaWZ5RW5yb2xsRGF0YSAgPSB7XG4gICAgICAgICAgICAgIC4uLmVucm9sbERhdGEsXG4gICAgICAgICAgICAgIGlkZW50aWZpZXI6IGVucm9sbERhdGEuY29sbGVjdGlvbklkLFxuICAgICAgICAgICAgICBwcmltYXJ5Q2F0ZWdvcnk6IGVucm9sbERhdGEuY29udGVudC5wcmltYXJ5Q2F0ZWdvcnksXG4gICAgICAgICAgICAgIG5hbWU6IGVucm9sbERhdGEuY29udGVudC5uYW1lLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHVybERhdGEgPSAgdGhpcy5nZXRSZXNvdXJzZURhdGFXaXRoRGF0YShtb2RpZnlFbnJvbGxEYXRhLCBjb250ZW50RGF0YS5pZGVudGlmaWVyLCBjb250ZW50RGF0YS5taW1lVHlwZSk7XG4gICAgICAgICAgICBpZiAodXJsRGF0YSkge1xuICAgICAgICAgICAgICByZXR1cm4gdXJsRGF0YTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzcG9uc2VEYXRhID8gcmVzcG9uc2VEYXRhIDogdGhpcy5nb3RvVG9jUGFnZShjb250ZW50KTtcbiAgICAgIH1cbiAgICByZXR1cm4gdGhpcy5nb3RvVG9jUGFnZShjb250ZW50KTtcblxuICB9XG5cbiAgZ2V0UmVzb3Vyc2VEYXRhV2l0aERhdGEoY29udGVudDogYW55LCByZXNvdXJzZUlkOiBhbnksIG1pbWVUeXBlOiBhbnkpIHtcbiAgICBpZiAoY29udGVudCkge1xuICAgICAgY29uc3QgdXJsID0gdmlld2VyUm91dGVHZW5lcmF0b3IoXG4gICAgICAgIHJlc291cnNlSWQsXG4gICAgICAgIG1pbWVUeXBlLFxuICAgICAgICBjb250ZW50LmlkZW50aWZpZXIsXG4gICAgICAgICdDb3Vyc2UnLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgJ0xlYXJuaW5nIFJlc291cmNlJyxcbiAgICAgICAgY29udGVudC5iYXRjaElkLFxuICAgICAgICBjb250ZW50Lm5hbWUsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ290b1RvY1BhZ2UoY29udGVudCk7XG4gIH1cbiAgZ290b1RvY1BhZ2UoY29udGVudDogYW55KSB7XG4gICAgY29uc3QgdXJsRGF0YTogYW55ID0ge1xuICAgICAgdXJsOiBgL2FwcC90b2MvJHtjb250ZW50LmlkZW50aWZpZXIgPyBjb250ZW50LmlkZW50aWZpZXIgOiBjb250ZW50LmNvbGxlY3Rpb25JZH0vb3ZlcnZpZXdgLFxuICAgICAgcXVlcnlQYXJhbXM6IHsgYmF0Y2hJZDogY29udGVudC5iYXRjaElkIH0sXG4gICAgfTtcbiAgICBpZiAoY29udGVudC5lbmREYXRlKSB7XG4gICAgICB1cmxEYXRhLnF1ZXJ5UGFyYW1zID0geyAuLi51cmxEYXRhLnF1ZXJ5UGFyYW1zLCBwbGFuVHlwZTogJ2NiUGxhbicsIGVuZERhdGU6IGNvbnRlbnQuZW5kRGF0ZSB9O1xuICAgIH1cbiAgICByZXR1cm4gdXJsRGF0YTtcbiAgfVxuICBpc0JhdGNoSW5Qcm9ncmVzcyhiYXRjaERhdGE6IGFueSkge1xuICAgIC8vIGlmICh0aGlzLmNvbnRlbnQgJiYgdGhpcy5jb250ZW50WydiYXRjaGVzJ10pIHtcbiAgICAvLyBjb25zdCBiYXRjaGVzID0gdGhpcy5jb250ZW50WydiYXRjaGVzJ10gYXMgTnNDb250ZW50LklCYXRjaFxuICAgIGlmIChiYXRjaERhdGEgJiYgYmF0Y2hEYXRhLmVuZERhdGUpIHtcbiAgICAgIGNvbnN0IG5vdyA9IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gbW9tZW50KGJhdGNoRGF0YS5zdGFydERhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IGJhdGNoRGF0YS5lbmREYXRlID8gbW9tZW50KGJhdGNoRGF0YS5lbmREYXRlKS5mb3JtYXQoJ1lZWVktTU0tREQnKSA6IG5vdztcbiAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAvLyBiYXRjaC5zdGF0dXMgJiZcbiAgICAgICAgICAgIG1vbWVudChzdGFydERhdGUpLmlzU2FtZU9yQmVmb3JlKG5vdylcbiAgICAgICAgICAgICYmIG1vbWVudChlbmREYXRlKS5pc1NhbWVPckFmdGVyKG5vdylcbiAgICAgICAgICApO1xuICAgIH0gcmV0dXJuIHRydWU7XG4gIH1cbiAgcG9zdEFwaU1ldGhvZChhcGlVcmw6IGFueSwgcmVxOiBhbnkpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJztcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TnNDb250ZW50LklDb250ZW50PihhcGlVcmwsIHJlcSk7XG4gIH1cbiAgZ2V0QXBpTWV0aG9kKGFwaVVybDogYW55KTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnQ+IHtcbiAgICAvLyByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJyc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50PihhcGlVcmwpO1xuICB9XG59XG4iXX0=
|
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export { ConsumptionService, ConsumptionComponent, ConsumptionModule, WIDGET_REGISTERED_LIB_MODULES, WIDGET_REGISTRATION_LIB_CONFIG, ROOT_WIDGET_CONFIG, HttpLoaderFactory, ContentStripWithTabsLibModule, CommonStripModule, MyHammerConfig, SlidersLibModule, DataPointsModule, CardsModule, CompetencyPassbookModule, CalenderModule, UserContentRatingLibModule, AnnouncementsModule, WidgetContentService, CommonMethodsService } from './public-api';
|
|
9
9
|
export { AnnouncementsComponent as ɵs } from './lib/_common/announcements/announcements.component';
|
|
10
|
-
export { AvatarPhotoLibComponent as
|
|
11
|
-
export { AvatarPhotoLibModule as
|
|
10
|
+
export { AvatarPhotoLibComponent as ɵbu } from './lib/_common/avatar-photo-lib/avatar-photo-lib.component';
|
|
11
|
+
export { AvatarPhotoLibModule as ɵbt } from './lib/_common/avatar-photo-lib/avatar-photo-lib.module';
|
|
12
12
|
export { CalenderDayComponent as ɵq } from './lib/_common/calender/calender-day/calender-day.component';
|
|
13
13
|
export { CalenderComponent as ɵp } from './lib/_common/calender/calender.component';
|
|
14
|
+
export { CardKarmaProgramsV2Component as ɵbc } from './lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component';
|
|
14
15
|
export { CardKarmaProgramsComponent as ɵbb } from './lib/_common/cards/card-karma-programs/card-karma-programs.component';
|
|
15
16
|
export { CardLandscapeComponent as ɵx } from './lib/_common/cards/card-landscape/card-landscape.component';
|
|
16
17
|
export { CardMDOChannelComponent as ɵz } from './lib/_common/cards/card-mdo-channel/card-mdo-channel.component';
|
|
@@ -21,38 +22,38 @@ export { CardWideV2Component as ɵba } from './lib/_common/cards/card-wide-v2/ca
|
|
|
21
22
|
export { CardWideComponent as ɵy } from './lib/_common/cards/card-wide/card-wide.component';
|
|
22
23
|
export { CardsComponent as ɵu } from './lib/_common/cards/cards.component';
|
|
23
24
|
export { CommonStripComponent as ɵr } from './lib/_common/common-strip/common-strip.component';
|
|
24
|
-
export { CompetencyPassbookComponent as
|
|
25
|
-
export { CompetencyPassbookService as
|
|
25
|
+
export { CompetencyPassbookComponent as ɵbl } from './lib/_common/competency-passbook/competency-passbook.component';
|
|
26
|
+
export { CompetencyPassbookService as ɵbm } from './lib/_common/competency-passbook/competency-passbook.service';
|
|
26
27
|
export { ContentStripWithTabsLibComponent as ɵa } from './lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component';
|
|
27
28
|
export { DataPointsComponent as ɵl } from './lib/_common/data-points/data-points.component';
|
|
28
|
-
export { DisplayContentTypeLibComponent as
|
|
29
|
-
export { DisplayContentTypeLibModule as
|
|
29
|
+
export { DisplayContentTypeLibComponent as ɵbg } from './lib/_common/display-content-type-lib/display-content-type-lib.component';
|
|
30
|
+
export { DisplayContentTypeLibModule as ɵbf } from './lib/_common/display-content-type-lib/display-content-type-lib.module';
|
|
30
31
|
export { HorizontalScrollerV2Component as ɵf } from './lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component';
|
|
31
32
|
export { HorizontalScrollerV2Module as ɵe } from './lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module';
|
|
32
|
-
export { PillsComponent as
|
|
33
|
-
export { PillsModule as
|
|
33
|
+
export { PillsComponent as ɵbo } from './lib/_common/pills/pills.component';
|
|
34
|
+
export { PillsModule as ɵbn } from './lib/_common/pills/pills.module';
|
|
34
35
|
export { SkeletonLoaderLibComponent as ɵo } from './lib/_common/skeleton-loader-lib/skeleton-loader-lib.component';
|
|
35
36
|
export { SkeletonLoaderLibModule as ɵn } from './lib/_common/skeleton-loader-lib/skeleton-loader-lib.module';
|
|
36
|
-
export { SlidersNgContentLibComponent as
|
|
37
|
-
export { MyHammerConfig as
|
|
37
|
+
export { SlidersNgContentLibComponent as ɵbx } from './lib/_common/sliders-ng-content/sliders-ng-content.component';
|
|
38
|
+
export { MyHammerConfig as ɵbv, SlidersNgContentLibModule as ɵbw } from './lib/_common/sliders-ng-content/sliders-ng-content.module';
|
|
38
39
|
export { SlidersLibComponent as ɵg } from './lib/_common/sliders/sliders.component';
|
|
39
|
-
export { UserContentRatingLibComponent as
|
|
40
|
-
export { UserContentRatingLibService as
|
|
41
|
-
export { DefaultThumbnailDirective as
|
|
42
|
-
export { DefaultThumbnailModule as
|
|
40
|
+
export { UserContentRatingLibComponent as ɵbp } from './lib/_common/user-content-rating/user-content-rating-lib.component';
|
|
41
|
+
export { UserContentRatingLibService as ɵbs } from './lib/_common/user-content-rating/user-content-rating-lib.service';
|
|
42
|
+
export { DefaultThumbnailDirective as ɵbi } from './lib/_directives/default-thumbnail/default-thumbnail.directive';
|
|
43
|
+
export { DefaultThumbnailModule as ɵbh } from './lib/_directives/default-thumbnail/default-thumbnail.module';
|
|
43
44
|
export { ImageResponsiveDirective as ɵk } from './lib/_directives/image-responsive/image-responsive.directive';
|
|
44
45
|
export { ImageResponsiveModule as ɵj } from './lib/_directives/image-responsive/image-responsive.module';
|
|
45
46
|
export { NavigationDirective as ɵi } from './lib/_directives/navigation/navigation.directive';
|
|
46
47
|
export { NavigationModule as ɵh } from './lib/_directives/navigation/navigation.module';
|
|
47
|
-
export { ScrollableItemDirective as
|
|
48
|
-
export { ScrollableItemModule as
|
|
49
|
-
export { PipeDurationTransformModule as
|
|
50
|
-
export { PipeDurationTransformPipe as
|
|
51
|
-
export { PipePublicURLModule as
|
|
52
|
-
export { PipePublicURL as
|
|
48
|
+
export { ScrollableItemDirective as ɵbq } from './lib/_directives/scrollable-item/scrollable-item.directive';
|
|
49
|
+
export { ScrollableItemModule as ɵby } from './lib/_directives/scrollable-item/scrollable-item.module';
|
|
50
|
+
export { PipeDurationTransformModule as ɵbj } from './lib/_pipes/pipe-duration-transform/pipe-duration-transform.module';
|
|
51
|
+
export { PipeDurationTransformPipe as ɵbk } from './lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe';
|
|
52
|
+
export { PipePublicURLModule as ɵbd } from './lib/_pipes/pipe-public-URL/pipe-public-URL.module';
|
|
53
|
+
export { PipePublicURL as ɵbe } from './lib/_pipes/pipe-public-URL/pipe-public-URL.pipe';
|
|
53
54
|
export { ConfigurationsService as ɵd } from './lib/_services/configurations.service';
|
|
54
55
|
export { InsiteDataService as ɵm } from './lib/_services/insite-data.service';
|
|
55
56
|
export { MultilingualTranslationsService as ɵc } from './lib/_services/multilingual-translations.service';
|
|
56
|
-
export { RatingService as
|
|
57
|
+
export { RatingService as ɵbr } from './lib/_services/rating.service';
|
|
57
58
|
export { WidgetUserService as ɵb } from './lib/_services/widget-user.service';
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VuYmlyZC1jYi1jb25zdW1wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsic3VuYmlyZC1jYi1jb25zdW1wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNGFBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEdBQUcsRUFBQyxNQUFNLHVFQUF1RSxDQUFDO0FBQ3hILE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw2REFBNkQsQ0FBQztBQUN6RyxPQUFPLEVBQUMsdUJBQXVCLElBQUksRUFBRSxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUFDOUcsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDMUYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEdBQUcsRUFBQyxNQUFNLHlEQUF5RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztB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QUFFLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsK0JBQStCLElBQUksRUFBRSxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDeEcsT0FBTyxFQUFDLGFBQWEsSUFBSSxHQUFHLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7QW5ub3VuY2VtZW50c0NvbXBvbmVudCBhcyDJtXN9IGZyb20gJy4vbGliL19jb21tb24vYW5ub3VuY2VtZW50cy9hbm5vdW5jZW1lbnRzLmNvbXBvbmVudCc7XG5leHBvcnQge0F2YXRhclBob3RvTGliQ29tcG9uZW50IGFzIMm1YnR9IGZyb20gJy4vbGliL19jb21tb24vYXZhdGFyLXBob3RvLWxpYi9hdmF0YXItcGhvdG8tbGliLmNvbXBvbmVudCc7XG5leHBvcnQge0F2YXRhclBob3RvTGliTW9kdWxlIGFzIMm1YnN9IGZyb20gJy4vbGliL19jb21tb24vYXZhdGFyLXBob3RvLWxpYi9hdmF0YXItcGhvdG8tbGliLm1vZHVsZSc7XG5leHBvcnQge0NhbGVuZGVyRGF5Q29tcG9uZW50IGFzIMm1cX0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYWxlbmRlci9jYWxlbmRlci1kYXkvY2FsZW5kZXItZGF5LmNvbXBvbmVudCc7XG5leHBvcnQge0NhbGVuZGVyQ29tcG9uZW50IGFzIMm1cH0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYWxlbmRlci9jYWxlbmRlci5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkS2FybWFQcm9ncmFtc0NvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQta2FybWEtcHJvZ3JhbXMvY2FyZC1rYXJtYS1wcm9ncmFtcy5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkTGFuZHNjYXBlQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLWxhbmRzY2FwZS9jYXJkLWxhbmRzY2FwZS5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkTURPQ2hhbm5lbENvbXBvbmVudCBhcyDJtXp9IGZyb20gJy4vbGliL19jb21tb24vY2FyZHMvY2FyZC1tZG8tY2hhbm5lbC9jYXJkLW1kby1jaGFubmVsLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRQb3J0cmFpdENvbXBvbmVudCBhcyDJtXZ9IGZyb20gJy4vbGliL19jb21tb24vY2FyZHMvY2FyZC1wb3J0cmFpdC9jYXJkLXBvcnRyYWl0LmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRSZXNvdXJjZUNvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL19jb21tb24vY2FyZHMvY2FyZC1yZXNvdXJjZS9jYXJkLXJlc291cmNlLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRVc2VyQ29tcG9uZW50IGFzIMm1d30gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLXVzZXIvY2FyZC11c2VyLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRXaWRlVjJDb21wb25lbnQgYXMgybViYX0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLXdpZGUtdjIvY2FyZC13aWRlLXYyLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRXaWRlQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLXdpZGUvY2FyZC13aWRlLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRzQ29tcG9uZW50IGFzIMm1dX0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkcy5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21tb25TdHJpcENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vbGliL19jb21tb24vY29tbW9uLXN0cmlwL2NvbW1vbi1zdHJpcC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21wZXRlbmN5UGFzc2Jvb2tDb21wb25lbnQgYXMgybVia30gZnJvbSAnLi9saWIvX2NvbW1vbi9jb21wZXRlbmN5LXBhc3Nib29rL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50JztcbmV4cG9ydCB7Q29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSBhcyDJtWJsfSBmcm9tICcuL2xpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlJztcbmV4cG9ydCB7Q29udGVudFN0cmlwV2l0aFRhYnNMaWJDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9fY29tbW9uL2NvbnRlbnQtc3RyaXAtd2l0aC10YWJzLWxpYi9jb250ZW50LXN0cmlwLXdpdGgtdGFicy1saWIuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YVBvaW50c0NvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL19jb21tb24vZGF0YS1wb2ludHMvZGF0YS1wb2ludHMuY29tcG9uZW50JztcbmV4cG9ydCB7RGlzcGxheUNvbnRlbnRUeXBlTGliQ29tcG9uZW50IGFzIMm1YmZ9IGZyb20gJy4vbGliL19jb21tb24vZGlzcGxheS1jb250ZW50LXR5cGUtbGliL2Rpc3BsYXktY29udGVudC10eXBlLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0IHtEaXNwbGF5Q29udGVudFR5cGVMaWJNb2R1bGUgYXMgybViZX0gZnJvbSAnLi9saWIvX2NvbW1vbi9kaXNwbGF5LWNvbnRlbnQtdHlwZS1saWIvZGlzcGxheS1jb250ZW50LXR5cGUtbGliLm1vZHVsZSc7XG5leHBvcnQge0hvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvX2NvbW1vbi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyL2hvcml6b250YWwtc2Nyb2xsZXItdjIuY29tcG9uZW50JztcbmV4cG9ydCB7SG9yaXpvbnRhbFNjcm9sbGVyVjJNb2R1bGUgYXMgybVlfSBmcm9tICcuL2xpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5tb2R1bGUnO1xuZXhwb3J0IHtQaWxsc0NvbXBvbmVudCBhcyDJtWJufSBmcm9tICcuL2xpYi9fY29tbW9uL3BpbGxzL3BpbGxzLmNvbXBvbmVudCc7XG5leHBvcnQge1BpbGxzTW9kdWxlIGFzIMm1Ym19IGZyb20gJy4vbGliL19jb21tb24vcGlsbHMvcGlsbHMubW9kdWxlJztcbmV4cG9ydCB7U2tlbGV0b25Mb2FkZXJMaWJDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9fY29tbW9uL3NrZWxldG9uLWxvYWRlci1saWIvc2tlbGV0b24tbG9hZGVyLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0IHtTa2VsZXRvbkxvYWRlckxpYk1vZHVsZSBhcyDJtW59IGZyb20gJy4vbGliL19jb21tb24vc2tlbGV0b24tbG9hZGVyLWxpYi9za2VsZXRvbi1sb2FkZXItbGliLm1vZHVsZSc7XG5leHBvcnQge1NsaWRlcnNOZ0NvbnRlbnRMaWJDb21wb25lbnQgYXMgybVid30gZnJvbSAnLi9saWIvX2NvbW1vbi9zbGlkZXJzLW5nLWNvbnRlbnQvc2xpZGVycy1uZy1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQge015SGFtbWVyQ29uZmlnIGFzIMm1YnUsU2xpZGVyc05nQ29udGVudExpYk1vZHVsZSBhcyDJtWJ2fSBmcm9tICcuL2xpYi9fY29tbW9uL3NsaWRlcnMtbmctY29udGVudC9zbGlkZXJzLW5nLWNvbnRlbnQubW9kdWxlJztcbmV4cG9ydCB7U2xpZGVyc0xpYkNvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL19jb21tb24vc2xpZGVycy9zbGlkZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge1VzZXJDb250ZW50UmF0aW5nTGliQ29tcG9uZW50IGFzIMm1Ym99IGZyb20gJy4vbGliL19jb21tb24vdXNlci1jb250ZW50LXJhdGluZy91c2VyLWNvbnRlbnQtcmF0aW5nLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0IHtVc2VyQ29udGVudFJhdGluZ0xpYlNlcnZpY2UgYXMgybVicn0gZnJvbSAnLi9saWIvX2NvbW1vbi91c2VyLWNvbnRlbnQtcmF0aW5nL3VzZXItY29udGVudC1yYXRpbmctbGliLnNlcnZpY2UnO1xuZXhwb3J0IHtEZWZhdWx0VGh1bWJuYWlsRGlyZWN0aXZlIGFzIMm1Ymh9IGZyb20gJy4vbGliL19kaXJlY3RpdmVzL2RlZmF1bHQtdGh1bWJuYWlsL2RlZmF1bHQtdGh1bWJuYWlsLmRpcmVjdGl2ZSc7XG5leHBvcnQge0RlZmF1bHRUaHVtYm5haWxNb2R1bGUgYXMgybViZ30gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvZGVmYXVsdC10aHVtYm5haWwvZGVmYXVsdC10aHVtYm5haWwubW9kdWxlJztcbmV4cG9ydCB7SW1hZ2VSZXNwb25zaXZlRGlyZWN0aXZlIGFzIMm1a30gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvaW1hZ2UtcmVzcG9uc2l2ZS9pbWFnZS1yZXNwb25zaXZlLmRpcmVjdGl2ZSc7XG5leHBvcnQge0ltYWdlUmVzcG9uc2l2ZU1vZHVsZSBhcyDJtWp9IGZyb20gJy4vbGliL19kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUnO1xuZXhwb3J0IHtOYXZpZ2F0aW9uRGlyZWN0aXZlIGFzIMm1aX0gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge05hdmlnYXRpb25Nb2R1bGUgYXMgybVofSBmcm9tICcuL2xpYi9fZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlJztcbmV4cG9ydCB7U2Nyb2xsYWJsZUl0ZW1EaXJlY3RpdmUgYXMgybVicH0gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvc2Nyb2xsYWJsZS1pdGVtL3Njcm9sbGFibGUtaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtTY3JvbGxhYmxlSXRlbU1vZHVsZSBhcyDJtWJ4fSBmcm9tICcuL2xpYi9fZGlyZWN0aXZlcy9zY3JvbGxhYmxlLWl0ZW0vc2Nyb2xsYWJsZS1pdGVtLm1vZHVsZSc7XG5leHBvcnQge1BpcGVEdXJhdGlvblRyYW5zZm9ybU1vZHVsZSBhcyDJtWJpfSBmcm9tICcuL2xpYi9fcGlwZXMvcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0vcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0ubW9kdWxlJztcbmV4cG9ydCB7UGlwZUR1cmF0aW9uVHJhbnNmb3JtUGlwZSBhcyDJtWJqfSBmcm9tICcuL2xpYi9fcGlwZXMvcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0vcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0ucGlwZSc7XG5leHBvcnQge1BpcGVQdWJsaWNVUkxNb2R1bGUgYXMgybViY30gZnJvbSAnLi9saWIvX3BpcGVzL3BpcGUtcHVibGljLVVSTC9waXBlLXB1YmxpYy1VUkwubW9kdWxlJztcbmV4cG9ydCB7UGlwZVB1YmxpY1VSTCBhcyDJtWJkfSBmcm9tICcuL2xpYi9fcGlwZXMvcGlwZS1wdWJsaWMtVVJML3BpcGUtcHVibGljLVVSTC5waXBlJztcbmV4cG9ydCB7Q29uZmlndXJhdGlvbnNTZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvX3NlcnZpY2VzL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnO1xuZXhwb3J0IHtJbnNpdGVEYXRhU2VydmljZSBhcyDJtW19IGZyb20gJy4vbGliL19zZXJ2aWNlcy9pbnNpdGUtZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCB7TXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL19zZXJ2aWNlcy9tdWx0aWxpbmd1YWwtdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xuZXhwb3J0IHtSYXRpbmdTZXJ2aWNlIGFzIMm1YnF9IGZyb20gJy4vbGliL19zZXJ2aWNlcy9yYXRpbmcuc2VydmljZSc7XG5leHBvcnQge1dpZGdldFVzZXJTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvX3NlcnZpY2VzL3dpZGdldC11c2VyLnNlcnZpY2UnOyJdfQ==
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VuYmlyZC1jYi1jb25zdW1wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL2NvbnN1bXB0aW9uLyIsInNvdXJjZXMiOlsic3VuYmlyZC1jYi1jb25zdW1wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsNGFBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUMsdUJBQXVCLElBQUksR0FBRyxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDekcsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ25HLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFDLDRCQUE0QixJQUFJLEdBQUcsRUFBQyxNQUFNLDZFQUE2RSxDQUFDO0FBQ2hJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSx1RUFBdUUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sNkRBQTZELENBQUM7QUFDekcsT0FBTyxFQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzlHLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUN0RyxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDdEcsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxHQUFHLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztB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QUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFDLCtCQUErQixJQUFJLEVBQUUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxhQUFhLElBQUksR0FBRyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHFDQUFxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuXG5leHBvcnQge0Fubm91bmNlbWVudHNDb21wb25lbnQgYXMgybVzfSBmcm9tICcuL2xpYi9fY29tbW9uL2Fubm91bmNlbWVudHMvYW5ub3VuY2VtZW50cy5jb21wb25lbnQnO1xuZXhwb3J0IHtBdmF0YXJQaG90b0xpYkNvbXBvbmVudCBhcyDJtWJ1fSBmcm9tICcuL2xpYi9fY29tbW9uL2F2YXRhci1waG90by1saWIvYXZhdGFyLXBob3RvLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0IHtBdmF0YXJQaG90b0xpYk1vZHVsZSBhcyDJtWJ0fSBmcm9tICcuL2xpYi9fY29tbW9uL2F2YXRhci1waG90by1saWIvYXZhdGFyLXBob3RvLWxpYi5tb2R1bGUnO1xuZXhwb3J0IHtDYWxlbmRlckRheUNvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vbGliL19jb21tb24vY2FsZW5kZXIvY2FsZW5kZXItZGF5L2NhbGVuZGVyLWRheS5jb21wb25lbnQnO1xuZXhwb3J0IHtDYWxlbmRlckNvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbGliL19jb21tb24vY2FsZW5kZXIvY2FsZW5kZXIuY29tcG9uZW50JztcbmV4cG9ydCB7Q2FyZEthcm1hUHJvZ3JhbXNWMkNvbXBvbmVudCBhcyDJtWJjfSBmcm9tICcuL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQta2FybWEtcHJvZ3JhbXMtdjIvY2FyZC1rYXJtYS1wcm9ncmFtcy12Mi5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkS2FybWFQcm9ncmFtc0NvbXBvbmVudCBhcyDJtWJifSBmcm9tICcuL2xpYi9fY29tbW9uL2NhcmRzL2NhcmQta2FybWEtcHJvZ3JhbXMvY2FyZC1rYXJtYS1wcm9ncmFtcy5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkTGFuZHNjYXBlQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLWxhbmRzY2FwZS9jYXJkLWxhbmRzY2FwZS5jb21wb25lbnQnO1xuZXhwb3J0IHtDYXJkTURPQ2hhbm5lbENvbXBvbmVudCBhcyDJtXp9IGZyb20gJy4vbGliL19jb21tb24vY2FyZHMvY2FyZC1tZG8tY2hhbm5lbC9jYXJkLW1kby1jaGFubmVsLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRQb3J0cmFpdENvbXBvbmVudCBhcyDJtXZ9IGZyb20gJy4vbGliL19jb21tb24vY2FyZHMvY2FyZC1wb3J0cmFpdC9jYXJkLXBvcnRyYWl0LmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRSZXNvdXJjZUNvbXBvbmVudCBhcyDJtXR9IGZyb20gJy4vbGliL19jb21tb24vY2FyZHMvY2FyZC1yZXNvdXJjZS9jYXJkLXJlc291cmNlLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRVc2VyQ29tcG9uZW50IGFzIMm1d30gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLXVzZXIvY2FyZC11c2VyLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRXaWRlVjJDb21wb25lbnQgYXMgybViYX0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLXdpZGUtdjIvY2FyZC13aWRlLXYyLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRXaWRlQ29tcG9uZW50IGFzIMm1eX0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkLXdpZGUvY2FyZC13aWRlLmNvbXBvbmVudCc7XG5leHBvcnQge0NhcmRzQ29tcG9uZW50IGFzIMm1dX0gZnJvbSAnLi9saWIvX2NvbW1vbi9jYXJkcy9jYXJkcy5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21tb25TdHJpcENvbXBvbmVudCBhcyDJtXJ9IGZyb20gJy4vbGliL19jb21tb24vY29tbW9uLXN0cmlwL2NvbW1vbi1zdHJpcC5jb21wb25lbnQnO1xuZXhwb3J0IHtDb21wZXRlbmN5UGFzc2Jvb2tDb21wb25lbnQgYXMgybVibH0gZnJvbSAnLi9saWIvX2NvbW1vbi9jb21wZXRlbmN5LXBhc3Nib29rL2NvbXBldGVuY3ktcGFzc2Jvb2suY29tcG9uZW50JztcbmV4cG9ydCB7Q29tcGV0ZW5jeVBhc3Nib29rU2VydmljZSBhcyDJtWJtfSBmcm9tICcuL2xpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5zZXJ2aWNlJztcbmV4cG9ydCB7Q29udGVudFN0cmlwV2l0aFRhYnNMaWJDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2xpYi9fY29tbW9uL2NvbnRlbnQtc3RyaXAtd2l0aC10YWJzLWxpYi9jb250ZW50LXN0cmlwLXdpdGgtdGFicy1saWIuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0YVBvaW50c0NvbXBvbmVudCBhcyDJtWx9IGZyb20gJy4vbGliL19jb21tb24vZGF0YS1wb2ludHMvZGF0YS1wb2ludHMuY29tcG9uZW50JztcbmV4cG9ydCB7RGlzcGxheUNvbnRlbnRUeXBlTGliQ29tcG9uZW50IGFzIMm1Ymd9IGZyb20gJy4vbGliL19jb21tb24vZGlzcGxheS1jb250ZW50LXR5cGUtbGliL2Rpc3BsYXktY29udGVudC10eXBlLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0IHtEaXNwbGF5Q29udGVudFR5cGVMaWJNb2R1bGUgYXMgybViZn0gZnJvbSAnLi9saWIvX2NvbW1vbi9kaXNwbGF5LWNvbnRlbnQtdHlwZS1saWIvZGlzcGxheS1jb250ZW50LXR5cGUtbGliLm1vZHVsZSc7XG5leHBvcnQge0hvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9saWIvX2NvbW1vbi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyL2hvcml6b250YWwtc2Nyb2xsZXItdjIuY29tcG9uZW50JztcbmV4cG9ydCB7SG9yaXpvbnRhbFNjcm9sbGVyVjJNb2R1bGUgYXMgybVlfSBmcm9tICcuL2xpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5tb2R1bGUnO1xuZXhwb3J0IHtQaWxsc0NvbXBvbmVudCBhcyDJtWJvfSBmcm9tICcuL2xpYi9fY29tbW9uL3BpbGxzL3BpbGxzLmNvbXBvbmVudCc7XG5leHBvcnQge1BpbGxzTW9kdWxlIGFzIMm1Ym59IGZyb20gJy4vbGliL19jb21tb24vcGlsbHMvcGlsbHMubW9kdWxlJztcbmV4cG9ydCB7U2tlbGV0b25Mb2FkZXJMaWJDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9fY29tbW9uL3NrZWxldG9uLWxvYWRlci1saWIvc2tlbGV0b24tbG9hZGVyLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0IHtTa2VsZXRvbkxvYWRlckxpYk1vZHVsZSBhcyDJtW59IGZyb20gJy4vbGliL19jb21tb24vc2tlbGV0b24tbG9hZGVyLWxpYi9za2VsZXRvbi1sb2FkZXItbGliLm1vZHVsZSc7XG5leHBvcnQge1NsaWRlcnNOZ0NvbnRlbnRMaWJDb21wb25lbnQgYXMgybVieH0gZnJvbSAnLi9saWIvX2NvbW1vbi9zbGlkZXJzLW5nLWNvbnRlbnQvc2xpZGVycy1uZy1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQge015SGFtbWVyQ29uZmlnIGFzIMm1YnYsU2xpZGVyc05nQ29udGVudExpYk1vZHVsZSBhcyDJtWJ3fSBmcm9tICcuL2xpYi9fY29tbW9uL3NsaWRlcnMtbmctY29udGVudC9zbGlkZXJzLW5nLWNvbnRlbnQubW9kdWxlJztcbmV4cG9ydCB7U2xpZGVyc0xpYkNvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vbGliL19jb21tb24vc2xpZGVycy9zbGlkZXJzLmNvbXBvbmVudCc7XG5leHBvcnQge1VzZXJDb250ZW50UmF0aW5nTGliQ29tcG9uZW50IGFzIMm1YnB9IGZyb20gJy4vbGliL19jb21tb24vdXNlci1jb250ZW50LXJhdGluZy91c2VyLWNvbnRlbnQtcmF0aW5nLWxpYi5jb21wb25lbnQnO1xuZXhwb3J0IHtVc2VyQ29udGVudFJhdGluZ0xpYlNlcnZpY2UgYXMgybVic30gZnJvbSAnLi9saWIvX2NvbW1vbi91c2VyLWNvbnRlbnQtcmF0aW5nL3VzZXItY29udGVudC1yYXRpbmctbGliLnNlcnZpY2UnO1xuZXhwb3J0IHtEZWZhdWx0VGh1bWJuYWlsRGlyZWN0aXZlIGFzIMm1Yml9IGZyb20gJy4vbGliL19kaXJlY3RpdmVzL2RlZmF1bHQtdGh1bWJuYWlsL2RlZmF1bHQtdGh1bWJuYWlsLmRpcmVjdGl2ZSc7XG5leHBvcnQge0RlZmF1bHRUaHVtYm5haWxNb2R1bGUgYXMgybViaH0gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvZGVmYXVsdC10aHVtYm5haWwvZGVmYXVsdC10aHVtYm5haWwubW9kdWxlJztcbmV4cG9ydCB7SW1hZ2VSZXNwb25zaXZlRGlyZWN0aXZlIGFzIMm1a30gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvaW1hZ2UtcmVzcG9uc2l2ZS9pbWFnZS1yZXNwb25zaXZlLmRpcmVjdGl2ZSc7XG5leHBvcnQge0ltYWdlUmVzcG9uc2l2ZU1vZHVsZSBhcyDJtWp9IGZyb20gJy4vbGliL19kaXJlY3RpdmVzL2ltYWdlLXJlc3BvbnNpdmUvaW1hZ2UtcmVzcG9uc2l2ZS5tb2R1bGUnO1xuZXhwb3J0IHtOYXZpZ2F0aW9uRGlyZWN0aXZlIGFzIMm1aX0gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge05hdmlnYXRpb25Nb2R1bGUgYXMgybVofSBmcm9tICcuL2xpYi9fZGlyZWN0aXZlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlJztcbmV4cG9ydCB7U2Nyb2xsYWJsZUl0ZW1EaXJlY3RpdmUgYXMgybVicX0gZnJvbSAnLi9saWIvX2RpcmVjdGl2ZXMvc2Nyb2xsYWJsZS1pdGVtL3Njcm9sbGFibGUtaXRlbS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtTY3JvbGxhYmxlSXRlbU1vZHVsZSBhcyDJtWJ5fSBmcm9tICcuL2xpYi9fZGlyZWN0aXZlcy9zY3JvbGxhYmxlLWl0ZW0vc2Nyb2xsYWJsZS1pdGVtLm1vZHVsZSc7XG5leHBvcnQge1BpcGVEdXJhdGlvblRyYW5zZm9ybU1vZHVsZSBhcyDJtWJqfSBmcm9tICcuL2xpYi9fcGlwZXMvcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0vcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0ubW9kdWxlJztcbmV4cG9ydCB7UGlwZUR1cmF0aW9uVHJhbnNmb3JtUGlwZSBhcyDJtWJrfSBmcm9tICcuL2xpYi9fcGlwZXMvcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0vcGlwZS1kdXJhdGlvbi10cmFuc2Zvcm0ucGlwZSc7XG5leHBvcnQge1BpcGVQdWJsaWNVUkxNb2R1bGUgYXMgybViZH0gZnJvbSAnLi9saWIvX3BpcGVzL3BpcGUtcHVibGljLVVSTC9waXBlLXB1YmxpYy1VUkwubW9kdWxlJztcbmV4cG9ydCB7UGlwZVB1YmxpY1VSTCBhcyDJtWJlfSBmcm9tICcuL2xpYi9fcGlwZXMvcGlwZS1wdWJsaWMtVVJML3BpcGUtcHVibGljLVVSTC5waXBlJztcbmV4cG9ydCB7Q29uZmlndXJhdGlvbnNTZXJ2aWNlIGFzIMm1ZH0gZnJvbSAnLi9saWIvX3NlcnZpY2VzL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnO1xuZXhwb3J0IHtJbnNpdGVEYXRhU2VydmljZSBhcyDJtW19IGZyb20gJy4vbGliL19zZXJ2aWNlcy9pbnNpdGUtZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCB7TXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSBhcyDJtWN9IGZyb20gJy4vbGliL19zZXJ2aWNlcy9tdWx0aWxpbmd1YWwtdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xuZXhwb3J0IHtSYXRpbmdTZXJ2aWNlIGFzIMm1YnJ9IGZyb20gJy4vbGliL19zZXJ2aWNlcy9yYXRpbmcuc2VydmljZSc7XG5leHBvcnQge1dpZGdldFVzZXJTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9saWIvX3NlcnZpY2VzL3dpZGdldC11c2VyLnNlcnZpY2UnOyJdfQ==
|