@tilde-nlp/ngx-translate 2.1.36 → 2.1.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/modules/tld-term/services/models/combined-collection.model.mjs +2 -2
- package/esm2020/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs +3 -1
- package/fesm2015/tilde-nlp-ngx-translate.mjs +3 -1
- package/fesm2015/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs +3 -1
- package/fesm2020/tilde-nlp-ngx-translate.mjs.map +1 -1
- package/package.json +1 -1
- package/src/assets/webcomponent/tld-translate.js +1 -1
- package/tilde-nlp-ngx-translate-2.1.37.tgz +0 -0
- package/tilde-nlp-ngx-translate-2.1.36.tgz +0 -0
|
@@ -161,7 +161,7 @@ export class CombinedCollection {
|
|
|
161
161
|
}
|
|
162
162
|
this._isSynchronized = isSynchronized;
|
|
163
163
|
this.lastUpdated = lastMtUpdated ?? termModified;
|
|
164
|
-
this._syncButtonVisible = !this.isImporting && (!this.isSynchronized ||
|
|
164
|
+
this._syncButtonVisible = !this.isImporting && (!this.isSynchronized || this.mtStatus === MtCollectionStatus.ERROR);
|
|
165
165
|
}
|
|
166
166
|
updateSource() {
|
|
167
167
|
if (this.termCollection) {
|
|
@@ -185,4 +185,4 @@ export class CombinedCollection {
|
|
|
185
185
|
}
|
|
186
186
|
//#region Static properties
|
|
187
187
|
CombinedCollection.importingStatuses = [MtCollectionStatus.IMPORTING, MtCollectionStatus.PROCESSING];
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtY29sbGVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3NlcnZpY2VzL21vZGVscy9jb21iaW5lZC1jb2xsZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdqRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFzSDdCLFlBQVk7SUFFWixZQUFZLGlCQUFxQyxFQUFFLFlBQTBCO1FBbEY3RSxZQUFZO1FBRVoscUNBQXFDO1FBQ3JDLGNBQVMsR0FJTCxFQUFFLENBQUM7UUFDUCxhQUFhO1FBRWIsbUNBQW1DO1FBQ25DLGdKQUFnSjtRQUNoSiwwRkFBMEY7UUFFbEYsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFxRXRDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBL0dELE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxXQUF5QyxFQUFFLFVBQThCO1FBQzdHLEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDakQsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFD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LENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDOUksQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsVUFBVSxDQUFDO1NBQ3JEO2FBQ0ksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQyxrQkFBa0IsQ0FBQztTQUN2RTthQUNJLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLEtBQUssQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsNEJBQTRCLENBQUMsVUFBVSxDQUFDO1NBQy9EO2FBQ0k7WUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNILENBQUM7O0FBOU5ELDJCQUEyQjtBQUNwQixvQ0FBaUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuZ2luZVRlcm1Db2xsZWN0aW9uQWNjZXNzLCBFbmdpbmVUZXJtQ29sbGVjdGlvblNvdXJjZSB9IGZyb20gXCIuLi9lbmdpbmUtdGVybS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSVRsZFRlcm1Db2xsZWN0aW9uIH0gZnJvbSBcIi4uL3Rlcm0tYXBpL21vZGVscy90bGQtdGVybS1jb2xsZWN0aW9uLm1vZGVsXCI7XHJcbmltcG9ydCB7IENvbWJpbmVkQ29sbGVjdGlvblRvb2x0aXBLZXkgfSBmcm9tIFwiLi9jb21iaW5lZC1jb2xsZWN0aW9uLXRvb2x0aXAta2V5LmVudW1cIjtcclxuaW1wb3J0IHsgTXRDb2xsZWN0aW9uU3RhdHVzIH0gZnJvbSBcIi4vbXQtY29sbGVjdGlvbi1zdGF0dXMuZW51bVwiO1xyXG5pbXBvcnQgeyBNdENvbGxlY3Rpb24gfSBmcm9tIFwiLi9tdC1jb2xsZWN0aW9uLm1vZGVsXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3MgdGhhdCBqb2lucyBjb2xsZWN0aW9uIGZyb20gdGVybSBhcGkgYW5kIGl0cyBpbXBvcnRlZCBjb2xsZWN0aW9uIGZyb20gTVQgYXBpLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbWJpbmVkQ29sbGVjdGlvbiB7XHJcbiAgbXRDb2xsZWN0aW9uOiBNdENvbGxlY3Rpb247XHJcbiAgdGVybUNvbGxlY3Rpb246IElUbGRUZXJtQ29sbGVjdGlvbjtcclxuICB0ZXJtVG9vbHRpcEtleTogQ29tYmluZWRDb2xsZWN0aW9uVG9vbHRpcEtleTtcclxuICBzb3VyY2U6IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlO1xyXG4gIC8qKlxyXG4gICAqIE1vZGlmaWVkIGRhdGUgZnJvbSB0ZXJtIGFwaSBvciBsYXN0IHVwZGF0ZWQgZnJvbSBtdCBhcGkuXHJcbiAgICovXHJcbiAgbGFzdFVwZGF0ZWQ6IERhdGU7XHJcblxyXG4gIC8vI3JlZ2lvbiBTdGF0aWMgcHJvcGVydGllc1xyXG4gIHN0YXRpYyBpbXBvcnRpbmdTdGF0dXNlcyA9IFtNdENvbGxlY3Rpb25TdGF0dXMuSU1QT1JUSU5HLCBNdENvbGxlY3Rpb25TdGF0dXMuUFJPQ0VTU0lOR107XHJcblxyXG4gIHN0YXRpYyBmaW5kRXhpc3RpbmdDb2xsZWN0aW9uRnJvbUxpc3QoY29sbGVjdGlvbnM6IEl0ZXJhYmxlPENvbWJpbmVkQ29sbGVjdGlvbj4sIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbikge1xyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sbGVjdGlvbnMpIHtcclxuICAgICAgaWYgKChjb2wudGVybUlkICYmIGNvbC50ZXJtSWQgPT0gY29sbGVjdGlvbi50ZXJtSWQpIHx8XHJcbiAgICAgICAgKGNvbC5tdENvbGxlY3Rpb24/LmlkICYmIGNvbC5tdENvbGxlY3Rpb24uaWQgPT0gY29sbGVjdGlvbi5tdENvbGxlY3Rpb24/LmlkKSkge1xyXG4gICAgICAgIHJldHVybiBjb2w7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZpbmRFeGlzdGluZ0luZGV4RnJvbUxpc3QoY29sbGVjdGlvbnM6IEl0ZXJhYmxlPENvbWJpbmVkQ29sbGVjdGlvbj4sIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbik6IG51bWJlciB7XHJcbiAgICBpZiAoIWNvbGxlY3Rpb25zKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbGxlY3Rpb25zKSB7XHJcbiAgICAgIGlmICgoY29sLnRlcm1JZCAmJiBjb2wudGVybUlkID09IGNvbGxlY3Rpb24udGVybUlkKSB8fFxyXG4gICAgICAgIChjb2wubXRDb2xsZWN0aW9uPy5pZCAmJiBjb2wubXRDb2xsZWN0aW9uLmlkID09IGNvbGxlY3Rpb24ubXRDb2xsZWN0aW9uPy5pZCkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgICBpICs9IDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBFZGl0YWJsZSBNVCAoYXBpIHYyKSBmaWVsZHNcclxuICBlZGl0YWJsZXM6IHtcclxuICAgIGdsb2JhbERlZmF1bHQ/OiBib29sZWFuO1xyXG4gICAgdXNlckRlZmF1bHQ/OiBib29sZWFuO1xyXG4gICAgZ3JvdXBEZWZhdWx0PzogYm9vbGVhbjtcclxuICB9ID0ge307XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gR2V0dGVycyBmb3IgY29tbW9uIGZpZWxkc1xyXG4gIC8vIEl0IGlzIHBvc3NpYmxlIHRvIG9wdGltaXplIGdldHRlcnMsIGJ5IHNldHRpbmcgc29tZSBvZiB0aGUgdmFsdWVzIGluIHVwZGF0ZSBtZXRob2QsIGJ1dCBpdCBpcyBsZWZ0IHRoaXMgd2F5LCBzbyB0aGF0IGRhdGEgaXMgbW9yZSBjb25zaXN0ZW50LlxyXG4gIC8vIE90aGVyd2lzZSBpdCBtaWdodCBiZSBlYXN5IHRvIG1pc3Mgc29tZSBwcm9wZXJ0eSB1cGRhdGluZyBhbmQgZ2V0IHdyb25nIGRhdGEgaW4gZnV0dXJlLlxyXG5cclxuICBwcml2YXRlIF9pc1N5bmNocm9uaXplZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogV2VhdGhlciBjb2xsZWN0aW9uIGlzIHN5bmNocm9uaXplZCB3aXRoIHRlcm0gcG9ydGFsIGNvbGxlY3Rpb24uIElmIG5vIHRlcm0gY29sbGVjdGlvbiwgdmFsdWUgaXMgc2V0IHRvIHRydWUuXHJcbiAgICovXHJcbiAgZ2V0IGlzU3luY2hyb25pemVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzU3luY2hyb25pemVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lcyBpZiBjb2xsZWN0aW9ucyBpcyAnc3luY2FibGUnLiBSZXR1cm5zIHRydWUgaWYgaXQgaXMgbm90IHN5bmNlZCBvciBpZiBzeW5jaHJvbml6YXRpb24gaGFzIGZhaWxlZCBhbmQgc3RhdHVzIGlzIGVycm9yLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3N5bmNCdXR0b25WaXNpYmxlOiBib29sZWFuO1xyXG4gIGdldCBzeW5jQnV0dG9uVmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuX3N5bmNCdXR0b25WaXNpYmxlOyB9XHJcbiAgLyoqXHJcbiAgICogVGVybSBjb2xsZWN0aW9uIGlkLiBSZXR1cm5zIHZhbHVlIGZyb20gdGVybSBjb2xsZWN0aW9uIG9yIGZyb20gbXQsIGlmIHRlcm0gY29sbGVjdGlvbiBub3QgZXhpc3RpbmcuXHJcbiAgICovXHJcbiAgZ2V0IHRlcm1JZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1Db2xsZWN0aW9uPy5pZCA/PyB0aGlzLm10Q29sbGVjdGlvbj8udGVybUlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG10U3RhdHVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXRDb2xsZWN0aW9uPy5zdGF0dXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb2xsZWN0aW9uIG5hbWUuIElmIGhhcyB0ZXJtIGNvbGxlY3Rpb24sIHRha2VzIGZyb20gdGhlcmUuIElmIG5vdCwgdGhlbiByZXR1cm5zIG10IGNvbGxlY3Rpb24gbmFtZS5cclxuICAgKi9cclxuICBnZXQgbmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/IHRoaXMubXRDb2xsZWN0aW9uPy5uYW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW50cnkgY291bnQgZnJvbSB0ZXJtIGFwaS5cclxuICAgKi9cclxuICBnZXQgdGVybUVudHJpZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtQ29sbGVjdGlvbj8uZW50cnlDb3VudDtcclxuICB9XHJcblxyXG4gIC8qKiBDaGVja3MgaWYgaGFzIHNldCB0byBkZWZhdWx0IGluIGFueSBzY29wZSAqL1xyXG4gIHByaXZhdGUgX2RlZmF1bHQ6IGJvb2xlYW47XHJcbiAgZ2V0IGRlZmF1bHQoKSB7IHJldHVybiB0aGlzLl9kZWZhdWx0IH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXR1cyBmcm9tIG10IGFwaSBvciBjdXN0b20gXCJOT1RfSU5fVVNFXCIgc3RhdHVzIGlmIG5vdCBpbXBvcnRlZCBpbiBtdC5zXHJcbiAgICovXHJcbiAgZ2V0IHN0YXR1cygpIHtcclxuICAgIHJldHVybiB0aGlzLm10U3RhdHVzID8/IE10Q29sbGVjdGlvblN0YXR1cy5OT1RfSU5fVVNFO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2NvcGUgY2FuIGJlIGVkaXRlZCBvbmx5IGlmIGhhcyBtdCBjb2xsY2V0aW9uIG9yIHRlcm0gY29sbGVjdGlvbiBpcyBiZWluZyBwcmVwYXJlZCBmb3IgaW1wb3J0LlxyXG4gICAqL1xyXG4gIGdldCBjYW5FZGl0U2NvcGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tdENvbGxlY3Rpb24gfHwgdGhpcy5kZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRlcm1Db3VudCgpIHtcclxuICAgIHJldHVybiB0aGlzLm10Q29sbGVjdGlvbj8udGVybUNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNUZXJtUG9ydGFsQ29sbGVjdGlvbjogYm9vbGVhbjtcclxuICBnZXQgaXNUZXJtUG9ydGFsQ29sbGVjdGlvbigpIHsgcmV0dXJuIHRoaXMuX2lzVGVybVBvcnRhbENvbGxlY3Rpb247IH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNJbXBvcnRpbmc6IGJvb2xlYW47XHJcbiAgZ2V0IGlzSW1wb3J0aW5nKCkgeyByZXR1cm4gdGhpcy5faXNJbXBvcnRpbmc7IH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGNvbnN0cnVjdG9yKHRlcm1BcGlDb2xsZWN0aW9uOiBJVGxkVGVybUNvbGxlY3Rpb24sIG10Q29sbGVjdGlvbjogTXRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG10Q29sbGVjdGlvbjtcclxuICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSB0ZXJtQXBpQ29sbGVjdGlvbjtcclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBjb2xsZWN0aW9uIHdpdGggdmFsdWVzIGZyb20gbmV3IGNvbGxlY3Rpb24uXHJcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gY29sbGVjdGlvbiBmcm9tIHdoaWNoIHNob3VsZCBiZSB1cGRhdGVkLlxyXG4gICAqL1xyXG4gIHVwZGF0ZShjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24pIHtcclxuICAgIGlmIChjb2xsZWN0aW9uPy50ZXJtQ29sbGVjdGlvbikge1xyXG4gICAgICB0aGlzLnRlcm1Db2xsZWN0aW9uID0gY29sbGVjdGlvbi50ZXJtQ29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sbGVjdGlvbj8ubXRDb2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMubXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbi5tdENvbGxlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVjEgYXBpIGNvdWxkIG5vdCBjb250YWluIGNvbGxlY3Rpb25Tb3VyY2UgZmllbGQgdmFsdWVcclxuICAgIGlmICh0aGlzLm10Q29sbGVjdGlvbj8uY29sbGVjdGlvblNvdXJjZSAmJiB0aGlzLm10Q29sbGVjdGlvbi5jb2xsZWN0aW9uU291cmNlICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX2lzVGVybVBvcnRhbENvbGxlY3Rpb24gPSB0aGlzLm10Q29sbGVjdGlvbi5jb2xsZWN0aW9uU291cmNlID09PSBFbmdpbmVUZXJtQ29sbGVjdGlvblNvdXJjZS5USUxERV9URVJNID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faXNUZXJtUG9ydGFsQ29sbGVjdGlvbiA9ICh0aGlzLnRlcm1Db2xsZWN0aW9uIHx8IHRoaXMubXRDb2xsZWN0aW9uLnRlcm1JZCkgPyB0cnVlIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVFZGl0YWJsZXModGhpcy5tdENvbGxlY3Rpb24/LmFjY2Vzcyk7XHJcblxyXG4gICAgdGhpcy5faXNJbXBvcnRpbmcgPSB0aGlzLm10Q29sbGVjdGlvbiAmJiBDb21iaW5lZENvbGxlY3Rpb24uaW1wb3J0aW5nU3RhdHVzZXMuaW5jbHVkZXModGhpcy5tdENvbGxlY3Rpb24/LnN0YXR1cyk7XHJcbiAgICB0aGlzLl9kZWZhdWx0ID0gKHRoaXMuZWRpdGFibGVzLnVzZXJEZWZhdWx0IHx8IHRoaXMuZWRpdGFibGVzLmdyb3VwRGVmYXVsdCB8fCB0aGlzLmVkaXRhYmxlcy5nbG9iYWxEZWZhdWx0KSA/PyBmYWxzZTtcclxuICAgIHRoaXMudXBkYXRlSXNTeW5jaHJvbml6ZWQoKTtcclxuICAgIHRoaXMudXBkYXRlVG9vbHRpcEtleSgpO1xyXG4gICAgdGhpcy51cGRhdGVTb3VyY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHNvbWUgb2YgZWRpdGFibGVzIGFyZSBlZGl0ZWQuXHJcbiAgICpcclxuICAgKiBpZiBjb2xsZWN0aW9uIG5vdCBpbXBvcnRlZCBhbmQgZW5hYmxlZCBub3Qgc2V0LCBtZXRob2Qgd2lsbCByZXR1cm4gdHJ1ZSwgYmVjYXVzZSB5b3UgY2Fubm90IHVwZGF0ZSBjb2xsZWN0aW9uIGlmIGl0IGlzIG5vdCBpbXBvcnRlZCBvciBpcyBub3QgbWVhbnQgdG8gYmUgaW1wb3J0ZWQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGNvbGxlY3Rpb24gaXMgZWRpdGVkLCBmYWxzZSBpZiBub3QuXHJcbiAgICovXHJcbiAgaXNFZGl0ZWQoKSB7XHJcbiAgICBpZiAoKHRoaXMubXRDb2xsZWN0aW9uPy5hY2Nlc3MudXNlcj8uZGVmYXVsdCAhPT0gdGhpcy5lZGl0YWJsZXMudXNlckRlZmF1bHQpXHJcbiAgICAgIHx8ICh0aGlzLm10Q29sbGVjdGlvbj8uYWNjZXNzLmdyb3VwPy5kZWZhdWx0ICE9PSB0aGlzLmVkaXRhYmxlcy5ncm91cERlZmF1bHQpXHJcbiAgICAgIHx8ICh0aGlzLm10Q29sbGVjdGlvbj8uYWNjZXNzLmdsb2JhbD8uZGVmYXVsdCAhPT0gdGhpcy5lZGl0YWJsZXMuZ2xvYmFsRGVmYXVsdCkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIHRlcm0gY29sbGVjdGlvbiBhbmQgaXRzIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgZGVsZXRlVGVybXMoKSB7XHJcbiAgICB0aGlzLnRlcm1Db2xsZWN0aW9uID0gbnVsbDtcclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgbXQgY29sbGVjdGlvbiBhbmQgaXRzIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgZGVsZXRlTVQoKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUVkaXRhYmxlcyhhY2Nlc3M6IEVuZ2luZVRlcm1Db2xsZWN0aW9uQWNjZXNzIHwgbnVsbCkge1xyXG4gICAgaWYgKCFhY2Nlc3MpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdGFibGVzLmdsb2JhbERlZmF1bHQgPSBhY2Nlc3MuZ2xvYmFsPy5kZWZhdWx0O1xyXG4gICAgdGhpcy5lZGl0YWJsZXMuZ3JvdXBEZWZhdWx0ID0gYWNjZXNzLmdyb3VwPy5kZWZhdWx0O1xyXG4gICAgdGhpcy5lZGl0YWJsZXMudXNlckRlZmF1bHQgPSBhY2Nlc3MudXNlcj8uZGVmYXVsdDtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQcml2YXRlIG1ldGhvZHNcclxuICBwcml2YXRlIHVwZGF0ZUlzU3luY2hyb25pemVkKCkge1xyXG4gICAgbGV0IGlzU3luY2hyb25pemVkID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB0ZXJtTW9kaWZpZWQgPSB0aGlzLnRlcm1Db2xsZWN0aW9uPy5tb2RpZnlEYXRlO1xyXG4gICAgY29uc3QgbGFzdE10VXBkYXRlZCA9IHRoaXMubXRDb2xsZWN0aW9uPy5sYXN0VXBkYXRlZDtcclxuICAgIGlmICh0ZXJtTW9kaWZpZWQgJiYgbGFzdE10VXBkYXRlZCkge1xyXG4gICAgICBpc1N5bmNocm9uaXplZCA9IHRlcm1Nb2RpZmllZCA8PSBsYXN0TXRVcGRhdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2lzU3luY2hyb25pemVkID0gaXNTeW5jaHJvbml6ZWQ7XHJcbiAgICB0aGlzLmxhc3RVcGRhdGVkID0gbGFzdE10VXBkYXRlZCA/PyB0ZXJtTW9kaWZpZWQ7XHJcbiAgICB0aGlzLl9zeW5jQnV0dG9uVmlzaWJsZSA9ICF0aGlzLmlzSW1wb3J0aW5nICYmICghdGhpcy5pc1N5bmNocm9uaXplZCB8fCAodGhpcy50ZXJtQ29sbGVjdGlvbiAmJiB0aGlzLm10U3RhdHVzID09PSBNdENvbGxlY3Rpb25TdGF0dXMuRVJST1IpKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVTb3VyY2UoKSB7XHJcbiAgICBpZiAodGhpcy50ZXJtQ29sbGVjdGlvbikge1xyXG4gICAgICB0aGlzLnNvdXJjZSA9IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlLlRJTERFX1RFUk07XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLm10Q29sbGVjdGlvbikge1xyXG4gICAgICB0aGlzLnNvdXJjZSA9IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlLkZJTEU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXBLZXkoKSB7XHJcbiAgICBpZiAodGhpcy5kZWZhdWx0KSB7XHJcbiAgICAgIHRoaXMudGVybVRvb2x0aXBLZXkgPSBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5LkRFRkFVTFRfQ09MTEVDVElPTjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMudGVybUNvbGxlY3Rpb24/LmVudHJ5Q291bnQgPT09IDApIHtcclxuICAgICAgdGhpcy50ZXJtVG9vbHRpcEtleSA9IENvbWJpbmVkQ29sbGVjdGlvblRvb2x0aXBLZXkuTk9fRU5UUklFUztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRlcm1Ub29sdGlwS2V5ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtY29sbGVjdGlvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXJtL3NlcnZpY2VzL21vZGVscy9jb21iaW5lZC1jb2xsZWN0aW9uLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBOEIsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdqRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFzSDdCLFlBQVk7SUFFWixZQUFZLGlCQUFxQyxFQUFFLFlBQTBCO1FBbEY3RSxZQUFZO1FBRVoscUNBQXFDO1FBQ3JDLGNBQVMsR0FJTCxFQUFFLENBQUM7UUFDUCxhQUFhO1FBRWIsbUNBQW1DO1FBQ25DLGdKQUFnSjtRQUNoSiwwRkFBMEY7UUFFbEYsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFxRXRDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEdBQUcsaUJBQWlCLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBL0dELE1BQU0sQ0FBQyw4QkFBOEIsQ0FBQyxXQUF5QyxFQUFFLFVBQThCO1FBQzdHLEtBQUssTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDakQsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxHQUFHLENBQUMsWUFBWSxDQUFD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LENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEgsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsVUFBVSxDQUFDO1NBQ3JEO2FBQ0ksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGNBQWMsR0FBRyw0QkFBNEIsQ0FBQyxrQkFBa0IsQ0FBQztTQUN2RTthQUNJLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLEtBQUssQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsNEJBQTRCLENBQUMsVUFBVSxDQUFDO1NBQy9EO2FBQ0k7WUFDSCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztTQUM1QjtJQUNILENBQUM7O0FBOU5ELDJCQUEyQjtBQUNwQixvQ0FBaUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuZ2luZVRlcm1Db2xsZWN0aW9uQWNjZXNzLCBFbmdpbmVUZXJtQ29sbGVjdGlvblNvdXJjZSB9IGZyb20gXCIuLi9lbmdpbmUtdGVybS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgSVRsZFRlcm1Db2xsZWN0aW9uIH0gZnJvbSBcIi4uL3Rlcm0tYXBpL21vZGVscy90bGQtdGVybS1jb2xsZWN0aW9uLm1vZGVsXCI7XHJcbmltcG9ydCB7IENvbWJpbmVkQ29sbGVjdGlvblRvb2x0aXBLZXkgfSBmcm9tIFwiLi9jb21iaW5lZC1jb2xsZWN0aW9uLXRvb2x0aXAta2V5LmVudW1cIjtcclxuaW1wb3J0IHsgTXRDb2xsZWN0aW9uU3RhdHVzIH0gZnJvbSBcIi4vbXQtY29sbGVjdGlvbi1zdGF0dXMuZW51bVwiO1xyXG5pbXBvcnQgeyBNdENvbGxlY3Rpb24gfSBmcm9tIFwiLi9tdC1jb2xsZWN0aW9uLm1vZGVsXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3MgdGhhdCBqb2lucyBjb2xsZWN0aW9uIGZyb20gdGVybSBhcGkgYW5kIGl0cyBpbXBvcnRlZCBjb2xsZWN0aW9uIGZyb20gTVQgYXBpLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIENvbWJpbmVkQ29sbGVjdGlvbiB7XHJcbiAgbXRDb2xsZWN0aW9uOiBNdENvbGxlY3Rpb247XHJcbiAgdGVybUNvbGxlY3Rpb246IElUbGRUZXJtQ29sbGVjdGlvbjtcclxuICB0ZXJtVG9vbHRpcEtleTogQ29tYmluZWRDb2xsZWN0aW9uVG9vbHRpcEtleTtcclxuICBzb3VyY2U6IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlO1xyXG4gIC8qKlxyXG4gICAqIE1vZGlmaWVkIGRhdGUgZnJvbSB0ZXJtIGFwaSBvciBsYXN0IHVwZGF0ZWQgZnJvbSBtdCBhcGkuXHJcbiAgICovXHJcbiAgbGFzdFVwZGF0ZWQ6IERhdGU7XHJcblxyXG4gIC8vI3JlZ2lvbiBTdGF0aWMgcHJvcGVydGllc1xyXG4gIHN0YXRpYyBpbXBvcnRpbmdTdGF0dXNlcyA9IFtNdENvbGxlY3Rpb25TdGF0dXMuSU1QT1JUSU5HLCBNdENvbGxlY3Rpb25TdGF0dXMuUFJPQ0VTU0lOR107XHJcblxyXG4gIHN0YXRpYyBmaW5kRXhpc3RpbmdDb2xsZWN0aW9uRnJvbUxpc3QoY29sbGVjdGlvbnM6IEl0ZXJhYmxlPENvbWJpbmVkQ29sbGVjdGlvbj4sIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbikge1xyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sbGVjdGlvbnMpIHtcclxuICAgICAgaWYgKChjb2wudGVybUlkICYmIGNvbC50ZXJtSWQgPT0gY29sbGVjdGlvbi50ZXJtSWQpIHx8XHJcbiAgICAgICAgKGNvbC5tdENvbGxlY3Rpb24/LmlkICYmIGNvbC5tdENvbGxlY3Rpb24uaWQgPT0gY29sbGVjdGlvbi5tdENvbGxlY3Rpb24/LmlkKSkge1xyXG4gICAgICAgIHJldHVybiBjb2w7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZpbmRFeGlzdGluZ0luZGV4RnJvbUxpc3QoY29sbGVjdGlvbnM6IEl0ZXJhYmxlPENvbWJpbmVkQ29sbGVjdGlvbj4sIGNvbGxlY3Rpb246IENvbWJpbmVkQ29sbGVjdGlvbik6IG51bWJlciB7XHJcbiAgICBpZiAoIWNvbGxlY3Rpb25zKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbGxlY3Rpb25zKSB7XHJcbiAgICAgIGlmICgoY29sLnRlcm1JZCAmJiBjb2wudGVybUlkID09IGNvbGxlY3Rpb24udGVybUlkKSB8fFxyXG4gICAgICAgIChjb2wubXRDb2xsZWN0aW9uPy5pZCAmJiBjb2wubXRDb2xsZWN0aW9uLmlkID09IGNvbGxlY3Rpb24ubXRDb2xsZWN0aW9uPy5pZCkpIHtcclxuICAgICAgICByZXR1cm4gaTtcclxuICAgICAgfVxyXG4gICAgICBpICs9IDE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIC8vI3JlZ2lvbiBFZGl0YWJsZSBNVCAoYXBpIHYyKSBmaWVsZHNcclxuICBlZGl0YWJsZXM6IHtcclxuICAgIGdsb2JhbERlZmF1bHQ/OiBib29sZWFuO1xyXG4gICAgdXNlckRlZmF1bHQ/OiBib29sZWFuO1xyXG4gICAgZ3JvdXBEZWZhdWx0PzogYm9vbGVhbjtcclxuICB9ID0ge307XHJcbiAgLy8gI2VuZHJlZ2lvblxyXG5cclxuICAvLyNyZWdpb24gR2V0dGVycyBmb3IgY29tbW9uIGZpZWxkc1xyXG4gIC8vIEl0IGlzIHBvc3NpYmxlIHRvIG9wdGltaXplIGdldHRlcnMsIGJ5IHNldHRpbmcgc29tZSBvZiB0aGUgdmFsdWVzIGluIHVwZGF0ZSBtZXRob2QsIGJ1dCBpdCBpcyBsZWZ0IHRoaXMgd2F5LCBzbyB0aGF0IGRhdGEgaXMgbW9yZSBjb25zaXN0ZW50LlxyXG4gIC8vIE90aGVyd2lzZSBpdCBtaWdodCBiZSBlYXN5IHRvIG1pc3Mgc29tZSBwcm9wZXJ0eSB1cGRhdGluZyBhbmQgZ2V0IHdyb25nIGRhdGEgaW4gZnV0dXJlLlxyXG5cclxuICBwcml2YXRlIF9pc1N5bmNocm9uaXplZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogV2VhdGhlciBjb2xsZWN0aW9uIGlzIHN5bmNocm9uaXplZCB3aXRoIHRlcm0gcG9ydGFsIGNvbGxlY3Rpb24uIElmIG5vIHRlcm0gY29sbGVjdGlvbiwgdmFsdWUgaXMgc2V0IHRvIHRydWUuXHJcbiAgICovXHJcbiAgZ2V0IGlzU3luY2hyb25pemVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzU3luY2hyb25pemVkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZXJtaW5lcyBpZiBjb2xsZWN0aW9ucyBpcyAnc3luY2FibGUnLiBSZXR1cm5zIHRydWUgaWYgaXQgaXMgbm90IHN5bmNlZCBvciBpZiBzeW5jaHJvbml6YXRpb24gaGFzIGZhaWxlZCBhbmQgc3RhdHVzIGlzIGVycm9yLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3N5bmNCdXR0b25WaXNpYmxlOiBib29sZWFuO1xyXG4gIGdldCBzeW5jQnV0dG9uVmlzaWJsZSgpIHsgcmV0dXJuIHRoaXMuX3N5bmNCdXR0b25WaXNpYmxlOyB9XHJcbiAgLyoqXHJcbiAgICogVGVybSBjb2xsZWN0aW9uIGlkLiBSZXR1cm5zIHZhbHVlIGZyb20gdGVybSBjb2xsZWN0aW9uIG9yIGZyb20gbXQsIGlmIHRlcm0gY29sbGVjdGlvbiBub3QgZXhpc3RpbmcuXHJcbiAgICovXHJcbiAgZ2V0IHRlcm1JZCgpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1Db2xsZWN0aW9uPy5pZCA/PyB0aGlzLm10Q29sbGVjdGlvbj8udGVybUlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG10U3RhdHVzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubXRDb2xsZWN0aW9uPy5zdGF0dXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb2xsZWN0aW9uIG5hbWUuIElmIGhhcyB0ZXJtIGNvbGxlY3Rpb24sIHRha2VzIGZyb20gdGhlcmUuIElmIG5vdCwgdGhlbiByZXR1cm5zIG10IGNvbGxlY3Rpb24gbmFtZS5cclxuICAgKi9cclxuICBnZXQgbmFtZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRlcm1Db2xsZWN0aW9uPy5uYW1lID8/IHRoaXMubXRDb2xsZWN0aW9uPy5uYW1lO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW50cnkgY291bnQgZnJvbSB0ZXJtIGFwaS5cclxuICAgKi9cclxuICBnZXQgdGVybUVudHJpZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50ZXJtQ29sbGVjdGlvbj8uZW50cnlDb3VudDtcclxuICB9XHJcblxyXG4gIC8qKiBDaGVja3MgaWYgaGFzIHNldCB0byBkZWZhdWx0IGluIGFueSBzY29wZSAqL1xyXG4gIHByaXZhdGUgX2RlZmF1bHQ6IGJvb2xlYW47XHJcbiAgZ2V0IGRlZmF1bHQoKSB7IHJldHVybiB0aGlzLl9kZWZhdWx0IH07XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0YXR1cyBmcm9tIG10IGFwaSBvciBjdXN0b20gXCJOT1RfSU5fVVNFXCIgc3RhdHVzIGlmIG5vdCBpbXBvcnRlZCBpbiBtdC5zXHJcbiAgICovXHJcbiAgZ2V0IHN0YXR1cygpIHtcclxuICAgIHJldHVybiB0aGlzLm10U3RhdHVzID8/IE10Q29sbGVjdGlvblN0YXR1cy5OT1RfSU5fVVNFO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2NvcGUgY2FuIGJlIGVkaXRlZCBvbmx5IGlmIGhhcyBtdCBjb2xsY2V0aW9uIG9yIHRlcm0gY29sbGVjdGlvbiBpcyBiZWluZyBwcmVwYXJlZCBmb3IgaW1wb3J0LlxyXG4gICAqL1xyXG4gIGdldCBjYW5FZGl0U2NvcGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5tdENvbGxlY3Rpb24gfHwgdGhpcy5kZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRlcm1Db3VudCgpIHtcclxuICAgIHJldHVybiB0aGlzLm10Q29sbGVjdGlvbj8udGVybUNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNUZXJtUG9ydGFsQ29sbGVjdGlvbjogYm9vbGVhbjtcclxuICBnZXQgaXNUZXJtUG9ydGFsQ29sbGVjdGlvbigpIHsgcmV0dXJuIHRoaXMuX2lzVGVybVBvcnRhbENvbGxlY3Rpb247IH1cclxuXHJcbiAgcHJpdmF0ZSBfaXNJbXBvcnRpbmc6IGJvb2xlYW47XHJcbiAgZ2V0IGlzSW1wb3J0aW5nKCkgeyByZXR1cm4gdGhpcy5faXNJbXBvcnRpbmc7IH1cclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIGNvbnN0cnVjdG9yKHRlcm1BcGlDb2xsZWN0aW9uOiBJVGxkVGVybUNvbGxlY3Rpb24sIG10Q29sbGVjdGlvbjogTXRDb2xsZWN0aW9uKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG10Q29sbGVjdGlvbjtcclxuICAgIHRoaXMudGVybUNvbGxlY3Rpb24gPSB0ZXJtQXBpQ29sbGVjdGlvbjtcclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBjb2xsZWN0aW9uIHdpdGggdmFsdWVzIGZyb20gbmV3IGNvbGxlY3Rpb24uXHJcbiAgICogQHBhcmFtIGNvbGxlY3Rpb24gY29sbGVjdGlvbiBmcm9tIHdoaWNoIHNob3VsZCBiZSB1cGRhdGVkLlxyXG4gICAqL1xyXG4gIHVwZGF0ZShjb2xsZWN0aW9uOiBDb21iaW5lZENvbGxlY3Rpb24pIHtcclxuICAgIGlmIChjb2xsZWN0aW9uPy50ZXJtQ29sbGVjdGlvbikge1xyXG4gICAgICB0aGlzLnRlcm1Db2xsZWN0aW9uID0gY29sbGVjdGlvbi50ZXJtQ29sbGVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sbGVjdGlvbj8ubXRDb2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMubXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbi5tdENvbGxlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVjEgYXBpIGNvdWxkIG5vdCBjb250YWluIGNvbGxlY3Rpb25Tb3VyY2UgZmllbGQgdmFsdWVcclxuICAgIGlmICh0aGlzLm10Q29sbGVjdGlvbj8uY29sbGVjdGlvblNvdXJjZSAmJiB0aGlzLm10Q29sbGVjdGlvbi5jb2xsZWN0aW9uU291cmNlICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX2lzVGVybVBvcnRhbENvbGxlY3Rpb24gPSB0aGlzLm10Q29sbGVjdGlvbi5jb2xsZWN0aW9uU291cmNlID09PSBFbmdpbmVUZXJtQ29sbGVjdGlvblNvdXJjZS5USUxERV9URVJNID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faXNUZXJtUG9ydGFsQ29sbGVjdGlvbiA9ICh0aGlzLnRlcm1Db2xsZWN0aW9uIHx8IHRoaXMubXRDb2xsZWN0aW9uLnRlcm1JZCkgPyB0cnVlIDogZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVFZGl0YWJsZXModGhpcy5tdENvbGxlY3Rpb24/LmFjY2Vzcyk7XHJcblxyXG4gICAgdGhpcy5faXNJbXBvcnRpbmcgPSB0aGlzLm10Q29sbGVjdGlvbiAmJiBDb21iaW5lZENvbGxlY3Rpb24uaW1wb3J0aW5nU3RhdHVzZXMuaW5jbHVkZXModGhpcy5tdENvbGxlY3Rpb24/LnN0YXR1cyk7XHJcbiAgICB0aGlzLl9kZWZhdWx0ID0gKHRoaXMuZWRpdGFibGVzLnVzZXJEZWZhdWx0IHx8IHRoaXMuZWRpdGFibGVzLmdyb3VwRGVmYXVsdCB8fCB0aGlzLmVkaXRhYmxlcy5nbG9iYWxEZWZhdWx0KSA/PyBmYWxzZTtcclxuICAgIHRoaXMudXBkYXRlSXNTeW5jaHJvbml6ZWQoKTtcclxuICAgIHRoaXMudXBkYXRlVG9vbHRpcEtleSgpO1xyXG4gICAgdGhpcy51cGRhdGVTb3VyY2UoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHNvbWUgb2YgZWRpdGFibGVzIGFyZSBlZGl0ZWQuXHJcbiAgICpcclxuICAgKiBpZiBjb2xsZWN0aW9uIG5vdCBpbXBvcnRlZCBhbmQgZW5hYmxlZCBub3Qgc2V0LCBtZXRob2Qgd2lsbCByZXR1cm4gdHJ1ZSwgYmVjYXVzZSB5b3UgY2Fubm90IHVwZGF0ZSBjb2xsZWN0aW9uIGlmIGl0IGlzIG5vdCBpbXBvcnRlZCBvciBpcyBub3QgbWVhbnQgdG8gYmUgaW1wb3J0ZWQuXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGNvbGxlY3Rpb24gaXMgZWRpdGVkLCBmYWxzZSBpZiBub3QuXHJcbiAgICovXHJcbiAgaXNFZGl0ZWQoKSB7XHJcbiAgICBpZiAoKHRoaXMubXRDb2xsZWN0aW9uPy5hY2Nlc3MudXNlcj8uZGVmYXVsdCAhPT0gdGhpcy5lZGl0YWJsZXMudXNlckRlZmF1bHQpXHJcbiAgICAgIHx8ICh0aGlzLm10Q29sbGVjdGlvbj8uYWNjZXNzLmdyb3VwPy5kZWZhdWx0ICE9PSB0aGlzLmVkaXRhYmxlcy5ncm91cERlZmF1bHQpXHJcbiAgICAgIHx8ICh0aGlzLm10Q29sbGVjdGlvbj8uYWNjZXNzLmdsb2JhbD8uZGVmYXVsdCAhPT0gdGhpcy5lZGl0YWJsZXMuZ2xvYmFsRGVmYXVsdCkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWxldGVzIHRlcm0gY29sbGVjdGlvbiBhbmQgaXRzIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgZGVsZXRlVGVybXMoKSB7XHJcbiAgICB0aGlzLnRlcm1Db2xsZWN0aW9uID0gbnVsbDtcclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZXMgbXQgY29sbGVjdGlvbiBhbmQgaXRzIHByb3BlcnRpZXMuXHJcbiAgICovXHJcbiAgZGVsZXRlTVQoKSB7XHJcbiAgICB0aGlzLm10Q29sbGVjdGlvbiA9IG51bGw7XHJcbiAgICB0aGlzLnVwZGF0ZShudWxsKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZUVkaXRhYmxlcyhhY2Nlc3M6IEVuZ2luZVRlcm1Db2xsZWN0aW9uQWNjZXNzIHwgbnVsbCkge1xyXG4gICAgaWYgKCFhY2Nlc3MpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdGFibGVzLmdsb2JhbERlZmF1bHQgPSBhY2Nlc3MuZ2xvYmFsPy5kZWZhdWx0O1xyXG4gICAgdGhpcy5lZGl0YWJsZXMuZ3JvdXBEZWZhdWx0ID0gYWNjZXNzLmdyb3VwPy5kZWZhdWx0O1xyXG4gICAgdGhpcy5lZGl0YWJsZXMudXNlckRlZmF1bHQgPSBhY2Nlc3MudXNlcj8uZGVmYXVsdDtcclxuICB9XHJcblxyXG4gIC8vI3JlZ2lvbiBQcml2YXRlIG1ldGhvZHNcclxuICBwcml2YXRlIHVwZGF0ZUlzU3luY2hyb25pemVkKCkge1xyXG4gICAgbGV0IGlzU3luY2hyb25pemVkID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB0ZXJtTW9kaWZpZWQgPSB0aGlzLnRlcm1Db2xsZWN0aW9uPy5tb2RpZnlEYXRlO1xyXG4gICAgY29uc3QgbGFzdE10VXBkYXRlZCA9IHRoaXMubXRDb2xsZWN0aW9uPy5sYXN0VXBkYXRlZDtcclxuICAgIGlmICh0ZXJtTW9kaWZpZWQgJiYgbGFzdE10VXBkYXRlZCkge1xyXG4gICAgICBpc1N5bmNocm9uaXplZCA9IHRlcm1Nb2RpZmllZCA8PSBsYXN0TXRVcGRhdGVkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2lzU3luY2hyb25pemVkID0gaXNTeW5jaHJvbml6ZWQ7XHJcbiAgICB0aGlzLmxhc3RVcGRhdGVkID0gbGFzdE10VXBkYXRlZCA/PyB0ZXJtTW9kaWZpZWQ7XHJcbiAgICB0aGlzLl9zeW5jQnV0dG9uVmlzaWJsZSA9ICF0aGlzLmlzSW1wb3J0aW5nICYmICghdGhpcy5pc1N5bmNocm9uaXplZCB8fCB0aGlzLm10U3RhdHVzID09PSBNdENvbGxlY3Rpb25TdGF0dXMuRVJST1IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVTb3VyY2UoKSB7XHJcbiAgICBpZiAodGhpcy50ZXJtQ29sbGVjdGlvbikge1xyXG4gICAgICB0aGlzLnNvdXJjZSA9IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlLlRJTERFX1RFUk07XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLm10Q29sbGVjdGlvbikge1xyXG4gICAgICB0aGlzLnNvdXJjZSA9IEVuZ2luZVRlcm1Db2xsZWN0aW9uU291cmNlLkZJTEU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRvb2x0aXBLZXkoKSB7XHJcbiAgICBpZiAodGhpcy5kZWZhdWx0KSB7XHJcbiAgICAgIHRoaXMudGVybVRvb2x0aXBLZXkgPSBDb21iaW5lZENvbGxlY3Rpb25Ub29sdGlwS2V5LkRFRkFVTFRfQ09MTEVDVElPTjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMudGVybUNvbGxlY3Rpb24/LmVudHJ5Q291bnQgPT09IDApIHtcclxuICAgICAgdGhpcy50ZXJtVG9vbHRpcEtleSA9IENvbWJpbmVkQ29sbGVjdGlvblRvb2x0aXBLZXkuTk9fRU5UUklFUztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRlcm1Ub29sdGlwS2V5ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==
|
package/esm2020/lib/modules/tld-text/components/tld-translate-text/tld-translate-text.component.mjs
CHANGED
|
@@ -43,6 +43,7 @@ export class TldTranslateTextComponent {
|
|
|
43
43
|
this.breakpointObserver = breakpointObserver;
|
|
44
44
|
this.onFileChange = new EventEmitter();
|
|
45
45
|
this.targetSentenceSelect = true;
|
|
46
|
+
this.allowedTypesWithoutDots = [];
|
|
46
47
|
this.copyMessageId = "tld-copy-success";
|
|
47
48
|
this.copyMessageCloseButtonId = "tld-copy-success-close";
|
|
48
49
|
this.copyButtonId = "tld-copy-to-clipboard";
|
|
@@ -137,6 +138,7 @@ export class TldTranslateTextComponent {
|
|
|
137
138
|
apiUrl: this.config.audioConfig.dictateApiUrl
|
|
138
139
|
};
|
|
139
140
|
this.visibleExtensions = this.allowedFileTypes.slice(0, this.visibleExtensionCount).join(", ");
|
|
141
|
+
this.allowedFileTypes.forEach((el) => this.allowedTypesWithoutDots.push(el.replace('.', '')));
|
|
140
142
|
this.maxSizeMB = Common.bytesToMb(this.config.fileConfig.maxSize);
|
|
141
143
|
this.tldSystem.getActiveData().pipe(distinctUntilChanged((x, y) => x && y && x.systemId == y.systemId))
|
|
142
144
|
.pipe(takeUntil(this.destroy$))
|
|
@@ -266,4 +268,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
266
268
|
}], onFileChange: [{
|
|
267
269
|
type: Output
|
|
268
270
|
}] } });
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtdGV4dC90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQztBQUd0RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JwRCxNQUFNLE9BQU8seUJBQXlCO0lBaUZwQyxZQUNtQixvQkFBNkMsRUFDN0MsU0FBb0IsRUFDcEIsTUFBdUIsRUFDdkIsTUFBaUMsRUFDakMsZ0JBQWtDLEVBQ2xDLFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLGlCQUF1QyxFQUN2QyxXQUFvQyxFQUNwQyxrQkFBc0M7UUFUdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtR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QUFDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsb0JBQW9CLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGdHQUFnRztJQUN4Riw2QkFBNkI7UUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDcEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzs7c0hBalBVLHlCQUF5QjswR0FBekIseUJBQXlCLGlSQ3hCdEMsZzFMQXVHQTsyRkQvRWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLG9CQUFvQjtxWkFLQSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFHbkIsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEF1ZGlvRXJyb3JDYXNlLCBJVHJhbnNjcmlwdGlvblVwZGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvL21vZGVscyc7XHJcbmltcG9ydCB7IElEaWN0YXRlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpby9tb2RlbHMvZGljdGF0ZS1jb25maWd1cmF0aW9uaS5tb2RlbCc7XHJcbmltcG9ydCB7IEF1ZGlvUmVjb3JkU2VydmljZSwgVGxkVm9pY2VJbnB1dFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtYXVkaW8vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBDb21tb24gfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZEFsZXJ0U2VydmljZSwgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUbGRTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcy9zY3JvbGwvdGxkLXNjcm9sbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtZG9jdW1lbnQvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBJQWN0aXZlRGF0YSB9IGZyb20gJy4uLy4uLy4uL3RsZC10b29sdGlwL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtdG9vbHRpcC9zZXJ2aWNlcy90bGQtc3lzdGVtLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVUZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RsZC10cmFuc2xhdGUtdGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlU291cmNlQ29tcG9uZW50IH0gZnJvbSAnLi4vdGxkLXRyYW5zbGF0ZS1zb3VyY2UvdGxkLXRyYW5zbGF0ZS1zb3VyY2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZEVycm9yIH0gZnJvbSAnQHRpbGRlLW5scC9uZ3gtY29tbW9uJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcInNvdXJjZUNvbXBvbmVudFwiKSBzb3VyY2VDb21wb25lbnQ6IFRsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudDtcclxuXHJcblxyXG4gIEBJbnB1dCgpIGZpbGVQcmV2aWV3UHJvZ3Jlc3M6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgb25GaWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RmlsZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xyXG5cclxuICBhY3RpdmVEYXRhOiBJQWN0aXZlRGF0YTtcclxuICBnZXQgc3lzdGVtSWQoKSB7IHJldHVybiB0aGlzLmFjdGl2ZURhdGE/LnN5c3RlbUlkOyB9O1xyXG4gIC8vcGFyYW1zIGZyb20gY29uZmlnIHNlcnZpY2UuXHJcbiAgZ2V0IGFsbG93ZWRGaWxlVHlwZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5hbGxvd2VkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBleHRlbmRlZEZpbGVUeXBlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLmV4dGVuZGVkRmlsZVR5cGVzOyB9O1xyXG4gIGdldCBhcHBJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5hcHBJZDsgfTtcclxuICBnZXQgaGlnaGxpZ2h0KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5oaWdobGlnaHQ7IH07XHJcbiAgZ2V0IGdyYW1DaGVjaygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuY2hlY2tTb3VyY2VHcmFtbWFyOyB9O1xyXG4gIGdldCBmaWxlVXBsb2FkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5maWxlVXBsb2FkICYmICEodGhpcy5pc0RpY3RhdGluZyB8fCB0aGlzLmF1ZGlvU2VydmljZT8uaXNSZWNvcmRpbmcgfHwgdGhpcy52b2ljZUlucHV0U2VydmljZS5pc1Byb2Nlc3NpbmcpOyB9O1xyXG4gIGdldCBjbGllbnRJZCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5jbGllbnRJZDsgfTtcclxuICBnZXQgaGlkZUFjaGlldmVtZW50KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5oaWRlQWNoaWV2ZW1lbnQgfHwgIXRoaXMuaXNFbXB0eVRhcmdldDsgfTtcclxuICBnZXQgaXNBdXRoKCkgeyByZXR1cm4gdGhpcy5jb25maWcuY29yZUNvbmZpZy5pc0F1dGg7IH07XHJcbiAgZ2V0IG1heEZpbGVVcGxvYWRTaXplKCk6IG51bWJlciB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm1heFNpemU7IH07XHJcbiAgZ2V0IG11bHRpcGxlRmlsZXMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm51bWJlck9mRmlsZXNBbGxvd2VkID4gMTsgfTtcclxuICBnZXQgdHJhbnNsYXRpb25VcmwoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudHJhbnNsYXRpb25Vcmw7IH07XHJcbiAgZ2V0IHVwZGF0ZVRyYW5zbGF0aW9uVXJsKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnVwZGF0ZVRyYW5zbGF0aW9uVXJsOyB9O1xyXG4gIGdldCB1c2VEaWN0aW9uYXJ5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy51c2VEaWN0aW9uYXJ5OyB9O1xyXG4gIGdldCBhbGxvd1dlYnNpdGVUcmFuc2xhdGlvbigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuYWxsb3dXZWJzaXRlVHJhbnNsYXRpb247IH07XHJcbiAgZ2V0IGF1dG9SZWRpcmVjdFRvV2ViVHJhbnNsYXRlKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5hdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZTsgfTtcclxuICBnZXQgd2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXgoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcud2ViV2lkZ2V0UmVkaXJlY3RVcmxQcmVmaXg7IH07XHJcbiAgZ2V0IHdlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUG9zZml4OyB9O1xyXG4gIGdldCBzaG93U3VnZ2VzdGlvbnMoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzICYmIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd1N1Z2dlc3Rpb25zICYmICF0aGlzLnVybFRvVHJhbnNsYXRlIH07XHJcbiAgZ2V0IHRleHRhcmVhRGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmF1ZGlvU2VydmljZS5pc1JlY29yZGluZyB8fCB0aGlzLnZvaWNlSW5wdXRTZXJ2aWNlLmlzUHJvY2Vzc2luZyB8fCB0aGlzLmlzRGljdGF0aW5nIH07XHJcbiAgZ2V0IGlzRGljdGF0aW5nKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZzsgfTtcclxuICBnZXQgbWF4RGljdGF0ZUxlbmd0aCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLm1heGltdW1SZWNvcmRUaW1lOyB9XHJcbiAgZ2V0IHNvdXJjZUxhbmd1YWdlKCkgeyByZXR1cm4gdGhpcy5hY3RpdmVEYXRhPy5zb3VyY2VMYW5nLmxhbmc7IH1cclxuICBnZXQgaGFzVHJhbnNsYXRlZFBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRhcmdldFBhcmFncmFwaHM/Lmxlbmd0aCA+IDAgfVxyXG4gIGdldCBpc0VtcHR5VGFyZ2V0KCkgeyByZXR1cm4gIXRoaXMuaGFzVHJhbnNsYXRlZFBhcmFncmFwaHMgJiYgIXRoaXMudXJsVG9UcmFuc2xhdGUgJiYgIXRoaXMuaGFzRGljdGlvbmFyeSB9XHJcbiAgZ2V0IHNob3dUYXJnZXRQbGFjZWhvbGRlcigpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd1RhcmdldFBsYWNlaG9sZGVyIH1cclxuICBnZXQgc2hvd0V4dGVuc2lvblBvcHVwKCkgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy5zaG93RXh0ZW5zaW9uUG9wdXAgJiYgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQgPCB0aGlzLmFsbG93ZWRGaWxlVHlwZXMubGVuZ3RoIH1cclxuICBnZXQgdmlzaWJsZUV4dGVuc2lvbkNvdW50KCkgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy52aXNpYmxlRXh0ZW5zaW9uQ291bnQgfTtcclxuICBnZXQgdGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3MoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzIH07XHJcbiAgZ2V0IHRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncyB9O1xyXG4gIGdldCB1cGxvYWRJY29uTmFtZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcudXBsb2FkSWNvbk5hbWUgfTtcclxuXHJcbiAgYXVkaW9JbnB1dFZpc2libGU6IGJvb2xlYW47XHJcbiAgdGFyZ2V0U2VudGVuY2VTZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGdldCB1cmxUb1RyYW5zbGF0ZSgpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudXJsVG9UcmFuc2xhdGU7IH07XHJcblxyXG4gIGFsbG93ZWRUeXBlc1dpdGhvdXREb3RzOiBzdHJpbmdbXTtcclxuXHJcbiAgcmVhZG9ubHkgY29weU1lc3NhZ2VJZCA9IFwidGxkLWNvcHktc3VjY2Vzc1wiO1xyXG4gIHJlYWRvbmx5IGNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCA9IFwidGxkLWNvcHktc3VjY2Vzcy1jbG9zZVwiO1xyXG4gIHJlYWRvbmx5IGNvcHlCdXR0b25JZCA9IFwidGxkLWNvcHktdG8tY2xpcGJvYXJkXCI7XHJcblxyXG4gIGdldCB0cmFuc2xhdGVkVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudHJhbnNsYXRlZFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0RpY3Rpb25hcnkoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhhc0RpY3Rpb25hcnk7IH1cclxuICBnZXQgZGljdGlvbmFyeUVudHJ5KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5kaWN0aW9uYXJ5RW50cnk7IH1cclxuICBnZXQgc291cmNlKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0OyB9XHJcbiAgZ2V0IHRyYW5zbGF0ZVVybFJlZGlyZWN0KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50cmFuc2xhdGVVcmxSZWRpcmVjdDsgfVxyXG4gIGdldCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3IoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNob3VsZFNob3dQcm9ncmVzc0luZGljYXRvcjsgfVxyXG4gIGdldCBoaWRlU291cmNlQWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZSAmJiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgJiYgdGhpcy5pc01vYmlsZTtcclxuICB9XHJcbiAgZ2V0IHBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnBhcmFncmFwaHM7IH07XHJcbiAgZ2V0IHNvdXJjZVBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVBhcmFncmFwaHM7IH1cclxuICBnZXQgdGFyZ2V0UGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGFyZ2V0UGFyYWdyYXBoczsgfVxyXG5cclxuICBkaWN0YXRlQ29uZmlnOiBJRGljdGF0ZUNvbmZpZ3VyYXRpb247XHJcbiAgdmlzaWJsZUV4dGVuc2lvbnM6IHN0cmluZztcclxuICBtYXhTaXplTUI6IG51bWJlcjtcclxuXHJcbiAgcHJpdmF0ZSBpc01vYmlsZTogYm9vbGVhbjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVCcmVha3BvaW50cyA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlVGV4dFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU2Nyb2xsU2VydmljZTogVGxkU2Nyb2xsU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpb1NlcnZpY2U6IEF1ZGlvUmVjb3JkU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdm9pY2VJbnB1dFNlcnZpY2U6IFRsZFZvaWNlSW5wdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlU2VydmljZTogVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UubGlzdGVuT25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmRpY3RhdGVDb25maWcgPSB7XHJcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBJZCxcclxuICAgICAgYXBwU2VjcmV0OiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBTZWNyZXQsXHJcbiAgICAgIG1heExlbmd0aDogdGhpcy5jb25maWcuYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUsXHJcbiAgICAgIGFwaVVybDogdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlzaWJsZUV4dGVuc2lvbnMgPSB0aGlzLmFsbG93ZWRGaWxlVHlwZXMuc2xpY2UoMCwgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQpLmpvaW4oXCIsIFwiKTtcclxuICAgIHRoaXMubWF4U2l6ZU1CID0gQ29tbW9uLmJ5dGVzVG9NYih0aGlzLmNvbmZpZy5maWxlQ29uZmlnLm1heFNpemUpO1xyXG5cclxuICAgIHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZURhdGEoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiB4ICYmIHkgJiYgeC5zeXN0ZW1JZCA9PSB5LnN5c3RlbUlkKSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChzeXN0KSA9PiB7XHJcbiAgICAgICAgaWYgKCFzeXN0KSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuYWN0aXZlRGF0YSA9IHN5c3Q7XHJcbiAgICAgICAgdGhpcy5hdWRpb0lucHV0VmlzaWJsZSA9IHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLmF1ZGlvVGV4dElucHV0ICYmIHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLnNvdXJjZUxhbmd1YWdlcz8uaW5jbHVkZXModGhpcy5hY3RpdmVEYXRhPy5zb3VyY2VMYW5nLmxhbmcpO1xyXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZURhdGEucmV0cmFuc2xhdGUpIHtcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UucmV0cmFuc2xhdGUoeyBzeXN0ZW1DaGFuZ2VkOiB0cnVlIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG5cclxuICAgIHRoaXMudGxkU2Nyb2xsU2VydmljZS5zdWJzY3JpYmVUb1Njcm9sbCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hdWRpb1RleHRJbnB1dCkge1xyXG4gICAgICB0aGlzLmF1ZGlvU2VydmljZS5vblJlY29yZFN0YXJ0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlKHsgcGhyYXNlOiBcIlwiIH0pO1xyXG4gICAgICB9KVxyXG5cclxuICAgICAgdGhpcy52b2ljZUlucHV0U2VydmljZS5vblRyYW5zY3JpYnRpb25UZXh0VXBkYXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogSVRyYW5zY3JpcHRpb25VcGRhdGVNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2UoeyBwaHJhc2U6IGV2ZW50LnRleHQsIHN3YXBTeXN0ZW1zOiBmYWxzZSwgZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uOiAhZXZlbnQuY29tcGxldGVkIH0pO1xyXG4gICAgICAgICAgaWYgKGV2ZW50LmNvbXBsZXRlZCAmJiAoIWV2ZW50LnRleHQgfHwgZXZlbnQudGV4dCA9PT0gXCJcIikpIHtcclxuICAgICAgICAgICAgdGhpcy5hbGVydHMud2FybmluZyhgRVJST1JTLkFVRElPLiR7QXVkaW9FcnJvckNhc2UuTk9fVEVYVF9SRUNPR05JWkVEfWApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZVRvQnJlYWtwb2ludE9ic2VydmVyKCk7XHJcbiAgfVxyXG5cclxuICBjb3B5KCkge1xyXG4gICAgdGhpcy5jbGlwYm9hcmQuY29weSh0aGlzLnRyYW5zbGF0ZWRUZXh0KTtcclxuICAgIHRoaXMuYWxlcnRzLmluZm8oXCJUTERfVFJBTlNMQVRFLlRFWFRfQ09QSUVEXCIsIHsgaWQ6IHRoaXMuY29weU1lc3NhZ2VJZCwgY2xvc2VCdXR0b25JZDogdGhpcy5jb3B5TWVzc2FnZUNsb3NlQnV0dG9uSWQsIHBhcmVudElkOiB0aGlzLmNvcHlCdXR0b25JZCB9KTtcclxuICB9XHJcblxyXG4gIHN3aXRjaEZvY3VzRnJvbUNvcHkoZXZlbnQpIHtcclxuICAgIGNvbnN0IGNvcHlNZXNzYWdlQ2xvc2VCdXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCk/LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiYnV0dG9uXCIpPy5pdGVtKDApO1xyXG4gICAgaWYgKGNvcHlNZXNzYWdlQ2xvc2VCdXR0b24pIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgY29weU1lc3NhZ2VDbG9zZUJ1dHRvbi5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlsZUNoYW5nZShmaWxlczogRmlsZVtdKSB7XHJcbiAgICB0aGlzLm9uRmlsZUNoYW5nZS5lbWl0KGZpbGVzKTtcclxuICB9XHJcblxyXG4gIGZpbGVVcGxvYWRFcnJvcihlcnJvcjogYW55KSB7XHJcbiAgICB0aGlzLmZpbGVTZXJ2aWNlLmZpbGVVcGxvYWRFcnJvcihlcnJvciBhcyBGaWxlVXBsb2FkRXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgbmF2aWdhdGVUb1RyYW5zbGF0ZWRVcmwoKSB7XHJcbiAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZSh0aGlzLnRyYW5zbGF0ZVVybFJlZGlyZWN0KTtcclxuICB9XHJcblxyXG4gIGRpY3RhdGVTdGFydFN0b3AoaXNEaWN0YXRpbmc6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHBocmFzZSA9IGAke3RoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlVGV4dH0ke3RoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlVGV4dD8ubGVuZ3RoID4gMCA/IFwiIFwiIDogXCJcIn0ke3RoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc291cmNlVGV4dEh5cG90aGVzaXN9YDtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuaXNEaWN0YXRpbmcgPSBpc0RpY3RhdGluZztcclxuICAgIC8vIFRyYW5zbGF0aW9uIGhhcyBlbmRlZC5cclxuICAgIGlmICghaXNEaWN0YXRpbmcpIHtcclxuICAgICAgaWYgKHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLnB1bmN0dWF0aW9uTWVzc2FnZSAmJiBwaHJhc2U/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKFwiQVVESU8uUFVOQ1RVQVRJT05fTUVTU0FHRVwiKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2UoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGhyYXNlLFxyXG4gICAgICAgICAgZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uOiB0aGlzLmlzRGljdGF0aW5nIHx8IHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLmRpc2FibGVBdXRvbWF0aWNUcmFuc2xhdGlvblxyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZUh5cG90aGVzaXMoXCJcIik7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jbGVhclNvdXJjZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVJlc3VsdChyZXN1bHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2VIeXBvdGhlc2lzKFwiXCIpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2UoeyBwaHJhc2U6IHJlc3VsdCwgZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uOiB0aGlzLmlzRGljdGF0aW5nIH0pXHJcbiAgfVxyXG5cclxuICBkaWN0YXRlUGFydGlhbFJlc3VsdChwYXJ0aWFsUmVzdWx0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlSHlwb3RoZXNpcyhwYXJ0aWFsUmVzdWx0KTtcclxuICB9XHJcblxyXG4gIGRpY3RhdGVFcnJvcihlcnJvcjogQXVkaW9FcnJvckNhc2UpIHtcclxuICAgIGlmIChlcnJvciA9PT0gQXVkaW9FcnJvckNhc2UuTUFYX1RJTUVfRVhDRUVERUQpIHtcclxuICAgICAgbGV0IHRpbWVTdHJpbmcgPSBcIlwiO1xyXG4gICAgICBjb25zdCBtYXhMZW5ndGhUaW1lID0gbmV3IERhdGUoMCwgMCwgMCwgMCwgMCwgdGhpcy5jb25maWcuYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUpO1xyXG5cclxuICAgICAgY29uc3QgbWludXRlcyA9IG1heExlbmd0aFRpbWUuZ2V0TWludXRlcygpO1xyXG4gICAgICBpZiAobWludXRlcyA+IDApIHtcclxuICAgICAgICB0aW1lU3RyaW5nICs9IGAke21pbnV0ZXN9IG1pbnV0ZXNgO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzZWNvbmRzID0gbWF4TGVuZ3RoVGltZS5nZXRTZWNvbmRzKCk7XHJcbiAgICAgIGlmIChzZWNvbmRzID4gMCkge1xyXG4gICAgICAgIHRpbWVTdHJpbmcgKz0gYCR7c2Vjb25kc30gc2Vjb25kc2BcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKGBFUlJPUlMuQVVESU8uJHtlcnJvcn1gLCB7IHRpbWVTdHJpbmcgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChlcnJvciA9PT0gQXVkaW9FcnJvckNhc2UuTk9fU1BFRUNIKSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke2Vycm9yfWApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuYWxlcnRzLnVuaGFuZGVsZWRFcnJvcih7IEVycm9yQ29kZTogZXJyb3IgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhclNvdXJjZSgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2xlYXJTb3VyY2UoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zdG9wTGlzdGVuaW5nVG9DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLnRsZFNjcm9sbFNlcnZpY2UudW5zdWJzY3JpYmVUb1Njcm9sbCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpXHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVByb2dyZXNzSW5kaWNhdG9yKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5oaWRlUHJvZ3Jlc3NJbmRpY2F0b3IoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2Uuc3RvcFRyYW5zbGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAvLyBuZWVkIHRvIHN1YnNjcmliZSB0byBnZXQgaWYgaXMgbW9iaWxlIHZpZXcgc28gaXQgd291bGQgYmUgcG9zc2libGUgdG8gaGlkZSBzb3VyY2UgYWN0aW9uIHJvdy5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvQnJlYWtwb2ludE9ic2VydmVyKCkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLm1vYmlsZUJyZWFrcG9pbnRzKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZSA9IHN0YXRlLm1hdGNoZXM7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0tIE5PVEUuIHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIHVzZXMgbXVsdGlwbGUgY29udGVudCBwcm9qZWN0aW9ucywgc28gbWlnaHQgc2VlbSBjb25mdXNpbmcgZmlyc3QsIGJ1dCBlbGVtZW50cyBhcmUgZGlzcGxheWVkIGF0IHRoZWlyIHBsYWNlcyBiYXNlZCBvbiB0bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlciBjb21wb25lbnRcclxuaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2NvbnRlbnQtcHJvamVjdGlvbiNtdWx0aS1zbG90LWNvbnRlbnQtcHJvamVjdGlvblxyXG4tLT5cclxuPHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIFt0ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5nc109XCJ0ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5nc1wiXHJcbiAgW2NsZWFyU291cmNlVmlzaWJsZV09XCJzb3VyY2U/Lmxlbmd0aD4wXCIgKG9uU291cmNlQ2xlYXIpPVwiY2xlYXJTb3VyY2UoKVwiIFtoaWRlQWNoaWV2ZW1lbnRdPVwiaGlkZUFjaGlldmVtZW50XCJcclxuICBbY2xlYXJEaXNhYmxlZF09XCJ0ZXh0YXJlYURpc2FibGVkXCIgW2NsZWFyU291cmNlVG9vbHRpcF09XCInVExEX1RSQU5TTEFURS5DTEVBUl9TT1VSQ0VfVE9PTFRJUCdcIlxyXG4gIFtuZ0NsYXNzXT1cInsnaGlnaGxpZ2h0LWFjdGl2ZSc6IGhpZ2hsaWdodCwgJ2dyYW1jaGVjay1hY3RpdmUnOiBncmFtQ2hlY2ssICdlbXB0eS10YXJnZXQnOiBpc0VtcHR5VGFyZ2V0fVwiPlxyXG4gIDxkaXYgc291cmNlTWFpbiBjbGFzcz1cInNvdXJjZS1tYWluXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgIDx0bGQtdHJhbnNsYXRlLXNvdXJjZSBbdGV4dGFyZWFEaXNhYmxlZF09XCJ0ZXh0YXJlYURpc2FibGVkXCIgI3NvdXJjZUNvbXBvbmVudCBmeEZsZXhcclxuICAgICAgW3NvdXJjZVBhcmFncmFwaHNdPVwic291cmNlUGFyYWdyYXBoc1wiPjwvdGxkLXRyYW5zbGF0ZS1zb3VyY2U+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciBzb3VyY2VBY3Rpb25zICpuZ0lmPVwiIWhpZGVTb3VyY2VBY3Rpb25zXCI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cImJhc2ljLXBhZGRpbmdcIiBmeExheW91dEdhcD1cIjFlbVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXVkaW9JbnB1dFZpc2libGVcIj5cclxuICAgICAgICA8dGxkLWRpY3RhdGUgW2NvbmZpZ3VyYXRpb25dPVwiZGljdGF0ZUNvbmZpZ1wiIFtuZ0NsYXNzXT1cInsnZnVsbC13aWR0aCcgOiAhZmlsZVVwbG9hZH1cIlxyXG4gICAgICAgICAgKGlzRGljdGF0aW5nKT1cImRpY3RhdGVTdGFydFN0b3AoJGV2ZW50KVwiIChyZXN1bHQpPVwiZGljdGF0ZVJlc3VsdCgkZXZlbnQpXCJcclxuICAgICAgICAgIChwYXJ0aWFsUmVzdWx0KT1cImRpY3RhdGVQYXJ0aWFsUmVzdWx0KCRldmVudClcIiAob25FcnJvcik9XCJkaWN0YXRlRXJyb3IoJGV2ZW50KVwiIFtsYW5ndWFnZV09XCJzb3VyY2VMYW5ndWFnZVwiPlxyXG4gICAgICAgIDwvdGxkLWRpY3RhdGU+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZmlsZVVwbG9hZFwiIGNsYXNzPVwiZmlsZS11cGxvYWQtd3JhcHBlclwiPlxyXG4gICAgICAgIDx0bGQtZmlsZS11cGxvYWQgKGZpbGVDaGFuZ2UpPVwiZmlsZUNoYW5nZSgkZXZlbnQpXCIgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVzXCIgW21heFNpemVdPVwibWF4RmlsZVVwbG9hZFNpemVcIiBbdXBsb2FkSWNvbk5hbWVdPVwidXBsb2FkSWNvbk5hbWVcIlxyXG4gICAgICAgICAgW2V4dGVuZGVkQWNjZXB0TGlzdF09XCJleHRlbmRlZEZpbGVUeXBlc1wiIFttdWx0aXBsZV09XCJtdWx0aXBsZUZpbGVzXCIgKGVycm9yRXZlbnQpPVwiZmlsZVVwbG9hZEVycm9yKCRldmVudClcIlxyXG4gICAgICAgICAgW2ZpbGVQcmV2aWV3UHJvZ3Jlc3NdPVwiZmlsZVByZXZpZXdQcm9ncmVzc1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cGxvYWQtZmlsZS10ZXh0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8gdGV4dC1sLXNlbWktYm9sZFwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCInRklMRV9VUExPQUQuVVBMT0FEJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwiYWNjZW50LWNvbG9yXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCInRklMRV9VUExPQUQuRFJBR19BTkRfRFJPUCcgfCB0cmFuc2xhdGVcIiBmeEhpZGUubHQtc20+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCInRklMRV9VUExPQUQuJysgKG11bHRpcGxlRmlsZXM/ICdGSUxFUycgOiAnRklMRScpIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW25nQ2xhc3MubHQtc21dPVwiJ2FjY2VudC1jb2xvcidcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS11cGxvYWQtZXh0ZW5zaW9ucyB0ZXh0LW1cIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCInRklMRV9VUExPQUQuTElNSVRTJyB8IHRyYW5zbGF0ZToge21heFNpemVNQjogbWF4U2l6ZU1CLCB2aXNpYmxlRXh0ZW5zaW9uczogdmlzaWJsZUV4dGVuc2lvbnN9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L3RsZC1maWxlLXVwbG9hZD5cclxuICAgICAgICA8dGxkLW9wZW4tZXh0ZW5zaW9uLWRpYWxvZyAqbmdJZj1cInNob3dFeHRlbnNpb25Qb3B1cFwiIFtleHRlbnNpb25zXT1cImFsbG93ZWRUeXBlc1dpdGhvdXREb3RzXCI+XHJcbiAgICAgICAgPC90bGQtb3Blbi1leHRlbnNpb24tZGlhbG9nPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IHRhcmdldE1haW4gY2xhc3M9XCJ0YXJnZXQtbWFpblwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoYXNEaWN0aW9uYXJ5OyBlbHNlIGRpY3Rpb25hcnlUYXJnZXRCbG9ja1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFbXB0eVRhcmdldDsgZWxzZSB0cmFuc2xhdGVkVGV4dEJsb2NrXCI+XHJcbiAgICAgICAgPHAgKm5nSWY9XCJzaG93VGFyZ2V0UGxhY2Vob2xkZXJcIiBjbGFzcz1cImRlc2NyaXB0aW9uLXRleHQgdGFyZ2V0LWVtcHR5XCJcclxuICAgICAgICAgIFtpbm5lckh0bWxdPVwiJ1RMRF9UUkFOU0xBVEUuVEFSR0VUX0RFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDwvcD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciB0YXJnZXRBY3Rpb25zPlxyXG4gICAgPGRpdiBjbGFzcz1cInRsZC10cmFuc2xhdGUtdGFyZ2V0LWZvb3RlciBiYXNpYy1wYWRkaW5nXCIgKm5nSWY9XCJzaG93U3VnZ2VzdGlvbnMgfHwgc2hvd1Byb2dyZXNzSW5kaWNhdG9yXCI+XHJcbiAgICAgIDx0bGQtdHJhbnNsYXRlLXN1Z2dlc3QgKm5nSWY9XCJzaG93U3VnZ2VzdGlvbnNcIiBbc3lzdGVtSWRdPVwic3lzdGVtSWRcIiBbdGFyZ2V0XT1cInRhcmdldFBhcmFncmFwaHNcIlxyXG4gICAgICAgIFtzb3VyY2VdPVwic291cmNlUGFyYWdyYXBoc1wiPlxyXG4gICAgICA8L3RsZC10cmFuc2xhdGUtc3VnZ2VzdD5cclxuICAgICAgPHByb2dyZXNzLWluZGljYXRvciAob25DbG9zZSk9XCJjbG9zZVByb2dyZXNzSW5kaWNhdG9yKClcIiAqbmdJZj1cInNob3dQcm9ncmVzc0luZGljYXRvclwiPjwvcHJvZ3Jlc3MtaW5kaWNhdG9yPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvdGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXI+XHJcblxyXG5cclxuPCEtLSB0ZW1wbGF0ZXMgdXNlZCBmb3IgZWxzZSBibG9ja3MgaW4gdGFyZ2V0IGNvbnRhaW5lciAtLT5cclxuPG5nLXRlbXBsYXRlICN0cmFuc2xhdGVkVGV4dEJsb2NrPlxyXG4gIDxkaXYgY2xhc3M9XCJ0cmFuc2xhdGVkLXNvdXJjZVwiIFtjbGFzcy5zZWxlY3RhYmxlLXNlbnRlbmNlXT1cInNob3dTdWdnZXN0aW9uc1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF1cmxUb1RyYW5zbGF0ZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFyZ2V0LXdyYXBwZXItYWN0aW9uLWJ1dHRvbnNcIj5cclxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwidGxkLWNvcHktdHJhbnNsYXRpb25cIiAoY2xpY2spPVwiY29weSgpXCJcclxuICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eydUT09MVElQUy5DT1BZJyB8IHRyYW5zbGF0ZX19XCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJjb3B5TWVzc2FnZUlkXCJcclxuICAgICAgICAgIChrZXlkb3duLlRhYik9XCJzd2l0Y2hGb2N1c0Zyb21Db3B5KCRldmVudClcIiBbYXR0ci5JZF09XCJjb3B5QnV0dG9uSWRcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuQ09QWScgfCB0cmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgY29udGVudF9jb3B5XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPHRsZC10ZXh0LXRvLXNwZWVjaCAqbmdJZj1cInRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzXCIgW3NldHRpbmdzXT1cInRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzXCI+XHJcbiAgICAgICAgPC90bGQtdGV4dC10by1zcGVlY2g+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwYXJhZ3JhcGggb2YgdGFyZ2V0UGFyYWdyYXBoc1wiPlxyXG4gICAgICAgIDx0bGQtaGlnaGxpZ2h0LXRyZWUgW2hpZ2hsaWdodF09XCJoaWdobGlnaHRcIiBbdHJlZV09XCJwYXJhZ3JhcGhcIiBbc2VsZWN0U2VudGVuY2VdPVwic2hvd1N1Z2dlc3Rpb25zXCI+XHJcbiAgICAgICAgPC90bGQtaGlnaGxpZ2h0LXRyZWU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidXJsVG9UcmFuc2xhdGVcIiBjbGFzcz1cInRhcmdldC11cmwtY29udGFpbmVyXCI+XHJcbiAgICAgIDxhIFthdHRyLmhyZWZdPVwidHJhbnNsYXRlVXJsUmVkaXJlY3RcIiB0YXJnZXQ9XCJfYmxhbmtcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCIgY2xhc3M9XCJnby10by13ZWJ0cmFuc2xhdGVcIj5cclxuICAgICAgICB7e3VybFRvVHJhbnNsYXRlfX1cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgY29sb3I9XCJhY2NlbnRcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInQVJJQV9MQUJFTFMuT1BFTl9JTl9ORVcnXCI+XHJcbiAgICAgICAgICBvcGVuX2luX25ld1xyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RpY3Rpb25hcnlUYXJnZXRCbG9jaz5cclxuICA8ZGl2IGZ4RmxleCBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwiZGljdGlvbmFyeS13cmFwcGVyXCI+XHJcbiAgICA8dGxkLWRpY3Rpb25hcnkgZnhGbGV4ICpuZ0Zvcj1cImxldCBkaWN0aW9uYXJ5IG9mIGRpY3Rpb25hcnlFbnRyeVwiIFtkaWN0aW9uYXJ5XT1cImRpY3Rpb25hcnlcIj5cclxuICAgIDwvdGxkLWRpY3Rpb25hcnk+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
|
271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L2NvbXBvbmVudHMvdGxkLXRyYW5zbGF0ZS10ZXh0L3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9jb21wb25lbnRzL3RsZC10cmFuc2xhdGUtdGV4dC90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBNkIsTUFBTSwyQkFBMkIsQ0FBQztBQUd0RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0JwRCxNQUFNLE9BQU8seUJBQXlCO0lBaUZwQyxZQUNtQixvQkFBNkMsRUFDN0MsU0FBb0IsRUFDcEIsTUFBdUIsRUFDdkIsTUFBaUMsRUFDakMsZ0JBQWtDLEVBQ2xDLFNBQTJCLEVBQzNCLFlBQWdDLEVBQ2hDLGlCQUF1QyxFQUN2QyxXQUFvQyxFQUNwQyxrQkFBc0M7UUFUdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtR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ZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBdWRpb0Vycm9yQ2FzZSwgSVRyYW5zY3JpcHRpb25VcGRhdGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3RsZC1hdWRpby9tb2RlbHMnO1xyXG5pbXBvcnQgeyBJRGljdGF0ZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi8uLi90bGQtYXVkaW8vbW9kZWxzL2RpY3RhdGUtY29uZmlndXJhdGlvbmkubW9kZWwnO1xyXG5pbXBvcnQgeyBBdWRpb1JlY29yZFNlcnZpY2UsIFRsZFZvaWNlSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWF1ZGlvL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgQ29tbW9uIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWNvbW1vbi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRBbGVydFNlcnZpY2UsIFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGxkU2Nyb2xsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RsZC1jb21tb24vc2VydmljZXMvc2Nyb2xsL3RsZC1zY3JvbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLWRvY3VtZW50L3NlcnZpY2VzJztcclxuaW1wb3J0IHsgSUFjdGl2ZURhdGEgfSBmcm9tICcuLi8uLi8uLi90bGQtdG9vbHRpcC9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRTeXN0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdGxkLXRvb2x0aXAvc2VydmljZXMvdGxkLXN5c3RlbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlVGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZVNvdXJjZUNvbXBvbmVudCB9IGZyb20gJy4uL3RsZC10cmFuc2xhdGUtc291cmNlL3RsZC10cmFuc2xhdGUtc291cmNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRFcnJvciB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd0bGQtdHJhbnNsYXRlLXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90bGQtdHJhbnNsYXRlLXRleHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RsZC10cmFuc2xhdGUtdGV4dC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoXCJzb3VyY2VDb21wb25lbnRcIikgc291cmNlQ29tcG9uZW50OiBUbGRUcmFuc2xhdGVTb3VyY2VDb21wb25lbnQ7XHJcblxyXG5cclxuICBASW5wdXQoKSBmaWxlUHJldmlld1Byb2dyZXNzOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIG9uRmlsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcclxuXHJcbiAgYWN0aXZlRGF0YTogSUFjdGl2ZURhdGE7XHJcbiAgZ2V0IHN5c3RlbUlkKCkgeyByZXR1cm4gdGhpcy5hY3RpdmVEYXRhPy5zeXN0ZW1JZDsgfTtcclxuICAvL3BhcmFtcyBmcm9tIGNvbmZpZyBzZXJ2aWNlLlxyXG4gIGdldCBhbGxvd2VkRmlsZVR5cGVzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcuYWxsb3dlZEZpbGVUeXBlczsgfTtcclxuICBnZXQgZXh0ZW5kZWRGaWxlVHlwZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5leHRlbmRlZEZpbGVUeXBlczsgfTtcclxuICBnZXQgYXBwSWQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuYXBwSWQ7IH07XHJcbiAgZ2V0IGhpZ2hsaWdodCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuaGlnaGxpZ2h0OyB9O1xyXG4gIGdldCBncmFtQ2hlY2soKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmNoZWNrU291cmNlR3JhbW1hcjsgfTtcclxuICBnZXQgZmlsZVVwbG9hZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbGVDb25maWcuZmlsZVVwbG9hZCAmJiAhKHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy5hdWRpb1NlcnZpY2U/LmlzUmVjb3JkaW5nIHx8IHRoaXMudm9pY2VJbnB1dFNlcnZpY2UuaXNQcm9jZXNzaW5nKTsgfTtcclxuICBnZXQgY2xpZW50SWQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuY2xpZW50SWQ7IH07XHJcbiAgZ2V0IGhpZGVBY2hpZXZlbWVudCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuaGlkZUFjaGlldmVtZW50IHx8ICF0aGlzLmlzRW1wdHlUYXJnZXQ7IH07XHJcbiAgZ2V0IGlzQXV0aCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuaXNBdXRoOyB9O1xyXG4gIGdldCBtYXhGaWxlVXBsb2FkU2l6ZSgpOiBudW1iZXIgeyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5tYXhTaXplOyB9O1xyXG4gIGdldCBtdWx0aXBsZUZpbGVzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5jb25maWcuZmlsZUNvbmZpZy5udW1iZXJPZkZpbGVzQWxsb3dlZCA+IDE7IH07XHJcbiAgZ2V0IHRyYW5zbGF0aW9uVXJsKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnRyYW5zbGF0aW9uVXJsOyB9O1xyXG4gIGdldCB1cGRhdGVUcmFuc2xhdGlvblVybCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy51cGRhdGVUcmFuc2xhdGlvblVybDsgfTtcclxuICBnZXQgdXNlRGljdGlvbmFyeSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudXNlRGljdGlvbmFyeTsgfTtcclxuICBnZXQgYWxsb3dXZWJzaXRlVHJhbnNsYXRpb24oKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmFsbG93V2Vic2l0ZVRyYW5zbGF0aW9uOyB9O1xyXG4gIGdldCBhdXRvUmVkaXJlY3RUb1dlYlRyYW5zbGF0ZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuYXV0b1JlZGlyZWN0VG9XZWJUcmFuc2xhdGU7IH07XHJcbiAgZ2V0IHdlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLndlYldpZGdldFJlZGlyZWN0VXJsUHJlZml4OyB9O1xyXG4gIGdldCB3ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5jb25maWcudGV4dENvbmZpZy53ZWJXaWRnZXRSZWRpcmVjdFVybFBvc2ZpeDsgfTtcclxuICBnZXQgc2hvd1N1Z2dlc3Rpb25zKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5oYXNUcmFuc2xhdGVkUGFyYWdyYXBocyAmJiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnNob3dTdWdnZXN0aW9ucyAmJiAhdGhpcy51cmxUb1RyYW5zbGF0ZSB9O1xyXG4gIGdldCB0ZXh0YXJlYURpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5hdWRpb1NlcnZpY2UuaXNSZWNvcmRpbmcgfHwgdGhpcy52b2ljZUlucHV0U2VydmljZS5pc1Byb2Nlc3NpbmcgfHwgdGhpcy5pc0RpY3RhdGluZyB9O1xyXG4gIGdldCBpc0RpY3RhdGluZygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuaXNEaWN0YXRpbmc7IH07XHJcbiAgZ2V0IG1heERpY3RhdGVMZW5ndGgoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5tYXhpbXVtUmVjb3JkVGltZTsgfVxyXG4gIGdldCBzb3VyY2VMYW5ndWFnZSgpIHsgcmV0dXJuIHRoaXMuYWN0aXZlRGF0YT8uc291cmNlTGFuZy5sYW5nOyB9XHJcbiAgZ2V0IGhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzKCkgeyByZXR1cm4gdGhpcy50YXJnZXRQYXJhZ3JhcGhzPy5sZW5ndGggPiAwIH1cclxuICBnZXQgaXNFbXB0eVRhcmdldCgpIHsgcmV0dXJuICF0aGlzLmhhc1RyYW5zbGF0ZWRQYXJhZ3JhcGhzICYmICF0aGlzLnVybFRvVHJhbnNsYXRlICYmICF0aGlzLmhhc0RpY3Rpb25hcnkgfVxyXG4gIGdldCBzaG93VGFyZ2V0UGxhY2Vob2xkZXIoKSB7IHJldHVybiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLnNob3dUYXJnZXRQbGFjZWhvbGRlciB9XHJcbiAgZ2V0IHNob3dFeHRlbnNpb25Qb3B1cCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcuc2hvd0V4dGVuc2lvblBvcHVwICYmIHRoaXMudmlzaWJsZUV4dGVuc2lvbkNvdW50IDwgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLmxlbmd0aCB9XHJcbiAgZ2V0IHZpc2libGVFeHRlbnNpb25Db3VudCgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLnRleHRDb25maWcudmlzaWJsZUV4dGVuc2lvbkNvdW50IH07XHJcbiAgZ2V0IHRleHRUb1NwZWVjaFRhcmdldFNldHRpbmdzKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50ZXh0VG9TcGVlY2hUYXJnZXRTZXR0aW5ncyB9O1xyXG4gIGdldCB0ZXh0VG9TcGVlY2hTb3VyY2VTZXR0aW5ncygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGV4dFRvU3BlZWNoU291cmNlU2V0dGluZ3MgfTtcclxuICBnZXQgdXBsb2FkSWNvbk5hbWUoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLnVwbG9hZEljb25OYW1lIH07XHJcblxyXG4gIGF1ZGlvSW5wdXRWaXNpYmxlOiBib29sZWFuO1xyXG4gIHRhcmdldFNlbnRlbmNlU2VsZWN0OiBib29sZWFuID0gdHJ1ZTtcclxuICBnZXQgdXJsVG9UcmFuc2xhdGUoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnVybFRvVHJhbnNsYXRlOyB9O1xyXG5cclxuICBhbGxvd2VkVHlwZXNXaXRob3V0RG90czogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgcmVhZG9ubHkgY29weU1lc3NhZ2VJZCA9IFwidGxkLWNvcHktc3VjY2Vzc1wiO1xyXG4gIHJlYWRvbmx5IGNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCA9IFwidGxkLWNvcHktc3VjY2Vzcy1jbG9zZVwiO1xyXG4gIHJlYWRvbmx5IGNvcHlCdXR0b25JZCA9IFwidGxkLWNvcHktdG8tY2xpcGJvYXJkXCI7XHJcblxyXG4gIGdldCB0cmFuc2xhdGVkVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudHJhbnNsYXRlZFRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuZmlyc3RQYXJhZ3JhcGhUcmFuc2xhdGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0RpY3Rpb25hcnkoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhhc0RpY3Rpb25hcnk7IH1cclxuICBnZXQgZGljdGlvbmFyeUVudHJ5KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5kaWN0aW9uYXJ5RW50cnk7IH1cclxuICBnZXQgc291cmNlKCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0OyB9XHJcbiAgZ2V0IHRyYW5zbGF0ZVVybFJlZGlyZWN0KCkgeyByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS50cmFuc2xhdGVVcmxSZWRpcmVjdDsgfVxyXG4gIGdldCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3IoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNob3VsZFNob3dQcm9ncmVzc0luZGljYXRvcjsgfVxyXG4gIGdldCBoaWRlU291cmNlQWN0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnNvdXJjZSAmJiB0aGlzLmNvbmZpZy50ZXh0Q29uZmlnLmhpZGVTb3VyY2VBY3Rpb25zV2hlbkhhc1RleHRNb2JpbGUgJiYgdGhpcy5pc01vYmlsZTtcclxuICB9XHJcbiAgZ2V0IHBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnBhcmFncmFwaHM7IH07XHJcbiAgZ2V0IHNvdXJjZVBhcmFncmFwaHMoKSB7IHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnNvdXJjZVBhcmFncmFwaHM7IH1cclxuICBnZXQgdGFyZ2V0UGFyYWdyYXBocygpIHsgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UudGFyZ2V0UGFyYWdyYXBoczsgfVxyXG5cclxuICBkaWN0YXRlQ29uZmlnOiBJRGljdGF0ZUNvbmZpZ3VyYXRpb247XHJcbiAgdmlzaWJsZUV4dGVuc2lvbnM6IHN0cmluZztcclxuICBtYXhTaXplTUI6IG51bWJlcjtcclxuXHJcbiAgcHJpdmF0ZSBpc01vYmlsZTogYm9vbGVhbjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBtb2JpbGVCcmVha3BvaW50cyA9IFtCcmVha3BvaW50cy5YU21hbGxdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlVGV4dFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVRleHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRzOiBUbGRBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU2Nyb2xsU2VydmljZTogVGxkU2Nyb2xsU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhdWRpb1NlcnZpY2U6IEF1ZGlvUmVjb3JkU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdm9pY2VJbnB1dFNlcnZpY2U6IFRsZFZvaWNlSW5wdXRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWxlU2VydmljZTogVGxkVHJhbnNsYXRlRmlsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UubGlzdGVuT25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmRpY3RhdGVDb25maWcgPSB7XHJcbiAgICAgIGFwcElkOiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBJZCxcclxuICAgICAgYXBwU2VjcmV0OiB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5hcHBTZWNyZXQsXHJcbiAgICAgIG1heExlbmd0aDogdGhpcy5jb25maWcuYXVkaW9Db25maWcubWF4aW11bVJlY29yZFRpbWUsXHJcbiAgICAgIGFwaVVybDogdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGljdGF0ZUFwaVVybFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmlzaWJsZUV4dGVuc2lvbnMgPSB0aGlzLmFsbG93ZWRGaWxlVHlwZXMuc2xpY2UoMCwgdGhpcy52aXNpYmxlRXh0ZW5zaW9uQ291bnQpLmpvaW4oXCIsIFwiKTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5mb3JFYWNoKChlbCkgPT4gdGhpcy5hbGxvd2VkVHlwZXNXaXRob3V0RG90cy5wdXNoKGVsLnJlcGxhY2UoJy4nLCAnJykpKTtcclxuICAgIFxyXG4gICAgdGhpcy5tYXhTaXplTUIgPSBDb21tb24uYnl0ZXNUb01iKHRoaXMuY29uZmlnLmZpbGVDb25maWcubWF4U2l6ZSk7XHJcblxyXG4gICAgdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKHgsIHkpID0+IHggJiYgeSAmJiB4LnN5c3RlbUlkID09IHkuc3lzdGVtSWQpKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN5c3QpID0+IHtcclxuICAgICAgICBpZiAoIXN5c3QpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRhID0gc3lzdDtcclxuICAgICAgICB0aGlzLmF1ZGlvSW5wdXRWaXNpYmxlID0gdGhpcy5jb25maWcuYXVkaW9Db25maWcuYXVkaW9UZXh0SW5wdXQgJiYgdGhpcy5jb25maWcuYXVkaW9Db25maWcuc291cmNlTGFuZ3VhZ2VzPy5pbmNsdWRlcyh0aGlzLmFjdGl2ZURhdGE/LnNvdXJjZUxhbmcubGFuZyk7XHJcbiAgICAgICAgaWYgKHRoaXMuYWN0aXZlRGF0YS5yZXRyYW5zbGF0ZSkge1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5yZXRyYW5zbGF0ZSh7IHN5c3RlbUNoYW5nZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcblxyXG4gICAgdGhpcy50bGRTY3JvbGxTZXJ2aWNlLnN1YnNjcmliZVRvU2Nyb2xsKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmF1ZGlvQ29uZmlnLmF1ZGlvVGV4dElucHV0KSB7XHJcbiAgICAgIHRoaXMuYXVkaW9TZXJ2aWNlLm9uUmVjb3JkU3RhcnQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2UoeyBwaHJhc2U6IFwiXCIgfSk7XHJcbiAgICAgIH0pXHJcblxyXG4gICAgICB0aGlzLnZvaWNlSW5wdXRTZXJ2aWNlLm9uVHJhbnNjcmlidGlvblRleHRVcGRhdGVkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBJVHJhbnNjcmlwdGlvblVwZGF0ZU1vZGVsKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogZXZlbnQudGV4dCwgc3dhcFN5c3RlbXM6IGZhbHNlLCBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246ICFldmVudC5jb21wbGV0ZWQgfSk7XHJcbiAgICAgICAgICBpZiAoZXZlbnQuY29tcGxldGVkICYmICghZXZlbnQudGV4dCB8fCBldmVudC50ZXh0ID09PSBcIlwiKSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0cy53YXJuaW5nKGBFUlJPUlMuQVVESU8uJHtBdWRpb0Vycm9yQ2FzZS5OT19URVhUX1JFQ09HTklaRUR9YClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3Vic2NyaWJlVG9CcmVha3BvaW50T2JzZXJ2ZXIoKTtcclxuICB9XHJcblxyXG4gIGNvcHkoKSB7XHJcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMudHJhbnNsYXRlZFRleHQpO1xyXG4gICAgdGhpcy5hbGVydHMuaW5mbyhcIlRMRF9UUkFOU0xBVEUuVEVYVF9DT1BJRURcIiwgeyBpZDogdGhpcy5jb3B5TWVzc2FnZUlkLCBjbG9zZUJ1dHRvbklkOiB0aGlzLmNvcHlNZXNzYWdlQ2xvc2VCdXR0b25JZCwgcGFyZW50SWQ6IHRoaXMuY29weUJ1dHRvbklkIH0pO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoRm9jdXNGcm9tQ29weShldmVudCkge1xyXG4gICAgY29uc3QgY29weU1lc3NhZ2VDbG9zZUJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuY29weU1lc3NhZ2VDbG9zZUJ1dHRvbklkKT8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJidXR0b25cIik/Lml0ZW0oMCk7XHJcbiAgICBpZiAoY29weU1lc3NhZ2VDbG9zZUJ1dHRvbikge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBjb3B5TWVzc2FnZUNsb3NlQnV0dG9uLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWxlQ2hhbmdlKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIHRoaXMub25GaWxlQ2hhbmdlLmVtaXQoZmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgZmlsZVVwbG9hZEVycm9yKGVycm9yOiBhbnkpIHtcclxuICAgIHRoaXMuZmlsZVNlcnZpY2UuZmlsZVVwbG9hZEVycm9yKGVycm9yIGFzIEZpbGVVcGxvYWRFcnJvcik7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZVRvVHJhbnNsYXRlZFVybCgpIHtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKHRoaXMudHJhbnNsYXRlVXJsUmVkaXJlY3QpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZVN0YXJ0U3RvcChpc0RpY3RhdGluZzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgcGhyYXNlID0gYCR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0fSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0Py5sZW5ndGggPiAwID8gXCIgXCIgOiBcIlwifSR7dGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zb3VyY2VUZXh0SHlwb3RoZXNpc31gO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5pc0RpY3RhdGluZyA9IGlzRGljdGF0aW5nO1xyXG4gICAgLy8gVHJhbnNsYXRpb24gaGFzIGVuZGVkLlxyXG4gICAgaWYgKCFpc0RpY3RhdGluZykge1xyXG4gICAgICBpZiAodGhpcy5jb25maWcuYXVkaW9Db25maWcucHVuY3R1YXRpb25NZXNzYWdlICYmIHBocmFzZT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoXCJBVURJTy5QVU5DVFVBVElPTl9NRVNTQUdFXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwaHJhc2UsXHJcbiAgICAgICAgICBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfHwgdGhpcy5jb25maWcuYXVkaW9Db25maWcuZGlzYWJsZUF1dG9tYXRpY1RyYW5zbGF0aW9uXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVGV4dFNlcnZpY2UuY2hhbmdlU291cmNlSHlwb3RoZXNpcyhcIlwiKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNsZWFyU291cmNlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkaWN0YXRlUmVzdWx0KHJlc3VsdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZUh5cG90aGVzaXMoXCJcIik7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmNoYW5nZVNvdXJjZSh7IHBocmFzZTogcmVzdWx0LCBkaXNhYmxlQXV0b21hdGljVHJhbnNsYXRpb246IHRoaXMuaXNEaWN0YXRpbmcgfSlcclxuICB9XHJcblxyXG4gIGRpY3RhdGVQYXJ0aWFsUmVzdWx0KHBhcnRpYWxSZXN1bHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jaGFuZ2VTb3VyY2VIeXBvdGhlc2lzKHBhcnRpYWxSZXN1bHQpO1xyXG4gIH1cclxuXHJcbiAgZGljdGF0ZUVycm9yKGVycm9yOiBBdWRpb0Vycm9yQ2FzZSkge1xyXG4gICAgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5NQVhfVElNRV9FWENFRURFRCkge1xyXG4gICAgICBsZXQgdGltZVN0cmluZyA9IFwiXCI7XHJcbiAgICAgIGNvbnN0IG1heExlbmd0aFRpbWUgPSBuZXcgRGF0ZSgwLCAwLCAwLCAwLCAwLCB0aGlzLmNvbmZpZy5hdWRpb0NvbmZpZy5tYXhpbXVtUmVjb3JkVGltZSk7XHJcblxyXG4gICAgICBjb25zdCBtaW51dGVzID0gbWF4TGVuZ3RoVGltZS5nZXRNaW51dGVzKCk7XHJcbiAgICAgIGlmIChtaW51dGVzID4gMCkge1xyXG4gICAgICAgIHRpbWVTdHJpbmcgKz0gYCR7bWludXRlc30gbWludXRlc2A7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHNlY29uZHMgPSBtYXhMZW5ndGhUaW1lLmdldFNlY29uZHMoKTtcclxuICAgICAgaWYgKHNlY29uZHMgPiAwKSB7XHJcbiAgICAgICAgdGltZVN0cmluZyArPSBgJHtzZWNvbmRzfSBzZWNvbmRzYFxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWxlcnRzLndhcm5pbmcoYEVSUk9SUy5BVURJTy4ke2Vycm9yfWAsIHsgdGltZVN0cmluZyB9KTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGVycm9yID09PSBBdWRpb0Vycm9yQ2FzZS5OT19TUEVFQ0gpIHtcclxuICAgICAgdGhpcy5hbGVydHMud2FybmluZyhgRVJST1JTLkFVRElPLiR7ZXJyb3J9YCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hbGVydHMudW5oYW5kZWxlZEVycm9yKHsgRXJyb3JDb2RlOiBlcnJvciB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyU291cmNlKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5jbGVhclNvdXJjZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLnN0b3BMaXN0ZW5pbmdUb0NoYW5nZXMoKTtcclxuICAgIHRoaXMudGxkU2Nyb2xsU2VydmljZS51bnN1YnNjcmliZVRvU2Nyb2xsKCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQobnVsbClcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVRleHRTZXJ2aWNlLmhpZGVQcm9ncmVzc0luZGljYXRvcigpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVUZXh0U2VydmljZS5zdG9wVHJhbnNsYXRpb24oKTtcclxuICB9XHJcblxyXG4gIC8vIG5lZWQgdG8gc3Vic2NyaWJlIHRvIGdldCBpZiBpcyBtb2JpbGUgdmlldyBzbyBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBoaWRlIHNvdXJjZSBhY3Rpb24gcm93LlxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9CcmVha3BvaW50T2JzZXJ2ZXIoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlci5vYnNlcnZlKHRoaXMubW9iaWxlQnJlYWtwb2ludHMpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlID0gc3RhdGUubWF0Y2hlcztcclxuICAgICAgfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS0gTk9URS4gdGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgdXNlcyBtdWx0aXBsZSBjb250ZW50IHByb2plY3Rpb25zLCBzbyBtaWdodCBzZWVtIGNvbmZ1c2luZyBmaXJzdCwgYnV0IGVsZW1lbnRzIGFyZSBkaXNwbGF5ZWQgYXQgdGhlaXIgcGxhY2VzIGJhc2VkIG9uIHRsZC1zb3VyY2UtYW5kLXRhcmdldC13cmFwcGVyIGNvbXBvbmVudFxyXG5odHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvY29udGVudC1wcm9qZWN0aW9uI211bHRpLXNsb3QtY29udGVudC1wcm9qZWN0aW9uXHJcbi0tPlxyXG48dGxkLXNvdXJjZS1hbmQtdGFyZ2V0LXdyYXBwZXIgW3RleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXT1cInRleHRUb1NwZWVjaFNvdXJjZVNldHRpbmdzXCJcclxuICBbY2xlYXJTb3VyY2VWaXNpYmxlXT1cInNvdXJjZT8ubGVuZ3RoPjBcIiAob25Tb3VyY2VDbGVhcik9XCJjbGVhclNvdXJjZSgpXCIgW2hpZGVBY2hpZXZlbWVudF09XCJoaWRlQWNoaWV2ZW1lbnRcIlxyXG4gIFtjbGVhckRpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiBbY2xlYXJTb3VyY2VUb29sdGlwXT1cIidUTERfVFJBTlNMQVRFLkNMRUFSX1NPVVJDRV9UT09MVElQJ1wiXHJcbiAgW25nQ2xhc3NdPVwieydoaWdobGlnaHQtYWN0aXZlJzogaGlnaGxpZ2h0LCAnZ3JhbWNoZWNrLWFjdGl2ZSc6IGdyYW1DaGVjaywgJ2VtcHR5LXRhcmdldCc6IGlzRW1wdHlUYXJnZXR9XCI+XHJcbiAgPGRpdiBzb3VyY2VNYWluIGNsYXNzPVwic291cmNlLW1haW5cIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgPHRsZC10cmFuc2xhdGUtc291cmNlIFt0ZXh0YXJlYURpc2FibGVkXT1cInRleHRhcmVhRGlzYWJsZWRcIiAjc291cmNlQ29tcG9uZW50IGZ4RmxleFxyXG4gICAgICBbc291cmNlUGFyYWdyYXBoc109XCJzb3VyY2VQYXJhZ3JhcGhzXCI+PC90bGQtdHJhbnNsYXRlLXNvdXJjZT5cclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyIHNvdXJjZUFjdGlvbnMgKm5nSWY9XCIhaGlkZVNvdXJjZUFjdGlvbnNcIj5cclxuICAgIDxkaXYgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IGNlbnRlclwiIGNsYXNzPVwiYmFzaWMtcGFkZGluZ1wiIGZ4TGF5b3V0R2FwPVwiMWVtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdWRpb0lucHV0VmlzaWJsZVwiPlxyXG4gICAgICAgIDx0bGQtZGljdGF0ZSBbY29uZmlndXJhdGlvbl09XCJkaWN0YXRlQ29uZmlnXCIgW25nQ2xhc3NdPVwieydmdWxsLXdpZHRoJyA6ICFmaWxlVXBsb2FkfVwiXHJcbiAgICAgICAgICAoaXNEaWN0YXRpbmcpPVwiZGljdGF0ZVN0YXJ0U3RvcCgkZXZlbnQpXCIgKHJlc3VsdCk9XCJkaWN0YXRlUmVzdWx0KCRldmVudClcIlxyXG4gICAgICAgICAgKHBhcnRpYWxSZXN1bHQpPVwiZGljdGF0ZVBhcnRpYWxSZXN1bHQoJGV2ZW50KVwiIChvbkVycm9yKT1cImRpY3RhdGVFcnJvcigkZXZlbnQpXCIgW2xhbmd1YWdlXT1cInNvdXJjZUxhbmd1YWdlXCI+XHJcbiAgICAgICAgPC90bGQtZGljdGF0ZT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJmaWxlVXBsb2FkXCIgY2xhc3M9XCJmaWxlLXVwbG9hZC13cmFwcGVyXCI+XHJcbiAgICAgICAgPHRsZC1maWxlLXVwbG9hZCAoZmlsZUNoYW5nZSk9XCJmaWxlQ2hhbmdlKCRldmVudClcIiBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZXNcIiBbbWF4U2l6ZV09XCJtYXhGaWxlVXBsb2FkU2l6ZVwiIFt1cGxvYWRJY29uTmFtZV09XCJ1cGxvYWRJY29uTmFtZVwiXHJcbiAgICAgICAgICBbZXh0ZW5kZWRBY2NlcHRMaXN0XT1cImV4dGVuZGVkRmlsZVR5cGVzXCIgW211bHRpcGxlXT1cIm11bHRpcGxlRmlsZXNcIiAoZXJyb3JFdmVudCk9XCJmaWxlVXBsb2FkRXJyb3IoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbZmlsZVByZXZpZXdQcm9ncmVzc109XCJmaWxlUHJldmlld1Byb2dyZXNzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInVwbG9hZC1maWxlLXRleHRcIj5cclxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5mbyB0ZXh0LWwtc2VtaS1ib2xkXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5VUExPQUQnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhY2NlbnQtY29sb3JcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj4mbmJzcDs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5EUkFHX0FORF9EUk9QJyB8IHRyYW5zbGF0ZVwiIGZ4SGlkZS5sdC1zbT48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC4nKyAobXVsdGlwbGVGaWxlcz8gJ0ZJTEVTJyA6ICdGSUxFJykgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzcy5sdC1zbV09XCInYWNjZW50LWNvbG9yJ1wiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLXVwbG9hZC1leHRlbnNpb25zIHRleHQtbVwiXHJcbiAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cIidGSUxFX1VQTE9BRC5MSU1JVFMnIHwgdHJhbnNsYXRlOiB7bWF4U2l6ZU1COiBtYXhTaXplTUIsIHZpc2libGVFeHRlbnNpb25zOiB2aXNpYmxlRXh0ZW5zaW9uc31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvdGxkLWZpbGUtdXBsb2FkPlxyXG4gICAgICAgIDx0bGQtb3Blbi1leHRlbnNpb24tZGlhbG9nICpuZ0lmPVwic2hvd0V4dGVuc2lvblBvcHVwXCIgW2V4dGVuc2lvbnNdPVwiYWxsb3dlZFR5cGVzV2l0aG91dERvdHNcIj5cclxuICAgICAgICA8L3RsZC1vcGVuLWV4dGVuc2lvbi1kaWFsb2c+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgdGFyZ2V0TWFpbiBjbGFzcz1cInRhcmdldC1tYWluXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhhc0RpY3Rpb25hcnk7IGVsc2UgZGljdGlvbmFyeVRhcmdldEJsb2NrXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VtcHR5VGFyZ2V0OyBlbHNlIHRyYW5zbGF0ZWRUZXh0QmxvY2tcIj5cclxuICAgICAgICA8cCAqbmdJZj1cInNob3dUYXJnZXRQbGFjZWhvbGRlclwiIGNsYXNzPVwiZGVzY3JpcHRpb24tdGV4dCB0YXJnZXQtZW1wdHlcIlxyXG4gICAgICAgICAgW2lubmVySHRtbF09XCInVExEX1RSQU5TTEFURS5UQVJHRVRfREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctY29udGFpbmVyIHRhcmdldEFjdGlvbnM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGxkLXRyYW5zbGF0ZS10YXJnZXQtZm9vdGVyIGJhc2ljLXBhZGRpbmdcIiAqbmdJZj1cInNob3dTdWdnZXN0aW9ucyB8fCBzaG93UHJvZ3Jlc3NJbmRpY2F0b3JcIj5cclxuICAgICAgPHRsZC10cmFuc2xhdGUtc3VnZ2VzdCAqbmdJZj1cInNob3dTdWdnZXN0aW9uc1wiIFtzeXN0ZW1JZF09XCJzeXN0ZW1JZFwiIFt0YXJnZXRdPVwidGFyZ2V0UGFyYWdyYXBoc1wiXHJcbiAgICAgICAgW3NvdXJjZV09XCJzb3VyY2VQYXJhZ3JhcGhzXCI+XHJcbiAgICAgIDwvdGxkLXRyYW5zbGF0ZS1zdWdnZXN0PlxyXG4gICAgICA8cHJvZ3Jlc3MtaW5kaWNhdG9yIChvbkNsb3NlKT1cImNsb3NlUHJvZ3Jlc3NJbmRpY2F0b3IoKVwiICpuZ0lmPVwic2hvd1Byb2dyZXNzSW5kaWNhdG9yXCI+PC9wcm9ncmVzcy1pbmRpY2F0b3I+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC90bGQtc291cmNlLWFuZC10YXJnZXQtd3JhcHBlcj5cclxuXHJcblxyXG48IS0tIHRlbXBsYXRlcyB1c2VkIGZvciBlbHNlIGJsb2NrcyBpbiB0YXJnZXQgY29udGFpbmVyIC0tPlxyXG48bmctdGVtcGxhdGUgI3RyYW5zbGF0ZWRUZXh0QmxvY2s+XHJcbiAgPGRpdiBjbGFzcz1cInRyYW5zbGF0ZWQtc291cmNlXCIgW2NsYXNzLnNlbGVjdGFibGUtc2VudGVuY2VdPVwic2hvd1N1Z2dlc3Rpb25zXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXVybFRvVHJhbnNsYXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YXJnZXQtd3JhcHBlci1hY3Rpb24tYnV0dG9uc1wiPlxyXG4gICAgICAgIDxidXR0b24gKm5nSWY9XCJmaXJzdFBhcmFncmFwaFRyYW5zbGF0ZWRcIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJ0bGQtY29weS10cmFuc2xhdGlvblwiIChjbGljayk9XCJjb3B5KClcIlxyXG4gICAgICAgICAgbWF0VG9vbHRpcD1cInt7J1RPT0xUSVBTLkNPUFknIHwgdHJhbnNsYXRlfX1cIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImNvcHlNZXNzYWdlSWRcIlxyXG4gICAgICAgICAgKGtleWRvd24uVGFiKT1cInN3aXRjaEZvY3VzRnJvbUNvcHkoJGV2ZW50KVwiIFthdHRyLklkXT1cImNvcHlCdXR0b25JZFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5DT1BZJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICBjb250ZW50X2NvcHlcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8dGxkLXRleHQtdG8tc3BlZWNoICpuZ0lmPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIiBbc2V0dGluZ3NdPVwidGV4dFRvU3BlZWNoVGFyZ2V0U2V0dGluZ3NcIj5cclxuICAgICAgICA8L3RsZC10ZXh0LXRvLXNwZWVjaD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHBhcmFncmFwaCBvZiB0YXJnZXRQYXJhZ3JhcGhzXCI+XHJcbiAgICAgICAgPHRsZC1oaWdobGlnaHQtdHJlZSBbaGlnaGxpZ2h0XT1cImhpZ2hsaWdodFwiIFt0cmVlXT1cInBhcmFncmFwaFwiIFtzZWxlY3RTZW50ZW5jZV09XCJzaG93U3VnZ2VzdGlvbnNcIj5cclxuICAgICAgICA8L3RsZC1oaWdobGlnaHQtdHJlZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgKm5nSWY9XCJ1cmxUb1RyYW5zbGF0ZVwiIGNsYXNzPVwidGFyZ2V0LXVybC1jb250YWluZXJcIj5cclxuICAgICAgPGEgW2F0dHIuaHJlZl09XCJ0cmFuc2xhdGVVcmxSZWRpcmVjdFwiIHRhcmdldD1cIl9ibGFua1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIiBjbGFzcz1cImdvLXRvLXdlYnRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIHt7dXJsVG9UcmFuc2xhdGV9fVxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIiBjb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUklBX0xBQkVMUy5PUEVOX0lOX05FVydcIj5cclxuICAgICAgICAgIG9wZW5faW5fbmV3XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2E+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGljdGlvbmFyeVRhcmdldEJsb2NrPlxyXG4gIDxkaXYgZnhGbGV4IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJkaWN0aW9uYXJ5LXdyYXBwZXJcIj5cclxuICAgIDx0bGQtZGljdGlvbmFyeSBmeEZsZXggKm5nRm9yPVwibGV0IGRpY3Rpb25hcnkgb2YgZGljdGlvbmFyeUVudHJ5XCIgW2RpY3Rpb25hcnldPVwiZGljdGlvbmFyeVwiPlxyXG4gICAgPC90bGQtZGljdGlvbmFyeT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -5990,7 +5990,7 @@ class CombinedCollection {
|
|
|
5990
5990
|
}
|
|
5991
5991
|
this._isSynchronized = isSynchronized;
|
|
5992
5992
|
this.lastUpdated = lastMtUpdated !== null && lastMtUpdated !== void 0 ? lastMtUpdated : termModified;
|
|
5993
|
-
this._syncButtonVisible = !this.isImporting && (!this.isSynchronized ||
|
|
5993
|
+
this._syncButtonVisible = !this.isImporting && (!this.isSynchronized || this.mtStatus === MtCollectionStatus.ERROR);
|
|
5994
5994
|
}
|
|
5995
5995
|
updateSource() {
|
|
5996
5996
|
if (this.termCollection) {
|
|
@@ -8630,6 +8630,7 @@ class TldTranslateTextComponent {
|
|
|
8630
8630
|
this.breakpointObserver = breakpointObserver;
|
|
8631
8631
|
this.onFileChange = new EventEmitter();
|
|
8632
8632
|
this.targetSentenceSelect = true;
|
|
8633
|
+
this.allowedTypesWithoutDots = [];
|
|
8633
8634
|
this.copyMessageId = "tld-copy-success";
|
|
8634
8635
|
this.copyMessageCloseButtonId = "tld-copy-success-close";
|
|
8635
8636
|
this.copyButtonId = "tld-copy-to-clipboard";
|
|
@@ -8724,6 +8725,7 @@ class TldTranslateTextComponent {
|
|
|
8724
8725
|
apiUrl: this.config.audioConfig.dictateApiUrl
|
|
8725
8726
|
};
|
|
8726
8727
|
this.visibleExtensions = this.allowedFileTypes.slice(0, this.visibleExtensionCount).join(", ");
|
|
8728
|
+
this.allowedFileTypes.forEach((el) => this.allowedTypesWithoutDots.push(el.replace('.', '')));
|
|
8727
8729
|
this.maxSizeMB = Common.bytesToMb(this.config.fileConfig.maxSize);
|
|
8728
8730
|
this.tldSystem.getActiveData().pipe(distinctUntilChanged((x, y) => x && y && x.systemId == y.systemId))
|
|
8729
8731
|
.pipe(takeUntil(this.destroy$))
|