@bitgo-beta/sdk-core 8.2.1-beta.1143 → 8.2.1-beta.1145

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.
@@ -7,6 +7,7 @@ export declare enum MessageStandardType {
7
7
  UNKNOWN = "UNKNOWN",
8
8
  SIMPLE = "SIMPLE",
9
9
  EIP191 = "EIP191",
10
+ EIP712 = "EIP712",
10
11
  CIP8 = "CIP8"
11
12
  }
12
13
  export type MessagePayload = string;
@@ -1 +1 @@
1
- {"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/messageTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB"}
1
+ {"version":3,"file":"messageTypes.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/utils/messageTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AACpC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB"}
@@ -9,6 +9,7 @@ var MessageStandardType;
9
9
  MessageStandardType["UNKNOWN"] = "UNKNOWN";
10
10
  MessageStandardType["SIMPLE"] = "SIMPLE";
11
11
  MessageStandardType["EIP191"] = "EIP191";
12
+ MessageStandardType["EIP712"] = "EIP712";
12
13
  MessageStandardType["CIP8"] = "CIP8";
13
14
  })(MessageStandardType || (exports.MessageStandardType = MessageStandardType = {}));
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL21lc3NhZ2VUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQTs7R0FFRztBQUNILElBQVksbUJBS1g7QUFMRCxXQUFZLG1CQUFtQjtJQUM3QiwwQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxXLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBSzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgU2VyaWFsaXplZFNpZ25hdHVyZSwgU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vYWNjb3VudC1saWInO1xuXG4vKipcbiAqIFN1cHBvcnRlZCBtZXNzYWdlIHNpZ25pbmcgc3RhbmRhcmQgdHlwZXNcbiAqL1xuZXhwb3J0IGVudW0gTWVzc2FnZVN0YW5kYXJkVHlwZSB7XG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG4gIFNJTVBMRSA9ICdTSU1QTEUnLFxuICBFSVAxOTEgPSAnRUlQMTkxJyxcbiAgQ0lQOCA9ICdDSVA4Jyxcbn1cblxuZXhwb3J0IHR5cGUgTWVzc2FnZVBheWxvYWQgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBNZXNzYWdlTWV0YWRhdGEgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuLyoqXG4gKiBGb3JtYXQgZm9yIGJyb2FkY2FzdGluZyBhIHNpZ25lZCBtZXNzYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnJvYWRjYXN0YWJsZU1lc3NhZ2Uge1xuICB0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICBwYXlsb2FkOiBNZXNzYWdlUGF5bG9hZDtcbiAgc2lnbmFibGVQYXlsb2FkPzogc3RyaW5nO1xuICBzZXJpYWxpemVkU2lnbmF0dXJlcz86IFNlcmlhbGl6ZWRTaWduYXR1cmVbXTtcbiAgc2lnbmVycz86IHN0cmluZ1tdOyAvLyBsaXN0IG9mIGFkZHJlc3NlcyBvciBwdWJsaWMga2V5cyBvZiB0aGUgc2lnbmVyc1xuICBtZXRhZGF0YT86IE1lc3NhZ2VNZXRhZGF0YTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHRvIGNyZWF0ZSBhIG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlT3B0aW9ucyB7XG4gIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+O1xuICBwYXlsb2FkOiBNZXNzYWdlUGF5bG9hZDtcbiAgdHlwZT86IE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG4gIHNpZ25hYmxlUGF5bG9hZD86IHN0cmluZyB8IEJ1ZmZlcjtcbiAgbWV0YWRhdGE/OiBNZXNzYWdlTWV0YWRhdGE7XG4gIHNpZ25hdHVyZXM/OiBTaWduYXR1cmVbXTtcbiAgc2lnbmVycz86IHN0cmluZ1tdO1xufVxuIl19
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZVR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2JpdGdvL3V0aWxzL21lc3NhZ2VUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQTs7R0FFRztBQUNILElBQVksbUJBTVg7QUFORCxXQUFZLG1CQUFtQjtJQUM3QiwwQ0FBbUIsQ0FBQTtJQUNuQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBTTlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgU2VyaWFsaXplZFNpZ25hdHVyZSwgU2lnbmF0dXJlIH0gZnJvbSAnLi4vLi4vYWNjb3VudC1saWInO1xuXG4vKipcbiAqIFN1cHBvcnRlZCBtZXNzYWdlIHNpZ25pbmcgc3RhbmRhcmQgdHlwZXNcbiAqL1xuZXhwb3J0IGVudW0gTWVzc2FnZVN0YW5kYXJkVHlwZSB7XG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG4gIFNJTVBMRSA9ICdTSU1QTEUnLFxuICBFSVAxOTEgPSAnRUlQMTkxJyxcbiAgRUlQNzEyID0gJ0VJUDcxMicsXG4gIENJUDggPSAnQ0lQOCcsXG59XG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2VQYXlsb2FkID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgTWVzc2FnZU1ldGFkYXRhID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbi8qKlxuICogRm9ybWF0IGZvciBicm9hZGNhc3RpbmcgYSBzaWduZWQgbWVzc2FnZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJyb2FkY2FzdGFibGVNZXNzYWdlIHtcbiAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZTtcbiAgcGF5bG9hZDogTWVzc2FnZVBheWxvYWQ7XG4gIHNpZ25hYmxlUGF5bG9hZD86IHN0cmluZztcbiAgc2VyaWFsaXplZFNpZ25hdHVyZXM/OiBTZXJpYWxpemVkU2lnbmF0dXJlW107XG4gIHNpZ25lcnM/OiBzdHJpbmdbXTsgLy8gbGlzdCBvZiBhZGRyZXNzZXMgb3IgcHVibGljIGtleXMgb2YgdGhlIHNpZ25lcnNcbiAgbWV0YWRhdGE/OiBNZXNzYWdlTWV0YWRhdGE7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBjcmVhdGUgYSBtZXNzYWdlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZU9wdGlvbnMge1xuICBjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPjtcbiAgcGF5bG9hZDogTWVzc2FnZVBheWxvYWQ7XG4gIHR5cGU/OiBNZXNzYWdlU3RhbmRhcmRUeXBlO1xuICBzaWduYWJsZVBheWxvYWQ/OiBzdHJpbmcgfCBCdWZmZXI7XG4gIG1ldGFkYXRhPzogTWVzc2FnZU1ldGFkYXRhO1xuICBzaWduYXR1cmVzPzogU2lnbmF0dXJlW107XG4gIHNpZ25lcnM/OiBzdHJpbmdbXTtcbn1cbiJdfQ==
@@ -30,6 +30,7 @@ export declare class MidnightMessageProvider implements IMessageProvider {
30
30
  protected midnightClaimUrl: string;
31
31
  protected prevId: string | undefined;
32
32
  protected ranOnce: boolean;
33
+ private readonly numMessagesPerTransaction;
33
34
  constructor(wallet: IWallet, destinationAddress: string);
34
35
  getMessagesAndAddressesToSign(): Promise<MessageInfo[]>;
35
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utxoMessageProof.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/walletUtil/utxoMessageProof.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,eAAO,MAAM,iBAAiB,qEAAqE,CAAC;AAEpG,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,6BAA6B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACzD;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAMlD,OAAO,CAAC,MAAM;IAAW,OAAO,CAAC,kBAAkB;IAL/D,SAAS,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;IAClD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACnC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,OAAO,UAAS;gBACN,MAAM,EAAE,OAAO,EAAU,kBAAkB,EAAE,MAAM;IAQjE,6BAA6B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAsC9D;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,OAAO,EACf,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}
1
+ {"version":3,"file":"utxoMessageProof.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/walletUtil/utxoMessageProof.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,eAAO,MAAM,iBAAiB,qEAAqE,CAAC;AAEpG,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,6BAA6B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACzD;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAQlD,OAAO,CAAC,MAAM;IAAW,OAAO,CAAC,kBAAkB;IAP/D,SAAS,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC;IAClD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACnC,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,SAAS,CAAC,OAAO,UAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAE/B,MAAM,EAAE,OAAO,EAAU,kBAAkB,EAAE,MAAM;IASjE,6BAA6B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAsC9D;AAED;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,OAAO,EACf,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}
@@ -37,7 +37,6 @@ exports.MidnightMessageProvider = exports.MIDNIGHT_TNC_HASH = void 0;
37
37
  exports.bulkSignBip322MidnightMessages = bulkSignBip322MidnightMessages;
38
38
  const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
39
  const environments_1 = require("../environments");
40
- const NUM_MESSAGES_PER_TRANSACTION = 2;
41
40
  const NUM_MESSAGES_PER_QUERY = 1000;
42
41
  exports.MIDNIGHT_TNC_HASH = '31a6bab50a84b8439adcfb786bb2020f6807e6e8fda629b424110fc7bb1c6b8b';
43
42
  /**
@@ -53,10 +52,11 @@ class MidnightMessageProvider {
53
52
  this.unprocessedMessagesCache = [];
54
53
  this.network = utxolib.networks[wallet.coin()];
55
54
  this.midnightClaimUrl = `${environments_1.Environments[wallet.bitgo.env].uri}/api/airdrop-claim/v1/midnight/claims/${wallet.coin()}/${wallet.id()}`;
55
+ this.numMessagesPerTransaction = wallet.bitgo.env === 'prod' ? 200 : 4;
56
56
  }
57
57
  async getMessagesAndAddressesToSign() {
58
58
  if (this.unprocessedMessagesCache.length > 0) {
59
- return this.unprocessedMessagesCache.splice(0, NUM_MESSAGES_PER_TRANSACTION);
59
+ return this.unprocessedMessagesCache.splice(0, this.numMessagesPerTransaction);
60
60
  }
61
61
  else if (this.unprocessedMessagesCache.length === 0 && this.ranOnce && this.prevId === undefined) {
62
62
  return [];
@@ -89,7 +89,7 @@ class MidnightMessageProvider {
89
89
  address: claim.originAddress,
90
90
  };
91
91
  });
92
- const toReturn = this.unprocessedMessagesCache.splice(0, NUM_MESSAGES_PER_TRANSACTION);
92
+ const toReturn = this.unprocessedMessagesCache.splice(0, this.numMessagesPerTransaction);
93
93
  return toReturn;
94
94
  }
95
95
  }
@@ -127,4 +127,4 @@ async function bulkSignBip322MessagesWithProvider(provider, wallet, walletPassph
127
127
  }
128
128
  return { success: true, numMessages, transactions };
129
129
  }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXR4b01lc3NhZ2VQcm9vZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXRVdGlsL3V0eG9NZXNzYWdlUHJvb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0dBLHdFQU9DO0FBM0dELDhEQUFnRDtBQUdoRCxrREFBK0M7QUFFL0MsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLENBQUM7QUFDdkMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFDdkIsUUFBQSxpQkFBaUIsR0FBRyxrRUFBa0UsQ0FBQztBQTRCcEc7Ozs7R0FJRztBQUNILE1BQWEsdUJBQXVCO0lBTWxDLFlBQW9CLE1BQWUsRUFBVSxrQkFBMEI7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUQ3RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXhCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUN0QiwyQkFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDakMseUNBQXlDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsS0FBSyxDQUFDLDZCQUE2QjtRQUNqQyxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBQy9FLENBQUM7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LE9BQU8sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMzQixvQ0FBb0M7UUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoRCxRQUFRO1lBQ1IsMkJBQTJCO1lBQzNCLFVBQVUsRUFBRSxFQUFFO1lBQ2Qsd0JBQXdCO1lBQ3hCLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLHlDQUF5QztZQUN6QyxnQkFBZ0I7WUFDaEIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLE1BQU07U0FDOUMsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQixXQUFXLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMvQixRQUFRLEdBQUcsTUFBTSxRQUFRLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBQ0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uL3dhbGxldC9pV2FsbGV0JztcbmltcG9ydCB7IEVudmlyb25tZW50cyB9IGZyb20gJy4uL2Vudmlyb25tZW50cyc7XG5cbmNvbnN0IE5VTV9NRVNTQUdFU19QRVJfVFJBTlNBQ1RJT04gPSAyO1xuY29uc3QgTlVNX01FU1NBR0VTX1BFUl9RVUVSWSA9IDEwMDA7XG5leHBvcnQgY29uc3QgTUlETklHSFRfVE5DX0hBU0ggPSAnMzFhNmJhYjUwYTg0Yjg0MzlhZGNmYjc4NmJiMjAyMGY2ODA3ZTZlOGZkYTYyOWI0MjQxMTBmYzdiYjFjNmI4Yic7XG5cbnR5cGUgTWVzc2FnZUluZm8gPSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgYWRkcmVzczogc3RyaW5nO1xufTtcblxudHlwZSBDbGFpbSA9IHtcbiAgb3JpZ2luV2FsbGV0SWQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIG9yaWdpbkFkZHJlc3M/OiBzdHJpbmc7XG4gIGFsbG9jYXRpb25BbW91bnQ6IHN0cmluZztcbn07XG5cbnR5cGUgQnVsa01lc3NhZ2VSZXNwb25zZSA9IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgbnVtTWVzc2FnZXM6IG51bWJlcjtcbiAgdHJhbnNhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTWVzc2FnZVByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1lc3NhZ2VzIGFuZCBhZGRyZXNzZXMgdGhhdCB3ZSB3YW50IHRvIHNpZ24uIFdlIGNhbGwgdGhpcyBmdW5jdGlvbiBtdWx0aXBsZSB0aW1lcyB1bnRpbCB0aGVyZSBhcmUgbm8gbW9yZVxuICAgKiBtZXNzYWdlcy4gSWYgdGhlcmUgYXJlIG5vIG1vcmUgbWVzc2FnZXMsIGFuIGVtcHR5IGFycmF5IGlzIHJldHVybmVkLiBOb3RlIHRoYXQgd2Ugb25seSByZXR1cm4gbWVzc2FnZXMgaW4gc2V0cyBvZiAyMDAuXG4gICAqL1xuICBnZXRNZXNzYWdlc0FuZEFkZHJlc3Nlc1RvU2lnbigpOiBQcm9taXNlPE1lc3NhZ2VJbmZvW10+O1xufVxuXG4vKipcbiAqIFRoZSBNaWRuaWdodCBkcm9wIHNlcnZpY2UgY2FuIHJldHVybiB1cCB0byAxMDAwIG1lc3NhZ2VzIHBlciByZXF1ZXN0LiBIb3dldmVyLCBVVFhPIGNvaW5zXG4gKiBjYW4gb25seSBoYXZlIGEgbWF4aW11bSBvZiAyMDAgbWVzc2FnZXMgcGVyIHRyYW5zYWN0aW9uLiBXZSBtYWtlIHRoaXMgd3JhcHBlciBmdW5jdGlvbiB0aGF0XG4gKiBoYW5kbGVzIHRoZSBwYWdpbmF0aW9uIGFuZCBiYXRjaGluZyBvZiBtZXNzYWdlcywga2VlcGluZyBhIGxvY2FsIGNhY2hlIG9mIHRoZSB1bnByb2Nlc3NlZCBtZXNzYWdlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1pZG5pZ2h0TWVzc2FnZVByb3ZpZGVyIGltcGxlbWVudHMgSU1lc3NhZ2VQcm92aWRlciB7XG4gIHByb3RlY3RlZCB1bnByb2Nlc3NlZE1lc3NhZ2VzQ2FjaGU6IE1lc3NhZ2VJbmZvW107XG4gIHByb3RlY3RlZCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcms7XG4gIHByb3RlY3RlZCBtaWRuaWdodENsYWltVXJsOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBwcmV2SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIHJhbk9uY2UgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3YWxsZXQ6IElXYWxsZXQsIHByaXZhdGUgZGVzdGluYXRpb25BZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVucHJvY2Vzc2VkTWVzc2FnZXNDYWNoZSA9IFtdO1xuICAgIHRoaXMubmV0d29yayA9IHV0eG9saWIubmV0d29ya3Nbd2FsbGV0LmNvaW4oKV07XG4gICAgdGhpcy5taWRuaWdodENsYWltVXJsID0gYCR7XG4gICAgICBFbnZpcm9ubWVudHNbd2FsbGV0LmJpdGdvLmVudl0udXJpXG4gICAgfS9hcGkvYWlyZHJvcC1jbGFpbS92MS9taWRuaWdodC9jbGFpbXMvJHt3YWxsZXQuY29pbigpfS8ke3dhbGxldC5pZCgpfWA7XG4gIH1cblxuICBhc3luYyBnZXRNZXNzYWdlc0FuZEFkZHJlc3Nlc1RvU2lnbigpOiBQcm9taXNlPE1lc3NhZ2VJbmZvW10+IHtcbiAgICBpZiAodGhpcy51bnByb2Nlc3NlZE1lc3NhZ2VzQ2FjaGUubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMudW5wcm9jZXNzZWRNZXNzYWdlc0NhY2hlLnNwbGljZSgwLCBOVU1fTUVTU0FHRVNfUEVSX1RSQU5TQUNUSU9OKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudW5wcm9jZXNzZWRNZXNzYWdlc0NhY2hlLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnJhbk9uY2UgJiYgdGhpcy5wcmV2SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHRoaXMucmFuT25jZSA9IHRydWU7XG4gICAgY29uc3QgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgICAgc3RhdHVzOiAnVU5JTklUSUFMSVpFRCcsXG4gICAgICBsaW1pdDogTlVNX01FU1NBR0VTX1BFUl9RVUVSWSxcbiAgICB9O1xuICAgIGlmICh0aGlzLnByZXZJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBxdWVyeS5wcmV2SWQgPSB0aGlzLnByZXZJZDtcbiAgICB9XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLndhbGxldC5iaXRnby5nZXQodGhpcy5taWRuaWdodENsYWltVXJsKS5xdWVyeShxdWVyeSkucmVzdWx0KCk7XG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyAhPT0gJ3N1Y2Nlc3MnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgc3RhdHVzIGNvZGUgJHtyZXNwb25zZS5zdGF0dXN9IGZyb20gJHt0aGlzLm1pZG5pZ2h0Q2xhaW1Vcmx9YCk7XG4gICAgfVxuICAgIGlmIChyZXNwb25zZT8ucGFnaW5hdGlvbj8uaGFzTmV4dCkge1xuICAgICAgdGhpcy5wcmV2SWQgPSByZXNwb25zZT8ucGFnaW5hdGlvbj8ubmV4dFByZXZJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmV2SWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgdGhpcy51bnByb2Nlc3NlZE1lc3NhZ2VzQ2FjaGUgPSByZXNwb25zZS5jbGFpbXMubWFwKChjbGFpbTogQ2xhaW0pID0+IHtcbiAgICAgIGlmICghY2xhaW0ub3JpZ2luQWRkcmVzcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENsYWltICR7SlNPTi5zdHJpbmdpZnkoY2xhaW0pfSBpcyBtaXNzaW5nIG9yaWdpbkFkZHJlc3NgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8vIE1pZG5pZ2h0IGNsYWltIG1lc3NhZ2UgZm9ybWF0XG4gICAgICAgIG1lc3NhZ2U6IGBTVEFSICR7Y2xhaW0uYWxsb2NhdGlvbkFtb3VudH0gdG8gJHt0aGlzLmRlc3RpbmF0aW9uQWRkcmVzc30gJHtNSUROSUdIVF9UTkNfSEFTSH1gLFxuICAgICAgICBhZGRyZXNzOiBjbGFpbS5vcmlnaW5BZGRyZXNzLFxuICAgICAgfTtcbiAgICB9KTtcbiAgICBjb25zdCB0b1JldHVybiA9IHRoaXMudW5wcm9jZXNzZWRNZXNzYWdlc0NhY2hlLnNwbGljZSgwLCBOVU1fTUVTU0FHRVNfUEVSX1RSQU5TQUNUSU9OKTtcbiAgICByZXR1cm4gdG9SZXR1cm47XG4gIH1cbn1cblxuLyoqXG4gKiBCdWxrIHNpZ25zIEJJUDMyMiBtZXNzYWdlcyBmb3IgdGhlIE1pZG5pZ2h0IGFpcmRyb3AuXG4gKiBAcGFyYW0gd2FsbGV0IFRoZSB3YWxsZXQgdG8gc2lnbiB0aGUgbWVzc2FnZXMgd2l0aC5cbiAqIEBwYXJhbSBkZXN0aW5hdGlvbkFkZHJlc3MgVGhlIEFEQSBhZGRyZXNzIHRoZSByZXdhcmRzIHdpbGwgZ2V0IHNlbnQgdG9cbiAqIEBwYXJhbSB3YWxsZXRQYXNzcGhyYXNlIChPcHRpb25hbCkgVGhlIHdhbGxldCBwYXNzcGhyYXNlIG9mIHRoZSB3YWxsZXRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1bGtTaWduQmlwMzIyTWlkbmlnaHRNZXNzYWdlcyhcbiAgd2FsbGV0OiBJV2FsbGV0LFxuICBkZXN0aW5hdGlvbkFkZHJlc3M6IHN0cmluZyxcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZ1xuKTogUHJvbWlzZTxCdWxrTWVzc2FnZVJlc3BvbnNlPiB7XG4gIGNvbnN0IHByb3ZpZGVyID0gbmV3IE1pZG5pZ2h0TWVzc2FnZVByb3ZpZGVyKHdhbGxldCwgZGVzdGluYXRpb25BZGRyZXNzKTtcbiAgcmV0dXJuIGJ1bGtTaWduQmlwMzIyTWVzc2FnZXNXaXRoUHJvdmlkZXIocHJvdmlkZXIsIHdhbGxldCwgd2FsbGV0UGFzc3BocmFzZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1bGtTaWduQmlwMzIyTWVzc2FnZXNXaXRoUHJvdmlkZXIoXG4gIHByb3ZpZGVyOiBJTWVzc2FnZVByb3ZpZGVyLFxuICB3YWxsZXQ6IElXYWxsZXQsXG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmdcbik6IFByb21pc2U8QnVsa01lc3NhZ2VSZXNwb25zZT4ge1xuICBsZXQgbnVtTWVzc2FnZXMgPSAwO1xuICBsZXQgbWVzc2FnZXM6IE1lc3NhZ2VJbmZvW10gPSBhd2FpdCBwcm92aWRlci5nZXRNZXNzYWdlc0FuZEFkZHJlc3Nlc1RvU2lnbigpO1xuICBjb25zdCBzZW5kaW5nRnVuY3Rpb24gPSB3YWxsZXQudHlwZSgpID09PSAnY29sZCcgPyB3YWxsZXQucHJlYnVpbGRUcmFuc2FjdGlvbiA6IHdhbGxldC5zZW5kTWFueTtcbiAgY29uc3QgdHJhbnNhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdID0gW107XG4gIHdoaWxlIChtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgLy8gU2lnbiB0aGUgbWVzc2FnZXMgd2l0aCB0aGUgd2FsbGV0XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2VuZGluZ0Z1bmN0aW9uLmNhbGwod2FsbGV0LCB7XG4gICAgICBtZXNzYWdlcyxcbiAgICAgIC8vIFJlY2lwaWVudHMgbXVzdCBiZSBlbXB0eVxuICAgICAgcmVjaXBpZW50czogW10sXG4gICAgICAvLyB0eEZvcm1hdCBtdXN0IGJlIHBzYnRcbiAgICAgIHR4Rm9ybWF0OiAncHNidCcsXG4gICAgICAvLyBQYXNzIGluIHRoZSBvcHRpb25hbCB3YWxsZXQgcGFzc3BocmFzZVxuICAgICAgd2FsbGV0UGFzc3BocmFzZSxcbiAgICAgIG9mZmxpbmVWZXJpZmljYXRpb246IHdhbGxldC50eXBlKCkgPT09ICdjb2xkJyxcbiAgICB9KTtcbiAgICB0cmFuc2FjdGlvbnMucHVzaChyZXN1bHQpO1xuICAgIG51bU1lc3NhZ2VzICs9IG1lc3NhZ2VzLmxlbmd0aDtcbiAgICBtZXNzYWdlcyA9IGF3YWl0IHByb3ZpZGVyLmdldE1lc3NhZ2VzQW5kQWRkcmVzc2VzVG9TaWduKCk7XG4gIH1cbiAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgbnVtTWVzc2FnZXMsIHRyYW5zYWN0aW9ucyB9O1xufVxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXR4b01lc3NhZ2VQcm9vZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9iaXRnby93YWxsZXRVdGlsL3V0eG9NZXNzYWdlUHJvb2YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0dBLHdFQU9DO0FBN0dELDhEQUFnRDtBQUdoRCxrREFBK0M7QUFFL0MsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFDdkIsUUFBQSxpQkFBaUIsR0FBRyxrRUFBa0UsQ0FBQztBQTRCcEc7Ozs7R0FJRztBQUNILE1BQWEsdUJBQXVCO0lBUWxDLFlBQW9CLE1BQWUsRUFBVSxrQkFBMEI7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUFVLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUg3RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSXhCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUN0QiwyQkFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDakMseUNBQXlDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMseUJBQXlCLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsS0FBSyxDQUFDLDZCQUE2QjtRQUNqQyxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0Ms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LENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2hHLE1BQU0sWUFBWSxHQUE4QixFQUFFLENBQUM7SUFDbkQsT0FBTyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLG9DQUFvQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2hELFFBQVE7WUFDUiwyQkFBMkI7WUFDM0IsVUFBVSxFQUFFLEVBQUU7WUFDZCx3QkFBd0I7WUFDeEIsUUFBUSxFQUFFLE1BQU07WUFDaEIseUNBQXlDO1lBQ3pDLGdCQUFnQjtZQUNoQixtQkFBbUIsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssTUFBTTtTQUM5QyxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFCLFdBQVcsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQy9CLFFBQVEsR0FBRyxNQUFNLFFBQVEsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBJV2FsbGV0IH0gZnJvbSAnLi4vd2FsbGV0L2lXYWxsZXQnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRzIH0gZnJvbSAnLi4vZW52aXJvbm1lbnRzJztcblxuY29uc3QgTlVNX01FU1NBR0VTX1BFUl9RVUVSWSA9IDEwMDA7XG5leHBvcnQgY29uc3QgTUlETklHSFRfVE5DX0hBU0ggPSAnMzFhNmJhYjUwYTg0Yjg0MzlhZGNmYjc4NmJiMjAyMGY2ODA3ZTZlOGZkYTYyOWI0MjQxMTBmYzdiYjFjNmI4Yic7XG5cbnR5cGUgTWVzc2FnZUluZm8gPSB7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgYWRkcmVzczogc3RyaW5nO1xufTtcblxudHlwZSBDbGFpbSA9IHtcbiAgb3JpZ2luV2FsbGV0SWQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIG9yaWdpbkFkZHJlc3M/OiBzdHJpbmc7XG4gIGFsbG9jYXRpb25BbW91bnQ6IHN0cmluZztcbn07XG5cbnR5cGUgQnVsa01lc3NhZ2VSZXNwb25zZSA9IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgbnVtTWVzc2FnZXM6IG51bWJlcjtcbiAgdHJhbnNhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTWVzc2FnZVByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG1lc3NhZ2VzIGFuZCBhZGRyZXNzZXMgdGhhdCB3ZSB3YW50IHRvIHNpZ24uIFdlIGNhbGwgdGhpcyBmdW5jdGlvbiBtdWx0aXBsZSB0aW1lcyB1bnRpbCB0aGVyZSBhcmUgbm8gbW9yZVxuICAgKiBtZXNzYWdlcy4gSWYgdGhlcmUgYXJlIG5vIG1vcmUgbWVzc2FnZXMsIGFuIGVtcHR5IGFycmF5IGlzIHJldHVybmVkLiBOb3RlIHRoYXQgd2Ugb25seSByZXR1cm4gbWVzc2FnZXMgaW4gc2V0cyBvZiAyMDAuXG4gICAqL1xuICBnZXRNZXNzYWdlc0FuZEFkZHJlc3Nlc1RvU2lnbigpOiBQcm9taXNlPE1lc3NhZ2VJbmZvW10+O1xufVxuXG4vKipcbiAqIFRoZSBNaWRuaWdodCBkcm9wIHNlcnZpY2UgY2FuIHJldHVybiB1cCB0byAxMDAwIG1lc3NhZ2VzIHBlciByZXF1ZXN0LiBIb3dldmVyLCBVVFhPIGNvaW5zXG4gKiBjYW4gb25seSBoYXZlIGEgbWF4aW11bSBvZiAyMDAgbWVzc2FnZXMgcGVyIHRyYW5zYWN0aW9uLiBXZSBtYWtlIHRoaXMgd3JhcHBlciBmdW5jdGlvbiB0aGF0XG4gKiBoYW5kbGVzIHRoZSBwYWdpbmF0aW9uIGFuZCBiYXRjaGluZyBvZiBtZXNzYWdlcywga2VlcGluZyBhIGxvY2FsIGNhY2hlIG9mIHRoZSB1bnByb2Nlc3NlZCBtZXNzYWdlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1pZG5pZ2h0TWVzc2FnZVByb3ZpZGVyIGltcGxlbWVudHMgSU1lc3NhZ2VQcm92aWRlciB7XG4gIHByb3RlY3RlZCB1bnByb2Nlc3NlZE1lc3NhZ2VzQ2FjaGU6IE1lc3NhZ2VJbmZvW107XG4gIHByb3RlY3RlZCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcms7XG4gIHByb3RlY3RlZCBtaWRuaWdodENsYWltVXJsOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBwcmV2SWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIHJhbk9uY2UgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBudW1NZXNzYWdlc1BlclRyYW5zYWN0aW9uOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB3YWxsZXQ6IElXYWxsZXQsIHByaXZhdGUgZGVzdGluYXRpb25BZGRyZXNzOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVucHJvY2Vzc2VkTWVzc2FnZXNDYWNoZSA9IFtdO1xuICAgIHRoaXMubmV0d29yayA9IHV0eG9saWIubmV0d29ya3Nbd2FsbGV0LmNvaW4oKV07XG4gICAgdGhpcy5taWRuaWdodENsYWltVXJsID0gYCR7XG4gICAgICBFbnZpcm9ubWVudHNbd2FsbGV0LmJpdGdvLmVudl0udXJpXG4gICAgfS9hcGkvYWlyZHJvcC1jbGFpbS92MS9taWRuaWdodC9jbGFpbXMvJHt3YWxsZXQuY29pbigpfS8ke3dhbGxldC5pZCgpfWA7XG4gICAgdGhpcy5udW1NZXNzYWdlc1BlclRyYW5zYWN0aW9uID0gd2FsbGV0LmJpdGdvLmVudiA9PT0gJ3Byb2QnID8gMjAwIDogNDtcbiAgfVxuXG4gIGFzeW5jIGdldE1lc3NhZ2VzQW5kQWRkcmVzc2VzVG9TaWduKCk6IFByb21pc2U8TWVzc2FnZUluZm9bXT4ge1xuICAgIGlmICh0aGlzLnVucHJvY2Vzc2VkTWVzc2FnZXNDYWNoZS5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy51bnByb2Nlc3NlZE1lc3NhZ2VzQ2FjaGUuc3BsaWNlKDAsIHRoaXMubnVtTWVzc2FnZXNQZXJUcmFuc2FjdGlvbik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnVucHJvY2Vzc2VkTWVzc2FnZXNDYWNoZS5sZW5ndGggPT09IDAgJiYgdGhpcy5yYW5PbmNlICYmIHRoaXMucHJldklkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICB0aGlzLnJhbk9uY2UgPSB0cnVlO1xuICAgIGNvbnN0IHF1ZXJ5OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgIHN0YXR1czogJ1VOSU5JVElBTElaRUQnLFxuICAgICAgbGltaXQ6IE5VTV9NRVNTQUdFU19QRVJfUVVFUlksXG4gICAgfTtcbiAgICBpZiAodGhpcy5wcmV2SWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcXVlcnkucHJldklkID0gdGhpcy5wcmV2SWQ7XG4gICAgfVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy53YWxsZXQuYml0Z28uZ2V0KHRoaXMubWlkbmlnaHRDbGFpbVVybCkucXVlcnkocXVlcnkpLnJlc3VsdCgpO1xuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgIT09ICdzdWNjZXNzJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHN0YXR1cyBjb2RlICR7cmVzcG9uc2Uuc3RhdHVzfSBmcm9tICR7dGhpcy5taWRuaWdodENsYWltVXJsfWApO1xuICAgIH1cbiAgICBpZiAocmVzcG9uc2U/LnBhZ2luYXRpb24/Lmhhc05leHQpIHtcbiAgICAgIHRoaXMucHJldklkID0gcmVzcG9uc2U/LnBhZ2luYXRpb24/Lm5leHRQcmV2SWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJldklkID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHRoaXMudW5wcm9jZXNzZWRNZXNzYWdlc0NhY2hlID0gcmVzcG9uc2UuY2xhaW1zLm1hcCgoY2xhaW06IENsYWltKSA9PiB7XG4gICAgICBpZiAoIWNsYWltLm9yaWdpbkFkZHJlc3MpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDbGFpbSAke0pTT04uc3RyaW5naWZ5KGNsYWltKX0gaXMgbWlzc2luZyBvcmlnaW5BZGRyZXNzYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAvLyBNaWRuaWdodCBjbGFpbSBtZXNzYWdlIGZvcm1hdFxuICAgICAgICBtZXNzYWdlOiBgU1RBUiAke2NsYWltLmFsbG9jYXRpb25BbW91bnR9IHRvICR7dGhpcy5kZXN0aW5hdGlvbkFkZHJlc3N9ICR7TUlETklHSFRfVE5DX0hBU0h9YCxcbiAgICAgICAgYWRkcmVzczogY2xhaW0ub3JpZ2luQWRkcmVzcyxcbiAgICAgIH07XG4gICAgfSk7XG4gICAgY29uc3QgdG9SZXR1cm4gPSB0aGlzLnVucHJvY2Vzc2VkTWVzc2FnZXNDYWNoZS5zcGxpY2UoMCwgdGhpcy5udW1NZXNzYWdlc1BlclRyYW5zYWN0aW9uKTtcbiAgICByZXR1cm4gdG9SZXR1cm47XG4gIH1cbn1cblxuLyoqXG4gKiBCdWxrIHNpZ25zIEJJUDMyMiBtZXNzYWdlcyBmb3IgdGhlIE1pZG5pZ2h0IGFpcmRyb3AuXG4gKiBAcGFyYW0gd2FsbGV0IFRoZSB3YWxsZXQgdG8gc2lnbiB0aGUgbWVzc2FnZXMgd2l0aC5cbiAqIEBwYXJhbSBkZXN0aW5hdGlvbkFkZHJlc3MgVGhlIEFEQSBhZGRyZXNzIHRoZSByZXdhcmRzIHdpbGwgZ2V0IHNlbnQgdG9cbiAqIEBwYXJhbSB3YWxsZXRQYXNzcGhyYXNlIChPcHRpb25hbCkgVGhlIHdhbGxldCBwYXNzcGhyYXNlIG9mIHRoZSB3YWxsZXRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1bGtTaWduQmlwMzIyTWlkbmlnaHRNZXNzYWdlcyhcbiAgd2FsbGV0OiBJV2FsbGV0LFxuICBkZXN0aW5hdGlvbkFkZHJlc3M6IHN0cmluZyxcbiAgd2FsbGV0UGFzc3BocmFzZT86IHN0cmluZ1xuKTogUHJvbWlzZTxCdWxrTWVzc2FnZVJlc3BvbnNlPiB7XG4gIGNvbnN0IHByb3ZpZGVyID0gbmV3IE1pZG5pZ2h0TWVzc2FnZVByb3ZpZGVyKHdhbGxldCwgZGVzdGluYXRpb25BZGRyZXNzKTtcbiAgcmV0dXJuIGJ1bGtTaWduQmlwMzIyTWVzc2FnZXNXaXRoUHJvdmlkZXIocHJvdmlkZXIsIHdhbGxldCwgd2FsbGV0UGFzc3BocmFzZSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGJ1bGtTaWduQmlwMzIyTWVzc2FnZXNXaXRoUHJvdmlkZXIoXG4gIHByb3ZpZGVyOiBJTWVzc2FnZVByb3ZpZGVyLFxuICB3YWxsZXQ6IElXYWxsZXQsXG4gIHdhbGxldFBhc3NwaHJhc2U/OiBzdHJpbmdcbik6IFByb21pc2U8QnVsa01lc3NhZ2VSZXNwb25zZT4ge1xuICBsZXQgbnVtTWVzc2FnZXMgPSAwO1xuICBsZXQgbWVzc2FnZXM6IE1lc3NhZ2VJbmZvW10gPSBhd2FpdCBwcm92aWRlci5nZXRNZXNzYWdlc0FuZEFkZHJlc3Nlc1RvU2lnbigpO1xuICBjb25zdCBzZW5kaW5nRnVuY3Rpb24gPSB3YWxsZXQudHlwZSgpID09PSAnY29sZCcgPyB3YWxsZXQucHJlYnVpbGRUcmFuc2FjdGlvbiA6IHdhbGxldC5zZW5kTWFueTtcbiAgY29uc3QgdHJhbnNhY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdID0gW107XG4gIHdoaWxlIChtZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgLy8gU2lnbiB0aGUgbWVzc2FnZXMgd2l0aCB0aGUgd2FsbGV0XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2VuZGluZ0Z1bmN0aW9uLmNhbGwod2FsbGV0LCB7XG4gICAgICBtZXNzYWdlcyxcbiAgICAgIC8vIFJlY2lwaWVudHMgbXVzdCBiZSBlbXB0eVxuICAgICAgcmVjaXBpZW50czogW10sXG4gICAgICAvLyB0eEZvcm1hdCBtdXN0IGJlIHBzYnRcbiAgICAgIHR4Rm9ybWF0OiAncHNidCcsXG4gICAgICAvLyBQYXNzIGluIHRoZSBvcHRpb25hbCB3YWxsZXQgcGFzc3BocmFzZVxuICAgICAgd2FsbGV0UGFzc3BocmFzZSxcbiAgICAgIG9mZmxpbmVWZXJpZmljYXRpb246IHdhbGxldC50eXBlKCkgPT09ICdjb2xkJyxcbiAgICB9KTtcbiAgICB0cmFuc2FjdGlvbnMucHVzaChyZXN1bHQpO1xuICAgIG51bU1lc3NhZ2VzICs9IG1lc3NhZ2VzLmxlbmd0aDtcbiAgICBtZXNzYWdlcyA9IGF3YWl0IHByb3ZpZGVyLmdldE1lc3NhZ2VzQW5kQWRkcmVzc2VzVG9TaWduKCk7XG4gIH1cbiAgcmV0dXJuIHsgc3VjY2VzczogdHJ1ZSwgbnVtTWVzc2FnZXMsIHRyYW5zYWN0aW9ucyB9O1xufVxuIl19