@discordeno/utils 21.0.0-next.cd396cf → 21.0.0-next.d8cfccb
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/dist/cjs/builders/embeds.cjs +4 -1
- package/dist/cjs/images.cjs +7 -1
- package/dist/esm/builders/embeds.js +4 -1
- package/dist/esm/images.js +11 -1
- package/dist/types/builders/embeds.d.ts.map +1 -1
- package/dist/types/images.d.ts +13 -0
- package/dist/types/images.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -73,6 +73,9 @@ let EmbedsBuilder = class EmbedsBuilder extends Array {
|
|
|
73
73
|
* @returns {EmbedsBuilder}
|
|
74
74
|
*/ setColor(color) {
|
|
75
75
|
if (typeof color === 'string') {
|
|
76
|
+
if (color.toLowerCase() === 'random') {
|
|
77
|
+
return this.setRandomColor();
|
|
78
|
+
}
|
|
76
79
|
const convertedValue = parseInt(color.replace('#', ''), 16);
|
|
77
80
|
color = Number.isNaN(convertedValue) ? 0 : convertedValue;
|
|
78
81
|
}
|
|
@@ -300,4 +303,4 @@ let EmbedsBuilder = class EmbedsBuilder extends Array {
|
|
|
300
303
|
}
|
|
301
304
|
};
|
|
302
305
|
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZW1iZWRzID0gbmV3IEVtYmVkc0J1aWxkZXIoKVxuICogIC5zZXRUaXRsZSgnTXkgRW1iZWQnKVxuICogIC5zZXREZXNjcmlwdGlvbignVGhpcyBpcyBteSBuZXcgZW1iZWQnKVxuICogIC5uZXdFbWJlZCgpXG4gKiAgLnNldFRpdGxlKCdNeSBTZWNvbmQgRW1iZWQnKVxuICovXG5leHBvcnQgY2xhc3MgRW1iZWRzQnVpbGRlciBleHRlbmRzIEFycmF5PERpc2NvcmRFbWJlZD4ge1xuICAjY3VycmVudEVtYmVkSW5kZXg6IG51bWJlciA9IDBcblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWVsZCB0byB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG11bHRpcGxlIG5ldyBmaWVsZHMgdG8gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzIC0gVGhlIGZpZWxkcyB0byBhZGRcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBhZGRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKC4uLmZpZWxkcylcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGJsYW5rIGVtYmVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIG5ld0VtYmVkKCk6IHRoaXMge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+PSAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYXhpbXVtIGVtYmVkIGNvdW50IGV4Y2VlZGVkLiBZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMuJylcbiAgICB9XG5cbiAgICB0aGlzLnB1c2goe30pXG4gICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1cnJlbnQgZW1iZWQgYXV0aG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUgb2YgdGhlIGF1dGhvclxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPn0gW29wdGlvbnNdIC0gRXh0cmEgYXV0aG9yIG9wdGlvbnNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRBdXRob3IobmFtZTogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRBdXRob3IsICduYW1lJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmF1dGhvcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvbiB0aGUgc2lkZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHsobnVtYmVyIHwgc3RyaW5nKX0gY29sb3IgLSBUaGUgY29sb3IsIGluIGJhc2UxNiBvciBoZXggY29sb3IgY29kZVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldENvbG9yKGNvbG9yOiBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgY29udmVydGVkVmFsdWUgPSBwYXJzZUludChjb2xvci5yZXBsYWNlKCcjJywgJycpLCAxNilcbiAgICAgIGNvbG9yID0gTnVtYmVyLmlzTmFOKGNvbnZlcnRlZFZhbHVlKSA/IDAgOiBjb252ZXJ0ZWRWYWx1ZVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5jb2xvciA9IGNvbG9yXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCB0byBhIGRpZmZlcmVudCBpbmRleC5cbiAgICpcbiAgICogV0FSTklORzogT25seSB1c2UgdGhpcyBtZXRob2QgaWYgeW91IGtub3cgd2hhdCB5b3UncmUgZG9pbmcuIE1ha2Ugc3VyZSB0byBzZXQgaXQgYmFjayB0byB0aGUgbGF0ZXN0IHdoZW4geW91J3JlIGRvbmUuXG4gICAqXG4gICAqIEBwYXJhbSB7P251bWJlcn0gW2luZGV4XSAtIFRoZSBpbmRleCBvZiB0aGUgZW1iZWQgaW4gdGhlIEVtYmVkc0J1aWxkZXIgYXJyYXlcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRDdXJyZW50RW1iZWQoaW5kZXg/OiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSB0aGlzLmxlbmd0aCAtIDFcblxuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPj0gdGhpcy5sZW5ndGggfHwgaW5kZXggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbiBub3Qgc2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgaW5kZXggb3V0IG9mIGJvdW5kcy4nKVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZEluZGV4ID0gaW5kZXhcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIC0gRGVzY3JpcHRpb25cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXREZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb25cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogT3ZlcndyaXRlIGFsbCBmaWVsZHMgb24gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0RmllbGRzKGZpZWxkczogRGlzY29yZEVtYmVkRmllbGRbXSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPSBmaWVsZHNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBmb290ZXIgaW4gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgZm9vdGVyXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkRm9vdGVyLCAndGV4dCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGb290ZXIodGV4dDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmZvb3RlcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB0ZXh0LFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBpbWFnZSBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRJbWFnZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkSW1hZ2UsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSA9IHtcbiAgICAgIC4uLnRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHByb3ZpZGVyIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0gez9zdHJpbmd9IFt1cmxdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0UHJvdmlkZXIobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQucHJvdmlkZXIgPSB7XG4gICAgICBuYW1lLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvZiB0aGUgY3VycmVudCBlbWJlZCB0byBhIHJhbmRvbSB2YWx1ZS5cbiAgICpcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRSYW5kb21Db2xvcigpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb2xvcihNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMHhmZmZmZmYgKyAxKSkpXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGl0bGUgPSB0aXRsZVxuXG4gICAgaWYgKHVybCkge1xuICAgICAgdGhpcy5zZXRVcmwodXJsKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7PyhzdHJpbmcgfCBudW1iZXIgfCBEYXRlKX0gW3RpbWVzdGFtcF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaW1lc3RhbXAodGltZXN0YW1wPzogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aW1lc3RhbXAgPSBuZXcgRGF0ZSh0aW1lc3RhbXAgPz8gRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRodW1ibmFpbCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VGh1bWJuYWlsKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aHVtYm5haWwgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgVVJMIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRpdGxlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnVybCA9IHVybFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZpZGVvIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVmlkZW8sICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VmlkZW8odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudmlkZW8gPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudmlkZW8sXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYWxsIGVtYmVkcyBhdmFpbGFibGUgYWdhaW5zdCBjdXJyZW50IGtub3duIERpc2NvcmQgbGltaXRzIHRvIGhlbHAgcHJldmVudCBiYWQgcmVxdWVzdHMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgdmFsaWRhdGUoKTogdGhpcyB7XG4gICAgbGV0IHRvdGFsQ2hhcmFjdGVycyA9IDBcblxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcyBvbiBhIHNpbmdsZSBtZXNzYWdlLicpXG4gICAgfVxuXG4gICAgdGhpcy5mb3JFYWNoKCh7IGF1dGhvciwgZGVzY3JpcHRpb24sIGZpZWxkcywgZm9vdGVyLCB0aXRsZSB9LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRUaXRsZSA9IHRpdGxlLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkVGl0bGUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaXRsZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFRpdGxlLmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZERlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24udHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXNjcmlwdGlvbiBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDQwOTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkcykge1xuICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCA+IDI1KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBlbWJlZCAke2luZGV4fSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDI1IGZpZWxkcy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgZmllbGRzLmZvckVhY2goKHsgbmFtZSwgdmFsdWUgfSwgZmllbGRJbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyaW1tZWROYW1lID0gbmFtZS50cmltKClcbiAgICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKClcblxuICAgICAgICAgIGlmICh0cmltbWVkTmFtZS5sZW5ndGggPiAyNTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTmFtZSBvZiBmaWVsZCAke2ZpZWxkSW5kZXh9IG9uIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjU2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHJpbW1lZFZhbHVlLmxlbmd0aCA+IDQwOTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVmFsdWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycy5gKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkTmFtZS5sZW5ndGhcbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFZhbHVlLmxlbmd0aFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAoZm9vdGVyKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRGb290ZXJUZXh0ID0gZm9vdGVyLnRleHQudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aCA+IDIwNDgpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvb3RlciB0ZXh0IG9mIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjA0OCBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEZvb3RlclRleHQubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChhdXRob3IpIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZEF1dGhvck5hbWUgPSBhdXRob3IubmFtZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdXRob3IgbmFtZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoXG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmICh0b3RhbENoYXJhY3RlcnMgPiA2MDAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RvdGFsIGNoYXJhY3RlciBsZW5ndGggb2YgYWxsIGVtYmVkcyBjYW4gbm90IGV4Y2VlZCA2MDAwIGNoYXJhY3RlcnMuJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7RGlzY29yZEVtYmVkfVxuICAgKi9cbiAgZ2V0ICNjdXJyZW50RW1iZWQoKTogRGlzY29yZEVtYmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubmV3RW1iZWQoKVxuICAgICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzW3RoaXMuI2N1cnJlbnRFbWJlZEluZGV4XVxuICB9XG59XG4iXSwibmFtZXMiOlsiRW1iZWRzQnVpbGRlciIsIkFycmF5IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwiYWRkRmllbGRzIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwiY29udmVydGVkVmFsdWUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJOdW1iZXIiLCJpc05hTiIsImluZGV4Iiwic2V0RGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsInNldEZpZWxkcyIsInNldEZvb3RlciIsInRleHQiLCJmb290ZXIiLCJzZXRJbWFnZSIsInVybCIsImltYWdlIiwic2V0UHJvdmlkZXIiLCJwcm92aWRlciIsInNldFJhbmRvbUNvbG9yIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0VGl0bGUiLCJ0aXRsZSIsInNldFVybCIsInNldFRpbWVzdGFtcCIsInRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJ0b0lTT1N0cmluZyIsInNldFRodW1ibmFpbCIsInRodW1ibmFpbCIsInNldFZpZGVvIiwidmlkZW8iLCJ2YWxpZGF0ZSIsInRvdGFsQ2hhcmFjdGVycyIsImZvckVhY2giLCJ0cmltbWVkVGl0bGUiLCJ0cmltIiwidHJpbW1lZERlc2NyaXB0aW9uIiwiZmllbGRJbmRleCIsInRyaW1tZWROYW1lIiwidHJpbW1lZFZhbHVlIiwidHJpbW1lZEZvb3RlclRleHQiLCJ0cmltbWVkQXV0aG9yTmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFvQmFBOzs7ZUFBQUE7OztBQUFOLElBQUEsQUFBTUEsZ0JBQU4sTUFBTUEsc0JBQXNCQztJQUNqQyxDQUFBLGlCQUFrQixDQUFZO0lBRTlCOzs7Ozs7O0dBT0MsR0FDREMsU0FBU0MsSUFBWSxFQUFFQyxLQUFhLEVBQUVDLE1BQWdCLEVBQVE7UUFDNUQsSUFBSSxJQUFJLENBQUMsQ0FBQSxZQUFhLENBQUNDLE1BQU0sS0FBS0MsV0FBVztZQUMzQyxJQUFJLENBQUMsQ0FBQSxZQUFhLENBQUNELE1BQU0sR0FBRyxFQUFFO1FBQ2hDO1FBRUEsSUFBSSxDQUFDLENBQUEsWUFBYSxDQUFDQSxNQUFNLENBQUNFLElBQUksQ0FBQztZQUM3Qkw7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
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZW1iZWRzID0gbmV3IEVtYmVkc0J1aWxkZXIoKVxuICogIC5zZXRUaXRsZSgnTXkgRW1iZWQnKVxuICogIC5zZXREZXNjcmlwdGlvbignVGhpcyBpcyBteSBuZXcgZW1iZWQnKVxuICogIC5uZXdFbWJlZCgpXG4gKiAgLnNldFRpdGxlKCdNeSBTZWNvbmQgRW1iZWQnKVxuICovXG5leHBvcnQgY2xhc3MgRW1iZWRzQnVpbGRlciBleHRlbmRzIEFycmF5PERpc2NvcmRFbWJlZD4ge1xuICAjY3VycmVudEVtYmVkSW5kZXg6IG51bWJlciA9IDBcblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWVsZCB0byB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG11bHRpcGxlIG5ldyBmaWVsZHMgdG8gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzIC0gVGhlIGZpZWxkcyB0byBhZGRcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBhZGRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKC4uLmZpZWxkcylcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGJsYW5rIGVtYmVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIG5ld0VtYmVkKCk6IHRoaXMge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+PSAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYXhpbXVtIGVtYmVkIGNvdW50IGV4Y2VlZGVkLiBZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMuJylcbiAgICB9XG5cbiAgICB0aGlzLnB1c2goe30pXG4gICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1cnJlbnQgZW1iZWQgYXV0aG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUgb2YgdGhlIGF1dGhvclxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPn0gW29wdGlvbnNdIC0gRXh0cmEgYXV0aG9yIG9wdGlvbnNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRBdXRob3IobmFtZTogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRBdXRob3IsICduYW1lJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmF1dGhvcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvbiB0aGUgc2lkZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHsobnVtYmVyIHwgc3RyaW5nKX0gY29sb3IgLSBUaGUgY29sb3IsIGluIGJhc2UxNiBvciBoZXggY29sb3IgY29kZVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldENvbG9yKGNvbG9yOiBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGNvbG9yLnRvTG93ZXJDYXNlKCkgPT09ICdyYW5kb20nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldFJhbmRvbUNvbG9yKClcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29udmVydGVkVmFsdWUgPSBwYXJzZUludChjb2xvci5yZXBsYWNlKCcjJywgJycpLCAxNilcbiAgICAgIGNvbG9yID0gTnVtYmVyLmlzTmFOKGNvbnZlcnRlZFZhbHVlKSA/IDAgOiBjb252ZXJ0ZWRWYWx1ZVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5jb2xvciA9IGNvbG9yXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCB0byBhIGRpZmZlcmVudCBpbmRleC5cbiAgICpcbiAgICogV0FSTklORzogT25seSB1c2UgdGhpcyBtZXRob2QgaWYgeW91IGtub3cgd2hhdCB5b3UncmUgZG9pbmcuIE1ha2Ugc3VyZSB0byBzZXQgaXQgYmFjayB0byB0aGUgbGF0ZXN0IHdoZW4geW91J3JlIGRvbmUuXG4gICAqXG4gICAqIEBwYXJhbSB7P251bWJlcn0gW2luZGV4XSAtIFRoZSBpbmRleCBvZiB0aGUgZW1iZWQgaW4gdGhlIEVtYmVkc0J1aWxkZXIgYXJyYXlcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRDdXJyZW50RW1iZWQoaW5kZXg/OiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSB0aGlzLmxlbmd0aCAtIDFcblxuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPj0gdGhpcy5sZW5ndGggfHwgaW5kZXggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbiBub3Qgc2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgaW5kZXggb3V0IG9mIGJvdW5kcy4nKVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZEluZGV4ID0gaW5kZXhcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIC0gRGVzY3JpcHRpb25cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXREZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb25cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogT3ZlcndyaXRlIGFsbCBmaWVsZHMgb24gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0RmllbGRzKGZpZWxkczogRGlzY29yZEVtYmVkRmllbGRbXSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPSBmaWVsZHNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBmb290ZXIgaW4gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgZm9vdGVyXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkRm9vdGVyLCAndGV4dCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGb290ZXIodGV4dDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmZvb3RlcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB0ZXh0LFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBpbWFnZSBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRJbWFnZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkSW1hZ2UsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSA9IHtcbiAgICAgIC4uLnRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHByb3ZpZGVyIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0gez9zdHJpbmd9IFt1cmxdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0UHJvdmlkZXIobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQucHJvdmlkZXIgPSB7XG4gICAgICBuYW1lLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvZiB0aGUgY3VycmVudCBlbWJlZCB0byBhIHJhbmRvbSB2YWx1ZS5cbiAgICpcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRSYW5kb21Db2xvcigpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb2xvcihNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMHhmZmZmZmYgKyAxKSkpXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGl0bGUgPSB0aXRsZVxuXG4gICAgaWYgKHVybCkge1xuICAgICAgdGhpcy5zZXRVcmwodXJsKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7PyhzdHJpbmcgfCBudW1iZXIgfCBEYXRlKX0gW3RpbWVzdGFtcF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaW1lc3RhbXAodGltZXN0YW1wPzogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aW1lc3RhbXAgPSBuZXcgRGF0ZSh0aW1lc3RhbXAgPz8gRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRodW1ibmFpbCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VGh1bWJuYWlsKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aHVtYm5haWwgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgVVJMIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRpdGxlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnVybCA9IHVybFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZpZGVvIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVmlkZW8sICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VmlkZW8odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudmlkZW8gPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudmlkZW8sXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYWxsIGVtYmVkcyBhdmFpbGFibGUgYWdhaW5zdCBjdXJyZW50IGtub3duIERpc2NvcmQgbGltaXRzIHRvIGhlbHAgcHJldmVudCBiYWQgcmVxdWVzdHMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgdmFsaWRhdGUoKTogdGhpcyB7XG4gICAgbGV0IHRvdGFsQ2hhcmFjdGVycyA9IDBcblxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcyBvbiBhIHNpbmdsZSBtZXNzYWdlLicpXG4gICAgfVxuXG4gICAgdGhpcy5mb3JFYWNoKCh7IGF1dGhvciwgZGVzY3JpcHRpb24sIGZpZWxkcywgZm9vdGVyLCB0aXRsZSB9LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRUaXRsZSA9IHRpdGxlLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkVGl0bGUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaXRsZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFRpdGxlLmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZERlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24udHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXNjcmlwdGlvbiBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDQwOTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkcykge1xuICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCA+IDI1KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBlbWJlZCAke2luZGV4fSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDI1IGZpZWxkcy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgZmllbGRzLmZvckVhY2goKHsgbmFtZSwgdmFsdWUgfSwgZmllbGRJbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyaW1tZWROYW1lID0gbmFtZS50cmltKClcbiAgICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKClcblxuICAgICAgICAgIGlmICh0cmltbWVkTmFtZS5sZW5ndGggPiAyNTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTmFtZSBvZiBmaWVsZCAke2ZpZWxkSW5kZXh9IG9uIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjU2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHJpbW1lZFZhbHVlLmxlbmd0aCA+IDQwOTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVmFsdWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycy5gKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkTmFtZS5sZW5ndGhcbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFZhbHVlLmxlbmd0aFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAoZm9vdGVyKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRGb290ZXJUZXh0ID0gZm9vdGVyLnRleHQudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aCA+IDIwNDgpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvb3RlciB0ZXh0IG9mIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjA0OCBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEZvb3RlclRleHQubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChhdXRob3IpIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZEF1dGhvck5hbWUgPSBhdXRob3IubmFtZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdXRob3IgbmFtZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoXG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmICh0b3RhbENoYXJhY3RlcnMgPiA2MDAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RvdGFsIGNoYXJhY3RlciBsZW5ndGggb2YgYWxsIGVtYmVkcyBjYW4gbm90IGV4Y2VlZCA2MDAwIGNoYXJhY3RlcnMuJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7RGlzY29yZEVtYmVkfVxuICAgKi9cbiAgZ2V0ICNjdXJyZW50RW1iZWQoKTogRGlzY29yZEVtYmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubmV3RW1iZWQoKVxuICAgICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzW3RoaXMuI2N1cnJlbnRFbWJlZEluZGV4XVxuICB9XG59XG4iXSwibmFtZXMiOlsiRW1iZWRzQnVpbGRlciIsIkFycmF5IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwiYWRkRmllbGRzIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwidG9Mb3dlckNhc2UiLCJzZXRSYW5kb21Db2xvciIsImNvbnZlcnRlZFZhbHVlIiwicGFyc2VJbnQiLCJyZXBsYWNlIiwiTnVtYmVyIiwiaXNOYU4iLCJpbmRleCIsInNldERlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJzZXRGaWVsZHMiLCJzZXRGb290ZXIiLCJ0ZXh0IiwiZm9vdGVyIiwic2V0SW1hZ2UiLCJ1cmwiLCJpbWFnZSIsInNldFByb3ZpZGVyIiwicHJvdmlkZXIiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJzZXRUaXRsZSIsInRpdGxlIiwic2V0VXJsIiwic2V0VGltZXN0YW1wIiwidGltZXN0YW1wIiwiRGF0ZSIsIm5vdyIsInRvSVNPU3RyaW5nIiwic2V0VGh1bWJuYWlsIiwidGh1bWJuYWlsIiwic2V0VmlkZW8iLCJ2aWRlbyIsInZhbGlkYXRlIiwidG90YWxDaGFyYWN0ZXJzIiwiZm9yRWFjaCIsInRyaW1tZWRUaXRsZSIsInRyaW0iLCJ0cmltbWVkRGVzY3JpcHRpb24iLCJmaWVsZEluZGV4IiwidHJpbW1lZE5hbWUiLCJ0cmltbWVkVmFsdWUiLCJ0cmltbWVkRm9vdGVyVGV4dCIsInRyaW1tZWRBdXRob3JOYW1lIl0sIm1hcHBpbmdzIjoiOzs7OytCQW9CYUE7OztlQUFBQTs7O0FBQU4sSUFBQSxBQUFNQSxnQkFBTixNQUFNQSxzQkFBc0JDO0lBQ2pDLENBQUEsaUJBQWtCLENBQVk7SUFFOUI7Ozs7Ozs7R0FPQyxHQUNEQyxTQUFTQyxJQUFZLEVBQUVDLEtBQWEsRUFBRUMsTUFBZ0IsRUFBUTtRQUM1RCxJQUFJLElBQUksQ0FBQyxDQUFBLFlBQWEsQ0FBQ0MsTUFBTSxLQUFLQyxXQUFXO1lB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
|
package/dist/cjs/images.cjs
CHANGED
|
@@ -54,6 +54,9 @@ _export(exports, {
|
|
|
54
54
|
memberAvatarUrl: function() {
|
|
55
55
|
return memberAvatarUrl;
|
|
56
56
|
},
|
|
57
|
+
memberBannerUrl: function() {
|
|
58
|
+
return memberBannerUrl;
|
|
59
|
+
},
|
|
57
60
|
roleIconUrl: function() {
|
|
58
61
|
return roleIconUrl;
|
|
59
62
|
},
|
|
@@ -109,6 +112,9 @@ function getWidgetImageUrl(guildId, options) {
|
|
|
109
112
|
function memberAvatarUrl(guildId, userId, options) {
|
|
110
113
|
return options?.avatar ? formatImageUrl(`https://cdn.discordapp.com/guilds/${guildId}/users/${userId}/avatars/${typeof options.avatar === 'string' ? options.avatar : (0, _hash.iconBigintToHash)(options.avatar)}`, options?.size ?? 128, options?.format) : undefined;
|
|
111
114
|
}
|
|
115
|
+
function memberBannerUrl(guildId, userId, options) {
|
|
116
|
+
return options?.banner ? formatImageUrl(`https://cdn.discordapp.com/guilds/${guildId}/users/${userId}/banners/${typeof options.banner === 'string' ? options.banner : (0, _hash.iconBigintToHash)(options.banner)}`, options?.size ?? 128, options?.format) : undefined;
|
|
117
|
+
}
|
|
112
118
|
function applicationIconUrl(applicationId, iconHash, options) {
|
|
113
119
|
return iconHash ? formatImageUrl(`https://cdn.discordapp.com/app-icons/${applicationId}/${typeof iconHash === 'string' ? iconHash : (0, _hash.iconBigintToHash)(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
114
120
|
}
|
|
@@ -133,4 +139,4 @@ function roleIconUrl(roleId, iconHash, options) {
|
|
|
133
139
|
return iconHash ? formatImageUrl(`https://cdn.discordapp.com/role-icons/${roleId}/${typeof iconHash === 'string' ? iconHash : (0, _hash.iconBigintToHash)(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
134
140
|
}
|
|
135
141
|
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCaWdTdHJpbmcsIHR5cGUgR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5LCB0eXBlIEltYWdlRm9ybWF0LCB0eXBlIEltYWdlU2l6ZSwgU3RpY2tlckZvcm1hdFR5cGVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uQmlnaW50VG9IYXNoIH0gZnJvbSAnLi9oYXNoLmpzJ1xuXG4vKiogSGVscCBmb3JtYXQgYW4gaW1hZ2UgdXJsLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEltYWdlVXJsKHVybDogc3RyaW5nLCBzaXplOiBJbWFnZVNpemUgPSAxMjgsIGZvcm1hdD86IEltYWdlRm9ybWF0KTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3VybH0uJHtmb3JtYXQgPz8gKHVybC5pbmNsdWRlcygnL2FfJykgPyAnZ2lmJyA6ICdqcGcnKX0/c2l6ZT0ke3NpemV9YFxufVxuXG4vKipcbiAqIEdldCB0aGUgdXJsIGZvciBhbiBlbW9qaS5cbiAqXG4gKiBAcGFyYW0gZW1vamlJZCBUaGUgaWQgb2YgdGhlIGVtb2ppXG4gKiBAcGFyYW0gYW5pbWF0ZWQgV2hldGhlciBvciBub3QgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gKiBAcmV0dXJucyBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtb2ppVXJsKGVtb2ppSWQ6IEJpZ1N0cmluZywgYW5pbWF0ZWQgPSBmYWxzZSk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1vamlzLyR7ZW1vamlJZH0uJHthbmltYXRlZCA/ICdnaWYnIDogJ3BuZyd9YFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgLSBUaGUgdXNlcidzIGRpc2NyaW1pbmF0b3IuICg0LWRpZ2l0IHRhZyBhZnRlciB0aGUgaGFzaHRhZy4pXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIGRpc2NyaW1pbmF0b3I6IHN0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBhdmF0YXI6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZFxuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXJzLyR7dXNlcklkfS8ke3R5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1iZWQvYXZhdGFycy8ke2Rpc2NyaW1pbmF0b3IgPT09ICcwJyA/IChCaWdJbnQodXNlcklkKSA+PiBCaWdJbnQoMjIpKSAlIEJpZ0ludCg2KSA6IE51bWJlcihkaXNjcmltaW5hdG9yKSAlIDV9LnBuZ2Bcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhckRlY29yYXRpb25VcmwoYXZhdGFyRGVjb3JhdGlvbjogQmlnU3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXItZGVjb3JhdGlvbi1wcmVzZXRzLyR7XG4gICAgdHlwZW9mIGF2YXRhckRlY29yYXRpb24gPT09ICdzdHJpbmcnID8gYXZhdGFyRGVjb3JhdGlvbiA6IGljb25CaWdpbnRUb0hhc2goYXZhdGFyRGVjb3JhdGlvbilcbiAgfS5wbmdgXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIG5vdCBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhbm5lclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM/OiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYmFubmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Jhbm5lcnMvJHt1c2VySWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgYmFubmVyIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEJhbm5lclVybChcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zOiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke2d1aWxkSWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gdGhlIGd1aWxkIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSBiYW5uZXIgZm9yLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBldmVudCBjb3ZlciBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEljb25VcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2ljb25zLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBzcGxhc2ggc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBzcGxhc2ggb2YuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkU3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgZGlzY292ZXJ5IHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZGlzY292ZXJ5IHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9kaXNjb3Zlcnktc3BsYXNoZXMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNjaGVkdWxlZCBldmVudCBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBldmVudElkIC0gVGhlIElEIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgdG8gZ2V0IHRoZSBjb3ZlciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsKFxuICBldmVudElkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICBjb3Zlcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnMuY292ZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZ3VpbGQtZXZlbnRzLyR7ZXZlbnRJZH0vJHt0eXBlb2Ygb3B0aW9ucy5jb3ZlciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmNvdmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmNvdmVyKX1gLFxuICAgICAgICBvcHRpb25zLnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zLmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgd2lkZ2V0IGltYWdlIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgd2lkZ2V0IGltYWdlIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2lkZ2V0SW1hZ2VVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5KTogc3RyaW5nIHtcbiAgbGV0IHVybCA9IGBodHRwczovL2Rpc2NvcmRhcHAuY29tL2FwaS9ndWlsZHMvJHtndWlsZElkfS93aWRnZXQucG5nYFxuXG4gIGlmIChvcHRpb25zPy5zdHlsZSkge1xuICAgIHVybCArPSBgP3N0eWxlPSR7b3B0aW9ucy5zdHlsZX1gXG4gIH1cblxuICByZXR1cm4gdXJsXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYXZhdGFyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQXZhdGFyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIHVzZXJJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGF2YXRhcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYXZhdGFycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGljb24gb2YuXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkljb25VcmwoXG4gIGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGNvdmVyIG9mLlxuICogQHBhcmFtIGNvdmVySGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBjb3Zlci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Db3ZlclVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBjb3Zlckhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBjb3Zlckhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgY292ZXJIYXNoID09PSAnc3RyaW5nJyA/IGNvdmVySGFzaCA6IGljb25CaWdpbnRUb0hhc2goY292ZXJIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gYXNzZXQgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBhc3NldCBvZi5cbiAqIEBwYXJhbSBhc3NldElkIC0gVGhlIGlkIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBhc3NldC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Bc3NldFVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBhc3NldElkOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYXNzZXRJZFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBhc3NldElkID09PSAnc3RyaW5nJyA/IGFzc2V0SWQgOiBpY29uQmlnaW50VG9IYXNoKGFzc2V0SWQpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHN0aWNrZXIgcGFjayBiYW5uZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYmFubmVyQXNzZXRJZCAtIFRoZSBJRCBvZiB0aGUgYmFubmVyIGFzc2V0IGZvciB0aGUgc3RpY2tlciBwYWNrLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGlja2VyUGFja0Jhbm5lclVybChcbiAgYmFubmVyQXNzZXRJZDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGJhbm5lckFzc2V0SWRcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWFzc2V0cy83MTA5ODI0MTQzMDE3OTAyMTYvc3RvcmUvJHtcbiAgICAgICAgICB0eXBlb2YgYmFubmVyQXNzZXRJZCA9PT0gJ3N0cmluZycgPyBiYW5uZXJBc3NldElkIDogaWNvbkJpZ2ludFRvSGFzaChiYW5uZXJBc3NldElkKVxuICAgICAgICB9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgc3RpY2tlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBzdGlja2VySWQgLSBUaGUgSUQgb2YgdGhlIHN0aWNrZXIgdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0aWNrZXJVcmwoXG4gIHN0aWNrZXJJZDogQmlnU3RyaW5nIHwgbnVtYmVyLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICAgIHR5cGU/OiBTdGlja2VyRm9ybWF0VHlwZXNcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghc3RpY2tlcklkKSByZXR1cm5cblxuICBjb25zdCB1cmwgPVxuICAgIG9wdGlvbnM/LnR5cGUgPT09IFN0aWNrZXJGb3JtYXRUeXBlcy5HaWZcbiAgICAgID8gYGh0dHBzOi8vbWVkaWEuZGlzY29yZGFwcC5uZXQvc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuXG4gIHJldHVybiBmb3JtYXRJbWFnZVVybCh1cmwsIG9wdGlvbnM/LnNpemUgPz8gMTI4LCBvcHRpb25zPy5mb3JtYXQpXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSB0ZWFtIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdGVhbUlkIC0gVGhlIElEIG9mIHRoZSB0ZWFtIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHRlYW0gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVhbUljb25VcmwoXG4gIHRlYW1JZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3RlYW0taWNvbnMvJHt0ZWFtSWR9L3N0b3JlLyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgcm9sZSBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHJvbGVJZCAtIFRoZSBJRCBvZiB0aGUgcm9sZSB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIG9mIHRoZSByb2xlIGljb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvbGVJY29uVXJsKFxuICByb2xlSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9yb2xlLWljb25zLyR7cm9sZUlkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cbiJdLCJuYW1lcyI6WyJhcHBsaWNhdGlvbkFzc2V0VXJsIiwiYXBwbGljYXRpb25Db3ZlclVybCIsImFwcGxpY2F0aW9uSWNvblVybCIsImF2YXRhckRlY29yYXRpb25VcmwiLCJhdmF0YXJVcmwiLCJiYW5uZXJVcmwiLCJlbW9qaVVybCIsImZvcm1hdEltYWdlVXJsIiwiZ2V0V2lkZ2V0SW1hZ2VVcmwiLCJndWlsZEJhbm5lclVybCIsImd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsIiwiZ3VpbGRJY29uVXJsIiwiZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsIiwiZ3VpbGRTcGxhc2hVcmwiLCJtZW1iZXJBdmF0YXJVcmwiLCJyb2xlSWNvblVybCIsInN0aWNrZXJQYWNrQmFubmVyVXJsIiwic3RpY2tlclVybCIsInRlYW1JY29uVXJsIiwidXJsIiwic2l6ZSIsImZvcm1hdCIsImluY2x1ZGVzIiwiZW1vamlJZCIsImFuaW1hdGVkIiwidXNlcklkIiwiZGlzY3JpbWluYXRvciIsIm9wdGlvbnMiLCJhdmF0YXIiLCJpY29uQmlnaW50VG9IYXNoIiwiQmlnSW50IiwiTnVtYmVyIiwiYXZhdGFyRGVjb3JhdGlvbiIsImJhbm5lciIsInVuZGVmaW5lZCIsImd1aWxkSWQiLCJpbWFnZUhhc2giLCJldmVudElkIiwiY292ZXIiLCJzdHlsZSIsImFwcGxpY2F0aW9uSWQiLCJpY29uSGFzaCIsImNvdmVySGFzaCIsImFzc2V0SWQiLCJiYW5uZXJBc3NldElkIiwic3RpY2tlcklkIiwidHlwZSIsIlN0aWNrZXJGb3JtYXRUeXBlcyIsIkdpZiIsInRlYW1JZCIsInJvbGVJZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUE2U2dCQSxtQkFBbUI7ZUFBbkJBOztJQXpCQUMsbUJBQW1CO2VBQW5CQTs7SUF6QkFDLGtCQUFrQjtlQUFsQkE7O0lBOU1BQyxtQkFBbUI7ZUFBbkJBOztJQWxCQUMsU0FBUztlQUFUQTs7SUErQkFDLFNB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
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCaWdTdHJpbmcsIHR5cGUgR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5LCB0eXBlIEltYWdlRm9ybWF0LCB0eXBlIEltYWdlU2l6ZSwgU3RpY2tlckZvcm1hdFR5cGVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uQmlnaW50VG9IYXNoIH0gZnJvbSAnLi9oYXNoLmpzJ1xuXG4vKiogSGVscCBmb3JtYXQgYW4gaW1hZ2UgdXJsLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEltYWdlVXJsKHVybDogc3RyaW5nLCBzaXplOiBJbWFnZVNpemUgPSAxMjgsIGZvcm1hdD86IEltYWdlRm9ybWF0KTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3VybH0uJHtmb3JtYXQgPz8gKHVybC5pbmNsdWRlcygnL2FfJykgPyAnZ2lmJyA6ICdqcGcnKX0/c2l6ZT0ke3NpemV9YFxufVxuXG4vKipcbiAqIEdldCB0aGUgdXJsIGZvciBhbiBlbW9qaS5cbiAqXG4gKiBAcGFyYW0gZW1vamlJZCBUaGUgaWQgb2YgdGhlIGVtb2ppXG4gKiBAcGFyYW0gYW5pbWF0ZWQgV2hldGhlciBvciBub3QgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gKiBAcmV0dXJucyBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtb2ppVXJsKGVtb2ppSWQ6IEJpZ1N0cmluZywgYW5pbWF0ZWQgPSBmYWxzZSk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1vamlzLyR7ZW1vamlJZH0uJHthbmltYXRlZCA/ICdnaWYnIDogJ3BuZyd9YFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgLSBUaGUgdXNlcidzIGRpc2NyaW1pbmF0b3IuICg0LWRpZ2l0IHRhZyBhZnRlciB0aGUgaGFzaHRhZy4pXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIGRpc2NyaW1pbmF0b3I6IHN0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBhdmF0YXI6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZFxuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXJzLyR7dXNlcklkfS8ke3R5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1iZWQvYXZhdGFycy8ke2Rpc2NyaW1pbmF0b3IgPT09ICcwJyA/IChCaWdJbnQodXNlcklkKSA+PiBCaWdJbnQoMjIpKSAlIEJpZ0ludCg2KSA6IE51bWJlcihkaXNjcmltaW5hdG9yKSAlIDV9LnBuZ2Bcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhckRlY29yYXRpb25VcmwoYXZhdGFyRGVjb3JhdGlvbjogQmlnU3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXItZGVjb3JhdGlvbi1wcmVzZXRzLyR7XG4gICAgdHlwZW9mIGF2YXRhckRlY29yYXRpb24gPT09ICdzdHJpbmcnID8gYXZhdGFyRGVjb3JhdGlvbiA6IGljb25CaWdpbnRUb0hhc2goYXZhdGFyRGVjb3JhdGlvbilcbiAgfS5wbmdgXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIG5vdCBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhbm5lclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM/OiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYmFubmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Jhbm5lcnMvJHt1c2VySWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgYmFubmVyIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEJhbm5lclVybChcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zOiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke2d1aWxkSWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gdGhlIGd1aWxkIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSBiYW5uZXIgZm9yLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBldmVudCBjb3ZlciBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEljb25VcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2ljb25zLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBzcGxhc2ggc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBzcGxhc2ggb2YuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkU3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgZGlzY292ZXJ5IHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZGlzY292ZXJ5IHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9kaXNjb3Zlcnktc3BsYXNoZXMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNjaGVkdWxlZCBldmVudCBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBldmVudElkIC0gVGhlIElEIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgdG8gZ2V0IHRoZSBjb3ZlciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsKFxuICBldmVudElkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICBjb3Zlcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnMuY292ZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZ3VpbGQtZXZlbnRzLyR7ZXZlbnRJZH0vJHt0eXBlb2Ygb3B0aW9ucy5jb3ZlciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmNvdmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmNvdmVyKX1gLFxuICAgICAgICBvcHRpb25zLnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zLmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgd2lkZ2V0IGltYWdlIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgd2lkZ2V0IGltYWdlIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2lkZ2V0SW1hZ2VVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5KTogc3RyaW5nIHtcbiAgbGV0IHVybCA9IGBodHRwczovL2Rpc2NvcmRhcHAuY29tL2FwaS9ndWlsZHMvJHtndWlsZElkfS93aWRnZXQucG5nYFxuXG4gIGlmIChvcHRpb25zPy5zdHlsZSkge1xuICAgIHVybCArPSBgP3N0eWxlPSR7b3B0aW9ucy5zdHlsZX1gXG4gIH1cblxuICByZXR1cm4gdXJsXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYXZhdGFyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQXZhdGFyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIHVzZXJJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGF2YXRhcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYXZhdGFycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQmFubmVyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIHVzZXJJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGJhbm5lcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmJhbm5lclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYmFubmVycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmJhbm5lciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmJhbm5lciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5iYW5uZXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGljb24gb2YuXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkljb25VcmwoXG4gIGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGNvdmVyIG9mLlxuICogQHBhcmFtIGNvdmVySGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBjb3Zlci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Db3ZlclVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBjb3Zlckhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBjb3Zlckhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgY292ZXJIYXNoID09PSAnc3RyaW5nJyA/IGNvdmVySGFzaCA6IGljb25CaWdpbnRUb0hhc2goY292ZXJIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gYXNzZXQgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBhc3NldCBvZi5cbiAqIEBwYXJhbSBhc3NldElkIC0gVGhlIGlkIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBhc3NldC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Bc3NldFVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBhc3NldElkOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYXNzZXRJZFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBhc3NldElkID09PSAnc3RyaW5nJyA/IGFzc2V0SWQgOiBpY29uQmlnaW50VG9IYXNoKGFzc2V0SWQpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHN0aWNrZXIgcGFjayBiYW5uZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYmFubmVyQXNzZXRJZCAtIFRoZSBJRCBvZiB0aGUgYmFubmVyIGFzc2V0IGZvciB0aGUgc3RpY2tlciBwYWNrLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGlja2VyUGFja0Jhbm5lclVybChcbiAgYmFubmVyQXNzZXRJZDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGJhbm5lckFzc2V0SWRcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWFzc2V0cy83MTA5ODI0MTQzMDE3OTAyMTYvc3RvcmUvJHtcbiAgICAgICAgICB0eXBlb2YgYmFubmVyQXNzZXRJZCA9PT0gJ3N0cmluZycgPyBiYW5uZXJBc3NldElkIDogaWNvbkJpZ2ludFRvSGFzaChiYW5uZXJBc3NldElkKVxuICAgICAgICB9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgc3RpY2tlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBzdGlja2VySWQgLSBUaGUgSUQgb2YgdGhlIHN0aWNrZXIgdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0aWNrZXJVcmwoXG4gIHN0aWNrZXJJZDogQmlnU3RyaW5nIHwgbnVtYmVyLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICAgIHR5cGU/OiBTdGlja2VyRm9ybWF0VHlwZXNcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghc3RpY2tlcklkKSByZXR1cm5cblxuICBjb25zdCB1cmwgPVxuICAgIG9wdGlvbnM/LnR5cGUgPT09IFN0aWNrZXJGb3JtYXRUeXBlcy5HaWZcbiAgICAgID8gYGh0dHBzOi8vbWVkaWEuZGlzY29yZGFwcC5uZXQvc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuXG4gIHJldHVybiBmb3JtYXRJbWFnZVVybCh1cmwsIG9wdGlvbnM/LnNpemUgPz8gMTI4LCBvcHRpb25zPy5mb3JtYXQpXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSB0ZWFtIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdGVhbUlkIC0gVGhlIElEIG9mIHRoZSB0ZWFtIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHRlYW0gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVhbUljb25VcmwoXG4gIHRlYW1JZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3RlYW0taWNvbnMvJHt0ZWFtSWR9L3N0b3JlLyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgcm9sZSBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHJvbGVJZCAtIFRoZSBJRCBvZiB0aGUgcm9sZSB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIG9mIHRoZSByb2xlIGljb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvbGVJY29uVXJsKFxuICByb2xlSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9yb2xlLWljb25zLyR7cm9sZUlkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cbiJdLCJuYW1lcyI6WyJhcHBsaWNhdGlvbkFzc2V0VXJsIiwiYXBwbGljYXRpb25Db3ZlclVybCIsImFwcGxpY2F0aW9uSWNvblVybCIsImF2YXRhckRlY29yYXRpb25VcmwiLCJhdmF0YXJVcmwiLCJiYW5uZXJVcmwiLCJlbW9qaVVybCIsImZvcm1hdEltYWdlVXJsIiwiZ2V0V2lkZ2V0SW1hZ2VVcmwiLCJndWlsZEJhbm5lclVybCIsImd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsIiwiZ3VpbGRJY29uVXJsIiwiZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsIiwiZ3VpbGRTcGxhc2hVcmwiLCJtZW1iZXJBdmF0YXJVcmwiLCJtZW1iZXJCYW5uZXJVcmwiLCJyb2xlSWNvblVybCIsInN0aWNrZXJQYWNrQmFubmVyVXJsIiwic3RpY2tlclVybCIsInRlYW1JY29uVXJsIiwidXJsIiwic2l6ZSIsImZvcm1hdCIsImluY2x1ZGVzIiwiZW1vamlJZCIsImFuaW1hdGVkIiwidXNlcklkIiwiZGlzY3JpbWluYXRvciIsIm9wdGlvbnMiLCJhdmF0YXIiLCJpY29uQmlnaW50VG9IYXNoIiwiQmlnSW50IiwiTnVtYmVyIiwiYXZhdGFyRGVjb3JhdGlvbiIsImJhbm5lciIsInVuZGVmaW5lZCIsImd1aWxkSWQiLCJpbWFnZUhhc2giLCJldmVudElkIiwiY292ZXIiLCJzdHlsZSIsImFwcGxpY2F0aW9uSWQiLCJpY29uSGFzaCIsImNvdmVySGFzaCIsImFzc2V0SWQiLCJiYW5uZXJBc3NldElkIiwic3RpY2tlcklkIiwidHlwZSIsIlN0aWNrZXJGb3JtYXRUeXBlcyIsIkdpZiIsInRlYW1JZCIsInJvbGVJZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUF5VWdCQSxtQkFBbUI7ZUFBbkJBOztJQXpCQUMsbUJBQW1CO2VBQW5CQTs7SUF6QkFDLGtCQUFrQjtlQUFsQkE7O0lBMU9BQyxtQkFBbUI7ZUFBbkJBOztJQWxCQUMsU0FBUztlQUFUQTs7SUErQkFDLFNBQVM7ZUFBVEE7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
|
|
@@ -72,6 +72,9 @@
|
|
|
72
72
|
* @returns {EmbedsBuilder}
|
|
73
73
|
*/ setColor(color) {
|
|
74
74
|
if (typeof color === 'string') {
|
|
75
|
+
if (color.toLowerCase() === 'random') {
|
|
76
|
+
return this.setRandomColor();
|
|
77
|
+
}
|
|
75
78
|
const convertedValue = parseInt(color.replace('#', ''), 16);
|
|
76
79
|
color = Number.isNaN(convertedValue) ? 0 : convertedValue;
|
|
77
80
|
}
|
|
@@ -299,4 +302,4 @@
|
|
|
299
302
|
}
|
|
300
303
|
}
|
|
301
304
|
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZW1iZWRzID0gbmV3IEVtYmVkc0J1aWxkZXIoKVxuICogIC5zZXRUaXRsZSgnTXkgRW1iZWQnKVxuICogIC5zZXREZXNjcmlwdGlvbignVGhpcyBpcyBteSBuZXcgZW1iZWQnKVxuICogIC5uZXdFbWJlZCgpXG4gKiAgLnNldFRpdGxlKCdNeSBTZWNvbmQgRW1iZWQnKVxuICovXG5leHBvcnQgY2xhc3MgRW1iZWRzQnVpbGRlciBleHRlbmRzIEFycmF5PERpc2NvcmRFbWJlZD4ge1xuICAjY3VycmVudEVtYmVkSW5kZXg6IG51bWJlciA9IDBcblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWVsZCB0byB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG11bHRpcGxlIG5ldyBmaWVsZHMgdG8gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzIC0gVGhlIGZpZWxkcyB0byBhZGRcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBhZGRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKC4uLmZpZWxkcylcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGJsYW5rIGVtYmVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIG5ld0VtYmVkKCk6IHRoaXMge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+PSAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYXhpbXVtIGVtYmVkIGNvdW50IGV4Y2VlZGVkLiBZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMuJylcbiAgICB9XG5cbiAgICB0aGlzLnB1c2goe30pXG4gICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1cnJlbnQgZW1iZWQgYXV0aG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUgb2YgdGhlIGF1dGhvclxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPn0gW29wdGlvbnNdIC0gRXh0cmEgYXV0aG9yIG9wdGlvbnNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRBdXRob3IobmFtZTogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRBdXRob3IsICduYW1lJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmF1dGhvcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvbiB0aGUgc2lkZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHsobnVtYmVyIHwgc3RyaW5nKX0gY29sb3IgLSBUaGUgY29sb3IsIGluIGJhc2UxNiBvciBoZXggY29sb3IgY29kZVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldENvbG9yKGNvbG9yOiBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgY29udmVydGVkVmFsdWUgPSBwYXJzZUludChjb2xvci5yZXBsYWNlKCcjJywgJycpLCAxNilcbiAgICAgIGNvbG9yID0gTnVtYmVyLmlzTmFOKGNvbnZlcnRlZFZhbHVlKSA/IDAgOiBjb252ZXJ0ZWRWYWx1ZVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5jb2xvciA9IGNvbG9yXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCB0byBhIGRpZmZlcmVudCBpbmRleC5cbiAgICpcbiAgICogV0FSTklORzogT25seSB1c2UgdGhpcyBtZXRob2QgaWYgeW91IGtub3cgd2hhdCB5b3UncmUgZG9pbmcuIE1ha2Ugc3VyZSB0byBzZXQgaXQgYmFjayB0byB0aGUgbGF0ZXN0IHdoZW4geW91J3JlIGRvbmUuXG4gICAqXG4gICAqIEBwYXJhbSB7P251bWJlcn0gW2luZGV4XSAtIFRoZSBpbmRleCBvZiB0aGUgZW1iZWQgaW4gdGhlIEVtYmVkc0J1aWxkZXIgYXJyYXlcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRDdXJyZW50RW1iZWQoaW5kZXg/OiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSB0aGlzLmxlbmd0aCAtIDFcblxuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPj0gdGhpcy5sZW5ndGggfHwgaW5kZXggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbiBub3Qgc2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgaW5kZXggb3V0IG9mIGJvdW5kcy4nKVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZEluZGV4ID0gaW5kZXhcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIC0gRGVzY3JpcHRpb25cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXREZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb25cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogT3ZlcndyaXRlIGFsbCBmaWVsZHMgb24gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0RmllbGRzKGZpZWxkczogRGlzY29yZEVtYmVkRmllbGRbXSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPSBmaWVsZHNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBmb290ZXIgaW4gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgZm9vdGVyXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkRm9vdGVyLCAndGV4dCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGb290ZXIodGV4dDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmZvb3RlcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB0ZXh0LFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBpbWFnZSBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRJbWFnZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkSW1hZ2UsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSA9IHtcbiAgICAgIC4uLnRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHByb3ZpZGVyIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0gez9zdHJpbmd9IFt1cmxdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0UHJvdmlkZXIobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQucHJvdmlkZXIgPSB7XG4gICAgICBuYW1lLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvZiB0aGUgY3VycmVudCBlbWJlZCB0byBhIHJhbmRvbSB2YWx1ZS5cbiAgICpcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRSYW5kb21Db2xvcigpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb2xvcihNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMHhmZmZmZmYgKyAxKSkpXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGl0bGUgPSB0aXRsZVxuXG4gICAgaWYgKHVybCkge1xuICAgICAgdGhpcy5zZXRVcmwodXJsKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7PyhzdHJpbmcgfCBudW1iZXIgfCBEYXRlKX0gW3RpbWVzdGFtcF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaW1lc3RhbXAodGltZXN0YW1wPzogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aW1lc3RhbXAgPSBuZXcgRGF0ZSh0aW1lc3RhbXAgPz8gRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRodW1ibmFpbCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VGh1bWJuYWlsKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aHVtYm5haWwgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgVVJMIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRpdGxlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnVybCA9IHVybFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZpZGVvIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVmlkZW8sICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VmlkZW8odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudmlkZW8gPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudmlkZW8sXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYWxsIGVtYmVkcyBhdmFpbGFibGUgYWdhaW5zdCBjdXJyZW50IGtub3duIERpc2NvcmQgbGltaXRzIHRvIGhlbHAgcHJldmVudCBiYWQgcmVxdWVzdHMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgdmFsaWRhdGUoKTogdGhpcyB7XG4gICAgbGV0IHRvdGFsQ2hhcmFjdGVycyA9IDBcblxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcyBvbiBhIHNpbmdsZSBtZXNzYWdlLicpXG4gICAgfVxuXG4gICAgdGhpcy5mb3JFYWNoKCh7IGF1dGhvciwgZGVzY3JpcHRpb24sIGZpZWxkcywgZm9vdGVyLCB0aXRsZSB9LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRUaXRsZSA9IHRpdGxlLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkVGl0bGUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaXRsZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFRpdGxlLmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZERlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24udHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXNjcmlwdGlvbiBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDQwOTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkcykge1xuICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCA+IDI1KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBlbWJlZCAke2luZGV4fSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDI1IGZpZWxkcy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgZmllbGRzLmZvckVhY2goKHsgbmFtZSwgdmFsdWUgfSwgZmllbGRJbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyaW1tZWROYW1lID0gbmFtZS50cmltKClcbiAgICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKClcblxuICAgICAgICAgIGlmICh0cmltbWVkTmFtZS5sZW5ndGggPiAyNTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTmFtZSBvZiBmaWVsZCAke2ZpZWxkSW5kZXh9IG9uIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjU2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHJpbW1lZFZhbHVlLmxlbmd0aCA+IDQwOTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVmFsdWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycy5gKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkTmFtZS5sZW5ndGhcbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFZhbHVlLmxlbmd0aFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAoZm9vdGVyKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRGb290ZXJUZXh0ID0gZm9vdGVyLnRleHQudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aCA+IDIwNDgpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvb3RlciB0ZXh0IG9mIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjA0OCBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEZvb3RlclRleHQubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChhdXRob3IpIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZEF1dGhvck5hbWUgPSBhdXRob3IubmFtZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdXRob3IgbmFtZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoXG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmICh0b3RhbENoYXJhY3RlcnMgPiA2MDAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RvdGFsIGNoYXJhY3RlciBsZW5ndGggb2YgYWxsIGVtYmVkcyBjYW4gbm90IGV4Y2VlZCA2MDAwIGNoYXJhY3RlcnMuJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7RGlzY29yZEVtYmVkfVxuICAgKi9cbiAgZ2V0ICNjdXJyZW50RW1iZWQoKTogRGlzY29yZEVtYmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubmV3RW1iZWQoKVxuICAgICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzW3RoaXMuI2N1cnJlbnRFbWJlZEluZGV4XVxuICB9XG59XG4iXSwibmFtZXMiOlsiRW1iZWRzQnVpbGRlciIsIkFycmF5IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwiYWRkRmllbGRzIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwiY29udmVydGVkVmFsdWUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJOdW1iZXIiLCJpc05hTiIsImluZGV4Iiwic2V0RGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsInNldEZpZWxkcyIsInNldEZvb3RlciIsInRleHQiLCJmb290ZXIiLCJzZXRJbWFnZSIsInVybCIsImltYWdlIiwic2V0UHJvdmlkZXIiLCJwcm92aWRlciIsInNldFJhbmRvbUNvbG9yIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0VGl0bGUiLCJ0aXRsZSIsInNldFVybCIsInNldFRpbWVzdGFtcCIsInRpbWVzdGFtcCIsIkRhdGUiLCJub3ciLCJ0b0lTT1N0cmluZyIsInNldFRodW1ibmFpbCIsInRodW1ibmFpbCIsInNldFZpZGVvIiwidmlkZW8iLCJ2YWxpZGF0ZSIsInRvdGFsQ2hhcmFjdGVycyIsImZvckVhY2giLCJ0cmltbWVkVGl0bGUiLCJ0cmltIiwidHJpbW1lZERlc2NyaXB0aW9uIiwiZmllbGRJbmRleCIsInRyaW1tZWROYW1lIiwidHJpbW1lZFZhbHVlIiwidHJpbW1lZEZvb3RlclRleHQiLCJ0cmltbWVkQXV0aG9yTmFtZSJdLCJtYXBwaW5ncyI6IkFBVUE7Ozs7Ozs7OztDQVNDLEdBQ0QsT0FBTyxNQUFNQSxzQkFBc0JDO0lBQ2pDLENBQUEsaUJBQWtCLENBQVk7SUFFOUI7Ozs7Ozs7R0FPQyxHQUNEQyxTQUFTQyxJQUFZLEVBQUVDLEtBQWEsRUFBRUMsTUFBZ0IsRUFBUTtRQUM1RCxJQUFJLElBQUksQ0FBQyxDQUFBLFlBQWEsQ0FBQ0MsTUFBTSxLQUFLQyxXQUFXO1lBQzNDLElBQUksQ0FBQyxDQUFBLFlBQWEsQ0FBQ0QsTUFBTSxHQUFHLEVBQUU7UUFDaEM7UUFFQSxJQUFJLENBQUMsQ0FBQSxZQUFhLENBQUNBLE1BQU0sQ0FBQ0UsSUFBSSxDQUFDO1lBQzdCTDtZQUNBQztZQUNBQztRQUNG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
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVycy9lbWJlZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBEaXNjb3JkRW1iZWQsXG4gIERpc2NvcmRFbWJlZEF1dGhvcixcbiAgRGlzY29yZEVtYmVkRmllbGQsXG4gIERpc2NvcmRFbWJlZEZvb3RlcixcbiAgRGlzY29yZEVtYmVkSW1hZ2UsXG4gIERpc2NvcmRFbWJlZFRodW1ibmFpbCxcbiAgRGlzY29yZEVtYmVkVmlkZW8sXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuXG4vKipcbiAqIEEgYnVpbGRlciB0byBoZWxwIGNyZWF0ZSBEaXNjb3JkIGVtYmVkcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZW1iZWRzID0gbmV3IEVtYmVkc0J1aWxkZXIoKVxuICogIC5zZXRUaXRsZSgnTXkgRW1iZWQnKVxuICogIC5zZXREZXNjcmlwdGlvbignVGhpcyBpcyBteSBuZXcgZW1iZWQnKVxuICogIC5uZXdFbWJlZCgpXG4gKiAgLnNldFRpdGxlKCdNeSBTZWNvbmQgRW1iZWQnKVxuICovXG5leHBvcnQgY2xhc3MgRW1iZWRzQnVpbGRlciBleHRlbmRzIEFycmF5PERpc2NvcmRFbWJlZD4ge1xuICAjY3VycmVudEVtYmVkSW5kZXg6IG51bWJlciA9IDBcblxuICAvKipcbiAgICogQWRkcyBhIG5ldyBmaWVsZCB0byB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBGaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZSAtIEZpZWxkIHZhbHVlXG4gICAqIEBwYXJhbSB7P2Jvb2xlYW59IFtpbmxpbmU9ZmFsc2VdIC0gRmllbGQgc2hvdWxkIGJlIGlubGluZSBvciBub3QuXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgYWRkRmllbGQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBpbmxpbmU/OiBib29sZWFuKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGlubGluZSxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIG11bHRpcGxlIG5ldyBmaWVsZHMgdG8gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzIC0gVGhlIGZpZWxkcyB0byBhZGRcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBhZGRGaWVsZHMoZmllbGRzOiBEaXNjb3JkRW1iZWRGaWVsZFtdKTogdGhpcyB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcyA9IFtdXG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmZpZWxkcy5wdXNoKC4uLmZpZWxkcylcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGJsYW5rIGVtYmVkLlxuICAgKlxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIG5ld0VtYmVkKCk6IHRoaXMge1xuICAgIGlmICh0aGlzLmxlbmd0aCA+PSAxMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYXhpbXVtIGVtYmVkIGNvdW50IGV4Y2VlZGVkLiBZb3UgY2FuIG5vdCBoYXZlIG1vcmUgdGhhbiAxMCBlbWJlZHMuJylcbiAgICB9XG5cbiAgICB0aGlzLnB1c2goe30pXG4gICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGN1cnJlbnQgZW1iZWQgYXV0aG9yLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIE5hbWUgb2YgdGhlIGF1dGhvclxuICAgKiBAcGFyYW0gez9PbWl0PERpc2NvcmRFbWJlZEF1dGhvciwgJ25hbWUnPn0gW29wdGlvbnNdIC0gRXh0cmEgYXV0aG9yIG9wdGlvbnNcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRBdXRob3IobmFtZTogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRBdXRob3IsICduYW1lJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuYXV0aG9yID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmF1dGhvcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvbiB0aGUgc2lkZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHsobnVtYmVyIHwgc3RyaW5nKX0gY29sb3IgLSBUaGUgY29sb3IsIGluIGJhc2UxNiBvciBoZXggY29sb3IgY29kZVxuICAgKiBAcmV0dXJucyB7RW1iZWRzQnVpbGRlcn1cbiAgICovXG4gIHNldENvbG9yKGNvbG9yOiBudW1iZXIgfCBzdHJpbmcpOiB0aGlzIHtcbiAgICBpZiAodHlwZW9mIGNvbG9yID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGNvbG9yLnRvTG93ZXJDYXNlKCkgPT09ICdyYW5kb20nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNldFJhbmRvbUNvbG9yKClcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29udmVydGVkVmFsdWUgPSBwYXJzZUludChjb2xvci5yZXBsYWNlKCcjJywgJycpLCAxNilcbiAgICAgIGNvbG9yID0gTnVtYmVyLmlzTmFOKGNvbnZlcnRlZFZhbHVlKSA/IDAgOiBjb252ZXJ0ZWRWYWx1ZVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5jb2xvciA9IGNvbG9yXG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBlbWJlZCB0byBhIGRpZmZlcmVudCBpbmRleC5cbiAgICpcbiAgICogV0FSTklORzogT25seSB1c2UgdGhpcyBtZXRob2QgaWYgeW91IGtub3cgd2hhdCB5b3UncmUgZG9pbmcuIE1ha2Ugc3VyZSB0byBzZXQgaXQgYmFjayB0byB0aGUgbGF0ZXN0IHdoZW4geW91J3JlIGRvbmUuXG4gICAqXG4gICAqIEBwYXJhbSB7P251bWJlcn0gW2luZGV4XSAtIFRoZSBpbmRleCBvZiB0aGUgZW1iZWQgaW4gdGhlIEVtYmVkc0J1aWxkZXIgYXJyYXlcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRDdXJyZW50RW1iZWQoaW5kZXg/OiBudW1iZXIpOiB0aGlzIHtcbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudEVtYmVkSW5kZXggPSB0aGlzLmxlbmd0aCAtIDFcblxuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPj0gdGhpcy5sZW5ndGggfHwgaW5kZXggPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbiBub3Qgc2V0IHRoZSBjdXJyZW50IGVtYmVkIHRvIGEgaW5kZXggb3V0IG9mIGJvdW5kcy4nKVxuICAgIH1cblxuICAgIHRoaXMuI2N1cnJlbnRFbWJlZEluZGV4ID0gaW5kZXhcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIC0gRGVzY3JpcHRpb25cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXREZXNjcmlwdGlvbihkZXNjcmlwdGlvbjogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb25cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogT3ZlcndyaXRlIGFsbCBmaWVsZHMgb24gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7RGlzY29yZEVtYmVkRmllbGRbXX0gZmllbGRzXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0RmllbGRzKGZpZWxkczogRGlzY29yZEVtYmVkRmllbGRbXSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5maWVsZHMgPSBmaWVsZHNcblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBmb290ZXIgaW4gdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgdG8gZGlzcGxheSBpbiB0aGUgZm9vdGVyXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkRm9vdGVyLCAndGV4dCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRGb290ZXIodGV4dDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRGb290ZXIsICd0ZXh0Jz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQuZm9vdGVyID0ge1xuICAgICAgLi4udGhpcy4jY3VycmVudEVtYmVkLmZvb3RlcixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB0ZXh0LFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBpbWFnZSBpbiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRJbWFnZSwgJ3VybCc+fSBbb3B0aW9uc11cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRJbWFnZSh1cmw6IHN0cmluZywgb3B0aW9ucz86IE9taXQ8RGlzY29yZEVtYmVkSW1hZ2UsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSA9IHtcbiAgICAgIC4uLnRoaXMuI2N1cnJlbnRFbWJlZC5pbWFnZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB1cmwsXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHByb3ZpZGVyIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0gez9zdHJpbmd9IFt1cmxdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0UHJvdmlkZXIobmFtZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQucHJvdmlkZXIgPSB7XG4gICAgICBuYW1lLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjb2xvciBvZiB0aGUgY3VycmVudCBlbWJlZCB0byBhIHJhbmRvbSB2YWx1ZS5cbiAgICpcbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRSYW5kb21Db2xvcigpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5zZXRDb2xvcihNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMHhmZmZmZmYgKyAxKSkpXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aXRsZSBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gW3VybF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaXRsZSh0aXRsZTogc3RyaW5nLCB1cmw/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudGl0bGUgPSB0aXRsZVxuXG4gICAgaWYgKHVybCkge1xuICAgICAgdGhpcy5zZXRVcmwodXJsKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSB0aW1lc3RhbXAgb2YgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7PyhzdHJpbmcgfCBudW1iZXIgfCBEYXRlKX0gW3RpbWVzdGFtcF1cbiAgICogQHJldHVybnMge0VtYmVkc0J1aWxkZXJ9XG4gICAqL1xuICBzZXRUaW1lc3RhbXAodGltZXN0YW1wPzogc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSk6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aW1lc3RhbXAgPSBuZXcgRGF0ZSh0aW1lc3RhbXAgPz8gRGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRodW1ibmFpbCBvZiB0aGUgY3VycmVudCBlbWJlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHVybCAtIFVSTCBvZiB0aGUgaW1hZ2VcbiAgICogQHBhcmFtIHs/T21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VGh1bWJuYWlsKHVybDogc3RyaW5nLCBvcHRpb25zPzogT21pdDxEaXNjb3JkRW1iZWRUaHVtYm5haWwsICd1cmwnPik6IHRoaXMge1xuICAgIHRoaXMuI2N1cnJlbnRFbWJlZC50aHVtYm5haWwgPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudGh1bWJuYWlsLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHVybCxcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgVVJMIG9mIHRoZSBjdXJyZW50IGVtYmVkIHRpdGxlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VXJsKHVybDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy4jY3VycmVudEVtYmVkLnVybCA9IHVybFxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHZpZGVvIG9mIHRoZSBjdXJyZW50IGVtYmVkLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsXG4gICAqIEBwYXJhbSB7P09taXQ8RGlzY29yZEVtYmVkVmlkZW8sICd1cmwnPn0gW29wdGlvbnNdXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgc2V0VmlkZW8odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBPbWl0PERpc2NvcmRFbWJlZFZpZGVvLCAndXJsJz4pOiB0aGlzIHtcbiAgICB0aGlzLiNjdXJyZW50RW1iZWQudmlkZW8gPSB7XG4gICAgICAuLi50aGlzLiNjdXJyZW50RW1iZWQudmlkZW8sXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdXJsLFxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgYWxsIGVtYmVkcyBhdmFpbGFibGUgYWdhaW5zdCBjdXJyZW50IGtub3duIERpc2NvcmQgbGltaXRzIHRvIGhlbHAgcHJldmVudCBiYWQgcmVxdWVzdHMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtFbWJlZHNCdWlsZGVyfVxuICAgKi9cbiAgdmFsaWRhdGUoKTogdGhpcyB7XG4gICAgbGV0IHRvdGFsQ2hhcmFjdGVycyA9IDBcblxuICAgIGlmICh0aGlzLmxlbmd0aCA+IDEwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDEwIGVtYmVkcyBvbiBhIHNpbmdsZSBtZXNzYWdlLicpXG4gICAgfVxuXG4gICAgdGhpcy5mb3JFYWNoKCh7IGF1dGhvciwgZGVzY3JpcHRpb24sIGZpZWxkcywgZm9vdGVyLCB0aXRsZSB9LCBpbmRleCkgPT4ge1xuICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRUaXRsZSA9IHRpdGxlLnRyaW0oKVxuXG4gICAgICAgIGlmICh0cmltbWVkVGl0bGUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaXRsZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFRpdGxlLmxlbmd0aFxuICAgICAgfVxuXG4gICAgICBpZiAoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZERlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24udHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGggPiA0MDk2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXNjcmlwdGlvbiBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDQwOTYgY2hhcmFjdGVycy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgdG90YWxDaGFyYWN0ZXJzICs9IHRyaW1tZWREZXNjcmlwdGlvbi5sZW5ndGhcbiAgICAgIH1cblxuICAgICAgaWYgKGZpZWxkcykge1xuICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCA+IDI1KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBlbWJlZCAke2luZGV4fSBjYW4gbm90IGhhdmUgbW9yZSB0aGFuIDI1IGZpZWxkcy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgZmllbGRzLmZvckVhY2goKHsgbmFtZSwgdmFsdWUgfSwgZmllbGRJbmRleCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRyaW1tZWROYW1lID0gbmFtZS50cmltKClcbiAgICAgICAgICBjb25zdCB0cmltbWVkVmFsdWUgPSB2YWx1ZS50cmltKClcblxuICAgICAgICAgIGlmICh0cmltbWVkTmFtZS5sZW5ndGggPiAyNTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgTmFtZSBvZiBmaWVsZCAke2ZpZWxkSW5kZXh9IG9uIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjU2IGNoYXJhY3RlcnMuYClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHJpbW1lZFZhbHVlLmxlbmd0aCA+IDQwOTYpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVmFsdWUgb2YgZmllbGQgJHtmaWVsZEluZGV4fSBvbiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycy5gKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRvdGFsQ2hhcmFjdGVycyArPSB0cmltbWVkTmFtZS5sZW5ndGhcbiAgICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZFZhbHVlLmxlbmd0aFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAoZm9vdGVyKSB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRGb290ZXJUZXh0ID0gZm9vdGVyLnRleHQudHJpbSgpXG5cbiAgICAgICAgaWYgKHRyaW1tZWRGb290ZXJUZXh0Lmxlbmd0aCA+IDIwNDgpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZvb3RlciB0ZXh0IG9mIGVtYmVkICR7aW5kZXh9IGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjA0OCBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEZvb3RlclRleHQubGVuZ3RoXG4gICAgICB9XG5cbiAgICAgIGlmIChhdXRob3IpIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZEF1dGhvck5hbWUgPSBhdXRob3IubmFtZS50cmltKClcblxuICAgICAgICBpZiAodHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoID4gMjU2KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdXRob3IgbmFtZSBvZiBlbWJlZCAke2luZGV4fSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzLmApXG4gICAgICAgIH1cblxuICAgICAgICB0b3RhbENoYXJhY3RlcnMgKz0gdHJpbW1lZEF1dGhvck5hbWUubGVuZ3RoXG4gICAgICB9XG4gICAgfSlcblxuICAgIGlmICh0b3RhbENoYXJhY3RlcnMgPiA2MDAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RvdGFsIGNoYXJhY3RlciBsZW5ndGggb2YgYWxsIGVtYmVkcyBjYW4gbm90IGV4Y2VlZCA2MDAwIGNoYXJhY3RlcnMuJylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgZW1iZWQuXG4gICAqXG4gICAqIEByZWFkb25seVxuICAgKiBAdHlwZSB7RGlzY29yZEVtYmVkfVxuICAgKi9cbiAgZ2V0ICNjdXJyZW50RW1iZWQoKTogRGlzY29yZEVtYmVkIHtcbiAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMubmV3RW1iZWQoKVxuICAgICAgdGhpcy5zZXRDdXJyZW50RW1iZWQoKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzW3RoaXMuI2N1cnJlbnRFbWJlZEluZGV4XVxuICB9XG59XG4iXSwibmFtZXMiOlsiRW1iZWRzQnVpbGRlciIsIkFycmF5IiwiYWRkRmllbGQiLCJuYW1lIiwidmFsdWUiLCJpbmxpbmUiLCJmaWVsZHMiLCJ1bmRlZmluZWQiLCJwdXNoIiwiYWRkRmllbGRzIiwibmV3RW1iZWQiLCJsZW5ndGgiLCJFcnJvciIsInNldEN1cnJlbnRFbWJlZCIsInNldEF1dGhvciIsIm9wdGlvbnMiLCJhdXRob3IiLCJzZXRDb2xvciIsImNvbG9yIiwidG9Mb3dlckNhc2UiLCJzZXRSYW5kb21Db2xvciIsImNvbnZlcnRlZFZhbHVlIiwicGFyc2VJbnQiLCJyZXBsYWNlIiwiTnVtYmVyIiwiaXNOYU4iLCJpbmRleCIsInNldERlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJzZXRGaWVsZHMiLCJzZXRGb290ZXIiLCJ0ZXh0IiwiZm9vdGVyIiwic2V0SW1hZ2UiLCJ1cmwiLCJpbWFnZSIsInNldFByb3ZpZGVyIiwicHJvdmlkZXIiLCJNYXRoIiwiZmxvb3IiLCJyYW5kb20iLCJzZXRUaXRsZSIsInRpdGxlIiwic2V0VXJsIiwic2V0VGltZXN0YW1wIiwidGltZXN0YW1wIiwiRGF0ZSIsIm5vdyIsInRvSVNPU3RyaW5nIiwic2V0VGh1bWJuYWlsIiwidGh1bWJuYWlsIiwic2V0VmlkZW8iLCJ2aWRlbyIsInZhbGlkYXRlIiwidG90YWxDaGFyYWN0ZXJzIiwiZm9yRWFjaCIsInRyaW1tZWRUaXRsZSIsInRyaW0iLCJ0cmltbWVkRGVzY3JpcHRpb24iLCJmaWVsZEluZGV4IiwidHJpbW1lZE5hbWUiLCJ0cmltbWVkVmFsdWUiLCJ0cmltbWVkRm9vdGVyVGV4dCIsInRyaW1tZWRBdXRob3JOYW1lIl0sIm1hcHBpbmdzIjoiQUFVQTs7Ozs7Ozs7O0NBU0MsR0FDRCxPQUFPLE1BQU1BLHNCQUFzQkM7SUFDakMsQ0FBQSxpQkFBa0IsQ0FBWTtJQUU5Qjs7Ozs7OztHQU9DLEdBQ0RDLFNBQVNDLElBQVksRUFBRUMsS0FBYSxFQUFFQyxNQUFnQixFQUFRO1FBQzVELElBQUksSUFBSSxDQUFDLENBQUEsWUFBYSxDQUFDQyxNQUFNLEtBQUtDLFdBQVc7WUFDM0MsSUFBSSxDQUFDLENB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
|
package/dist/esm/images.js
CHANGED
|
@@ -105,6 +105,16 @@ export function avatarDecorationUrl(avatarDecoration) {
|
|
|
105
105
|
*/ export function memberAvatarUrl(guildId, userId, options) {
|
|
106
106
|
return options?.avatar ? formatImageUrl(`https://cdn.discordapp.com/guilds/${guildId}/users/${userId}/avatars/${typeof options.avatar === 'string' ? options.avatar : iconBigintToHash(options.avatar)}`, options?.size ?? 128, options?.format) : undefined;
|
|
107
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Builds a URL to a member's banner stored in the Discord CDN.
|
|
110
|
+
*
|
|
111
|
+
* @param guildId - The ID of the guild where the member is
|
|
112
|
+
* @param userId - The ID of the user to get the banner of.
|
|
113
|
+
* @param options - The parameters for the building of the URL.
|
|
114
|
+
* @returns The link to the resource or `undefined` if no banner has been set.
|
|
115
|
+
*/ export function memberBannerUrl(guildId, userId, options) {
|
|
116
|
+
return options?.banner ? formatImageUrl(`https://cdn.discordapp.com/guilds/${guildId}/users/${userId}/banners/${typeof options.banner === 'string' ? options.banner : iconBigintToHash(options.banner)}`, options?.size ?? 128, options?.format) : undefined;
|
|
117
|
+
}
|
|
108
118
|
/**
|
|
109
119
|
* Builds the URL to an application icon stored in the Discord CDN.
|
|
110
120
|
*
|
|
@@ -176,4 +186,4 @@ export function avatarDecorationUrl(avatarDecoration) {
|
|
|
176
186
|
return iconHash ? formatImageUrl(`https://cdn.discordapp.com/role-icons/${roleId}/${typeof iconHash === 'string' ? iconHash : iconBigintToHash(iconHash)}`, options?.size ?? 128, options?.format) : undefined;
|
|
177
187
|
}
|
|
178
188
|
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCaWdTdHJpbmcsIHR5cGUgR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5LCB0eXBlIEltYWdlRm9ybWF0LCB0eXBlIEltYWdlU2l6ZSwgU3RpY2tlckZvcm1hdFR5cGVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uQmlnaW50VG9IYXNoIH0gZnJvbSAnLi9oYXNoLmpzJ1xuXG4vKiogSGVscCBmb3JtYXQgYW4gaW1hZ2UgdXJsLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEltYWdlVXJsKHVybDogc3RyaW5nLCBzaXplOiBJbWFnZVNpemUgPSAxMjgsIGZvcm1hdD86IEltYWdlRm9ybWF0KTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3VybH0uJHtmb3JtYXQgPz8gKHVybC5pbmNsdWRlcygnL2FfJykgPyAnZ2lmJyA6ICdqcGcnKX0/c2l6ZT0ke3NpemV9YFxufVxuXG4vKipcbiAqIEdldCB0aGUgdXJsIGZvciBhbiBlbW9qaS5cbiAqXG4gKiBAcGFyYW0gZW1vamlJZCBUaGUgaWQgb2YgdGhlIGVtb2ppXG4gKiBAcGFyYW0gYW5pbWF0ZWQgV2hldGhlciBvciBub3QgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gKiBAcmV0dXJucyBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtb2ppVXJsKGVtb2ppSWQ6IEJpZ1N0cmluZywgYW5pbWF0ZWQgPSBmYWxzZSk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1vamlzLyR7ZW1vamlJZH0uJHthbmltYXRlZCA/ICdnaWYnIDogJ3BuZyd9YFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgLSBUaGUgdXNlcidzIGRpc2NyaW1pbmF0b3IuICg0LWRpZ2l0IHRhZyBhZnRlciB0aGUgaGFzaHRhZy4pXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIGRpc2NyaW1pbmF0b3I6IHN0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBhdmF0YXI6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZFxuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXJzLyR7dXNlcklkfS8ke3R5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1iZWQvYXZhdGFycy8ke2Rpc2NyaW1pbmF0b3IgPT09ICcwJyA/IChCaWdJbnQodXNlcklkKSA+PiBCaWdJbnQoMjIpKSAlIEJpZ0ludCg2KSA6IE51bWJlcihkaXNjcmltaW5hdG9yKSAlIDV9LnBuZ2Bcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhckRlY29yYXRpb25VcmwoYXZhdGFyRGVjb3JhdGlvbjogQmlnU3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXItZGVjb3JhdGlvbi1wcmVzZXRzLyR7XG4gICAgdHlwZW9mIGF2YXRhckRlY29yYXRpb24gPT09ICdzdHJpbmcnID8gYXZhdGFyRGVjb3JhdGlvbiA6IGljb25CaWdpbnRUb0hhc2goYXZhdGFyRGVjb3JhdGlvbilcbiAgfS5wbmdgXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIG5vdCBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhbm5lclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM/OiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYmFubmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Jhbm5lcnMvJHt1c2VySWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgYmFubmVyIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEJhbm5lclVybChcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zOiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke2d1aWxkSWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gdGhlIGd1aWxkIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSBiYW5uZXIgZm9yLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBldmVudCBjb3ZlciBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEljb25VcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2ljb25zLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBzcGxhc2ggc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBzcGxhc2ggb2YuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkU3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgZGlzY292ZXJ5IHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZGlzY292ZXJ5IHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9kaXNjb3Zlcnktc3BsYXNoZXMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNjaGVkdWxlZCBldmVudCBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBldmVudElkIC0gVGhlIElEIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgdG8gZ2V0IHRoZSBjb3ZlciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsKFxuICBldmVudElkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICBjb3Zlcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnMuY292ZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZ3VpbGQtZXZlbnRzLyR7ZXZlbnRJZH0vJHt0eXBlb2Ygb3B0aW9ucy5jb3ZlciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmNvdmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmNvdmVyKX1gLFxuICAgICAgICBvcHRpb25zLnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zLmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgd2lkZ2V0IGltYWdlIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgd2lkZ2V0IGltYWdlIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2lkZ2V0SW1hZ2VVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5KTogc3RyaW5nIHtcbiAgbGV0IHVybCA9IGBodHRwczovL2Rpc2NvcmRhcHAuY29tL2FwaS9ndWlsZHMvJHtndWlsZElkfS93aWRnZXQucG5nYFxuXG4gIGlmIChvcHRpb25zPy5zdHlsZSkge1xuICAgIHVybCArPSBgP3N0eWxlPSR7b3B0aW9ucy5zdHlsZX1gXG4gIH1cblxuICByZXR1cm4gdXJsXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYXZhdGFyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQXZhdGFyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIHVzZXJJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGF2YXRhcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYXZhdGFycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGljb24gb2YuXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkljb25VcmwoXG4gIGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGNvdmVyIG9mLlxuICogQHBhcmFtIGNvdmVySGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBjb3Zlci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Db3ZlclVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBjb3Zlckhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBjb3Zlckhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgY292ZXJIYXNoID09PSAnc3RyaW5nJyA/IGNvdmVySGFzaCA6IGljb25CaWdpbnRUb0hhc2goY292ZXJIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gYXNzZXQgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBhc3NldCBvZi5cbiAqIEBwYXJhbSBhc3NldElkIC0gVGhlIGlkIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBhc3NldC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Bc3NldFVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBhc3NldElkOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYXNzZXRJZFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBhc3NldElkID09PSAnc3RyaW5nJyA/IGFzc2V0SWQgOiBpY29uQmlnaW50VG9IYXNoKGFzc2V0SWQpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHN0aWNrZXIgcGFjayBiYW5uZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYmFubmVyQXNzZXRJZCAtIFRoZSBJRCBvZiB0aGUgYmFubmVyIGFzc2V0IGZvciB0aGUgc3RpY2tlciBwYWNrLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGlja2VyUGFja0Jhbm5lclVybChcbiAgYmFubmVyQXNzZXRJZDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGJhbm5lckFzc2V0SWRcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWFzc2V0cy83MTA5ODI0MTQzMDE3OTAyMTYvc3RvcmUvJHtcbiAgICAgICAgICB0eXBlb2YgYmFubmVyQXNzZXRJZCA9PT0gJ3N0cmluZycgPyBiYW5uZXJBc3NldElkIDogaWNvbkJpZ2ludFRvSGFzaChiYW5uZXJBc3NldElkKVxuICAgICAgICB9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgc3RpY2tlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBzdGlja2VySWQgLSBUaGUgSUQgb2YgdGhlIHN0aWNrZXIgdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0aWNrZXJVcmwoXG4gIHN0aWNrZXJJZDogQmlnU3RyaW5nIHwgbnVtYmVyLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICAgIHR5cGU/OiBTdGlja2VyRm9ybWF0VHlwZXNcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghc3RpY2tlcklkKSByZXR1cm5cblxuICBjb25zdCB1cmwgPVxuICAgIG9wdGlvbnM/LnR5cGUgPT09IFN0aWNrZXJGb3JtYXRUeXBlcy5HaWZcbiAgICAgID8gYGh0dHBzOi8vbWVkaWEuZGlzY29yZGFwcC5uZXQvc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuXG4gIHJldHVybiBmb3JtYXRJbWFnZVVybCh1cmwsIG9wdGlvbnM/LnNpemUgPz8gMTI4LCBvcHRpb25zPy5mb3JtYXQpXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSB0ZWFtIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdGVhbUlkIC0gVGhlIElEIG9mIHRoZSB0ZWFtIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHRlYW0gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVhbUljb25VcmwoXG4gIHRlYW1JZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3RlYW0taWNvbnMvJHt0ZWFtSWR9L3N0b3JlLyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgcm9sZSBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHJvbGVJZCAtIFRoZSBJRCBvZiB0aGUgcm9sZSB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIG9mIHRoZSByb2xlIGljb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvbGVJY29uVXJsKFxuICByb2xlSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9yb2xlLWljb25zLyR7cm9sZUlkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cbiJdLCJuYW1lcyI6WyJTdGlja2VyRm9ybWF0VHlwZXMiLCJpY29uQmlnaW50VG9IYXNoIiwiZm9ybWF0SW1hZ2VVcmwiLCJ1cmwiLCJzaXplIiwiZm9ybWF0IiwiaW5jbHVkZXMiLCJlbW9qaVVybCIsImVtb2ppSWQiLCJhbmltYXRlZCIsImF2YXRhclVybCIsInVzZXJJZCIsImRpc2NyaW1pbmF0b3IiLCJvcHRpb25zIiwiYXZhdGFyIiwiQmlnSW50IiwiTnVtYmVyIiwiYXZhdGFyRGVjb3JhdGlvblVybCIsImF2YXRhckRlY29yYXRpb24iLCJiYW5uZXJVcmwiLCJiYW5uZXIiLCJ1bmRlZmluZWQiLCJndWlsZEJhbm5lclVybCIsImd1aWxkSWQiLCJndWlsZEljb25VcmwiLCJpbWFnZUhhc2giLCJndWlsZFNwbGFzaFVybCIsImd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsIiwiZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsIiwiZXZlbnRJZCIsImNvdmVyIiwiZ2V0V2lkZ2V0SW1hZ2VVcmwiLCJzdHlsZSIsIm1lbWJlckF2YXRhclVybCIsImFwcGxpY2F0aW9uSWNvblVybCIsImFwcGxpY2F0aW9uSWQiLCJpY29uSGFzaCIsImFwcGxpY2F0aW9uQ292ZXJVcmwiLCJjb3Zlckhhc2giLCJhcHBsaWNhdGlvbkFzc2V0VXJsIiwiYXNzZXRJZCIsInN0aWNrZXJQYWNrQmFubmVyVXJsIiwiYmFubmVyQXNzZXRJZCIsInN0aWNrZXJVcmwiLCJzdGlja2VySWQiLCJ0eXBlIiwiR2lmIiwidGVhbUljb25VcmwiLCJ0ZWFtSWQiLCJyb2xlSWNvblVybCIsInJvbGVJZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBMEZBLGtCQUFrQixRQUFRLG9CQUFtQjtBQUN2SSxTQUFTQyxnQkFBZ0IsUUFBUSxZQUFXO0FBRTVDLDhCQUE4QixHQUM5QixPQUFPLFNBQVNDLGVBQWVDLEdBQVcsRUFBRUMsT0FBa0IsR0FBRyxFQUFFQyxNQUFv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
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbWFnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBCaWdTdHJpbmcsIHR5cGUgR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5LCB0eXBlIEltYWdlRm9ybWF0LCB0eXBlIEltYWdlU2l6ZSwgU3RpY2tlckZvcm1hdFR5cGVzIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uQmlnaW50VG9IYXNoIH0gZnJvbSAnLi9oYXNoLmpzJ1xuXG4vKiogSGVscCBmb3JtYXQgYW4gaW1hZ2UgdXJsLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEltYWdlVXJsKHVybDogc3RyaW5nLCBzaXplOiBJbWFnZVNpemUgPSAxMjgsIGZvcm1hdD86IEltYWdlRm9ybWF0KTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3VybH0uJHtmb3JtYXQgPz8gKHVybC5pbmNsdWRlcygnL2FfJykgPyAnZ2lmJyA6ICdqcGcnKX0/c2l6ZT0ke3NpemV9YFxufVxuXG4vKipcbiAqIEdldCB0aGUgdXJsIGZvciBhbiBlbW9qaS5cbiAqXG4gKiBAcGFyYW0gZW1vamlJZCBUaGUgaWQgb2YgdGhlIGVtb2ppXG4gKiBAcGFyYW0gYW5pbWF0ZWQgV2hldGhlciBvciBub3QgdGhlIGVtb2ppIGlzIGFuaW1hdGVkXG4gKiBAcmV0dXJucyBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtb2ppVXJsKGVtb2ppSWQ6IEJpZ1N0cmluZywgYW5pbWF0ZWQgPSBmYWxzZSk6IHN0cmluZyB7XG4gIHJldHVybiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1vamlzLyR7ZW1vamlJZH0uJHthbmltYXRlZCA/ICdnaWYnIDogJ3BuZyd9YFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byBhIHVzZXIncyBhdmF0YXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdXNlcklkIC0gVGhlIElEIG9mIHRoZSB1c2VyIHRvIGdldCB0aGUgYXZhdGFyIG9mLlxuICogQHBhcmFtIGRpc2NyaW1pbmF0b3IgLSBUaGUgdXNlcidzIGRpc2NyaW1pbmF0b3IuICg0LWRpZ2l0IHRhZyBhZnRlciB0aGUgaGFzaHRhZy4pXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIGRpc2NyaW1pbmF0b3I6IHN0cmluZyxcbiAgb3B0aW9ucz86IHtcbiAgICBhdmF0YXI6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZFxuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXJzLyR7dXNlcklkfS8ke3R5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZW1iZWQvYXZhdGFycy8ke2Rpc2NyaW1pbmF0b3IgPT09ICcwJyA/IChCaWdJbnQodXNlcklkKSA+PiBCaWdJbnQoMjIpKSAlIEJpZ0ludCg2KSA6IE51bWJlcihkaXNjcmltaW5hdG9yKSAlIDV9LnBuZ2Bcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF2YXRhckRlY29yYXRpb25VcmwoYXZhdGFyRGVjb3JhdGlvbjogQmlnU3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hdmF0YXItZGVjb3JhdGlvbi1wcmVzZXRzLyR7XG4gICAgdHlwZW9mIGF2YXRhckRlY29yYXRpb24gPT09ICdzdHJpbmcnID8gYXZhdGFyRGVjb3JhdGlvbiA6IGljb25CaWdpbnRUb0hhc2goYXZhdGFyRGVjb3JhdGlvbilcbiAgfS5wbmdgXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgdXNlcidzIGJhbm5lciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIG5vdCBiZWVuIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJhbm5lclVybChcbiAgdXNlcklkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM/OiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucz8uYmFubmVyXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2Jhbm5lcnMvJHt1c2VySWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgYmFubmVyIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEJhbm5lclVybChcbiAgZ3VpbGRJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zOiB7XG4gICAgYmFubmVyPzogQmlnU3RyaW5nXG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gb3B0aW9ucy5iYW5uZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYmFubmVycy8ke2d1aWxkSWR9LyR7dHlwZW9mIG9wdGlvbnMuYmFubmVyID09PSAnc3RyaW5nJyA/IG9wdGlvbnMuYmFubmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmJhbm5lcil9YCxcbiAgICAgICAgb3B0aW9ucy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSBVUkwgdG8gdGhlIGd1aWxkIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBsaW5rIHRvIHRoZSBiYW5uZXIgZm9yLlxuICogQHBhcmFtIGltYWdlSGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBldmVudCBjb3ZlciBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIG5vIGJhbm5lciBoYXMgYmVlbiBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBndWlsZEljb25VcmwoXG4gIGd1aWxkSWQ6IEJpZ1N0cmluZyxcbiAgaW1hZ2VIYXNoOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaW1hZ2VIYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL2ljb25zLyR7Z3VpbGRJZH0vJHt0eXBlb2YgaW1hZ2VIYXNoID09PSAnc3RyaW5nJyA/IGltYWdlSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaW1hZ2VIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSBndWlsZCBzcGxhc2ggc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gZ3VpbGRJZCAtIFRoZSBJRCBvZiB0aGUgZ3VpbGQgdG8gZ2V0IHRoZSBzcGxhc2ggb2YuXG4gKiBAcGFyYW0gaW1hZ2VIYXNoIC0gVGhlIGhhc2ggaWRlbnRpZnlpbmcgdGhlIHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkU3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9zcGxhc2hlcy8ke2d1aWxkSWR9LyR7dHlwZW9mIGltYWdlSGFzaCA9PT0gJ3N0cmluZycgPyBpbWFnZUhhc2ggOiBpY29uQmlnaW50VG9IYXNoKGltYWdlSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgZ3VpbGQgZGlzY292ZXJ5IHNwbGFzaCBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBndWlsZElkIC0gVGhlIElEIG9mIHRoZSBndWlsZCB0byBnZXQgdGhlIHNwbGFzaCBvZi5cbiAqIEBwYXJhbSBpbWFnZUhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgZGlzY292ZXJ5IHNwbGFzaCBpbWFnZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBndWlsZCBkb2VzIG5vdCBoYXZlIGEgc3BsYXNoIGltYWdlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIGltYWdlSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGltYWdlSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9kaXNjb3Zlcnktc3BsYXNoZXMvJHtndWlsZElkfS8ke3R5cGVvZiBpbWFnZUhhc2ggPT09ICdzdHJpbmcnID8gaW1hZ2VIYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpbWFnZUhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIGd1aWxkIHNjaGVkdWxlZCBldmVudCBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBldmVudElkIC0gVGhlIElEIG9mIHRoZSBzY2hlZHVsZWQgZXZlbnQgdG8gZ2V0IHRoZSBjb3ZlciBvZi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsKFxuICBldmVudElkOiBCaWdTdHJpbmcsXG4gIG9wdGlvbnM6IHtcbiAgICBjb3Zlcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnMuY292ZXJcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vZ3VpbGQtZXZlbnRzLyR7ZXZlbnRJZH0vJHt0eXBlb2Ygb3B0aW9ucy5jb3ZlciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmNvdmVyIDogaWNvbkJpZ2ludFRvSGFzaChvcHRpb25zLmNvdmVyKX1gLFxuICAgICAgICBvcHRpb25zLnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zLmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyBhIFVSTCB0byB0aGUgZ3VpbGQgd2lkZ2V0IGltYWdlIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHRvIGdldCB0aGUgbGluayB0byB0aGUgd2lkZ2V0IGltYWdlIGZvci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2lkZ2V0SW1hZ2VVcmwoZ3VpbGRJZDogQmlnU3RyaW5nLCBvcHRpb25zPzogR2V0R3VpbGRXaWRnZXRJbWFnZVF1ZXJ5KTogc3RyaW5nIHtcbiAgbGV0IHVybCA9IGBodHRwczovL2Rpc2NvcmRhcHAuY29tL2FwaS9ndWlsZHMvJHtndWlsZElkfS93aWRnZXQucG5nYFxuXG4gIGlmIChvcHRpb25zPy5zdHlsZSkge1xuICAgIHVybCArPSBgP3N0eWxlPSR7b3B0aW9ucy5zdHlsZX1gXG4gIH1cblxuICByZXR1cm4gdXJsXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYXZhdGFyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBhdmF0YXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQXZhdGFyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIHVzZXJJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGF2YXRhcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmF2YXRhclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYXZhdGFycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmF2YXRhciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmF2YXRhciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5hdmF0YXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIGEgVVJMIHRvIGEgbWVtYmVyJ3MgYmFubmVyIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIGd1aWxkSWQgLSBUaGUgSUQgb2YgdGhlIGd1aWxkIHdoZXJlIHRoZSBtZW1iZXIgaXNcbiAqIEBwYXJhbSB1c2VySWQgLSBUaGUgSUQgb2YgdGhlIHVzZXIgdG8gZ2V0IHRoZSBiYW5uZXIgb2YuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYCBpZiBubyBiYW5uZXIgaGFzIGJlZW4gc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVtYmVyQmFubmVyVXJsKFxuICBndWlsZElkOiBCaWdTdHJpbmcsXG4gIHVzZXJJZDogQmlnU3RyaW5nLFxuICBvcHRpb25zPzoge1xuICAgIGJhbm5lcj86IEJpZ1N0cmluZ1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIG9wdGlvbnM/LmJhbm5lclxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9ndWlsZHMvJHtndWlsZElkfS91c2Vycy8ke3VzZXJJZH0vYmFubmVycy8ke1xuICAgICAgICAgIHR5cGVvZiBvcHRpb25zLmJhbm5lciA9PT0gJ3N0cmluZycgPyBvcHRpb25zLmJhbm5lciA6IGljb25CaWdpbnRUb0hhc2gob3B0aW9ucy5iYW5uZXIpXG4gICAgICAgIH1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gaWNvbiBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGljb24gb2YuXG4gKiBAcGFyYW0gaWNvbkhhc2ggLSBUaGUgaGFzaCBpZGVudGlmeWluZyB0aGUgYXBwbGljYXRpb24gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBsaWNhdGlvbkljb25VcmwoXG4gIGFwcGxpY2F0aW9uSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhbiBhcHBsaWNhdGlvbiBjb3ZlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBhcHBsaWNhdGlvbklkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBnZXQgdGhlIGNvdmVyIG9mLlxuICogQHBhcmFtIGNvdmVySGFzaCAtIFRoZSBoYXNoIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBjb3Zlci5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Db3ZlclVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBjb3Zlckhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBjb3Zlckhhc2hcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWljb25zLyR7YXBwbGljYXRpb25JZH0vJHt0eXBlb2YgY292ZXJIYXNoID09PSAnc3RyaW5nJyA/IGNvdmVySGFzaCA6IGljb25CaWdpbnRUb0hhc2goY292ZXJIYXNoKX1gLFxuICAgICAgICBvcHRpb25zPy5zaXplID8/IDEyOCxcbiAgICAgICAgb3B0aW9ucz8uZm9ybWF0LFxuICAgICAgKVxuICAgIDogdW5kZWZpbmVkXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYW4gYXBwbGljYXRpb24gYXNzZXQgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYXBwbGljYXRpb25JZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gdG8gZ2V0IHRoZSBhc3NldCBvZi5cbiAqIEBwYXJhbSBhc3NldElkIC0gVGhlIGlkIGlkZW50aWZ5aW5nIHRoZSBhcHBsaWNhdGlvbiBhc3NldC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwbGljYXRpb25Bc3NldFVybChcbiAgYXBwbGljYXRpb25JZDogQmlnU3RyaW5nLFxuICBhc3NldElkOiBCaWdTdHJpbmcgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM/OiB7XG4gICAgc2l6ZT86IEltYWdlU2l6ZVxuICAgIGZvcm1hdD86IEltYWdlRm9ybWF0XG4gIH0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gYXNzZXRJZFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9hcHAtaWNvbnMvJHthcHBsaWNhdGlvbklkfS8ke3R5cGVvZiBhc3NldElkID09PSAnc3RyaW5nJyA/IGFzc2V0SWQgOiBpY29uQmlnaW50VG9IYXNoKGFzc2V0SWQpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIFVSTCB0byBhIHN0aWNrZXIgcGFjayBiYW5uZXIgc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gYmFubmVyQXNzZXRJZCAtIFRoZSBJRCBvZiB0aGUgYmFubmVyIGFzc2V0IGZvciB0aGUgc3RpY2tlciBwYWNrLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGJ1aWxkaW5nIG9mIHRoZSBVUkwuXG4gKiBAcmV0dXJucyBUaGUgbGluayB0byB0aGUgcmVzb3VyY2Ugb3IgYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGlja2VyUGFja0Jhbm5lclVybChcbiAgYmFubmVyQXNzZXRJZDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGJhbm5lckFzc2V0SWRcbiAgICA/IGZvcm1hdEltYWdlVXJsKFxuICAgICAgICBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vYXBwLWFzc2V0cy83MTA5ODI0MTQzMDE3OTAyMTYvc3RvcmUvJHtcbiAgICAgICAgICB0eXBlb2YgYmFubmVyQXNzZXRJZCA9PT0gJ3N0cmluZycgPyBiYW5uZXJBc3NldElkIDogaWNvbkJpZ2ludFRvSGFzaChiYW5uZXJBc3NldElkKVxuICAgICAgICB9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgc3RpY2tlciBzdG9yZWQgaW4gdGhlIERpc2NvcmQgQ0ROLlxuICpcbiAqIEBwYXJhbSBzdGlja2VySWQgLSBUaGUgSUQgb2YgdGhlIHN0aWNrZXIgdG8gZ2V0IHRoZSBpY29uIG9mXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0aWNrZXJVcmwoXG4gIHN0aWNrZXJJZDogQmlnU3RyaW5nIHwgbnVtYmVyLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICAgIHR5cGU/OiBTdGlja2VyRm9ybWF0VHlwZXNcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmICghc3RpY2tlcklkKSByZXR1cm5cblxuICBjb25zdCB1cmwgPVxuICAgIG9wdGlvbnM/LnR5cGUgPT09IFN0aWNrZXJGb3JtYXRUeXBlcy5HaWZcbiAgICAgID8gYGh0dHBzOi8vbWVkaWEuZGlzY29yZGFwcC5uZXQvc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgICAgOiBgaHR0cHM6Ly9jZG4uZGlzY29yZGFwcC5jb20vc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuXG4gIHJldHVybiBmb3JtYXRJbWFnZVVybCh1cmwsIG9wdGlvbnM/LnNpemUgPz8gMTI4LCBvcHRpb25zPy5mb3JtYXQpXG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBVUkwgdG8gYSB0ZWFtIGljb24gc3RvcmVkIGluIHRoZSBEaXNjb3JkIENETi5cbiAqXG4gKiBAcGFyYW0gdGVhbUlkIC0gVGhlIElEIG9mIHRoZSB0ZWFtIHRvIGdldCB0aGUgaWNvbiBvZlxuICogQHBhcmFtIGljb25IYXNoIC0gVGhlIGhhc2ggb2YgdGhlIHRlYW0gaWNvbi5cbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgVVJMLlxuICogQHJldHVybnMgVGhlIGxpbmsgdG8gdGhlIHJlc291cmNlIG9yIGB1bmRlZmluZWRgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVhbUljb25VcmwoXG4gIHRlYW1JZDogQmlnU3RyaW5nLFxuICBpY29uSGFzaDogQmlnU3RyaW5nIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zPzoge1xuICAgIHNpemU/OiBJbWFnZVNpemVcbiAgICBmb3JtYXQ/OiBJbWFnZUZvcm1hdFxuICB9LFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGljb25IYXNoXG4gICAgPyBmb3JtYXRJbWFnZVVybChcbiAgICAgICAgYGh0dHBzOi8vY2RuLmRpc2NvcmRhcHAuY29tL3RlYW0taWNvbnMvJHt0ZWFtSWR9L3N0b3JlLyR7dHlwZW9mIGljb25IYXNoID09PSAnc3RyaW5nJyA/IGljb25IYXNoIDogaWNvbkJpZ2ludFRvSGFzaChpY29uSGFzaCl9YCxcbiAgICAgICAgb3B0aW9ucz8uc2l6ZSA/PyAxMjgsXG4gICAgICAgIG9wdGlvbnM/LmZvcm1hdCxcbiAgICAgIClcbiAgICA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgVVJMIHRvIGEgcm9sZSBpY29uIHN0b3JlZCBpbiB0aGUgRGlzY29yZCBDRE4uXG4gKlxuICogQHBhcmFtIHJvbGVJZCAtIFRoZSBJRCBvZiB0aGUgcm9sZSB0byBnZXQgdGhlIGljb24gb2ZcbiAqIEBwYXJhbSBpY29uSGFzaCAtIFRoZSBoYXNoIG9mIHRoZSByb2xlIGljb24uXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgYnVpbGRpbmcgb2YgdGhlIFVSTC5cbiAqIEByZXR1cm5zIFRoZSBsaW5rIHRvIHRoZSByZXNvdXJjZSBvciBgdW5kZWZpbmVkYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvbGVJY29uVXJsKFxuICByb2xlSWQ6IEJpZ1N0cmluZyxcbiAgaWNvbkhhc2g6IEJpZ1N0cmluZyB8IHVuZGVmaW5lZCxcbiAgb3B0aW9ucz86IHtcbiAgICBzaXplPzogSW1hZ2VTaXplXG4gICAgZm9ybWF0PzogSW1hZ2VGb3JtYXRcbiAgfSxcbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBpY29uSGFzaFxuICAgID8gZm9ybWF0SW1hZ2VVcmwoXG4gICAgICAgIGBodHRwczovL2Nkbi5kaXNjb3JkYXBwLmNvbS9yb2xlLWljb25zLyR7cm9sZUlkfS8ke3R5cGVvZiBpY29uSGFzaCA9PT0gJ3N0cmluZycgPyBpY29uSGFzaCA6IGljb25CaWdpbnRUb0hhc2goaWNvbkhhc2gpfWAsXG4gICAgICAgIG9wdGlvbnM/LnNpemUgPz8gMTI4LFxuICAgICAgICBvcHRpb25zPy5mb3JtYXQsXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcbn1cbiJdLCJuYW1lcyI6WyJTdGlja2VyRm9ybWF0VHlwZXMiLCJpY29uQmlnaW50VG9IYXNoIiwiZm9ybWF0SW1hZ2VVcmwiLCJ1cmwiLCJzaXplIiwiZm9ybWF0IiwiaW5jbHVkZXMiLCJlbW9qaVVybCIsImVtb2ppSWQiLCJhbmltYXRlZCIsImF2YXRhclVybCIsInVzZXJJZCIsImRpc2NyaW1pbmF0b3IiLCJvcHRpb25zIiwiYXZhdGFyIiwiQmlnSW50IiwiTnVtYmVyIiwiYXZhdGFyRGVjb3JhdGlvblVybCIsImF2YXRhckRlY29yYXRpb24iLCJiYW5uZXJVcmwiLCJiYW5uZXIiLCJ1bmRlZmluZWQiLCJndWlsZEJhbm5lclVybCIsImd1aWxkSWQiLCJndWlsZEljb25VcmwiLCJpbWFnZUhhc2giLCJndWlsZFNwbGFzaFVybCIsImd1aWxkRGlzY292ZXJ5U3BsYXNoVXJsIiwiZ3VpbGRTY2hlZHVsZWRFdmVudENvdmVyVXJsIiwiZXZlbnRJZCIsImNvdmVyIiwiZ2V0V2lkZ2V0SW1hZ2VVcmwiLCJzdHlsZSIsIm1lbWJlckF2YXRhclVybCIsIm1lbWJlckJhbm5lclVybCIsImFwcGxpY2F0aW9uSWNvblVybCIsImFwcGxpY2F0aW9uSWQiLCJpY29uSGFzaCIsImFwcGxpY2F0aW9uQ292ZXJVcmwiLCJjb3Zlckhhc2giLCJhcHBsaWNhdGlvbkFzc2V0VXJsIiwiYXNzZXRJZCIsInN0aWNrZXJQYWNrQmFubmVyVXJsIiwiYmFubmVyQXNzZXRJZCIsInN0aWNrZXJVcmwiLCJzdGlja2VySWQiLCJ0eXBlIiwiR2lmIiwidGVhbUljb25VcmwiLCJ0ZWFtSWQiLCJyb2xlSWNvblVybCIsInJvbGVJZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBMEZBLGtCQUFrQixRQUFRLG9CQUFtQjtBQUN2SSxTQUFTQyxnQkFBZ0IsUUFBUSxZQUFXO0FBRTVDLDhCQUE4QixHQUM5QixPQUFPLFNBQVNDLGVBQWVDLEdBQVcsRUFBRUMsT0FBa0IsR0FBRyxFQUFFQyxNQUFvQjtJQUNyRixP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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeds.d.ts","sourceRoot":"","sources":["../../../src/builders/embeds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,YAAY,CAAC;;IAGpD;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAc7D;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAU5C;;;;OAIG;IACH,QAAQ,IAAI,IAAI;IAWhB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,IAAI;IAUzE;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"embeds.d.ts","sourceRoot":"","sources":["../../../src/builders/embeds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,mBAAmB,CAAA;AAE1B;;;;;;;;;GASG;AACH,qBAAa,aAAc,SAAQ,KAAK,CAAC,YAAY,CAAC;;IAGpD;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAc7D;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAU5C;;;;OAIG;IACH,QAAQ,IAAI,IAAI;IAWhB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,IAAI;IAUzE;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAetC;;;;;;;OAOG;IACH,eAAe,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBrC;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMzC;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAM5C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,IAAI;IAUzE;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,IAAI;IAUrE;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAS7C;;;;OAIG;IACH,cAAc,IAAI,IAAI;IAItB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAU3C;;;;;OAKG;IACH,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IAMtD;;;;;;OAMG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG,IAAI;IAU7E;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAMzB;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,IAAI;IAUrE;;;;OAIG;IACH,QAAQ,IAAI,IAAI;CA4FjB"}
|
package/dist/types/images.d.ts
CHANGED
|
@@ -116,6 +116,19 @@ export declare function memberAvatarUrl(guildId: BigString, userId: BigString, o
|
|
|
116
116
|
size?: ImageSize;
|
|
117
117
|
format?: ImageFormat;
|
|
118
118
|
}): string | undefined;
|
|
119
|
+
/**
|
|
120
|
+
* Builds a URL to a member's banner stored in the Discord CDN.
|
|
121
|
+
*
|
|
122
|
+
* @param guildId - The ID of the guild where the member is
|
|
123
|
+
* @param userId - The ID of the user to get the banner of.
|
|
124
|
+
* @param options - The parameters for the building of the URL.
|
|
125
|
+
* @returns The link to the resource or `undefined` if no banner has been set.
|
|
126
|
+
*/
|
|
127
|
+
export declare function memberBannerUrl(guildId: BigString, userId: BigString, options?: {
|
|
128
|
+
banner?: BigString;
|
|
129
|
+
size?: ImageSize;
|
|
130
|
+
format?: ImageFormat;
|
|
131
|
+
}): string | undefined;
|
|
119
132
|
/**
|
|
120
133
|
* Builds the URL to an application icon stored in the Discord CDN.
|
|
121
134
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/images.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/images.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@discordeno/utils",
|
|
3
|
-
"version": "21.0.0-next.
|
|
3
|
+
"version": "21.0.0-next.d8cfccb",
|
|
4
4
|
"main": "./dist/esm/index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
"import": "./dist/esm/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"test:test-type": "tsc --project tests/tsconfig.json"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@discordeno/types": "21.0.0-next.
|
|
32
|
+
"@discordeno/types": "21.0.0-next.d8cfccb"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@biomejs/biome": "^1.9.4",
|