@sunbird-cb/consumption 0.0.27 → 0.0.28
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 +86 -76
- 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/cards/card-karma-programs/card-karma-programs.component.js +33 -26
- package/esm2015/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +23 -23
- package/esm2015/lib/_common/cards/card-landscape/card-landscape.component.js +10 -22
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +3 -3
- package/esm2015/lib/_common/cards/cards.component.js +2 -2
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +20 -5
- package/esm5/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +35 -29
- package/esm5/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +24 -24
- package/esm5/lib/_common/cards/card-landscape/card-landscape.component.js +11 -22
- package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +3 -3
- package/esm5/lib/_common/cards/cards.component.js +2 -2
- package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +20 -5
- package/fesm2015/sunbird-cb-consumption.js +82 -72
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +86 -76
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/cards/card-karma-programs/card-karma-programs.component.d.ts +6 -2
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts +5 -2
- package/lib/_common/cards/card-landscape/card-landscape.component.d.ts +2 -1
- package/package.json +1 -1
- package/sunbird-cb-consumption.metadata.json +1 -1
|
@@ -193,14 +193,29 @@ var HorizontalScrollerV2Component = /** @class */ (function () {
|
|
|
193
193
|
}
|
|
194
194
|
this.activeNav = 0;
|
|
195
195
|
}
|
|
196
|
-
if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {
|
|
196
|
+
// if (elem.scrollWidth === Math.round(elem.clientWidth + elem.scrollLeft)) {
|
|
197
|
+
// if (this.loadStatus === 'hasMore') {
|
|
198
|
+
// this.loadNext.emit();
|
|
199
|
+
// } else {
|
|
200
|
+
// if(!this.sliderConfig.arrowsAlwaysOn) {
|
|
201
|
+
// this.enableNext = false;
|
|
202
|
+
// }
|
|
203
|
+
// if (this.bottomDotsArray.length) {
|
|
204
|
+
// this.activeNav = this.bottomDotsArray.length - 1;
|
|
205
|
+
// }
|
|
206
|
+
// }
|
|
207
|
+
// }
|
|
208
|
+
// if (elem.scrollLeft !== 0 && (elem.scrollWidth !== elem.clientWidth + elem.scrollLeft)) {
|
|
209
|
+
// this.activeNav = Math.ceil(elem.scrollLeft / elem.clientWidth);
|
|
210
|
+
// }
|
|
211
|
+
/** @type {?} */
|
|
212
|
+
var widthDiff = Math.abs(elem.scrollWidth - Math.round(elem.clientWidth + elem.scrollLeft));
|
|
213
|
+
if (widthDiff === 0 || widthDiff === 1) {
|
|
197
214
|
if (this.loadStatus === 'hasMore') {
|
|
198
215
|
this.loadNext.emit();
|
|
199
216
|
}
|
|
200
217
|
else {
|
|
201
|
-
|
|
202
|
-
this.enableNext = false;
|
|
203
|
-
}
|
|
218
|
+
this.enableNext = false;
|
|
204
219
|
if (this.bottomDotsArray.length) {
|
|
205
220
|
this.activeNav = this.bottomDotsArray.length - 1;
|
|
206
221
|
}
|
|
@@ -374,4 +389,4 @@ if (false) {
|
|
|
374
389
|
*/
|
|
375
390
|
HorizontalScrollerV2Component.prototype.valueSvc;
|
|
376
391
|
}
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRDtJQWlDRSx1Q0FBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXpCakMsZUFBVSxHQUFpQixVQUFVLENBQUM7UUFDdEMsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGlCQUFZLEdBQVE7WUFDM0IsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQztRQUNRLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3hDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFFL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUF3QixJQUFJLENBQUM7UUFD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REFJRTs7SUFDRixpREFBd0M7O0lBQ3hDLHNEQUE0Qjs7SUFDNUIsMERBQWdDOztJQUNoQyxvREFBMEI7O0lBQzFCLDZEQUMrQzs7SUFFL0MsbURBQW1COztJQUNuQixtREFBbUI7O0lBQ25CLGtEQUFjOztJQUNkLG9EQUF5Qjs7SUFDekIsd0RBQTBCOzs7OztJQUMxQix1REFBbUQ7O0lBQ25ELGlEQUFnQjs7Ozs7SUFDaEIsNkRBQXdEOztJQUN4RCxvREFBdUM7Ozs7O0lBRTNCLGlEQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGZyb21FdmVudCxcbiAgU3Vic2NyaXB0aW9uLFxuICB0aW1lcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRGZXRjaFN0YXR1cyB9IGZyb20gJy4uLy4uL19jb25zdGFudHMvbWlzYy5jb25zdGFudHMnO1xuaW1wb3J0IHsgVmFsdWVTZXJ2aWNlIH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInO1xuaW1wb3J0IHsgTnNDb21tb25TdHJpcCB9IGZyb20gJy4uL2NvbW1vbi1zdHJpcC9jb21tb24tc3RyaXAubW9kZWwnO1xuaW1wb3J0IHsgTnNDb250ZW50U3RyaXBNdWx0aXBsZSB9IGZyb20gJy4uLy4uL19tb2RlbHMvY29udGVudC1zdHJpcC1tdWx0aXBsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLXVpYy1ob3Jpem9udGFsLXNjcm9sbGVyLXYyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hvcml6b250YWwtc2Nyb2xsZXItdjIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgSG9yaXpvbnRhbFNjcm9sbGVyVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBsb2FkU3RhdHVzOiBURmV0Y2hTdGF0dXMgPSAnZmV0Y2hpbmcnO1xuICBASW5wdXQoKSBpZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG9uSG92ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgc2xpZGVyQ29uZmlnOiBhbnkgPSB7XG4gICAgc2hvd05hdnM6IHRydWUsXG4gICAgc2hvd0RvdHM6IHRydWUsXG4gICAgY2VyaWZpY2F0ZUNhcmRNYXJnaW46IGZhbHNlLFxuICB9O1xuICBAT3V0cHV0KCkgbG9hZE5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHdpZGdldHNMZW5ndGg6IGFueTtcbiAgQElucHV0KCkgZGVmYXVsdE1heFdpZGdldHM6IGFueTtcbiAgQElucHV0KCkgc3RyaXBDb25maWc6IGFueTtcbiAgQFZpZXdDaGlsZCgnaG9yaXpvbnRhbFNjcm9sbEVsZW0nLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBob3Jpem9udGFsU2Nyb2xsRWxlbTogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xuXG4gIGVuYWJsZVByZXYgPSBmYWxzZTtcbiAgZW5hYmxlTmV4dCA9IGZhbHNlO1xuICBhY3RpdmVOYXYgPSAwO1xuICBjYXJkU3ViVHlwZSA9ICdzdGFuZGFyZCc7XG4gIGJvdHRvbURvdHNBcnJheTogYW55ID0gW107XG4gIHByaXZhdGUgc2Nyb2xsT2JzZXJ2ZXI6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICBpc01vYmlsZSA9IGZhbHNlXG4gIHByaXZhdGUgZGVmYXVsdE1lbnVTdWJzY3JpYmU6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsXG4gIGlzTHRNZWRpdW0kID0gdGhpcy52YWx1ZVN2Yy5pc0x0TWVkaXVtJFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdmFsdWVTdmM6IFZhbHVlU2VydmljZSkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jYXJkU3ViVHlwZSA9IHRoaXMuc3RyaXBDb25maWcgJiYgdGhpcy5zdHJpcENvbmZpZy5jYXJkU3ViVHlwZSA/IHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgOiAnc3RhbmRhcmQnO1xuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICBjb25zdCBob3Jpem9udGFsU2Nyb2xsRWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW07XG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyID0gZnJvbUV2ZW50KFxuICAgICAgICBob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnc2Nyb2xsJyxcbiAgICAgIClcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0aHJvdHRsZVRpbWUoMTAwKSlcbiAgICAgIC5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyhob3Jpem9udGFsU2Nyb2xsRWxlbVxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIH0pO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XG4gICAgICB9LCA3MDApO1xuICAgIH1cbiAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlID0gdGhpcy5pc0x0TWVkaXVtJC5zdWJzY3JpYmUoKGlzTHRNZWRpdW06IGJvb2xlYW4pID0+IHtcbiAgICAgIHRoaXMuaXNNb2JpbGUgPSBpc0x0TWVkaXVtXG4gICAgfSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRpbWVyKDEwMCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICAgIHRoaXMudXBkYXRlTmF2aWdhdGlvbkJ0blN0YXR1cyh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtXG4gICAgICAgICAgLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5nZXRCb3R0b21Eb3RzQXJyYXkoKTtcbiAgICB9LCA3MDApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc2Nyb2xsT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMuc2Nyb2xsT2JzZXJ2ZXIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuZGVmYXVsdE1lbnVTdWJzY3JpYmUudW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHNob3dQcmV2KCkge1xuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgLT0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIGNsaWVudFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgLT0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKHRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPT09IDApe1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgbGVmdDogZWxlbS5zY3JvbGxXaWR0aCxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2hvd05leHQoKSB7XG4gICAgLy8gY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgIC8vIGVsZW0uc2Nyb2xsTGVmdCArPSAwLjIwICogZWxlbS5jbGllbnRXaWR0aFxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICAvLyBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggKiAwLjI0KVxuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgY2xpZW50V2lkdGgsXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZWxlbSA9IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudFxuICAgICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVOYXYgKz0gMTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmKHRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgaWYodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgIT09IDAgJiYgZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCA+PSBlbGVtLnNjcm9sbFdpZHRoICl7XG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoZWxlbTogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLmVuYWJsZVByZXYgPSB0cnVlO1xuICAgIHRoaXMuZW5hYmxlTmV4dCA9IHRydWU7XG4gICAgaWYgKGVsZW0uc2Nyb2xsTGVmdCA9PT0gMCkge1xuICAgICAgaWYoIXRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlUHJldiA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3RpdmVOYXYgPSAwO1xuICAgIH1cbiAgICBpZiAoZWxlbS5zY3JvbGxXaWR0aCA9PT0gTWF0aC5yb3VuZChlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xuICAgICAgaWYgKHRoaXMubG9hZFN0YXR1cyA9PT0gJ2hhc01vcmUnKSB7XG4gICAgICAgIHRoaXMubG9hZE5leHQuZW1pdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYoIXRoaXMuc2xpZGVyQ29uZmlnLmFycm93c0Fsd2F5c09uKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVOZXh0ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gdGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZWxlbS5zY3JvbGxMZWZ0ICE9PSAwICYmIChlbGVtLnNjcm9sbFdpZHRoICE9PSBlbGVtLmNsaWVudFdpZHRoICsgZWxlbS5zY3JvbGxMZWZ0KSkge1xuICAgICAgdGhpcy5hY3RpdmVOYXYgPSBNYXRoLmNlaWwoZWxlbS5zY3JvbGxMZWZ0IC8gZWxlbS5jbGllbnRXaWR0aCk7XG4gICAgfVxuICB9XG5cbiAgc2xpZGVUbyhlbGU6IGFueSkge1xuICAgIGNvbnN0IGRpZmYgPSBlbGUgLSB0aGlzLmFjdGl2ZU5hdjtcbiAgICAvLyBpZiAoZWxlID4gdGhpcy5hY3RpdmVOYXYgJiYgZWxlICE9PSB0aGlzLmFjdGl2ZU5hdikge1xuICAgIC8vICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAvLyAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKVxuICAgIC8vICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoKmRpZmYpLFxuICAgIC8vICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAvLyAgICAgfSlcbiAgICAvLyAgIH1cbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gZWxlXG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtICYmIGVsZSA+PSAwICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcbiAgICAvLyAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKVxuICAgIC8vICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgIC8vICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0IC0gKGNsaWVudFdpZHRoKmRpZmYpLFxuICAgIC8vICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAvLyAgICAgfSlcbiAgICAvLyAgIH1cbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gZWxlXG4gICAgLy8gfVxuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKyAoY2xpZW50V2lkdGggKiBkaWZmKSxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlTmF2ID0gZWxlO1xuICB9XG5cbiAgZ2V0Qm90dG9tRG90c0FycmF5KCkge1xuICAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgICB0aGlzLmJvdHRvbURvdHNBcnJheSA9IFtdO1xuICAgICAgbGV0IGNhcmRXaWR0aDtcbiAgICAgIGxldCBhcnJMZW5ndGg7XG4gICAgICBpZiAodGhpcy5jYXJkU3ViVHlwZSAhPT0gJ2NhcmQtd2lkZS12MicpIHtcbiAgICAgICAgY2FyZFdpZHRoID0gdGhpcy5jYXJkU3ViVHlwZSA9PT0gJ3N0YW5kYXJkJyA/IDI0NSA6XG4gICAgICAgICgoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKSAmJlxuICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLmNhcmRTdWJUeXBlKVswXSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICA/IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSlbMF0uY2xpZW50V2lkdGggOiAyNDUpO1xuICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH1gKSkge1xuICAgICAgICAgIGNvbnN0IHNjcm9sbGVyV2lkdGggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHt0aGlzLmlkfWApLmNsaWVudFdpZHRoO1xuICAgICAgICAgIGNvbnN0IHRvdGFsQ2FyZHNMZW5ndGggPSBjYXJkV2lkdGggKiB0aGlzLndpZGdldHNMZW5ndGg7XG4gICAgICAgICAgaWYgKHRvdGFsQ2FyZHNMZW5ndGggPiBzY3JvbGxlcldpZHRoKSB7XG4gICAgICAgICAgICBhcnJMZW5ndGggPSAoc2Nyb2xsZXJXaWR0aCAvIGNhcmRXaWR0aCk7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID0gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA/ICB0aGlzLndpZGdldHNMZW5ndGggPCB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzID9cbiAgICAgICAgICAgICAgdGhpcy53aWRnZXRzTGVuZ3RoIDogdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA6IHRoaXMuZGVmYXVsdE1heFdpZGdldHM7XG4gICAgICAgICAgICBhcnJMZW5ndGggPSB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzIC8gYXJyTGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheS5wdXNoKGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuY2FyZFN1YlR5cGUnLCB0aGlzLmNhcmRTdWJUeXBlLCBhcnJMZW5ndGgsIHRoaXMud2lkZ2V0c0xlbmd0aCAsXG4gICAgICAgICAgICAvLyB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzLCBzY3JvbGxlcldpZHRoLCB0aGlzLmJvdHRvbURvdHNBcnJheSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGFyckxlbmd0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkubGVuZ3RoO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgIHRoaXMuYm90dG9tRG90c0FycmF5LnB1c2goaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAgICAgICAgIDEwMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
|
|
392
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2hvcml6b250YWwtc2Nyb2xsZXItdjIvaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRDtJQWlDRSx1Q0FBb0IsUUFBc0I7UUFBdEIsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQXpCakMsZUFBVSxHQUFpQixVQUFVLENBQUM7UUFDdEMsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGlCQUFZLEdBQVE7WUFDM0IsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQztRQUNRLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3hDLHlCQUFvQixHQUFzQixJQUFJLENBQUM7UUFFL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUNsQixtQkFBYyxHQUF3QixJQUFJLENBQUM7UUFD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QStDOztJQUMvQywyQ0FBeUI7O0lBQ3pCLGdEQUF5Qjs7SUFDekIscURBSUU7O0lBQ0YsaURBQXdDOztJQUN4QyxzREFBNEI7O0lBQzVCLDBEQUFnQzs7SUFDaEMsb0RBQTBCOztJQUMxQiw2REFDK0M7O0lBRS9DLG1EQUFtQjs7SUFDbkIsbURBQW1COztJQUNuQixrREFBYzs7SUFDZCxvREFBeUI7O0lBQ3pCLHdEQUEwQjs7Ozs7SUFDMUIsdURBQW1EOztJQUNuRCxpREFBZ0I7Ozs7O0lBQ2hCLDZEQUF3RDs7SUFDeEQsb0RBQXVDOzs7OztJQUUzQixpREFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBmcm9tRXZlbnQsXG4gIFN1YnNjcmlwdGlvbixcbiAgdGltZXIsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBURmV0Y2hTdGF0dXMgfSBmcm9tICcuLi8uLi9fY29uc3RhbnRzL21pc2MuY29uc3RhbnRzJztcbmltcG9ydCB7IFZhbHVlU2VydmljZSB9IGZyb20gJ0BzdW5iaXJkLWNiL3V0aWxzLXYyJztcbmltcG9ydCB7IE5zQ29tbW9uU3RyaXAgfSBmcm9tICcuLi9jb21tb24tc3RyaXAvY29tbW9uLXN0cmlwLm1vZGVsJztcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtaG9yaXpvbnRhbC1zY3JvbGxlci12MicsXG4gIHRlbXBsYXRlVXJsOiAnLi9ob3Jpem9udGFsLXNjcm9sbGVyLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG9yaXpvbnRhbC1zY3JvbGxlci12Mi5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEhvcml6b250YWxTY3JvbGxlclYyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgbG9hZFN0YXR1czogVEZldGNoU3RhdHVzID0gJ2ZldGNoaW5nJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBvbkhvdmVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNsaWRlckNvbmZpZzogYW55ID0ge1xuICAgIHNob3dOYXZzOiB0cnVlLFxuICAgIHNob3dEb3RzOiB0cnVlLFxuICAgIGNlcmlmaWNhdGVDYXJkTWFyZ2luOiBmYWxzZSxcbiAgfTtcbiAgQE91dHB1dCgpIGxvYWROZXh0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSB3aWRnZXRzTGVuZ3RoOiBhbnk7XG4gIEBJbnB1dCgpIGRlZmF1bHRNYXhXaWRnZXRzOiBhbnk7XG4gIEBJbnB1dCgpIHN0cmlwQ29uZmlnOiBhbnk7XG4gIEBWaWV3Q2hpbGQoJ2hvcml6b250YWxTY3JvbGxFbGVtJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgaG9yaXpvbnRhbFNjcm9sbEVsZW06IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICBlbmFibGVQcmV2ID0gZmFsc2U7XG4gIGVuYWJsZU5leHQgPSBmYWxzZTtcbiAgYWN0aXZlTmF2ID0gMDtcbiAgY2FyZFN1YlR5cGUgPSAnc3RhbmRhcmQnO1xuICBib3R0b21Eb3RzQXJyYXk6IGFueSA9IFtdO1xuICBwcml2YXRlIHNjcm9sbE9ic2VydmVyOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgaXNNb2JpbGUgPSBmYWxzZVxuICBwcml2YXRlIGRlZmF1bHRNZW51U3Vic2NyaWJlOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbFxuICBpc0x0TWVkaXVtJCA9IHRoaXMudmFsdWVTdmMuaXNMdE1lZGl1bSRcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbHVlU3ZjOiBWYWx1ZVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY2FyZFN1YlR5cGUgPSB0aGlzLnN0cmlwQ29uZmlnICYmIHRoaXMuc3RyaXBDb25maWcuY2FyZFN1YlR5cGUgPyB0aGlzLnN0cmlwQ29uZmlnLmNhcmRTdWJUeXBlIDogJ3N0YW5kYXJkJztcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgaG9yaXpvbnRhbFNjcm9sbEVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtO1xuICAgICAgdGhpcy5zY3JvbGxPYnNlcnZlciA9IGZyb21FdmVudChcbiAgICAgICAgaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ3Njcm9sbCcsXG4gICAgICApXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSwgdGhyb3R0bGVUaW1lKDEwMCkpXG4gICAgICAuc3Vic2NyaWJlKF8gPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXMoaG9yaXpvbnRhbFNjcm9sbEVsZW1cbiAgICAgICAgICAubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICB9KTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmdldEJvdHRvbURvdHNBcnJheSgpO1xuICAgICAgfSwgNzAwKTtcbiAgICB9XG4gICAgdGhpcy5kZWZhdWx0TWVudVN1YnNjcmliZSA9IHRoaXMuaXNMdE1lZGl1bSQuc3Vic2NyaWJlKChpc0x0TWVkaXVtOiBib29sZWFuKSA9PiB7XG4gICAgICB0aGlzLmlzTW9iaWxlID0gaXNMdE1lZGl1bVxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aW1lcigxMDApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgICB0aGlzLnVwZGF0ZU5hdmlnYXRpb25CdG5TdGF0dXModGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbVxuICAgICAgICAgIC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZ2V0Qm90dG9tRG90c0FycmF5KCk7XG4gICAgfSwgNzAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbE9ic2VydmVyKSB7XG4gICAgICB0aGlzLnNjcm9sbE9ic2VydmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLmRlZmF1bHRNZW51U3Vic2NyaWJlLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBzaG93UHJldigpIHtcbiAgICAvLyBjb25zdCBlbGVtID0gdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50XG4gICAgLy8gZWxlbS5zY3JvbGxMZWZ0IC09IDAuMjAgKiBlbGVtLmNsaWVudFdpZHRoXG4gICAgaWYgKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0pIHtcbiAgICAgIC8vIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCAqIDAuMjQpXG4gICAgICBjb25zdCBjbGllbnRXaWR0aCA9ICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGgpO1xuICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgbGVmdDogdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgLSBjbGllbnRXaWR0aCxcbiAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2IC09IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID09PSAwKXtcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgIGxlZnQ6IGVsZW0uc2Nyb2xsV2lkdGgsXG4gICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVOYXYgPSB0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGggLSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNob3dOZXh0KCkge1xuICAgIC8vIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAvLyBlbGVtLnNjcm9sbExlZnQgKz0gMC4yMCAqIGVsZW0uY2xpZW50V2lkdGhcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgLy8gY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoICogMC4yNClcbiAgICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIGNsaWVudFdpZHRoLFxuICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGVsZW0gPSB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnRcbiAgICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlTmF2ICs9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZih0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICAgIGlmKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICE9PSAwICYmIGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQgPj0gZWxlbS5zY3JvbGxXaWR0aCApe1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVOYXZpZ2F0aW9uQnRuU3RhdHVzKGVsZW06IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5lbmFibGVQcmV2ID0gdHJ1ZTtcbiAgICB0aGlzLmVuYWJsZU5leHQgPSB0cnVlO1xuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgPT09IDApIHtcbiAgICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgICAgICB0aGlzLmVuYWJsZVByZXYgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWN0aXZlTmF2ID0gMDtcbiAgICB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsV2lkdGggPT09IE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgIC8vICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKTtcbiAgICAvLyAgIH0gZWxzZSB7XG4gICAgLy8gICAgIGlmKCF0aGlzLnNsaWRlckNvbmZpZy5hcnJvd3NBbHdheXNPbikge1xuICAgIC8vICAgICAgIHRoaXMuZW5hYmxlTmV4dCA9IGZhbHNlO1xuICAgIC8vICAgICB9XG4gICAgLy8gICAgIGlmICh0aGlzLmJvdHRvbURvdHNBcnJheS5sZW5ndGgpIHtcbiAgICAvLyAgICAgICB0aGlzLmFjdGl2ZU5hdiA9IHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCAtIDE7XG4gICAgLy8gICAgIH1cbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgLy8gaWYgKGVsZW0uc2Nyb2xsTGVmdCAhPT0gMCAmJiAoZWxlbS5zY3JvbGxXaWR0aCAhPT0gZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpIHtcbiAgICAvLyAgIHRoaXMuYWN0aXZlTmF2ID0gTWF0aC5jZWlsKGVsZW0uc2Nyb2xsTGVmdCAvIGVsZW0uY2xpZW50V2lkdGgpO1xuICAgIC8vIH1cblxuXG4gICAgY29uc3Qgd2lkdGhEaWZmID0gTWF0aC5hYnMoZWxlbS5zY3JvbGxXaWR0aCAtIE1hdGgucm91bmQoZWxlbS5jbGllbnRXaWR0aCArIGVsZW0uc2Nyb2xsTGVmdCkpXG4gICAgaWYgKHdpZHRoRGlmZiA9PT0gMCB8fCB3aWR0aERpZmYgPT09IDEpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRTdGF0dXMgPT09ICdoYXNNb3JlJykge1xuICAgICAgICB0aGlzLmxvYWROZXh0LmVtaXQoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5lbmFibGVOZXh0ID0gZmFsc2VcbiAgICAgICAgaWYgKHRoaXMuYm90dG9tRG90c0FycmF5Lmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlTmF2ID0gdGhpcy5ib3R0b21Eb3RzQXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbGVtLnNjcm9sbExlZnQgIT09IDAgJiYgKGVsZW0uc2Nyb2xsV2lkdGggIT09IGVsZW0uY2xpZW50V2lkdGggKyBlbGVtLnNjcm9sbExlZnQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZU5hdiA9IE1hdGguY2VpbChlbGVtLnNjcm9sbExlZnQgLyBlbGVtLmNsaWVudFdpZHRoKVxuICAgIH1cbiAgfVxuXG4gIHNsaWRlVG8oZWxlOiBhbnkpIHtcbiAgICBjb25zdCBkaWZmID0gZWxlIC0gdGhpcy5hY3RpdmVOYXY7XG4gICAgLy8gaWYgKGVsZSA+IHRoaXMuYWN0aXZlTmF2ICYmIGVsZSAhPT0gdGhpcy5hY3RpdmVOYXYpIHtcbiAgICAvLyAgIGlmICh0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtKSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCArIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH0gZWxzZSB7XG4gICAgLy8gICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSAmJiBlbGUgPj0gMCAmJiBlbGUgIT09IHRoaXMuYWN0aXZlTmF2KSB7XG4gICAgLy8gICAgIGNvbnN0IGNsaWVudFdpZHRoID0gKHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aClcbiAgICAvLyAgICAgdGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAvLyAgICAgICBsZWZ0OiB0aGlzLmhvcml6b250YWxTY3JvbGxFbGVtLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCAtIChjbGllbnRXaWR0aCpkaWZmKSxcbiAgICAvLyAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgLy8gICAgIH0pXG4gICAgLy8gICB9XG4gICAgLy8gICB0aGlzLmFjdGl2ZU5hdiA9IGVsZVxuICAgIC8vIH1cbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgY29uc3QgY2xpZW50V2lkdGggPSAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbS5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKTtcbiAgICAgIHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuaG9yaXpvbnRhbFNjcm9sbEVsZW0ubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICsgKGNsaWVudFdpZHRoICogZGlmZiksXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmFjdGl2ZU5hdiA9IGVsZTtcbiAgfVxuXG4gIGdldEJvdHRvbURvdHNBcnJheSgpIHtcbiAgICBpZiAodGhpcy5ob3Jpem9udGFsU2Nyb2xsRWxlbSkge1xuICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkgPSBbXTtcbiAgICAgIGxldCBjYXJkV2lkdGg7XG4gICAgICBsZXQgYXJyTGVuZ3RoO1xuICAgICAgaWYgKHRoaXMuY2FyZFN1YlR5cGUgIT09ICdjYXJkLXdpZGUtdjInKSB7XG4gICAgICAgIGNhcmRXaWR0aCA9IHRoaXMuY2FyZFN1YlR5cGUgPT09ICdzdGFuZGFyZCcgPyAyNDUgOlxuICAgICAgICAoKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSkgJiZcbiAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGhpcy5jYXJkU3ViVHlwZSlbMF0gIT09IHVuZGVmaW5lZClcbiAgICAgICAgPyBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpWzBdLmNsaWVudFdpZHRoIDogMjQ1KTtcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke3RoaXMuaWR9YCkpIHtcbiAgICAgICAgICBjb25zdCBzY3JvbGxlcldpZHRoID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7dGhpcy5pZH1gKS5jbGllbnRXaWR0aDtcbiAgICAgICAgICBjb25zdCB0b3RhbENhcmRzTGVuZ3RoID0gY2FyZFdpZHRoICogdGhpcy53aWRnZXRzTGVuZ3RoO1xuICAgICAgICAgIGlmICh0b3RhbENhcmRzTGVuZ3RoID4gc2Nyb2xsZXJXaWR0aCkge1xuICAgICAgICAgICAgYXJyTGVuZ3RoID0gKHNjcm9sbGVyV2lkdGggLyBjYXJkV2lkdGgpO1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA9IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgPyAgdGhpcy53aWRnZXRzTGVuZ3RoIDwgdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyA/XG4gICAgICAgICAgICAgIHRoaXMud2lkZ2V0c0xlbmd0aCA6IHRoaXMuZGVmYXVsdE1heFdpZGdldHMgOiB0aGlzLmRlZmF1bHRNYXhXaWRnZXRzO1xuICAgICAgICAgICAgYXJyTGVuZ3RoID0gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cyAvIGFyckxlbmd0aDtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyTGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgICAgICAgdGhpcy5ib3R0b21Eb3RzQXJyYXkucHVzaChpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLmNhcmRTdWJUeXBlJywgdGhpcy5jYXJkU3ViVHlwZSwgYXJyTGVuZ3RoLCB0aGlzLndpZGdldHNMZW5ndGggLFxuICAgICAgICAgICAgLy8gdGhpcy5kZWZhdWx0TWF4V2lkZ2V0cywgc2Nyb2xsZXJXaWR0aCwgdGhpcy5ib3R0b21Eb3RzQXJyYXkpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBhcnJMZW5ndGggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHRoaXMuY2FyZFN1YlR5cGUpLmxlbmd0aDtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICB0aGlzLmJvdHRvbURvdHNBcnJheS5wdXNoKGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgICAgICAgICAxMDAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|