zek 14.2.38 → 14.2.48
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/esm2020/lib/components/base.component.mjs +3 -2
- package/esm2020/lib/components/core-ui.component.mjs +20 -5
- package/esm2020/lib/modules/age/age.pipe.mjs +2 -3
- package/esm2020/lib/modules/alert/alert/alert.component.mjs +1 -1
- package/esm2020/lib/modules/bb/bb-modal-base.component.mjs +9 -2
- package/esm2020/lib/modules/bb/bb-modal-toolbar.mjs +9 -2
- package/esm2020/lib/modules/bb/bb.component.mjs +32 -8
- package/esm2020/lib/modules/card/card/card.component.mjs +1 -1
- package/esm2020/lib/modules/edit-toolbar/edit-toolbar.component.mjs +23 -4
- package/esm2020/lib/modules/file/file-size.pipe.mjs +3 -3
- package/esm2020/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.mjs +72 -11
- package/esm2020/lib/modules/index.mjs +3 -1
- package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +44 -7
- package/esm2020/lib/modules/modal/modal/modal.component.mjs +72 -8
- package/esm2020/lib/modules/page-title/page-title.component.mjs +11 -1
- package/esm2020/lib/modules/pager/pager/pager.component.mjs +9 -2
- package/esm2020/lib/modules/password/password.component.mjs +9 -2
- package/esm2020/lib/modules/radio/radio-button.component.mjs +3 -3
- package/esm2020/lib/modules/readonly/readonly.directive.mjs +5 -5
- package/esm2020/lib/modules/select/index.mjs +3 -0
- package/esm2020/lib/modules/select/model.mjs +4 -0
- package/esm2020/lib/modules/select/module.mjs +28 -0
- package/esm2020/lib/modules/select/select.mjs +198 -0
- package/esm2020/lib/modules/select2/select2.component.mjs +1 -1
- package/esm2020/lib/modules/select2-multiple/select2-multiple.component.mjs +1 -1
- package/esm2020/lib/modules/validator/field-validator.component.mjs +1 -1
- package/esm2020/lib/modules/validators/directive.mjs +75 -0
- package/esm2020/lib/modules/validators/index.mjs +4 -0
- package/esm2020/lib/modules/validators/module.mjs +22 -0
- package/esm2020/lib/modules/validators/validator.mjs +72 -0
- package/esm2020/lib/modules/wizard/wizard/wizard.component.mjs +1 -1
- package/esm2020/lib/services/auth.service.mjs +2 -2
- package/esm2020/lib/utils/array-helper.mjs +25 -9
- package/esm2020/lib/utils/bitwise-helper.mjs +3 -3
- package/esm2020/lib/utils/convert.mjs +1 -1
- package/esm2020/lib/utils/date-helper.mjs +2 -2
- package/esm2020/lib/utils/filter-helper.mjs +2 -2
- package/esm2020/lib/utils/object-helper.mjs +17 -4
- package/esm2020/lib/utils/string-helper.mjs +9 -18
- package/esm2020/lib/utils/time-helper.mjs +2 -2
- package/fesm2015/zek.mjs +734 -91
- package/fesm2015/zek.mjs.map +1 -1
- package/fesm2020/zek.mjs +734 -91
- package/fesm2020/zek.mjs.map +1 -1
- package/lib/components/base.component.d.ts +3 -2
- package/lib/components/core-ui.component.d.ts +9 -4
- package/lib/modules/bb/bb-modal-base.component.d.ts +4 -2
- package/lib/modules/bb/bb-modal-toolbar.d.ts +4 -1
- package/lib/modules/bb/bb.component.d.ts +13 -10
- package/lib/modules/edit-toolbar/edit-toolbar.component.d.ts +10 -3
- package/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.d.ts +31 -10
- package/lib/modules/index.d.ts +2 -0
- package/lib/modules/list-toolbar/list-toolbar.component.d.ts +19 -6
- package/lib/modules/modal/modal/modal.component.d.ts +31 -11
- package/lib/modules/page-title/page-title.component.d.ts +4 -1
- package/lib/modules/pager/pager/pager.component.d.ts +4 -1
- package/lib/modules/password/password.component.d.ts +4 -1
- package/lib/modules/radio/radio-button.component.d.ts +0 -6
- package/lib/modules/readonly/readonly.directive.d.ts +3 -2
- package/lib/modules/select/index.d.ts +2 -0
- package/lib/modules/select/model.d.ts +5 -0
- package/lib/modules/select/module.d.ts +9 -0
- package/lib/modules/select/select.d.ts +42 -0
- package/lib/modules/validators/directive.d.ts +67 -0
- package/lib/modules/validators/index.d.ts +3 -0
- package/lib/modules/validators/module.d.ts +8 -0
- package/lib/modules/validators/validator.d.ts +33 -0
- package/lib/utils/array-helper.d.ts +2 -1
- package/lib/utils/bitwise-helper.d.ts +2 -2
- package/lib/utils/object-helper.d.ts +6 -0
- package/lib/utils/string-helper.d.ts +3 -3
- package/package.json +1 -1
|
@@ -129,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
129
129
|
}], value: [{
|
|
130
130
|
type: Input
|
|
131
131
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvc2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvc2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUN6RCw2QkFBNkI7QUFRN0IsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQVNXLGNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFdEMsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQVcvQixpQkFBWSxHQUFlLEVBQUUsQ0FBQztRQUlyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQTtRQUV2Qix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9DLG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBSzlCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQTZGakQ7SUFuSEMsSUFBYSxJQUFJO1FBQ2YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFpQjtRQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMs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LENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFvQixDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDdkYsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN0RDthQUFNO1lBQ0wsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbkY7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDOztxSEF2SFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsOFJDVnJDLHFqREF1Qk07MkZEYk8sd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLDZDQUE2Qzs4QkFXMUMsSUFBSTtzQkFBaEIsS0FBSztnQkFZRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBTUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFTSxLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJhbmRvbUhlbHBlciwgU3RyaW5nSGVscGVyIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG4vL2RlY2xhcmUgbGV0IGJvb3RzdHJhcDogYW55O1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnemVrLXNlbGVjdDItbXVsdGlwbGUsW3play1zZWxlY3QyLW11bHRpcGxlXScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdDItbXVsdGlwbGUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VsZWN0Mk11bHRpcGxlQ29tcG9uZW50IHtcclxuICBmaWx0ZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICByZWFkb25seSBlbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcblxyXG4gIHByaXZhdGUgX2RhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuICBASW5wdXQoKSBnZXQgZGF0YSgpOiBBcnJheTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuICBzZXQgZGF0YSh2YWx1ZTogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKHRoaXMuX2RhdGEgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5maW5kQW5kU2V0SXRlbXMoKTtcclxuICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGZpbHRlcmVkRGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICBASW5wdXQoKSB0ZXh0RmllbGQ6IGFueTtcclxuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBhbnk7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnXHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW1DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1zOiBBcnJheTxhbnk+ID0gW107XHJcbiAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogQXJyYXk8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtcztcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHByaXZhdGUgX3ZhbHVlPzogQXJyYXk8YW55PiB8IG51bGw7XHJcbiAgQElucHV0KCkgZ2V0IHZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodjogYW55KSB7XHJcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IHYpIHtcclxuICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICB0aGlzLmZpbmRBbmRTZXRJdGVtcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kQW5kU2V0SXRlbXMoKSB7XHJcbiAgICB0aGlzLl9kYXRhPy5mb3JFYWNoKHggPT4geC5zZWxlY3RlZCA9IGZhbHNlKTtcclxuICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBbXTtcclxuICAgIGxldCBmb3VuZEl0ZW1zOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBpZiAodGhpcy5fdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl92YWx1ZSA9PT0gbnVsbCB8fCAhdGhpcy5kYXRhKSB7XHJcblxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlRmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlRmllbGQgPT09IG51bGwgfHwgdGhpcy52YWx1ZUZpZWxkID09PSAnJykge1xyXG4gICAgICBmb3VuZEl0ZW1zID0gdGhpcy5kYXRhLmZpbHRlcih4ID0+IHRoaXMuX3ZhbHVlPy5pbmNsdWRlcyh4KSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3VuZEl0ZW1zID0gdGhpcy5kYXRhLmZpbHRlcih4ID0+IHRoaXMuX3ZhbHVlPy5pbmNsdWRlcyh4W3RoaXMudmFsdWVGaWVsZF0pKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKGZvdW5kSXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3VuZEl0ZW1zLmZvckVhY2goeCA9PiB4LnNlbGVjdGVkID0gdHJ1ZSk7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSBmb3VuZEl0ZW1zO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRUZXh0KCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIG9uVGV4dENoYW5nZSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZmlsdGVyID0gU3RyaW5nSGVscGVyLnRyeVRyaW0odGV4dCk7XHJcbiAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVyRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmZpbHRlciAmJiB0aGlzLmZpbHRlciAhPT0gJycpIHtcclxuICAgICAgbGV0IHNlYXJjaFN0cmluZyA9IHRoaXMuZmlsdGVyO1xyXG4gICAgICBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW1bdGhpcy50ZXh0RmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyhlOiBGb2N1c0V2ZW50KSB7XHJcbiAgICB0aGlzLmZpbHRlciA9ICcnO1xyXG4gICAgdGhpcy50ZXh0ID0gJyc7XHJcbiAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICB9XHJcbiAgaW5wdXRVbmZvY3VzZWQoKSB7XHJcbiAgICB0aGlzLnNldFRleHQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VGV4dCgpIHtcclxuICAgIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbXMuam9pbignLCAnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbXMubWFwKHggPT4geFt0aGlzLnRleHRGaWVsZF0pLmpvaW4oJywgJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKGl0ZW06IGFueSkge1xyXG4gICAgaXRlbS5zZWxlY3RlZCA9ICFpdGVtLnNlbGVjdGVkO1xyXG5cclxuICAgIGlmIChpdGVtLnNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMucHVzaChpdGVtKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbXMgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zLmZpbHRlcih4ID0+IHggIT09IGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICB0aGlzLnNldFRleHQoKTtcclxuXHJcbiAgICBsZXQgdjogQXJyYXk8YW55PiB8IG51bGw7XHJcbiAgICBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgdiA9IHRoaXMuX3NlbGVjdGVkSXRlbXMgPyB0aGlzLl9zZWxlY3RlZEl0ZW1zIDogbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHYgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zID8gdGhpcy5fc2VsZWN0ZWRJdGVtcy5tYXAoeCA9PiB4W3RoaXMudmFsdWVGaWVsZF0pIDogbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHBvc2l0aW9uLXJlbGF0aXZlXCIgaWQ9XCJkcm9wZG93bi1tZW51LWNvbnRhaW5lci17e2VsZW1lbnRJZH19XCI+XHJcbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBkYXRhLWJzLWF1dG8tY2xvc2U9XCJvdXRzaWRlXCIgaWQ9XCJpbnB1dC17e2VsZW1lbnRJZH19XCIgWyhuZ01vZGVsKV09XCJ0ZXh0XCIgKG5nTW9kZWxDaGFuZ2UpPVwib25UZXh0Q2hhbmdlKCRldmVudClcIiAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCIgKGJsdXIpPVwiaW5wdXRVbmZvY3VzZWQoKVwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGRyb3Bkb3duLXRvZ2dsZVwiIGlkPVwiYnRuLXt7ZWxlbWVudElkfX1cIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiIGRhdGEtYnMtcmVmZXJlbmNlPVwicGFyZW50XCI+PC9idXR0b24+XHJcbiAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXN0YXJ0IHctMTAwIHNjcm9sbGFibGUtbWVudVwiIGlkPVwiZHJvcGRvd24tbWVudS17e2VsZW1lbnRJZH19XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYXIgZmEtc3F1YXJlXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgIHt7aXRlbVt0ZXh0RmllbGRdfX1cclxuICAgICAgICA8L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmFyIGZhLWNoZWNrLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLnNlbGVjdGVkXCI+PGkgY2xhc3M9XCJmYXIgZmEtc3F1YXJlXCI+PC9pPjwvc3Bhbj5cclxuICAgICAgICAgIHt7aXRlbX19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC91bD5cclxuPC9kaXY+Il19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvc2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDItbXVsdGlwbGUvc2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQUN6RCw2QkFBNkI7QUFRN0IsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQVNhLGNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFdEMsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQVkvQixpQkFBWSxHQUFlLEVBQUUsQ0FBQztRQUlyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQTtRQUV2Qix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQy9DLG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBSzlCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztLQThGbkQ7SUFySEcsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFpQjtRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMs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QUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFvQixDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDckYsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN4RDthQUFNO1lBQ0gsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDckY7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixDQUFDOztxSEF6SFEsd0JBQXdCO3lHQUF4Qix3QkFBd0IsOFJDVnJDLHFqREF1Qk07MkZEYk8sd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLDZDQUE2Qzs4QkFZbkQsSUFBSTtzQkFEUCxLQUFLO2dCQWFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIsIFN0cmluZ0hlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuLy9kZWNsYXJlIGxldCBib290c3RyYXA6IGFueTtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXNlbGVjdDItbXVsdGlwbGUsW3play1zZWxlY3QyLW11bHRpcGxlXScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0Mi1tdWx0aXBsZS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QyTXVsdGlwbGVDb21wb25lbnQge1xyXG4gICAgZmlsdGVyPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIHJlYWRvbmx5IGVsZW1lbnRJZCA9IFJhbmRvbUhlbHBlci5yYW5kb21IZXgoKTtcclxuXHJcbiAgICBwcml2YXRlIF9kYXRhOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhdGEoKTogQXJyYXk8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcbiAgICBzZXQgZGF0YSh2YWx1ZTogQXJyYXk8YW55Pikge1xyXG4gICAgICAgIGlmICh0aGlzLl9kYXRhICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW1zKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpbHRlcmVkRGF0YTogQXJyYXk8YW55PiA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpIHRleHRGaWVsZDogYW55O1xyXG4gICAgQElucHV0KCkgdmFsdWVGaWVsZDogYW55O1xyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnXHJcblxyXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gICAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogQXJyYXk8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF92YWx1ZT86IEFycmF5PGFueT4gfCBudWxsO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB2YWx1ZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzZXQgdmFsdWUodjogYW55KSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgICAgICAgdGhpcy5maW5kQW5kU2V0SXRlbXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaW5kQW5kU2V0SXRlbXMoKSB7XHJcbiAgICAgICAgdGhpcy5fZGF0YT8uZm9yRWFjaCh4ID0+IHguc2VsZWN0ZWQgPSBmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IFtdO1xyXG4gICAgICAgIGxldCBmb3VuZEl0ZW1zOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fdmFsdWUgPT09IG51bGwgfHwgIXRoaXMuZGF0YSkge1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlRmllbGQgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIGZvdW5kSXRlbXMgPSB0aGlzLmRhdGEuZmlsdGVyKHggPT4gdGhpcy5fdmFsdWU/LmluY2x1ZGVzKHgpKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3VuZEl0ZW1zID0gdGhpcy5kYXRhLmZpbHRlcih4ID0+IHRoaXMuX3ZhbHVlPy5pbmNsdWRlcyh4W3RoaXMudmFsdWVGaWVsZF0pKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChmb3VuZEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtcy5mb3JFYWNoKHggPT4geC5zZWxlY3RlZCA9IHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zID0gZm91bmRJdGVtcztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRUZXh0KCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBvblRleHRDaGFuZ2UodGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5maWx0ZXIgPSBTdHJpbmdIZWxwZXIudHJ5VHJpbSh0ZXh0KTtcclxuICAgICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpbHRlckRhdGEoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuZmlsdGVyICYmIHRoaXMuZmlsdGVyICE9PSAnJykge1xyXG4gICAgICAgICAgICBsZXQgc2VhcmNoU3RyaW5nID0gdGhpcy5maWx0ZXI7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRleHRGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudGV4dEZpZWxkID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoaXRlbSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW1bdGhpcy50ZXh0RmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRm9jdXMoZTogRm9jdXNFdmVudCkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyID0gJyc7XHJcbiAgICAgICAgdGhpcy50ZXh0ID0gJyc7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICB9XHJcbiAgICBpbnB1dFVuZm9jdXNlZCgpIHtcclxuICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFRleHQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudGV4dEZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy50ZXh0RmllbGQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcy5qb2luKCcsICcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbXMubWFwKHggPT4geFt0aGlzLnRleHRGaWVsZF0pLmpvaW4oJywgJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEl0ZW0oaXRlbTogYW55KSB7XHJcbiAgICAgICAgaXRlbS5zZWxlY3RlZCA9ICFpdGVtLnNlbGVjdGVkO1xyXG5cclxuICAgICAgICBpZiAoaXRlbS5zZWxlY3RlZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyA9IHRoaXMuX3NlbGVjdGVkSXRlbXMuZmlsdGVyKHggPT4geCAhPT0gaXRlbSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbUNoYW5nZS5lbWl0KGl0ZW0pO1xyXG4gICAgICAgIHRoaXMuc2V0VGV4dCgpO1xyXG5cclxuICAgICAgICBsZXQgdjogQXJyYXk8YW55PiB8IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gbnVsbCB8fCB0aGlzLnZhbHVlRmllbGQgPT09ICcnKSB7XHJcbiAgICAgICAgICAgIHYgPSB0aGlzLl9zZWxlY3RlZEl0ZW1zID8gdGhpcy5fc2VsZWN0ZWRJdGVtcyA6IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdiA9IHRoaXMuX3NlbGVjdGVkSXRlbXMgPyB0aGlzLl9zZWxlY3RlZEl0ZW1zLm1hcCh4ID0+IHhbdGhpcy52YWx1ZUZpZWxkXSkgOiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2O1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh2KTtcclxuICAgIH1cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBwb3NpdGlvbi1yZWxhdGl2ZVwiIGlkPVwiZHJvcGRvd24tbWVudS1jb250YWluZXIte3tlbGVtZW50SWR9fVwiPlxyXG4gIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgZGF0YS1icy1hdXRvLWNsb3NlPVwib3V0c2lkZVwiIGlkPVwiaW5wdXQte3tlbGVtZW50SWR9fVwiIFsobmdNb2RlbCldPVwidGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgkZXZlbnQpXCIgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiIChibHVyKT1cImlucHV0VW5mb2N1c2VkKClcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIiBpZD1cImJ0bi17e2VsZW1lbnRJZH19XCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBkYXRhLWJzLXJlZmVyZW5jZT1cInBhcmVudFwiPjwvYnV0dG9uPlxyXG4gIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1zdGFydCB3LTEwMCBzY3JvbGxhYmxlLW1lbnVcIiBpZD1cImRyb3Bkb3duLW1lbnUte3tlbGVtZW50SWR9fVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRleHRGaWVsZFwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2VsZWN0ZWRcIj48aSBjbGFzcz1cImZhciBmYS1jaGVjay1zcXVhcmVcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmFyIGZhLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICB7e2l0ZW1bdGV4dEZpZWxkXX19XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICA8L2xpPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRleHRGaWVsZFwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2VsZWN0ZWRcIj48aSBjbGFzcz1cImZhciBmYS1jaGVjay1zcXVhcmVcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaXRlbS5zZWxlY3RlZFwiPjxpIGNsYXNzPVwiZmFyIGZhLXNxdWFyZVwiPjwvaT48L3NwYW4+XHJcbiAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvdWw+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
17
17
|
}], ctorParameters: function () { return []; }, propDecorators: { field: [{
|
|
18
18
|
type: Input
|
|
19
19
|
}] } });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdmFsaWRhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvdmFsaWRhdG9yL2ZpZWxkLXZhbGlkYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3ZhbGlkYXRvci9maWVsZC12YWxpZGF0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPakQsTUFBTSxPQUFPLHVCQUF1QjtJQUVoQyw0QkFBNEI7SUFFNUI7UUFDSSxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O29IQVBRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdLQ1BwQyw2a0NBV2U7MkZESkYsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNJLDRDQUE0QyxRQUNoRCxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRTswRUFJL0IsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1maWVsZC12YWxpZGF0b3IsIFt6ZWstZmllbGQtdmFsaWRhdG9yXScsXHJcbiAgICBob3N0OiB7ICdbY2xhc3NdJzogJ1wiaW52YWxpZC10b29sdGlwXCInIH0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZmllbGQtdmFsaWRhdG9yLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmllbGRWYWxpZGF0b3JDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgZmllbGQ6IGFueTtcclxuICAgIC8vIEBJbnB1dCgpIGZpZWxkPzogTmdNb2RlbDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBpZiAodGhpcy5maWVsZClcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5maWVsZC5lcnJvcnMpO1xyXG4gICAgfVxyXG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuaW52YWxpZCAmJiAoZmllbGQuZGlydHkgfHwgZmllbGQudG91Y2hlZCB8fCBmaWVsZC5mb3JtRGlyZWN0aXZlPy5zdWJtaXR0ZWQpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmVycm9yc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZXJyb3JzLnJlcXVpcmVkXCI+e3sgJ1ZhbGlkYXRpb24uUmVxdWlyZWQnIHwgdHJhbnNsYXRlIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5lcnJvcnMubWlubGVuZ3RoXCI+e3sgJ1ZhbGlkYXRpb24uTWluTGVuZ3RoRm9ybWF0JyB8IHRyYW5zbGF0ZTp7IHZhbHVlOiBmaWVsZC5lcnJvcnMubWlubGVuZ3RoLnJlcXVpcmVkTGVuZ3RoIH0gfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmVycm9ycy5tYXhsZW5ndGhcIj57eyAnVmFsaWRhdGlvbi5NYXhMZW5ndGhGb3JtYXQnIHwgdHJhbnNsYXRlOnsgdmFsdWU6IGZpZWxkLmVycm9ycy5tYXhsZW5ndGgucmVxdWlyZWRMZW5ndGggfSB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmllbGQuZXJyb3JzLmVtYWlsXCI+e3sgJ1ZhbGlkYXRpb24uUGF0dGVybicgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmVycm9ycy5wYXR0ZXJuXCI+e3sgJ1ZhbGlkYXRpb24uUGF0dGVybicgfCB0cmFuc2xhdGUgfX08L25nLWNvbnRhaW5lcj48IS0tIHt7IGZpZWxkLmVycm9ycy5wYXR0ZXJuLnJlcXVpcmVkUGF0dGVybiB9fSAtLT5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLmVycm9ycy5zZXJ2ZXJcIj57e2ZpZWxkLmVycm9ycy5zZXJ2ZXJ9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input } from "@angular/core";
|
|
2
|
+
import { NG_VALIDATORS } from "@angular/forms";
|
|
3
|
+
import { nullValidator, rangeValidator } from "./validator";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const RANGE_VALIDATOR = {
|
|
6
|
+
provide: NG_VALIDATORS,
|
|
7
|
+
useExisting: forwardRef(() => RangeValidator),
|
|
8
|
+
multi: true
|
|
9
|
+
};
|
|
10
|
+
function toFloat(value) {
|
|
11
|
+
return typeof value === 'number' ? value : parseFloat(value);
|
|
12
|
+
}
|
|
13
|
+
class AbstractValidatorDirective {
|
|
14
|
+
constructor() {
|
|
15
|
+
this._validator = nullValidator;
|
|
16
|
+
}
|
|
17
|
+
/** @nodoc */
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
|
+
if (this.inputName in changes) {
|
|
20
|
+
const input = this.normalizeInput(changes[this.inputName].currentValue);
|
|
21
|
+
this._enabled = this.enabled(input);
|
|
22
|
+
this._validator = this._enabled ? this.createValidator(input) : nullValidator;
|
|
23
|
+
if (this._onChange) {
|
|
24
|
+
this._onChange();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/** @nodoc */
|
|
29
|
+
validate(control) {
|
|
30
|
+
return this._validator(control);
|
|
31
|
+
}
|
|
32
|
+
/** @nodoc */
|
|
33
|
+
registerOnValidatorChange(fn) {
|
|
34
|
+
this._onChange = fn;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @description
|
|
38
|
+
* Determines whether this validator should be active or not based on an input.
|
|
39
|
+
* Base class implementation checks whether an input is defined (if the value is different from
|
|
40
|
+
* `null` and `undefined`). Validator classes that extend this base class can override this
|
|
41
|
+
* function with the logic specific to a particular validator directive.
|
|
42
|
+
*/
|
|
43
|
+
enabled(input) {
|
|
44
|
+
return input != null /* both `null` and `undefined` */;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
AbstractValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
48
|
+
AbstractValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
|
|
50
|
+
type: Directive
|
|
51
|
+
}] });
|
|
52
|
+
export class RangeValidator extends AbstractValidatorDirective {
|
|
53
|
+
constructor() {
|
|
54
|
+
super(...arguments);
|
|
55
|
+
/** @internal */
|
|
56
|
+
this.inputName = 'range';
|
|
57
|
+
/** @internal */
|
|
58
|
+
this.normalizeInput = (input) => toFloat(input);
|
|
59
|
+
/** @internal */
|
|
60
|
+
this.createValidator = (range) => rangeValidator(range);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
RangeValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RangeValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
64
|
+
RangeValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: RangeValidator, selector: "input[type=number][range][formControlName],input[type=number][range][formControl],input[type=number][range][ngModel]", inputs: { range: "range" }, host: { properties: { "attr.range": "_enabled ? range : null" } }, providers: [RANGE_VALIDATOR], usesInheritance: true, ngImport: i0 });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: RangeValidator, decorators: [{
|
|
66
|
+
type: Directive,
|
|
67
|
+
args: [{
|
|
68
|
+
selector: 'input[type=number][range][formControlName],input[type=number][range][formControl],input[type=number][range][ngModel]',
|
|
69
|
+
providers: [RANGE_VALIDATOR],
|
|
70
|
+
host: { '[attr.range]': '_enabled ? range : null' }
|
|
71
|
+
}]
|
|
72
|
+
}], propDecorators: { range: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}] } });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBbUIsYUFBYSxFQUE0QyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVQ1RCxNQUFNLGVBQWUsR0FBUTtJQUN6QixPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUM3QyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFPRixTQUFTLE9BQU8sQ0FBQyxLQUFzQjtJQUNuQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUdELE1BQ2UsMEJBQTBCO0lBRHpDO1FBRVksZUFBVSxHQUFnQixhQUFhLENBQUM7S0F1RW5EO0lBaENHLGFBQWE7SUFDYixXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sRUFBRTtZQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzlFLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3BCO1NBQ0o7SUFDTCxDQUFDO0lBRUQsYUFBYTtJQUNiLFFBQVEsQ0FBQyxPQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWE7SUFDYix5QkFBeUIsQ0FBQyxFQUFjO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQUMsS0FBYztRQUNsQixPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsaUNBQWlDLENBQUM7SUFDM0QsQ0FBQzs7dUhBdkVVLDBCQUEwQjsyR0FBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBRHhDLFNBQVM7O0FBa0ZWLE1BQU0sT0FBTyxjQUFlLFNBQVEsMEJBQTBCO0lBTDlEOztRQVFJLGdCQUFnQjtRQUNQLGNBQVMsR0FBRyxPQUFPLENBQUM7UUFDN0IsZ0JBQWdCO1FBQ1AsbUJBQWMsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RSxnQkFBZ0I7UUFDUCxvQkFBZSxHQUFHLENBQUMsS0FBZSxFQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdEY7OzJHQVRZLGNBQWM7K0ZBQWQsY0FBYyw4T0FIWixDQUFDLGVBQWUsQ0FBQzsyRkFHbkIsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0hBQXNIO29CQUNoSSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSx5QkFBeUIsRUFBRTtpQkFDdEQ7OEJBRVksS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUkFOR0VfVkFMSURBVE9SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFuZ2VWYWxpZGF0b3IpLFxyXG4gICAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcblxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBudWxsVmFsaWRhdG9yLCByYW5nZVZhbGlkYXRvciB9IGZyb20gXCIuL3ZhbGlkYXRvclwiO1xyXG5cclxuZnVuY3Rpb24gdG9GbG9hdCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInID8gdmFsdWUgOiBwYXJzZUZsb2F0KHZhbHVlKTtcclxufVxyXG5cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5hYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzIHtcclxuICAgIHByaXZhdGUgX3ZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSBudWxsVmFsaWRhdG9yO1xyXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSBmbGFnIHRoYXQgdHJhY2tzIHdoZXRoZXIgdGhpcyB2YWxpZGF0b3IgaXMgZW5hYmxlZC5cclxuICAgICAqXHJcbiAgICAgKiBNYXJraW5nIGl0IGBpbnRlcm5hbGAgKHZzIGBwcm90ZWN0ZWRgKSwgc28gdGhhdCB0aGlzIGZsYWcgY2FuIGJlIHVzZWQgaW4gaG9zdCBiaW5kaW5ncyBvZlxyXG4gICAgICogZGlyZWN0aXZlIGNsYXNzZXMgdGhhdCBleHRlbmQgdGhpcyBiYXNlIGNsYXNzLlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIF9lbmFibGVkPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE5hbWUgb2YgYW4gaW5wdXQgdGhhdCBtYXRjaGVzIGRpcmVjdGl2ZSBzZWxlY3RvciBhdHRyaWJ1dGUgKGUuZy4gYG1pbmxlbmd0aGAgZm9yXHJcbiAgICAgKiBgTWluTGVuZ3RoRGlyZWN0aXZlYCkuIEFuIGlucHV0IHdpdGggYSBnaXZlbiBuYW1lIG1pZ2h0IGNvbnRhaW4gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiAobGlrZVxyXG4gICAgICogYG1pbmxlbmd0aD0nMTAnYCkgb3IgYSBmbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdmFsaWRhdG9yIHNob3VsZCBiZSBlbmFibGVkIChsaWtlXHJcbiAgICAgKiBgW3JlcXVpcmVkXT0nZmFsc2UnYCkuXHJcbiAgICAgKlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGlucHV0TmFtZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBhIHZhbGlkYXRvciAoc3BlY2lmaWMgdG8gYSBkaXJlY3RpdmUgdGhhdCBleHRlbmRzIHRoaXMgYmFzZSBjbGFzcykuXHJcbiAgICAgKlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGNyZWF0ZVZhbGlkYXRvcihpbnB1dDogdW5rbm93bik6IFZhbGlkYXRvckZuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyZm9ybXMgdGhlIG5lY2Vzc2FyeSBpbnB1dCBub3JtYWxpemF0aW9uIGJhc2VkIG9uIGEgc3BlY2lmaWMgbG9naWMgb2YgYSBEaXJlY3RpdmUuXHJcbiAgICAgKiBGb3IgZXhhbXBsZSwgdGhlIGZ1bmN0aW9uIG1pZ2h0IGJlIHVzZWQgdG8gY29udmVydCBzdHJpbmctYmFzZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlXHJcbiAgICAgKiBgbWlubGVuZ3RoYCBpbnB1dCB0byBhbiBpbnRlZ2VyIHZhbHVlIHRoYXQgY2FuIGxhdGVyIGJlIHVzZWQgaW4gdGhlIGBWYWxpZGF0b3JzLm1pbkxlbmd0aGBcclxuICAgICAqIHZhbGlkYXRvci5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3Qgbm9ybWFsaXplSW5wdXQoaW5wdXQ6IHVua25vd24pOiB1bmtub3duO1xyXG5cclxuICAgIC8qKiBAbm9kb2MgKi9cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dE5hbWUgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMubm9ybWFsaXplSW5wdXQoY2hhbmdlc1t0aGlzLmlucHV0TmFtZV0uY3VycmVudFZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHRoaXMuZW5hYmxlZChpbnB1dCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRvciA9IHRoaXMuX2VuYWJsZWQgPyB0aGlzLmNyZWF0ZVZhbGlkYXRvcihpbnB1dCkgOiBudWxsVmFsaWRhdG9yO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3IoY29udHJvbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIHZhbGlkYXRvciBzaG91bGQgYmUgYWN0aXZlIG9yIG5vdCBiYXNlZCBvbiBhbiBpbnB1dC5cclxuICAgICAqIEJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb24gY2hlY2tzIHdoZXRoZXIgYW4gaW5wdXQgaXMgZGVmaW5lZCAoaWYgdGhlIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tXHJcbiAgICAgKiBgbnVsbGAgYW5kIGB1bmRlZmluZWRgKS4gVmFsaWRhdG9yIGNsYXNzZXMgdGhhdCBleHRlbmQgdGhpcyBiYXNlIGNsYXNzIGNhbiBvdmVycmlkZSB0aGlzXHJcbiAgICAgKiBmdW5jdGlvbiB3aXRoIHRoZSBsb2dpYyBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgdmFsaWRhdG9yIGRpcmVjdGl2ZS5cclxuICAgICAqL1xyXG4gICAgZW5hYmxlZChpbnB1dDogdW5rbm93bik6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsIC8qIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYCAqLztcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtyYW5nZV1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtyYW5nZV1bbmdNb2RlbF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbUkFOR0VfVkFMSURBVE9SXSxcclxuICAgIGhvc3Q6IHsgJ1thdHRyLnJhbmdlXSc6ICdfZW5hYmxlZCA/IHJhbmdlIDogbnVsbCcgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFuZ2VWYWxpZGF0b3IgZXh0ZW5kcyBBYnN0cmFjdFZhbGlkYXRvckRpcmVjdGl2ZSB7XHJcbiAgICBASW5wdXQoKSByYW5nZSE6IFtudW1iZXIsIG51bWJlcl0gfCBudWxsO1xyXG5cclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIGlucHV0TmFtZSA9ICdyYW5nZSc7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBub3JtYWxpemVJbnB1dCA9IChpbnB1dDogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyID0+IHRvRmxvYXQoaW5wdXQpO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgY3JlYXRlVmFsaWRhdG9yID0gKHJhbmdlOiBbbnVtYmVyXSk6IFZhbGlkYXRvckZuID0+IHJhbmdlVmFsaWRhdG9yKHJhbmdlKTtcclxufSJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './directive';
|
|
2
|
+
export * from './validator';
|
|
3
|
+
export * from './module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3ZhbGlkYXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnOyJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { RangeValidator } from './directive';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ValidatorsModule {
|
|
6
|
+
}
|
|
7
|
+
ValidatorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
ValidatorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ValidatorsModule, declarations: [RangeValidator], imports: [CommonModule], exports: [RangeValidator] });
|
|
9
|
+
ValidatorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ValidatorsModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
imports: [
|
|
14
|
+
CommonModule
|
|
15
|
+
],
|
|
16
|
+
declarations: [
|
|
17
|
+
RangeValidator,
|
|
18
|
+
],
|
|
19
|
+
exports: [RangeValidator]
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQVc3QyxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBSnJCLGNBQWMsYUFIZCxZQUFZLGFBS04sY0FBYzs4R0FFZixnQkFBZ0IsWUFQckIsWUFBWTsyRkFPUCxnQkFBZ0I7a0JBVDVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGNBQWM7cUJBQ2pCO29CQUNELE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSYW5nZVZhbGlkYXRvciB9IGZyb20gJy4vZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUmFuZ2VWYWxpZGF0b3IsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1JhbmdlVmFsaWRhdG9yXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9yc01vZHVsZSB7IH0iXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
// import { AbstractControl, Validators, ValidatorFn, ValidationErrors } from '@angular/forms'
|
|
2
|
+
// export const range = (range?: Array<number> | null): ValidatorFn => {
|
|
3
|
+
// return (control: AbstractControl): { [key: string]: any } | null => {
|
|
4
|
+
// if (!range) return null;
|
|
5
|
+
// if (Validators.required(control)) return null;
|
|
6
|
+
// let v: number = +control.value;
|
|
7
|
+
// return v >= range[0] && v <= range[1] ? null : { actualValue: v, requiredValue: range, range: true };
|
|
8
|
+
// };
|
|
9
|
+
// };
|
|
10
|
+
// export function blue(): ValidatorFn {
|
|
11
|
+
// return (control: AbstractControl): { [key: string]: any } | null =>
|
|
12
|
+
// control.value?.toLowerCase() === 'blue'
|
|
13
|
+
// ? null : { wrongColor: control.value };
|
|
14
|
+
// }
|
|
15
|
+
function isEmptyInputValue(value) {
|
|
16
|
+
/**
|
|
17
|
+
* Check if the object is a string or array before evaluating the length attribute.
|
|
18
|
+
* This avoids falsely rejecting objects that contain a custom length attribute.
|
|
19
|
+
* For example, the object {id: 1, length: 0, width: 0} should not be returned as empty.
|
|
20
|
+
*/
|
|
21
|
+
return typeof value === 'undefined' || value == null || ((typeof value === 'string' || Array.isArray(value)) && value.length === 0);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Function that has `ValidatorFn` shape, but performs no operation.
|
|
25
|
+
*/
|
|
26
|
+
export function nullValidator(control) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
export class Validators {
|
|
30
|
+
/**
|
|
31
|
+
* @description
|
|
32
|
+
* Validator that requires the control's value to be less than or equal to the provided number.
|
|
33
|
+
*
|
|
34
|
+
* @usageNotes
|
|
35
|
+
*
|
|
36
|
+
* ### Validate against a range 0 - 15
|
|
37
|
+
*
|
|
38
|
+
* ```typescript
|
|
39
|
+
* const control = new FormControl(16, Validators.max([0,15]));
|
|
40
|
+
*
|
|
41
|
+
* console.log(control.errors); // {range: {min: 0, max: 15, actual: 16}}
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @returns A validator function that returns an error map with the
|
|
45
|
+
* `range` property if the validation check fails, otherwise `null`.
|
|
46
|
+
*
|
|
47
|
+
* @see `updateValueAndValidity()`
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
static range(min, max) {
|
|
51
|
+
return rangeValidator([min, max]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Validator that requires the control's value to be between provided numbers.
|
|
56
|
+
* See `Validators.range` for additional information.
|
|
57
|
+
*/
|
|
58
|
+
export function rangeValidator(range) {
|
|
59
|
+
return (control) => {
|
|
60
|
+
if (isEmptyInputValue(control.value) || isEmptyInputValue(range) || range.length < 2) {
|
|
61
|
+
return null; // don't validate empty values to allow optional controls
|
|
62
|
+
}
|
|
63
|
+
const value = parseFloat(control.value);
|
|
64
|
+
let max = range[0];
|
|
65
|
+
let min = range[1];
|
|
66
|
+
if (!isNaN(value) && (value < min || value > max)) {
|
|
67
|
+
return { 'range': { 'min': min, 'max': max, 'actual': control.value } };
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4RkFBOEY7QUFJOUYsd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUU1RSxtQ0FBbUM7QUFDbkMseURBQXlEO0FBRXpELDBDQUEwQztBQUMxQyxnSEFBZ0g7QUFDaEgsU0FBUztBQUNULEtBQUs7QUFDTCx3Q0FBd0M7QUFDeEMsMEVBQTBFO0FBQzFFLGtEQUFrRDtBQUNsRCxzREFBc0Q7QUFDdEQsSUFBSTtBQUdKLFNBQVMsaUJBQWlCLENBQUMsS0FBVTtJQUNqQzs7OztPQUlHO0lBQ0gsT0FBTyxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3hJLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBd0I7SUFDbEQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUdELE1BQU0sT0FBTyxVQUFVO0lBRW5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBbUJDO0lBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNqQyxPQUFPLGNBQWMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FFSjtBQUdEOzs7R0FHRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBb0I7SUFDL0MsT0FBTyxDQUFDLE9BQXdCLEVBQTJCLEVBQUU7UUFDekQsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEYsT0FBTyxJQUFJLENBQUMsQ0FBRSx5REFBeUQ7U0FDMUU7UUFDRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1NBQzNFO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuXHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8vIGV4cG9ydCBjb25zdCByYW5nZSA9IChyYW5nZT86IEFycmF5PG51bWJlcj4gfCBudWxsKTogVmFsaWRhdG9yRm4gPT4ge1xyXG4vLyAgICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcblxyXG4vLyAgICAgICAgIGlmICghcmFuZ2UpIHJldHVybiBudWxsO1xyXG4vLyAgICAgICAgIGlmIChWYWxpZGF0b3JzLnJlcXVpcmVkKGNvbnRyb2wpKSByZXR1cm4gbnVsbDtcclxuXHJcbi8vICAgICAgICAgbGV0IHY6IG51bWJlciA9ICtjb250cm9sLnZhbHVlO1xyXG4vLyAgICAgICAgIHJldHVybiB2ID49IHJhbmdlWzBdICYmIHYgPD0gcmFuZ2VbMV0gPyBudWxsIDogeyBhY3R1YWxWYWx1ZTogdiwgcmVxdWlyZWRWYWx1ZTogcmFuZ2UsIHJhbmdlOiB0cnVlIH07XHJcbi8vICAgICB9O1xyXG4vLyB9O1xyXG4vLyBleHBvcnQgZnVuY3Rpb24gYmx1ZSgpOiBWYWxpZGF0b3JGbiB7XHJcbi8vICAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+XHJcbi8vICAgICAgICAgY29udHJvbC52YWx1ZT8udG9Mb3dlckNhc2UoKSA9PT0gJ2JsdWUnXHJcbi8vICAgICAgICAgICAgID8gbnVsbCA6IHsgd3JvbmdDb2xvcjogY29udHJvbC52YWx1ZSB9O1xyXG4vLyB9XHJcblxyXG5cclxuZnVuY3Rpb24gaXNFbXB0eUlucHV0VmFsdWUodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgb2JqZWN0IGlzIGEgc3RyaW5nIG9yIGFycmF5IGJlZm9yZSBldmFsdWF0aW5nIHRoZSBsZW5ndGggYXR0cmlidXRlLlxyXG4gICAgICogVGhpcyBhdm9pZHMgZmFsc2VseSByZWplY3Rpbmcgb2JqZWN0cyB0aGF0IGNvbnRhaW4gYSBjdXN0b20gbGVuZ3RoIGF0dHJpYnV0ZS5cclxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgb2JqZWN0IHtpZDogMSwgbGVuZ3RoOiAwLCB3aWR0aDogMH0gc2hvdWxkIG5vdCBiZSByZXR1cm5lZCBhcyBlbXB0eS5cclxuICAgICAqL1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdmFsdWUgPT0gbnVsbCB8fCAoKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGdW5jdGlvbiB0aGF0IGhhcyBgVmFsaWRhdG9yRm5gIHNoYXBlLCBidXQgcGVyZm9ybXMgbm8gb3BlcmF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG51bGxWYWxpZGF0b3IoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9ycyB7XHJcblxyXG4gICAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIG51bWJlci5cclxuICAgKlxyXG4gICAqIEB1c2FnZU5vdGVzXHJcbiAgICpcclxuICAgKiAjIyMgVmFsaWRhdGUgYWdhaW5zdCBhIHJhbmdlIDAgLSAxNVxyXG4gICAqXHJcbiAgICogYGBgdHlwZXNjcmlwdFxyXG4gICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woMTYsIFZhbGlkYXRvcnMubWF4KFswLDE1XSkpO1xyXG4gICAqXHJcbiAgICogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyB7cmFuZ2U6IHttaW46IDAsIG1heDogMTUsIGFjdHVhbDogMTZ9fVxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQHJldHVybnMgQSB2YWxpZGF0b3IgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGVycm9yIG1hcCB3aXRoIHRoZVxyXG4gICAqIGByYW5nZWAgcHJvcGVydHkgaWYgdGhlIHZhbGlkYXRpb24gY2hlY2sgZmFpbHMsIG90aGVyd2lzZSBgbnVsbGAuXHJcbiAgICpcclxuICAgKiBAc2VlIGB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KClgXHJcbiAgICpcclxuICAgKi9cclxuICAgIHN0YXRpYyByYW5nZShtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICAgICAgcmV0dXJuIHJhbmdlVmFsaWRhdG9yKFttaW4sIG1heF0pO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGJldHdlZW4gcHJvdmlkZWQgbnVtYmVycy5cclxuICogU2VlIGBWYWxpZGF0b3JzLnJhbmdlYCBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByYW5nZVZhbGlkYXRvcihyYW5nZTogQXJyYXk8bnVtYmVyPik6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xyXG4gICAgICAgIGlmIChpc0VtcHR5SW5wdXRWYWx1ZShjb250cm9sLnZhbHVlKSB8fCBpc0VtcHR5SW5wdXRWYWx1ZShyYW5nZSkgfHwgcmFuZ2UubGVuZ3RoIDwgMikge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDsgIC8vIGRvbid0IHZhbGlkYXRlIGVtcHR5IHZhbHVlcyB0byBhbGxvdyBvcHRpb25hbCBjb250cm9sc1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHBhcnNlRmxvYXQoY29udHJvbC52YWx1ZSk7XHJcbiAgICAgICAgbGV0IG1heCA9IHJhbmdlWzBdO1xyXG4gICAgICAgIGxldCBtaW4gPSByYW5nZVsxXTtcclxuICAgICAgICBpZiAoIWlzTmFOKHZhbHVlKSAmJiAodmFsdWUgPCBtaW4gfHwgdmFsdWUgPiBtYXgpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7ICdyYW5nZSc6IHsgJ21pbic6IG1pbiwgJ21heCc6IG1heCwgJ2FjdHVhbCc6IGNvbnRyb2wudmFsdWUgfSB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
|
62
62
|
}], step: [{
|
|
63
63
|
type: Input
|
|
64
64
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvd2l6YXJkL3dpemFyZC93aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy93aXphcmQvd2l6YXJkL3dpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU1qRCxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQU1JLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixlQUFVLEdBQXlDO1lBQy9DLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzNCLENBQUM7UUFFTSxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBZW5CLFVBQUssR0FBVyxDQUFDLENBQUM7S0FtQzdCO0lBakRHLElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUM7WUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBSUQsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxDQUFTO1FBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDWixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSztZQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXhDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFFZixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdELElBQUksS0FBSyxFQUFFO2dCQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQzthQUNsQztTQUNKO0lBQ0wsQ0FBQztJQUdPLElBQUk7UUFDUixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7OzRHQXhEUSxlQUFlO2dHQUFmLGVBQWUsNEZDTjVCLDZuQkFPTTsyRkRETyxlQUFlO2tCQUozQixTQUFTOytCQUNJLFlBQVk7OEJBWWxCLEtBQUs7c0JBRFIsS0FBSztnQkFnQkYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXdpemFyZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2l6YXJkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2l6YXJkQ29tcG9uZW50IHtcclxuXHJcbiAgICBwcm9ncmVzcyA9IDA7XHJcbiAgICBzdGVwc0FycmF5OiB7IHN0ZXA6IG51bWJlciwgcHJvZ3Jlc3M6IG51bWJlciB9W10gPSBbXHJcbiAgICAgICAgeyBzdGVwOiAxLCBwcm9ncmVzczogMCB9XHJcbiAgICBdO1xyXG5cclxuICAgIHByaXZhdGUgX3N0ZXBzOiBudW1iZXIgPSAxO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzdGVwcygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGVwcztcclxuICAgIH1cclxuICAgIHNldCBzdGVwcyh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodiA8IDEpIHYgPSAxO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc3RlcHMgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3RlcHMgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3N0ZXA6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHN0ZXAoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcDtcclxuICAgIH1cclxuICAgIHNldCBzdGVwKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2IDwgMSkgdiA9IDE7XHJcbiAgICAgICAgZWxzZSBpZiAodiA+IHRoaXMuc3RlcHMpIHYgPSB0aGlzLnN0ZXBzO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc3RlcCAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl9zdGVwID0gdjtcclxuXHJcbiAgICAgICAgICAgIGxldCBmb3VuZCA9IHRoaXMuc3RlcHNBcnJheS5maW5kKHggPT4geC5zdGVwID09PSB0aGlzLl9zdGVwKTtcclxuICAgICAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzID0gZm91bmQucHJvZ3Jlc3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgaW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0ZXBzQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnN0ZXBzQXJyYXkucHVzaCh7IHN0ZXA6IDEsIHByb2dyZXNzOiAwIH0pO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHRoaXMuc3RlcHM7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLnN0ZXBzQXJyYXkucHVzaCh7IHN0ZXA6IGkgKyAxLCBwcm9ncmVzczogTWF0aC5yb3VuZCgxMDAgLyAodGhpcy5zdGVwcyAtIDEpICogaSkgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByZXZpb3VzKCkge1xyXG4gICAgICAgIHRoaXMuc3RlcC0tO1xyXG4gICAgfVxyXG4gICAgbmV4dCgpIHtcclxuICAgICAgICB0aGlzLnN0ZXArKztcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBtLTRcIj5cclxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIiBzdHlsZT1cImhlaWdodDogMXB4O1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhclwiIHJvbGU9XCJwcm9ncmVzc2JhclwiIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzXCIgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJwcm9ncmVzc1wiIGFyaWEtdmFsdWVtaW49XCIwXCIgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gbGVmdDogMzMlIWltcG9ydGFudCAtLT5cclxuICA8IS0tIFtzdHlsZS5sZWZ0LiVdPVwiaXRlbS5wcm9ncmVzc1wiIC0tPlxyXG4gIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3RlcHNBcnJheVwiIFthdHRyLnN0eWxlXT1cIignd2lkdGg6MnJlbTsgaGVpZ2h0OjJyZW07IGxlZnQ6JyArIGl0ZW0ucHJvZ3Jlc3MgKyAnJSFpbXBvcnRhbnQnKSB8IHNhZmU6J3N0eWxlJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC0wIHRyYW5zbGF0ZS1taWRkbGUgYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSByb3VuZGVkLXBpbGxcIj57eyBpdGVtLnN0ZXAgfX08L2J1dHRvbj5cclxuPC9kaXY+Il19
|
|
@@ -122,7 +122,7 @@ export class AuthService {
|
|
|
122
122
|
const p = permissions[i];
|
|
123
123
|
let found = userPermissions[p];
|
|
124
124
|
if (found) {
|
|
125
|
-
let hasPermission = BitwiseHelper.
|
|
125
|
+
let hasPermission = BitwiseHelper.hasFlag(found, value);
|
|
126
126
|
if (hasPermission)
|
|
127
127
|
return true;
|
|
128
128
|
}
|
|
@@ -153,4 +153,4 @@ AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
|
153
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: AuthService, decorators: [{
|
|
154
154
|
type: Injectable
|
|
155
155
|
}] });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBdUIsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRVksWUFBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDLENBQUEsb0NBQW9DO1FBQ2hGLFVBQUssR0FBdUIsSUFBSSxDQUFDO1FBQ25DLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBRTVCLDRCQUF1QixHQUFZLEtBQUssQ0FBQztLQXlLcEQ7SUF4S0csZUFBZTtRQUNYLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxRQUFRLEVBQUU7WUFDMUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQztZQUV4QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTVCLCtFQUEr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U0FDSjthQUFNO1lBQ0gsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsSUFBSSxLQUFLLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEtBQUs7b0JBQ0wsT0FBTyxJQUFJLENBQUM7YUFDbkI7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxJQUFTO1FBQ3ZCLHVEQUF1RDtRQUN2RCxtQ0FBbUM7UUFDbkMsOENBQThDO1FBRTlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFbkMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVuRCxvQ0FBb0M7UUFDcEMsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQzs7d0dBN0tRLFdBQVc7NEdBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEtleVBhaXIsIExvZ2luVG9rZW4gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTdG9yYWdlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBCaXR3aXNlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvYml0d2lzZS1oZWxwZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7Ly90b2RvIGNoZWNrIGlmIG5lZWQgQmVoYXZpb3JTdWJqZWN0XHJcbiAgICBwcm90ZWN0ZWQgbW9kZWw/OiBMb2dpblRva2VuIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIGV4cGlyZWQ6IERhdGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcml2YXRlIG9sZFZhbHVlSXNBdXRoZW50aWNhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpc0F1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGV4cGlyZWQgPSB0aGlzLmdldEV4cGlyZWQoKTtcclxuICAgICAgICBpZiAoIWV4cGlyZWQpIGV4cGlyZWQgPSBuZXcgRGF0ZSgwKTtcclxuXHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBuZXcgRGF0ZSgpIDwgZXhwaXJlZDtcclxuICAgICAgICBpZiAodGhpcy5vbGRWYWx1ZUlzQXV0aGVudGljYXRlZCAhPSBuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9sZFZhbHVlSXNBdXRoZW50aWNhdGVkID0gbmV3VmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblNpZ25lZEluU3ViamVjdC5uZXh0KG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnN1YmplY3QubmV4dChuZXdWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAvL2lmIHVzZXIgaXMgc2lnbmVkIGluIGFuZCBleHBpcmVkIHdlIG5lZWQgdG8gbG9nb3V0IChyZW1vdmUgZnJvbSBsb2NhbFN0b3JhZ2UpXHJcbiAgICAgICAgICAgIGlmICghbmV3VmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEBkZXByZWNhdGVkIFRoZSBtZXRob2Qgc2hvdWxkIG5vdCBiZSB1c2VkLiBwbGVhc2UgdXNlIG9uU2lnbmVkSW5cclxuICAgICovXHJcbiAgICBpc1NpZ25lZEluKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvblNpZ25lZEluU3ViamVjdD86IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjsvL0JlaGF2aW9yU3ViamVjdCBpcyBmb3IgaW5pdGlhbCBmaXJ0IHZhbHVlID0gZmFsc2VcclxuICAgIHByaXZhdGUgb25TaWduZWRJbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcHVibGljIGdldCBvblNpZ25lZEluKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uU2lnbmVkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25TaWduZWRJbk9ic2VydmFibGUgPSB0aGlzLm9uU2lnbmVkSW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLm9uU2lnbmVkSW5PYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJvbkV4ZWN1dGVPYnNlcnZhYmxlIGlzIHVuZGVmaW5lZFwiKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub25TaWduZWRJbk9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGxvZ2luKHRtcD86IExvZ2luVG9rZW4gfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodG1wKSB7XHJcbiAgICAgICAgICAgIC8vR2xvYmFscy5zZXRTZXJ2ZXJEYXRlKHRtcE1vZGVsLmN1cnJlbnREYXRlVGltZSk7XHJcblxyXG4gICAgICAgICAgICAvL3RoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmZsdXNoUGVybWlzc2lvbnMoKTtcclxuICAgICAgICAgICAgaWYgKHRtcC5yb2xlcykge1xyXG4gICAgICAgICAgICAgICAgdG1wLnJvbGVzID0gdG1wLnJvbGVzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS50b1VwcGVyQ2FzZSgpOyB9KTtcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UubG9hZFBlcm1pc3Npb25zKG1vZGVsLnJvbGVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9kZWxldGUgdG1wTW9kZWwuY3VycmVudERhdGVUaW1lO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0bXA7XHJcbiAgICAgICAgdGhpcy5leHBpcmVkID0gbnVsbDtcclxuICAgICAgICBTdG9yYWdlSGVscGVyLnNldCgnbG9naW4nLCB0aGlzLm1vZGVsKTtcclxuICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZCgpOy8vdGhpcyBtZXRob2QgbmVlZCB0byBleGVjdXRlIHN1YmplY3QubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMubG9naW4obnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VXNlcigpOiBMb2dpblRva2VuIHwgdW5kZWZpbmVkIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBTdG9yYWdlSGVscGVyLmdldCgnbG9naW4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWw7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0RXhwaXJlZCgpOiBEYXRlIHwgdW5kZWZpbmVkIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmV4cGlyZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgdG1wID0gdGhpcy5nZXRVc2VyKCk7XHJcbiAgICAgICAgICAgIGlmICh0bXAgJiYgdG1wLmV4cGlyZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhwaXJlZCA9IG5ldyBEYXRlKHRtcC5leHBpcmVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5leHBpcmVkO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBpc0luUm9sZShhbGxvd2VkUm9sZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICAvLyAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgYWxsb3dlZFJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIGNvbnN0IHRtcCA9IHRoaXMuZ2V0VXNlcigpO1xyXG4gICAgLy8gICAgIGNvbnN0IHJvbGVzID0gdG1wID8gdG1wLnJvbGVzIDogbnVsbDtcclxuICAgIC8vICAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICBsZXQgaXNJblJvbGUgPSBhbGxvd2VkUm9sZXMuc29tZShyb2xlID0+IHJvbGVzLmluZGV4T2Yocm9sZSkgIT09IC0xKTtcclxuICAgIC8vICAgICByZXR1cm4gaXNJblJvbGU7XHJcbiAgICAvLyB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb24ocGVybWlzc2lvbj86IEtleVBhaXI8bnVtYmVyLCBudW1iZXI+IHwgbnVtYmVyIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghcGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBrZXkgPSAwO1xyXG4gICAgICAgIGxldCB2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZW9mIHBlcm1pc3Npb24gPT09ICdudW1iZXInIHx8IHR5cGVvZiBwZXJtaXNzaW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBrZXkgPSArcGVybWlzc2lvbjtcclxuICAgICAgICB9Ly8gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwZXJtaXNzaW9uKSkge1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgaWYgKCFwZXJtaXNzaW9uLmtleSlcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICAgICAga2V5ID0gcGVybWlzc2lvbi5rZXk7XHJcbiAgICAgICAgICAgIHZhbHVlID0gcGVybWlzc2lvbi52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc1Blcm1pc3Npb25zKFtrZXldLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zPzogQXJyYXk8bnVtYmVyPiwgdmFsdWU/OiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9ucyB8fCBwZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0bXAgPSB0aGlzLmdldFVzZXIoKTtcclxuICAgICAgICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB0bXAgPyB0bXAucGVybWlzc2lvbnMgOiBudWxsO1xyXG4gICAgICAgIGlmICghdXNlclBlcm1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwID0gcGVybWlzc2lvbnNbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgZm91bmQgPSB1c2VyUGVybWlzc2lvbnNbcF07XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaGFzUGVybWlzc2lvbiA9IEJpdHdpc2VIZWxwZXIuSGFzRmxhZyhmb3VuZCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNQZXJtaXNzaW9uKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBwZXJtaXNzaW9uc1tpXTtcclxuICAgICAgICAgICAgICAgIGxldCBmb3VuZCA9IHVzZXJQZXJtaXNzaW9uc1twXTtcclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBoYXNEYXRhUGVybWlzc2lvbihkYXRhOiBhbnkpIHtcclxuICAgICAgICAvL2lmIChkYXRhID09PSB1bmRlZmluZWQgfHwgZGF0YSA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gY29uc3QgYWxsb3dlZFJvbGVzID0gZGF0YS5yb2xlcztcclxuICAgICAgICAvLyBsZXQgaXNJblJvbGUgPSB0aGlzLmlzSW5Sb2xlKGFsbG93ZWRSb2xlcyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBkYXRhLnBlcm1pc3Npb247XHJcblxyXG4gICAgICAgIGxldCBoYXNQZXJtaXNzaW9uID0gdGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pO1xyXG5cclxuICAgICAgICAvLyByZXR1cm4gaXNJblJvbGUgJiYgaGFzUGVybWlzc2lvbjtcclxuICAgICAgICByZXR1cm4gaGFzUGVybWlzc2lvbjtcclxuICAgIH1cclxufSJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBdUIsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRVksWUFBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDLENBQUEsb0NBQW9DO1FBQ2hGLFVBQUssR0FBdUIsSUFBSSxDQUFDO1FBQ25DLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBRTVCLDRCQUF1QixHQUFZLEtBQUssQ0FBQztLQXlLcEQ7SUF4S0csZUFBZTtRQUNYLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN0QyxJQUFJLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxRQUFRLEVBQUU7WUFDMUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQztZQUV4QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN6QztZQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRTVCLCtFQUEr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U0FDSjthQUFNO1lBQ0gsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsSUFBSSxLQUFLLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEtBQUs7b0JBQ0wsT0FBTyxJQUFJLENBQUM7YUFDbkI7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxJQUFTO1FBQ3ZCLHVEQUF1RDtRQUN2RCxtQ0FBbUM7UUFDbkMsOENBQThDO1FBRTlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFbkMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVuRCxvQ0FBb0M7UUFDcEMsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQzs7d0dBN0tRLFdBQVc7NEdBQVgsV0FBVzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEtleVBhaXIsIExvZ2luVG9rZW4gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTdG9yYWdlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBCaXR3aXNlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvYml0d2lzZS1oZWxwZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBzdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7Ly90b2RvIGNoZWNrIGlmIG5lZWQgQmVoYXZpb3JTdWJqZWN0XHJcbiAgICBwcm90ZWN0ZWQgbW9kZWw/OiBMb2dpblRva2VuIHwgbnVsbCA9IG51bGw7XHJcbiAgICBwcml2YXRlIGV4cGlyZWQ6IERhdGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBwcml2YXRlIG9sZFZhbHVlSXNBdXRoZW50aWNhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBpc0F1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGV4cGlyZWQgPSB0aGlzLmdldEV4cGlyZWQoKTtcclxuICAgICAgICBpZiAoIWV4cGlyZWQpIGV4cGlyZWQgPSBuZXcgRGF0ZSgwKTtcclxuXHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBuZXcgRGF0ZSgpIDwgZXhwaXJlZDtcclxuICAgICAgICBpZiAodGhpcy5vbGRWYWx1ZUlzQXV0aGVudGljYXRlZCAhPSBuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm9sZFZhbHVlSXNBdXRoZW50aWNhdGVkID0gbmV3VmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vblNpZ25lZEluU3ViamVjdC5uZXh0KG5ld1ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnN1YmplY3QubmV4dChuZXdWYWx1ZSk7XHJcblxyXG4gICAgICAgICAgICAvL2lmIHVzZXIgaXMgc2lnbmVkIGluIGFuZCBleHBpcmVkIHdlIG5lZWQgdG8gbG9nb3V0IChyZW1vdmUgZnJvbSBsb2NhbFN0b3JhZ2UpXHJcbiAgICAgICAgICAgIGlmICghbmV3VmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEBkZXByZWNhdGVkIFRoZSBtZXRob2Qgc2hvdWxkIG5vdCBiZSB1c2VkLiBwbGVhc2UgdXNlIG9uU2lnbmVkSW5cclxuICAgICovXHJcbiAgICBpc1NpZ25lZEluKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBvblNpZ25lZEluU3ViamVjdD86IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjsvL0JlaGF2aW9yU3ViamVjdCBpcyBmb3IgaW5pdGlhbCBmaXJ0IHZhbHVlID0gZmFsc2VcclxuICAgIHByaXZhdGUgb25TaWduZWRJbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcHVibGljIGdldCBvblNpZ25lZEluKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uU2lnbmVkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25TaWduZWRJbk9ic2VydmFibGUgPSB0aGlzLm9uU2lnbmVkSW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLm9uU2lnbmVkSW5PYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJvbkV4ZWN1dGVPYnNlcnZhYmxlIGlzIHVuZGVmaW5lZFwiKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMub25TaWduZWRJbk9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGxvZ2luKHRtcD86IExvZ2luVG9rZW4gfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodG1wKSB7XHJcbiAgICAgICAgICAgIC8vR2xvYmFscy5zZXRTZXJ2ZXJEYXRlKHRtcE1vZGVsLmN1cnJlbnREYXRlVGltZSk7XHJcblxyXG4gICAgICAgICAgICAvL3RoaXMucGVybWlzc2lvbnNTZXJ2aWNlLmZsdXNoUGVybWlzc2lvbnMoKTtcclxuICAgICAgICAgICAgaWYgKHRtcC5yb2xlcykge1xyXG4gICAgICAgICAgICAgICAgdG1wLnJvbGVzID0gdG1wLnJvbGVzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS50b1VwcGVyQ2FzZSgpOyB9KTtcclxuICAgICAgICAgICAgICAgIC8vdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UubG9hZFBlcm1pc3Npb25zKG1vZGVsLnJvbGVzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy9kZWxldGUgdG1wTW9kZWwuY3VycmVudERhdGVUaW1lO1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB0bXA7XHJcbiAgICAgICAgdGhpcy5leHBpcmVkID0gbnVsbDtcclxuICAgICAgICBTdG9yYWdlSGVscGVyLnNldCgnbG9naW4nLCB0aGlzLm1vZGVsKTtcclxuICAgICAgICB0aGlzLmlzQXV0aGVudGljYXRlZCgpOy8vdGhpcyBtZXRob2QgbmVlZCB0byBleGVjdXRlIHN1YmplY3QubmV4dCgpO1xyXG4gICAgfVxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMubG9naW4obnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VXNlcigpOiBMb2dpblRva2VuIHwgdW5kZWZpbmVkIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwgPSBTdG9yYWdlSGVscGVyLmdldCgnbG9naW4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWw7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgZ2V0RXhwaXJlZCgpOiBEYXRlIHwgdW5kZWZpbmVkIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmV4cGlyZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgdG1wID0gdGhpcy5nZXRVc2VyKCk7XHJcbiAgICAgICAgICAgIGlmICh0bXAgJiYgdG1wLmV4cGlyZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXhwaXJlZCA9IG5ldyBEYXRlKHRtcC5leHBpcmVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5leHBpcmVkO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBpc0luUm9sZShhbGxvd2VkUm9sZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICAvLyAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgYWxsb3dlZFJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIGNvbnN0IHRtcCA9IHRoaXMuZ2V0VXNlcigpO1xyXG4gICAgLy8gICAgIGNvbnN0IHJvbGVzID0gdG1wID8gdG1wLnJvbGVzIDogbnVsbDtcclxuICAgIC8vICAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICBsZXQgaXNJblJvbGUgPSBhbGxvd2VkUm9sZXMuc29tZShyb2xlID0+IHJvbGVzLmluZGV4T2Yocm9sZSkgIT09IC0xKTtcclxuICAgIC8vICAgICByZXR1cm4gaXNJblJvbGU7XHJcbiAgICAvLyB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb24ocGVybWlzc2lvbj86IEtleVBhaXI8bnVtYmVyLCBudW1iZXI+IHwgbnVtYmVyIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghcGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBrZXkgPSAwO1xyXG4gICAgICAgIGxldCB2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZW9mIHBlcm1pc3Npb24gPT09ICdudW1iZXInIHx8IHR5cGVvZiBwZXJtaXNzaW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBrZXkgPSArcGVybWlzc2lvbjtcclxuICAgICAgICB9Ly8gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwZXJtaXNzaW9uKSkge1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgaWYgKCFwZXJtaXNzaW9uLmtleSlcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICAgICAga2V5ID0gcGVybWlzc2lvbi5rZXk7XHJcbiAgICAgICAgICAgIHZhbHVlID0gcGVybWlzc2lvbi52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc1Blcm1pc3Npb25zKFtrZXldLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zPzogQXJyYXk8bnVtYmVyPiwgdmFsdWU/OiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9ucyB8fCBwZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB0bXAgPSB0aGlzLmdldFVzZXIoKTtcclxuICAgICAgICBjb25zdCB1c2VyUGVybWlzc2lvbnMgPSB0bXAgPyB0bXAucGVybWlzc2lvbnMgOiBudWxsO1xyXG4gICAgICAgIGlmICghdXNlclBlcm1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwID0gcGVybWlzc2lvbnNbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgZm91bmQgPSB1c2VyUGVybWlzc2lvbnNbcF07XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaGFzUGVybWlzc2lvbiA9IEJpdHdpc2VIZWxwZXIuaGFzRmxhZyhmb3VuZCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNQZXJtaXNzaW9uKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBwZXJtaXNzaW9uc1tpXTtcclxuICAgICAgICAgICAgICAgIGxldCBmb3VuZCA9IHVzZXJQZXJtaXNzaW9uc1twXTtcclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBoYXNEYXRhUGVybWlzc2lvbihkYXRhOiBhbnkpIHtcclxuICAgICAgICAvL2lmIChkYXRhID09PSB1bmRlZmluZWQgfHwgZGF0YSA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gY29uc3QgYWxsb3dlZFJvbGVzID0gZGF0YS5yb2xlcztcclxuICAgICAgICAvLyBsZXQgaXNJblJvbGUgPSB0aGlzLmlzSW5Sb2xlKGFsbG93ZWRSb2xlcyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBkYXRhLnBlcm1pc3Npb247XHJcblxyXG4gICAgICAgIGxldCBoYXNQZXJtaXNzaW9uID0gdGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pO1xyXG5cclxuICAgICAgICAvLyByZXR1cm4gaXNJblJvbGUgJiYgaGFzUGVybWlzc2lvbjtcclxuICAgICAgICByZXR1cm4gaGFzUGVybWlzc2lvbjtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -13,15 +13,31 @@ export class ArrayHelper {
|
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
15
15
|
;
|
|
16
|
-
static distinct(value) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
// static distinct(value: any[]) {
|
|
17
|
+
// var arr: any[] = [];
|
|
18
|
+
// for (var i = 0; i < value.length; i++) {
|
|
19
|
+
// let val = value[i];
|
|
20
|
+
// if (!this.contains(arr, val)) {
|
|
21
|
+
// arr.push(val);
|
|
22
|
+
// }
|
|
23
|
+
// }
|
|
24
|
+
// return arr;
|
|
25
|
+
// }
|
|
26
|
+
static distinct(source) {
|
|
27
|
+
let length = source.length, result = [], seen = new Set();
|
|
28
|
+
for (let index = 0; index < length; index++) {
|
|
29
|
+
let value = source[index];
|
|
30
|
+
if (seen.has(value))
|
|
31
|
+
continue;
|
|
32
|
+
seen.add(value);
|
|
33
|
+
result.push(value);
|
|
23
34
|
}
|
|
24
|
-
return
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
static filterByKey(filterValue, key, array) {
|
|
38
|
+
if (typeof filterValue === 'undefined' || filterValue == null || (typeof key === 'string' && key.length === 0))
|
|
39
|
+
return array;
|
|
40
|
+
return array.filter(x => x !== undefined && x !== null && x[key] === filterValue);
|
|
25
41
|
}
|
|
26
42
|
static flattenArray(value) {
|
|
27
43
|
let result = [];
|
|
@@ -95,4 +111,4 @@ export class ArrayHelper {
|
|
|
95
111
|
return this.enumToKeyPairBaseArray(value);
|
|
96
112
|
}
|
|
97
113
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvYXJyYXktaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCwrQ0FBK0M7QUFJL0MsTUFBTSxPQUFPLFdBQVc7SUFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFZLEVBQUUsS0FBYSxFQUFFLENBQU07UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFBQSxDQUFDO0lBRUYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFZLEVBQUUsQ0FBTTtRQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1NBQ25DO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUFBLENBQUM7SUFFRixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQVk7UUFDeEIsSUFBSSxHQUFHLEdBQVUsRUFBRSxDQUFDO1FBQ3BCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7Z0JBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDakI7U0FDSjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUlELE1BQU0s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SSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksTUFBTSxHQUFRLEVBQUUsQ0FBQztRQUNyQixvQ0FBb0M7UUFDcEMsbUVBQW1FO1FBQ25FLElBQUk7UUFDSixLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN0QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFPLENBQUMsQ0FBQztTQUN6RDtRQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2Qsd0ZBQXdGO0lBQzVGLENBQUM7SUFDRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBVTtRQUNoQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBMEIsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFVO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUE0QixLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL21vZGVscy9rZXktcGFpci5tb2RlbFwiO1xyXG4vLyBpbXBvcnQgeyBUcmVlIH0gZnJvbSBcIi4uL21vZGVscy90cmVlLm1vZGVsXCI7XHJcblxyXG5pbXBvcnQgeyBLZXlQYWlyLCBLZXlQYWlyRXgsIFRyZWUgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXJyYXlIZWxwZXIge1xyXG4gICAgc3RhdGljIGluc2VydCh2YWx1ZTogYW55W10sIGluZGV4OiBudW1iZXIsIHY6IGFueSkge1xyXG4gICAgICAgIHZhbHVlLnNwbGljZShpbmRleCwgMCwgdik7XHJcbiAgICB9O1xyXG5cclxuICAgIHN0YXRpYyBjb250YWlucyh2YWx1ZTogYW55W10sIHY6IGFueSkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlW2ldID09PSB2KSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfTtcclxuXHJcbiAgICBzdGF0aWMgZGlzdGluY3QodmFsdWU6IGFueVtdKSB7XHJcbiAgICAgICAgdmFyIGFycjogYW55W10gPSBbXTtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCB2YWwgPSB2YWx1ZVtpXTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5zKGFyciwgdmFsKSkge1xyXG4gICAgICAgICAgICAgICAgYXJyLnB1c2godmFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gYXJyO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgc3RhdGljIGZsYXR0ZW5BcnJheSh2YWx1ZTogYW55W10pOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCh0cmVlID0+IHtcclxuICAgICAgICAgICAgICAgIHRyZWUuaW5kZW50ID0gMDtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRyZWUpO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCh0aGlzLmdldENoaWxkcmVuKHRyZWUpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZ2V0Q2hpbGRyZW4odHJlZTogVHJlZSwgaW5kZW50OiBudW1iZXIgPSAxKTogYW55W10ge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IGFueVtdID0gW107XHJcbiAgICAgICAgaWYgKHRyZWUuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbkNvdW50ID0gdHJlZS5jaGlsZHJlbi5sZW5ndGg7XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XHJcbiAgICAgICAgICAgICAgICBjaGlsZC5pbmRlbnQgPSBpbmRlbnQ7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRoaXMuZ2V0Q2hpbGRyZW4oY2hpbGQsIGluZGVudCArIDEpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbkNvdW50ID0gMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRlbGV0ZSB0cmVlLmNoaWxkcmVuO1xyXG4gICAgICAgIGRlbGV0ZSB0cmVlLmNoaWxkcmVuSWRzO1xyXG4gICAgICAgIC8vZGVsZXRlIHRyZWUuY2hpbGRyZW5Db3VudDtcclxuICAgICAgICAvL2RlbGV0ZSB0cmVlLmluZGVudDtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgc3RhdGljIHRyZWVUb0tleVBhaXJBcnJheSh2YWx1ZTogVHJlZVtdKSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogS2V5UGFpcltdID0gW107XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHZhbHVlLmZvckVhY2godHJlZSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogdHJlZS5rZXksIHZhbHVlOiB0cmVlLnZhbHVlIH0pO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCh0aGlzLmdldEluZGVudENoaWxkcmVuKHRyZWUpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRJbmRlbnRDaGlsZHJlbih0cmVlOiBUcmVlLCBpbmRlbnQ6IG51bWJlciA9IDEpOiBLZXlQYWlyW10ge1xyXG4gICAgICAgIGxldCByZXN1bHQ6IEtleVBhaXJbXSA9IFtdO1xyXG4gICAgICAgIGlmICh0cmVlLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgICAgIHRyZWUuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XHJcbiAgICAgICAgICAgICAgICAvL3Jlc3VsdC5wdXNoKHsga2V5OiBjaGlsZC5rZXksIHZhbHVlOiAn4pSUJyArICfilIAnLnJlcGVhdChpbmRlbnQpICsgY2hpbGQudmFsdWUgfSk7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7IGtleTogY2hpbGQua2V5LCB2YWx1ZTogJyZlbXNwOycucmVwZWF0KGluZGVudCkgKyBjaGlsZC52YWx1ZSB9KTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQodGhpcy5nZXRDaGlsZHJlbihjaGlsZCwgaW5kZW50ICsgMSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGVudW1Ub0tleVBhaXJCYXNlQXJyYXk8VCBleHRlbmRzIEtleVBhaXI8bnVtYmVyLCBzdHJpbmc+Pih2YWx1ZTogYW55KTogVFtdIHtcclxuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IHNsaWNlID0ga2V5cy5sZW5ndGggLyAyO1xyXG4gICAgICAgIGxldCByZXN1bHQ6IFRbXSA9IFtdO1xyXG4gICAgICAgIC8vIGZvciAobGV0IGkgPSAwOyBpIDwgc2xpY2U7IGkrKykge1xyXG4gICAgICAgIC8vICAgICByZXN1bHQucHVzaCh7IGtleTogK2tleXNbaV0sIHZhbHVlOiBrZXlzW2kgKyBzbGljZV0gfSBhcyBUKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IHNsaWNlOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgbmFtZSA9IGtleXNbaV07XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsga2V5OiArIHZhbHVlW25hbWVdLCB2YWx1ZTogbmFtZSB9IGFzIFQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgIC8vcmV0dXJuIEFycmF5LmZyb20oa2V5cy5zbGljZShrZXlzLmxlbmd0aCAvIDIpLCB4ID0+IHsga2V5OngsIHZhbHVlOidhYWEnIH0gYXMgT2JqZWN0KTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBlbnVtVG9LZXlQYWlyQXJyYXkodmFsdWU6IGFueSk6IEtleVBhaXI8bnVtYmVyLCBzdHJpbmc+W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVudW1Ub0tleVBhaXJCYXNlQXJyYXk8S2V5UGFpcjxudW1iZXIsIHN0cmluZz4+KHZhbHVlKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBlbnVtVG9LZXlQYWlyRXhBcnJheSh2YWx1ZTogYW55KTogS2V5UGFpckV4PG51bWJlciwgc3RyaW5nPltdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5lbnVtVG9LZXlQYWlyQmFzZUFycmF5PEtleVBhaXJFeDxudW1iZXIsIHN0cmluZz4+KHZhbHVlKTtcclxuICAgIH1cclxufSJdfQ==
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvdXRpbHMvYXJyYXktaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCwrQ0FBK0M7QUFLL0MsTUFBTSxPQUFPLFdBQVc7SUFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFZLEVBQUUsS0FBYSxFQUFFLENBQU07UUFDN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFBQSxDQUFDO0lBRUYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFZLEVBQUUsQ0FBTTtRQUNoQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1NBQ25DO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUFBLENBQUM7SUFFRixrQ0FBa0M7SUFDbEMsMkJBQTJCO0lBQzNCLCtDQUErQztJQUMvQyw4QkFBOEI7SUFDOUIsMENBQTBDO0lBQzFDLDZCQUE2QjtJQUM3QixZQUFZO0lBQ1osUUFBUTtJQUNSLGtCQUFrQjtJQUNsQixJQUFJO0lBRUosTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFhO1FBQ3pCLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUxRCxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3pDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FB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RDtRQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2Qsd0ZBQXdGO0lBQzVGLENBQUM7SUFDRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBVTtRQUNoQyxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBMEIsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUNELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFVO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUE0QixLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL21vZGVscy9rZXktcGFpci5tb2RlbFwiO1xyXG4vLyBpbXBvcnQgeyBUcmVlIH0gZnJvbSBcIi4uL21vZGVscy90cmVlLm1vZGVsXCI7XHJcblxyXG5pbXBvcnQgeyBLZXlQYWlyLCBLZXlQYWlyRXgsIFRyZWUgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIEFycmF5SGVscGVyIHtcclxuICAgIHN0YXRpYyBpbnNlcnQodmFsdWU6IGFueVtdLCBpbmRleDogbnVtYmVyLCB2OiBhbnkpIHtcclxuICAgICAgICB2YWx1ZS5zcGxpY2UoaW5kZXgsIDAsIHYpO1xyXG4gICAgfTtcclxuXHJcbiAgICBzdGF0aWMgY29udGFpbnModmFsdWU6IGFueVtdLCB2OiBhbnkpIHtcclxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZVtpXSA9PT0gdikgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH07XHJcblxyXG4gICAgLy8gc3RhdGljIGRpc3RpbmN0KHZhbHVlOiBhbnlbXSkge1xyXG4gICAgLy8gICAgIHZhciBhcnI6IGFueVtdID0gW107XHJcbiAgICAvLyAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgLy8gICAgICAgICBsZXQgdmFsID0gdmFsdWVbaV07XHJcbiAgICAvLyAgICAgICAgIGlmICghdGhpcy5jb250YWlucyhhcnIsIHZhbCkpIHtcclxuICAgIC8vICAgICAgICAgICAgIGFyci5wdXNoKHZhbCk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgcmV0dXJuIGFycjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBzdGF0aWMgZGlzdGluY3Qoc291cmNlOiBhbnlbXSkge1xyXG4gICAgICAgIGxldCBsZW5ndGggPSBzb3VyY2UubGVuZ3RoLCByZXN1bHQgPSBbXSwgc2VlbiA9IG5ldyBTZXQoKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICBsZXQgdmFsdWUgPSBzb3VyY2VbaW5kZXhdO1xyXG4gICAgICAgICAgICBpZiAoc2Vlbi5oYXModmFsdWUpKSBjb250aW51ZTtcclxuXHJcbiAgICAgICAgICAgIHNlZW4uYWRkKHZhbHVlKTtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZmlsdGVyQnlLZXkoZmlsdGVyVmFsdWU6IGFueSwga2V5OiBzdHJpbmcsIGFycmF5OiBhbnlbXSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgZmlsdGVyVmFsdWUgPT09ICd1bmRlZmluZWQnIHx8IGZpbHRlclZhbHVlID09IG51bGwgfHwgKHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGtleS5sZW5ndGggPT09IDApKVxyXG4gICAgICAgICAgICByZXR1cm4gYXJyYXk7XHJcblxyXG4gICAgICAgIHJldHVybiBhcnJheS5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQgJiYgeCAhPT0gbnVsbCAmJiB4W2tleV0gPT09IGZpbHRlclZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZmxhdHRlbkFycmF5KHZhbHVlOiBhbnlbXSk6IGFueVtdIHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBhbnlbXSA9IFtdO1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKHRyZWUgPT4ge1xyXG4gICAgICAgICAgICAgICAgdHJlZS5pbmRlbnQgPSAwO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2godHJlZSk7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRoaXMuZ2V0Q2hpbGRyZW4odHJlZSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBnZXRDaGlsZHJlbih0cmVlOiBUcmVlLCBpbmRlbnQ6IG51bWJlciA9IDEpOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogYW55W10gPSBbXTtcclxuICAgICAgICBpZiAodHJlZS5jaGlsZHJlbikge1xyXG4gICAgICAgICAgICB0cmVlLmNoaWxkcmVuQ291bnQgPSB0cmVlLmNoaWxkcmVuLmxlbmd0aDtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcclxuICAgICAgICAgICAgICAgIGNoaWxkLmluZGVudCA9IGluZGVudDtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQodGhpcy5nZXRDaGlsZHJlbihjaGlsZCwgaW5kZW50ICsgMSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0cmVlLmNoaWxkcmVuQ291bnQgPSAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGVsZXRlIHRyZWUuY2hpbGRyZW47XHJcbiAgICAgICAgZGVsZXRlIHRyZWUuY2hpbGRyZW5JZHM7XHJcbiAgICAgICAgLy9kZWxldGUgdHJlZS5jaGlsZHJlbkNvdW50O1xyXG4gICAgICAgIC8vZGVsZXRlIHRyZWUuaW5kZW50O1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBzdGF0aWMgdHJlZVRvS2V5UGFpckFycmF5KHZhbHVlOiBUcmVlW10pIHtcclxuICAgICAgICBsZXQgcmVzdWx0OiBLZXlQYWlyW10gPSBbXTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCh0cmVlID0+IHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsga2V5OiB0cmVlLmtleSwgdmFsdWU6IHRyZWUudmFsdWUgfSk7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRoaXMuZ2V0SW5kZW50Q2hpbGRyZW4odHJlZSkpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIGdldEluZGVudENoaWxkcmVuKHRyZWU6IFRyZWUsIGluZGVudDogbnVtYmVyID0gMSk6IEtleVBhaXJbXSB7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogS2V5UGFpcltdID0gW107XHJcbiAgICAgICAgaWYgKHRyZWUuY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgdHJlZS5jaGlsZHJlbi5mb3JFYWNoKGNoaWxkID0+IHtcclxuICAgICAgICAgICAgICAgIC8vcmVzdWx0LnB1c2goeyBrZXk6IGNoaWxkLmtleSwgdmFsdWU6ICfilJQnICsgJ+KUgCcucmVwZWF0KGluZGVudCkgKyBjaGlsZC52YWx1ZSB9KTtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHsga2V5OiBjaGlsZC5rZXksIHZhbHVlOiAnJmVtc3A7Jy5yZXBlYXQoaW5kZW50KSArIGNoaWxkLnZhbHVlIH0pO1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCh0aGlzLmdldENoaWxkcmVuKGNoaWxkLCBpbmRlbnQgKyAxKSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgZW51bVRvS2V5UGFpckJhc2VBcnJheTxUIGV4dGVuZHMgS2V5UGFpcjxudW1iZXIsIHN0cmluZz4+KHZhbHVlOiBhbnkpOiBUW10ge1xyXG4gICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSk7XHJcbiAgICAgICAgY29uc3Qgc2xpY2UgPSBrZXlzLmxlbmd0aCAvIDI7XHJcbiAgICAgICAgbGV0IHJlc3VsdDogVFtdID0gW107XHJcbiAgICAgICAgLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZTsgaSsrKSB7XHJcbiAgICAgICAgLy8gICAgIHJlc3VsdC5wdXNoKHsga2V5OiAra2V5c1tpXSwgdmFsdWU6IGtleXNbaSArIHNsaWNlXSB9IGFzIFQpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBmb3IgKGxldCBpID0gc2xpY2U7IGkgPCBrZXlzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBuYW1lID0ga2V5c1tpXTtcclxuICAgICAgICAgICAgcmVzdWx0LnB1c2goeyBrZXk6ICsgdmFsdWVbbmFtZV0sIHZhbHVlOiBuYW1lIH0gYXMgVCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgICAgLy9yZXR1cm4gQXJyYXkuZnJvbShrZXlzLnNsaWNlKGtleXMubGVuZ3RoIC8gMiksIHggPT4geyBrZXk6eCwgdmFsdWU6J2FhYScgfSBhcyBPYmplY3QpO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGVudW1Ub0tleVBhaXJBcnJheSh2YWx1ZTogYW55KTogS2V5UGFpcjxudW1iZXIsIHN0cmluZz5bXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZW51bVRvS2V5UGFpckJhc2VBcnJheTxLZXlQYWlyPG51bWJlciwgc3RyaW5nPj4odmFsdWUpO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGVudW1Ub0tleVBhaXJFeEFycmF5KHZhbHVlOiBhbnkpOiBLZXlQYWlyRXg8bnVtYmVyLCBzdHJpbmc+W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVudW1Ub0tleVBhaXJCYXNlQXJyYXk8S2V5UGFpckV4PG51bWJlciwgc3RyaW5nPj4odmFsdWUpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export class BitwiseHelper {
|
|
2
|
-
static
|
|
2
|
+
static hasFlag(flags, flagToCheck) {
|
|
3
3
|
return (flags & flagToCheck) === flagToCheck;
|
|
4
4
|
}
|
|
5
|
-
static
|
|
5
|
+
static addFlags(flags, ...flagsToAdd) {
|
|
6
6
|
if (!flagsToAdd)
|
|
7
7
|
return flags;
|
|
8
8
|
flagsToAdd.forEach(flag => {
|
|
@@ -11,4 +11,4 @@ export class BitwiseHelper {
|
|
|
11
11
|
return flags;
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0d2lzZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi91dGlscy9iaXR3aXNlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sYUFBYTtJQUN0QixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWEsRUFBRSxXQUFnQjtRQUMxQyxPQUFPLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLFdBQVcsQ0FBQztJQUNqRCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhLEVBQUUsR0FBRyxVQUFpQjtRQUMvQyxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRTlCLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdEIsS0FBSyxJQUFJLElBQUksQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBCaXR3aXNlSGVscGVyIHtcclxuICAgIHN0YXRpYyBoYXNGbGFnKGZsYWdzOiBudW1iZXIsIGZsYWdUb0NoZWNrOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gKGZsYWdzICYgZmxhZ1RvQ2hlY2spID09PSBmbGFnVG9DaGVjaztcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgYWRkRmxhZ3MoZmxhZ3M6IG51bWJlciwgLi4uZmxhZ3NUb0FkZDogYW55W10pOiBudW1iZXIge1xyXG4gICAgICAgIGlmICghZmxhZ3NUb0FkZCkgcmV0dXJuIGZsYWdzO1xyXG5cclxuICAgICAgICBmbGFnc1RvQWRkLmZvckVhY2goZmxhZyA9PiB7XHJcbiAgICAgICAgICAgIGZsYWdzIHw9IGZsYWc7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBmbGFncztcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -14,4 +14,4 @@ export class Convert {
|
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3V0aWxzL2NvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLE9BQU87SUFDaEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtZQUNoRSxRQUFRLEdBQUcsS0FBSyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQzlCLEtBQUssTUFBTSxDQUFDO2dCQUNaLEtBQUssS0FBSyxDQUFDO2dCQUNYLEtBQUssR0FBRyxDQUFDO2dCQUNULEtBQUssSUFBSTtvQkFDTCxPQUFPLElBQUksQ0FBQztnQkFFaEI7b0JBQ0ksT0FBTyxLQUFLLENBQUM7YUFDcEI7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb252ZXJ0IHtcclxuICAgIHN0YXRpYyB0b0Jvb2xlYW4odmFsdWU6IGFueSkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJykge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKGAke3ZhbHVlfWAudG9VcHBlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIlRSVUVcIjpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCJZRVNcIjpcclxuICAgICAgICAgICAgICAgIGNhc2UgXCIxXCI6XHJcbiAgICAgICAgICAgICAgICBjYXNlIFwiT05cIjpcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG59Il19
|