@coreui/angular-pro 4.0.0-alpha.3 → 4.0.0-alpha.4

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.
Files changed (31) hide show
  1. package/esm2020/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +1 -1
  2. package/esm2020/lib/multi-select/index.mjs +2 -0
  3. package/esm2020/lib/multi-select/multi-select/multi-select.component.mjs +424 -0
  4. package/esm2020/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +28 -0
  5. package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +20 -0
  6. package/esm2020/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +25 -0
  7. package/esm2020/lib/multi-select/multi-select-option/multi-select-option.component.mjs +133 -0
  8. package/esm2020/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +56 -0
  9. package/esm2020/lib/multi-select/multi-select.module.mjs +50 -0
  10. package/esm2020/lib/multi-select/multi-select.service.mjs +23 -0
  11. package/esm2020/lib/multi-select/multi-select.type.mjs +2 -0
  12. package/esm2020/lib/multi-select/public_api.mjs +7 -0
  13. package/esm2020/lib/popover/popover.directive.mjs +1 -1
  14. package/esm2020/public-api.mjs +2 -1
  15. package/fesm2015/coreui-angular-pro.mjs +733 -16
  16. package/fesm2015/coreui-angular-pro.mjs.map +1 -1
  17. package/fesm2020/coreui-angular-pro.mjs +726 -16
  18. package/fesm2020/coreui-angular-pro.mjs.map +1 -1
  19. package/lib/multi-select/index.d.ts +1 -0
  20. package/lib/multi-select/multi-select/multi-select.component.d.ts +101 -0
  21. package/lib/multi-select/multi-select-native-select/multi-select-native-select.component.d.ts +13 -0
  22. package/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.d.ts +9 -0
  23. package/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.d.ts +10 -0
  24. package/lib/multi-select/multi-select-option/multi-select-option.component.d.ts +45 -0
  25. package/lib/multi-select/multi-select-tag/multi-select-tag.component.d.ts +21 -0
  26. package/lib/multi-select/multi-select.module.d.ts +16 -0
  27. package/lib/multi-select/multi-select.service.d.ts +12 -0
  28. package/lib/multi-select/multi-select.type.d.ts +34 -0
  29. package/lib/multi-select/public_api.d.ts +6 -0
  30. package/package.json +1 -1
  31. package/public-api.d.ts +1 -0
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
50
50
  providedIn: 'root',
51
51
  }]
52
52
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLXJvdXRlci9icmVhZGNydW1iLXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTXhDLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFBb0IsTUFBYyxFQUFVLEtBQXFCO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUwxRCxXQUFNLEdBQUcsU0FBUyxDQUFDO1FBTXhCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLGVBQWUsQ0FDbkQsSUFBSSxLQUFLLEVBQW1CLENBQzdCLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7YUFDdkQsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxXQUFXLEdBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksWUFBWSxHQUEwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUMxRCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDYixHQUFHO2dCQUNELE1BQU0sY0FBYyxHQUFxQixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUMvRCxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQ3BDLDBEQUEwRDtvQkFDMUQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ3JDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7d0JBQzFDLEdBQUc7NEJBQ0QsR0FBRztnQ0FDSCxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDN0QsV0FBVyxDQUFDLElBQUksQ0FBQzs0QkFDZixLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTs0QkFDOUMsR0FBRzs0QkFDSCxXQUFXLEVBQUUsYUFBYSxDQUFDLFdBQVc7eUJBQ3ZDLENBQUMsQ0FBQzt3QkFDSCxZQUFZLEdBQUcsVUFBVSxDQUFDO3FCQUMzQjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKLFFBQVEsWUFBWSxFQUFFO1lBRXZCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUVyRSwyQ0FBMkM7WUFDM0MsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEE1Q1UsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSUJyZWFkY3J1bWJJdGVtIH0gZnJvbSAnLi4vYnJlYWRjcnVtYi1pdGVtL2JyZWFkY3J1bWItaXRlbSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlJvdXRlclNlcnZpY2Uge1xyXG4gIHB1YmxpYyBvdXRsZXQgPSAncHJpbWFyeSc7XHJcblxyXG4gIGJyZWFkY3J1bWJzJDogT2JzZXJ2YWJsZTxJQnJlYWRjcnVtYkl0ZW1bXT47XHJcbiAgcHJpdmF0ZSBicmVhZGNydW1ic0JlaGF2aW9yU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PElCcmVhZGNydW1iSXRlbVtdPjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnNCZWhhdmlvclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueVtdPihcclxuICAgICAgbmV3IEFycmF5PElCcmVhZGNydW1iSXRlbT4oKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmJyZWFkY3J1bWJzJCA9IHRoaXMuYnJlYWRjcnVtYnNCZWhhdmlvclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgIC5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYnM6IGFueVtdID0gW107XHJcbiAgICAgICAgbGV0IGN1cnJlbnRSb3V0ZTogQWN0aXZhdGVkUm91dGUgfCBudWxsID0gdGhpcy5yb3V0ZS5yb290O1xyXG4gICAgICAgIGxldCB1cmwgPSAnJztcclxuICAgICAgICBkbyB7XHJcbiAgICAgICAgICBjb25zdCBjaGlsZHJlblJvdXRlczogQWN0aXZhdGVkUm91dGVbXSA9IGN1cnJlbnRSb3V0ZS5jaGlsZHJlbjtcclxuICAgICAgICAgIGN1cnJlbnRSb3V0ZSA9IG51bGw7XHJcbiAgICAgICAgICBjaGlsZHJlblJvdXRlcy5mb3JFYWNoKChjaGlsZFJvdXRlKSA9PiB7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdicmVhZGNydW1iIGV2ZW50JywgZXZlbnQsICdyb3V0ZScsIHJvdXRlKTtcclxuICAgICAgICAgICAgaWYgKGNoaWxkUm91dGUub3V0bGV0ID09PSB0aGlzLm91dGxldCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJvdXRlU25hcHNob3QgPSBjaGlsZFJvdXRlLnNuYXBzaG90O1xyXG4gICAgICAgICAgICAgIHVybCArPVxyXG4gICAgICAgICAgICAgICAgJy8nICtcclxuICAgICAgICAgICAgICAgIHJvdXRlU25hcHNob3QudXJsLm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC5wYXRoKS5qb2luKCcvJyk7XHJcbiAgICAgICAgICAgICAgYnJlYWRjcnVtYnMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBsYWJlbDogY2hpbGRSb3V0ZS5zbmFwc2hvdC5kYXRhWyd0aXRsZSddIHx8ICcnLFxyXG4gICAgICAgICAgICAgICAgdXJsLFxyXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgY3VycmVudFJvdXRlID0gY2hpbGRSb3V0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSB3aGlsZSAoY3VycmVudFJvdXRlKTtcclxuXHJcbiAgICAgICAgdGhpcy5icmVhZGNydW1ic0JlaGF2aW9yU3ViamVjdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIGJyZWFkY3J1bWJzKSk7XHJcblxyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdicmVhZGNydW1icycsIGJyZWFkY3J1bWJzKTtcclxuICAgICAgICByZXR1cm4gYnJlYWRjcnVtYnM7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1yb3V0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvYnJlYWRjcnVtYi9icmVhZGNydW1iLXJvdXRlci9icmVhZGNydW1iLXJvdXRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEwQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTXhDLE1BQU0sT0FBTyx1QkFBdUI7SUFNbEMsWUFBb0IsTUFBYyxFQUFVLEtBQXFCO1FBQTdDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUwxRCxXQUFNLEdBQUcsU0FBUyxDQUFDO1FBTXhCLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLGVBQWUsQ0FDbkQsSUFBSSxLQUFLLEVBQW1CLENBQzdCLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLENBQUM7YUFDdkQsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxXQUFXLEdBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksWUFBWSxHQUEwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUMxRCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDYixHQUFHO2dCQUNELE1BQU0sY0FBYyxHQUFxQixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUMvRCxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQ3BDLDBEQUEwRDtvQkFDMUQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ3JDLE1BQU0sYUFBYSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7d0JBQzFDLEdBQUc7NEJBQ0QsR0FBRztnQ0FDSCxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDN0QsV0FBVyxDQUFDLElBQUksQ0FBQzs0QkFDZixLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTs0QkFDOUMsR0FBRzs0QkFDSCxXQUFXLEVBQUUsYUFBYSxDQUFDLFdBQVc7eUJBQ3ZDLENBQUMsQ0FBQzt3QkFDSCxZQUFZLEdBQUcsVUFBVSxDQUFDO3FCQUMzQjtnQkFDSCxDQUFDLENBQUMsQ0FBQzthQUNKLFFBQVEsWUFBWSxFQUFFO1lBRXZCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUVyRSwyQ0FBMkM7WUFDM0MsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEE1Q1UsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IElCcmVhZGNydW1iSXRlbSB9IGZyb20gJy4uL2JyZWFkY3J1bWItaXRlbS9icmVhZGNydW1iLWl0ZW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlJvdXRlclNlcnZpY2Uge1xuICBwdWJsaWMgb3V0bGV0ID0gJ3ByaW1hcnknO1xuXG4gIGJyZWFkY3J1bWJzJDogT2JzZXJ2YWJsZTxJQnJlYWRjcnVtYkl0ZW1bXT47XG4gIHByaXZhdGUgYnJlYWRjcnVtYnNCZWhhdmlvclN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxJQnJlYWRjcnVtYkl0ZW1bXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLmJyZWFkY3J1bWJzQmVoYXZpb3JTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oXG4gICAgICBuZXcgQXJyYXk8SUJyZWFkY3J1bWJJdGVtPigpXG4gICAgKTtcblxuICAgIHRoaXMuYnJlYWRjcnVtYnMkID0gdGhpcy5icmVhZGNydW1ic0JlaGF2aW9yU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBhbnlbXSA9IFtdO1xuICAgICAgICBsZXQgY3VycmVudFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSB8IG51bGwgPSB0aGlzLnJvdXRlLnJvb3Q7XG4gICAgICAgIGxldCB1cmwgPSAnJztcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGNvbnN0IGNoaWxkcmVuUm91dGVzOiBBY3RpdmF0ZWRSb3V0ZVtdID0gY3VycmVudFJvdXRlLmNoaWxkcmVuO1xuICAgICAgICAgIGN1cnJlbnRSb3V0ZSA9IG51bGw7XG4gICAgICAgICAgY2hpbGRyZW5Sb3V0ZXMuZm9yRWFjaCgoY2hpbGRSb3V0ZSkgPT4ge1xuICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2JyZWFkY3J1bWIgZXZlbnQnLCBldmVudCwgJ3JvdXRlJywgcm91dGUpO1xuICAgICAgICAgICAgaWYgKGNoaWxkUm91dGUub3V0bGV0ID09PSB0aGlzLm91dGxldCkge1xuICAgICAgICAgICAgICBjb25zdCByb3V0ZVNuYXBzaG90ID0gY2hpbGRSb3V0ZS5zbmFwc2hvdDtcbiAgICAgICAgICAgICAgdXJsICs9XG4gICAgICAgICAgICAgICAgJy8nICtcbiAgICAgICAgICAgICAgICByb3V0ZVNuYXBzaG90LnVybC5tYXAoKHNlZ21lbnQpID0+IHNlZ21lbnQucGF0aCkuam9pbignLycpO1xuICAgICAgICAgICAgICBicmVhZGNydW1icy5wdXNoKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogY2hpbGRSb3V0ZS5zbmFwc2hvdC5kYXRhWyd0aXRsZSddIHx8ICcnLFxuICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtcyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGN1cnJlbnRSb3V0ZSA9IGNoaWxkUm91dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gd2hpbGUgKGN1cnJlbnRSb3V0ZSk7XG5cbiAgICAgICAgdGhpcy5icmVhZGNydW1ic0JlaGF2aW9yU3ViamVjdC5uZXh0KE9iamVjdC5hc3NpZ24oW10sIGJyZWFkY3J1bWJzKSk7XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2JyZWFkY3J1bWJzJywgYnJlYWRjcnVtYnMpO1xuICAgICAgICByZXR1cm4gYnJlYWRjcnVtYnM7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL211bHRpLXNlbGVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XHJcbiJdfQ==
@@ -0,0 +1,424 @@
1
+ import { Component, ContentChildren, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import { FocusKeyManager } from '@angular/cdk/a11y';
3
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
4
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { MultiSelectService } from '../multi-select.service';
6
+ import { MultiSelectOptionComponent } from '../multi-select-option/multi-select-option.component';
7
+ import { MultiSelectNativeSelectComponent } from '../multi-select-native-select/multi-select-native-select.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/cdk/a11y";
10
+ import * as i2 from "../multi-select.service";
11
+ import * as i3 from "../multi-select-tag/multi-select-tag.component";
12
+ import * as i4 from "@angular/common";
13
+ import * as i5 from "@angular/forms";
14
+ import * as i6 from "../../button/button-close.directive";
15
+ // const flattenArray = (options: IOption[]): IOption[] => {
16
+ // return options.reduce((acc: IOption[], val: IOption) => {
17
+ // return acc.concat(Array.isArray(val.options) ? flattenArray(val.options) : val);
18
+ // }, []);
19
+ // };
20
+ //
21
+ // const getSelectedOptions = (options: IOption[]) => {
22
+ // return flattenArray(options).filter((option: IOption) => {
23
+ // if (option.selected) {
24
+ // return option;
25
+ // }
26
+ // return;
27
+ // });
28
+ // };
29
+ export class MultiSelectComponent {
30
+ constructor(elementRef, renderer, ngZone, changeDetectorRef, viewContainerRef, focusMonitor, multiSelectService) {
31
+ this.elementRef = elementRef;
32
+ this.renderer = renderer;
33
+ this.ngZone = ngZone;
34
+ this.changeDetectorRef = changeDetectorRef;
35
+ this.viewContainerRef = viewContainerRef;
36
+ this.focusMonitor = focusMonitor;
37
+ this.multiSelectService = multiSelectService;
38
+ this.onChange = (value) => { };
39
+ this.cleaner = true;
40
+ this._disabled = false;
41
+ this._multiple = false;
42
+ this.nativeName = '';
43
+ this.nativeId = '';
44
+ this.options = [];
45
+ this.optionsMaxHeight = 'auto';
46
+ this.optionsStyle = 'checkbox';
47
+ this.placeholder = 'Select...';
48
+ this.search = true;
49
+ this.searchNoResultsLabel = 'no items';
50
+ this.selectAll = true;
51
+ this.selectAllLabel = 'Select all options';
52
+ this.selectionType = 'tags';
53
+ this.selectionTypeCounterText = 'item(s) selected';
54
+ this._value = [''];
55
+ this.valueChange = new EventEmitter();
56
+ this._visible = false;
57
+ this.visibleChange = new EventEmitter();
58
+ this.isDropdownVisible = false;
59
+ this._selectedOptions = [];
60
+ this._tabIndex = '-1';
61
+ this.visibleOptions = 0;
62
+ this._inputValue = '';
63
+ this._subtreeFocused = this.focusOrigin(null);
64
+ }
65
+ writeValue(value) {
66
+ this.onChange(this.value);
67
+ }
68
+ registerOnChange(fn) {
69
+ this.onChange = fn;
70
+ }
71
+ registerOnTouched(fn) {
72
+ }
73
+ setDisabledState(isDisabled) {
74
+ this.disabled = isDisabled;
75
+ }
76
+ set disabled(value) {
77
+ this._disabled = coerceBooleanProperty(value);
78
+ }
79
+ get disabled() {
80
+ return this._disabled;
81
+ }
82
+ set multiple(value) {
83
+ this._multiple = coerceBooleanProperty(value);
84
+ }
85
+ get multiple() {
86
+ return this._multiple;
87
+ }
88
+ set value(value) {
89
+ const newValue = Array.isArray(value) ? [...value] : [value ?? ''];
90
+ if (this._value.toString() !== newValue.toString()) {
91
+ this._value = newValue;
92
+ this.writeValue(this.value);
93
+ this.updateNativeSelect();
94
+ this.valueChange.emit(this.value);
95
+ }
96
+ }
97
+ get value() {
98
+ return this.multiple ? [...this._value] : this._value[0]?.toString() ?? '';
99
+ }
100
+ set visible(value) {
101
+ const newValue = coerceBooleanProperty(value);
102
+ if (newValue !== this._visible) {
103
+ this._visible = newValue;
104
+ this.multiSelectService.toggleVisible(newValue);
105
+ }
106
+ }
107
+ get visible() {
108
+ return this._visible;
109
+ }
110
+ get selectedOptions() {
111
+ return this._selectedOptions;
112
+ }
113
+ get selectedOptionsText() {
114
+ return this.selectedOptions.map((option) => option.label).join(', ');
115
+ }
116
+ get counterText() {
117
+ return `${this.selectedOptions.length} ${this.selectionTypeCounterText}`;
118
+ }
119
+ get hostClasses() {
120
+ return {
121
+ 'form-multi-select': true,
122
+ 'form-multi-select-selection-tags': this.selectionType === 'tags',
123
+ show: this.visible
124
+ };
125
+ }
126
+ get tabIndex() {
127
+ return this._tabIndex;
128
+ }
129
+ set tabIndex(value) {
130
+ setTimeout(() => {
131
+ this._tabIndex = this._disabled || this.search ? '-1' : value === null ? null : '0';
132
+ });
133
+ }
134
+ onKeyUp($event) {
135
+ console.log('keyup', $event.key);
136
+ if ($event.key === 'Escape') {
137
+ this.visible = false;
138
+ this.inputValue = '';
139
+ this.setFocus();
140
+ // this.focusMonitor.focusVia(this.inputElement ?? this.elementRef, 'keyboard');
141
+ }
142
+ else if ($event.key === 'Enter') {
143
+ // } else {
144
+ this.visible = true;
145
+ if (!this.search) {
146
+ this.setFocus();
147
+ }
148
+ }
149
+ }
150
+ manage($event) {
151
+ console.log('keydown', $event.key);
152
+ if ($event.key === 'Enter' && $event.target === this.inputElement.nativeElement) {
153
+ $event.preventDefault();
154
+ }
155
+ this.listKeyManager.onKeydown($event);
156
+ }
157
+ onClick($event) {
158
+ if (!this.visible) {
159
+ this.visible = !this.visible;
160
+ }
161
+ this.setFocus();
162
+ }
163
+ set inputValue(value) {
164
+ console.log('inputValue', value);
165
+ this._inputValue = value;
166
+ // this.visible = !!value ?? this.visible;
167
+ this.filterOptions(value);
168
+ }
169
+ get inputValue() {
170
+ return this._inputValue;
171
+ }
172
+ get subtreeFocused() {
173
+ return this._subtreeFocused;
174
+ }
175
+ set subtreeFocused(value) {
176
+ this._subtreeFocused = value;
177
+ this.visible = value === false ? false : this.visible;
178
+ }
179
+ focusOrigin(origin) {
180
+ const focused = !!origin;
181
+ this.inputValue = focused ? this.inputValue : '';
182
+ return focused;
183
+ }
184
+ ngOnInit() {
185
+ this.tabIndex = '0';
186
+ }
187
+ ngOnDestroy() {
188
+ this.multiselectSubscribe(false);
189
+ // this.clearListeners();
190
+ this.focusMonitor.stopMonitoring(this.elementRef);
191
+ this.focusMonitorSubscription?.unsubscribe();
192
+ }
193
+ ngAfterContentInit() {
194
+ this.visibleOptions = this.multiSelectOptions.length;
195
+ this.multiSelectOptions.forEach((option, index) => {
196
+ option.optionsStyle = this.optionsStyle;
197
+ });
198
+ this._selectedOptions = this.multiSelectOptions.filter((option) => option.selected);
199
+ setTimeout(() => {
200
+ this.value = this._selectedOptions.map(item => item.value);
201
+ });
202
+ this.value = this._selectedOptions.map(item => item.value);
203
+ this.listKeyManager = new FocusKeyManager(this.multiSelectOptions).withHomeAndEnd();
204
+ this.listKeyManager.skipPredicate(item => !item.visible);
205
+ this.multiselectSubscribe();
206
+ this.createNativeSelect();
207
+ }
208
+ ngAfterViewInit() {
209
+ // this.setListeners();
210
+ this.focusMonitorSubscription = this.focusMonitor.monitor(this.elementRef, true).subscribe((origin) => this.ngZone.run(() => {
211
+ this.subtreeFocused = this.focusOrigin(origin);
212
+ this.changeDetectorRef.markForCheck();
213
+ }));
214
+ }
215
+ handleInputClick($event) {
216
+ console.log('handleInputClick', $event);
217
+ // this.visible = !this.visible;
218
+ }
219
+ multiselectSubscribe(subscribe = true) {
220
+ if (subscribe) {
221
+ this.multiselectVisibleSubscription = this.multiSelectService.multiSelectVisible$.subscribe((visible) => {
222
+ this.isDropdownVisible = visible;
223
+ this.visibleChange.emit(visible);
224
+ });
225
+ this.multiselectStateSubscription = this.multiSelectService.multiSelectState$.subscribe((option) => {
226
+ if (option.selected === true && !this.multiple) {
227
+ const selectedOptions = this.multiSelectOptions
228
+ .toArray()
229
+ .filter((item) => item.selected);
230
+ selectedOptions.reverse().forEach((item) => {
231
+ if (item !== option) {
232
+ item.selected = false;
233
+ }
234
+ });
235
+ }
236
+ this._selectedOptions = this.multiSelectOptions.filter((option) => option.selected);
237
+ this.value = this._selectedOptions.map(item => item.value);
238
+ });
239
+ }
240
+ else {
241
+ this.multiselectVisibleSubscription?.unsubscribe();
242
+ this.multiSelectOptionsSubscription?.unsubscribe();
243
+ this.multiselectStateSubscription?.unsubscribe();
244
+ }
245
+ }
246
+ clearAllOptions($event) {
247
+ this._selectedOptions.forEach((option) => {
248
+ if (!option._disabled)
249
+ option.selected = false;
250
+ });
251
+ this.setFocus();
252
+ }
253
+ selectAllOptions() {
254
+ this.multiSelectOptions.forEach((option, index) => {
255
+ if (!option.disabled)
256
+ option.selected = true;
257
+ });
258
+ }
259
+ // private setListeners() {
260
+ // if (this.search) {
261
+ // const configForInput: IListenersConfig = {
262
+ // hostElement: this.inputElement ?? this.elementRef,
263
+ // trigger: ['focus', 'click'],
264
+ // callbackOn: () => {
265
+ // console.log('focus input');
266
+ // this.tabIndex = null;
267
+ // // this.visible = true;
268
+ // }
269
+ // };
270
+ // this.listenersService.setListeners(configForInput);
271
+ // }
272
+ //
273
+ // const configForHost: IListenersConfig = {
274
+ // hostElement: this.elementRef,
275
+ // trigger: ['focus'],
276
+ // callbackOn: () => {
277
+ // console.log('focus');
278
+ // if (this.inputElement) {
279
+ // this.setFocus()
280
+ // }
281
+ // // this.inputElement?.nativeElement.focus();
282
+ // },
283
+ // callbackOff: () => {
284
+ // console.log('blur');
285
+ // }
286
+ // };
287
+ // this.listenersService.setListeners(configForHost);
288
+ // }
289
+ clearListeners() {
290
+ // this.listenersService.clearListeners();
291
+ }
292
+ handleTagRemove($event) {
293
+ this.setFocus();
294
+ }
295
+ setFocus() {
296
+ const firstSelectedOption = this.selectedOptions.find((item) => item.selected) ??
297
+ this.multiSelectOptions.find((item, index) => index === 0);
298
+ if (firstSelectedOption && this.isDropdownVisible) {
299
+ this.listKeyManager.setActiveItem(firstSelectedOption);
300
+ this.changeDetectorRef.markForCheck();
301
+ if (!this.search) {
302
+ return;
303
+ }
304
+ }
305
+ this.focusMonitor.focusVia(this.inputElement ?? this.elementRef, 'program');
306
+ }
307
+ filterOptions(value) {
308
+ const searchString = value.toLowerCase() ?? '';
309
+ this.multiSelectOptions?.forEach((item, index) => {
310
+ if (!!searchString) {
311
+ item.visible = item.label?.toLowerCase().includes(searchString) ?? true;
312
+ }
313
+ else {
314
+ item.visible = true;
315
+ }
316
+ });
317
+ this.visibleOptions = this.multiSelectOptions?.filter((item) => item.visible).length;
318
+ }
319
+ createNativeSelect() {
320
+ this.viewContainerRef.clear();
321
+ const nativeSelectRef = this.viewContainerRef.createComponent(MultiSelectNativeSelectComponent);
322
+ this.nativeSelectRef = nativeSelectRef;
323
+ this.updateNativeSelect();
324
+ }
325
+ updateNativeSelect() {
326
+ if (!this.nativeSelectRef)
327
+ return;
328
+ const options = this.selectedOptions.map(item => {
329
+ const { selected, value, label } = item;
330
+ return { selected, value, label };
331
+ });
332
+ // const nativeSelectRef = this.nativeSelectRef;
333
+ this.nativeSelectRef.instance.multiple = this.multiple;
334
+ this.nativeSelectRef.instance.name = this.nativeName;
335
+ this.nativeSelectRef.instance.form = this.nativeId;
336
+ this.nativeSelectRef.instance.options = options;
337
+ this.nativeSelectRef.instance.changeDetectorRef.detectChanges();
338
+ }
339
+ }
340
+ MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }, { token: i1.FocusMonitor }, { token: i2.MultiSelectService }], target: i0.ɵɵFactoryTarget.Component });
341
+ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MultiSelectComponent, selector: "c-multi-select", inputs: { cleaner: "cleaner", disabled: "disabled", multiple: "multiple", nativeName: "nativeName", nativeId: "nativeId", options: "options", optionsMaxHeight: "optionsMaxHeight", optionsStyle: "optionsStyle", placeholder: "placeholder", search: "search", searchNoResultsLabel: "searchNoResultsLabel", selectAll: "selectAll", selectAllLabel: "selectAllLabel", selectionType: "selectionType", selectionTypeCounterText: "selectionTypeCounterText", value: "value", visible: "visible" }, outputs: { valueChange: "valueChange", visibleChange: "visibleChange" }, host: { listeners: { "keyup": "onKeyUp($event)", "keydown": "manage($event)", "click": "onClick($event)" }, properties: { "class": "this.hostClasses", "attr.tabindex": "this.tabIndex" } }, providers: [
342
+ MultiSelectService,
343
+ // ListenersService,
344
+ {
345
+ provide: NG_VALUE_ACCESSOR,
346
+ useExisting: forwardRef(() => MultiSelectComponent),
347
+ multi: true
348
+ }
349
+ ], queries: [{ propertyName: "multiSelectOptions", predicate: MultiSelectOptionComponent, descendants: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }, { propertyName: "dropdownElement", first: true, predicate: ["dropdownElement"], descendants: true }], exportAs: ["cMultiSelect"], ngImport: i0, template: "<div class=\"form-multi-select-selection\">\n <ng-template [ngIf]=\"selectionType==='tags'\">\n <c-multi-select-tag (remove)=\"handleTagRemove($event)\" *ngFor=\"let option of selectedOptions; index as i\"\n [option]=\"option\" tabindex=\"-1\"></c-multi-select-tag>\n </ng-template>\n <ng-template [ngIf]=\"selectionType==='text'\">\n <span class=\"bg-light\">{{selectedOptionsText}}</span>\n </ng-template>\n <ng-template [ngIf]=\"selectionType==='counter'\">\n <span>{{counterText}}</span>\n </ng-template>\n</div>\n\n<input #inputElement\n [(ngModel)]=\"inputValue\"\n [disabled]=\"!search\"\n [placeholder]=\"(selectedOptions.length === 0 && selectionType!=='counter') ? placeholder : ''\"\n autocomplete=\"off\"\n class=\"form-multi-select-search ms-1\" tabindex=\"0\"\n type=\"text\">\n\n<button (click)=\"clearAllOptions($event)\"\n *ngIf=\"cleaner && selectedOptions.length > 0\"\n [disabled]=\"!isDropdownVisible\"\n aria-label=\"Clear all\"\n cButtonClose\n class=\"form-multi-select-selection-cleaner\"\n size=\"sm\">\n</button>\n\n<div #dropdownElement class=\"form-multi-select-dropdown\">\n <ng-template [ngIf]=\"visibleOptions>0\" [ngIfElse]=\"optionsEmpty\">\n <button (click)=\"selectAllOptions()\"\n *ngIf=\"selectAll && multiple\"\n class=\"form-multi-select-all\">\n {{selectAllLabel}}\n </button>\n <div #multiselectOptionsDiv\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'maxHeight.px': optionsMaxHeight, 'overflow': 'scroll'} : {}\"\n class=\"form-multi-select-options\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n <ng-template #optionsEmpty>\n <div class=\"form-multi-select-options-empty\">{{searchNoResultsLabel}}</div>\n </ng-template>\n</div>\n\n", styles: [":host{display:block}:host.cdk-focused{color:var(--cui-form-multi-select-focus-color, rgba(44, 56, 74, .95));background-color:var(--cui-form-multi-select-focus-bg, #fff);border-color:var(--cui-form-multi-select-focus-border-color, #6557e4);box-shadow:0 0 0 .25rem #321fdb40}:host.form-multi-select-selection-tags{padding-top:.0625rem}\n"], components: [{ type: i3.MultiSelectTagComponent, selector: "c-multi-select-tag", inputs: ["option"], outputs: ["remove"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.ButtonCloseDirective, selector: "[cButtonClose]", inputs: ["white"] }, { type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectComponent, decorators: [{
351
+ type: Component,
352
+ args: [{ selector: 'c-multi-select', exportAs: 'cMultiSelect', providers: [
353
+ MultiSelectService,
354
+ // ListenersService,
355
+ {
356
+ provide: NG_VALUE_ACCESSOR,
357
+ useExisting: forwardRef(() => MultiSelectComponent),
358
+ multi: true
359
+ }
360
+ ], template: "<div class=\"form-multi-select-selection\">\n <ng-template [ngIf]=\"selectionType==='tags'\">\n <c-multi-select-tag (remove)=\"handleTagRemove($event)\" *ngFor=\"let option of selectedOptions; index as i\"\n [option]=\"option\" tabindex=\"-1\"></c-multi-select-tag>\n </ng-template>\n <ng-template [ngIf]=\"selectionType==='text'\">\n <span class=\"bg-light\">{{selectedOptionsText}}</span>\n </ng-template>\n <ng-template [ngIf]=\"selectionType==='counter'\">\n <span>{{counterText}}</span>\n </ng-template>\n</div>\n\n<input #inputElement\n [(ngModel)]=\"inputValue\"\n [disabled]=\"!search\"\n [placeholder]=\"(selectedOptions.length === 0 && selectionType!=='counter') ? placeholder : ''\"\n autocomplete=\"off\"\n class=\"form-multi-select-search ms-1\" tabindex=\"0\"\n type=\"text\">\n\n<button (click)=\"clearAllOptions($event)\"\n *ngIf=\"cleaner && selectedOptions.length > 0\"\n [disabled]=\"!isDropdownVisible\"\n aria-label=\"Clear all\"\n cButtonClose\n class=\"form-multi-select-selection-cleaner\"\n size=\"sm\">\n</button>\n\n<div #dropdownElement class=\"form-multi-select-dropdown\">\n <ng-template [ngIf]=\"visibleOptions>0\" [ngIfElse]=\"optionsEmpty\">\n <button (click)=\"selectAllOptions()\"\n *ngIf=\"selectAll && multiple\"\n class=\"form-multi-select-all\">\n {{selectAllLabel}}\n </button>\n <div #multiselectOptionsDiv\n [ngStyle]=\"optionsMaxHeight !== 'auto' ? { 'maxHeight.px': optionsMaxHeight, 'overflow': 'scroll'} : {}\"\n class=\"form-multi-select-options\">\n <ng-content></ng-content>\n </div>\n </ng-template>\n <ng-template #optionsEmpty>\n <div class=\"form-multi-select-options-empty\">{{searchNoResultsLabel}}</div>\n </ng-template>\n</div>\n\n", styles: [":host{display:block}:host.cdk-focused{color:var(--cui-form-multi-select-focus-color, rgba(44, 56, 74, .95));background-color:var(--cui-form-multi-select-focus-bg, #fff);border-color:var(--cui-form-multi-select-focus-border-color, #6557e4);box-shadow:0 0 0 .25rem #321fdb40}:host.form-multi-select-selection-tags{padding-top:.0625rem}\n"] }]
361
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i1.FocusMonitor }, { type: i2.MultiSelectService }]; }, propDecorators: { cleaner: [{
362
+ type: Input
363
+ }], disabled: [{
364
+ type: Input
365
+ }], multiple: [{
366
+ type: Input
367
+ }], nativeName: [{
368
+ type: Input
369
+ }], nativeId: [{
370
+ type: Input
371
+ }], options: [{
372
+ type: Input
373
+ }], optionsMaxHeight: [{
374
+ type: Input
375
+ }], optionsStyle: [{
376
+ type: Input
377
+ }], placeholder: [{
378
+ type: Input
379
+ }], search: [{
380
+ type: Input
381
+ }], searchNoResultsLabel: [{
382
+ type: Input
383
+ }], selectAll: [{
384
+ type: Input
385
+ }], selectAllLabel: [{
386
+ type: Input
387
+ }], selectionType: [{
388
+ type: Input
389
+ }], selectionTypeCounterText: [{
390
+ type: Input
391
+ }], value: [{
392
+ type: Input
393
+ }], valueChange: [{
394
+ type: Output
395
+ }], visible: [{
396
+ type: Input
397
+ }], visibleChange: [{
398
+ type: Output
399
+ }], multiSelectOptions: [{
400
+ type: ContentChildren,
401
+ args: [MultiSelectOptionComponent, { descendants: true }]
402
+ }], inputElement: [{
403
+ type: ViewChild,
404
+ args: ['inputElement']
405
+ }], dropdownElement: [{
406
+ type: ViewChild,
407
+ args: ['dropdownElement']
408
+ }], hostClasses: [{
409
+ type: HostBinding,
410
+ args: ['class']
411
+ }], tabIndex: [{
412
+ type: HostBinding,
413
+ args: ['attr.tabindex']
414
+ }], onKeyUp: [{
415
+ type: HostListener,
416
+ args: ['keyup', ['$event']]
417
+ }], manage: [{
418
+ type: HostListener,
419
+ args: ['keydown', ['$event']]
420
+ }], onClick: [{
421
+ type: HostListener,
422
+ args: ['click', ['$event']]
423
+ }] } });
424
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFHTixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBNkIsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRSxPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOzs7Ozs7OztBQUV0SCw0REFBNEQ7QUFDNUQsOERBQThEO0FBQzlELHVGQUF1RjtBQUN2RixZQUFZO0FBQ1osS0FBSztBQUNMLEVBQUU7QUFDRix1REFBdUQ7QUFDdkQsK0RBQStEO0FBQy9ELDZCQUE2QjtBQUM3Qix1QkFBdUI7QUFDdkIsUUFBUTtBQUNSLGNBQWM7QUFDZCxRQUFRO0FBQ1IsS0FBSztBQWlCTCxNQUFNLE9BQU8sb0JBQW9CO0lBRy9CLFlB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QUksRUFBRTtnQkFLdkMsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNLLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUVGLFdBQVc7c0JBQXBDLFdBQVc7dUJBQUMsT0FBTztnQkFTUixRQUFRO3NCQURuQixXQUFXO3VCQUFDLGVBQWU7Z0JBV08sT0FBTztzQkFBekMsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZ0JJLE1BQU07c0JBQTFDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFBLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIsIEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLy8gaW1wb3J0IHsgTGlzdGVuZXJzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpc3RlbmVycy5zZXJ2aWNlJztcbmltcG9ydCB7IElNdWx0aVNlbGVjdCwgSU9wdGlvbiB9IGZyb20gJy4uL211bHRpLXNlbGVjdC50eXBlJztcbmltcG9ydCB7IE11bHRpU2VsZWN0U2VydmljZSB9IGZyb20gJy4uL211bHRpLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vbXVsdGktc2VsZWN0LW9wdGlvbi9tdWx0aS1zZWxlY3Qtb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdE5hdGl2ZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL211bHRpLXNlbGVjdC1uYXRpdmUtc2VsZWN0L211bHRpLXNlbGVjdC1uYXRpdmUtc2VsZWN0LmNvbXBvbmVudCc7XG5cbi8vIGNvbnN0IGZsYXR0ZW5BcnJheSA9IChvcHRpb25zOiBJT3B0aW9uW10pOiBJT3B0aW9uW10gPT4ge1xuLy8gICByZXR1cm4gb3B0aW9ucy5yZWR1Y2UoKGFjYzogSU9wdGlvbltdLCB2YWw6IElPcHRpb24pID0+IHtcbi8vICAgICByZXR1cm4gYWNjLmNvbmNhdChBcnJheS5pc0FycmF5KHZhbC5vcHRpb25zKSA/IGZsYXR0ZW5BcnJheSh2YWwub3B0aW9ucykgOiB2YWwpO1xuLy8gICB9LCBbXSk7XG4vLyB9O1xuLy9cbi8vIGNvbnN0IGdldFNlbGVjdGVkT3B0aW9ucyA9IChvcHRpb25zOiBJT3B0aW9uW10pID0+IHtcbi8vICAgcmV0dXJuIGZsYXR0ZW5BcnJheShvcHRpb25zKS5maWx0ZXIoKG9wdGlvbjogSU9wdGlvbikgPT4ge1xuLy8gICAgIGlmIChvcHRpb24uc2VsZWN0ZWQpIHtcbi8vICAgICAgIHJldHVybiBvcHRpb247XG4vLyAgICAgfVxuLy8gICAgIHJldHVybjtcbi8vICAgfSk7XG4vLyB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLW11bHRpLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjTXVsdGlTZWxlY3QnLFxuICBwcm92aWRlcnM6IFtcbiAgICBNdWx0aVNlbGVjdFNlcnZpY2UsXG4gICAgLy8gTGlzdGVuZXJzU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE11bHRpU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgSU11bHRpU2VsZWN0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIG11bHRpU2VsZWN0U2VydmljZTogTXVsdGlTZWxlY3RTZXJ2aWNlLFxuICAgIC8vIHByaXZhdGUgbGlzdGVuZXJzU2VydmljZTogTGlzdGVuZXJzU2VydmljZVxuICApIHt9XG5cbiAgb25DaGFuZ2U6IGFueSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiAoc3RyaW5nIHwgc3RyaW5nW10pKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX211bHRpcGxlOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xuXG4gIEBJbnB1dCgpIGNsZWFuZXIgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgfVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2V0IG11bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fbXVsdGlwbGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIGdldCBtdWx0aXBsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XG4gIH1cbiAgcHJpdmF0ZSBfbXVsdGlwbGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSBuYXRpdmVOYW1lID0gJyc7XG4gIEBJbnB1dCgpIG5hdGl2ZUlkID0gJyc7XG4gIEBJbnB1dCgpIG9wdGlvbnMgPSBbXTtcbiAgQElucHV0KCkgb3B0aW9uc01heEhlaWdodCA9ICdhdXRvJztcbiAgQElucHV0KCkgb3B0aW9uc1N0eWxlOiAnY2hlY2tib3gnIHwgJ3RleHQnID0gJ2NoZWNrYm94JztcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnU2VsZWN0Li4uJztcbiAgQElucHV0KCkgc2VhcmNoID0gdHJ1ZTtcbiAgQElucHV0KCkgc2VhcmNoTm9SZXN1bHRzTGFiZWwgPSAnbm8gaXRlbXMnO1xuICBASW5wdXQoKSBzZWxlY3RBbGwgPSB0cnVlO1xuICBASW5wdXQoKSBzZWxlY3RBbGxMYWJlbCA9ICdTZWxlY3QgYWxsIG9wdGlvbnMnO1xuICBASW5wdXQoKSBzZWxlY3Rpb25UeXBlOiAnY291bnRlcicgfCAndGFncycgfCAndGV4dCcgPSAndGFncyc7XG4gIEBJbnB1dCgpIHNlbGVjdGlvblR5cGVDb3VudGVyVGV4dDogc3RyaW5nID0gJ2l0ZW0ocykgc2VsZWN0ZWQnO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gWy4uLnZhbHVlXSA6IFt2YWx1ZSA/PyAnJ107XG4gICAgaWYgKHRoaXMuX3ZhbHVlLnRvU3RyaW5nKCkgIT09IG5ld1ZhbHVlLnRvU3RyaW5nKCkpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLnVwZGF0ZU5hdGl2ZVNlbGVjdCgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubXVsdGlwbGUgPyBbLi4udGhpcy5fdmFsdWVdIDogdGhpcy5fdmFsdWVbMF0/LnRvU3RyaW5nKCkgPz8gJyc7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZ1tdID0gWycnXTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IHN0cmluZ1tdPigpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB2aXNpYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fdmlzaWJsZSkge1xuICAgICAgdGhpcy5fdmlzaWJsZSA9IG5ld1ZhbHVlO1xuICAgICAgdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2UudG9nZ2xlVmlzaWJsZShuZXdWYWx1ZSk7XG4gICAgfVxuICB9XG4gIGdldCB2aXNpYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xuICB9XG4gIHByaXZhdGUgX3Zpc2libGUgPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBpc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuXG4gIGdldCBzZWxlY3RlZE9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkT3B0aW9ucztcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RlZE9wdGlvbnM6IGFueVtdID0gW107XG5cbiAgZ2V0IHNlbGVjdGVkT3B0aW9uc1RleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24ubGFiZWwpLmpvaW4oJywgJyk7XG4gIH1cblxuICBnZXQgY291bnRlclRleHQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aH0gJHt0aGlzLnNlbGVjdGlvblR5cGVDb3VudGVyVGV4dH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBtdWx0aXNlbGVjdFN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIG11bHRpc2VsZWN0VmlzaWJsZVN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBtdWx0aVNlbGVjdE9wdGlvbnNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTXVsdGlTZWxlY3RPcHRpb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgbXVsdGlTZWxlY3RPcHRpb25zITogUXVlcnlMaXN0PE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50PjtcblxuICBwcml2YXRlIGxpc3RLZXlNYW5hZ2VyITogRm9jdXNLZXlNYW5hZ2VyPE11bHRpU2VsZWN0T3B0aW9uQ29tcG9uZW50PjtcblxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdkcm9wZG93bkVsZW1lbnQnKSBkcm9wZG93bkVsZW1lbnQhOiBFbGVtZW50UmVmO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb3JtLW11bHRpLXNlbGVjdCc6IHRydWUsXG4gICAgICAnZm9ybS1tdWx0aS1zZWxlY3Qtc2VsZWN0aW9uLXRhZ3MnOiB0aGlzLnNlbGVjdGlvblR5cGUgPT09ICd0YWdzJyxcbiAgICAgIHNob3c6IHRoaXMudmlzaWJsZVxuICAgIH07XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwcml2YXRlIGdldCB0YWJJbmRleCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGFiSW5kZXg7XG4gIH1cbiAgcHJpdmF0ZSBzZXQgdGFiSW5kZXgodmFsdWUpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3RhYkluZGV4ID0gdGhpcy5fZGlzYWJsZWQgfHwgdGhpcy5zZWFyY2ggPyAnLTEnIDogdmFsdWUgPT09IG51bGwgPyBudWxsIDogJzAnO1xuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgX3RhYkluZGV4OiBzdHJpbmcgfCBudWxsID0gJy0xJztcblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pIG9uS2V5VXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ2tleXVwJywgJGV2ZW50LmtleSk7XG4gICAgaWYgKCRldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9ICcnO1xuICAgICAgdGhpcy5zZXRGb2N1cygpO1xuICAgICAgLy8gdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5pbnB1dEVsZW1lbnQgPz8gdGhpcy5lbGVtZW50UmVmLCAna2V5Ym9hcmQnKTtcbiAgICB9IGVsc2UgaWYgKCRldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgIC8vIH0gZWxzZSB7XG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgICAgaWYgKCF0aGlzLnNlYXJjaCkge1xuICAgICAgICB0aGlzLnNldEZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIG1hbmFnZSgkZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBjb25zb2xlLmxvZygna2V5ZG93bicsICRldmVudC5rZXkpO1xuICAgIGlmICgkZXZlbnQua2V5ID09PSAnRW50ZXInICYmICRldmVudC50YXJnZXQgPT09IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgICB0aGlzLmxpc3RLZXlNYW5hZ2VyLm9uS2V5ZG93bigkZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKSBvbkNsaWNrKCRldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy52aXNpYmxlKSB7XG4gICAgICB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xuICAgIH1cbiAgICB0aGlzLnNldEZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgdmlzaWJsZU9wdGlvbnMgPSAwO1xuXG4gIHNldCBpbnB1dFZhbHVlKHZhbHVlKSB7XG4gICAgY29uc29sZS5sb2coJ2lucHV0VmFsdWUnLCB2YWx1ZSk7XG4gICAgdGhpcy5faW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgIC8vIHRoaXMudmlzaWJsZSA9ICEhdmFsdWUgPz8gdGhpcy52aXNpYmxlO1xuICAgIHRoaXMuZmlsdGVyT3B0aW9ucyh2YWx1ZSk7XG4gIH1cblxuICBnZXQgaW5wdXRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2lucHV0VmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIGdldCBzdWJ0cmVlRm9jdXNlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3VidHJlZUZvY3VzZWQ7XG4gIH1cblxuICBzZXQgc3VidHJlZUZvY3VzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zdWJ0cmVlRm9jdXNlZCA9IHZhbHVlO1xuICAgIHRoaXMudmlzaWJsZSA9IHZhbHVlID09PSBmYWxzZSA/IGZhbHNlIDogdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3VidHJlZUZvY3VzZWQgPSB0aGlzLmZvY3VzT3JpZ2luKG51bGwpO1xuXG4gIHByaXZhdGUgbmF0aXZlU2VsZWN0UmVmITogYW55O1xuXG4gIGZvY3VzT3JpZ2luKG9yaWdpbjogRm9jdXNPcmlnaW4pOiBib29sZWFuIHtcbiAgICBjb25zdCBmb2N1c2VkID0gISFvcmlnaW47XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gZm9jdXNlZCA/IHRoaXMuaW5wdXRWYWx1ZSA6ICcnO1xuICAgIHJldHVybiBmb2N1c2VkO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50YWJJbmRleCA9ICcwJztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubXVsdGlzZWxlY3RTdWJzY3JpYmUoZmFsc2UpO1xuICAgIC8vIHRoaXMuY2xlYXJMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYpO1xuICAgIHRoaXMuZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudmlzaWJsZU9wdGlvbnMgPSB0aGlzLm11bHRpU2VsZWN0T3B0aW9ucy5sZW5ndGg7XG4gICAgdGhpcy5tdWx0aVNlbGVjdE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uLCBpbmRleCkgPT4ge1xuICAgICAgb3B0aW9uLm9wdGlvbnNTdHlsZSA9IHRoaXMub3B0aW9uc1N0eWxlO1xuICAgIH0pO1xuICAgIHRoaXMuX3NlbGVjdGVkT3B0aW9ucyA9IHRoaXMubXVsdGlTZWxlY3RPcHRpb25zLmZpbHRlcigob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0ZWQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX3NlbGVjdGVkT3B0aW9ucy5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcbiAgICB9KTtcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5fc2VsZWN0ZWRPcHRpb25zLm1hcChpdGVtID0+IGl0ZW0udmFsdWUpO1xuXG4gICAgdGhpcy5saXN0S2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5tdWx0aVNlbGVjdE9wdGlvbnMpLndpdGhIb21lQW5kRW5kKCk7XG4gICAgdGhpcy5saXN0S2V5TWFuYWdlci5za2lwUHJlZGljYXRlKGl0ZW0gPT4gIWl0ZW0udmlzaWJsZSk7XG4gICAgdGhpcy5tdWx0aXNlbGVjdFN1YnNjcmliZSgpO1xuICAgIHRoaXMuY3JlYXRlTmF0aXZlU2VsZWN0KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gdGhpcy5zZXRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmZvY3VzTW9uaXRvclN1YnNjcmlwdGlvbiA9IHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUoKG9yaWdpbikgPT5cbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMuc3VidHJlZUZvY3VzZWQgPSB0aGlzLmZvY3VzT3JpZ2luKG9yaWdpbik7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBoYW5kbGVJbnB1dENsaWNrKCRldmVudDogTW91c2VFdmVudCkge1xuICAgIGNvbnNvbGUubG9nKCdoYW5kbGVJbnB1dENsaWNrJywgJGV2ZW50KTtcbiAgICAvLyB0aGlzLnZpc2libGUgPSAhdGhpcy52aXNpYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBtdWx0aXNlbGVjdFN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgaWYgKHN1YnNjcmliZSkge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdFZpc2libGVTdWJzY3JpcHRpb24gPSB0aGlzLm11bHRpU2VsZWN0U2VydmljZS5tdWx0aVNlbGVjdFZpc2libGUkLnN1YnNjcmliZShcbiAgICAgICAgKHZpc2libGUpID0+IHtcbiAgICAgICAgICB0aGlzLmlzRHJvcGRvd25WaXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2aXNpYmxlKTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgdGhpcy5tdWx0aXNlbGVjdFN0YXRlU3Vic2NyaXB0aW9uID0gdGhpcy5tdWx0aVNlbGVjdFNlcnZpY2UubXVsdGlTZWxlY3RTdGF0ZSQuc3Vic2NyaWJlKFxuICAgICAgICAob3B0aW9uKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbi5zZWxlY3RlZCA9PT0gdHJ1ZSAmJiAhdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5tdWx0aVNlbGVjdE9wdGlvbnNcbiAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnNlbGVjdGVkKTtcbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucy5yZXZlcnNlKCkuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoaXRlbSAhPT0gb3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5tdWx0aVNlbGVjdE9wdGlvbnMuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi5zZWxlY3RlZCk7XG4gICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuX3NlbGVjdGVkT3B0aW9ucy5tYXAoaXRlbSA9PiBpdGVtLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tdWx0aXNlbGVjdFZpc2libGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm11bHRpU2VsZWN0T3B0aW9uc1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMubXVsdGlzZWxlY3RTdGF0ZVN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBjbGVhckFsbE9wdGlvbnMoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWRPcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgaWYgKCFvcHRpb24uX2Rpc2FibGVkKSBvcHRpb24uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9KTtcbiAgICB0aGlzLnNldEZvY3VzKCk7XG4gIH1cblxuICBzZWxlY3RBbGxPcHRpb25zKCkge1xuICAgIHRoaXMubXVsdGlTZWxlY3RPcHRpb25zLmZvckVhY2goKG9wdGlvbiwgaW5kZXgpID0+IHtcbiAgICAgIGlmICghb3B0aW9uLmRpc2FibGVkKSBvcHRpb24uc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBzZXRMaXN0ZW5lcnMoKSB7XG4gIC8vICAgaWYgKHRoaXMuc2VhcmNoKSB7XG4gIC8vICAgICBjb25zdCBjb25maWdGb3JJbnB1dDogSUxpc3RlbmVyc0NvbmZpZyA9IHtcbiAgLy8gICAgICAgaG9zdEVsZW1lbnQ6IHRoaXMuaW5wdXRFbGVtZW50ID8/IHRoaXMuZWxlbWVudFJlZixcbiAgLy8gICAgICAgdHJpZ2dlcjogWydmb2N1cycsICdjbGljayddLFxuICAvLyAgICAgICBjYWxsYmFja09uOiAoKSA9PiB7XG4gIC8vICAgICAgICAgY29uc29sZS5sb2coJ2ZvY3VzIGlucHV0Jyk7XG4gIC8vICAgICAgICAgdGhpcy50YWJJbmRleCA9IG51bGw7XG4gIC8vICAgICAgICAgLy8gdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfTtcbiAgLy8gICAgIHRoaXMubGlzdGVuZXJzU2VydmljZS5zZXRMaXN0ZW5lcnMoY29uZmlnRm9ySW5wdXQpO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBjb25zdCBjb25maWdGb3JIb3N0OiBJTGlzdGVuZXJzQ29uZmlnID0ge1xuICAvLyAgICAgaG9zdEVsZW1lbnQ6IHRoaXMuZWxlbWVudFJlZixcbiAgLy8gICAgIHRyaWdnZXI6IFsnZm9jdXMnXSxcbiAgLy8gICAgIGNhbGxiYWNrT246ICgpID0+IHtcbiAgLy8gICAgICAgY29uc29sZS5sb2coJ2ZvY3VzJyk7XG4gIC8vICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAvLyAgICAgICAgIHRoaXMuc2V0Rm9jdXMoKVxuICAvLyAgICAgICB9XG4gIC8vICAgICAgIC8vIHRoaXMuaW5wdXRFbGVtZW50Py5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIC8vICAgICB9LFxuICAvLyAgICAgY2FsbGJhY2tPZmY6ICgpID0+IHtcbiAgLy8gICAgICAgY29uc29sZS5sb2coJ2JsdXInKTtcbiAgLy8gICAgIH1cbiAgLy8gICB9O1xuICAvLyAgIHRoaXMubGlzdGVuZXJzU2VydmljZS5zZXRMaXN0ZW5lcnMoY29uZmlnRm9ySG9zdCk7XG4gIC8vIH1cblxuICBwcml2YXRlIGNsZWFyTGlzdGVuZXJzKCkge1xuICAgIC8vIHRoaXMubGlzdGVuZXJzU2VydmljZS5jbGVhckxpc3RlbmVycygpO1xuICB9XG5cbiAgaGFuZGxlVGFnUmVtb3ZlKCRldmVudDogSU9wdGlvbikge1xuICAgIHRoaXMuc2V0Rm9jdXMoKTtcbiAgfVxuXG4gIHNldEZvY3VzKCkge1xuICAgIGNvbnN0IGZpcnN0U2VsZWN0ZWRPcHRpb24gPVxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMuZmluZCgoaXRlbSkgPT4gaXRlbS5zZWxlY3RlZCkgPz9cbiAgICAgIHRoaXMubXVsdGlTZWxlY3RPcHRpb25zLmZpbmQoKGl0ZW0sIGluZGV4KSA9PiBpbmRleCA9PT0gMCk7XG4gICAgaWYgKGZpcnN0U2VsZWN0ZWRPcHRpb24gJiYgdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSkge1xuICAgICAgdGhpcy5saXN0S2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGZpcnN0U2VsZWN0ZWRPcHRpb24pO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIGlmICghdGhpcy5zZWFyY2gpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLmlucHV0RWxlbWVudCA/PyB0aGlzLmVsZW1lbnRSZWYsICdwcm9ncmFtJyk7XG4gIH1cblxuICBmaWx0ZXJPcHRpb25zKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzZWFyY2hTdHJpbmcgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpID8/ICcnO1xuICAgIHRoaXMubXVsdGlTZWxlY3RPcHRpb25zPy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaWYgKCEhc2VhcmNoU3RyaW5nKSB7XG4gICAgICAgIGl0ZW0udmlzaWJsZSA9IGl0ZW0ubGFiZWw/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoU3RyaW5nKSA/PyB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlbS52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnZpc2libGVPcHRpb25zID0gdGhpcy5tdWx0aVNlbGVjdE9wdGlvbnM/LmZpbHRlcigoaXRlbSkgPT4gaXRlbS52aXNpYmxlKS5sZW5ndGg7XG4gIH1cblxuICBjcmVhdGVOYXRpdmVTZWxlY3QoKSB7XG4gICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG4gICAgY29uc3QgbmF0aXZlU2VsZWN0UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChNdWx0aVNlbGVjdE5hdGl2ZVNlbGVjdENvbXBvbmVudCk7XG4gICAgdGhpcy5uYXRpdmVTZWxlY3RSZWYgPSBuYXRpdmVTZWxlY3RSZWY7XG4gICAgdGhpcy51cGRhdGVOYXRpdmVTZWxlY3QoKTtcbiAgfVxuXG4gIHVwZGF0ZU5hdGl2ZVNlbGVjdCgpIHtcblxuICAgIGlmICghdGhpcy5uYXRpdmVTZWxlY3RSZWYpIHJldHVybjtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnNlbGVjdGVkT3B0aW9ucy5tYXAoaXRlbSA9PiB7XG4gICAgICBjb25zdCB7IHNlbGVjdGVkLCB2YWx1ZSwgbGFiZWwgfSA9IGl0ZW07XG4gICAgICByZXR1cm4geyBzZWxlY3RlZCwgdmFsdWUsIGxhYmVsIH07XG4gICAgfSk7XG5cbiAgICAvLyBjb25zdCBuYXRpdmVTZWxlY3RSZWYgPSB0aGlzLm5hdGl2ZVNlbGVjdFJlZjtcbiAgICB0aGlzLm5hdGl2ZVNlbGVjdFJlZi5pbnN0YW5jZS5tdWx0aXBsZSA9IHRoaXMubXVsdGlwbGU7XG4gICAgdGhpcy5uYXRpdmVTZWxlY3RSZWYuaW5zdGFuY2UubmFtZSA9IHRoaXMubmF0aXZlTmFtZTtcbiAgICB0aGlzLm5hdGl2ZVNlbGVjdFJlZi5pbnN0YW5jZS5mb3JtID0gdGhpcy5uYXRpdmVJZDtcbiAgICB0aGlzLm5hdGl2ZVNlbGVjdFJlZi5pbnN0YW5jZS5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLm5hdGl2ZVNlbGVjdFJlZi5pbnN0YW5jZS5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1tdWx0aS1zZWxlY3Qtc2VsZWN0aW9uXCI+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzZWxlY3Rpb25UeXBlPT09J3RhZ3MnXCI+XG4gICAgPGMtbXVsdGktc2VsZWN0LXRhZyAocmVtb3ZlKT1cImhhbmRsZVRhZ1JlbW92ZSgkZXZlbnQpXCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnM7IGluZGV4IGFzIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW29wdGlvbl09XCJvcHRpb25cIiB0YWJpbmRleD1cIi0xXCI+PC9jLW11bHRpLXNlbGVjdC10YWc+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzZWxlY3Rpb25UeXBlPT09J3RleHQnXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJiZy1saWdodFwiPnt7c2VsZWN0ZWRPcHRpb25zVGV4dH19PC9zcGFuPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2VsZWN0aW9uVHlwZT09PSdjb3VudGVyJ1wiPlxuICAgIDxzcGFuPnt7Y291bnRlclRleHR9fTwvc3Bhbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48aW5wdXQgI2lucHV0RWxlbWVudFxuICAgICAgIFsobmdNb2RlbCldPVwiaW5wdXRWYWx1ZVwiXG4gICAgICAgW2Rpc2FibGVkXT1cIiFzZWFyY2hcIlxuICAgICAgIFtwbGFjZWhvbGRlcl09XCIoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMCAmJiBzZWxlY3Rpb25UeXBlIT09J2NvdW50ZXInKSA/IHBsYWNlaG9sZGVyIDogJydcIlxuICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAgY2xhc3M9XCJmb3JtLW11bHRpLXNlbGVjdC1zZWFyY2ggbXMtMVwiIHRhYmluZGV4PVwiMFwiXG4gICAgICAgdHlwZT1cInRleHRcIj5cblxuPGJ1dHRvbiAoY2xpY2spPVwiY2xlYXJBbGxPcHRpb25zKCRldmVudClcIlxuICAgICAgICAqbmdJZj1cImNsZWFuZXIgJiYgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDBcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWlzRHJvcGRvd25WaXNpYmxlXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIkNsZWFyIGFsbFwiXG4gICAgICAgIGNCdXR0b25DbG9zZVxuICAgICAgICBjbGFzcz1cImZvcm0tbXVsdGktc2VsZWN0LXNlbGVjdGlvbi1jbGVhbmVyXCJcbiAgICAgICAgc2l6ZT1cInNtXCI+XG48L2J1dHRvbj5cblxuPGRpdiAjZHJvcGRvd25FbGVtZW50IGNsYXNzPVwiZm9ybS1tdWx0aS1zZWxlY3QtZHJvcGRvd25cIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInZpc2libGVPcHRpb25zPjBcIiBbbmdJZkVsc2VdPVwib3B0aW9uc0VtcHR5XCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwic2VsZWN0QWxsT3B0aW9ucygpXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2VsZWN0QWxsICYmIG11bHRpcGxlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1tdWx0aS1zZWxlY3QtYWxsXCI+XG4gICAgICB7e3NlbGVjdEFsbExhYmVsfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2ICNtdWx0aXNlbGVjdE9wdGlvbnNEaXZcbiAgICAgICAgIFtuZ1N0eWxlXT1cIm9wdGlvbnNNYXhIZWlnaHQgIT09ICdhdXRvJyA/IHsgJ21heEhlaWdodC5weCc6IG9wdGlvbnNNYXhIZWlnaHQsICdvdmVyZmxvdyc6ICdzY3JvbGwnfSA6IHt9XCJcbiAgICAgICAgIGNsYXNzPVwiZm9ybS1tdWx0aS1zZWxlY3Qtb3B0aW9uc1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI29wdGlvbnNFbXB0eT5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1tdWx0aS1zZWxlY3Qtb3B0aW9ucy1lbXB0eVwiPnt7c2VhcmNoTm9SZXN1bHRzTGFiZWx9fTwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG5cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/forms";
5
+ export class MultiSelectNativeSelectComponent {
6
+ constructor(changeDetectorRef) {
7
+ this.changeDetectorRef = changeDetectorRef;
8
+ this.form = '';
9
+ this.id = '';
10
+ }
11
+ }
12
+ MultiSelectNativeSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectNativeSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13
+ MultiSelectNativeSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MultiSelectNativeSelectComponent, selector: "c-multi-select-native-select", inputs: { form: "form", id: "id", multiple: "multiple", name: "name", options: "options" }, ngImport: i0, template: "<select [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\" [id]=\"id\">\n <option\n *ngFor=\"let option of options\"\n [label]=\"option.label\"\n [selected]=\"option.selected\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n</select>\n\n", styles: [":host{display:none}\n"], directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectNativeSelectComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'c-multi-select-native-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<select [multiple]=\"multiple\" [name]=\"name\" style=\"display: none\" tabindex=\"-1\" [id]=\"id\">\n <option\n *ngFor=\"let option of options\"\n [label]=\"option.label\"\n [selected]=\"option.selected\"\n [value]=\"option.value\"\n tabindex=\"-1\"\n ></option>\n</select>\n\n", styles: [":host{display:none}\n"] }]
17
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { form: [{
18
+ type: Input
19
+ }], id: [{
20
+ type: Input
21
+ }], multiple: [{
22
+ type: Input
23
+ }], name: [{
24
+ type: Input
25
+ }], options: [{
26
+ type: Input
27
+ }] } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QvbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUTdGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFRM0MsWUFDUyxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVBwQyxTQUFJLEdBQVksRUFBRSxDQUFDO1FBQ25CLE9BQUUsR0FBWSxFQUFFLENBQUM7SUFPdEIsQ0FBQzs7NkhBVk0sZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsZ0tDUjdDLHlTQVVBOzJGREZhLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07d0dBSXRDLElBQUk7c0JBQVosS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LW5hdGl2ZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3QtbmF0aXZlLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdE5hdGl2ZVNlbGVjdENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZm9ybT86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBpZD86IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBtdWx0aXBsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxufVxuIiwiPHNlbGVjdCBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBbbmFtZV09XCJuYW1lXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgdGFiaW5kZXg9XCItMVwiIFtpZF09XCJpZFwiPlxuICA8b3B0aW9uXG4gICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCJcbiAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICBbc2VsZWN0ZWRdPVwib3B0aW9uLnNlbGVjdGVkXCJcbiAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbiAgPjwvb3B0aW9uPlxuPC9zZWxlY3Q+XG5cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Component, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MultiSelectOptgroupLabelComponent {
4
+ constructor() { }
5
+ get hostClasses() {
6
+ return {
7
+ 'form-multi-select-optgroup-label': true
8
+ };
9
+ }
10
+ }
11
+ MultiSelectOptgroupLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectOptgroupLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ MultiSelectOptgroupLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MultiSelectOptgroupLabelComponent, selector: "c-multi-select-optgroup-label", host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectOptgroupLabelComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'c-multi-select-optgroup-label', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
16
+ }], ctorParameters: function () { return []; }, propDecorators: { hostClasses: [{
17
+ type: HostBinding,
18
+ args: ['class']
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGdyb3VwLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC1vcHRncm91cC9tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAtbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGdyb3VwL211bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPdkQsTUFBTSxPQUFPLGlDQUFpQztJQUU1QyxnQkFBZ0IsQ0FBQztJQUVqQixJQUEwQixXQUFXO1FBQ25DLE9BQU87WUFDTCxrQ0FBa0MsRUFBRSxJQUFJO1NBQ3pDLENBQUM7SUFDSixDQUFDOzs4SEFSVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw0SENQOUMsNkJBQ0E7MkZETWEsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLCtCQUErQjswRUFRZixXQUFXO3NCQUFwQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtbXVsdGktc2VsZWN0LW9wdGdyb3VwLWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0T3B0Z3JvdXBMYWJlbENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnZm9ybS1tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAtbGFiZWwnOiB0cnVlXG4gICAgfTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,25 @@
1
+ import { Component, HostBinding, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./multi-select-optgroup-label.component";
4
+ import * as i2 from "@angular/common";
5
+ export class MultiSelectOptgroupComponent {
6
+ get hostClasses() {
7
+ return {
8
+ 'form-multi-select-options': true
9
+ };
10
+ }
11
+ }
12
+ MultiSelectOptgroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectOptgroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ MultiSelectOptgroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MultiSelectOptgroupComponent, selector: "c-multi-select-optgroup", inputs: { label: "label", disabled: "disabled" }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0, template: "<c-multi-select-optgroup-label *ngIf=\"label\">{{label}}</c-multi-select-optgroup-label>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], components: [{ type: i1.MultiSelectOptgroupLabelComponent, selector: "c-multi-select-optgroup-label" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MultiSelectOptgroupComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'c-multi-select-optgroup', template: "<c-multi-select-optgroup-label *ngIf=\"label\">{{label}}</c-multi-select-optgroup-label>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
17
+ }], propDecorators: { label: [{
18
+ type: Input
19
+ }], disabled: [{
20
+ type: Input
21
+ }], hostClasses: [{
22
+ type: HostBinding,
23
+ args: ['class']
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW9wdGdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC1vcHRncm91cC9tdWx0aS1zZWxlY3Qtb3B0Z3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LW9wdGdyb3VwL211bHRpLXNlbGVjdC1vcHRncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPOUQsTUFBTSxPQUFPLDRCQUE0QjtJQUt2QyxJQUEwQixXQUFXO1FBQ25DLE9BQU87WUFDTCwyQkFBMkIsRUFBRSxJQUFJO1NBQ2xDLENBQUM7SUFDSixDQUFDOzt5SEFUVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qix3S0NQekMsdUhBRUE7MkZES2EsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFNMUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRW9CLFdBQVc7c0JBQXBDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtbXVsdGktc2VsZWN0LW9wdGdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1vcHRncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL211bHRpLXNlbGVjdC1vcHRncm91cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0T3B0Z3JvdXBDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW47IC8vdG9kb1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdmb3JtLW11bHRpLXNlbGVjdC1vcHRpb25zJzogdHJ1ZVxuICAgIH07XG4gIH1cbn1cbiIsIjxjLW11bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbCAqbmdJZj1cImxhYmVsXCI+e3tsYWJlbH19PC9jLW11bHRpLXNlbGVjdC1vcHRncm91cC1sYWJlbD5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==