fantasy-ngzorro 1.1.2 → 1.1.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.
@@ -931,4 +931,4 @@ if (false) {
931
931
  */
932
932
  HdTableComponent.prototype.commonSessionService;
933
933
  }
934
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZmFudGFzeS1uZ3pvcnJvLyIsInNvdXJjZXMiOlsiaGQtdGFibGUvaGQtdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWdCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUE4QyxNQUFNLG9CQUFvQixDQUFDO0FBRTlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFpQyxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvRjtJQTBERSwwQkFDVSxvQkFBMEM7UUFEcEQsaUJBRUs7UUFESyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBcEQzQyxjQUFTLEdBQXVCLEVBQUUsQ0FBQztRQUVuQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QyxnQkFBVyxHQUFXLFlBQVksQ0FBQzs7UUFFbkIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFL0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsaUJBQVksR0FBWSxLQUFLLENBQUM7O1FBRTlCLG1CQUFjLEdBQVcsQ0FBQyxD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RTVDLDBDQUF5RDs7SUFDekQsNENBQW1EOztJQUNuRCx1Q0FBMkM7O0lBQzNDLDRDQUFnRDs7SUFDaEQsd0NBQXVDOztJQUV2QywwQ0FBb0M7O0lBQ3BDLHlDQUErQjs7SUFDL0IsZ0RBQXlEOztJQUN6RCwrQ0FBd0Q7O0lBQ3hELHNDQUE0RTs7SUFDNUUsMkNBQXNGOztJQUN0Riw0Q0FBd0Y7O0lBQ3hGLGtDQUFjOztJQUdkLG1EQUFnQzs7SUFDaEMsMkNBQXdCOztJQUN4Qiw2Q0FBdUI7O0lBQ3ZCLHlDQUFtQjs7SUFDbkIsMkNBQWdEOztJQUNoRCwwQ0FBZ0Q7O0lBQ2hELDBDQUE0Qzs7SUFFNUMsZ0RBQTBCOzs7OztJQUMxQiwwQ0FBdUQ7O0lBRXZELDRDQUE0RDs7SUFDNUQsdUNBQWlCOztJQUVqQiwwQ0FBd0M7O0lBQ3hDLHFDQUEyQjs7SUFDM0IsOENBQXlDOztJQUN6QyxtREFBOEM7O0lBQzlDLHlDQUErQjs7SUFFL0IsNkNBQW1DOztJQUVuQyx3Q0FBbUM7O0lBRW5DLHlDQUFvQzs7SUFHcEMsOENBQXlDOztJQUN6QywrQ0FBMEM7O0lBbUoxQyxzQ0FvQkM7Ozs7O0lBcEtDLGdEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgbG9jYWxmb3JhZ2UgZnJvbSAnbG9jYWxmb3JhZ2UnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBOekZvcm1hdEJlZm9yZURyb3BFdmVudCwgTnpGb3JtYXRFbWl0RXZlbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUnO1xuaW1wb3J0IHsgTnpSZXNpemVFdmVudCB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmVzaXphYmxlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbFdpZHRoIH0gZnJvbSAnLi4vbW9kZWwvY29sV2lkdGgnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uL21vZGVsL2NvbW1vbi10eXBlJztcbmltcG9ydCB7IENvbW1vblNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jb21tb24tc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRhYmxlQ2FjaGVPcHRpb24sIFRhYmxlQ29sdW1uLCBUYWJsZVRvdGFsT3B0aW9uLCBUcmVlR3JpZCB9IGZyb20gJy4vaGQtdGFibGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hkLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hkLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGQtdGFibGUuY29tcG9uZW50Lmxlc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIZFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgdXVpZDogc3RyaW5nO1xuICBASW5wdXQoKSB0YWJsZUNvbHM6IEFycmF5PFRhYmxlQ29sdW1uPiA9IFtdO1xuICBASW5wdXQoKSB0YWJsZURhdGE6IFBhZ2U8YW55PjtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3RGaWVsZDogc3RyaW5nID0gJ2JpbGxOdW1iZXInO1xuICAvLyDlkIjorqHljLrln59cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dUYWJsZVRvdGFsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRhYmxlVG90YWxPcHRpb246IEFycmF5PFRhYmxlVG90YWxPcHRpb24+O1xuICBAT3V0cHV0KCkgc2VsZWN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSB0YWJsZVNlYXJjaEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSB0YWJsZUxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8g6KGo5qC85YiG6aG15Y+C5pWwXG4gIEBJbnB1dCgpIHRhYmxlUGFnZUluZGV4OiBudW1iZXIgPSAxO1xuICBASW5wdXQoKSB0YWJsZVBhZ2VTaXplOiBudW1iZXI7XG4gIEBPdXRwdXQoKSB0YWJsZVBhZ2VJbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdGFibGVQYWdlU2l6ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAQ29udGVudENoaWxkKFwidGFibGVUb3RhbFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFibGVUb3RhbDogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZChcInRhYmxlTGVmdEJ1dHRvblwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFibGVMZWZ0QnV0dG9uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidGFibGVSaWdodEJ1dHRvblwiLCB7IHN0YXRpYzogZmFsc2UgfSkgdGFibGVSaWdodEJ1dHRvbjogVGVtcGxhdGVSZWY8YW55PjtcbiAgc2Nyb2xsID0gbnVsbDtcblxuICAvLyDooajmoLzli77pgInlj4LmlbBcbiAgaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSBmYWxzZTtcbiAgaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG4gIGxpc3RPZkRpc3BsYXlEYXRhID0gW107XG4gIGxpc3RPZkFsbERhdGEgPSBbXTtcbiAgbGlzdE9mU2VsZWN0aW9uOiBBcnJheTxhbnk+IHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIG1hcE9mQ2hlY2tlZElkOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xuICBtYXBPZkNoZWNrTGlzdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAvLyDlkIjorqHlj4LmlbBcbiAgdGFibGVUb3RhbE9wdGlvbkxpc3QgPSBbXTtcbiAgcHJpdmF0ZSB0ZXh0V2lkdGhDYWNoZTogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICAvLyDnvJPlrZjkv6Hmga9cbiAgdGFibGVDYWNoZU9wdGlvbjogVGFibGVDYWNoZU9wdGlvbiA9IG5ldyBUYWJsZUNhY2hlT3B0aW9uKCk7XG4gIHVzZXJTZXNzaW9uOiBhbnk7XG5cbiAgdGFibGVDb2xzQ2FjaGU6IEFycmF5PFRhYmxlQ29sdW1uPiA9IFtdO1xuICBzaG93VGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0Q29sTGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgc2VsZWN0Q29sTGlzdE5vZGVzQ2FjaGU6IEFycmF5PFRyZWVHcmlkPiA9IFtdO1xuICBzaG93TGlzdE5vZGVzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgaXNEcm9wZG93blZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLy8g6K6+572u5YiX55qE5Y+v6KeB5pON5L2c5pWw57uEXG4gIG5vd0xpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG4gIC8vIOiuvue9ruWIl+eahOS4jeWPr+ingeaTjeS9nOaVsOe7hFxuICBoaWRlTGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcblxuICAvLyDngrnlh7vml7bpnIDopoHmnInkuLTml7bmlbDnu4TlrZjmlL7kuKTkuKp0cmVlLOeUqOS6juWPlua2iOaXtuWAmeaBouWkjeiwg+aVtOWJjeeahOeKtuaAgVxuICBjYW5jZWxOb3dMaXN0Tm9kZXM6IEFycmF5PFRyZWVHcmlkPiA9IFtdO1xuICBjYW5jZWxIaWRlTGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNvbW1vblNlc3Npb25TZXJ2aWNlOiBDb21tb25TZXNzaW9uU2VydmljZVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXNlclNlc3Npb24gPSB0aGlzLmNvbW1vblNlc3Npb25TZXJ2aWNlLmdldFNlc3Npb24oJ19fanlfYXV0aG9yaXphdGlvbl9zZXNzaW9uX18nKTtcbiAgICAvLyDnlKjkuo7lvIDlj5Hnjq/looPosIPor5VcbiAgICBpZiAoIXRoaXMudXNlclNlc3Npb24pIHtcbiAgICAgIHRoaXMudXNlclNlc3Npb24gPSB7XG4gICAgICAgIHVzZXJDb2RlOiAnZGV2J1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmdldEluaXRMb2NhbGZvcmFnZSgpO1xuICB9XG5cbiAgZ2V0SW5pdExvY2FsZm9yYWdlKCkge1xuICAgIC8vIOmmluWFiOiOt+WPluW9k+WJjWhkLXRhYmxl5a2Y5YKo55qE5pWw5o2uIOWmguaenOayoeacie+8jOWImeWIneWni+WMluS4i+W9k+WJjeeahOaVsOaNrlxuICAgIGxvY2FsZm9yYWdlLmdldEl0ZW0oJ2hkLXRhYmxlXycgKyB0aGlzLnVzZXJTZXNzaW9uLnVzZXJDb2RlICsgJ18nICsgdGhpcy51dWlkKS50aGVuKCh2YWx1ZTogVGFibGVDYWNoZU9wdGlvbikgPT4ge1xuICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uID0gdmFsdWU7XG4gICAgICBpZiAodGhpcy50YWJsZUNhY2hlT3B0aW9uLnBhZ2VTaXplICYmIHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZSA+IDEwKSB7XG4gICAgICAgIHRoaXMudGFibGVQYWdlU2l6ZSA9IHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZTtcbiAgICAgICAgdGhpcy50YWJsZVBhZ2VTaXplQ2hhbmdlLmVtaXQodGhpcy50YWJsZVBhZ2VTaXplKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudGFibGVQYWdlU2l6ZSA9IHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZSB8fCAxMDtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocykge1xuICAgICAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaW5pdFRhYmxlKCk7XG4gICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uID0gbmV3IFRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgICAgIHRoaXMudGFibGVQYWdlU2l6ZSA9IDEwO1xuICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLnBhZ2VTaXplID0gMTA7XG4gICAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgICAgIHRoaXMuaW5pdFRhYmxlKCk7XG4gICAgfSk7XG4gIH1cblxuICBpbml0VGFibGUoKSB7XG4gICAgdGhpcy5zaG93VGFibGUgPSBmYWxzZTtcbiAgICBpZiAoIXRoaXMudXVpZCkge1xuICAgICAgdGhyb3cgJ2hkLXRhYmxl57y65aSxdXVpZOWPguaVsO+8jOivt+S9v+eUqOe8lui+keWZqOaPkuS7tueUn+aIkOW5tue7mWhkLXRhYmxl6LWL5LqIdXVpZOWxnuaApyc7XG4gICAgfVxuICAgIGlmICh0aGlzLmp1ZGdlUmVwZWF0Q29scygpKSB7XG4gICAgICB0aGlzLmRlYWxDb2xzKCk7XG4gICAgICB0aGlzLnNldENvbHMoKTtcbiAgICAgIHRoaXMuZGVhbFNjcm9sbCgpO1xuICAgICAgdGhpcy5kZWFsT3BlcmF0ZUJ0bigpO1xuICAgICAgdGhpcy5zaG93VGFibGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIOiuvue9ruWIl+eCueWHu+WPlua2iFxuICBjYW5jZWxEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5oaWRlTGlzdE5vZGVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNhbmNlbEhpZGVMaXN0Tm9kZXMpKTtcbiAgICB0aGlzLm5vd0xpc3ROb2RlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jYW5jZWxOb3dMaXN0Tm9kZXMpKTtcbiAgfVxuXG4gIC8vIOeCueWHu+inpuWPkeiuvue9ruWIl1xuICBjb25maXJtRHJvcGRvd24oKTogdm9pZCB7XG4gICAgLy8g5Li05pe25a2Y5pS+5LiL77yM5Y+W5raI55qE5pe25YCZ5oGi5aSN5Y6f5p2l55qE54q25oCBICAg5rex5ou36LSd5LiL5a+56LGh5pWw57uEXG4gICAgdGhpcy5jYW5jZWxIaWRlTGlzdE5vZGVzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmhpZGVMaXN0Tm9kZXMpKTtcbiAgICB0aGlzLmNhbmNlbE5vd0xpc3ROb2RlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5ub3dMaXN0Tm9kZXMpKTtcbiAgICB0aGlzLmlzRHJvcGRvd25WaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIHN1Ym1pdEdyaWRzKCkge1xuICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzID0gW107XG4gICAgdGhpcy5ub3dMaXN0Tm9kZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLnB1c2goaXRlbS50aXRsZSk7XG4gICAgfSlcbiAgICB0aGlzLnNhdmVUYWJsZUNhY2hlT3B0aW9uKCk7XG4gICAgdGhpcy5pbml0VGFibGUoKTtcbiAgICB0aGlzLmlzRHJvcGRvd25WaXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICAvLyDku47nvJPlrZjorr7nva7liJdcbiAgc2V0Q29scygpIHtcbiAgICB0aGlzLnNob3dMaXN0Tm9kZXMgPSBmYWxzZTtcbiAgICB0aGlzLm5vd0xpc3ROb2RlcyA9IFtdO1xuICAgIHRoaXMuaGlkZUxpc3ROb2RlcyA9IFtdO1xuICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scykge1xuICAgICAgbGV0IHsgbm90SW5jb2xzLCBpbmNvbHMgfSA9IHRoaXMudGFibGVDb2xzQ2FjaGUucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluY2x1ZGVzKGl0ZW0udGl0bGUpKSB7XG4gICAgICAgICAgYWNjLmluY29scy5wdXNoKGl0ZW0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFjYy5ub3RJbmNvbHMucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgeyBub3RJbmNvbHM6IFtdLCBpbmNvbHM6IFtdIH0pO1xuICAgICAgaW5jb2xzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluZGV4T2YoYS50aXRsZSkgLSB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmRleE9mKGIudGl0bGUpO1xuICAgICAgfSlcbiAgICAgIHRoaXMudGFibGVDb2xzID0gaW5jb2xzLmNvbmNhdChub3RJbmNvbHMpO1xuICAgIH1cblxuICAgIHRoaXMudGFibGVDb2xzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICBpZiAodGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMpIHtcbiAgICAgICAgZWxlbWVudC5pc1Nob3cgPSB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmNsdWRlcyhlbGVtZW50LnRpdGxlKSA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgaWYgKGVsZW1lbnQuaXNTaG93KSB7XG4gICAgICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMucHVzaCh7XG4gICAgICAgICAgICB0aXRsZTogZWxlbWVudC50aXRsZSxcbiAgICAgICAgICAgIGtleTogZWxlbWVudC50aXRsZSxcbiAgICAgICAgICAgIGRpc2FibGVkOiBlbGVtZW50LmZpeGVkID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgICAgICAgc2VsZWN0YWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjaGVja2VkOiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmNsdWRlcyhlbGVtZW50LnRpdGxlKSA/IHRydWUgOiBmYWxzZVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5oaWRlTGlzdE5vZGVzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgICBrZXk6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgICBkaXNhYmxlZDogZWxlbWVudC5maXhlZCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIHNlbGVjdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY2hlY2tlZDogdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoZWxlbWVudC50aXRsZSkgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50LmlzU2hvdyA9IHRydWU7XG4gICAgICAgIHRoaXMubm93TGlzdE5vZGVzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgIGtleTogZWxlbWVudC50aXRsZSxcbiAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICAgIHNlbGVjdGFibGU6IGZhbHNlLFxuICAgICAgICAgIGRpc2FibGVkOiBlbGVtZW50LmZpeGVkID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyDosIPmlbTliJflrr3kuLrnvJPlrZjlrr3luqZcbiAgICBpZiAodGhpcy50YWJsZUNhY2hlT3B0aW9uICYmIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMgJiYgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocy5zaXplICE9PSAwKSB7XG4gICAgICB0aGlzLnRhYmxlQ29scy5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMuaGFzKGNvbC50aXRsZSkpIHtcbiAgICAgICAgICBjb2wud2lkdGggPSB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzLmdldChjb2wudGl0bGUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIHRoaXMuZGVhbENvbHMoKTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd0xpc3ROb2RlcyA9IHRydWU7XG4gICAgfSwgMCk7XG4gIH1cblxuICAvLyDmi5bmi73mk43kvZxcbiAgYmVmb3JlRHJvcCA9IChhcmc6IE56Rm9ybWF0QmVmb3JlRHJvcEV2ZW50KTogT2JzZXJ2YWJsZTxib29sZWFuPiA9PiB7XG4gICAgaWYgKGFyZy5ub2RlLm9yaWdpbi5kaXNhYmxlZCB8fCAhYXJnLmRyYWdOb2RlLm9yaWdpbi5jaGVja2VkKSB7XG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgbm9kZTogVHJlZUdyaWQgPSBuZXcgVHJlZUdyaWQoKTtcbiAgICAgIG5vZGUuY2hlY2tlZCA9IGFyZy5kcmFnTm9kZS5vcmlnaW4uY2hlY2tlZDtcbiAgICAgIG5vZGUuZGlzYWJsZWQgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmRpc2FibGVkO1xuICAgICAgbm9kZS5leHBhbmRlZCA9IGFyZy5kcmFnTm9kZS5vcmlnaW4uZXhwYW5kZWQ7XG4gICAgICBub2RlLmlzTGVhZiA9IGFyZy5kcmFnTm9kZS5vcmlnaW4uaXNMZWFmO1xuICAgICAgbm9kZS5rZXkgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmtleTtcbiAgICAgIG5vZGUuc2VsZWN0YWJsZSA9IGFyZy5kcmFnTm9kZS5vcmlnaW4uc2VsZWN0YWJsZTtcbiAgICAgIG5vZGUudGl0bGUgPSBhcmcuZHJhZ05vZGUub3JpZ2luLnRpdGxlO1xuICAgICAgLy8g5ouW5ou95YWD57Sg5LiL5qCHXG4gICAgICBsZXQgZHJhZ05vZGVJbmRleCA9IHRoaXMubm93TGlzdE5vZGVzLmZpbmRJbmRleChpdGVtID0+IHsgcmV0dXJuIGl0ZW0udGl0bGUgPT0gYXJnLmRyYWdOb2RlLm9yaWdpbi50aXRsZSB9KTtcbiAgICAgIC8vIOebruagh+S9jee9rueahOS4i+agh1xuICAgICAgbGV0IG5vZGVJbmRleCA9IHRoaXMubm93TGlzdE5vZGVzLmZpbmRJbmRleChpdGVtID0+IHsgcmV0dXJuIGl0ZW0udGl0bGUgPT0gYXJnLm5vZGUub3JpZ2luLnRpdGxlIH0pICsgKGFyZy5wb3MgPT09IC0xID8gMCA6IGFyZy5wb3MpO1xuICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMuc3BsaWNlKG5vZGVJbmRleCwgMCwgbm9kZSk7XG4gICAgICB0aGlzLm5vd0xpc3ROb2Rlcy5zcGxpY2Uobm9kZUluZGV4ID49IGRyYWdOb2RlSW5kZXggPyBkcmFnTm9kZUluZGV4IDogZHJhZ05vZGVJbmRleCArIDEsIDEpO1xuICAgICAgcmV0dXJuIG9mKHRydWUpLnBpcGUoZGVsYXkoMTAwKSk7XG4gICAgfVxuICB9XG5cbiAgbW92ZUVsZW1lbnROZWFyYnkoYXJyLCBlbGVtZW50VG9Nb3ZlVGl0bGUsIHRhcmdldEVsZW1lbnRUaXRsZSwgcG9zKSB7XG4gICAgY29uc3QgdG1wQXJyYXkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGFycikpO1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdG1wQXJyYXkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS50aXRsZSA9PT0gdGFyZ2V0RWxlbWVudFRpdGxlKTtcbiAgICBjb25zdCBlbGVtZW50SW5kZXggPSB0bXBBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtLnRpdGxlID09PSBlbGVtZW50VG9Nb3ZlVGl0bGUpO1xuICAgIGNvbnN0IG5ld0luZGV4ID0gcG9zIDwgMCA/ICh0YXJnZXRJbmRleCArIHBvcykgOiB0YXJnZXRJbmRleDtcbiAgICAvLyDnp7vpmaTnm67moIflhYPntKDvvIzlubbmj5LlhaXliLDmlrDnmoTkvY3nva5cbiAgICBjb25zdCByZW1vdmVkRWxlbWVudCA9IHRtcEFycmF5LnNwbGljZShlbGVtZW50SW5kZXgsIDEpO1xuICAgIHRtcEFycmF5LnNwbGljZShuZXdJbmRleCArIDEsIDAsIHJlbW92ZWRFbGVtZW50WzBdKTtcbiAgICByZXR1cm4gdG1wQXJyYXk7XG4gIH1cblxuICAvLyDli77pgInmk43kvZxcbiAgY2hlY2tBY3Rpb24oZXZlbnQ6IE56Rm9ybWF0RW1pdEV2ZW50KTogdm9pZCB7XG4gICAgLy8g5Yu+6YCJ5Y+q5pyJ5ZyoaGlkZUxpc3ROb2Rlcyzlj5bmtojli77pgInlj6rmnInlnKhub3dMaXN0Tm9kZXNcbiAgICBpZiAoZXZlbnQubm9kZS5vcmlnaW4uY2hlY2tlZCkge1xuICAgICAgbGV0IG5vZGU6IFRyZWVHcmlkID0gbmV3IFRyZWVHcmlkKCk7XG4gICAgICBub2RlID0gdGhpcy5oaWRlTGlzdE5vZGVzLmZpbmQoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udGl0bGUgPT09IGV2ZW50Lm5vZGUub3JpZ2luLnRpdGxlO1xuICAgICAgfSlcbiAgICAgIG5vZGUuY2hlY2tlZCA9IHRydWU7XG4gICAgICAvLyDmib7liLDnrKzkuIDkuKpmaXhlZOWxnuaAp+S4unJpZ2h055qEdGl0bGXvvIzmib7liLDmj5LlhaXlhYPntKDnmoTkvY3nva5cbiAgICAgIGxldCB0aXRsZSA9IG51bGw7XG4gICAgICBmb3IgKGxldCBpID0gdGhpcy50YWJsZUNvbHNDYWNoZS5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBpZiAodGhpcy50YWJsZUNvbHNDYWNoZVtpXS5maXhlZCA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICAgIHRpdGxlID0gdGhpcy50YWJsZUNvbHNDYWNoZVtpXS50aXRsZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGV0IHRlbXBvcmFyeU5vZGVMaXN0ID0gdGhpcy5ub3dMaXN0Tm9kZXMuc2xpY2UoMCk7XG4gICAgICBpZiAoIXRpdGxlKSB7XG4gICAgICAgIHRlbXBvcmFyeU5vZGVMaXN0LnB1c2gobm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubm93TGlzdE5vZGVzLmZpbmRJbmRleChub2RlID0+IG5vZGUudGl0bGUgPT09IHRpdGxlKTtcbiAgICAgICAgdGVtcG9yYXJ5Tm9kZUxpc3Quc3BsaWNlKGluZGV4LCAwLCBub2RlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubm93TGlzdE5vZGVzID0gdGVtcG9yYXJ5Tm9kZUxpc3Q7XG4gICAgICB0aGlzLmhpZGVMaXN0Tm9kZXMgPSB0aGlzLmhpZGVMaXN0Tm9kZXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnRpdGxlICE9PSBldmVudC5ub2RlLm9yaWdpbi50aXRsZTtcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmhpZGVMaXN0Tm9kZXMubGVuZ3RoID09PSAwICYmIHRoaXMudGFibGVDYWNoZU9wdGlvbiAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scykge1xuICAgICAgICB0aGlzLmhpZGVMaXN0Tm9kZXMgPSB0aGlzLmdldEhpZGVMaXN0Tm9kZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCB0ZW1wb3JhcnlOb2RlTGlzdCA9IHRoaXMuaGlkZUxpc3ROb2Rlcy5zbGljZSgwKTtcbiAgICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICBpZiAoaXRlbS50aXRsZSA9PT0gZXZlbnQubm9kZS5vcmlnaW4udGl0bGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGlubmVySXRlbSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xuICAgICAgICAgICAgaW5uZXJJdGVtLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGVtcG9yYXJ5Tm9kZUxpc3QucHVzaChpdGVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuaGlkZUxpc3ROb2RlcyA9IHRlbXBvcmFyeU5vZGVMaXN0O1xuICAgICAgfVxuICAgICAgLy8g5Li65LqG6Ziy5q2i5pyq6YCJ5oup55qE5pWw57uE6aG65bqP5Zug5Li6cHVzaOaWueazleiAjOaUueWPmO+8jOmAmui/h+WIneWni+aVsOaNruiOt+WPluaYvuekuueahOWtl+auteWIl+ihqFxuICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMgPSB0aGlzLm5vd0xpc3ROb2Rlcy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udGl0bGUgIT09IGV2ZW50Lm5vZGUub3JpZ2luLnRpdGxlO1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvLyDpmLLmraLmnKrpgInmi6nnmoTmlbDnu4Tpobrluo/lm6DkuLpwdXNo5pa55rOV6ICM5pS55Y+Y77yM5LuO5Yid5aeL5pWw5o2u6I635Y+W6ZqQ6JeP5pyq5pi+56S655qE5a2X5q615YiX6KGoXG4gIGdldEhpZGVMaXN0Tm9kZXMoKTogQXJyYXk8VHJlZUdyaWQ+IHtcbiAgICBsZXQgdGVtcG9yYXJ5Tm9kZUxpc3Q6IEFycmF5PFRyZWVHcmlkPiA9IFtdO1xuICAgIC8vIOS7jnRhYmxlQ29sc0NhY2hl6YeM6Z2i5om+5rKh5pyJ5Zyoc3RvcmFnZemHjOmdouWHuueOsOeahOWtl+autSznu4TmiJBoaWRlTGlzdFxuICAgIHRoaXMudGFibGVDb2xzQ2FjaGUuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmNsdWRlcyhpdGVtLnRpdGxlKSkge1xuICAgICAgICBsZXQgbm9kZUl0ZW06IFRyZWVHcmlkID0gbmV3IFRyZWVHcmlkKCk7XG4gICAgICAgIG5vZGVJdGVtLnRpdGxlID0gaXRlbS50aXRsZTtcbiAgICAgICAgbm9kZUl0ZW0ua2V5ID0gaXRlbS50aXRsZTtcbiAgICAgICAgbm9kZUl0ZW0uZGlzYWJsZWQgPSBpdGVtLmZpeGVkID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICBub2RlSXRlbS5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgIHRlbXBvcmFyeU5vZGVMaXN0LnB1c2gobm9kZUl0ZW0pO1xuICAgICAgfVxuICAgIH0pXG4gICAgcmV0dXJuIHRlbXBvcmFyeU5vZGVMaXN0O1xuICB9XG5cbiAgZGVhbENvbHMoKSB7XG4gICAgLy8g5aSE55CG5bem5Y+z5ZC46ZmE55qE5pWw5o2u5Zyo5pWw57uE5Lit55qE5L2N572uXG4gICAgY29uc3QgbGVmdEZpeGVkQ29scyA9IHRoaXMudGFibGVDb2xzLmZpbHRlcihjb2wgPT4gY29sLmZpeGVkID09PSAnbGVmdCcpO1xuICAgIGNvbnN0IHJpZ2h0Rml4ZWRDb2xzID0gdGhpcy50YWJsZUNvbHMuZmlsdGVyKGNvbCA9PiBjb2wuZml4ZWQgPT09ICdyaWdodCcpO1xuICAgIGNvbnN0IG5vcm1hbENvbHMgPSB0aGlzLnRhYmxlQ29scy5maWx0ZXIoY29sID0+ICFjb2wuZml4ZWQpO1xuICAgIGNvbnN0IHJlc3VsdENvbHMgPSBsZWZ0Rml4ZWRDb2xzLmNvbmNhdChub3JtYWxDb2xzKS5jb25jYXQocmlnaHRGaXhlZENvbHMpO1xuICAgIHRoaXMudGFibGVDb2xzID0gcmVzdWx0Q29scztcbiAgICBpZiAoIXRoaXMudGFibGVDb2xzQ2FjaGUgfHwgdGhpcy50YWJsZUNvbHNDYWNoZS5sZW5ndGggPT09IDApIHtcbiAgICAgIC8vIOe8k+WtmOS4gOS4i+ihqOagvOeahOaVsOaNrlxuICAgICAgdGhpcy50YWJsZUNvbHNDYWNoZSA9IFsuLi50aGlzLnRhYmxlQ29sc107XG4gICAgfVxuICB9XG5cbiAgc2F2ZVRhYmxlQ2FjaGVPcHRpb24oKSB7XG4gICAgbG9jYWxmb3JhZ2Uuc2V0SXRlbSgnaGQtdGFibGVfJyArIHRoaXMudXNlclNlc3Npb24udXNlckNvZGUgKyAnXycgKyB0aGlzLnV1aWQsIHRoaXMudGFibGVDYWNoZU9wdGlvbik7XG4gIH1cblxuICBqdWRnZVJlcGVhdENvbHMoKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYmxlQ29scy5sZW5ndGg7IGkrKykge1xuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgdGhpcy50YWJsZUNvbHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKHRoaXMudGFibGVDb2xzW2ldLnRpdGxlID09PSB0aGlzLnRhYmxlQ29sc1tqXS50aXRsZSkge1xuICAgICAgICAgIHRocm93IGBoZC10YWJsZee7hOS7tuS4reWIl+WQjSAke3RoaXMudGFibGVDb2xzW2ldLnRpdGxlfSDph43lpI1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgb25SZXNpemUoeyB3aWR0aCB9OiBOelJlc2l6ZUV2ZW50LCBjb2w6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMuc2V0KGNvbCwgd2lkdGgpO1xuICAgIHRoaXMuc2F2ZVRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgICB0aGlzLnRhYmxlQ29scyA9IHRoaXMudGFibGVDb2xzLm1hcChlID0+IChlLnRpdGxlID09PSBjb2wgPyB7IC4uLmUsIHdpZHRoOiB3aWR0aCB9IDogZSkpO1xuICB9XG5cbiAgZGVhbE9wZXJhdGVCdG4oKSB7XG4gICAgbGV0IG9wZXJhdGVDb2wgPSB0aGlzLnRhYmxlQ29scy5maW5kKGNvbCA9PiBjb2wudGl0bGUgPT09ICfmk43kvZwnKSB8fCBudWxsO1xuICAgIGlmIChvcGVyYXRlQ29sKSB7XG4gICAgICBsZXQgdGV4dFN0ciA9ICcnO1xuICAgICAgb3BlcmF0ZUNvbC5idG5MaXN0LmZvckVhY2goYnRuID0+IHtcbiAgICAgICAgdGV4dFN0ciArPSBidG4ubmFtZTtcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICBzcGFuLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgIHNwYW4uc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgc3Bhbi5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCc7XG4gICAgICBzcGFuLnN0eWxlLmZvbnRTaXplID0gJzEycHgnO1xuICAgICAgc3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ2lubGluZS1ibG9jayc7IC8vIOWwhuagt+W8j+S/ruaUueS4uiBpbmxpbmUtYmxvY2tcbiAgICAgIHNwYW4uaW5uZXJUZXh0ID0gdGV4dFN0cjtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3Bhbik7XG4gICAgICBvcGVyYXRlQ29sLndpZHRoID0gc3Bhbi5vZmZzZXRXaWR0aCArIChvcGVyYXRlQ29sLmJ0bkxpc3QubGVuZ3RoIC0gMSkgKiA0ICsgMTY7XG4gICAgICBzcGFuLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNwYW4pO1xuICAgIH1cbiAgfVxuXG5cblxuICB0cmlnZ2VyRXZlbnQoZm46IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGlmIChmbikge1xuICAgICAgZm4oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGRlYWxTY3JvbGwoKSB7XG4gICAgbGV0IGNvbFdpZHRoID0gMDtcbiAgICBpZiAodGhpcy5zaG93U2VsZWN0ZWQpIHtcbiAgICAgIGNvbFdpZHRoICs9IDQwO1xuICAgIH1cbiAgICB0aGlzLnRhYmxlQ29scy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKCFpdGVtLndpZHRoKSB7XG4gICAgICAgIGl0ZW0ud2lkdGggPSBDb2xXaWR0aC5maXhDb2xXaWR0aDtcbiAgICAgIH1cbiAgICAgIGlmIChpdGVtLmlzU2hvdykge1xuICAgICAgICBpdGVtLmZpeGVkV2lkdGggPSBjb2xXaWR0aDtcbiAgICAgICAgY29sV2lkdGggKz0gaXRlbS53aWR0aDtcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5zY3JvbGwgPSB7XG4gICAgICB4OiAnMXB4JyxcbiAgICAgIHk6ICdjYWxjKDEwMHZoIC0gMTQwcHgpJ1xuICAgIH1cbiAgfVxuXG4gIGlzVGV4dE92ZXJmbG93KHRleHQ6IHN0cmluZywgbWF4V2lkdGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNhY2hlZFdpZHRoID0gdGhpcy50ZXh0V2lkdGhDYWNoZVt0ZXh0XTtcbiAgICBpZiAoY2FjaGVkV2lkdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGNhY2hlZFdpZHRoICsgMTUgPj0gbWF4V2lkdGg7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBzcGFuLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICBzcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBzcGFuLnN0eWxlLndoaXRlU3BhY2UgPSAnbm93cmFwJztcbiAgICBzcGFuLnN0eWxlLmZvbnRTaXplID0gJzEycHgnO1xuICAgIHNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snOyAvLyDlsIbmoLflvI/kv67mlLnkuLogaW5saW5lLWJsb2NrXG4gICAgc3Bhbi5pbm5lclRleHQgPSB0ZXh0O1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3Bhbik7XG4gICAgY29uc3QgaXNPdmVyZmxvdyA9IHNwYW4ub2Zmc2V0V2lkdGggKyAxNSA+PSBtYXhXaWR0aDtcbiAgICB0aGlzLnRleHRXaWR0aENhY2hlW3RleHRdID0gc3Bhbi5vZmZzZXRXaWR0aDtcbiAgICBzcGFuLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzcGFuKTtcbiAgICByZXR1cm4gaXNPdmVyZmxvdztcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZSkge1xuICAgIC8vIOaVsOaNruaUueWPmOaXtu+8jOmHjee9ruWLvumAieeKtuaAgVxuICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXNbJ3RhYmxlRGF0YSddICYmIGNoYW5nZXNbJ3RhYmxlRGF0YSddWydjdXJyZW50VmFsdWUnXSAmJiBjaGFuZ2VzWyd0YWJsZURhdGEnXVsncHJldmlvdXNWYWx1ZSddKSB7XG4gICAgICBpZiAoY2hhbmdlc1sndGFibGVEYXRhJ11bJ2N1cnJlbnRWYWx1ZSddWydwYWdlU2l6ZSddICE9PSBjaGFuZ2VzWyd0YWJsZURhdGEnXVsncHJldmlvdXNWYWx1ZSddWydwYWdlU2l6ZSddXG4gICAgICAgIHx8IGNoYW5nZXNbJ3RhYmxlRGF0YSddWydjdXJyZW50VmFsdWUnXVsncGFnZU51bWJlciddICE9PSBjaGFuZ2VzWyd0YWJsZURhdGEnXVsncHJldmlvdXNWYWx1ZSddWydwYWdlTnVtYmVyJ10pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5yZXNldFN0YXR1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIOihqOagvOWLvumAiemAu+i+kVxuICBjdXJyZW50UGFnZURhdGFDaGFuZ2UoJGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RPZkRpc3BsYXlEYXRhID0gJGV2ZW50O1xuICAgIHRoaXMucmVmcmVzaFN0YXR1cygpO1xuICAgIHRoaXMucmVzZXRTdGF0dXMoKTtcbiAgfVxuXG4gIHNlYXJjaChyZXNldDogYm9vbGVhbikge1xuICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZSA9IHRoaXMudGFibGVQYWdlU2l6ZTtcbiAgICB0aGlzLnNhdmVUYWJsZUNhY2hlT3B0aW9uKCk7XG4gICAgaWYgKHJlc2V0KSB7XG4gICAgICB0aGlzLnRhYmxlUGFnZVNpemVDaGFuZ2UuZW1pdCh0aGlzLnRhYmxlUGFnZVNpemUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRhYmxlUGFnZUluZGV4Q2hhbmdlLmVtaXQodGhpcy50YWJsZVBhZ2VJbmRleCk7XG4gICAgfVxuICAgIC8vIOinpuWPkeeItue7hOS7tuafpeivouS6i+S7tlxuICAgIHRoaXMudGFibGVTZWFyY2hFdmVudC5lbWl0KHJlc2V0KTtcbiAgfVxuXG4gIHJlc2V0U3RhdHVzKCkge1xuICAgIHRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgIHRoaXMubWFwT2ZDaGVja2VkSWQgPSB7fTtcbiAgICB0aGlzLm1hcE9mQ2hlY2tMaXN0ID0ge307XG4gICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KFtdKTtcbiAgfVxuXG4gIHJlZnJlc2hTdGF0dXMoZXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSwgZGF0YTogYW55ID0gbnVsbCk6IHZvaWQge1xuICAgIGlmIChldmVudCAmJiBkYXRhKSB7XG4gICAgICAhdGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXSAmJiAodGhpcy5tYXBPZkNoZWNrTGlzdFtkYXRhW3RoaXMuc2VsZWN0RmllbGRdXSA9IGRhdGEpO1xuICAgIH0gZWxzZSBpZiAoIWV2ZW50ICYmIGRhdGEpIHtcbiAgICAgIHRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgZGVsZXRlIHRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV07XG4gICAgfVxuICAgIHRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQgPSB0aGlzLmxpc3RPZkRpc3BsYXlEYXRhLmV2ZXJ5KGl0ZW0gPT4gdGhpcy5tYXBPZkNoZWNrZWRJZFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSk7XG4gICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPVxuICAgICAgdGhpcy5saXN0T2ZEaXNwbGF5RGF0YS5zb21lKGl0ZW0gPT4gdGhpcy5tYXBPZkNoZWNrZWRJZFtpdGVtW3RoaXMuc2VsZWN0RmllbGRdXSkgJiYgIXRoaXMuaXNBbGxEaXNwbGF5RGF0YUNoZWNrZWQ7XG4gICAgLy8g6Kem5Y+Rc2VsZWN05LqL5Lu2XG4gICAgaWYgKHRoaXMuc2VsZWN0RXZlbnQpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkTGlzdDogQXJyYXk8YW55PiA9IE9iamVjdC52YWx1ZXModGhpcy5tYXBPZkNoZWNrTGlzdCk7XG4gICAgICB0aGlzLnNlbGVjdEV2ZW50LmVtaXQoc2VsZWN0ZWRMaXN0KTtcbiAgICB9XG4gICAgLy8g5aaC5p6c5pWw5o2u5Li656m677yM5YiZ5riF56m65Yu+6YCJ5qCH6K+GXG4gICAgaWYgKHRoaXMudGFibGVEYXRhLmNvbnRlbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tBbGwodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RPZkRpc3BsYXlEYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgIXRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgKHRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gPSBpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgZGVsZXRlIHRoaXMubWFwT2ZDaGVja0xpc3RbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV07XG4gICAgICB9XG5cbiAgICAgIHRoaXMubWFwT2ZDaGVja2VkSWRbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0gPSB2YWx1ZVxuICAgIH0pO1xuICAgIHRoaXMucmVmcmVzaFN0YXR1cygpO1xuICB9XG59XG4iXX0=
934
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZmFudGFzeS1uZ3pvcnJvLyIsInNvdXJjZXMiOlsiaGQtdGFibGUvaGQtdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWdCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEtBQUssV0FBVyxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUE4QyxNQUFNLG9CQUFvQixDQUFDO0FBRTlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFxQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRztJQTBERSwwQkFDVSxvQkFBMEM7UUFEcEQsaUJBRUs7UUFESyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBcEQzQyxjQUFTLEdBQXlCLEVBQUUsQ0FBQztRQUVyQixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QyxnQkFBVyxHQUFXLFlBQVksQ0FBQzs7UUFFbkIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFL0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkMsaUJBQVksR0FBWSxLQUFLLENBQUM7O1FBRTlCLG1CQUFjLEdBQVcsQ0FBQyxD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RTVDLDBDQUF5RDs7SUFDekQsNENBQXFEOztJQUNyRCx1Q0FBMkM7O0lBQzNDLDRDQUFnRDs7SUFDaEQsd0NBQXVDOztJQUV2QywwQ0FBb0M7O0lBQ3BDLHlDQUErQjs7SUFDL0IsZ0RBQXlEOztJQUN6RCwrQ0FBd0Q7O0lBQ3hELHNDQUE0RTs7SUFDNUUsMkNBQXNGOztJQUN0Riw0Q0FBd0Y7O0lBQ3hGLGtDQUFjOztJQUdkLG1EQUFnQzs7SUFDaEMsMkNBQXdCOztJQUN4Qiw2Q0FBdUI7O0lBQ3ZCLHlDQUFtQjs7SUFDbkIsMkNBQWdEOztJQUNoRCwwQ0FBZ0Q7O0lBQ2hELDBDQUE0Qzs7SUFFNUMsZ0RBQTBCOzs7OztJQUMxQiwwQ0FBdUQ7O0lBRXZELDRDQUE0RDs7SUFDNUQsdUNBQWlCOztJQUVqQiwwQ0FBMEM7O0lBQzFDLHFDQUEyQjs7SUFDM0IsOENBQXlDOztJQUN6QyxtREFBOEM7O0lBQzlDLHlDQUErQjs7SUFFL0IsNkNBQW1DOztJQUVuQyx3Q0FBbUM7O0lBRW5DLHlDQUFvQzs7SUFHcEMsOENBQXlDOztJQUN6QywrQ0FBMEM7O0lBbUoxQyxzQ0FvQkM7Ozs7O0lBcEtDLGdEQUFrRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgbG9jYWxmb3JhZ2UgZnJvbSAnbG9jYWxmb3JhZ2UnO1xuaW1wb3J0IHsgSW5wdXRCb29sZWFuLCBOekZvcm1hdEJlZm9yZURyb3BFdmVudCwgTnpGb3JtYXRFbWl0RXZlbnQgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUnO1xuaW1wb3J0IHsgTnpSZXNpemVFdmVudCB9IGZyb20gJ25nLXpvcnJvLWFudGQvcmVzaXphYmxlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbFdpZHRoIH0gZnJvbSAnLi4vbW9kZWwvY29sV2lkdGgnO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uL21vZGVsL2NvbW1vbi10eXBlJztcbmltcG9ydCB7IENvbW1vblNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS9jb21tb24tc2Vzc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEhkVGFibGVDb2x1bW4sIEhkVGFibGVUb3RhbE9wdGlvbiwgVGFibGVDYWNoZU9wdGlvbiwgVHJlZUdyaWQgfSBmcm9tICcuL2hkLXRhYmxlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZC10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZC10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hkLXRhYmxlLmNvbXBvbmVudC5sZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgSGRUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHV1aWQ6IHN0cmluZztcbiAgQElucHV0KCkgdGFibGVDb2xzOiBBcnJheTxIZFRhYmxlQ29sdW1uPiA9IFtdO1xuICBASW5wdXQoKSB0YWJsZURhdGE6IFBhZ2U8YW55PjtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3RGaWVsZDogc3RyaW5nID0gJ2JpbGxOdW1iZXInO1xuICAvLyDlkIjorqHljLrln59cbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHNob3dUYWJsZVRvdGFsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHRhYmxlVG90YWxPcHRpb246IEFycmF5PEhkVGFibGVUb3RhbE9wdGlvbj47XG4gIEBPdXRwdXQoKSBzZWxlY3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHRhYmxlU2VhcmNoRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHRhYmxlTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAvLyDooajmoLzliIbpobXlj4LmlbBcbiAgQElucHV0KCkgdGFibGVQYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHRhYmxlUGFnZVNpemU6IG51bWJlcjtcbiAgQE91dHB1dCgpIHRhYmxlUGFnZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB0YWJsZVBhZ2VTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBDb250ZW50Q2hpbGQoXCJ0YWJsZVRvdGFsXCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJsZVRvdGFsOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAQ29udGVudENoaWxkKFwidGFibGVMZWZ0QnV0dG9uXCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJsZUxlZnRCdXR0b246IFRlbXBsYXRlUmVmPGFueT47XG4gIEBDb250ZW50Q2hpbGQoXCJ0YWJsZVJpZ2h0QnV0dG9uXCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0YWJsZVJpZ2h0QnV0dG9uOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBzY3JvbGwgPSBudWxsO1xuXG4gIC8vIOihqOagvOWLvumAieWPguaVsFxuICBpc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IGZhbHNlO1xuICBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgbGlzdE9mRGlzcGxheURhdGEgPSBbXTtcbiAgbGlzdE9mQWxsRGF0YSA9IFtdO1xuICBsaXN0T2ZTZWxlY3Rpb246IEFycmF5PGFueT4gfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgbWFwT2ZDaGVja2VkSWQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XG4gIG1hcE9mQ2hlY2tMaXN0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XG4gIC8vIOWQiOiuoeWPguaVsFxuICB0YWJsZVRvdGFsT3B0aW9uTGlzdCA9IFtdO1xuICBwcml2YXRlIHRleHRXaWR0aENhY2hlOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIC8vIOe8k+WtmOS/oeaBr1xuICB0YWJsZUNhY2hlT3B0aW9uOiBUYWJsZUNhY2hlT3B0aW9uID0gbmV3IFRhYmxlQ2FjaGVPcHRpb24oKTtcbiAgdXNlclNlc3Npb246IGFueTtcblxuICB0YWJsZUNvbHNDYWNoZTogQXJyYXk8SGRUYWJsZUNvbHVtbj4gPSBbXTtcbiAgc2hvd1RhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdENvbExpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG4gIHNlbGVjdENvbExpc3ROb2Rlc0NhY2hlOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgc2hvd0xpc3ROb2RlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGlzRHJvcGRvd25WaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIOiuvue9ruWIl+eahOWPr+ingeaTjeS9nOaVsOe7hFxuICBub3dMaXN0Tm9kZXM6IEFycmF5PFRyZWVHcmlkPiA9IFtdO1xuICAvLyDorr7nva7liJfnmoTkuI3lj6/op4Hmk43kvZzmlbDnu4RcbiAgaGlkZUxpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG5cbiAgLy8g54K55Ye75pe26ZyA6KaB5pyJ5Li05pe25pWw57uE5a2Y5pS+5Lik5LiqdHJlZSznlKjkuo7lj5bmtojml7blgJnmgaLlpI3osIPmlbTliY3nmoTnirbmgIFcbiAgY2FuY2VsTm93TGlzdE5vZGVzOiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgY2FuY2VsSGlkZUxpc3ROb2RlczogQXJyYXk8VHJlZUdyaWQ+ID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb21tb25TZXNzaW9uU2VydmljZTogQ29tbW9uU2Vzc2lvblNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJTZXNzaW9uID0gdGhpcy5jb21tb25TZXNzaW9uU2VydmljZS5nZXRTZXNzaW9uKCdfX2p5X2F1dGhvcml6YXRpb25fc2Vzc2lvbl9fJyk7XG4gICAgLy8g55So5LqO5byA5Y+R546v5aKD6LCD6K+VXG4gICAgaWYgKCF0aGlzLnVzZXJTZXNzaW9uKSB7XG4gICAgICB0aGlzLnVzZXJTZXNzaW9uID0ge1xuICAgICAgICB1c2VyQ29kZTogJ2RldidcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5nZXRJbml0TG9jYWxmb3JhZ2UoKTtcbiAgfVxuXG4gIGdldEluaXRMb2NhbGZvcmFnZSgpIHtcbiAgICAvLyDpppblhYjojrflj5blvZPliY1oZC10YWJsZeWtmOWCqOeahOaVsOaNriDlpoLmnpzmsqHmnInvvIzliJnliJ3lp4vljJbkuIvlvZPliY3nmoTmlbDmja5cbiAgICBsb2NhbGZvcmFnZS5nZXRJdGVtKCdoZC10YWJsZV8nICsgdGhpcy51c2VyU2Vzc2lvbi51c2VyQ29kZSArICdfJyArIHRoaXMudXVpZCkudGhlbigodmFsdWU6IFRhYmxlQ2FjaGVPcHRpb24pID0+IHtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbiA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZSAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemUgPiAxMCkge1xuICAgICAgICB0aGlzLnRhYmxlUGFnZVNpemUgPSB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemU7XG4gICAgICAgIHRoaXMudGFibGVQYWdlU2l6ZUNoYW5nZS5lbWl0KHRoaXMudGFibGVQYWdlU2l6ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnRhYmxlUGFnZVNpemUgPSB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemUgfHwgMTA7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMpIHtcbiAgICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gICAgICB9XG4gICAgICB0aGlzLmluaXRUYWJsZSgpO1xuICAgIH0pLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbiA9IG5ldyBUYWJsZUNhY2hlT3B0aW9uKCk7XG4gICAgICB0aGlzLnRhYmxlUGFnZVNpemUgPSAxMDtcbiAgICAgIHRoaXMudGFibGVDYWNoZU9wdGlvbi5wYWdlU2l6ZSA9IDEwO1xuICAgICAgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocyA9IG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCk7XG4gICAgICB0aGlzLmluaXRUYWJsZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgaW5pdFRhYmxlKCkge1xuICAgIHRoaXMuc2hvd1RhYmxlID0gZmFsc2U7XG4gICAgaWYgKCF0aGlzLnV1aWQpIHtcbiAgICAgIHRocm93ICdoZC10YWJsZee8uuWksXV1aWTlj4LmlbDvvIzor7fkvb/nlKjnvJbovpHlmajmj5Lku7bnlJ/miJDlubbnu5loZC10YWJsZei1i+S6iHV1aWTlsZ7mgKcnO1xuICAgIH1cbiAgICBpZiAodGhpcy5qdWRnZVJlcGVhdENvbHMoKSkge1xuICAgICAgdGhpcy5kZWFsQ29scygpO1xuICAgICAgdGhpcy5zZXRDb2xzKCk7XG4gICAgICB0aGlzLmRlYWxTY3JvbGwoKTtcbiAgICAgIHRoaXMuZGVhbE9wZXJhdGVCdG4oKTtcbiAgICAgIHRoaXMuc2hvd1RhYmxlID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyDorr7nva7liJfngrnlh7vlj5bmtohcbiAgY2FuY2VsRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuaGlkZUxpc3ROb2RlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jYW5jZWxIaWRlTGlzdE5vZGVzKSk7XG4gICAgdGhpcy5ub3dMaXN0Tm9kZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY2FuY2VsTm93TGlzdE5vZGVzKSk7XG4gIH1cblxuICAvLyDngrnlh7vop6blj5Horr7nva7liJdcbiAgY29uZmlybURyb3Bkb3duKCk6IHZvaWQge1xuICAgIC8vIOS4tOaXtuWtmOaUvuS4i++8jOWPlua2iOeahOaXtuWAmeaBouWkjeWOn+adpeeahOeKtuaAgSAgIOa3seaLt+i0neS4i+WvueixoeaVsOe7hFxuICAgIHRoaXMuY2FuY2VsSGlkZUxpc3ROb2RlcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5oaWRlTGlzdE5vZGVzKSk7XG4gICAgdGhpcy5jYW5jZWxOb3dMaXN0Tm9kZXMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMubm93TGlzdE5vZGVzKSk7XG4gICAgdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSA9IHRydWU7XG4gIH1cblxuICBzdWJtaXRHcmlkcygpIHtcbiAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scyA9IFtdO1xuICAgIHRoaXMubm93TGlzdE5vZGVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5wdXNoKGl0ZW0udGl0bGUpO1xuICAgIH0pXG4gICAgdGhpcy5zYXZlVGFibGVDYWNoZU9wdGlvbigpO1xuICAgIHRoaXMuaW5pdFRhYmxlKCk7XG4gICAgdGhpcy5pc0Ryb3Bkb3duVmlzaWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgLy8g5LuO57yT5a2Y6K6+572u5YiXXG4gIHNldENvbHMoKSB7XG4gICAgdGhpcy5zaG93TGlzdE5vZGVzID0gZmFsc2U7XG4gICAgdGhpcy5ub3dMaXN0Tm9kZXMgPSBbXTtcbiAgICB0aGlzLmhpZGVMaXN0Tm9kZXMgPSBbXTtcbiAgICBpZiAodGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMpIHtcbiAgICAgIGxldCB7IG5vdEluY29scywgaW5jb2xzIH0gPSB0aGlzLnRhYmxlQ29sc0NhY2hlLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmNsdWRlcyhpdGVtLnRpdGxlKSkge1xuICAgICAgICAgIGFjYy5pbmNvbHMucHVzaChpdGVtKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2Mubm90SW5jb2xzLnB1c2goaXRlbSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHsgbm90SW5jb2xzOiBbXSwgaW5jb2xzOiBbXSB9KTtcbiAgICAgIGluY29scy5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29scy5pbmRleE9mKGEudGl0bGUpIC0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5kZXhPZihiLnRpdGxlKTtcbiAgICAgIH0pXG4gICAgICB0aGlzLnRhYmxlQ29scyA9IGluY29scy5jb25jYXQobm90SW5jb2xzKTtcbiAgICB9XG5cbiAgICB0aGlzLnRhYmxlQ29scy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzKSB7XG4gICAgICAgIGVsZW1lbnQuaXNTaG93ID0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoZWxlbWVudC50aXRsZSkgPyB0cnVlIDogZmFsc2U7XG4gICAgICAgIGlmIChlbGVtZW50LmlzU2hvdykge1xuICAgICAgICAgIHRoaXMubm93TGlzdE5vZGVzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgICBrZXk6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgICBkaXNhYmxlZDogZWxlbWVudC5maXhlZCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIHNlbGVjdGFibGU6IGZhbHNlLFxuICAgICAgICAgICAgY2hlY2tlZDogdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoZWxlbWVudC50aXRsZSkgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaGlkZUxpc3ROb2Rlcy5wdXNoKHtcbiAgICAgICAgICAgIHRpdGxlOiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAga2V5OiBlbGVtZW50LnRpdGxlLFxuICAgICAgICAgICAgZGlzYWJsZWQ6IGVsZW1lbnQuZml4ZWQgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNoZWNrZWQ6IHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xzLmluY2x1ZGVzKGVsZW1lbnQudGl0bGUpID8gdHJ1ZSA6IGZhbHNlXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5pc1Nob3cgPSB0cnVlO1xuICAgICAgICB0aGlzLm5vd0xpc3ROb2Rlcy5wdXNoKHtcbiAgICAgICAgICB0aXRsZTogZWxlbWVudC50aXRsZSxcbiAgICAgICAgICBrZXk6IGVsZW1lbnQudGl0bGUsXG4gICAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcbiAgICAgICAgICBkaXNhYmxlZDogZWxlbWVudC5maXhlZCA/IHRydWUgOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8g6LCD5pW05YiX5a695Li657yT5a2Y5a695bqmXG4gICAgaWYgKHRoaXMudGFibGVDYWNoZU9wdGlvbiAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzICYmIHRoaXMudGFibGVDYWNoZU9wdGlvbi5jb2xXaWR0aHMuc2l6ZSAhPT0gMCkge1xuICAgICAgdGhpcy50YWJsZUNvbHMuZm9yRWFjaCgoY29sKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzLmhhcyhjb2wudGl0bGUpKSB7XG4gICAgICAgICAgY29sLndpZHRoID0gdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbFdpZHRocy5nZXQoY29sLnRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICB0aGlzLmRlYWxDb2xzKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNob3dMaXN0Tm9kZXMgPSB0cnVlO1xuICAgIH0sIDApO1xuICB9XG5cbiAgLy8g5ouW5ou95pON5L2cXG4gIGJlZm9yZURyb3AgPSAoYXJnOiBOekZvcm1hdEJlZm9yZURyb3BFdmVudCk6IE9ic2VydmFibGU8Ym9vbGVhbj4gPT4ge1xuICAgIGlmIChhcmcubm9kZS5vcmlnaW4uZGlzYWJsZWQgfHwgIWFyZy5kcmFnTm9kZS5vcmlnaW4uY2hlY2tlZCkge1xuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IG5vZGU6IFRyZWVHcmlkID0gbmV3IFRyZWVHcmlkKCk7XG4gICAgICBub2RlLmNoZWNrZWQgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmNoZWNrZWQ7XG4gICAgICBub2RlLmRpc2FibGVkID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5kaXNhYmxlZDtcbiAgICAgIG5vZGUuZXhwYW5kZWQgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmV4cGFuZGVkO1xuICAgICAgbm9kZS5pc0xlYWYgPSBhcmcuZHJhZ05vZGUub3JpZ2luLmlzTGVhZjtcbiAgICAgIG5vZGUua2V5ID0gYXJnLmRyYWdOb2RlLm9yaWdpbi5rZXk7XG4gICAgICBub2RlLnNlbGVjdGFibGUgPSBhcmcuZHJhZ05vZGUub3JpZ2luLnNlbGVjdGFibGU7XG4gICAgICBub2RlLnRpdGxlID0gYXJnLmRyYWdOb2RlLm9yaWdpbi50aXRsZTtcbiAgICAgIC8vIOaLluaLveWFg+e0oOS4i+agh1xuICAgICAgbGV0IGRyYWdOb2RlSW5kZXggPSB0aGlzLm5vd0xpc3ROb2Rlcy5maW5kSW5kZXgoaXRlbSA9PiB7IHJldHVybiBpdGVtLnRpdGxlID09IGFyZy5kcmFnTm9kZS5vcmlnaW4udGl0bGUgfSk7XG4gICAgICAvLyDnm67moIfkvY3nva7nmoTkuIvmoIdcbiAgICAgIGxldCBub2RlSW5kZXggPSB0aGlzLm5vd0xpc3ROb2Rlcy5maW5kSW5kZXgoaXRlbSA9PiB7IHJldHVybiBpdGVtLnRpdGxlID09IGFyZy5ub2RlLm9yaWdpbi50aXRsZSB9KSArIChhcmcucG9zID09PSAtMSA/IDAgOiBhcmcucG9zKTtcbiAgICAgIHRoaXMubm93TGlzdE5vZGVzLnNwbGljZShub2RlSW5kZXgsIDAsIG5vZGUpO1xuICAgICAgdGhpcy5ub3dMaXN0Tm9kZXMuc3BsaWNlKG5vZGVJbmRleCA+PSBkcmFnTm9kZUluZGV4ID8gZHJhZ05vZGVJbmRleCA6IGRyYWdOb2RlSW5kZXggKyAxLCAxKTtcbiAgICAgIHJldHVybiBvZih0cnVlKS5waXBlKGRlbGF5KDEwMCkpO1xuICAgIH1cbiAgfVxuXG4gIG1vdmVFbGVtZW50TmVhcmJ5KGFyciwgZWxlbWVudFRvTW92ZVRpdGxlLCB0YXJnZXRFbGVtZW50VGl0bGUsIHBvcykge1xuICAgIGNvbnN0IHRtcEFycmF5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhcnIpKTtcbiAgICBjb25zdCB0YXJnZXRJbmRleCA9IHRtcEFycmF5LmZpbmRJbmRleChpdGVtID0+IGl0ZW0udGl0bGUgPT09IHRhcmdldEVsZW1lbnRUaXRsZSk7XG4gICAgY29uc3QgZWxlbWVudEluZGV4ID0gdG1wQXJyYXkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS50aXRsZSA9PT0gZWxlbWVudFRvTW92ZVRpdGxlKTtcbiAgICBjb25zdCBuZXdJbmRleCA9IHBvcyA8IDAgPyAodGFyZ2V0SW5kZXggKyBwb3MpIDogdGFyZ2V0SW5kZXg7XG4gICAgLy8g56e76Zmk55uu5qCH5YWD57Sg77yM5bm25o+S5YWl5Yiw5paw55qE5L2N572uXG4gICAgY29uc3QgcmVtb3ZlZEVsZW1lbnQgPSB0bXBBcnJheS5zcGxpY2UoZWxlbWVudEluZGV4LCAxKTtcbiAgICB0bXBBcnJheS5zcGxpY2UobmV3SW5kZXggKyAxLCAwLCByZW1vdmVkRWxlbWVudFswXSk7XG4gICAgcmV0dXJuIHRtcEFycmF5O1xuICB9XG5cbiAgLy8g5Yu+6YCJ5pON5L2cXG4gIGNoZWNrQWN0aW9uKGV2ZW50OiBOekZvcm1hdEVtaXRFdmVudCk6IHZvaWQge1xuICAgIC8vIOWLvumAieWPquacieWcqGhpZGVMaXN0Tm9kZXMs5Y+W5raI5Yu+6YCJ5Y+q5pyJ5Zyobm93TGlzdE5vZGVzXG4gICAgaWYgKGV2ZW50Lm5vZGUub3JpZ2luLmNoZWNrZWQpIHtcbiAgICAgIGxldCBub2RlOiBUcmVlR3JpZCA9IG5ldyBUcmVlR3JpZCgpO1xuICAgICAgbm9kZSA9IHRoaXMuaGlkZUxpc3ROb2Rlcy5maW5kKChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnRpdGxlID09PSBldmVudC5ub2RlLm9yaWdpbi50aXRsZTtcbiAgICAgIH0pXG4gICAgICBub2RlLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgLy8g5om+5Yiw56ys5LiA5LiqZml4ZWTlsZ7mgKfkuLpyaWdodOeahHRpdGxl77yM5om+5Yiw5o+S5YWl5YWD57Sg55qE5L2N572uXG4gICAgICBsZXQgdGl0bGUgPSBudWxsO1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMudGFibGVDb2xzQ2FjaGUubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgaWYgKHRoaXMudGFibGVDb2xzQ2FjaGVbaV0uZml4ZWQgPT09ICdyaWdodCcpIHtcbiAgICAgICAgICB0aXRsZSA9IHRoaXMudGFibGVDb2xzQ2FjaGVbaV0udGl0bGU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxldCB0ZW1wb3JhcnlOb2RlTGlzdCA9IHRoaXMubm93TGlzdE5vZGVzLnNsaWNlKDApO1xuICAgICAgaWYgKCF0aXRsZSkge1xuICAgICAgICB0ZW1wb3JhcnlOb2RlTGlzdC5wdXNoKG5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm5vd0xpc3ROb2Rlcy5maW5kSW5kZXgobm9kZSA9PiBub2RlLnRpdGxlID09PSB0aXRsZSk7XG4gICAgICAgIHRlbXBvcmFyeU5vZGVMaXN0LnNwbGljZShpbmRleCwgMCwgbm9kZSk7XG4gICAgICB9XG4gICAgICB0aGlzLm5vd0xpc3ROb2RlcyA9IHRlbXBvcmFyeU5vZGVMaXN0O1xuICAgICAgdGhpcy5oaWRlTGlzdE5vZGVzID0gdGhpcy5oaWRlTGlzdE5vZGVzLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbS50aXRsZSAhPT0gZXZlbnQubm9kZS5vcmlnaW4udGl0bGU7XG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5oaWRlTGlzdE5vZGVzLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnRhYmxlQ2FjaGVPcHRpb24gJiYgdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMpIHtcbiAgICAgICAgdGhpcy5oaWRlTGlzdE5vZGVzID0gdGhpcy5nZXRIaWRlTGlzdE5vZGVzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgdGVtcG9yYXJ5Tm9kZUxpc3QgPSB0aGlzLmhpZGVMaXN0Tm9kZXMuc2xpY2UoMCk7XG4gICAgICAgIHRoaXMubm93TGlzdE5vZGVzLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgaWYgKGl0ZW0udGl0bGUgPT09IGV2ZW50Lm5vZGUub3JpZ2luLnRpdGxlKSB7XG4gICAgICAgICAgICBjb25zdCBpbm5lckl0ZW0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGl0ZW0pKTtcbiAgICAgICAgICAgIGlubmVySXRlbS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRlbXBvcmFyeU5vZGVMaXN0LnB1c2goaXRlbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmhpZGVMaXN0Tm9kZXMgPSB0ZW1wb3JhcnlOb2RlTGlzdDtcbiAgICAgIH1cbiAgICAgIC8vIOS4uuS6humYsuatouacqumAieaLqeeahOaVsOe7hOmhuuW6j+WboOS4unB1c2jmlrnms5XogIzmlLnlj5jvvIzpgJrov4fliJ3lp4vmlbDmja7ojrflj5bmmL7npLrnmoTlrZfmrrXliJfooahcbiAgICAgIHRoaXMubm93TGlzdE5vZGVzID0gdGhpcy5ub3dMaXN0Tm9kZXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgIHJldHVybiBpdGVtLnRpdGxlICE9PSBldmVudC5ub2RlLm9yaWdpbi50aXRsZTtcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLy8g6Ziy5q2i5pyq6YCJ5oup55qE5pWw57uE6aG65bqP5Zug5Li6cHVzaOaWueazleiAjOaUueWPmO+8jOS7juWIneWni+aVsOaNruiOt+WPlumakOiXj+acquaYvuekuueahOWtl+auteWIl+ihqFxuICBnZXRIaWRlTGlzdE5vZGVzKCk6IEFycmF5PFRyZWVHcmlkPiB7XG4gICAgbGV0IHRlbXBvcmFyeU5vZGVMaXN0OiBBcnJheTxUcmVlR3JpZD4gPSBbXTtcbiAgICAvLyDku450YWJsZUNvbHNDYWNoZemHjOmdouaJvuayoeacieWcqHN0b3JhZ2Xph4zpnaLlh7rnjrDnmoTlrZfmrrUs57uE5oiQaGlkZUxpc3RcbiAgICB0aGlzLnRhYmxlQ29sc0NhY2hlLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGlmICghdGhpcy50YWJsZUNhY2hlT3B0aW9uLmNvbHMuaW5jbHVkZXMoaXRlbS50aXRsZSkpIHtcbiAgICAgICAgbGV0IG5vZGVJdGVtOiBUcmVlR3JpZCA9IG5ldyBUcmVlR3JpZCgpO1xuICAgICAgICBub2RlSXRlbS50aXRsZSA9IGl0ZW0udGl0bGU7XG4gICAgICAgIG5vZGVJdGVtLmtleSA9IGl0ZW0udGl0bGU7XG4gICAgICAgIG5vZGVJdGVtLmRpc2FibGVkID0gaXRlbS5maXhlZCA/IHRydWUgOiBmYWxzZTtcbiAgICAgICAgbm9kZUl0ZW0uY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICB0ZW1wb3JhcnlOb2RlTGlzdC5wdXNoKG5vZGVJdGVtKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiB0ZW1wb3JhcnlOb2RlTGlzdDtcbiAgfVxuXG4gIGRlYWxDb2xzKCkge1xuICAgIC8vIOWkhOeQhuW3puWPs+WQuOmZhOeahOaVsOaNruWcqOaVsOe7hOS4reeahOS9jee9rlxuICAgIGNvbnN0IGxlZnRGaXhlZENvbHMgPSB0aGlzLnRhYmxlQ29scy5maWx0ZXIoY29sID0+IGNvbC5maXhlZCA9PT0gJ2xlZnQnKTtcbiAgICBjb25zdCByaWdodEZpeGVkQ29scyA9IHRoaXMudGFibGVDb2xzLmZpbHRlcihjb2wgPT4gY29sLmZpeGVkID09PSAncmlnaHQnKTtcbiAgICBjb25zdCBub3JtYWxDb2xzID0gdGhpcy50YWJsZUNvbHMuZmlsdGVyKGNvbCA9PiAhY29sLmZpeGVkKTtcbiAgICBjb25zdCByZXN1bHRDb2xzID0gbGVmdEZpeGVkQ29scy5jb25jYXQobm9ybWFsQ29scykuY29uY2F0KHJpZ2h0Rml4ZWRDb2xzKTtcbiAgICB0aGlzLnRhYmxlQ29scyA9IHJlc3VsdENvbHM7XG4gICAgaWYgKCF0aGlzLnRhYmxlQ29sc0NhY2hlIHx8IHRoaXMudGFibGVDb2xzQ2FjaGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyDnvJPlrZjkuIDkuIvooajmoLznmoTmlbDmja5cbiAgICAgIHRoaXMudGFibGVDb2xzQ2FjaGUgPSBbLi4udGhpcy50YWJsZUNvbHNdO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVUYWJsZUNhY2hlT3B0aW9uKCkge1xuICAgIGxvY2FsZm9yYWdlLnNldEl0ZW0oJ2hkLXRhYmxlXycgKyB0aGlzLnVzZXJTZXNzaW9uLnVzZXJDb2RlICsgJ18nICsgdGhpcy51dWlkLCB0aGlzLnRhYmxlQ2FjaGVPcHRpb24pO1xuICB9XG5cbiAganVkZ2VSZXBlYXRDb2xzKCkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJsZUNvbHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAobGV0IGogPSBpICsgMTsgaiA8IHRoaXMudGFibGVDb2xzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGlmICh0aGlzLnRhYmxlQ29sc1tpXS50aXRsZSA9PT0gdGhpcy50YWJsZUNvbHNbal0udGl0bGUpIHtcbiAgICAgICAgICB0aHJvdyBgaGQtdGFibGXnu4Tku7bkuK3liJflkI0gJHt0aGlzLnRhYmxlQ29sc1tpXS50aXRsZX0g6YeN5aSNYDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIG9uUmVzaXplKHsgd2lkdGggfTogTnpSZXNpemVFdmVudCwgY29sOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24uY29sV2lkdGhzLnNldChjb2wsIHdpZHRoKTtcbiAgICB0aGlzLnNhdmVUYWJsZUNhY2hlT3B0aW9uKCk7XG4gICAgdGhpcy50YWJsZUNvbHMgPSB0aGlzLnRhYmxlQ29scy5tYXAoZSA9PiAoZS50aXRsZSA9PT0gY29sID8geyAuLi5lLCB3aWR0aDogd2lkdGggfSA6IGUpKTtcbiAgfVxuXG4gIGRlYWxPcGVyYXRlQnRuKCkge1xuICAgIGxldCBvcGVyYXRlQ29sID0gdGhpcy50YWJsZUNvbHMuZmluZChjb2wgPT4gY29sLnRpdGxlID09PSAn5pON5L2cJykgfHwgbnVsbDtcbiAgICBpZiAob3BlcmF0ZUNvbCkge1xuICAgICAgbGV0IHRleHRTdHIgPSAnJztcbiAgICAgIG9wZXJhdGVDb2wuYnRuTGlzdC5mb3JFYWNoKGJ0biA9PiB7XG4gICAgICAgIHRleHRTdHIgKz0gYnRuLm5hbWU7XG4gICAgICB9KVxuXG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgc3Bhbi5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICBzcGFuLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIHNwYW4uc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgICAgc3Bhbi5zdHlsZS5mb250U2l6ZSA9ICcxMnB4JztcbiAgICAgIHNwYW4uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snOyAvLyDlsIbmoLflvI/kv67mlLnkuLogaW5saW5lLWJsb2NrXG4gICAgICBzcGFuLmlubmVyVGV4dCA9IHRleHRTdHI7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNwYW4pO1xuICAgICAgb3BlcmF0ZUNvbC53aWR0aCA9IHNwYW4ub2Zmc2V0V2lkdGggKyAob3BlcmF0ZUNvbC5idG5MaXN0Lmxlbmd0aCAtIDEpICogNCArIDE2O1xuICAgICAgc3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzcGFuKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgdHJpZ2dlckV2ZW50KGZuOiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZm4pIHtcbiAgICAgIGZuKGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBkZWFsU2Nyb2xsKCkge1xuICAgIGxldCBjb2xXaWR0aCA9IDA7XG4gICAgaWYgKHRoaXMuc2hvd1NlbGVjdGVkKSB7XG4gICAgICBjb2xXaWR0aCArPSA0MDtcbiAgICB9XG4gICAgdGhpcy50YWJsZUNvbHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmICghaXRlbS53aWR0aCkge1xuICAgICAgICBpdGVtLndpZHRoID0gQ29sV2lkdGguZml4Q29sV2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAoaXRlbS5pc1Nob3cpIHtcbiAgICAgICAgaXRlbS5maXhlZFdpZHRoID0gY29sV2lkdGg7XG4gICAgICAgIGNvbFdpZHRoICs9IGl0ZW0ud2lkdGg7XG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMuc2Nyb2xsID0ge1xuICAgICAgeDogJzFweCcsXG4gICAgICB5OiAnY2FsYygxMDB2aCAtIDE0MHB4KSdcbiAgICB9XG4gIH1cblxuICBpc1RleHRPdmVyZmxvdyh0ZXh0OiBzdHJpbmcsIG1heFdpZHRoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCBjYWNoZWRXaWR0aCA9IHRoaXMudGV4dFdpZHRoQ2FjaGVbdGV4dF07XG4gICAgaWYgKGNhY2hlZFdpZHRoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBjYWNoZWRXaWR0aCArIDE1ID49IG1heFdpZHRoO1xuICAgIH1cblxuICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgc3Bhbi5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgc3Bhbi5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgc3Bhbi5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCc7XG4gICAgc3Bhbi5zdHlsZS5mb250U2l6ZSA9ICcxMnB4JztcbiAgICBzcGFuLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJzsgLy8g5bCG5qC35byP5L+u5pS55Li6IGlubGluZS1ibG9ja1xuICAgIHNwYW4uaW5uZXJUZXh0ID0gdGV4dDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNwYW4pO1xuICAgIGNvbnN0IGlzT3ZlcmZsb3cgPSBzcGFuLm9mZnNldFdpZHRoICsgMTUgPj0gbWF4V2lkdGg7XG4gICAgdGhpcy50ZXh0V2lkdGhDYWNoZVt0ZXh0XSA9IHNwYW4ub2Zmc2V0V2lkdGg7XG4gICAgc3Bhbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3Bhbik7XG4gICAgcmV0dXJuIGlzT3ZlcmZsb3c7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2UpIHtcbiAgICAvLyDmlbDmja7mlLnlj5jml7bvvIzph43nva7li77pgInnirbmgIFcbiAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzWyd0YWJsZURhdGEnXSAmJiBjaGFuZ2VzWyd0YWJsZURhdGEnXVsnY3VycmVudFZhbHVlJ10gJiYgY2hhbmdlc1sndGFibGVEYXRhJ11bJ3ByZXZpb3VzVmFsdWUnXSkge1xuICAgICAgaWYgKGNoYW5nZXNbJ3RhYmxlRGF0YSddWydjdXJyZW50VmFsdWUnXVsncGFnZVNpemUnXSAhPT0gY2hhbmdlc1sndGFibGVEYXRhJ11bJ3ByZXZpb3VzVmFsdWUnXVsncGFnZVNpemUnXVxuICAgICAgICB8fCBjaGFuZ2VzWyd0YWJsZURhdGEnXVsnY3VycmVudFZhbHVlJ11bJ3BhZ2VOdW1iZXInXSAhPT0gY2hhbmdlc1sndGFibGVEYXRhJ11bJ3ByZXZpb3VzVmFsdWUnXVsncGFnZU51bWJlciddKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVzZXRTdGF0dXMoKTtcbiAgICB9XG4gIH1cblxuICAvLyDooajmoLzli77pgInpgLvovpFcbiAgY3VycmVudFBhZ2VEYXRhQ2hhbmdlKCRldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5saXN0T2ZEaXNwbGF5RGF0YSA9ICRldmVudDtcbiAgICB0aGlzLnJlZnJlc2hTdGF0dXMoKTtcbiAgICB0aGlzLnJlc2V0U3RhdHVzKCk7XG4gIH1cblxuICBzZWFyY2gocmVzZXQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRhYmxlQ2FjaGVPcHRpb24ucGFnZVNpemUgPSB0aGlzLnRhYmxlUGFnZVNpemU7XG4gICAgdGhpcy5zYXZlVGFibGVDYWNoZU9wdGlvbigpO1xuICAgIGlmIChyZXNldCkge1xuICAgICAgdGhpcy50YWJsZVBhZ2VTaXplQ2hhbmdlLmVtaXQodGhpcy50YWJsZVBhZ2VTaXplKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJsZVBhZ2VJbmRleENoYW5nZS5lbWl0KHRoaXMudGFibGVQYWdlSW5kZXgpO1xuICAgIH1cbiAgICAvLyDop6blj5HniLbnu4Tku7bmn6Xor6Lkuovku7ZcbiAgICB0aGlzLnRhYmxlU2VhcmNoRXZlbnQuZW1pdChyZXNldCk7XG4gIH1cblxuICByZXNldFN0YXR1cygpIHtcbiAgICB0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkID0gZmFsc2U7XG4gICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcbiAgICB0aGlzLm1hcE9mQ2hlY2tlZElkID0ge307XG4gICAgdGhpcy5tYXBPZkNoZWNrTGlzdCA9IHt9O1xuICAgIHRoaXMuc2VsZWN0RXZlbnQuZW1pdChbXSk7XG4gIH1cblxuICByZWZyZXNoU3RhdHVzKGV2ZW50OiBib29sZWFuID0gZmFsc2UsIGRhdGE6IGFueSA9IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQgJiYgZGF0YSkge1xuICAgICAgIXRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV0gJiYgKHRoaXMubWFwT2ZDaGVja0xpc3RbZGF0YVt0aGlzLnNlbGVjdEZpZWxkXV0gPSBkYXRhKTtcbiAgICB9IGVsc2UgaWYgKCFldmVudCAmJiBkYXRhKSB7XG4gICAgICB0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dICYmIGRlbGV0ZSB0aGlzLm1hcE9mQ2hlY2tMaXN0W2RhdGFbdGhpcy5zZWxlY3RGaWVsZF1dO1xuICAgIH1cbiAgICB0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkID0gdGhpcy5saXN0T2ZEaXNwbGF5RGF0YS5ldmVyeShpdGVtID0+IHRoaXMubWFwT2ZDaGVja2VkSWRbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0pO1xuICAgIHRoaXMuaXNJbmRldGVybWluYXRlID1cbiAgICAgIHRoaXMubGlzdE9mRGlzcGxheURhdGEuc29tZShpdGVtID0+IHRoaXMubWFwT2ZDaGVja2VkSWRbaXRlbVt0aGlzLnNlbGVjdEZpZWxkXV0pICYmICF0aGlzLmlzQWxsRGlzcGxheURhdGFDaGVja2VkO1xuICAgIC8vIOinpuWPkXNlbGVjdOS6i+S7tlxuICAgIGlmICh0aGlzLnNlbGVjdEV2ZW50KSB7XG4gICAgICBjb25zdCBzZWxlY3RlZExpc3Q6IEFycmF5PGFueT4gPSBPYmplY3QudmFsdWVzKHRoaXMubWFwT2ZDaGVja0xpc3QpO1xuICAgICAgdGhpcy5zZWxlY3RFdmVudC5lbWl0KHNlbGVjdGVkTGlzdCk7XG4gICAgfVxuICAgIC8vIOWmguaenOaVsOaNruS4uuepuu+8jOWImea4heepuuWLvumAieagh+ivhlxuICAgIGlmICh0aGlzLnRhYmxlRGF0YS5jb250ZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pc0FsbERpc3BsYXlEYXRhQ2hlY2tlZCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrQWxsKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5saXN0T2ZEaXNwbGF5RGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICF0aGlzLm1hcE9mQ2hlY2tMaXN0W2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dICYmICh0aGlzLm1hcE9mQ2hlY2tMaXN0W2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dID0gaXRlbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm1hcE9mQ2hlY2tMaXN0W2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dICYmIGRlbGV0ZSB0aGlzLm1hcE9mQ2hlY2tMaXN0W2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1hcE9mQ2hlY2tlZElkW2l0ZW1bdGhpcy5zZWxlY3RGaWVsZF1dID0gdmFsdWVcbiAgICB9KTtcbiAgICB0aGlzLnJlZnJlc2hTdGF0dXMoKTtcbiAgfVxufVxuIl19
@@ -5,8 +5,8 @@
5
5
  // 表格行
6
6
  var
7
7
  // 表格行
8
- TableColumn = /** @class */ (function () {
9
- function TableColumn() {
8
+ HdTableColumn = /** @class */ (function () {
9
+ function HdTableColumn() {
10
10
  // 列名
11
11
  this.name = null; // 字段名
12
12
  // 颜色
@@ -16,33 +16,33 @@ TableColumn = /** @class */ (function () {
16
16
  this.btnList = [];
17
17
  this.isShow = true;
18
18
  }
19
- return TableColumn;
19
+ return HdTableColumn;
20
20
  }());
21
21
  // 表格行
22
- export { TableColumn };
22
+ export { HdTableColumn };
23
23
  if (false) {
24
24
  /** @type {?} */
25
- TableColumn.prototype.title;
25
+ HdTableColumn.prototype.title;
26
26
  /** @type {?} */
27
- TableColumn.prototype.name;
27
+ HdTableColumn.prototype.name;
28
28
  /** @type {?} */
29
- TableColumn.prototype.render;
29
+ HdTableColumn.prototype.render;
30
30
  /** @type {?} */
31
- TableColumn.prototype.width;
31
+ HdTableColumn.prototype.width;
32
32
  /** @type {?} */
33
- TableColumn.prototype.color;
33
+ HdTableColumn.prototype.color;
34
34
  /** @type {?} */
35
- TableColumn.prototype.align;
35
+ HdTableColumn.prototype.align;
36
36
  /** @type {?} */
37
- TableColumn.prototype.click;
37
+ HdTableColumn.prototype.click;
38
38
  /** @type {?} */
39
- TableColumn.prototype.fixed;
39
+ HdTableColumn.prototype.fixed;
40
40
  /** @type {?} */
41
- TableColumn.prototype.fixedWidth;
41
+ HdTableColumn.prototype.fixedWidth;
42
42
  /** @type {?} */
43
- TableColumn.prototype.btnList;
43
+ HdTableColumn.prototype.btnList;
44
44
  /** @type {?} */
45
- TableColumn.prototype.isShow;
45
+ HdTableColumn.prototype.isShow;
46
46
  }
47
47
  var OperateBtn = /** @class */ (function () {
48
48
  function OperateBtn() {
@@ -61,19 +61,19 @@ if (false) {
61
61
  /** @type {?} */
62
62
  OperateBtn.prototype.permission;
63
63
  }
64
- var TableTotalOption = /** @class */ (function () {
65
- function TableTotalOption() {
64
+ var HdTableTotalOption = /** @class */ (function () {
65
+ function HdTableTotalOption() {
66
66
  }
67
- return TableTotalOption;
67
+ return HdTableTotalOption;
68
68
  }());
69
- export { TableTotalOption };
69
+ export { HdTableTotalOption };
70
70
  if (false) {
71
71
  /** @type {?} */
72
- TableTotalOption.prototype.columnNumber;
72
+ HdTableTotalOption.prototype.columnNumber;
73
73
  /** @type {?} */
74
- TableTotalOption.prototype.insertIndex;
74
+ HdTableTotalOption.prototype.insertIndex;
75
75
  /** @type {?} */
76
- TableTotalOption.prototype.insertName;
76
+ HdTableTotalOption.prototype.insertName;
77
77
  }
78
78
  var TableCacheOption = /** @class */ (function () {
79
79
  function TableCacheOption() {
@@ -122,4 +122,4 @@ if (false) {
122
122
  /** @type {?} */
123
123
  TreeGrid.prototype.expanded;
124
124
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLXRhYmxlL2hkLXRhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTs7O0lBQUE7O1FBRUUsU0FBSSxHQUFzQixJQUFJLENBQUMsQ0FBRSxNQUFNOztRQUl2QyxVQUFLLEdBQWlDLE1BQU0sQ0FBQztRQUU3QyxVQUFLLEdBQXNCLElBQUksQ0FBQzs7UUFFaEMsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFhLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQUQsa0JBQUM7QUFBRCxDQUFDLEFBWkQsSUFZQzs7Ozs7SUFYQyw0QkFBYzs7SUFDZCwyQkFBK0I7O0lBQy9CLDZCQUFnQzs7SUFDaEMsNEJBQWU7O0lBQ2YsNEJBQWU7O0lBQ2YsNEJBQTZDOztJQUM3Qyw0QkFBNkI7O0lBQzdCLDRCQUFnQzs7SUFDaEMsaUNBQW9COztJQUNwQiw4QkFBaUM7O0lBQ2pDLDZCQUF3Qjs7QUFHMUI7SUFBQTtRQUVFLGdCQUFXLEdBQWEsS0FBSyxDQUFDO0lBR2hDLENBQUM7SUFBRCxpQkFBQztBQUFELENBQUMsQUFMRCxJQUtDOzs7O0lBSkMsMEJBQWE7O0lBQ2IsaUNBQThCOztJQUM5QiwyQkFBNkI7O0lBQzdCLGdDQUFxQzs7QUFHdkM7SUFBQTtJQUlBLENBQUM7SUFBRCx1QkFBQztBQUFELENBQUMsQUFKRCxJQUlDOzs7O0lBSEMsd0NBQXFCOztJQUNyQix1Q0FBb0I7O0lBQ3BCLHNDQUFtQjs7QUFHckI7SUFBQTtJQUlBLENBQUM7SUFBRCx1QkFBQztBQUFELENBQUMsQUFKRCxJQUlDOzs7O0lBSEMsb0NBQWlCOztJQUNqQixxQ0FBK0I7O0lBQy9CLGdDQUFvQjs7O0FBSXRCOzs7SUFBQTtRQUNFLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUNqQixhQUFRLEdBQWEsS0FBSyxDQUFDO1FBQzNCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFhLEtBQUssQ0FBQztRQUM3QixXQUFNLEdBQWEsSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBYSxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUFELGVBQUM7QUFBRCxDQUFDLEFBUkQsSUFRQzs7Ozs7SUFQQyx5QkFBbUI7O0lBQ25CLHVCQUFpQjs7SUFDakIsNEJBQTJCOztJQUMzQiwyQkFBMEI7O0lBQzFCLDhCQUE2Qjs7SUFDN0IsMEJBQXdCOztJQUN4Qiw0QkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIOihqOagvOihjFxuZXhwb3J0IGNsYXNzIFRhYmxlQ29sdW1uIHtcbiAgdGl0bGU6IHN0cmluZzsgIC8vIOWIl+WQjVxuICBuYW1lOiBzdHJpbmcgfCBGdW5jdGlvbiA9IG51bGw7ICAvLyDlrZfmrrXlkI1cbiAgcmVuZGVyPzogKHZhbHVlOiBhbnkpID0+IHN0cmluZzsgIC8vIOa4suafk+WHveaVsFxuICB3aWR0aD86IG51bWJlcjsgLy8g5YiX5a69XG4gIGNvbG9yPzogc3RyaW5nOyAvLyDpopzoibJcbiAgYWxpZ24/OiAncmlnaHQnIHwgJ2xlZnQnIHwgJ2NlbnRlcicgPSAnbGVmdCc7XG4gIGNsaWNrPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIGZpeGVkPzogJ2xlZnQnIHwgJ3JpZ2h0JyA9IG51bGw7XG4gIGZpeGVkV2lkdGg/OiBudW1iZXI7ICAvLyDlm7rlrprliJflrr3luqZcbiAgYnRuTGlzdD86IEFycmF5PE9wZXJhdGVCdG4+ID0gW107XG4gIGlzU2hvdz86IGJvb2xlYW4gPSB0cnVlO1xufVxuXG5leHBvcnQgY2xhc3MgT3BlcmF0ZUJ0biB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2hvd0NvbmZpcm0/OiBib29sZWFuID0gZmFsc2U7XG4gIGNsaWNrPzogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gIHBlcm1pc3Npb24/OiAodmFsdWU6IGFueSkgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlVG90YWxPcHRpb24ge1xuICBjb2x1bW5OdW1iZXI6IG51bWJlcjsgLy8g5oC75YiX5pWwXG4gIGluc2VydEluZGV4OiBudW1iZXI7IC8vIOaPkuWFpeS4i+agh1xuICBpbnNlcnROYW1lOiBzdHJpbmc7IC8vIOaPkuWFpeWtl+autVxufVxuXG5leHBvcnQgY2xhc3MgVGFibGVDYWNoZU9wdGlvbiB7XG4gIHBhZ2VTaXplOiBudW1iZXI7XG4gIGNvbFdpZHRoczogTWFwPHN0cmluZywgbnVtYmVyPjsgLy8gbmFtZSAtPiB3aWR0aFxuICBjb2xzOiBBcnJheTxzdHJpbmc+OyAvLyBbJ3RpdGxlJ11cbn1cblxuLy8g6K6+572u5YiXIOagkee7hOS7tuWvueixoVxuZXhwb3J0IGNsYXNzIFRyZWVHcmlkIHtcbiAgdGl0bGU6IHN0cmluZyA9ICcnO1xuICBrZXk6IHN0cmluZyA9ICcnO1xuICBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2hlY2tlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2VsZWN0YWJsZT86IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNMZWFmPzogYm9vbGVhbiA9IHRydWU7XG4gIGV4cGFuZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xufSJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGQtdGFibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbImhkLXRhYmxlL2hkLXRhYmxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTs7O0lBQUE7O1FBRUUsU0FBSSxHQUFzQixJQUFJLENBQUMsQ0FBRSxNQUFNOztRQUl2QyxVQUFLLEdBQWlDLE1BQU0sQ0FBQztRQUU3QyxVQUFLLEdBQXNCLElBQUksQ0FBQzs7UUFFaEMsWUFBTyxHQUF1QixFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFhLElBQUksQ0FBQztJQUMxQixDQUFDO0lBQUQsb0JBQUM7QUFBRCxDQUFDLEFBWkQsSUFZQzs7Ozs7SUFYQyw4QkFBYzs7SUFDZCw2QkFBK0I7O0lBQy9CLCtCQUFnQzs7SUFDaEMsOEJBQWU7O0lBQ2YsOEJBQWU7O0lBQ2YsOEJBQTZDOztJQUM3Qyw4QkFBNkI7O0lBQzdCLDhCQUFnQzs7SUFDaEMsbUNBQW9COztJQUNwQixnQ0FBaUM7O0lBQ2pDLCtCQUF3Qjs7QUFHMUI7SUFBQTtRQUVFLGdCQUFXLEdBQWEsS0FBSyxDQUFDO0lBR2hDLENBQUM7SUFBRCxpQkFBQztBQUFELENBQUMsQUFMRCxJQUtDOzs7O0lBSkMsMEJBQWE7O0lBQ2IsaUNBQThCOztJQUM5QiwyQkFBNkI7O0lBQzdCLGdDQUFxQzs7QUFHdkM7SUFBQTtJQUlBLENBQUM7SUFBRCx5QkFBQztBQUFELENBQUMsQUFKRCxJQUlDOzs7O0lBSEMsMENBQXFCOztJQUNyQix5Q0FBb0I7O0lBQ3BCLHdDQUFtQjs7QUFHckI7SUFBQTtJQUlBLENBQUM7SUFBRCx1QkFBQztBQUFELENBQUMsQUFKRCxJQUlDOzs7O0lBSEMsb0NBQWlCOztJQUNqQixxQ0FBK0I7O0lBQy9CLGdDQUFvQjs7O0FBSXRCOzs7SUFBQTtRQUNFLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsUUFBRyxHQUFXLEVBQUUsQ0FBQztRQUNqQixhQUFRLEdBQWEsS0FBSyxDQUFDO1FBQzNCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFhLEtBQUssQ0FBQztRQUM3QixXQUFNLEdBQWEsSUFBSSxDQUFDO1FBQ3hCLGFBQVEsR0FBYSxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUFELGVBQUM7QUFBRCxDQUFDLEFBUkQsSUFRQzs7Ozs7SUFQQyx5QkFBbUI7O0lBQ25CLHVCQUFpQjs7SUFDakIsNEJBQTJCOztJQUMzQiwyQkFBMEI7O0lBQzFCLDhCQUE2Qjs7SUFDN0IsMEJBQXdCOztJQUN4Qiw0QkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vIOihqOagvOihjFxuZXhwb3J0IGNsYXNzIEhkVGFibGVDb2x1bW4ge1xuICB0aXRsZTogc3RyaW5nOyAgLy8g5YiX5ZCNXG4gIG5hbWU6IHN0cmluZyB8IEZ1bmN0aW9uID0gbnVsbDsgIC8vIOWtl+auteWQjVxuICByZW5kZXI/OiAodmFsdWU6IGFueSkgPT4gc3RyaW5nOyAgLy8g5riy5p+T5Ye95pWwXG4gIHdpZHRoPzogbnVtYmVyOyAvLyDliJflrr1cbiAgY29sb3I/OiBzdHJpbmc7IC8vIOminOiJslxuICBhbGlnbj86ICdyaWdodCcgfCAnbGVmdCcgfCAnY2VudGVyJyA9ICdsZWZ0JztcbiAgY2xpY2s/OiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgZml4ZWQ/OiAnbGVmdCcgfCAncmlnaHQnID0gbnVsbDtcbiAgZml4ZWRXaWR0aD86IG51bWJlcjsgIC8vIOWbuuWumuWIl+WuveW6plxuICBidG5MaXN0PzogQXJyYXk8T3BlcmF0ZUJ0bj4gPSBbXTtcbiAgaXNTaG93PzogYm9vbGVhbiA9IHRydWU7XG59XG5cbmV4cG9ydCBjbGFzcyBPcGVyYXRlQnRuIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzaG93Q29uZmlybT86IGJvb2xlYW4gPSBmYWxzZTtcbiAgY2xpY2s/OiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgcGVybWlzc2lvbj86ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgSGRUYWJsZVRvdGFsT3B0aW9uIHtcbiAgY29sdW1uTnVtYmVyOiBudW1iZXI7IC8vIOaAu+WIl+aVsFxuICBpbnNlcnRJbmRleDogbnVtYmVyOyAvLyDmj5LlhaXkuIvmoIdcbiAgaW5zZXJ0TmFtZTogc3RyaW5nOyAvLyDmj5LlhaXlrZfmrrVcbn1cblxuZXhwb3J0IGNsYXNzIFRhYmxlQ2FjaGVPcHRpb24ge1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBjb2xXaWR0aHM6IE1hcDxzdHJpbmcsIG51bWJlcj47IC8vIG5hbWUgLT4gd2lkdGhcbiAgY29sczogQXJyYXk8c3RyaW5nPjsgLy8gWyd0aXRsZSddXG59XG5cbi8vIOiuvue9ruWIlyDmoJHnu4Tku7blr7nosaFcbmV4cG9ydCBjbGFzcyBUcmVlR3JpZCB7XG4gIHRpdGxlOiBzdHJpbmcgPSAnJztcbiAga2V5OiBzdHJpbmcgPSAnJztcbiAgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIGNoZWNrZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIHNlbGVjdGFibGU/OiBib29sZWFuID0gZmFsc2U7XG4gIGlzTGVhZj86IGJvb2xlYW4gPSB0cnVlO1xuICBleHBhbmRlZD86IGJvb2xlYW4gPSBmYWxzZTtcbn0iXX0=
package/esm5/index.js CHANGED
@@ -3,5 +3,5 @@
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
5
  export { FantasyNgzorroModule } from './fantasy-ngzorro.module';
6
- export { HdCurrentTableComponent, HdLogComponent, ButtonType, ButtonSize, HdButtonService, TableColumn, TableTotalOption, HdDetailFormService, TotalOption, Filter, FilterListType, HdFilterService, FormLine, ColorOption, ExplainOption, FormLineType, HdFormLinesService, FormItem, FormListType, HdFormService, HdLogService, ColWidth, Page, HdOption, SelectOption, InputNumber, Utils } from './public-api';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEscUNBQWMsMEJBQTBCLENBQUM7QUFDekMsb1lBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mYW50YXN5LW5nem9ycm8ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
6
+ export { HdCurrentTableComponent, HdLogComponent, ButtonType, ButtonSize, HdButtonService, TableColumn, TableTotalOption, HdDetailFormService, TotalOption, Filter, FilterListType, HdFilterService, FormLine, ColorOption, ExplainOption, FormLineType, HdFormLinesService, FormItem, FormListType, HdFormService, HdLogService, HdTableColumn, OperateBtn, HdTableTotalOption, TableCacheOption, TreeGrid, ColWidth, Page, HdOption, SelectOption, InputNumber, Utils } from './public-api';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mYW50YXN5LW5nem9ycm8vIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEscUNBQWMsMEJBQTBCLENBQUM7QUFDekMsK2NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mYW50YXN5LW5nem9ycm8ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -12,7 +12,8 @@ export { FormLine, ColorOption, ExplainOption, FormLineType, HdFormLinesService
12
12
  export { FormItem, FormListType, HdFormService } from './hd-form/hd-form.service';
13
13
  export { HdLogComponent } from './hd-log/hd-log.component';
14
14
  export { HdLogService } from './hd-log/hd-log.service';
15
+ export { HdTableColumn, OperateBtn, HdTableTotalOption, TableCacheOption, TreeGrid } from './hd-table/hd-table.service';
15
16
  export { ColWidth } from './model/colWidth';
16
17
  export { Page, HdOption, SelectOption, InputNumber } from './model/common-type';
17
18
  export { Utils } from './utils';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdEQUFjLCtCQUErQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLDhDQUFjLDZDQUE2QyxDQUFDO0FBQzVELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELDRCQUFjLDJDQUEyQyxDQUFDO0FBQzFELHdEQUFjLCtCQUErQixDQUFDO0FBQzlDLHVGQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHNEQUFjLDJCQUEyQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCw2QkFBYyx5QkFBeUIsQ0FBQztBQUN4Qyx5QkFBYyxrQkFBa0IsQ0FBQztBQUNqQywwREFBYyxxQkFBcUIsQ0FBQztBQUNwQyxzQkFBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hkLWJ1dHRvbi9oZC1idXR0b24uc2VydmljZSc7XG5leHBvcnQgeyBIZEN1cnJlbnRUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vaGQtY3VycmVudC10YWJsZS9oZC1jdXJyZW50LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWN1cnJlbnQtdGFibGUvaGQtY3VycmVudC10YWJsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGQtZGV0YWlsLWZvcm0vaGQtZGV0YWlsLWZvcm0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWRldGFpbC1saW5lcy9oZC1kZXRhaWwtbGluZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWZpbHRlci9oZC1maWx0ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWZvcm0tbGluZXMvaGQtZm9ybS1saW5lcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGQtZm9ybS9oZC1mb3JtLnNlcnZpY2UnO1xuZXhwb3J0IHsgSGRMb2dDb21wb25lbnQgfSBmcm9tICcuL2hkLWxvZy9oZC1sb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaGQtbG9nL2hkLWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvY29sV2lkdGgnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9jb21tb24tdHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJztcblxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2ZhbnRhc3ktbmd6b3Jyby8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdEQUFjLCtCQUErQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLDhDQUFjLDZDQUE2QyxDQUFDO0FBQzVELG9DQUFjLHlDQUF5QyxDQUFDO0FBQ3hELDRCQUFjLDJDQUEyQyxDQUFDO0FBQzFELHdEQUFjLCtCQUErQixDQUFDO0FBQzlDLHVGQUFjLHVDQUF1QyxDQUFDO0FBQ3RELHNEQUFjLDJCQUEyQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCw2QkFBYyx5QkFBeUIsQ0FBQztBQUN4QywwRkFBYyw2QkFBNkIsQ0FBQztBQUM1Qyx5QkFBYyxrQkFBa0IsQ0FBQztBQUNqQywwREFBYyxxQkFBcUIsQ0FBQztBQUNwQyxzQkFBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hkLWJ1dHRvbi9oZC1idXR0b24uc2VydmljZSc7XG5leHBvcnQgeyBIZEN1cnJlbnRUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vaGQtY3VycmVudC10YWJsZS9oZC1jdXJyZW50LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWN1cnJlbnQtdGFibGUvaGQtY3VycmVudC10YWJsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGQtZGV0YWlsLWZvcm0vaGQtZGV0YWlsLWZvcm0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWRldGFpbC1saW5lcy9oZC1kZXRhaWwtbGluZXMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWZpbHRlci9oZC1maWx0ZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2hkLWZvcm0tbGluZXMvaGQtZm9ybS1saW5lcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGQtZm9ybS9oZC1mb3JtLnNlcnZpY2UnO1xuZXhwb3J0IHsgSGRMb2dDb21wb25lbnQgfSBmcm9tICcuL2hkLWxvZy9oZC1sb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaGQtbG9nL2hkLWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vaGQtdGFibGUvaGQtdGFibGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsL2NvbFdpZHRoJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvY29tbW9uLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG5cbiJdfQ==