ets-fe-ng-sdk 17.0.309 → 17.0.310

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.
@@ -20,4 +20,4 @@ export class BtnLg {
20
20
  this.extra = extra;
21
21
  }
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2J0bi9idG4ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEZBLE1BQU0sT0FBTyxHQUFHO0lBaUJkLFlBQ0UsR0FBVyxFQUNYLE1BQXVDLEVBQ3ZDLElBQWMsRUFDZCxJQUFlLEVBQ2YsR0FBWSxFQUNaLElBQWEsRUFDYixZQUFzQixFQUN0QixPQUFpQixFQUNqQixRQUFrQjtRQUVsQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLEtBQUs7SUFNaEIsWUFDRSxHQUFXLEVBQ1gsS0FBaUMsRUFDakMsTUFBWSxFQUNaLEdBQVksRUFDWixLQUFNO1FBRU4sSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJS1ZQIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcblxuZXhwb3J0IHR5cGUgQnRuVHlwZSA9XG4gIHwgJ2NsZWFyJ1xuICB8ICdjbG9zZSdcbiAgfCAnZGFuZ2VyLW91dGxpbmUnXG4gIHwgJ2RhbmdlcidcbiAgfCAnZGFyay1vdXRsaW5lJ1xuICB8ICdkYXJrJ1xuICB8ICdvdXRsaW5lLW5tJ1xuICB8ICdvdXRsaW5lJ1xuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3N1Y2Nlc3MnO1xuZXhwb3J0IHR5cGUgQnRuR3JvdXAgPVxuICB8ICdhZGQnXG4gIHwgJ2Nsb25lJ1xuICB8ICdjbG9zZSdcbiAgfCAnY3JlYXRlJ1xuICB8ICdzYXZlJ1xuICB8ICdkZWxldGUnXG4gIHwgJ2Rvd25sb2FkJ1xuICB8ICdlZGl0J1xuICB8ICdsaW5rJ1xuICB8ICdzZWFyY2gnXG4gIHwgJ3Nob3cnXG4gIHwgJ3N1Ym1pdCdcbiAgfCAndXBsb2FkJztcbmV4cG9ydCB0eXBlIEljb25UeXBlID1cbiAgfCAnYWNjZXNzJ1xuICB8ICdhZGQnXG4gIHwgJ2FkanVzdCdcbiAgfCAnYXJyb3doJ1xuICB8ICdiYW5rJ1xuICB8ICdjYWxlbmRhcidcbiAgfCAnY2FuY2VsJyBcbiAgfCAnY2FzaCdcbiAgfCAnY2hlY2tlZCdcbiAgfCAnY2hlY2tsaXN0J1xuICB8ICdjbG9uZSdcbiAgfCAnY2xvc2UnXG4gIHwgJ2NvZ3MnXG4gIHwgJ2RlbGV0ZSdcbiAgfCAnZG93bmxvYWQnXG4gIHwgJ2Ryb3Bkb3duJ1xuICB8ICdlZGl0J1xuICB8ICdlcnJvcidcbiAgfCAnZXhwb3J0J1xuICB8ICdmaWxlJ1xuICB8ICdmaWx0ZXInXG4gIHwgJ2dlbmVyYXRlJ1xuICB8ICdndWFyZCdcbiAgfCAnaGlzdG9yeSdcbiAgfCAnaG9tZSdcbiAgfCAnaW1wb3J0J1xuICB8ICdpbmZvJ1xuICB8ICdsaW5rJ1xuICB8ICdsb2NrJ1xuICB8ICduZXh0J1xuICB8ICdwZW4nXG4gIHwgJ3BlcmNlbnQnXG4gIHwgJ3BsYXknXG4gIHwgJ3Bvc3QnXG4gIHwgJ3ByZXZpb3VzJ1xuICB8ICdyZWNlaXB0J1xuICB8ICdyZWN5Y2xlJ1xuICB8ICdyZWZyZXNoJ1xuICB8ICdyZW5ldydcbiAgfCAnc2F2ZSdcbiAgfCAnc2VhcmNoJ1xuICB8ICdzaGFrZSdcbiAgfCAnc2hvdydcbiAgfCAnc25vb3plJ1xuICB8ICdzcG9vbidcbiAgfCAndGFibGUnXG4gIHwgJ3RhZydcbiAgfCAndHJ1Y2snXG4gIHwgJ3VubG9jaydcbiAgfCAndXBsb2FkJ1xuICB8ICd1c2VycydcbiAgfCAndmlldyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJ0biBleHRlbmRzIElLVlAge1xuICBhY3Rpb24/OiAoYXJnPykgPT4gdm9pZDtcbiAgZ3JvdXA/OiBCdG5Hcm91cDtcbiAgaGVscD86IHN0cmluZztcbiAgaWNvbj86IEljb25UeXBlO1xuICBpY29uQnRuPzogYm9vbGVhbjtcbiAgbWluaT86IGJvb2xlYW47XG4gIHNob3dIZWxwSWNvbj86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICB0eXBlPzogQnRuVHlwZTtcbiAgZXh0cmE/OiBhbnk7XG59XG5leHBvcnQgY2xhc3MgQnRuPFREYXRhID0gYW55PiBpbXBsZW1lbnRzIElCdG4ge1xuICBjbHM/OiBzdHJpbmc7XG4gIGdyb3VwPzogQnRuR3JvdXA7XG4gIGhlbHA/OiBzdHJpbmc7XG4gIGljb24/OiBJY29uVHlwZTtcbiAgbWluaT86IGJvb2xlYW47XG4gIGljb25CdG4/OiBib29sZWFuO1xuICByZWFkb25seSBhY3Rpb24/OiAoZGF0YT86IFREYXRhLCAuLi5hcmdzKSA9PiB2b2lkO1xuICByZWFkb25seSBrZXk/OiBzdHJpbmc7XG4gIHNob3dIZWxwSWNvbj86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICByb3V0ZT86IHN0cmluZztcbiAgdHlwZT86IEJ0blR5cGU7XG4gIGV4dHJhPzogYW55O1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGtleTogc3RyaW5nLFxuICAgIGFjdGlvbj86IChkYXRhPzogVERhdGEsIC4uLmFyZ3MpID0+IGFueSxcbiAgICB0eXBlPzogQnRuVHlwZSxcbiAgICBpY29uPzogSWNvblR5cGUsXG4gICAgY2xzPzogc3RyaW5nLFxuICAgIGhlbHA/OiBzdHJpbmcsXG4gICAgc2hvd0hlbHBJY29uPzogYm9vbGVhbixcbiAgICBsb2FkaW5nPzogYm9vbGVhbixcbiAgICBkaXNhYmxlZD86IGJvb2xlYW4sXG4gICkge1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5pY29uID0gaWNvbjtcbiAgICB0aGlzLmNscyA9IGNscztcbiAgICB0aGlzLmhlbHAgPSBoZWxwO1xuICAgIHRoaXMuc2hvd0hlbHBJY29uID0gc2hvd0hlbHBJY29uO1xuICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkO1xuICB9XG59XG5leHBvcnQgY2xhc3MgQnRuTGcgaW1wbGVtZW50cyBJQnRuIHtcbiAgcmVhZG9ubHkga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyO1xuICByZWFkb25seSBhY3Rpb24/OiAoKSA9PiB2b2lkO1xuICBjbHM/OiBzdHJpbmc7XG4gIGV4dHJhPzogYW55O1xuICBjb25zdHJ1Y3RvcihcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZT86IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIsXG4gICAgYWN0aW9uPzogYW55LFxuICAgIGNscz86IHN0cmluZyxcbiAgICBleHRyYT8sXG4gICkge1xuICAgIHRoaXMua2V5ID0ga2V5O1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSB8fCAnLSc7XG4gICAgdGhpcy5hY3Rpb24gPSBhY3Rpb247XG4gICAgdGhpcy5jbHMgPSBjbHM7XG4gICAgdGhpcy5leHRyYSA9IGV4dHJhO1xuICB9XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2J0bi9idG4ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0dBLE1BQU0sT0FBTyxHQUFHO0lBaUJkLFlBQ0UsR0FBVyxFQUNYLE1BQXVDLEVBQ3ZDLElBQWMsRUFDZCxJQUFlLEVBQ2YsR0FBWSxFQUNaLElBQWEsRUFDYixZQUFzQixFQUN0QixPQUFpQixFQUNqQixRQUFrQjtRQUVsQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLEtBQUs7SUFNaEIsWUFDRSxHQUFXLEVBQ1gsS0FBaUMsRUFDakMsTUFBWSxFQUNaLEdBQVksRUFDWixLQUFNO1FBRU4sSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJS1ZQIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2luZGV4Lm1vZGVsJztcblxuZXhwb3J0IHR5cGUgQnRuVHlwZSA9XG4gIHwgJ2NsZWFyJ1xuICB8ICdjbG9zZSdcbiAgfCAnZGFuZ2VyLW91dGxpbmUnXG4gIHwgJ2RhbmdlcidcbiAgfCAnZGFyay1vdXRsaW5lJ1xuICB8ICdkYXJrJ1xuICB8ICdvdXRsaW5lLW5tJ1xuICB8ICdvdXRsaW5lJ1xuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3N1Y2Nlc3MnO1xuZXhwb3J0IHR5cGUgQnRuR3JvdXAgPVxuICB8ICdhZGQnXG4gIHwgJ2Nsb25lJ1xuICB8ICdjbG9zZSdcbiAgfCAnY3JlYXRlJ1xuICB8ICdzYXZlJ1xuICB8ICdkZWxldGUnXG4gIHwgJ2Rvd25sb2FkJ1xuICB8ICdlZGl0J1xuICB8ICdsaW5rJ1xuICB8ICdzZWFyY2gnXG4gIHwgJ3Nob3cnXG4gIHwgJ3N1Ym1pdCdcbiAgfCAndXBsb2FkJztcbmV4cG9ydCB0eXBlIEljb25UeXBlID1cbiAgfCAnYWNjZXNzJ1xuICB8ICdhZGQnXG4gIHwgJ2FkanVzdCdcbiAgfCAnYXJyb3doJ1xuICB8ICdiYW5rJ1xuICB8ICdjYWxlbmRhcidcbiAgfCAnY2FuY2VsJyBcbiAgfCAnY2FzaCdcbiAgfCAnY2hlY2tlZCdcbiAgfCAncGF1c2UnXG4gIHwgJ2NoZWNrbGlzdCdcbiAgfCAnY2xvbmUnXG4gIHwgJ2Nsb3NlJ1xuICB8ICdzdG9wJ1xuICB8ICdjb2dzJ1xuICB8ICdkZWxldGUnXG4gIHwgJ2Rvd25sb2FkJ1xuICB8ICdkcm9wZG93bidcbiAgfCAnZWRpdCdcbiAgfCAnZXJyb3InXG4gIHwgJ2V4cG9ydCdcbiAgfCAnZmlsZSdcbiAgfCAnZmlsdGVyJ1xuICB8ICdnZW5lcmF0ZSdcbiAgfCAnZ3VhcmQnXG4gIHwgJ2hpc3RvcnknXG4gIHwgJ2hvbWUnXG4gIHwgJ2ltcG9ydCdcbiAgfCAnaW5mbydcbiAgfCAnbGluaydcbiAgfCAnbG9jaydcbiAgfCAnbmV4dCdcbiAgfCAncGVuJ1xuICB8ICdwZXJjZW50J1xuICB8ICdwbGF5J1xuICB8ICdwb3N0J1xuICB8ICdwcmV2aW91cydcbiAgfCAncmVjZWlwdCdcbiAgfCAncmVjeWNsZSdcbiAgfCAncmVmcmVzaCdcbiAgfCAncmVuZXcnXG4gIHwgJ3NhdmUnXG4gIHwgJ3NlYXJjaCdcbiAgfCAnc2hha2UnXG4gIHwgJ3Nob3cnXG4gIHwgJ3Nub296ZSdcbiAgfCAnc3Bvb24nXG4gIHwgJ3RhYmxlJ1xuICB8ICd0YWcnXG4gIHwgJ3RydWNrJ1xuICB8ICd1bmxvY2snXG4gIHwgJ3VwbG9hZCdcbiAgfCAndXNlcnMnXG4gIHwgJ3ZpZXcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElCdG4gZXh0ZW5kcyBJS1ZQIHtcbiAgYWN0aW9uPzogKGFyZz8pID0+IHZvaWQ7XG4gIGdyb3VwPzogQnRuR3JvdXA7XG4gIGhlbHA/OiBzdHJpbmc7XG4gIGljb24/OiBJY29uVHlwZTtcbiAgaWNvbkJ0bj86IGJvb2xlYW47XG4gIG1pbmk/OiBib29sZWFuO1xuICBzaG93SGVscEljb24/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgdHlwZT86IEJ0blR5cGU7XG4gIGV4dHJhPzogYW55O1xufVxuZXhwb3J0IGNsYXNzIEJ0bjxURGF0YSA9IGFueT4gaW1wbGVtZW50cyBJQnRuIHtcbiAgY2xzPzogc3RyaW5nO1xuICBncm91cD86IEJ0bkdyb3VwO1xuICBoZWxwPzogc3RyaW5nO1xuICBpY29uPzogSWNvblR5cGU7XG4gIG1pbmk/OiBib29sZWFuO1xuICBpY29uQnRuPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgYWN0aW9uPzogKGRhdGE/OiBURGF0YSwgLi4uYXJncykgPT4gdm9pZDtcbiAgcmVhZG9ubHkga2V5Pzogc3RyaW5nO1xuICBzaG93SGVscEljb24/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHR5cGU/OiBCdG5UeXBlO1xuICBleHRyYT86IGFueTtcbiAgbG9hZGluZz86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBrZXk6IHN0cmluZyxcbiAgICBhY3Rpb24/OiAoZGF0YT86IFREYXRhLCAuLi5hcmdzKSA9PiBhbnksXG4gICAgdHlwZT86IEJ0blR5cGUsXG4gICAgaWNvbj86IEljb25UeXBlLFxuICAgIGNscz86IHN0cmluZyxcbiAgICBoZWxwPzogc3RyaW5nLFxuICAgIHNob3dIZWxwSWNvbj86IGJvb2xlYW4sXG4gICAgbG9hZGluZz86IGJvb2xlYW4sXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuLFxuICApIHtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLmFjdGlvbiA9IGFjdGlvbjtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuaWNvbiA9IGljb247XG4gICAgdGhpcy5jbHMgPSBjbHM7XG4gICAgdGhpcy5oZWxwID0gaGVscDtcbiAgICB0aGlzLnNob3dIZWxwSWNvbiA9IHNob3dIZWxwSWNvbjtcbiAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgIHRoaXMuZGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgfVxufVxuZXhwb3J0IGNsYXNzIEJ0bkxnIGltcGxlbWVudHMgSUJ0biB7XG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbiB8IG51bWJlcjtcbiAgcmVhZG9ubHkgYWN0aW9uPzogKCkgPT4gdm9pZDtcbiAgY2xzPzogc3RyaW5nO1xuICBleHRyYT86IGFueTtcbiAgY29uc3RydWN0b3IoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU/OiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyLFxuICAgIGFjdGlvbj86IGFueSxcbiAgICBjbHM/OiBzdHJpbmcsXG4gICAgZXh0cmE/LFxuICApIHtcbiAgICB0aGlzLmtleSA9IGtleTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgJy0nO1xuICAgIHRoaXMuYWN0aW9uID0gYWN0aW9uO1xuICAgIHRoaXMuY2xzID0gY2xzO1xuICAgIHRoaXMuZXh0cmEgPSBleHRyYTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { faPaperPlane } from '@fortawesome/free-regular-svg-icons';
3
- import { faArrowLeft, faArrowRight, faCheck, faClone, faCogs, faDownload, faEdit, faEye, faFile, faFileExport, faFileImport, faHistory, faListAlt, faLock, faMoneyCheck, faPen, faPenFancy, faPlus, faRecycle, faSave, faSearch, faSlidersH, faTrash, faUnlock, faFilter, faUpload, faUserShield, faHome, faUsers, faBellSlash, faInfoCircle, faTruck, faTag, faReceipt, faBank, faArrowsH, faPlay, faPercent, faCancel, faCircleExclamation, faHandshake, faTable, faSpoon, } from '@fortawesome/free-solid-svg-icons';
3
+ import { faArrowLeft, faArrowRight, faCheck, faClone, faCogs, faDownload, faEdit, faEye, faFile, faFileExport, faFileImport, faHistory, faListAlt, faLock, faMoneyCheck, faPen, faPenFancy, faPlus, faRecycle, faSave, faSearch, faSlidersH, faTrash, faUnlock, faFilter, faUpload, faUserShield, faHome, faUsers, faBellSlash, faInfoCircle, faTruck, faTag, faReceipt, faBank, faArrowsH, faPlay, faPercent, faCancel, faCircleExclamation, faHandshake, faTable, faSpoon, faStop, faPause, } from '@fortawesome/free-solid-svg-icons';
4
4
  import { EUA } from '../../../Reusables/reusable-pages/user-activity/ua-extras/user-activity.model';
5
5
  import { FormGroup } from '@angular/forms';
6
6
  import { merge, take, tap, timer } from 'rxjs';
@@ -43,169 +43,173 @@ export class BtnService {
43
43
  _mclass: 'btn btn-lg btn-success w-100',
44
44
  },
45
45
  };
46
- this.getIcon = (iconType) => {
47
- const index = {
48
- add: {
49
- icon: faPlus,
50
- },
51
- adjust: {
52
- icon: faSlidersH,
53
- },
54
- calendar: {
55
- iconString: 'fas fa-calendar-alt',
56
- },
57
- cash: {
58
- icon: faMoneyCheck,
59
- },
60
- cancel: {
61
- icon: faCancel,
62
- },
63
- checked: {
64
- icon: faCheck,
65
- },
66
- checklist: {
67
- icon: faListAlt,
68
- },
69
- clone: {
70
- icon: faClone,
71
- },
72
- close: {
73
- iconString: 'fa fa-close',
74
- },
75
- cogs: {
76
- icon: faCogs,
77
- },
78
- delete: {
79
- icon: faTrash,
80
- },
81
- download: {
82
- icon: faDownload,
83
- },
84
- dropdown: {
85
- iconPosition: 'right',
86
- iconString: 'fa fa-chevron-down',
87
- },
88
- edit: {
89
- icon: faEdit,
90
- },
91
- export: {
92
- icon: faFileExport,
93
- },
94
- file: {
95
- icon: faFile,
96
- },
97
- filter: {
98
- icon: faFilter,
99
- },
100
- generate: {
101
- icon: faPenFancy,
102
- },
103
- guard: {
104
- icon: faUserShield,
105
- },
106
- access: {
107
- icon: faUserShield,
108
- },
109
- history: {
110
- icon: faHistory,
111
- },
112
- home: {
113
- icon: faHome,
114
- },
115
- import: {
116
- icon: faFileImport,
117
- },
118
- info: {
119
- icon: faInfoCircle,
120
- },
121
- link: {
122
- iconString: 'fas fa-chain',
123
- },
124
- lock: {
125
- icon: faLock,
126
- },
127
- next: {
128
- icon: faArrowRight,
129
- iconPosition: 'right',
130
- },
131
- pen: {
132
- icon: faPen,
133
- },
134
- post: {
135
- icon: faPaperPlane,
136
- },
137
- previous: {
138
- icon: faArrowLeft,
139
- },
140
- renew: {
141
- icon: faRecycle,
142
- },
143
- save: {
144
- icon: faSave,
145
- },
146
- search: {
147
- icon: faSearch,
148
- },
149
- show: {
150
- icon: faEye,
151
- },
152
- view: {
153
- icon: faEye,
154
- },
155
- snooze: {
156
- icon: faBellSlash,
157
- },
158
- upload: {
159
- icon: faUpload,
160
- },
161
- unlock: {
162
- icon: faUnlock,
163
- },
164
- users: {
165
- icon: faUsers,
166
- },
167
- recycle: {
168
- icon: faRecycle,
169
- },
170
- refresh: {
171
- iconString: 'fa fa-refresh',
172
- },
173
- truck: {
174
- icon: faTruck,
175
- },
176
- tag: {
177
- icon: faTag,
178
- },
179
- receipt: {
180
- icon: faReceipt,
181
- },
182
- bank: {
183
- icon: faBank,
184
- },
185
- arrowh: {
186
- icon: faArrowsH,
187
- },
188
- play: {
189
- icon: faPlay,
190
- },
191
- percent: {
192
- icon: faPercent,
193
- },
194
- shake: {
195
- icon: faHandshake,
196
- },
197
- error: {
198
- icon: faCircleExclamation,
199
- },
200
- table: {
201
- icon: faTable,
202
- },
203
- spoon: {
204
- icon: faSpoon,
205
- },
206
- };
207
- return index[iconType];
46
+ this.buttonIconIndex = {
47
+ add: {
48
+ icon: faPlus,
49
+ },
50
+ adjust: {
51
+ icon: faSlidersH,
52
+ },
53
+ calendar: {
54
+ iconString: 'fas fa-calendar-alt',
55
+ },
56
+ cash: {
57
+ icon: faMoneyCheck,
58
+ },
59
+ cancel: {
60
+ icon: faCancel,
61
+ },
62
+ checked: {
63
+ icon: faCheck,
64
+ },
65
+ checklist: {
66
+ icon: faListAlt,
67
+ },
68
+ clone: {
69
+ icon: faClone,
70
+ },
71
+ close: {
72
+ iconString: 'fa fa-close',
73
+ },
74
+ cogs: {
75
+ icon: faCogs,
76
+ },
77
+ delete: {
78
+ icon: faTrash,
79
+ },
80
+ download: {
81
+ icon: faDownload,
82
+ },
83
+ dropdown: {
84
+ iconPosition: 'right',
85
+ iconString: 'fa fa-chevron-down',
86
+ },
87
+ edit: {
88
+ icon: faEdit,
89
+ },
90
+ export: {
91
+ icon: faFileExport,
92
+ },
93
+ file: {
94
+ icon: faFile,
95
+ },
96
+ filter: {
97
+ icon: faFilter,
98
+ },
99
+ generate: {
100
+ icon: faPenFancy,
101
+ },
102
+ guard: {
103
+ icon: faUserShield,
104
+ },
105
+ access: {
106
+ icon: faUserShield,
107
+ },
108
+ history: {
109
+ icon: faHistory,
110
+ },
111
+ home: {
112
+ icon: faHome,
113
+ },
114
+ import: {
115
+ icon: faFileImport,
116
+ },
117
+ info: {
118
+ icon: faInfoCircle,
119
+ },
120
+ link: {
121
+ iconString: 'fas fa-chain',
122
+ },
123
+ lock: {
124
+ icon: faLock,
125
+ },
126
+ next: {
127
+ icon: faArrowRight,
128
+ iconPosition: 'right',
129
+ },
130
+ pause: {
131
+ icon: faPause,
132
+ },
133
+ pen: {
134
+ icon: faPen,
135
+ },
136
+ post: {
137
+ icon: faPaperPlane,
138
+ },
139
+ previous: {
140
+ icon: faArrowLeft,
141
+ },
142
+ renew: {
143
+ icon: faRecycle,
144
+ },
145
+ save: {
146
+ icon: faSave,
147
+ },
148
+ search: {
149
+ icon: faSearch,
150
+ },
151
+ show: {
152
+ icon: faEye,
153
+ },
154
+ view: {
155
+ icon: faEye,
156
+ },
157
+ snooze: {
158
+ icon: faBellSlash,
159
+ },
160
+ upload: {
161
+ icon: faUpload,
162
+ },
163
+ unlock: {
164
+ icon: faUnlock,
165
+ },
166
+ users: {
167
+ icon: faUsers,
168
+ },
169
+ recycle: {
170
+ icon: faRecycle,
171
+ },
172
+ refresh: {
173
+ iconString: 'fa fa-refresh',
174
+ },
175
+ stop: {
176
+ icon: faStop,
177
+ },
178
+ truck: {
179
+ icon: faTruck,
180
+ },
181
+ tag: {
182
+ icon: faTag,
183
+ },
184
+ receipt: {
185
+ icon: faReceipt,
186
+ },
187
+ bank: {
188
+ icon: faBank,
189
+ },
190
+ arrowh: {
191
+ icon: faArrowsH,
192
+ },
193
+ play: {
194
+ icon: faPlay,
195
+ },
196
+ percent: {
197
+ icon: faPercent,
198
+ },
199
+ shake: {
200
+ icon: faHandshake,
201
+ },
202
+ error: {
203
+ icon: faCircleExclamation,
204
+ },
205
+ table: {
206
+ icon: faTable,
207
+ },
208
+ spoon: {
209
+ icon: faSpoon,
210
+ },
208
211
  };
212
+ this.getIcon = (iconType) => this.buttonIconIndex[iconType];
209
213
  this.defaultType = 'secondary';
210
214
  this.setFormState = (btn) => {
211
215
  btn.checkFormStateSub?.unsubscribe();
@@ -295,4 +299,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
295
299
  providedIn: 'root',
296
300
  }]
297
301
  }], ctorParameters: () => [{ type: i1.UserActivityService }] });
298
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvYnRuL2J0bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osT0FBTyxFQUNQLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9BQU8sRUFDUCxPQUFPLEdBRVIsTUFBTSxtQ0FBbUMsQ0FBQztBQUkzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDcEcsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWdCLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxF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O2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZhUGFwZXJQbGFuZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXJlZ3VsYXItc3ZnLWljb25zJztcbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUFycm93UmlnaHQsXG4gIGZhQ2hlY2ssXG4gIGZhQ2xvbmUsXG4gIGZhQ29ncyxcbiAgZmFEb3dubG9hZCxcbiAgZmFFZGl0LFxuICBmYUV5ZSxcbiAgZmFGaWxlLFxuICBmYUZpbGVFeHBvcnQsXG4gIGZhRmlsZUltcG9ydCxcbiAgZmFIaXN0b3J5LFxuICBmYUxpc3RBbHQsXG4gIGZhTG9jayxcbiAgZmFNb25leUNoZWNrLFxuICBmYVBlbixcbiAgZmFQZW5GYW5jeSxcbiAgZmFQbHVzLFxuICBmYVJlY3ljbGUsXG4gIGZhU2F2ZSxcbiAgZmFTZWFyY2gsXG4gIGZhU2xpZGVyc0gsXG4gIGZhVHJhc2gsXG4gIGZhVW5sb2NrLFxuICBmYUZpbHRlcixcbiAgZmFVcGxvYWQsXG4gIGZhVXNlclNoaWVsZCxcbiAgZmFIb21lLFxuICBmYVVzZXJzLFxuICBmYUJlbGxTbGFzaCxcbiAgZmFJbmZvQ2lyY2xlLFxuICBmYVRydWNrLFxuICBmYVRhZyxcbiAgZmFSZWNlaXB0LFxuICBmYUJhbmssXG4gIGZhQXJyb3dzSCxcbiAgZmFQbGF5LFxuICBmYUxpbmssXG4gIGZhUGVyY2VudCxcbiAgZmFDYW5jZWwsXG4gIGZhQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhSGFuZHNoYWtlLFxuICBmYVRhYmxlLFxuICBmYVNwb29uLFxuICBJY29uRGVmaW5pdGlvbixcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4vYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdG5UeXBlLCBJY29uVHlwZSB9IGZyb20gJy4vYnRuLm1vZGVsJztcbmltcG9ydCB7IFVzZXJBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9SZXVzYWJsZXMvcmV1c2FibGUtcGFnZXMvdXNlci1hY3Rpdml0eS91YS1leHRyYXMvdXNlci1hY3Rpdml0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEVVQSB9IGZyb20gJy4uLy4uLy4uL1JldXNhYmxlcy9yZXVzYWJsZS1wYWdlcy91c2VyLWFjdGl2aXR5L3VhLWV4dHJhcy91c2VyLWFjdGl2aXR5Lm1vZGVsJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSwgdGFrZSwgdGFwLCB0aW1lSW50ZXJ2YWwsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQnRuU2VydmljZSB7XG4gIGJ0bkNsYXNzQ29uZmlnOiBCdG5DbGFzcyA9IHtcbiAgICBbJ3ByaW1hcnknXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tcHJpbWFyeSBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydzZWNvbmRhcnknXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tb3V0bGluZS1wcmltYXJ5IGJ0bi1jbG9uZSBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydvdXRsaW5lJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydjbGVhciddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIHctMTAwJyxcbiAgICB9LFxuICAgIFsnZGFyay1vdXRsaW5lJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtZGFyayBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydvdXRsaW5lLW5tJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtcHJpbWFyeSB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2RhcmsnXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tZGFyayBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYW5nZXInXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tZGFuZ2VyIGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2Rhbmdlci1vdXRsaW5lJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtZGFuZ2VyIGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2Nsb3NlJ106IHsgX21jbGFzczogJ2J0biBidG4tbGcgIHRleHQtZGFuZ2VyJywgX2ljb246ICdjbG9zZScgfSxcbiAgICBbJ3N1Y2Nlc3MnXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tbGcgYnRuLXN1Y2Nlc3Mgdy0xMDAnLFxuICAgIH0sXG4gIH07XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1YVM6IFVzZXJBY3Rpdml0eVNlcnZpY2UpIHt9XG4gIGdldEljb24gPSAoaWNvblR5cGU6IEljb25UeXBlKSA9PiB7XG4gICAgY29uc3QgaW5kZXg6IHtcbiAgICAgIFtrIGluIEljb25UeXBlXT86IHtcbiAgICAgICAgaWNvbj86IEljb25EZWZpbml0aW9uO1xuICAgICAgICBpY29uU3RyaW5nPzogc3RyaW5nO1xuICAgICAgICBpY29uUG9zaXRpb24/OiAncmlnaHQnIHwgJ2xlZnQnO1xuICAgICAgfTtcbiAgICB9ID0ge1xuICAgICAgYWRkOiB7XG4gICAgICAgIGljb246IGZhUGx1cyxcbiAgICAgIH0sXG4gICAgICBhZGp1c3Q6IHtcbiAgICAgICAgaWNvbjogZmFTbGlkZXJzSCxcbiAgICAgIH0sXG4gICAgICBjYWxlbmRhcjoge1xuICAgICAgICBpY29uU3RyaW5nOiAnZmFzIGZhLWNhbGVuZGFyLWFsdCcsXG4gICAgICB9LFxuICAgICAgY2FzaDoge1xuICAgICAgICBpY29uOiBmYU1vbmV5Q2hlY2ssXG4gICAgICB9LFxuICAgICAgY2FuY2VsOiB7XG4gICAgICAgIGljb246IGZhQ2FuY2VsLFxuICAgICAgfSxcbiAgICAgIGNoZWNrZWQ6IHtcbiAgICAgICAgaWNvbjogZmFDaGVjayxcbiAgICAgIH0sXG4gICAgICBjaGVja2xpc3Q6IHtcbiAgICAgICAgaWNvbjogZmFMaXN0QWx0LFxuICAgICAgfSxcbiAgICAgIGNsb25lOiB7XG4gICAgICAgIGljb246IGZhQ2xvbmUsXG4gICAgICB9LFxuICAgICAgY2xvc2U6IHtcbiAgICAgICAgaWNvblN0cmluZzogJ2ZhIGZhLWNsb3NlJyxcbiAgICAgIH0sXG4gICAgICBjb2dzOiB7XG4gICAgICAgIGljb246IGZhQ29ncyxcbiAgICAgIH0sXG4gICAgICBkZWxldGU6IHtcbiAgICAgICAgaWNvbjogZmFUcmFzaCxcbiAgICAgIH0sXG4gICAgICBkb3dubG9hZDoge1xuICAgICAgICBpY29uOiBmYURvd25sb2FkLFxuICAgICAgfSxcbiAgICAgIGRyb3Bkb3duOiB7XG4gICAgICAgIGljb25Qb3NpdGlvbjogJ3JpZ2h0JyxcbiAgICAgICAgaWNvblN0cmluZzogJ2ZhIGZhLWNoZXZyb24tZG93bicsXG4gICAgICB9LFxuICAgICAgZWRpdDoge1xuICAgICAgICBpY29uOiBmYUVkaXQsXG4gICAgICB9LFxuICAgICAgZXhwb3J0OiB7XG4gICAgICAgIGljb246IGZhRmlsZUV4cG9ydCxcbiAgICAgIH0sXG4gICAgICBmaWxlOiB7XG4gICAgICAgIGljb246IGZhRmlsZSxcbiAgICAgIH0sXG4gICAgICBmaWx0ZXI6IHtcbiAgICAgICAgaWNvbjogZmFGaWx0ZXIsXG4gICAgICB9LFxuICAgICAgZ2VuZXJhdGU6IHtcbiAgICAgICAgaWNvbjogZmFQZW5GYW5jeSxcbiAgICAgIH0sXG4gICAgICBndWFyZDoge1xuICAgICAgICBpY29uOiBmYVVzZXJTaGllbGQsXG4gICAgICB9LFxuICAgICAgYWNjZXNzOiB7XG4gICAgICAgIGljb246IGZhVXNlclNoaWVsZCxcbiAgICAgIH0sXG4gICAgICBoaXN0b3J5OiB7XG4gICAgICAgIGljb246IGZhSGlzdG9yeSxcbiAgICAgIH0sXG4gICAgICBob21lOiB7XG4gICAgICAgIGljb246IGZhSG9tZSxcbiAgICAgIH0sXG4gICAgICBpbXBvcnQ6IHtcbiAgICAgICAgaWNvbjogZmFGaWxlSW1wb3J0LFxuICAgICAgfSxcbiAgICAgIGluZm86IHtcbiAgICAgICAgaWNvbjogZmFJbmZvQ2lyY2xlLFxuICAgICAgfSxcbiAgICAgIGxpbms6IHtcbiAgICAgICAgaWNvblN0cmluZzogJ2ZhcyBmYS1jaGFpbicsXG4gICAgICB9LFxuICAgICAgbG9jazoge1xuICAgICAgICBpY29uOiBmYUxvY2ssXG4gICAgICB9LFxuICAgICAgbmV4dDoge1xuICAgICAgICBpY29uOiBmYUFycm93UmlnaHQsXG4gICAgICAgIGljb25Qb3NpdGlvbjogJ3JpZ2h0JyxcbiAgICAgIH0sXG4gICAgICBwZW46IHtcbiAgICAgICAgaWNvbjogZmFQZW4sXG4gICAgICB9LFxuICAgICAgcG9zdDoge1xuICAgICAgICBpY29uOiBmYVBhcGVyUGxhbmUsXG4gICAgICB9LFxuICAgICAgcHJldmlvdXM6IHtcbiAgICAgICAgaWNvbjogZmFBcnJvd0xlZnQsXG4gICAgICB9LFxuICAgICAgcmVuZXc6IHtcbiAgICAgICAgaWNvbjogZmFSZWN5Y2xlLFxuICAgICAgfSxcbiAgICAgIHNhdmU6IHtcbiAgICAgICAgaWNvbjogZmFTYXZlLFxuICAgICAgfSxcbiAgICAgIHNlYXJjaDoge1xuICAgICAgICBpY29uOiBmYVNlYXJjaCxcbiAgICAgIH0sXG4gICAgICBzaG93OiB7XG4gICAgICAgIGljb246IGZhRXllLFxuICAgICAgfSxcbiAgICAgIHZpZXc6IHtcbiAgICAgICAgaWNvbjogZmFFeWUsXG4gICAgICB9LFxuICAgICAgc25vb3plOiB7XG4gICAgICAgIGljb246IGZhQmVsbFNsYXNoLFxuICAgICAgfSxcbiAgICAgIHVwbG9hZDoge1xuICAgICAgICBpY29uOiBmYVVwbG9hZCxcbiAgICAgIH0sXG4gICAgICB1bmxvY2s6IHtcbiAgICAgICAgaWNvbjogZmFVbmxvY2ssXG4gICAgICB9LFxuICAgICAgdXNlcnM6IHtcbiAgICAgICAgaWNvbjogZmFVc2VycyxcbiAgICAgIH0sXG4gICAgICByZWN5Y2xlOiB7XG4gICAgICAgIGljb246IGZhUmVjeWNsZSxcbiAgICAgIH0sXG4gICAgICByZWZyZXNoOiB7XG4gICAgICAgIGljb25TdHJpbmc6ICdmYSBmYS1yZWZyZXNoJyxcbiAgICAgIH0sXG4gICAgICB0cnVjazoge1xuICAgICAgICBpY29uOiBmYVRydWNrLFxuICAgICAgfSxcbiAgICAgIHRhZzoge1xuICAgICAgICBpY29uOiBmYVRhZyxcbiAgICAgIH0sXG4gICAgICByZWNlaXB0OiB7XG4gICAgICAgIGljb246IGZhUmVjZWlwdCxcbiAgICAgIH0sXG4gICAgICBiYW5rOiB7XG4gICAgICAgIGljb246IGZhQmFuayxcbiAgICAgIH0sXG4gICAgICBhcnJvd2g6IHtcbiAgICAgICAgaWNvbjogZmFBcnJvd3NILFxuICAgICAgfSxcbiAgICAgIHBsYXk6IHtcbiAgICAgICAgaWNvbjogZmFQbGF5LFxuICAgICAgfSxcbiAgICAgIHBlcmNlbnQ6IHtcbiAgICAgICAgaWNvbjogZmFQZXJjZW50LFxuICAgICAgfSxcbiAgICAgIHNoYWtlOiB7XG4gICAgICAgIGljb246IGZhSGFuZHNoYWtlLFxuICAgICAgfSxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIGljb246IGZhQ2lyY2xlRXhjbGFtYXRpb24sXG4gICAgICB9LFxuICAgICAgdGFibGU6IHtcbiAgICAgICAgaWNvbjogZmFUYWJsZSxcbiAgICAgIH0sXG4gICAgICBzcG9vbjoge1xuICAgICAgICBpY29uOiBmYVNwb29uLFxuICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiBpbmRleFtpY29uVHlwZV07XG4gIH07XG5cbiAgZ2V0VHlwZSh2OiBCdG5UeXBlKSB7XG4gICAgcmV0dXJuIHRoaXMuYnRuQ2xhc3NDb25maWdbdl0gfHwgeyBfdHlwZTogJ3ByaW1hcnknIH07XG4gIH1cbiAgZGVmYXVsdFR5cGU6IEJ0blR5cGUgPSAnc2Vjb25kYXJ5JztcblxuICBsb2dDbGljayhidG46IEJ0bkNvbXBvbmVudCkge1xuICAgIGNvbnNvbGUubG9nKCdidG4uZXh0cmFjdFRleHQnLCBidG4uZXh0cmFjdFRleHQsIGJ0bik7XG4gICAgaWYgKGJ0bi5leGNsdWRlTG9nZ2luZykgcmV0dXJuO1xuICAgIHRoaXMudWFTLmFkZCh7XG4gICAgICBjb2RlOiBFVUEuY2xpY2tlZCxcbiAgICAgIGFjdGl2aXR5RGVzY3JpcHRpb246IGJ0bi5leHRyYWN0VGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIHNldEZvcm1TdGF0ZSA9IChidG46IEJ0bkNvbXBvbmVudCkgPT4ge1xuICAgIGJ0bi5jaGVja0Zvcm1TdGF0ZVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICBidG4uY2hlY2tGb3JtU3RhdGVTdWIgPSB0aW1lcigwLCAxMDAwKVxuICAgICAgLnBpcGUodGFrZSgzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAvLyBidG4uY291bnRlcj8uc2V0KGJ0bi5jb3VudGVyKCkgKyAxKTtcbiAgICAgICAgYnRuLmZvcm1TdGF0ZS5zZXQoXG4gICAgICAgICAgY2xvbmVEZWVwKHtcbiAgICAgICAgICAgIHBlbmRpbmc6IGJ0bi5mb3JtPy5wZW5kaW5nLFxuICAgICAgICAgICAgZGlydHk6IGJ0bi5mb3JtPy5kaXJ0eSxcbiAgICAgICAgICAgIGludmFsaWQ6IGJ0bi5mb3JtPy5pbnZhbGlkLFxuICAgICAgICAgICAgcHJpc3RpbmU6IGJ0bi5mb3JtPy5wcmlzdGluZSxcbiAgICAgICAgICAgIHZhbGlkOiBidG4uZm9ybT8udmFsaWQsXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgfTtcblxuICBzZXRGb3Jtc1N0YXRlID0gKGJ0bjogQnRuQ29tcG9uZW50KSA9PiB7XG4gICAgYnRuLmNoZWNrRm9ybXNTdGF0ZVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICBidG4uY2hlY2tGb3Jtc1N0YXRlU3ViID0gdGltZXIoMCwgMTAwMClcbiAgICAgIC5waXBlKHRha2UoMykpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHsgXG4gICAgICAgIGNvbnN0IGZzID0ge1xuICAgICAgICAgIHBlbmRpbmc6IHRydWUsXG4gICAgICAgICAgZGlydHk6IHRydWUsXG4gICAgICAgICAgaW52YWxpZDogdHJ1ZSxcbiAgICAgICAgICBwcmlzdGluZTogdHJ1ZSxcbiAgICAgICAgICB2YWxpZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnRuLmZvcm1zPy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgaWYgKCF4LnBlbmRpbmcpIGZzLnBlbmRpbmcgPSB4LnBlbmRpbmc7XG4gICAgICAgICAgaWYgKCF4LmRpcnR5KSBmcy5kaXJ0eSA9IHguZGlydHk7XG4gICAgICAgICAgaWYgKCF4LmludmFsaWQpIGZzLmludmFsaWQgPSB4LmludmFsaWQ7XG4gICAgICAgICAgaWYgKCF4LnByaXN0aW5lKSBmcy5wcmlzdGluZSA9IHgucHJpc3RpbmU7XG4gICAgICAgICAgaWYgKCF4LnZhbGlkKSBmcy52YWxpZCA9IHgudmFsaWQ7XG4gICAgICAgIH0pO1xuICAgICAgICBidG4uZm9ybXNTdGF0ZS5zZXQoZnMpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgY2hlY2tGb3JtKGJ0bjogQnRuQ29tcG9uZW50KSB7XG4gICAgaWYgKGJ0bi5pc0Rpc2FibGVkKCkgJiYgYnRuLmZvcm0pIHtcbiAgICAgIGJ0bi5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgIGNvbnN0IGZvcm0gPSBidG4uZm9ybTtcbiAgICAgIGNvbnNvbGUubG9nKGZvcm0pO1xuICAgICAgaWYgKGZvcm0gaW5zdGFuY2VvZiBGb3JtR3JvdXApIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgT2JqZWN0LmtleXMoZm9ybS5jb250cm9scylcbiAgICAgICAgICAgIC5maWx0ZXIoKHgpID0+ICFmb3JtLmNvbnRyb2xzW3hdLnZhbGlkKVxuICAgICAgICAgICAgLm1hcCgoeCkgPT4gZm9ybS5jb250cm9sc1t4XSksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChidG4uaXNEaXNhYmxlZCgpICYmIGJ0bi5mb3Jtcykge1xuICAgICAgYnRuLmZvcm1zLmZvckVhY2goKGZvcm0pID0+IGZvcm0ubWFya0FsbEFzVG91Y2hlZCgpKTtcbiAgICAgIC8vIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGNvbnNvbGUubG9nKGJ0bi5mb3Jtcyk7XG4gICAgfVxuICB9XG4gIC8vIHByb3RlY3RlZCBkZWJvdW5jZXJBcnJheSA9IFsyMDBdLmNvbmNhdChuZXcgQXJyYXkoMykuZmlsbCgxKS5tYXAoKHgsIGkpID0+IChpICsgMSkgKiAxMDAwKSk7XG5cbiAgaGFuZGxlRm9ybSA9IChmb3JtOiBBYnN0cmFjdENvbnRyb2wsIGJ0bjogQnRuQ29tcG9uZW50KSA9PlxuICAgIGZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocikgPT4gdGhpcy5zZXRGb3JtU3RhdGUoYnRuKSksXG4gICAgICAgIC8vIHRhcCgocikgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1TdGF0ZShmb3JtLCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1TdGF0ZShmb3JtLCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1TdGF0ZShmb3JtLCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1TdGF0ZShmb3JtLCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1TdGF0ZShmb3JtLCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1TdGF0ZShmb3JtLCBidG4pKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge30pO1xuXG4gIGhhbmRsZUZvcm1zID0gKHY6IEFic3RyYWN0Q29udHJvbFtdLCBidG46IEJ0bkNvbXBvbmVudCkgPT5cbiAgICBtZXJnZSh2Lm1hcCgoZikgPT4gZi5zdGF0dXNDaGFuZ2VzKSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHIpID0+IHRoaXMuc2V0Rm9ybXNTdGF0ZShidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgLy8gdGFwKCgpID0+IHRoaXMuc2V0Rm9ybXNTdGF0ZSh2LCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuXG4gICAgICAgIC8vIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgLy8gdGFwKCgpID0+IHRoaXMuc2V0Rm9ybXNTdGF0ZSh2LCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHt9KTtcbn1cblxudHlwZSBCdG5DbGFzcyA9IHsgW2sgaW4gQnRuVHlwZV06IHsgX21jbGFzcz86IHN0cmluZzsgX2ljb24/OiBJY29uVHlwZTsgX3R5cGU/OiBCdG5UeXBlIH0gfTtcbiJdfQ==
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvYnRuL2J0bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osT0FBTyxFQUNQLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9BQU8sRUFDUCxPQUFPLEVBR1AsTUFBTSxFQUNOLE9BQU8sR0FDUixNQUFNLG1DQUFtQyxDQUFDO0FBSTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNwRyxPQUFPLEVBQW1CLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBZ0IsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1B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b250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZhUGFwZXJQbGFuZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXJlZ3VsYXItc3ZnLWljb25zJztcbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUFycm93UmlnaHQsXG4gIGZhQ2hlY2ssXG4gIGZhQ2xvbmUsXG4gIGZhQ29ncyxcbiAgZmFEb3dubG9hZCxcbiAgZmFFZGl0LFxuICBmYUV5ZSxcbiAgZmFGaWxlLFxuICBmYUZpbGVFeHBvcnQsXG4gIGZhRmlsZUltcG9ydCxcbiAgZmFIaXN0b3J5LFxuICBmYUxpc3RBbHQsXG4gIGZhTG9jayxcbiAgZmFNb25leUNoZWNrLFxuICBmYVBlbixcbiAgZmFQZW5GYW5jeSxcbiAgZmFQbHVzLFxuICBmYVJlY3ljbGUsXG4gIGZhU2F2ZSxcbiAgZmFTZWFyY2gsXG4gIGZhU2xpZGVyc0gsXG4gIGZhVHJhc2gsXG4gIGZhVW5sb2NrLFxuICBmYUZpbHRlcixcbiAgZmFVcGxvYWQsXG4gIGZhVXNlclNoaWVsZCxcbiAgZmFIb21lLFxuICBmYVVzZXJzLFxuICBmYUJlbGxTbGFzaCxcbiAgZmFJbmZvQ2lyY2xlLFxuICBmYVRydWNrLFxuICBmYVRhZyxcbiAgZmFSZWNlaXB0LFxuICBmYUJhbmssXG4gIGZhQXJyb3dzSCxcbiAgZmFQbGF5LFxuICBmYUxpbmssXG4gIGZhUGVyY2VudCxcbiAgZmFDYW5jZWwsXG4gIGZhQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhSGFuZHNoYWtlLFxuICBmYVRhYmxlLFxuICBmYVNwb29uLFxuICBJY29uRGVmaW5pdGlvbixcbiAgZmFCb3gsXG4gIGZhU3RvcCxcbiAgZmFQYXVzZSxcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4vYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdG5UeXBlLCBJY29uVHlwZSB9IGZyb20gJy4vYnRuLm1vZGVsJztcbmltcG9ydCB7IFVzZXJBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9SZXVzYWJsZXMvcmV1c2FibGUtcGFnZXMvdXNlci1hY3Rpdml0eS91YS1leHRyYXMvdXNlci1hY3Rpdml0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEVVQSB9IGZyb20gJy4uLy4uLy4uL1JldXNhYmxlcy9yZXVzYWJsZS1wYWdlcy91c2VyLWFjdGl2aXR5L3VhLWV4dHJhcy91c2VyLWFjdGl2aXR5Lm1vZGVsJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSwgdGFrZSwgdGFwLCB0aW1lSW50ZXJ2YWwsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQnRuU2VydmljZSB7XG4gIGJ0bkNsYXNzQ29uZmlnOiBCdG5DbGFzcyA9IHtcbiAgICBbJ3ByaW1hcnknXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tcHJpbWFyeSBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydzZWNvbmRhcnknXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tb3V0bGluZS1wcmltYXJ5IGJ0bi1jbG9uZSBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydvdXRsaW5lJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydjbGVhciddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIHctMTAwJyxcbiAgICB9LFxuICAgIFsnZGFyay1vdXRsaW5lJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtZGFyayBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydvdXRsaW5lLW5tJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtcHJpbWFyeSB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2RhcmsnXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tZGFyayBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYW5nZXInXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tZGFuZ2VyIGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2Rhbmdlci1vdXRsaW5lJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtZGFuZ2VyIGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2Nsb3NlJ106IHsgX21jbGFzczogJ2J0biBidG4tbGcgIHRleHQtZGFuZ2VyJywgX2ljb246ICdjbG9zZScgfSxcbiAgICBbJ3N1Y2Nlc3MnXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tbGcgYnRuLXN1Y2Nlc3Mgdy0xMDAnLFxuICAgIH0sXG4gIH07XG4gIGJ1dHRvbkljb25JbmRleDoge1xuICAgIFtrIGluIEljb25UeXBlXT86IHtcbiAgICAgIGljb24/OiBJY29uRGVmaW5pdGlvbjtcbiAgICAgIGljb25TdHJpbmc/OiBzdHJpbmc7XG4gICAgICBpY29uUG9zaXRpb24/OiAncmlnaHQnIHwgJ2xlZnQnO1xuICAgIH07XG4gIH0gPSB7XG4gICAgYWRkOiB7XG4gICAgICBpY29uOiBmYVBsdXMsXG4gICAgfSxcbiAgICBhZGp1c3Q6IHtcbiAgICAgIGljb246IGZhU2xpZGVyc0gsXG4gICAgfSxcbiAgICBjYWxlbmRhcjoge1xuICAgICAgaWNvblN0cmluZzogJ2ZhcyBmYS1jYWxlbmRhci1hbHQnLFxuICAgIH0sXG4gICAgY2FzaDoge1xuICAgICAgaWNvbjogZmFNb25leUNoZWNrLFxuICAgIH0sXG4gICAgY2FuY2VsOiB7XG4gICAgICBpY29uOiBmYUNhbmNlbCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGljb246IGZhQ2hlY2ssXG4gICAgfSxcbiAgICBjaGVja2xpc3Q6IHtcbiAgICAgIGljb246IGZhTGlzdEFsdCxcbiAgICB9LFxuICAgIGNsb25lOiB7XG4gICAgICBpY29uOiBmYUNsb25lLFxuICAgIH0sXG4gICAgY2xvc2U6IHtcbiAgICAgIGljb25TdHJpbmc6ICdmYSBmYS1jbG9zZScsXG4gICAgfSxcbiAgICBjb2dzOiB7XG4gICAgICBpY29uOiBmYUNvZ3MsXG4gICAgfSxcbiAgICBkZWxldGU6IHtcbiAgICAgIGljb246IGZhVHJhc2gsXG4gICAgfSxcbiAgICBkb3dubG9hZDoge1xuICAgICAgaWNvbjogZmFEb3dubG9hZCxcbiAgICB9LFxuICAgIGRyb3Bkb3duOiB7XG4gICAgICBpY29uUG9zaXRpb246ICdyaWdodCcsXG4gICAgICBpY29uU3RyaW5nOiAnZmEgZmEtY2hldnJvbi1kb3duJyxcbiAgICB9LFxuICAgIGVkaXQ6IHtcbiAgICAgIGljb246IGZhRWRpdCxcbiAgICB9LFxuICAgIGV4cG9ydDoge1xuICAgICAgaWNvbjogZmFGaWxlRXhwb3J0LFxuICAgIH0sXG4gICAgZmlsZToge1xuICAgICAgaWNvbjogZmFGaWxlLFxuICAgIH0sXG4gICAgZmlsdGVyOiB7XG4gICAgICBpY29uOiBmYUZpbHRlcixcbiAgICB9LFxuICAgIGdlbmVyYXRlOiB7XG4gICAgICBpY29uOiBmYVBlbkZhbmN5LFxuICAgIH0sXG4gICAgZ3VhcmQ6IHtcbiAgICAgIGljb246IGZhVXNlclNoaWVsZCxcbiAgICB9LFxuICAgIGFjY2Vzczoge1xuICAgICAgaWNvbjogZmFVc2VyU2hpZWxkLFxuICAgIH0sXG4gICAgaGlzdG9yeToge1xuICAgICAgaWNvbjogZmFIaXN0b3J5LFxuICAgIH0sXG4gICAgaG9tZToge1xuICAgICAgaWNvbjogZmFIb21lLFxuICAgIH0sXG4gICAgaW1wb3J0OiB7XG4gICAgICBpY29uOiBmYUZpbGVJbXBvcnQsXG4gICAgfSxcbiAgICBpbmZvOiB7XG4gICAgICBpY29uOiBmYUluZm9DaXJjbGUsXG4gICAgfSxcbiAgICBsaW5rOiB7XG4gICAgICBpY29uU3RyaW5nOiAnZmFzIGZhLWNoYWluJyxcbiAgICB9LFxuICAgIGxvY2s6IHtcbiAgICAgIGljb246IGZhTG9jayxcbiAgICB9LFxuICAgIG5leHQ6IHtcbiAgICAgIGljb246IGZhQXJyb3dSaWdodCxcbiAgICAgIGljb25Qb3NpdGlvbjogJ3JpZ2h0JyxcbiAgICB9LFxuICAgIHBhdXNlOiB7XG4gICAgICBpY29uOiBmYVBhdXNlLFxuICAgIH0sXG4gICAgcGVuOiB7XG4gICAgICBpY29uOiBmYVBlbixcbiAgICB9LFxuICAgIHBvc3Q6IHtcbiAgICAgIGljb246IGZhUGFwZXJQbGFuZSxcbiAgICB9LFxuICAgIHByZXZpb3VzOiB7XG4gICAgICBpY29uOiBmYUFycm93TGVmdCxcbiAgICB9LFxuICAgIHJlbmV3OiB7XG4gICAgICBpY29uOiBmYVJlY3ljbGUsXG4gICAgfSxcbiAgICBzYXZlOiB7XG4gICAgICBpY29uOiBmYVNhdmUsXG4gICAgfSxcbiAgICBzZWFyY2g6IHtcbiAgICAgIGljb246IGZhU2VhcmNoLFxuICAgIH0sXG4gICAgc2hvdzoge1xuICAgICAgaWNvbjogZmFFeWUsXG4gICAgfSxcbiAgICB2aWV3OiB7XG4gICAgICBpY29uOiBmYUV5ZSxcbiAgICB9LFxuICAgIHNub296ZToge1xuICAgICAgaWNvbjogZmFCZWxsU2xhc2gsXG4gICAgfSxcbiAgICB1cGxvYWQ6IHtcbiAgICAgIGljb246IGZhVXBsb2FkLFxuICAgIH0sXG4gICAgdW5sb2NrOiB7XG4gICAgICBpY29uOiBmYVVubG9jayxcbiAgICB9LFxuICAgIHVzZXJzOiB7XG4gICAgICBpY29uOiBmYVVzZXJzLFxuICAgIH0sXG4gICAgcmVjeWNsZToge1xuICAgICAgaWNvbjogZmFSZWN5Y2xlLFxuICAgIH0sXG4gICAgcmVmcmVzaDoge1xuICAgICAgaWNvblN0cmluZzogJ2ZhIGZhLXJlZnJlc2gnLFxuICAgIH0sXG4gICAgc3RvcDoge1xuICAgICAgaWNvbjogZmFTdG9wLFxuICAgIH0sXG4gICAgdHJ1Y2s6IHtcbiAgICAgIGljb246IGZhVHJ1Y2ssXG4gICAgfSxcbiAgICB0YWc6IHtcbiAgICAgIGljb246IGZhVGFnLFxuICAgIH0sXG4gICAgcmVjZWlwdDoge1xuICAgICAgaWNvbjogZmFSZWNlaXB0LFxuICAgIH0sXG4gICAgYmFuazoge1xuICAgICAgaWNvbjogZmFCYW5rLFxuICAgIH0sXG4gICAgYXJyb3doOiB7XG4gICAgICBpY29uOiBmYUFycm93c0gsXG4gICAgfSxcbiAgICBwbGF5OiB7XG4gICAgICBpY29uOiBmYVBsYXksXG4gICAgfSxcbiAgICBwZXJjZW50OiB7XG4gICAgICBpY29uOiBmYVBlcmNlbnQsXG4gICAgfSxcbiAgICBzaGFrZToge1xuICAgICAgaWNvbjogZmFIYW5kc2hha2UsXG4gICAgfSxcbiAgICBlcnJvcjoge1xuICAgICAgaWNvbjogZmFDaXJjbGVFeGNsYW1hdGlvbixcbiAgICB9LFxuICAgIHRhYmxlOiB7XG4gICAgICBpY29uOiBmYVRhYmxlLFxuICAgIH0sXG4gICAgc3Bvb246IHtcbiAgICAgIGljb246IGZhU3Bvb24sXG4gICAgfSxcbiAgfTtcbiAgY29uc3RydWN0b3IocHVibGljIHVhUzogVXNlckFjdGl2aXR5U2VydmljZSkge31cbiAgZ2V0SWNvbiA9IChpY29uVHlwZTogSWNvblR5cGUpID0+IHRoaXMuYnV0dG9uSWNvbkluZGV4W2ljb25UeXBlXTtcblxuICBnZXRUeXBlKHY6IEJ0blR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy5idG5DbGFzc0NvbmZpZ1t2XSB8fCB7IF90eXBlOiAncHJpbWFyeScgfTtcbiAgfVxuICBkZWZhdWx0VHlwZTogQnRuVHlwZSA9ICdzZWNvbmRhcnknO1xuXG4gIGxvZ0NsaWNrKGJ0bjogQnRuQ29tcG9uZW50KSB7XG4gICAgY29uc29sZS5sb2coJ2J0bi5leHRyYWN0VGV4dCcsIGJ0bi5leHRyYWN0VGV4dCwgYnRuKTtcbiAgICBpZiAoYnRuLmV4Y2x1ZGVMb2dnaW5nKSByZXR1cm47XG4gICAgdGhpcy51YVMuYWRkKHtcbiAgICAgIGNvZGU6IEVVQS5jbGlja2VkLFxuICAgICAgYWN0aXZpdHlEZXNjcmlwdGlvbjogYnRuLmV4dHJhY3RUZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgc2V0Rm9ybVN0YXRlID0gKGJ0bjogQnRuQ29tcG9uZW50KSA9PiB7XG4gICAgYnRuLmNoZWNrRm9ybVN0YXRlU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIGJ0bi5jaGVja0Zvcm1TdGF0ZVN1YiA9IHRpbWVyKDAsIDEwMDApXG4gICAgICAucGlwZSh0YWtlKDMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIC8vIGJ0bi5jb3VudGVyPy5zZXQoYnRuLmNvdW50ZXIoKSArIDEpO1xuICAgICAgICBidG4uZm9ybVN0YXRlLnNldChcbiAgICAgICAgICBjbG9uZURlZXAoe1xuICAgICAgICAgICAgcGVuZGluZzogYnRuLmZvcm0/LnBlbmRpbmcsXG4gICAgICAgICAgICBkaXJ0eTogYnRuLmZvcm0/LmRpcnR5LFxuICAgICAgICAgICAgaW52YWxpZDogYnRuLmZvcm0/LmludmFsaWQsXG4gICAgICAgICAgICBwcmlzdGluZTogYnRuLmZvcm0/LnByaXN0aW5lLFxuICAgICAgICAgICAgdmFsaWQ6IGJ0bi5mb3JtPy52YWxpZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIHNldEZvcm1zU3RhdGUgPSAoYnRuOiBCdG5Db21wb25lbnQpID0+IHtcbiAgICBidG4uY2hlY2tGb3Jtc1N0YXRlU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIGJ0bi5jaGVja0Zvcm1zU3RhdGVTdWIgPSB0aW1lcigwLCAxMDAwKVxuICAgICAgLnBpcGUodGFrZSgzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBmcyA9IHtcbiAgICAgICAgICBwZW5kaW5nOiB0cnVlLFxuICAgICAgICAgIGRpcnR5OiB0cnVlLFxuICAgICAgICAgIGludmFsaWQ6IHRydWUsXG4gICAgICAgICAgcHJpc3RpbmU6IHRydWUsXG4gICAgICAgICAgdmFsaWQ6IHRydWUsXG4gICAgICAgIH07XG4gICAgICAgIGJ0bi5mb3Jtcz8uZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICAgIGlmICgheC5wZW5kaW5nKSBmcy5wZW5kaW5nID0geC5wZW5kaW5nO1xuICAgICAgICAgIGlmICgheC5kaXJ0eSkgZnMuZGlydHkgPSB4LmRpcnR5O1xuICAgICAgICAgIGlmICgheC5pbnZhbGlkKSBmcy5pbnZhbGlkID0geC5pbnZhbGlkO1xuICAgICAgICAgIGlmICgheC5wcmlzdGluZSkgZnMucHJpc3RpbmUgPSB4LnByaXN0aW5lO1xuICAgICAgICAgIGlmICgheC52YWxpZCkgZnMudmFsaWQgPSB4LnZhbGlkO1xuICAgICAgICB9KTtcbiAgICAgICAgYnRuLmZvcm1zU3RhdGUuc2V0KGZzKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNoZWNrRm9ybShidG46IEJ0bkNvbXBvbmVudCkge1xuICAgIGlmIChidG4uaXNEaXNhYmxlZCgpICYmIGJ0bi5mb3JtKSB7XG4gICAgICBidG4uZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICBjb25zdCBmb3JtID0gYnRuLmZvcm07XG4gICAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhZm9ybS5jb250cm9sc1t4XS52YWxpZClcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGZvcm0uY29udHJvbHNbeF0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYnRuLmlzRGlzYWJsZWQoKSAmJiBidG4uZm9ybXMpIHtcbiAgICAgIGJ0bi5mb3Jtcy5mb3JFYWNoKChmb3JtKSA9PiBmb3JtLm1hcmtBbGxBc1RvdWNoZWQoKSk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBjb25zb2xlLmxvZyhidG4uZm9ybXMpO1xuICAgIH1cbiAgfVxuICAvLyBwcm90ZWN0ZWQgZGVib3VuY2VyQXJyYXkgPSBbMjAwXS5jb25jYXQobmV3IEFycmF5KDMpLmZpbGwoMSkubWFwKCh4LCBpKSA9PiAoaSArIDEpICogMTAwMCkpO1xuXG4gIGhhbmRsZUZvcm0gPSAoZm9ybTogQWJzdHJhY3RDb250cm9sLCBidG46IEJ0bkNvbXBvbmVudCkgPT5cbiAgICBmb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHIpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGJ0bikpLFxuICAgICAgICAvLyB0YXAoKHIpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGZvcm0sIGJ0bikpLFxuXG4gICAgICAgIC8vIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHt9KTtcblxuICBoYW5kbGVGb3JtcyA9ICh2OiBBYnN0cmFjdENvbnRyb2xbXSwgYnRuOiBCdG5Db21wb25lbnQpID0+XG4gICAgbWVyZ2Uodi5tYXAoKGYpID0+IGYuc3RhdHVzQ2hhbmdlcykpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChyKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUoYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuXG4gICAgICAgIC8vIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgLy8gdGFwKCgpID0+IHRoaXMuc2V0Rm9ybXNTdGF0ZSh2LCBidG4pKSxcblxuICAgICAgICAvLyBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIC8vIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG5cbiAgICAgICAgLy8gZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICAvLyB0YXAoKCkgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG59XG5cbnR5cGUgQnRuQ2xhc3MgPSB7IFtrIGluIEJ0blR5cGVdOiB7IF9tY2xhc3M/OiBzdHJpbmc7IF9pY29uPzogSWNvblR5cGU7IF90eXBlPzogQnRuVHlwZSB9IH07XG4iXX0=
@@ -1,8 +1,14 @@
1
- import { Component, EventEmitter, Input, Output, inject, input } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, inject, input, model } from '@angular/core';
2
2
  import { NgIf, NgClass, NgFor } from '@angular/common';
3
3
  import { BtnComponent } from '../btn/btn.component';
4
4
  import { UtilityService } from '../../../Services/utility.service';
5
+ import ModalComponents from '../modal-components/modal.components';
6
+ import { MatMenuModule } from '@angular/material/menu';
7
+ import { WebcamMediaComponent } from '../webcam-media/webcam-media.component';
5
8
  import * as i0 from "@angular/core";
9
+ import * as i1 from "../modal/modal.component";
10
+ import * as i2 from "../modal/modal-body.directive";
11
+ import * as i3 from "@angular/material/menu";
6
12
  export class FileUploadComponent {
7
13
  set _accept(v) {
8
14
  switch (v) {
@@ -15,7 +21,13 @@ export class FileUploadComponent {
15
21
  }
16
22
  }
17
23
  constructor() {
24
+ this.mediaWidth = model(1080);
18
25
  this.class = input();
26
+ this.useWebcam = input(false);
27
+ /**
28
+ * Only useful if using the webcam option
29
+ */
30
+ this.fileName = input();
19
31
  this.mini = input(true);
20
32
  this.listFiles = input(true);
21
33
  this.fileChange = new EventEmitter();
@@ -29,6 +41,7 @@ export class FileUploadComponent {
29
41
  acceptFiles(...files) {
30
42
  this.files = files;
31
43
  this.file = files ? files[0] : null;
44
+ this.emitFiles();
32
45
  }
33
46
  emitFiles() {
34
47
  if (this.multiple)
@@ -39,7 +52,6 @@ export class FileUploadComponent {
39
52
  onUpload(event) {
40
53
  const files = Array.from(event.target.files);
41
54
  this.acceptFiles(...files);
42
- this.emitFiles();
43
55
  }
44
56
  removeFile(index) {
45
57
  this.files.splice(index, 1);
@@ -60,11 +72,11 @@ export class FileUploadComponent {
60
72
  inp.click();
61
73
  }
62
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: FileUploadComponent, isStandalone: true, selector: "app-file-upload", inputs: { help: { classPropertyName: "help", publicName: "help", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: null }, mini: { classPropertyName: "mini", publicName: "mini", isSignal: true, isRequired: false, transformFunction: null }, useDocumentModal: { classPropertyName: "useDocumentModal", publicName: "useDocumentModal", isSignal: false, isRequired: false, transformFunction: null }, listFiles: { classPropertyName: "listFiles", publicName: "listFiles", isSignal: true, isRequired: false, transformFunction: null }, _accept: { classPropertyName: "_accept", publicName: "accept", isSignal: false, isRequired: false, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: false, isRequired: false, transformFunction: null }, files: { classPropertyName: "files", publicName: "files", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { fileChange: "fileChange", filesChange: "filesChange" }, ngImport: i0, template: "\n@if (listFiles()) {\n<div [ngClass]=\"{meta:mini()}\" class=\"{{class()}} form-label mb-2 hide-scroll\">\n @for (item of files; track item;) {\n <div class=\"row align-items-start mb-1\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{item?.name}}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFile($index);\"></span>\n </div>\n </div>\n}\n</div>\n}\n<!-- <input type=\"file\" style=\"display: none;\" accept=\"{{accept}}\" (change)=\"onUpload($event)\" #uploadInput [multiple]=\"multiple\"> -->\n<app-btn icon=\"upload\" (mclick)=\"openDialog()\" [type]=\"file?'primary':'secondary'\"\n [disabled]=\"disabled\" [help]=\"help\" [text]=\"label\">\n\n</app-btn>", styles: [".meta,.file-name{height:23px}.meta{overflow-y:auto}.file-name{overflow:auto}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }] }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: FileUploadComponent, isStandalone: true, selector: "app-file-upload", inputs: { help: { classPropertyName: "help", publicName: "help", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: false, transformFunction: null }, mediaWidth: { classPropertyName: "mediaWidth", publicName: "mediaWidth", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, useWebcam: { classPropertyName: "useWebcam", publicName: "useWebcam", isSignal: true, isRequired: false, transformFunction: null }, fileName: { classPropertyName: "fileName", publicName: "fileName", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: false, isRequired: false, transformFunction: null }, mini: { classPropertyName: "mini", publicName: "mini", isSignal: true, isRequired: false, transformFunction: null }, useDocumentModal: { classPropertyName: "useDocumentModal", publicName: "useDocumentModal", isSignal: false, isRequired: false, transformFunction: null }, listFiles: { classPropertyName: "listFiles", publicName: "listFiles", isSignal: true, isRequired: false, transformFunction: null }, _accept: { classPropertyName: "_accept", publicName: "accept", isSignal: false, isRequired: false, transformFunction: null }, file: { classPropertyName: "file", publicName: "file", isSignal: false, isRequired: false, transformFunction: null }, files: { classPropertyName: "files", publicName: "files", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { mediaWidth: "mediaWidthChange", fileChange: "fileChange", filesChange: "filesChange" }, ngImport: i0, template: "@if (listFiles()) {\n <div [ngClass]=\"{ meta: mini() }\" class=\"{{ class() }} form-label mb-2 hide-scroll\">\n @for (item of files; track item) {\n <div class=\"row align-items-start mb-1\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{ item?.name }}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFile($index)\"></span>\n </div>\n </div>\n }\n </div>\n}\n<!-- <input type=\"file\" style=\"display: none;\" accept=\"{{accept}}\" (change)=\"onUpload($event)\" #uploadInput [multiple]=\"multiple\"> -->\n<app-btn\n icon=\"upload\"\n (mclick)=\"useWebcam() ? null : openDialog()\"\n [type]=\"file ? 'primary' : 'secondary'\"\n [disabled]=\"disabled\"\n [help]=\"help\"\n [text]=\"label\"\n [matMenuTriggerFor]=\"useWebcam() ? menu : null\" />\n\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog()\">Upload</button>\n <button mat-menu-item (click)=\"webcamModal.open()\">Use Camera</button>\n</mat-menu>\n\n<modal-comp #webcamModal width=\"1080px\" header=\"Webcam\">\n <ng-template modalBody>\n <lib-webcam-media [fileName]=\"fileName()\" [width]=\"mediaWidth()\" (closed)=\"webcamModal.close(); acceptFiles($event)\" />\n </ng-template>\n</modal-comp>\n", styles: [".meta,.file-name{height:23px}.meta{overflow-y:auto}.file-name{overflow:auto}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "disabled", "form", "forms", "help", "iconBtn", "loading", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid"], outputs: ["mclick"] }, { kind: "component", type: i1.ModalComponent, selector: "modal-comp", inputs: ["header", "bodyTemplateRef", "footerTemplateRef", "showHeader", "loading", "isFullscreen", "showFooter", "width", "minWidth", "height", "maxHeight", "icon", "data", "disableClose", "hasBackdrop"], outputs: ["modalOpen", "modalClose"] }, { kind: "directive", type: i2.ModalBodyDirective, selector: "[modalBody]" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: WebcamMediaComponent, selector: "lib-webcam-media", inputs: ["isVideo", "useAudio", "fileName", "fileNameFactory", "fileType", "extraClass", "recordingNotificationInterval", "isBackground", "width"], outputs: ["closed", "recorderStopped", "recorderErrored", "recorderStarted", "recordingState", "recordingChanged", "widthChange"] }] }); }
64
76
  }
65
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: FileUploadComponent, decorators: [{
66
78
  type: Component,
67
- args: [{ selector: 'app-file-upload', standalone: true, imports: [NgIf, NgClass, NgFor, BtnComponent], template: "\n@if (listFiles()) {\n<div [ngClass]=\"{meta:mini()}\" class=\"{{class()}} form-label mb-2 hide-scroll\">\n @for (item of files; track item;) {\n <div class=\"row align-items-start mb-1\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{item?.name}}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFile($index);\"></span>\n </div>\n </div>\n}\n</div>\n}\n<!-- <input type=\"file\" style=\"display: none;\" accept=\"{{accept}}\" (change)=\"onUpload($event)\" #uploadInput [multiple]=\"multiple\"> -->\n<app-btn icon=\"upload\" (mclick)=\"openDialog()\" [type]=\"file?'primary':'secondary'\"\n [disabled]=\"disabled\" [help]=\"help\" [text]=\"label\">\n\n</app-btn>", styles: [".meta,.file-name{height:23px}.meta{overflow-y:auto}.file-name{overflow:auto}\n"] }]
79
+ args: [{ selector: 'app-file-upload', standalone: true, imports: [NgIf, NgClass, NgFor, BtnComponent, ModalComponents, MatMenuModule, WebcamMediaComponent], template: "@if (listFiles()) {\n <div [ngClass]=\"{ meta: mini() }\" class=\"{{ class() }} form-label mb-2 hide-scroll\">\n @for (item of files; track item) {\n <div class=\"row align-items-start mb-1\">\n <div class=\"col\">\n <div class=\"hide-scroll file-name\">\n {{ item?.name }}\n </div>\n </div>\n <div class=\"col-auto text-end\">\n <span class=\"text-danger pointer p-1 fa fa-close\" (click)=\"removeFile($index)\"></span>\n </div>\n </div>\n }\n </div>\n}\n<!-- <input type=\"file\" style=\"display: none;\" accept=\"{{accept}}\" (change)=\"onUpload($event)\" #uploadInput [multiple]=\"multiple\"> -->\n<app-btn\n icon=\"upload\"\n (mclick)=\"useWebcam() ? null : openDialog()\"\n [type]=\"file ? 'primary' : 'secondary'\"\n [disabled]=\"disabled\"\n [help]=\"help\"\n [text]=\"label\"\n [matMenuTriggerFor]=\"useWebcam() ? menu : null\" />\n\n<mat-menu #menu=\"matMenu\">\n <button mat-menu-item (click)=\"openDialog()\">Upload</button>\n <button mat-menu-item (click)=\"webcamModal.open()\">Use Camera</button>\n</mat-menu>\n\n<modal-comp #webcamModal width=\"1080px\" header=\"Webcam\">\n <ng-template modalBody>\n <lib-webcam-media [fileName]=\"fileName()\" [width]=\"mediaWidth()\" (closed)=\"webcamModal.close(); acceptFiles($event)\" />\n </ng-template>\n</modal-comp>\n", styles: [".meta,.file-name{height:23px}.meta{overflow-y:auto}.file-name{overflow:auto}\n"] }]
68
80
  }], ctorParameters: () => [], propDecorators: { help: [{
69
81
  type: Input
70
82
  }], label: [{
@@ -87,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
87
99
  }], filesChange: [{
88
100
  type: Output
89
101
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFhLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHN0gsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFTbkUsTUFBTSxPQUFPLG1CQUFtQjtJQVU5QixJQUFxQixPQUFPLENBQUMsQ0FBUztRQUNwQyxRQUFRLENBQUMsRUFBRTtZQUNULEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDO2dCQUNyQyxNQUFNO1lBRVI7Z0JBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU07U0FDVDtJQUNILENBQUM7SUFTRDtRQTFCQSxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFHeEIsU0FBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuQixjQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBZWQsZUFBVSxHQUFHLElBQUks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c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSURvY01ldGFkYXRhLCBJRmlsZV9NZXRhZGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9pbmRleC5tb2RlbCc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0NsYXNzLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCdG5Db21wb25lbnQgfSBmcm9tICcuLi9idG4vYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL1NlcnZpY2VzL3V0aWxpdHkuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzLCBOZ0ZvciwgQnRuQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGhlbHA6IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgY2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcbiAgbWluaSA9IGlucHV0KHRydWUpO1xuICBASW5wdXQoKSB1c2VEb2N1bWVudE1vZGFsOiBib29sZWFuO1xuICBsaXN0RmlsZXMgPSBpbnB1dCh0cnVlKTtcbiAgYWNjZXB0OiBzdHJpbmc7XG4gIEBJbnB1dCgnYWNjZXB0Jykgc2V0IF9hY2NlcHQodjogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh2KSB7XG4gICAgICBjYXNlICdpbWFnZSc6XG4gICAgICAgIHRoaXMuYWNjZXB0ID0gJy5wbmcsLmpwZywuZG9jeCwucGRmJztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuYWNjZXB0ID0gdjtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIC8vIEBWaWV3Q2hpbGQoJ3VwbG9hZElucHV0JykgdXBsb2FkSW5wdXRSZWY6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIEBJbnB1dCgpIGZpbGU6IEZpbGU7XG4gIEBPdXRwdXQoKSBmaWxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlPigpO1xuICBASW5wdXQoKSBmaWxlczogRmlsZVtdO1xuICBAT3V0cHV0KCkgZmlsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcblxuICBwdWJsaWMgdVMgPSBpbmplY3QoVXRpbGl0eVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgZ2V0IGlzU2luZ2xlKCkge1xuICAgIHJldHVybiAhdGhpcy5tdWx0aXBsZTtcbiAgfVxuICBwcml2YXRlIGFjY2VwdEZpbGVzKC4uLmZpbGVzOiBGaWxlW10pIHtcbiAgICB0aGlzLmZpbGVzID0gZmlsZXM7XG4gICAgdGhpcy5maWxlID0gZmlsZXMgPyBmaWxlc1swXSA6IG51bGw7XG4gIH1cbiAgcHJpdmF0ZSBlbWl0RmlsZXMoKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHRoaXMuZmlsZXNDaGFuZ2UuZW1pdCh0aGlzLmZpbGVzKTtcbiAgICBlbHNlIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHRoaXMuZmlsZSk7XG4gIH1cblxuICBvblVwbG9hZChldmVudDogYW55KSB7XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tPEZpbGU+KGV2ZW50LnRhcmdldC5maWxlcyk7XG4gICAgdGhpcy5hY2NlcHRGaWxlcyguLi5maWxlcyk7XG4gICAgdGhpcy5lbWl0RmlsZXMoKTtcbiAgfVxuXG4gIHJlbW92ZUZpbGUoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuZmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLmZpbGUgPSB0aGlzLmZpbGVzID8gdGhpcy5maWxlc1swXSA6IG51bGw7XG5cbiAgICB0aGlzLmZpbGVDaGFuZ2UuZW1pdCh0aGlzLmZpbGUpO1xuICAgIHRoaXMuZmlsZXNDaGFuZ2UuZW1pdCh0aGlzLmZpbGVzKTtcbiAgfVxuICBvcGVuRGlhbG9nKCkge1xuICAgIGNvbnN0IGlucCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgaW5wLnR5cGUgPSAnZmlsZSc7XG4gICAgaW5wLmFjY2VwdCA9IHRoaXMuYWNjZXB0O1xuICAgIGlucC5tdWx0aXBsZSA9IHRoaXMubXVsdGlwbGU7XG4gICAgaW5wLm9uY2hhbmdlID0gKGUpID0+IHtcbiAgICAgIHRoaXMub25VcGxvYWQoZSk7XG4gICAgICBpbnAucmVtb3ZlKCk7XG4gICAgfTtcbiAgICAvLyBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucCk7XG4gICAgaW5wLmNsaWNrKCk7XG4gIH1cbn1cbiIsIlxuQGlmIChsaXN0RmlsZXMoKSkge1xuPGRpdiBbbmdDbGFzc109XCJ7bWV0YTptaW5pKCl9XCIgY2xhc3M9XCJ7e2NsYXNzKCl9fSBmb3JtLWxhYmVsIG1iLTIgaGlkZS1zY3JvbGxcIj5cbiAgQGZvciAoaXRlbSBvZiBmaWxlczsgdHJhY2sgaXRlbTspIHtcbiAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1zdGFydCBtYi0xXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhpZGUtc2Nyb2xsIGZpbGUtbmFtZVwiPlxuICAgICAgICB7e2l0ZW0/Lm5hbWV9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC1hdXRvIHRleHQtZW5kXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyIHBvaW50ZXIgcC0xIGZhIGZhLWNsb3NlXCIgKGNsaWNrKT1cInJlbW92ZUZpbGUoJGluZGV4KTtcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxufVxuPC9kaXY+XG59XG48IS0tIDxpbnB1dCB0eXBlPVwiZmlsZVwiICBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgYWNjZXB0PVwie3thY2NlcHR9fVwiIChjaGFuZ2UpPVwib25VcGxvYWQoJGV2ZW50KVwiICN1cGxvYWRJbnB1dCBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIj4gLS0+XG48YXBwLWJ0biBpY29uPVwidXBsb2FkXCIgKG1jbGljayk9XCJvcGVuRGlhbG9nKClcIiBbdHlwZV09XCJmaWxlPydwcmltYXJ5Jzonc2Vjb25kYXJ5J1wiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtoZWxwXT1cImhlbHBcIiBbdGV4dF09XCJsYWJlbFwiPlxuXG48L2FwcC1idG4+Il19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxlQUFlLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7OztBQVM5RSxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QixJQUFxQixPQUFPLENBQUMsQ0FBUztRQUNwQyxRQUFRLENBQUMsRUFBRTtZQUNULEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDO2dCQUNyQyxNQUFNO1lBRVI7Z0JBQ0UsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU07U0FDVDtJQUNILENBQUM7SUFT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LGNBR2YsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLGVBQWUsRUFBQyxhQUFhLEVBQUMsb0JBQW9CLENBQUM7d0RBR3ZGLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFHZSxPQUFPO3NCQUEzQixLQUFLO3VCQUFDLFFBQVE7Z0JBWU4sSUFBSTtzQkFBWixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0UsS0FBSztzQkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBpbmplY3QsIGlucHV0LCBtb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdJZiwgTmdDbGFzcywgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQnRuQ29tcG9uZW50IH0gZnJvbSAnLi4vYnRuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9TZXJ2aWNlcy91dGlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IE1vZGFsQ29tcG9uZW50cyBmcm9tICcuLi9tb2RhbC1jb21wb25lbnRzL21vZGFsLmNvbXBvbmVudHMnO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgV2ViY2FtTWVkaWFDb21wb25lbnQgfSBmcm9tICcuLi93ZWJjYW0tbWVkaWEvd2ViY2FtLW1lZGlhLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ0NsYXNzLCBOZ0ZvciwgQnRuQ29tcG9uZW50LE1vZGFsQ29tcG9uZW50cyxNYXRNZW51TW9kdWxlLFdlYmNhbU1lZGlhQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGhlbHA6IHN0cmluZztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgbWVkaWFXaWR0aCA9IG1vZGVsPG51bWJlcj4oMTA4MCk7IFxuICBjbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcbiAgdXNlV2ViY2FtID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICAvKipcbiAgICogT25seSB1c2VmdWwgaWYgdXNpbmcgdGhlIHdlYmNhbSBvcHRpb25cbiAgICovXG4gIGZpbGVOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gIG1pbmkgPSBpbnB1dCh0cnVlKTtcbiAgQElucHV0KCkgdXNlRG9jdW1lbnRNb2RhbDogYm9vbGVhbjtcbiAgbGlzdEZpbGVzID0gaW5wdXQodHJ1ZSk7XG4gIGFjY2VwdDogc3RyaW5nO1xuICBASW5wdXQoJ2FjY2VwdCcpIHNldCBfYWNjZXB0KHY6IHN0cmluZykge1xuICAgIHN3aXRjaCAodikge1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICB0aGlzLmFjY2VwdCA9ICcucG5nLC5qcGcsLmRvY3gsLnBkZic7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmFjY2VwdCA9IHY7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICAvLyBAVmlld0NoaWxkKCd1cGxvYWRJbnB1dCcpIHVwbG9hZElucHV0UmVmOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBASW5wdXQoKSBmaWxlOiBGaWxlO1xuICBAT3V0cHV0KCkgZmlsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZT4oKTtcbiAgQElucHV0KCkgZmlsZXM6IEZpbGVbXTtcbiAgQE91dHB1dCgpIGZpbGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlW10+KCk7XG5cbiAgcHVibGljIHVTID0gaW5qZWN0KFV0aWxpdHlTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIGdldCBpc1NpbmdsZSgpIHtcbiAgICByZXR1cm4gIXRoaXMubXVsdGlwbGU7XG4gIH1cbiAgcHJvdGVjdGVkIGFjY2VwdEZpbGVzKC4uLmZpbGVzOiBGaWxlW10pIHtcbiAgICB0aGlzLmZpbGVzID0gZmlsZXM7XG4gICAgdGhpcy5maWxlID0gZmlsZXMgPyBmaWxlc1swXSA6IG51bGw7XG4gICAgdGhpcy5lbWl0RmlsZXMoKTtcbiAgfVxuICBwcm90ZWN0ZWQgZW1pdEZpbGVzKCkge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB0aGlzLmZpbGVzQ2hhbmdlLmVtaXQodGhpcy5maWxlcyk7XG4gICAgZWxzZSB0aGlzLmZpbGVDaGFuZ2UuZW1pdCh0aGlzLmZpbGUpO1xuICB9XG5cbiAgb25VcGxvYWQoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbTxGaWxlPihldmVudC50YXJnZXQuZmlsZXMpO1xuICAgIHRoaXMuYWNjZXB0RmlsZXMoLi4uZmlsZXMpO1xuICB9XG5cbiAgcmVtb3ZlRmlsZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5maWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMuZmlsZSA9IHRoaXMuZmlsZXMgPyB0aGlzLmZpbGVzWzBdIDogbnVsbDtcblxuICAgIHRoaXMuZmlsZUNoYW5nZS5lbWl0KHRoaXMuZmlsZSk7XG4gICAgdGhpcy5maWxlc0NoYW5nZS5lbWl0KHRoaXMuZmlsZXMpO1xuICB9XG4gIG9wZW5EaWFsb2coKSB7XG4gICAgY29uc3QgaW5wID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICBpbnAudHlwZSA9ICdmaWxlJztcbiAgICBpbnAuYWNjZXB0ID0gdGhpcy5hY2NlcHQ7XG4gICAgaW5wLm11bHRpcGxlID0gdGhpcy5tdWx0aXBsZTtcbiAgICBpbnAub25jaGFuZ2UgPSAoZSkgPT4ge1xuICAgICAgdGhpcy5vblVwbG9hZChlKTtcbiAgICAgIGlucC5yZW1vdmUoKTtcbiAgICB9O1xuICAgIC8vIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wKTtcbiAgICBpbnAuY2xpY2soKTtcbiAgfVxufVxuIiwiQGlmIChsaXN0RmlsZXMoKSkge1xuICA8ZGl2IFtuZ0NsYXNzXT1cInsgbWV0YTogbWluaSgpIH1cIiBjbGFzcz1cInt7IGNsYXNzKCkgfX0gZm9ybS1sYWJlbCBtYi0yIGhpZGUtc2Nyb2xsXCI+XG4gICAgQGZvciAoaXRlbSBvZiBmaWxlczsgdHJhY2sgaXRlbSkge1xuICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1zdGFydCBtYi0xXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZS1zY3JvbGwgZmlsZS1uYW1lXCI+XG4gICAgICAgICAgICB7eyBpdGVtPy5uYW1lIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gdGV4dC1lbmRcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtZGFuZ2VyIHBvaW50ZXIgcC0xIGZhIGZhLWNsb3NlXCIgKGNsaWNrKT1cInJlbW92ZUZpbGUoJGluZGV4KVwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxufVxuPCEtLSA8aW5wdXQgdHlwZT1cImZpbGVcIiAgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiIGFjY2VwdD1cInt7YWNjZXB0fX1cIiAoY2hhbmdlKT1cIm9uVXBsb2FkKCRldmVudClcIiAjdXBsb2FkSW5wdXQgW211bHRpcGxlXT1cIm11bHRpcGxlXCI+IC0tPlxuPGFwcC1idG5cbiAgaWNvbj1cInVwbG9hZFwiXG4gIChtY2xpY2spPVwidXNlV2ViY2FtKCkgPyBudWxsIDogb3BlbkRpYWxvZygpXCJcbiAgW3R5cGVdPVwiZmlsZSA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2hlbHBdPVwiaGVscFwiXG4gIFt0ZXh0XT1cImxhYmVsXCJcbiAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInVzZVdlYmNhbSgpID8gbWVudSA6IG51bGxcIiAvPlxuXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib3BlbkRpYWxvZygpXCI+VXBsb2FkPC9idXR0b24+XG4gIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwid2ViY2FtTW9kYWwub3BlbigpXCI+VXNlIENhbWVyYTwvYnV0dG9uPlxuPC9tYXQtbWVudT5cblxuPG1vZGFsLWNvbXAgI3dlYmNhbU1vZGFsIHdpZHRoPVwiMTA4MHB4XCIgaGVhZGVyPVwiV2ViY2FtXCI+XG4gIDxuZy10ZW1wbGF0ZSBtb2RhbEJvZHk+XG4gICAgPGxpYi13ZWJjYW0tbWVkaWEgW2ZpbGVOYW1lXT1cImZpbGVOYW1lKClcIiBbd2lkdGhdPVwibWVkaWFXaWR0aCgpXCIgKGNsb3NlZCk9XCJ3ZWJjYW1Nb2RhbC5jbG9zZSgpOyBhY2NlcHRGaWxlcygkZXZlbnQpXCIgLz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbW9kYWwtY29tcD5cbiJdfQ==