@bitgo-beta/sdk-coin-vet 1.0.1-beta.497 → 1.0.1-beta.498

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.
Files changed (40) hide show
  1. package/dist/src/lib/constants.d.ts +3 -2
  2. package/dist/src/lib/constants.d.ts.map +1 -1
  3. package/dist/src/lib/constants.js +5 -4
  4. package/dist/src/lib/iface.d.ts +2 -0
  5. package/dist/src/lib/iface.d.ts.map +1 -1
  6. package/dist/src/lib/iface.js +1 -1
  7. package/dist/src/lib/transaction/burnNftTransaction.d.ts +3 -0
  8. package/dist/src/lib/transaction/burnNftTransaction.d.ts.map +1 -1
  9. package/dist/src/lib/transaction/burnNftTransaction.js +14 -7
  10. package/dist/src/lib/transaction/delegateClauseTransaction.d.ts +6 -6
  11. package/dist/src/lib/transaction/delegateClauseTransaction.d.ts.map +1 -1
  12. package/dist/src/lib/transaction/delegateClauseTransaction.js +17 -15
  13. package/dist/src/lib/transaction/exitDelegation.d.ts +3 -0
  14. package/dist/src/lib/transaction/exitDelegation.d.ts.map +1 -1
  15. package/dist/src/lib/transaction/exitDelegation.js +14 -7
  16. package/dist/src/lib/transaction/stakeClauseTransaction.js +3 -3
  17. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts +4 -4
  18. package/dist/src/lib/transactionBuilder/burnNftBuilder.d.ts.map +1 -1
  19. package/dist/src/lib/transactionBuilder/burnNftBuilder.js +9 -9
  20. package/dist/src/lib/transactionBuilder/delegateTxnBuilder.d.ts +8 -2
  21. package/dist/src/lib/transactionBuilder/delegateTxnBuilder.d.ts.map +1 -1
  22. package/dist/src/lib/transactionBuilder/delegateTxnBuilder.js +16 -3
  23. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts +7 -6
  24. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.d.ts.map +1 -1
  25. package/dist/src/lib/transactionBuilder/exitDelegationBuilder.js +15 -12
  26. package/dist/src/lib/utils.d.ts +8 -8
  27. package/dist/src/lib/utils.d.ts.map +1 -1
  28. package/dist/src/lib/utils.js +12 -12
  29. package/dist/test/resources/vet.d.ts +5 -3
  30. package/dist/test/resources/vet.d.ts.map +1 -1
  31. package/dist/test/resources/vet.js +8 -6
  32. package/dist/test/transactionBuilder/burnNftBuilder.js +25 -29
  33. package/dist/test/transactionBuilder/claimRewardsBuilder.js +9 -9
  34. package/dist/test/transactionBuilder/delegateClauseTxnBuilder.js +32 -20
  35. package/dist/test/transactionBuilder/exitDelegationBuilder.js +25 -29
  36. package/dist/test/transactionBuilder/stakeClauseTransactionBuilder.js +9 -10
  37. package/dist/test/transactionBuilder/stakingTransaction.js +2 -2
  38. package/dist/test/unit/stakingFlowE2E.js +11 -18
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +9 -9
@@ -154,19 +154,19 @@ class Utils {
154
154
  }
155
155
  }
156
156
  /**
157
- * Decodes delegate transaction data to extract tokenId and delegateForever
157
+ * Decodes delegate transaction data to extract tokenId and validatorAddress
158
158
  *
159
159
  * @param {string} data - The encoded transaction data
160
- * @returns {object} - Object containing tokenId and delegateForever
160
+ * @returns {object} - Object containing levelId and validator address
161
161
  */
162
162
  decodeDelegateClauseData(data) {
163
163
  try {
164
164
  const parameters = data.slice(10);
165
165
  // Decode using ethereumjs-abi directly
166
- const decoded = ethereumjs_abi_1.default.rawDecode(['uint256', 'bool'], Buffer.from(parameters, 'hex'));
166
+ const decoded = ethereumjs_abi_1.default.rawDecode(['uint256', 'address'], Buffer.from(parameters, 'hex'));
167
167
  return {
168
- tokenId: Number(decoded[0]),
169
- delegateForever: Boolean(decoded[1]),
168
+ tokenId: String(decoded[0]),
169
+ validator: String(decoded[1]),
170
170
  };
171
171
  }
172
172
  catch (error) {
@@ -255,13 +255,13 @@ class Utils {
255
255
  }
256
256
  }
257
257
  /**
258
- * Get the network-appropriate delegation contract address
258
+ * Get the network-appropriate stargate contract address
259
259
  * @param {CoinConfig} coinConfig - The coin configuration object
260
260
  * @returns {string} The delegation contract address for the network
261
261
  */
262
262
  getDefaultDelegationAddress(coinConfig) {
263
263
  const isTestnet = coinConfig.network.type === 'testnet';
264
- return isTestnet ? constants_1.STARGATE_DELEGATION_ADDRESS_TESTNET : constants_1.STARGATE_DELEGATION_ADDRESS;
264
+ return isTestnet ? constants_1.STARGATE_CONTRACT_ADDRESS_TESTNET : constants_1.STARGATE_DELEGATION_ADDRESS;
265
265
  }
266
266
  /**
267
267
  * Get the network-appropriate staking contract address
@@ -270,7 +270,7 @@ class Utils {
270
270
  */
271
271
  getDefaultStakingAddress(coinConfig) {
272
272
  const isTestnet = coinConfig.network.type === 'testnet';
273
- return isTestnet ? constants_1.STARGATE_NFT_ADDRESS_TESTNET : constants_1.STARGATE_NFT_ADDRESS;
273
+ return isTestnet ? constants_1.STARGATE_CONTRACT_ADDRESS_TESTNET : constants_1.STARGATE_NFT_ADDRESS;
274
274
  }
275
275
  /**
276
276
  * Check if an address is a valid delegation contract address for any network
@@ -292,10 +292,10 @@ class Utils {
292
292
  return (lowerAddress === constants_1.STARGATE_NFT_ADDRESS.toLowerCase() || lowerAddress === constants_1.STARGATE_NFT_ADDRESS_TESTNET.toLowerCase());
293
293
  }
294
294
  /**
295
- * Validate that a contract address matches the expected NFT/staking contract for the network
295
+ * Validate that a contract address matches the expected stargate address for the network
296
296
  * @param {string} address - The contract address to validate
297
297
  * @param {CoinConfig} coinConfig - The coin configuration object
298
- * @throws {Error} If the address doesn't match the expected NFT contract address
298
+ * @throws {Error} If the address doesn't match the expected contract address
299
299
  */
300
300
  validateStakingContractAddress(address, coinConfig) {
301
301
  const expectedAddress = this.getDefaultStakingAddress(coinConfig);
@@ -304,7 +304,7 @@ class Utils {
304
304
  }
305
305
  }
306
306
  /**
307
- * Validate that a contract address matches the expected delegation contract for the network
307
+ * Validate that a contract address matches the expected stargate contract for the network
308
308
  * @param {string} address - The contract address to validate
309
309
  * @param {CoinConfig} coinConfig - The coin configuration object
310
310
  * @throws {Error} If the address doesn't match the expected delegation contract address
@@ -319,4 +319,4 @@ class Utils {
319
319
  exports.Utils = Utils;
320
320
  const utils = new Utils();
321
321
  exports.default = utils;
322
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUE0RTtBQUM1RSxvRUFBeUM7QUFDekMscURBQW1EO0FBQ25ELG1EQUF3RjtBQUN4RiwyREFLa0M7QUFDbEMsMkNBaUJxQjtBQUNyQix1Q0FBb0M7QUFHcEMsTUFBYSxLQUFLO0lBQ2hCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsOEJBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSwrQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQztZQUNILElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixJQUFJLENBQUM7WUFDSCxJQUFJLGlCQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWlCO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBWTtRQUMvQixPQUFPLElBQUksQ0FB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Q0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsOEJBQThCLENBQUMsT0FBZSxFQUFFLFVBQWdDO1FBQzlFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxlQUFlLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksS0FBSyxDQUNiLDhDQUE4QyxlQUFlLFFBQVEsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsT0FBTyxFQUFFLENBQy9HLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUNBQWlDLENBQUMsT0FBZSxFQUFFLFVBQWdDO1FBQ2pGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxlQUFlLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksS0FBSyxDQUNiLGlEQUFpRCxlQUFlLFFBQVEsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsT0FBTyxFQUFFLENBQ2xILENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdFZELHNCQXNWQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGV4VUludCwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQ2xhdXNlIH0gZnJvbSAnQHZlY2hhaW4vc2RrLWNvcmUnO1xuaW1wb3J0IEV0aGVyZXVtQWJpIGZyb20gJ2V0aGVyZXVtanMtYWJpJztcbmltcG9ydCB7IGFkZEhleFByZWZpeCwgQk4gfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuaW1wb3J0IHsgQmFzZVV0aWxzLCBUcmFuc2FjdGlvblJlY2lwaWVudCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgdjRDcmVhdGVGb3J3YXJkZXJNZXRob2RJZCxcbiAgZmx1c2hGb3J3YXJkZXJUb2tlbnNNZXRob2RJZFY0LFxuICBnZXRSYXdEZWNvZGVkLFxuICBnZXRCdWZmZXJlZEJ5dGVDb2RlLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHtcbiAgVFJBTlNGRVJfVE9LRU5fTUVUSE9EX0lELFxuICBTVEFLSU5HX01FVEhPRF9JRCxcbiAgU1RBS0VfQ0xBVVNFX01FVEhPRF9JRCxcbiAgRVhJVF9ERUxFR0FUSU9OX01FVEhPRF9JRCxcbiAgQlVSTl9ORlRfTUVUSE9EX0lELFxuICBWRVRfQUREUkVTU19MRU5HVEgsXG4gIFZFVF9CTE9DS19JRF9MRU5HVEgsXG4gIFZFVF9UUkFOU0FDVElPTl9JRF9MRU5HVEgsXG4gIFRSQU5TRkVSX05GVF9NRVRIT0RfSUQsXG4gIENMQUlNX0JBU0VfUkVXQVJEU19NRVRIT0RfSUQsXG4gIENMQUlNX1NUQUtJTkdfUkVXQVJEU19NRVRIT0RfSUQsXG4gIFNUQVJHQVRFX05GVF9BRERSRVNTLFxuICBTVEFSR0FURV9ORlRfQUREUkVTU19URVNUTkVULFxuICBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1MsXG4gIFNUQVJHQVRFX0RFTEVHQVRJT05fQUREUkVTU19URVNUTkVULFxuICBERUxFR0FURV9DTEFVU0VfTUVUSE9EX0lELFxufSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBLZXlQYWlyIH0gZnJvbSAnLi9rZXlQYWlyJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzIGltcGxlbWVudHMgQmFzZVV0aWxzIHtcbiAgaXNWYWxpZEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChhZGRyZXNzLCBWRVRfQUREUkVTU19MRU5HVEgpO1xuICB9XG5cbiAgaXNWYWxpZEJsb2NrSWQoaGFzaDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleChoYXNoLCBWRVRfQkxPQ0tfSURfTEVOR1RIKTtcbiAgfVxuXG4gIGlzVmFsaWRQcml2YXRlS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBLZXlQYWlyKHsgcHJ2OiBrZXkgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZFB1YmxpY0tleShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRyeSB7XG4gICAgICBuZXcgS2V5UGFpcih7IHB1Yjoga2V5IH0pO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlzVmFsaWRTaWduYXR1cmUoc2lnbmF0dXJlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQnKTtcbiAgfVxuXG4gIGlzVmFsaWRUcmFuc2FjdGlvbklkKHR4SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzVmFsaWRIZXgodHhJZCwgVkVUX1RSQU5TQUNUSU9OX0lEX0xFTkdUSCk7XG4gIH1cblxuICBpc1ZhbGlkSGV4KHZhbHVlOiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKGBeKDB4fDBYKVthLWZBLUYwLTldeyR7bGVuZ3RofX0kYCk7XG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QodmFsdWUpO1xuICB9XG5cbiAgZGVzZXJpYWxpemVUcmFuc2FjdGlvbihzZXJpYWxpemVkVHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICBjb25zdCB0eEJ5dGVzID0gSGV4VUludC5vZihzZXJpYWxpemVkVHJhbnNhY3Rpb24pLmJ5dGVzO1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb24uZGVjb2RlKHR4Qnl0ZXMsIGZhbHNlKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIubWVzc2FnZT8uaW5jbHVkZXMoJ0V4cGVjdGVkIDkgaXRlbXMsIGJ1dCBnb3QgMTAnKSkge1xuICAgICAgICAvLyBMaWtlbHkgc2lnbmVkLCBzbyByZXRyeSB3aXRoIGlzU2lnbmVkID0gdHJ1ZVxuICAgICAgICByZXR1cm4gVHJhbnNhY3Rpb24uZGVjb2RlKHR4Qnl0ZXMsIHRydWUpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuXG4gIGdldFRyYW5zYWN0aW9uVHlwZUZyb21DbGF1c2UoY2xhdXNlczogVHJhbnNhY3Rpb25DbGF1c2VbXSk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgaWYgKGNsYXVzZXNbMF0uZGF0YSA9PT0gJzB4Jykge1xuICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgodjRDcmVhdGVGb3J3YXJkZXJNZXRob2RJZCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQWRkcmVzc0luaXRpYWxpemF0aW9uO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoZmx1c2hGb3J3YXJkZXJUb2tlbnNNZXRob2RJZFY0KSkge1xuICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5GbHVzaFRva2VucztcbiAgICB9IGVsc2UgaWYgKGNsYXVzZXNbMF0uZGF0YS5zdGFydHNXaXRoKFRSQU5TRkVSX1RPS0VOX01FVEhPRF9JRCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoU1RBS0lOR19NRVRIT0RfSUQpKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkNvbnRyYWN0Q2FsbDtcbiAgICB9IGVsc2UgaWYgKGNsYXVzZXNbMF0uZGF0YS5zdGFydHNXaXRoKFNUQUtFX0NMQVVTRV9NRVRIT0RfSUQpKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdBY3RpdmF0ZTtcbiAgICB9IGVsc2UgaWYgKGNsYXVzZXNbMF0uZGF0YS5zdGFydHNXaXRoKERFTEVHQVRFX0NMQVVTRV9NRVRIT0RfSUQpKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdEZWxlZ2F0ZTtcbiAgICB9IGVsc2UgaWYgKGNsYXVzZXNbMF0uZGF0YS5zdGFydHNXaXRoKEVYSVRfREVMRUdBVElPTl9NRVRIT0RfSUQpKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdVbmxvY2s7XG4gICAgfSBlbHNlIGlmIChjbGF1c2VzWzBdLmRhdGEuc3RhcnRzV2l0aChCVVJOX05GVF9NRVRIT0RfSUQpKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdXaXRoZHJhdztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoQ0xBSU1fQkFTRV9SRVdBUkRTX01FVEhPRF9JRCkgfHxcbiAgICAgIGNsYXVzZXNbMF0uZGF0YS5zdGFydHNXaXRoKENMQUlNX1NUQUtJTkdfUkVXQVJEU19NRVRIT0RfSUQpXG4gICAgKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlN0YWtpbmdDbGFpbTtcbiAgICB9IGVsc2UgaWYgKGNsYXVzZXNbMF0uZGF0YS5zdGFydHNXaXRoKFRSQU5TRkVSX05GVF9NRVRIT0RfSUQpKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmRORlQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuO1xuICAgIH1cbiAgfVxuXG4gIGdldFRyYW5zZmVyVG9rZW5EYXRhKHRvQWRkcmVzczogc3RyaW5nLCBhbW91bnRXZWk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWV0aG9kTmFtZSA9ICd0cmFuc2Zlcic7XG4gICAgY29uc3QgdHlwZXMgPSBbJ2FkZHJlc3MnLCAndWludDI1NiddO1xuICAgIGNvbnN0IHBhcmFtcyA9IFt0b0FkZHJlc3MsIG5ldyBCTihhbW91bnRXZWkpXTtcblxuICAgIGNvbnN0IG1ldGhvZCA9IEV0aGVyZXVtQWJpLm1ldGhvZElEKG1ldGhvZE5hbWUsIHR5cGVzKTtcbiAgICBjb25zdCBhcmdzID0gRXRoZXJldW1BYmkucmF3RW5jb2RlKHR5cGVzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIGFkZEhleFByZWZpeChCdWZmZXIuY29uY2F0KFttZXRob2QsIGFyZ3NdKS50b1N0cmluZygnaGV4JykpO1xuICB9XG5cbiAgZ2V0VHJhbnNmZXJORlREYXRhKGZyb206IHN0cmluZywgdG86IHN0cmluZywgdG9rZW5JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gJ3RyYW5zZmVyRnJvbSc7XG4gICAgY29uc3QgdHlwZXMgPSBbJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50MjU2J107XG4gICAgY29uc3QgcGFyYW1zID0gW2Zyb20sIHRvLCBuZXcgQk4odG9rZW5JZCldO1xuXG4gICAgY29uc3QgbWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQobWV0aG9kTmFtZSwgdHlwZXMpO1xuICAgIGNvbnN0IGFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUodHlwZXMsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KEJ1ZmZlci5jb25jYXQoW21ldGhvZCwgYXJnc10pLnRvU3RyaW5nKCdoZXgnKSk7XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RlcyBzdGFraW5nIHRyYW5zYWN0aW9uIGRhdGEgdG8gZXh0cmFjdCBsZXZlbElkIGFuZCBhdXRvcmVuZXdcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEByZXR1cm5zIHtvYmplY3R9IC0gT2JqZWN0IGNvbnRhaW5pbmcgbGV2ZWxJZCBhbmQgYXV0b3JlbmV3XG4gICAqL1xuICBkZWNvZGVTdGFraW5nRGF0YShkYXRhOiBzdHJpbmcpOiB7IGxldmVsSWQ6IG51bWJlcjsgYXV0b3JlbmV3OiBib29sZWFuIH0ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJhbWV0ZXJzID0gZGF0YS5zbGljZSgxMCk7XG5cbiAgICAgIC8vIERlY29kZSB1c2luZyBldGhlcmV1bWpzLWFiaSBkaXJlY3RseVxuICAgICAgY29uc3QgZGVjb2RlZCA9IEV0aGVyZXVtQWJpLnJhd0RlY29kZShbJ3VpbnQ4JywgJ2Jvb2wnXSwgQnVmZmVyLmZyb20ocGFyYW1ldGVycywgJ2hleCcpKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGV2ZWxJZDogTnVtYmVyKGRlY29kZWRbMF0pLFxuICAgICAgICBhdXRvcmVuZXc6IEJvb2xlYW4oZGVjb2RlZFsxXSksXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBkZWNvZGUgc3Rha2luZyBkYXRhOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgc3Rha2luZyB0cmFuc2FjdGlvbiBkYXRhIHRvIGV4dHJhY3QgbGV2ZWxJZCBhbmQgYXV0b3JlbmV3XG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIC0gVGhlIGVuY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKiBAcmV0dXJucyB7b2JqZWN0fSAtIE9iamVjdCBjb250YWluaW5nIGxldmVsSWQgYW5kIGF1dG9yZW5ld1xuICAgKi9cbiAgZGVjb2RlU3Rha2VDbGF1c2VEYXRhKGRhdGE6IHN0cmluZyk6IHsgbGV2ZWxJZDogbnVtYmVyIH0ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJhbWV0ZXJzID0gZGF0YS5zbGljZSgxMCk7XG5cbiAgICAgIC8vIERlY29kZSB1c2luZyBldGhlcmV1bWpzLWFiaSBkaXJlY3RseVxuICAgICAgY29uc3QgZGVjb2RlZCA9IEV0aGVyZXVtQWJpLnJhd0RlY29kZShbJ3VpbnQ4J10sIEJ1ZmZlci5mcm9tKHBhcmFtZXRlcnMsICdoZXgnKSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxldmVsSWQ6IE51bWJlcihkZWNvZGVkWzBdKSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBzdGFraW5nIGRhdGE6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RlcyBkZWxlZ2F0ZSB0cmFuc2FjdGlvbiBkYXRhIHRvIGV4dHJhY3QgdG9rZW5JZCBhbmQgZGVsZWdhdGVGb3JldmVyXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIC0gVGhlIGVuY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKiBAcmV0dXJucyB7b2JqZWN0fSAtIE9iamVjdCBjb250YWluaW5nIHRva2VuSWQgYW5kIGRlbGVnYXRlRm9yZXZlclxuICAgKi9cbiAgZGVjb2RlRGVsZWdhdGVDbGF1c2VEYXRhKGRhdGE6IHN0cmluZyk6IHsgdG9rZW5JZDogbnVtYmVyOyBkZWxlZ2F0ZUZvcmV2ZXI6IGJvb2xlYW4gfSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBkYXRhLnNsaWNlKDEwKTtcblxuICAgICAgLy8gRGVjb2RlIHVzaW5nIGV0aGVyZXVtanMtYWJpIGRpcmVjdGx5XG4gICAgICBjb25zdCBkZWNvZGVkID0gRXRoZXJldW1BYmkucmF3RGVjb2RlKFsndWludDI1NicsICdib29sJ10sIEJ1ZmZlci5mcm9tKHBhcmFtZXRlcnMsICdoZXgnKSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRva2VuSWQ6IE51bWJlcihkZWNvZGVkWzBdKSxcbiAgICAgICAgZGVsZWdhdGVGb3JldmVyOiBCb29sZWFuKGRlY29kZWRbMV0pLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIGRlbGVnYXRpb24gZGF0YTogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIGRlY29kZVRyYW5zZmVyVG9rZW5EYXRhKGRhdGE6IHN0cmluZyk6IFRyYW5zYWN0aW9uUmVjaXBpZW50IHtcbiAgICBjb25zdCBbYWRkcmVzcywgYW1vdW50XSA9IGdldFJhd0RlY29kZWQoXG4gICAgICBbJ2FkZHJlc3MnLCAndWludDI1NiddLFxuICAgICAgZ2V0QnVmZmVyZWRCeXRlQ29kZShUUkFOU0ZFUl9UT0tFTl9NRVRIT0RfSUQsIGRhdGEpXG4gICAgKTtcbiAgICBjb25zdCByZWNpcGllbnRBZGRyZXNzID0gYWRkSGV4UHJlZml4KGFkZHJlc3MudG9TdHJpbmcoKSkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogcmVjaXBpZW50QWRkcmVzcyxcbiAgICAgIGFtb3VudDogYW1vdW50LnRvU3RyaW5nKCksXG4gICAgfTtcbiAgfVxuXG4gIGRlY29kZVRyYW5zZmVyTkZURGF0YShkYXRhOiBzdHJpbmcpOiB7XG4gICAgcmVjaXBpZW50czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgICBzZW5kZXI6IHN0cmluZztcbiAgICB0b2tlbklkOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IFtmcm9tLCB0bywgdG9rZW5JZEJOXSA9IGdldFJhd0RlY29kZWQoXG4gICAgICBbJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50MjU2J10sXG4gICAgICBnZXRCdWZmZXJlZEJ5dGVDb2RlKFRSQU5TRkVSX05GVF9NRVRIT0RfSUQsIGRhdGEpXG4gICAgKTtcbiAgICBjb25zdCByZWNpcGllbnRBZGRyZXNzID0gYWRkSGV4UHJlZml4KHRvLnRvU3RyaW5nKCkpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudCA9IHtcbiAgICAgIGFkZHJlc3M6IHJlY2lwaWVudEFkZHJlc3MsXG4gICAgICBhbW91bnQ6ICcxJyxcbiAgICB9O1xuICAgIGNvbnN0IHNlbmRlciA9IGFkZEhleFByZWZpeChmcm9tLnRvU3RyaW5nKCkpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdG9rZW5JZCA9IHRva2VuSWRCTi50b1N0cmluZygpO1xuICAgIHJldHVybiB7XG4gICAgICByZWNpcGllbnRzOiBbcmVjaXBpZW50XSxcbiAgICAgIHNlbmRlcixcbiAgICAgIHRva2VuSWQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIGNsYWltIHJld2FyZHMgdHJhbnNhY3Rpb24gZGF0YSB0byBleHRyYWN0IHRva2VuSWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCBjbGFpbSByZXdhcmRzIG1ldGhvZCBjYWxsIGRhdGFcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgdG9rZW5JZCBhcyBhIHN0cmluZ1xuICAgKi9cbiAgZGVjb2RlQ2xhaW1SZXdhcmRzRGF0YShkYXRhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICAvLyBSZW1vdmUgbWV0aG9kIElEIChmaXJzdCAxMCBjaGFyYWN0ZXJzOiAnMHgnICsgNC1ieXRlIG1ldGhvZCBJRClcbiAgICAgIGNvbnN0IG1ldGhvZERhdGEgPSBkYXRhLnNsaWNlKDEwKTtcblxuICAgICAgLy8gRXh0cmFjdCB0b2tlbklkIGZyb20gZmlyc3QgMzItYnl0ZSBzbG90XG4gICAgICAvLyBUaGUgdG9rZW5JZCBpcyBhIHVpbnQyNTYsIHNvIHdlIHRha2UgdGhlIGZ1bGwgNjQgaGV4IGNoYXJhY3RlcnNcbiAgICAgIGNvbnN0IHRva2VuSWRIZXggPSBtZXRob2REYXRhLnNsaWNlKDAsIDY0KTtcblxuICAgICAgLy8gQ29udmVydCBoZXggdG8gZGVjaW1hbCBzdHJpbmdcbiAgICAgIHJldHVybiBCaWdJbnQoJzB4JyArIHRva2VuSWRIZXgpLnRvU3RyaW5nKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBjbGFpbSByZXdhcmRzIGRhdGE6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RlcyBleGl0IGRlbGVnYXRpb24gdHJhbnNhY3Rpb24gZGF0YSB0byBleHRyYWN0IHRva2VuSWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCBleGl0IGRlbGVnYXRpb24gbWV0aG9kIGNhbGwgZGF0YVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSB0b2tlbklkIGFzIGEgc3RyaW5nXG4gICAqL1xuICBkZWNvZGVFeGl0RGVsZWdhdGlvbkRhdGEoZGF0YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFkYXRhLnN0YXJ0c1dpdGgoRVhJVF9ERUxFR0FUSU9OX01FVEhPRF9JRCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGV4aXQgZGVsZWdhdGlvbiBtZXRob2QgZGF0YScpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0b2tlbklkSGV4ID0gZGF0YS5zbGljZShFWElUX0RFTEVHQVRJT05fTUVUSE9EX0lELmxlbmd0aCk7XG4gICAgICAvLyBDb252ZXJ0IGhleCB0byBkZWNpbWFsIChtYXRjaGluZyBvcmlnaW5hbCBwYXJzZUludCBsb2dpYylcbiAgICAgIHJldHVybiBwYXJzZUludCh0b2tlbklkSGV4LCAxNikudG9TdHJpbmcoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIGV4aXQgZGVsZWdhdGlvbiBkYXRhOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgYnVybiBORlQgdHJhbnNhY3Rpb24gZGF0YSB0byBleHRyYWN0IHRva2VuSWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCBidXJuIE5GVCBtZXRob2QgY2FsbCBkYXRhXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHRva2VuSWQgYXMgYSBzdHJpbmdcbiAgICovXG4gIGRlY29kZUJ1cm5OZnREYXRhKGRhdGE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghZGF0YS5zdGFydHNXaXRoKEJVUk5fTkZUX01FVEhPRF9JRCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJ1cm4gTkZUIG1ldGhvZCBkYXRhJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRva2VuSWRIZXggPSBkYXRhLnNsaWNlKEJVUk5fTkZUX01FVEhPRF9JRC5sZW5ndGgpO1xuICAgICAgLy8gQ29udmVydCBoZXggdG8gZGVjaW1hbCAobWF0Y2hpbmcgb3JpZ2luYWwgcGFyc2VJbnQgbG9naWMpXG4gICAgICByZXR1cm4gcGFyc2VJbnQodG9rZW5JZEhleCwgMTYpLnRvU3RyaW5nKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBidXJuIE5GVCBkYXRhOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmV0d29yay1hcHByb3ByaWF0ZSBkZWxlZ2F0aW9uIGNvbnRyYWN0IGFkZHJlc3NcbiAgICogQHBhcmFtIHtDb2luQ29uZmlnfSBjb2luQ29uZmlnIC0gVGhlIGNvaW4gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGRlbGVnYXRpb24gY29udHJhY3QgYWRkcmVzcyBmb3IgdGhlIG5ldHdvcmtcbiAgICovXG4gIGdldERlZmF1bHREZWxlZ2F0aW9uQWRkcmVzcyhjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPik6IHN0cmluZyB7XG4gICAgY29uc3QgaXNUZXN0bmV0ID0gY29pbkNvbmZpZy5uZXR3b3JrLnR5cGUgPT09ICd0ZXN0bmV0JztcbiAgICByZXR1cm4gaXNUZXN0bmV0ID8gU1RBUkdBVEVfREVMRUdBVElPTl9BRERSRVNTX1RFU1RORVQgOiBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1M7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBuZXR3b3JrLWFwcHJvcHJpYXRlIHN0YWtpbmcgY29udHJhY3QgYWRkcmVzc1xuICAgKiBAcGFyYW0ge0NvaW5Db25maWd9IGNvaW5Db25maWcgLSBUaGUgY29pbiBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgc3Rha2luZyBjb250cmFjdCBhZGRyZXNzIGZvciB0aGUgbmV0d29ya1xuICAgKi9cbiAgZ2V0RGVmYXVsdFN0YWtpbmdBZGRyZXNzKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KTogc3RyaW5nIHtcbiAgICBjb25zdCBpc1Rlc3RuZXQgPSBjb2luQ29uZmlnLm5ldHdvcmsudHlwZSA9PT0gJ3Rlc3RuZXQnO1xuICAgIHJldHVybiBpc1Rlc3RuZXQgPyBTVEFSR0FURV9ORlRfQUREUkVTU19URVNUTkVUIDogU1RBUkdBVEVfTkZUX0FERFJFU1M7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gYWRkcmVzcyBpcyBhIHZhbGlkIGRlbGVnYXRpb24gY29udHJhY3QgYWRkcmVzcyBmb3IgYW55IG5ldHdvcmtcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgYWRkcmVzcyB0byBjaGVja1xuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgYWRkcmVzcyBpcyBhIGRlbGVnYXRpb24gY29udHJhY3QgYWRkcmVzc1xuICAgKi9cbiAgaXNEZWxlZ2F0aW9uQ29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxvd2VyQWRkcmVzcyA9IGFkZHJlc3MudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gKFxuICAgICAgbG93ZXJBZGRyZXNzID09PSBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1MudG9Mb3dlckNhc2UoKSB8fFxuICAgICAgbG93ZXJBZGRyZXNzID09PSBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1NfVEVTVE5FVC50b0xvd2VyQ2FzZSgpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbiBhZGRyZXNzIGlzIGEgdmFsaWQgTkZUIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGFueSBuZXR3b3JrXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIGFkZHJlc3MgdG8gY2hlY2tcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGFkZHJlc3MgaXMgYW4gTkZUIGNvbnRyYWN0IGFkZHJlc3NcbiAgICovXG4gIGlzTmZ0Q29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGxvd2VyQWRkcmVzcyA9IGFkZHJlc3MudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gKFxuICAgICAgbG93ZXJBZGRyZXNzID09PSBTVEFSR0FURV9ORlRfQUREUkVTUy50b0xvd2VyQ2FzZSgpIHx8IGxvd2VyQWRkcmVzcyA9PT0gU1RBUkdBVEVfTkZUX0FERFJFU1NfVEVTVE5FVC50b0xvd2VyQ2FzZSgpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IGEgY29udHJhY3QgYWRkcmVzcyBtYXRjaGVzIHRoZSBleHBlY3RlZCBORlQvc3Rha2luZyBjb250cmFjdCBmb3IgdGhlIG5ldHdvcmtcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgY29udHJhY3QgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICAgKiBAcGFyYW0ge0NvaW5Db25maWd9IGNvaW5Db25maWcgLSBUaGUgY29pbiBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGFkZHJlc3MgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0ZWQgTkZUIGNvbnRyYWN0IGFkZHJlc3NcbiAgICovXG4gIHZhbGlkYXRlU3Rha2luZ0NvbnRyYWN0QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcsIGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KTogdm9pZCB7XG4gICAgY29uc3QgZXhwZWN0ZWRBZGRyZXNzID0gdGhpcy5nZXREZWZhdWx0U3Rha2luZ0FkZHJlc3MoY29pbkNvbmZpZyk7XG4gICAgaWYgKGFkZHJlc3MudG9Mb3dlckNhc2UoKSAhPT0gZXhwZWN0ZWRBZGRyZXNzLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgc3Rha2luZyBjb250cmFjdCBhZGRyZXNzLiBFeHBlY3RlZCAke2V4cGVjdGVkQWRkcmVzc30gZm9yICR7Y29pbkNvbmZpZy5uZXR3b3JrLnR5cGV9LCBnb3QgJHthZGRyZXNzfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoYXQgYSBjb250cmFjdCBhZGRyZXNzIG1hdGNoZXMgdGhlIGV4cGVjdGVkIGRlbGVnYXRpb24gY29udHJhY3QgZm9yIHRoZSBuZXR3b3JrXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIGNvbnRyYWN0IGFkZHJlc3MgdG8gdmFsaWRhdGVcbiAgICogQHBhcmFtIHtDb2luQ29uZmlnfSBjb2luQ29uZmlnIC0gVGhlIGNvaW4gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBhZGRyZXNzIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGRlbGVnYXRpb24gY29udHJhY3QgYWRkcmVzc1xuICAgKi9cbiAgdmFsaWRhdGVEZWxlZ2F0aW9uQ29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiB2b2lkIHtcbiAgICBjb25zdCBleHBlY3RlZEFkZHJlc3MgPSB0aGlzLmdldERlZmF1bHREZWxlZ2F0aW9uQWRkcmVzcyhjb2luQ29uZmlnKTtcbiAgICBpZiAoYWRkcmVzcy50b0xvd2VyQ2FzZSgpICE9PSBleHBlY3RlZEFkZHJlc3MudG9Mb3dlckNhc2UoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBkZWxlZ2F0aW9uIGNvbnRyYWN0IGFkZHJlc3MuIEV4cGVjdGVkICR7ZXhwZWN0ZWRBZGRyZXNzfSBmb3IgJHtjb2luQ29uZmlnLm5ldHdvcmsudHlwZX0sIGdvdCAke2FkZHJlc3N9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLGdEQUE0RTtBQUM1RSxvRUFBeUM7QUFDekMscURBQW1EO0FBQ25ELG1EQUF3RjtBQUN4RiwyREFLa0M7QUFDbEMsMkNBa0JxQjtBQUNyQix1Q0FBb0M7QUFHcEMsTUFBYSxLQUFLO0lBQ2hCLGNBQWMsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsOEJBQWtCLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSwrQkFBbUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQztZQUNILElBQUksaUJBQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBVztRQUMxQixJQUFJLENBQUM7WUFDSCxJQUFJLGlCQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWlCO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLHFDQUF5QixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFhLEVBQUUsTUFBYztRQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUM1RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELHNCQUFzQixDQUFDLHFCQUE2QjtRQUNsRCxNQUFNLE9BQU8sR0FBRyxrQkFBTyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN4RCxJQUFJLENBQUM7WUFDSCxPQUFPLHNCQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsOEJBQThCLENBQUMsRUFBRSxDQUFDO2dCQUMxRCwrQ0FBK0M7Z0JBQy9DLE9BQU8sc0JBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFDRCxNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsT0FBNEI7UUFDdkQsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdCLE9BQU8sMEJBQWUsQ0FBQyxJQUFJLENBQUM7UUFDOUIsQ0FBQzthQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsd0NBQXlCLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sMEJBQWUsQ0FBQyxxQkFBcUIsQ0FBQztRQUMvQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2Q0FBOEIsQ0FBQyxFQUFFLENBQUM7WUFDdEUsT0FBTywwQkFBZSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQ0FBd0IsQ0FBQyxFQUFFLENBQUM7WUFDaEUsT0FBTywwQkFBZSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2QkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDekQsT0FBTywwQkFBZSxDQUFDLFlBQVksQ0FBQztRQUN0QyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBc0IsQ0FBQyxFQUFFLENBQUM7WUFDOUQsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQ0FBeUIsQ0FBQyxFQUFFLENBQUM7WUFDakUsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQ0FBeUIsQ0FBQyxFQUFFLENBQUM7WUFDakUsT0FBTywwQkFBZSxDQUFDLGFBQWEsQ0FBQztRQUN2QyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBa0IsQ0FBQyxFQUFFLENBQUM7WUFDMUQsT0FBTywwQkFBZSxDQUFDLGVBQWUsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFDTCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3Q0FBNEIsQ0FBQztZQUN4RCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQ0FBK0IsQ0FBQyxFQUMzRCxDQUFDO1lBQ0QsT0FBTywwQkFBZSxDQUFDLFlBQVksQ0FBQztRQUN0QyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQ0FBc0IsQ0FBQyxFQUFFLENBQUM7WUFDOUQsT0FBTywwQkFBZSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sMEJBQWUsQ0FBQyxTQUFTLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxTQUFpQixFQUFFLFNBQWlCO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM5QixNQUFNLEtBQUssR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxJQUFJLG9CQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUU5QyxNQUFNLE1BQU0sR0FBRyx3QkFBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsTUFBTSxJQUFJLEdBQUcsd0JBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWxELE9BQU8sSUFBQSw4QkFBWSxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBWSxFQUFFLEVBQVUsRUFBRSxPQUFlO1FBQzFELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQztRQUNsQyxNQUFNLEtBQUssR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDaEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksb0JBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRTNDLE1BQU0sTUFBTSxHQUFHLHdCQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksR0FBRyx3QkFBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFbEQsT0FBTyxJQUFBLDhCQUFZLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVsQyx1Q0FBdUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsd0JBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUV6RixPQUFPO2dCQUNMLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQixTQUFTLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gscUJBQXFCLENBQUMsSUFBWTtRQUNoQyxJQUFJLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRWxDLHVDQUF1QztZQUN2QyxNQUFNLE9BQU8sR0FBRyx3QkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFFakYsT0FBTztnQkFDTCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM1QixDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsd0JBQXdCLENBQUMsSUFBWTtRQUNuQyxJQUFJLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRWxDLHVDQUF1QztZQUN2QyxNQUFNLE9BQU8sR0FBRyx3QkFBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRTlGLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLFNBQVMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzlCLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsSUFBWTtRQUNsQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLElBQUEsNEJBQWEsRUFDckMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQ3RCLElBQUEsa0NBQW1CLEVBQUMsb0NBQXdCLEVBQUUsSUFBSSxDQUFDLENBQ3BELENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUEsOEJBQVksRUFBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4RSxPQUFPO1lBQ0wsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQVk7UUFLaEMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsSUFBQSw0QkFBYSxFQUN6QyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLEVBQ2pDLElBQUEsa0NBQW1CLEVBQUMsa0NBQXNCLEVBQUUsSUFBSSxDQUFDLENBQ2xELENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUEsOEJBQVksRUFBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuRSxNQUFNLFNBQVMsR0FBeUI7WUFDdEMsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixNQUFNLEVBQUUsR0FBRztTQUNaLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFBLDhCQUFZLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0QsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLE9BQU87WUFDTCxVQUFVLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDdkIsTUFBTTtZQUNOLE9BQU87U0FDUixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQUMsSUFBWTtRQUNqQyxJQUFJLENBQUM7WUFDSCxrRUFBa0U7WUFDbEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVsQywwQ0FBMEM7WUFDMUMsa0VBQWtFO1lBQ2xFLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRTNDLGdDQUFnQztZQUNoQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsd0JBQXdCLENBQUMsSUFBWTtRQUNuQyxJQUFJLENBQUM7WUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQ0FBeUIsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztZQUN6RCxDQUFDO1lBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQ0FBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSw0REFBNEQ7WUFDNUQsT0FBTyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGlCQUFpQixDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsOEJBQWtCLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsOEJBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekQsNERBQTREO1lBQzVELE9BQU8sUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDJCQUEyQixDQUFDLFVBQWdDO1FBQzFELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztRQUN4RCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsNkNBQWlDLENBQUMsQ0FBQyxDQUFDLHVDQUEyQixDQUFDO0lBQ3JGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0JBQXdCLENBQUMsVUFBZ0M7UUFDdkQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO1FBQ3hELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyw2Q0FBaUMsQ0FBQyxDQUFDLENBQUMsZ0NBQW9CLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCwyQkFBMkIsQ0FBQyxPQUFlO1FBQ3pDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQ0wsWUFBWSxLQUFLLHVDQUEyQixDQUFDLFdBQVcsRUFBRTtZQUMxRCxZQUFZLEtBQUssK0NBQW1DLENBQUMsV0FBVyxFQUFFLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLE9BQWU7UUFDbEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNDLE9BQU8sQ0FDTCxZQUFZLEtBQUssZ0NBQW9CLENBQUMsV0FBVyxFQUFFLElBQUksWUFBWSxLQUFLLHdDQUE0QixDQUFDLFdBQVcsRUFBRSxDQUNuSCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsOEJBQThCLENBQUMsT0FBZSxFQUFFLFVBQWdDO1FBQzlFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxlQUFlLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksS0FBSyxDQUNiLDhDQUE4QyxlQUFlLFFBQVEsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsT0FBTyxFQUFFLENBQy9HLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsaUNBQWlDLENBQUMsT0FBZSxFQUFFLFVBQWdDO1FBQ2pGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxlQUFlLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUM1RCxNQUFNLElBQUksS0FBSyxDQUNiLGlEQUFpRCxlQUFlLFFBQVEsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsT0FBTyxFQUFFLENBQ2xILENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdFZELHNCQXNWQztBQUVELE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7QUFFMUIsa0JBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGV4VUludCwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uQ2xhdXNlIH0gZnJvbSAnQHZlY2hhaW4vc2RrLWNvcmUnO1xuaW1wb3J0IEV0aGVyZXVtQWJpIGZyb20gJ2V0aGVyZXVtanMtYWJpJztcbmltcG9ydCB7IGFkZEhleFByZWZpeCwgQk4gfSBmcm9tICdldGhlcmV1bWpzLXV0aWwnO1xuaW1wb3J0IHsgQmFzZVV0aWxzLCBUcmFuc2FjdGlvblJlY2lwaWVudCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHtcbiAgdjRDcmVhdGVGb3J3YXJkZXJNZXRob2RJZCxcbiAgZmx1c2hGb3J3YXJkZXJUb2tlbnNNZXRob2RJZFY0LFxuICBnZXRSYXdEZWNvZGVkLFxuICBnZXRCdWZmZXJlZEJ5dGVDb2RlLFxufSBmcm9tICdAYml0Z28tYmV0YS9hYnN0cmFjdC1ldGgnO1xuaW1wb3J0IHtcbiAgVFJBTlNGRVJfVE9LRU5fTUVUSE9EX0lELFxuICBTVEFLSU5HX01FVEhPRF9JRCxcbiAgU1RBS0VfQ0xBVVNFX01FVEhPRF9JRCxcbiAgRVhJVF9ERUxFR0FUSU9OX01FVEhPRF9JRCxcbiAgQlVSTl9ORlRfTUVUSE9EX0lELFxuICBWRVRfQUREUkVTU19MRU5HVEgsXG4gIFZFVF9CTE9DS19JRF9MRU5HVEgsXG4gIFZFVF9UUkFOU0FDVElPTl9JRF9MRU5HVEgsXG4gIFRSQU5TRkVSX05GVF9NRVRIT0RfSUQsXG4gIENMQUlNX0JBU0VfUkVXQVJEU19NRVRIT0RfSUQsXG4gIENMQUlNX1NUQUtJTkdfUkVXQVJEU19NRVRIT0RfSUQsXG4gIFNUQVJHQVRFX05GVF9BRERSRVNTLFxuICBTVEFSR0FURV9ORlRfQUREUkVTU19URVNUTkVULFxuICBTVEFSR0FURV9ERUxFR0FUSU9OX0FERFJFU1MsXG4gIERFTEVHQVRFX0NMQVVTRV9NRVRIT0RfSUQsXG4gIFNUQVJHQVRFX0NPTlRSQUNUX0FERFJFU1NfVEVTVE5FVCxcbiAgU1RBUkdBVEVfREVMRUdBVElPTl9BRERSRVNTX1RFU1RORVQsXG59IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMgaW1wbGVtZW50cyBCYXNlVXRpbHMge1xuICBpc1ZhbGlkQWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KGFkZHJlc3MsIFZFVF9BRERSRVNTX0xFTkdUSCk7XG4gIH1cblxuICBpc1ZhbGlkQmxvY2tJZChoYXNoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZhbGlkSGV4KGhhc2gsIFZFVF9CTE9DS19JRF9MRU5HVEgpO1xuICB9XG5cbiAgaXNWYWxpZFByaXZhdGVLZXkoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICB0cnkge1xuICAgICAgbmV3IEtleVBhaXIoeyBwcnY6IGtleSB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpc1ZhbGlkUHVibGljS2V5KGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIG5ldyBLZXlQYWlyKHsgcHViOiBrZXkgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZFNpZ25hdHVyZShzaWduYXR1cmU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZCcpO1xuICB9XG5cbiAgaXNWYWxpZFRyYW5zYWN0aW9uSWQodHhJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNWYWxpZEhleCh0eElkLCBWRVRfVFJBTlNBQ1RJT05fSURfTEVOR1RIKTtcbiAgfVxuXG4gIGlzVmFsaWRIZXgodmFsdWU6IHN0cmluZywgbGVuZ3RoOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYF4oMHh8MFgpW2EtZkEtRjAtOV17JHtsZW5ndGh9fSRgKTtcbiAgICByZXR1cm4gcmVnZXgudGVzdCh2YWx1ZSk7XG4gIH1cblxuICBkZXNlcmlhbGl6ZVRyYW5zYWN0aW9uKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbjogc3RyaW5nKTogVHJhbnNhY3Rpb24ge1xuICAgIGNvbnN0IHR4Qnl0ZXMgPSBIZXhVSW50Lm9mKHNlcmlhbGl6ZWRUcmFuc2FjdGlvbikuYnl0ZXM7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvbi5kZWNvZGUodHhCeXRlcywgZmFsc2UpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyci5tZXNzYWdlPy5pbmNsdWRlcygnRXhwZWN0ZWQgOSBpdGVtcywgYnV0IGdvdCAxMCcpKSB7XG4gICAgICAgIC8vIExpa2VseSBzaWduZWQsIHNvIHJldHJ5IHdpdGggaXNTaWduZWQgPSB0cnVlXG4gICAgICAgIHJldHVybiBUcmFuc2FjdGlvbi5kZWNvZGUodHhCeXRlcywgdHJ1ZSk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnI7XG4gICAgfVxuICB9XG5cbiAgZ2V0VHJhbnNhY3Rpb25UeXBlRnJvbUNsYXVzZShjbGF1c2VzOiBUcmFuc2FjdGlvbkNsYXVzZVtdKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICBpZiAoY2xhdXNlc1swXS5kYXRhID09PSAnMHgnKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNlbmQ7XG4gICAgfSBlbHNlIGlmIChjbGF1c2VzWzBdLmRhdGEuc3RhcnRzV2l0aCh2NENyZWF0ZUZvcndhcmRlck1ldGhvZElkKSkge1xuICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5BZGRyZXNzSW5pdGlhbGl6YXRpb247XG4gICAgfSBlbHNlIGlmIChjbGF1c2VzWzBdLmRhdGEuc3RhcnRzV2l0aChmbHVzaEZvcndhcmRlclRva2Vuc01ldGhvZElkVjQpKSB7XG4gICAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLkZsdXNoVG9rZW5zO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoVFJBTlNGRVJfVE9LRU5fTUVUSE9EX0lEKSkge1xuICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gICAgfSBlbHNlIGlmIChjbGF1c2VzWzBdLmRhdGEuc3RhcnRzV2l0aChTVEFLSU5HX01FVEhPRF9JRCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuQ29udHJhY3RDYWxsO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoU1RBS0VfQ0xBVVNFX01FVEhPRF9JRCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0FjdGl2YXRlO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoREVMRUdBVEVfQ0xBVVNFX01FVEhPRF9JRCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0RlbGVnYXRlO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoRVhJVF9ERUxFR0FUSU9OX01FVEhPRF9JRCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1VubG9jaztcbiAgICB9IGVsc2UgaWYgKGNsYXVzZXNbMF0uZGF0YS5zdGFydHNXaXRoKEJVUk5fTkZUX01FVEhPRF9JRCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ1dpdGhkcmF3O1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBjbGF1c2VzWzBdLmRhdGEuc3RhcnRzV2l0aChDTEFJTV9CQVNFX1JFV0FSRFNfTUVUSE9EX0lEKSB8fFxuICAgICAgY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoQ0xBSU1fU1RBS0lOR19SRVdBUkRTX01FVEhPRF9JRClcbiAgICApIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU3Rha2luZ0NsYWltO1xuICAgIH0gZWxzZSBpZiAoY2xhdXNlc1swXS5kYXRhLnN0YXJ0c1dpdGgoVFJBTlNGRVJfTkZUX01FVEhPRF9JRCkpIHtcbiAgICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZE5GVDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gICAgfVxuICB9XG5cbiAgZ2V0VHJhbnNmZXJUb2tlbkRhdGEodG9BZGRyZXNzOiBzdHJpbmcsIGFtb3VudFdlaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBtZXRob2ROYW1lID0gJ3RyYW5zZmVyJztcbiAgICBjb25zdCB0eXBlcyA9IFsnYWRkcmVzcycsICd1aW50MjU2J107XG4gICAgY29uc3QgcGFyYW1zID0gW3RvQWRkcmVzcywgbmV3IEJOKGFtb3VudFdlaSldO1xuXG4gICAgY29uc3QgbWV0aG9kID0gRXRoZXJldW1BYmkubWV0aG9kSUQobWV0aG9kTmFtZSwgdHlwZXMpO1xuICAgIGNvbnN0IGFyZ3MgPSBFdGhlcmV1bUFiaS5yYXdFbmNvZGUodHlwZXMsIHBhcmFtcyk7XG5cbiAgICByZXR1cm4gYWRkSGV4UHJlZml4KEJ1ZmZlci5jb25jYXQoW21ldGhvZCwgYXJnc10pLnRvU3RyaW5nKCdoZXgnKSk7XG4gIH1cblxuICBnZXRUcmFuc2Zlck5GVERhdGEoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nLCB0b2tlbklkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1ldGhvZE5hbWUgPSAndHJhbnNmZXJGcm9tJztcbiAgICBjb25zdCB0eXBlcyA9IFsnYWRkcmVzcycsICdhZGRyZXNzJywgJ3VpbnQyNTYnXTtcbiAgICBjb25zdCBwYXJhbXMgPSBbZnJvbSwgdG8sIG5ldyBCTih0b2tlbklkKV07XG5cbiAgICBjb25zdCBtZXRob2QgPSBFdGhlcmV1bUFiaS5tZXRob2RJRChtZXRob2ROYW1lLCB0eXBlcyk7XG4gICAgY29uc3QgYXJncyA9IEV0aGVyZXVtQWJpLnJhd0VuY29kZSh0eXBlcywgcGFyYW1zKTtcblxuICAgIHJldHVybiBhZGRIZXhQcmVmaXgoQnVmZmVyLmNvbmNhdChbbWV0aG9kLCBhcmdzXSkudG9TdHJpbmcoJ2hleCcpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIHN0YWtpbmcgdHJhbnNhY3Rpb24gZGF0YSB0byBleHRyYWN0IGxldmVsSWQgYW5kIGF1dG9yZW5ld1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGF0YSAtIFRoZSBlbmNvZGVkIHRyYW5zYWN0aW9uIGRhdGFcbiAgICogQHJldHVybnMge29iamVjdH0gLSBPYmplY3QgY29udGFpbmluZyBsZXZlbElkIGFuZCBhdXRvcmVuZXdcbiAgICovXG4gIGRlY29kZVN0YWtpbmdEYXRhKGRhdGE6IHN0cmluZyk6IHsgbGV2ZWxJZDogbnVtYmVyOyBhdXRvcmVuZXc6IGJvb2xlYW4gfSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBkYXRhLnNsaWNlKDEwKTtcblxuICAgICAgLy8gRGVjb2RlIHVzaW5nIGV0aGVyZXVtanMtYWJpIGRpcmVjdGx5XG4gICAgICBjb25zdCBkZWNvZGVkID0gRXRoZXJldW1BYmkucmF3RGVjb2RlKFsndWludDgnLCAnYm9vbCddLCBCdWZmZXIuZnJvbShwYXJhbWV0ZXJzLCAnaGV4JykpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBsZXZlbElkOiBOdW1iZXIoZGVjb2RlZFswXSksXG4gICAgICAgIGF1dG9yZW5ldzogQm9vbGVhbihkZWNvZGVkWzFdKSxcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBzdGFraW5nIGRhdGE6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RlcyBzdGFraW5nIHRyYW5zYWN0aW9uIGRhdGEgdG8gZXh0cmFjdCBsZXZlbElkIGFuZCBhdXRvcmVuZXdcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCB0cmFuc2FjdGlvbiBkYXRhXG4gICAqIEByZXR1cm5zIHtvYmplY3R9IC0gT2JqZWN0IGNvbnRhaW5pbmcgbGV2ZWxJZCBhbmQgYXV0b3JlbmV3XG4gICAqL1xuICBkZWNvZGVTdGFrZUNsYXVzZURhdGEoZGF0YTogc3RyaW5nKTogeyBsZXZlbElkOiBudW1iZXIgfSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBkYXRhLnNsaWNlKDEwKTtcblxuICAgICAgLy8gRGVjb2RlIHVzaW5nIGV0aGVyZXVtanMtYWJpIGRpcmVjdGx5XG4gICAgICBjb25zdCBkZWNvZGVkID0gRXRoZXJldW1BYmkucmF3RGVjb2RlKFsndWludDgnXSwgQnVmZmVyLmZyb20ocGFyYW1ldGVycywgJ2hleCcpKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGV2ZWxJZDogTnVtYmVyKGRlY29kZWRbMF0pLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIHN0YWtpbmcgZGF0YTogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIGRlbGVnYXRlIHRyYW5zYWN0aW9uIGRhdGEgdG8gZXh0cmFjdCB0b2tlbklkIGFuZCB2YWxpZGF0b3JBZGRyZXNzXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhIC0gVGhlIGVuY29kZWQgdHJhbnNhY3Rpb24gZGF0YVxuICAgKiBAcmV0dXJucyB7b2JqZWN0fSAtIE9iamVjdCBjb250YWluaW5nIGxldmVsSWQgYW5kIHZhbGlkYXRvciBhZGRyZXNzXG4gICAqL1xuICBkZWNvZGVEZWxlZ2F0ZUNsYXVzZURhdGEoZGF0YTogc3RyaW5nKTogeyB0b2tlbklkOiBzdHJpbmc7IHZhbGlkYXRvcjogc3RyaW5nIH0ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJhbWV0ZXJzID0gZGF0YS5zbGljZSgxMCk7XG5cbiAgICAgIC8vIERlY29kZSB1c2luZyBldGhlcmV1bWpzLWFiaSBkaXJlY3RseVxuICAgICAgY29uc3QgZGVjb2RlZCA9IEV0aGVyZXVtQWJpLnJhd0RlY29kZShbJ3VpbnQyNTYnLCAnYWRkcmVzcyddLCBCdWZmZXIuZnJvbShwYXJhbWV0ZXJzLCAnaGV4JykpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b2tlbklkOiBTdHJpbmcoZGVjb2RlZFswXSksXG4gICAgICAgIHZhbGlkYXRvcjogU3RyaW5nKGRlY29kZWRbMV0pLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIGRlbGVnYXRpb24gZGF0YTogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgIH1cbiAgfVxuXG4gIGRlY29kZVRyYW5zZmVyVG9rZW5EYXRhKGRhdGE6IHN0cmluZyk6IFRyYW5zYWN0aW9uUmVjaXBpZW50IHtcbiAgICBjb25zdCBbYWRkcmVzcywgYW1vdW50XSA9IGdldFJhd0RlY29kZWQoXG4gICAgICBbJ2FkZHJlc3MnLCAndWludDI1NiddLFxuICAgICAgZ2V0QnVmZmVyZWRCeXRlQ29kZShUUkFOU0ZFUl9UT0tFTl9NRVRIT0RfSUQsIGRhdGEpXG4gICAgKTtcbiAgICBjb25zdCByZWNpcGllbnRBZGRyZXNzID0gYWRkSGV4UHJlZml4KGFkZHJlc3MudG9TdHJpbmcoKSkudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkcmVzczogcmVjaXBpZW50QWRkcmVzcyxcbiAgICAgIGFtb3VudDogYW1vdW50LnRvU3RyaW5nKCksXG4gICAgfTtcbiAgfVxuXG4gIGRlY29kZVRyYW5zZmVyTkZURGF0YShkYXRhOiBzdHJpbmcpOiB7XG4gICAgcmVjaXBpZW50czogVHJhbnNhY3Rpb25SZWNpcGllbnRbXTtcbiAgICBzZW5kZXI6IHN0cmluZztcbiAgICB0b2tlbklkOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IFtmcm9tLCB0bywgdG9rZW5JZEJOXSA9IGdldFJhd0RlY29kZWQoXG4gICAgICBbJ2FkZHJlc3MnLCAnYWRkcmVzcycsICd1aW50MjU2J10sXG4gICAgICBnZXRCdWZmZXJlZEJ5dGVDb2RlKFRSQU5TRkVSX05GVF9NRVRIT0RfSUQsIGRhdGEpXG4gICAgKTtcbiAgICBjb25zdCByZWNpcGllbnRBZGRyZXNzID0gYWRkSGV4UHJlZml4KHRvLnRvU3RyaW5nKCkpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgcmVjaXBpZW50OiBUcmFuc2FjdGlvblJlY2lwaWVudCA9IHtcbiAgICAgIGFkZHJlc3M6IHJlY2lwaWVudEFkZHJlc3MsXG4gICAgICBhbW91bnQ6ICcxJyxcbiAgICB9O1xuICAgIGNvbnN0IHNlbmRlciA9IGFkZEhleFByZWZpeChmcm9tLnRvU3RyaW5nKCkpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgdG9rZW5JZCA9IHRva2VuSWRCTi50b1N0cmluZygpO1xuICAgIHJldHVybiB7XG4gICAgICByZWNpcGllbnRzOiBbcmVjaXBpZW50XSxcbiAgICAgIHNlbmRlcixcbiAgICAgIHRva2VuSWQsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWNvZGVzIGNsYWltIHJld2FyZHMgdHJhbnNhY3Rpb24gZGF0YSB0byBleHRyYWN0IHRva2VuSWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCBjbGFpbSByZXdhcmRzIG1ldGhvZCBjYWxsIGRhdGFcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgdG9rZW5JZCBhcyBhIHN0cmluZ1xuICAgKi9cbiAgZGVjb2RlQ2xhaW1SZXdhcmRzRGF0YShkYXRhOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRyeSB7XG4gICAgICAvLyBSZW1vdmUgbWV0aG9kIElEIChmaXJzdCAxMCBjaGFyYWN0ZXJzOiAnMHgnICsgNC1ieXRlIG1ldGhvZCBJRClcbiAgICAgIGNvbnN0IG1ldGhvZERhdGEgPSBkYXRhLnNsaWNlKDEwKTtcblxuICAgICAgLy8gRXh0cmFjdCB0b2tlbklkIGZyb20gZmlyc3QgMzItYnl0ZSBzbG90XG4gICAgICAvLyBUaGUgdG9rZW5JZCBpcyBhIHVpbnQyNTYsIHNvIHdlIHRha2UgdGhlIGZ1bGwgNjQgaGV4IGNoYXJhY3RlcnNcbiAgICAgIGNvbnN0IHRva2VuSWRIZXggPSBtZXRob2REYXRhLnNsaWNlKDAsIDY0KTtcblxuICAgICAgLy8gQ29udmVydCBoZXggdG8gZGVjaW1hbCBzdHJpbmdcbiAgICAgIHJldHVybiBCaWdJbnQoJzB4JyArIHRva2VuSWRIZXgpLnRvU3RyaW5nKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBjbGFpbSByZXdhcmRzIGRhdGE6ICR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVjb2RlcyBleGl0IGRlbGVnYXRpb24gdHJhbnNhY3Rpb24gZGF0YSB0byBleHRyYWN0IHRva2VuSWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCBleGl0IGRlbGVnYXRpb24gbWV0aG9kIGNhbGwgZGF0YVxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSB0b2tlbklkIGFzIGEgc3RyaW5nXG4gICAqL1xuICBkZWNvZGVFeGl0RGVsZWdhdGlvbkRhdGEoZGF0YTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFkYXRhLnN0YXJ0c1dpdGgoRVhJVF9ERUxFR0FUSU9OX01FVEhPRF9JRCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGV4aXQgZGVsZWdhdGlvbiBtZXRob2QgZGF0YScpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0b2tlbklkSGV4ID0gZGF0YS5zbGljZShFWElUX0RFTEVHQVRJT05fTUVUSE9EX0lELmxlbmd0aCk7XG4gICAgICAvLyBDb252ZXJ0IGhleCB0byBkZWNpbWFsIChtYXRjaGluZyBvcmlnaW5hbCBwYXJzZUludCBsb2dpYylcbiAgICAgIHJldHVybiBwYXJzZUludCh0b2tlbklkSGV4LCAxNikudG9TdHJpbmcoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gZGVjb2RlIGV4aXQgZGVsZWdhdGlvbiBkYXRhOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlY29kZXMgYnVybiBORlQgdHJhbnNhY3Rpb24gZGF0YSB0byBleHRyYWN0IHRva2VuSWRcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGEgLSBUaGUgZW5jb2RlZCBidXJuIE5GVCBtZXRob2QgY2FsbCBkYXRhXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHRva2VuSWQgYXMgYSBzdHJpbmdcbiAgICovXG4gIGRlY29kZUJ1cm5OZnREYXRhKGRhdGE6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghZGF0YS5zdGFydHNXaXRoKEJVUk5fTkZUX01FVEhPRF9JRCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJ1cm4gTkZUIG1ldGhvZCBkYXRhJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRva2VuSWRIZXggPSBkYXRhLnNsaWNlKEJVUk5fTkZUX01FVEhPRF9JRC5sZW5ndGgpO1xuICAgICAgLy8gQ29udmVydCBoZXggdG8gZGVjaW1hbCAobWF0Y2hpbmcgb3JpZ2luYWwgcGFyc2VJbnQgbG9naWMpXG4gICAgICByZXR1cm4gcGFyc2VJbnQodG9rZW5JZEhleCwgMTYpLnRvU3RyaW5nKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlY29kZSBidXJuIE5GVCBkYXRhOiAke2Vycm9yLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmV0d29yay1hcHByb3ByaWF0ZSBzdGFyZ2F0ZSBjb250cmFjdCBhZGRyZXNzXG4gICAqIEBwYXJhbSB7Q29pbkNvbmZpZ30gY29pbkNvbmZpZyAtIFRoZSBjb2luIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBkZWxlZ2F0aW9uIGNvbnRyYWN0IGFkZHJlc3MgZm9yIHRoZSBuZXR3b3JrXG4gICAqL1xuICBnZXREZWZhdWx0RGVsZWdhdGlvbkFkZHJlc3MoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGlzVGVzdG5ldCA9IGNvaW5Db25maWcubmV0d29yay50eXBlID09PSAndGVzdG5ldCc7XG4gICAgcmV0dXJuIGlzVGVzdG5ldCA/IFNUQVJHQVRFX0NPTlRSQUNUX0FERFJFU1NfVEVTVE5FVCA6IFNUQVJHQVRFX0RFTEVHQVRJT05fQUREUkVTUztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG5ldHdvcmstYXBwcm9wcmlhdGUgc3Rha2luZyBjb250cmFjdCBhZGRyZXNzXG4gICAqIEBwYXJhbSB7Q29pbkNvbmZpZ30gY29pbkNvbmZpZyAtIFRoZSBjb2luIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBzdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MgZm9yIHRoZSBuZXR3b3JrXG4gICAqL1xuICBnZXREZWZhdWx0U3Rha2luZ0FkZHJlc3MoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiBzdHJpbmcge1xuICAgIGNvbnN0IGlzVGVzdG5ldCA9IGNvaW5Db25maWcubmV0d29yay50eXBlID09PSAndGVzdG5ldCc7XG4gICAgcmV0dXJuIGlzVGVzdG5ldCA/IFNUQVJHQVRFX0NPTlRSQUNUX0FERFJFU1NfVEVTVE5FVCA6IFNUQVJHQVRFX05GVF9BRERSRVNTO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGFuIGFkZHJlc3MgaXMgYSB2YWxpZCBkZWxlZ2F0aW9uIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGFueSBuZXR3b3JrXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIGFkZHJlc3MgdG8gY2hlY2tcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGFkZHJlc3MgaXMgYSBkZWxlZ2F0aW9uIGNvbnRyYWN0IGFkZHJlc3NcbiAgICovXG4gIGlzRGVsZWdhdGlvbkNvbnRyYWN0QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBsb3dlckFkZHJlc3MgPSBhZGRyZXNzLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvd2VyQWRkcmVzcyA9PT0gU1RBUkdBVEVfREVMRUdBVElPTl9BRERSRVNTLnRvTG93ZXJDYXNlKCkgfHxcbiAgICAgIGxvd2VyQWRkcmVzcyA9PT0gU1RBUkdBVEVfREVMRUdBVElPTl9BRERSRVNTX1RFU1RORVQudG9Mb3dlckNhc2UoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYW4gYWRkcmVzcyBpcyBhIHZhbGlkIE5GVCBjb250cmFjdCBhZGRyZXNzIGZvciBhbnkgbmV0d29ya1xuICAgKiBAcGFyYW0ge3N0cmluZ30gYWRkcmVzcyAtIFRoZSBhZGRyZXNzIHRvIGNoZWNrXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBhZGRyZXNzIGlzIGFuIE5GVCBjb250cmFjdCBhZGRyZXNzXG4gICAqL1xuICBpc05mdENvbnRyYWN0QWRkcmVzcyhhZGRyZXNzOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBsb3dlckFkZHJlc3MgPSBhZGRyZXNzLnRvTG93ZXJDYXNlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIGxvd2VyQWRkcmVzcyA9PT0gU1RBUkdBVEVfTkZUX0FERFJFU1MudG9Mb3dlckNhc2UoKSB8fCBsb3dlckFkZHJlc3MgPT09IFNUQVJHQVRFX05GVF9BRERSRVNTX1RFU1RORVQudG9Mb3dlckNhc2UoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhhdCBhIGNvbnRyYWN0IGFkZHJlc3MgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgc3RhcmdhdGUgYWRkcmVzcyBmb3IgdGhlIG5ldHdvcmtcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFkZHJlc3MgLSBUaGUgY29udHJhY3QgYWRkcmVzcyB0byB2YWxpZGF0ZVxuICAgKiBAcGFyYW0ge0NvaW5Db25maWd9IGNvaW5Db25maWcgLSBUaGUgY29pbiBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGFkZHJlc3MgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0ZWQgY29udHJhY3QgYWRkcmVzc1xuICAgKi9cbiAgdmFsaWRhdGVTdGFraW5nQ29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiB2b2lkIHtcbiAgICBjb25zdCBleHBlY3RlZEFkZHJlc3MgPSB0aGlzLmdldERlZmF1bHRTdGFraW5nQWRkcmVzcyhjb2luQ29uZmlnKTtcbiAgICBpZiAoYWRkcmVzcy50b0xvd2VyQ2FzZSgpICE9PSBleHBlY3RlZEFkZHJlc3MudG9Mb3dlckNhc2UoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBzdGFraW5nIGNvbnRyYWN0IGFkZHJlc3MuIEV4cGVjdGVkICR7ZXhwZWN0ZWRBZGRyZXNzfSBmb3IgJHtjb2luQ29uZmlnLm5ldHdvcmsudHlwZX0sIGdvdCAke2FkZHJlc3N9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhhdCBhIGNvbnRyYWN0IGFkZHJlc3MgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgc3RhcmdhdGUgY29udHJhY3QgZm9yIHRoZSBuZXR3b3JrXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhZGRyZXNzIC0gVGhlIGNvbnRyYWN0IGFkZHJlc3MgdG8gdmFsaWRhdGVcbiAgICogQHBhcmFtIHtDb2luQ29uZmlnfSBjb2luQ29uZmlnIC0gVGhlIGNvaW4gY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBhZGRyZXNzIGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGRlbGVnYXRpb24gY29udHJhY3QgYWRkcmVzc1xuICAgKi9cbiAgdmFsaWRhdGVEZWxlZ2F0aW9uQ29udHJhY3RBZGRyZXNzKGFkZHJlc3M6IHN0cmluZywgY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pOiB2b2lkIHtcbiAgICBjb25zdCBleHBlY3RlZEFkZHJlc3MgPSB0aGlzLmdldERlZmF1bHREZWxlZ2F0aW9uQWRkcmVzcyhjb2luQ29uZmlnKTtcbiAgICBpZiAoYWRkcmVzcy50b0xvd2VyQ2FzZSgpICE9PSBleHBlY3RlZEFkZHJlc3MudG9Mb3dlckNhc2UoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBkZWxlZ2F0aW9uIGNvbnRyYWN0IGFkZHJlc3MuIEV4cGVjdGVkICR7ZXhwZWN0ZWRBZGRyZXNzfSBmb3IgJHtjb2luQ29uZmlnLm5ldHdvcmsudHlwZX0sIGdvdCAke2FkZHJlc3N9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgdXRpbHMgPSBuZXcgVXRpbHMoKTtcblxuZXhwb3J0IGRlZmF1bHQgdXRpbHM7XG4iXX0=
@@ -4,11 +4,13 @@ export declare const SPONSORED_TRANSACTION = "0xf8bc2788014e9cad44bade0940e0df94
4
4
  export declare const SPONSORED_TOKEN_TRANSACTION = "0xf8fb278801543ac0a0b3aaf940f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a0000818082c93e808307e669c101b8825dc39997717119cec9e65bfc927d1ad6ef31956e4747f95cea49f76f9e66164a737a155a6694f86287bcec043a83c7f9a3169fd3bb57ce617ab3fd4c59da437701277f6455fc041e672082bff003e75520c3167ad61edd98fba7e0ed87eb5323fc47feb3f51bfe2faa31c2174a2f7bb548e9727d7628f15137b4007a26651413fd00";
5
5
  export declare const SPONSORED_NFT_TRANSACTION = "0xf9011a2788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101b882212d212effea03773f4228cd049efe42c3efe54f18378def52f0ad349637248d67d0eec6fd9bc7ddc5ab4d98f22c4fc8de485e2403f90a68b2613e214245c0a401758c9d00ada40ebc36890bbf8cf1c84070e0950dcbb6cad94a4c9a4c0ffe16c7486c5b674207c4d916f7ed7cb501c73daaafc49cfe7685cf1e0f8054a7fa460300";
6
6
  export declare const STAKING_TRANSACTION = "0xf901032788015d55fcf2457e7c40f866f864941856c533ac2d94340aaa8544d35a5c1d4a21dee7880de0b6b3a7640000b844d8da3bbf0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000181808265848083094c53c101b882efcb9ea88e908d1a142db96c1b44dd056ea194f1ad45670c100a8c52348cc7b20387741260ebe7fe9b7594f96693c88662fa60edba5992332728222b0bdd8a30008535368bd901319eb4513d16bebc428dc8454d32a19eeb76372849a6134ebbba79f1eeceea1f6546574b945c05489222cb451f5b0e2901b0c687b750e833aeb800";
7
- export declare const STAKE_CLAUSE_TRANSACTION = "0xf8e3278801618b7b1354c4ca40f845f843941ec1d168574603ec35b9d229843b7c2b44bcb770880de0b6b3a7640000a4604f2177000000000000000000000000000000000000000000000000000000000000000881808305fd5a808307b278c101b882b380970580d957b8e7989aa9aa9281e57245fa3835cb2aaae6475b4062bb4f1c2dd2ca694df6503d5dfd654579130b3484bee75420247cf8f6b6b4b76b7939f101db6e6cef5a27375274741f3c0aba4be13a9e086337c3290866afe049efcdaa2d3227c9e12b52627c4d71f5b667821f9d33adcc4c97fdc28b93c34013d32e242300";
8
- export declare const DELEGATION_TRANSACTION = "0xf8fb278801618aa3e0a55fc940f85ef85c947240e3bc0d26431512d5b67dbd26d199205bffe880b8443207555d00000000000000000000000000000000000000000000000000000000000187690000000000000000000000000000000000000000000000000000000000000001818082e43a808306af07c101b882fb8030f6e2ef6563ff3b0e7e2a2292c1db5fc41c7ab9f598bad370c5cfd3dc32286ae8d709e941c0312c8cd33a3505156b44d1639c73980ffa66bc72f37820f2001c0e6b6e76a6a4d806c377a0a279053eb6ea4356bd235f4396585bb071d70f992c639d45c53431a3c1493a52a136203905e42c671dd384ee5f5ead0a70cb607001";
7
+ export declare const STAKE_CLAUSE_TRANSACTION = "0xf8e5278801638298c53767ac40f847f845941e02b2953adefec225cf0ec49805b1146a4429c18a021e19e0c9bab2400000a4604f2177000000000000000000000000000000000000000000000000000000000000000881808306338a80830f340bc101b882b4970b0c160552162de719b9ed1fa6268bbfe9b36fd4e4a5c13e956cf539e60478f69179e8db4a3106fdbe775e3d923510b16f48da56c66076d1f66ffd822abf01ebc040c795b1e17cb0ca5ba747e3a181b4eefea7db5378f64f82361bdb7745da45aba2ace3db9822b675474552f13849052987c431cd4867813c2cf635302b1101";
8
+ export declare const DELEGATION_TRANSACTION = "0xf8fc278801640639091a26ce40f85ef85c941e02b2953adefec225cf0ec49805b1146a4429c180b84408bbb8240000000000000000000000000000000000000000000000000000000000003d2e00000000000000000000000000563ec3cafbbe7e60b04b3190e6eca66579706d8180830464b080830d8b05c101b8821a3cca8e8339456c6055ef796e5d716dda00de45f4cd9431bedf2119ae5de01b1f0a7268690784ba8f5c22b3043d0530ece5303a813ffdd9c0a5ae0ae85deee400b04543d6874f30eca88b3efb927c44934e9eb64a6f2327cce44a0a94faaca13615d153e804ba3fdd02bf5f8e1b6bc8e0f6149a1c7694803ed4fbb549bb79066101";
9
+ export declare const EXIT_DELEGATION_TRANSACTION = "0xf8db278801640bf461bc7e1840f83df83b941e02b2953adefec225cf0ec49805b1146a4429c180a469e79b7d0000000000000000000000000000000000000000000000000000000000003d2d81808303525f808305f65ac101b8820cb393317793011b0a205973c77761f5c5c8652c21fe0115f527d2e2f2c1b5fc72a048107b263764312e9323f2ace9f30ce0beed873d7ef7f5432943330d2d5000a4a5f6439503f235ac6a5e17b47ac26c9e0c9e3be9dbd4cec3266fea324eb9bf5f806cedca59ff4144deb0ca18c41d9d6d600a86bf3d4e7b930bcec9b04c2e7301";
10
+ export declare const BURN_NFT_TRANSACTION = "0xf8db278801640bfe6c1ee3e640f83df83b941e02b2953adefec225cf0ec49805b1146a4429c180a42e17de780000000000000000000000000000000000000000000000000000000000003d2d81808305548c808304fe38c101b882044933b92e0fc5517d58205b46211a5ad2403103c8c217ce9682ebe2457e374f655fc6be307c7dfd59f0f4eda2aab7e3a1ac9219923086cde52e6405c34de2d801d692df740f95dd4ac6dbae7eb6e91a712a1e456e1a80e3a2f501ea1e6ed12c4308e65a8a98b0142190812d4484f54121bbc95b6048ae09de5946304affbfba1400";
9
11
  export declare const STAKING_LEVEL_ID = 8;
10
12
  export declare const STAKING_AUTORENEW = true;
11
- export declare const STAKING_CONTRACT_ADDRESS = "0x1ec1d168574603ec35b9d229843b7c2b44bcb770";
13
+ export declare const STAKING_CONTRACT_ADDRESS = "0x1e02b2953adefec225cf0ec49805b1146a4429c1";
12
14
  export declare const VALID_TOKEN_SIGNABLE_PAYLOAD = "f8762788014ead140e77bbc140f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a000081808252088082faf8c101";
13
15
  export declare const VALID_NFT_SIGNABLE_PAYLOAD = "f8962788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101";
14
16
  export declare const UNSIGNED_TRANSACTION = "0xf4278801536ce9e9fb063840dddc94c52584d1c56e7bddcb6f65d50ff00f71e0ef897a85e8d4a510008081808252088083061c70c0";
@@ -1 +1 @@
1
- {"version":3,"file":"vet.d.ts","sourceRoot":"","sources":["../../../test/resources/vet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vet.d.ts","sourceRoot":"","sources":["../../../test/resources/vet.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FEE_ADDRESS = exports.BASE_ADDRESS = exports.CREATE_FORWARDER_METHOD = exports.FORWARDER_IMPLEMENTATION_ADDRESS = exports.FORWARDER_FACTORY_ADDRESS = exports.feePayer = exports.nftRecipients2 = exports.nftRecipients = exports.recipients = exports.invalidRecipients = exports.blockIds = exports.completeSignedSerializedHex3 = exports.senderSignedSerializedHex3 = exports.completeSignedSerializedHex2 = exports.completeSignedSerializedHex = exports.senderSignedSerializedTxHex2 = exports.senderSignedSerializedTxHex = exports.feePayerSig3 = exports.senderSig3 = exports.feePayerSig2 = exports.senderSig2 = exports.feePayerSig = exports.senderSig = exports.addresses = exports.TRANSFER_CLAUSE = exports.INVALID_TRANSACTION = exports.FLUSH_TOKEN_SIGNABLE_PAYLOAD = exports.FLUSH_TOKEN_DATA = exports.FLUSH_TOKEN_TRANSACTION = exports.FORWARDER_ADDRESS_NEW = exports.FORWARDER_ADDRESS = exports.ADDRESS_INITIALIZATION_SIGNABLE_PAYLOAD = exports.ADDRESS_INITIALIZATION_DATA = exports.ADDRESS_INITIALIZATION_TRANSACTION = exports.UNSIGNED_TRANSACTION_4 = exports.UNSIGNED_TRANSACTION_3 = exports.UNSIGNED_TRANSACTION_2 = exports.UNSIGNED_TRANSACTION = exports.VALID_NFT_SIGNABLE_PAYLOAD = exports.VALID_TOKEN_SIGNABLE_PAYLOAD = exports.STAKING_CONTRACT_ADDRESS = exports.STAKING_AUTORENEW = exports.STAKING_LEVEL_ID = exports.DELEGATION_TRANSACTION = exports.STAKE_CLAUSE_TRANSACTION = exports.STAKING_TRANSACTION = exports.SPONSORED_NFT_TRANSACTION = exports.SPONSORED_TOKEN_TRANSACTION = exports.SPONSORED_TRANSACTION = exports.AMOUNT = void 0;
4
- exports.VALID_NFT_CONTRACT_DATA = exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = exports.SALT = exports.NFT_CONTRACT_ADDRESS = exports.TOKEN_ADDRESS = void 0;
3
+ exports.CREATE_FORWARDER_METHOD = exports.FORWARDER_IMPLEMENTATION_ADDRESS = exports.FORWARDER_FACTORY_ADDRESS = exports.feePayer = exports.nftRecipients2 = exports.nftRecipients = exports.recipients = exports.invalidRecipients = exports.blockIds = exports.completeSignedSerializedHex3 = exports.senderSignedSerializedHex3 = exports.completeSignedSerializedHex2 = exports.completeSignedSerializedHex = exports.senderSignedSerializedTxHex2 = exports.senderSignedSerializedTxHex = exports.feePayerSig3 = exports.senderSig3 = exports.feePayerSig2 = exports.senderSig2 = exports.feePayerSig = exports.senderSig = exports.addresses = exports.TRANSFER_CLAUSE = exports.INVALID_TRANSACTION = exports.FLUSH_TOKEN_SIGNABLE_PAYLOAD = exports.FLUSH_TOKEN_DATA = exports.FLUSH_TOKEN_TRANSACTION = exports.FORWARDER_ADDRESS_NEW = exports.FORWARDER_ADDRESS = exports.ADDRESS_INITIALIZATION_SIGNABLE_PAYLOAD = exports.ADDRESS_INITIALIZATION_DATA = exports.ADDRESS_INITIALIZATION_TRANSACTION = exports.UNSIGNED_TRANSACTION_4 = exports.UNSIGNED_TRANSACTION_3 = exports.UNSIGNED_TRANSACTION_2 = exports.UNSIGNED_TRANSACTION = exports.VALID_NFT_SIGNABLE_PAYLOAD = exports.VALID_TOKEN_SIGNABLE_PAYLOAD = exports.STAKING_CONTRACT_ADDRESS = exports.STAKING_AUTORENEW = exports.STAKING_LEVEL_ID = exports.BURN_NFT_TRANSACTION = exports.EXIT_DELEGATION_TRANSACTION = exports.DELEGATION_TRANSACTION = exports.STAKE_CLAUSE_TRANSACTION = exports.STAKING_TRANSACTION = exports.SPONSORED_NFT_TRANSACTION = exports.SPONSORED_TOKEN_TRANSACTION = exports.SPONSORED_TRANSACTION = exports.AMOUNT = void 0;
4
+ exports.VALID_NFT_CONTRACT_DATA = exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = exports.SALT = exports.NFT_CONTRACT_ADDRESS = exports.TOKEN_ADDRESS = exports.FEE_ADDRESS = exports.BASE_ADDRESS = void 0;
5
5
  exports.AMOUNT = 100000000000000000; // 0.1 VET in base units
6
6
  exports.SPONSORED_TRANSACTION = '0xf8bc2788014e9cad44bade0940e0df94e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec88016345785d8a0000808180825208808302d6b5c101b882ee76129c1259eb0c8a2b3b3e5f2b089cd11068da1c0db32a9e22228db83dd4be5c721858bc813514141fbd5cf641d0972ce47ceb9be61133fa2ebf0ea37c1f290011fdce201f56d639d827035a5ed8bcef42a42f6eb562bc76a6d95c7736cf8cf340122d1e2fb034668dc491d47b7d3bb10724ba2338a6e79df87bce9617fdce9c00';
7
7
  exports.SPONSORED_TOKEN_TRANSACTION = '0xf8fb278801543ac0a0b3aaf940f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a0000818082c93e808307e669c101b8825dc39997717119cec9e65bfc927d1ad6ef31956e4747f95cea49f76f9e66164a737a155a6694f86287bcec043a83c7f9a3169fd3bb57ce617ab3fd4c59da437701277f6455fc041e672082bff003e75520c3167ad61edd98fba7e0ed87eb5323fc47feb3f51bfe2faa31c2174a2f7bb548e9727d7628f15137b4007a26651413fd00';
8
8
  exports.SPONSORED_NFT_TRANSACTION = '0xf9011a2788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101b882212d212effea03773f4228cd049efe42c3efe54f18378def52f0ad349637248d67d0eec6fd9bc7ddc5ab4d98f22c4fc8de485e2403f90a68b2613e214245c0a401758c9d00ada40ebc36890bbf8cf1c84070e0950dcbb6cad94a4c9a4c0ffe16c7486c5b674207c4d916f7ed7cb501c73daaafc49cfe7685cf1e0f8054a7fa460300';
9
9
  exports.STAKING_TRANSACTION = '0xf901032788015d55fcf2457e7c40f866f864941856c533ac2d94340aaa8544d35a5c1d4a21dee7880de0b6b3a7640000b844d8da3bbf0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000181808265848083094c53c101b882efcb9ea88e908d1a142db96c1b44dd056ea194f1ad45670c100a8c52348cc7b20387741260ebe7fe9b7594f96693c88662fa60edba5992332728222b0bdd8a30008535368bd901319eb4513d16bebc428dc8454d32a19eeb76372849a6134ebbba79f1eeceea1f6546574b945c05489222cb451f5b0e2901b0c687b750e833aeb800';
10
- exports.STAKE_CLAUSE_TRANSACTION = '0xf8e3278801618b7b1354c4ca40f845f843941ec1d168574603ec35b9d229843b7c2b44bcb770880de0b6b3a7640000a4604f2177000000000000000000000000000000000000000000000000000000000000000881808305fd5a808307b278c101b882b380970580d957b8e7989aa9aa9281e57245fa3835cb2aaae6475b4062bb4f1c2dd2ca694df6503d5dfd654579130b3484bee75420247cf8f6b6b4b76b7939f101db6e6cef5a27375274741f3c0aba4be13a9e086337c3290866afe049efcdaa2d3227c9e12b52627c4d71f5b667821f9d33adcc4c97fdc28b93c34013d32e242300';
11
- exports.DELEGATION_TRANSACTION = '0xf8fb278801618aa3e0a55fc940f85ef85c947240e3bc0d26431512d5b67dbd26d199205bffe880b8443207555d00000000000000000000000000000000000000000000000000000000000187690000000000000000000000000000000000000000000000000000000000000001818082e43a808306af07c101b882fb8030f6e2ef6563ff3b0e7e2a2292c1db5fc41c7ab9f598bad370c5cfd3dc32286ae8d709e941c0312c8cd33a3505156b44d1639c73980ffa66bc72f37820f2001c0e6b6e76a6a4d806c377a0a279053eb6ea4356bd235f4396585bb071d70f992c639d45c53431a3c1493a52a136203905e42c671dd384ee5f5ead0a70cb607001';
10
+ exports.STAKE_CLAUSE_TRANSACTION = '0xf8e5278801638298c53767ac40f847f845941e02b2953adefec225cf0ec49805b1146a4429c18a021e19e0c9bab2400000a4604f2177000000000000000000000000000000000000000000000000000000000000000881808306338a80830f340bc101b882b4970b0c160552162de719b9ed1fa6268bbfe9b36fd4e4a5c13e956cf539e60478f69179e8db4a3106fdbe775e3d923510b16f48da56c66076d1f66ffd822abf01ebc040c795b1e17cb0ca5ba747e3a181b4eefea7db5378f64f82361bdb7745da45aba2ace3db9822b675474552f13849052987c431cd4867813c2cf635302b1101';
11
+ exports.DELEGATION_TRANSACTION = '0xf8fc278801640639091a26ce40f85ef85c941e02b2953adefec225cf0ec49805b1146a4429c180b84408bbb8240000000000000000000000000000000000000000000000000000000000003d2e00000000000000000000000000563ec3cafbbe7e60b04b3190e6eca66579706d8180830464b080830d8b05c101b8821a3cca8e8339456c6055ef796e5d716dda00de45f4cd9431bedf2119ae5de01b1f0a7268690784ba8f5c22b3043d0530ece5303a813ffdd9c0a5ae0ae85deee400b04543d6874f30eca88b3efb927c44934e9eb64a6f2327cce44a0a94faaca13615d153e804ba3fdd02bf5f8e1b6bc8e0f6149a1c7694803ed4fbb549bb79066101';
12
+ exports.EXIT_DELEGATION_TRANSACTION = '0xf8db278801640bf461bc7e1840f83df83b941e02b2953adefec225cf0ec49805b1146a4429c180a469e79b7d0000000000000000000000000000000000000000000000000000000000003d2d81808303525f808305f65ac101b8820cb393317793011b0a205973c77761f5c5c8652c21fe0115f527d2e2f2c1b5fc72a048107b263764312e9323f2ace9f30ce0beed873d7ef7f5432943330d2d5000a4a5f6439503f235ac6a5e17b47ac26c9e0c9e3be9dbd4cec3266fea324eb9bf5f806cedca59ff4144deb0ca18c41d9d6d600a86bf3d4e7b930bcec9b04c2e7301';
13
+ exports.BURN_NFT_TRANSACTION = '0xf8db278801640bfe6c1ee3e640f83df83b941e02b2953adefec225cf0ec49805b1146a4429c180a42e17de780000000000000000000000000000000000000000000000000000000000003d2d81808305548c808304fe38c101b882044933b92e0fc5517d58205b46211a5ad2403103c8c217ce9682ebe2457e374f655fc6be307c7dfd59f0f4eda2aab7e3a1ac9219923086cde52e6405c34de2d801d692df740f95dd4ac6dbae7eb6e91a712a1e456e1a80e3a2f501ea1e6ed12c4308e65a8a98b0142190812d4484f54121bbc95b6048ae09de5946304affbfba1400';
12
14
  exports.STAKING_LEVEL_ID = 8;
13
15
  exports.STAKING_AUTORENEW = true;
14
- exports.STAKING_CONTRACT_ADDRESS = '0x1ec1d168574603ec35b9d229843b7c2b44bcb770';
16
+ exports.STAKING_CONTRACT_ADDRESS = '0x1e02b2953adefec225cf0ec49805b1146a4429c1';
15
17
  exports.VALID_TOKEN_SIGNABLE_PAYLOAD = 'f8762788014ead140e77bbc140f85ef85c940000000000000000000000000000456e6572677980b844a9059cbb000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec000000000000000000000000000000000000000000000000016345785d8a000081808252088082faf8c101';
16
18
  exports.VALID_NFT_SIGNABLE_PAYLOAD = 'f8962788014ead140e77bbc140f87ef87c941ec1d168574603ec35b9d229843b7c2b44bcb77080b86423b872dd000000000000000000000000c0716f386a0a78361962d1f64ce2256a2c871bb50000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000000000000000000000000000000000000001872381808252088082faf8c101';
17
19
  exports.UNSIGNED_TRANSACTION = '0xf4278801536ce9e9fb063840dddc94c52584d1c56e7bddcb6f65d50ff00f71e0ef897a85e8d4a510008081808252088083061c70c0';
@@ -122,4 +124,4 @@ exports.SALT = '0x1';
122
124
  exports.SERIALIZED_SIGNED_ADDRESS_INIT_TX = '0xf8d927880152c906531784bd40f87ef87c9465343e18c376d2fc8c3cf10cd146d63e2e0dc9ef80b86413b2f75c00000000000000000000000055b00b5c807d5696197b48d4affa40bb876df2400000000000000000000000007c87b9ffc6fd6c167c0e4fa9418720f3d659358e00000000000000000000000000000000000000000000000000000000000000048180830249f08082faf8c0b84196577046ecbba640d8f5914a7b4cb99f9ab479359bcda5368cc9afdfb55994a0469af071cdeb4cac92caaf0be7fedf492d2215f83baa00d4abac31cf48eeddd900';
123
125
  exports.SERIALIZED_SIGNED_FLUSH_TOKEN_TX = '0xf89827880152cf455536ebc740f83df83b94604a42898388080d56bc85f815965d1f64beb1a680a43ef133670000000000000000000000000000000000000000000000000000456e657267798180830249f08082faf9c0b841b5225a0d5c63fd4ceee2fefe94759d20e37c29ebcd15fc03eb699d4af5bb210c258583f9e8e26e872751e255c2f0fe9d44d52ce65b6b76040476e285074a4b5901';
124
126
  exports.VALID_NFT_CONTRACT_DATA = '0x23b872dd0000000000000000000000007ca00e3bc8a836026c2917c6c7c6d049e52099dd000000000000000000000000e59f1cea4e0fef511e3d0f4eec44adf19c4cbeec00000000000000000000000000000000000000000000000000000000000004d2';
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvdmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFYSxRQUFBLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLHdCQUF3QjtBQUVyRCxRQUFBLHFCQUFxQixHQUNoQyxnWUFBZ1ksQ0FBQztBQUV0WCxRQUFBLDJCQUEyQixHQUN0Qyw4ZkFBOGYsQ0FBQztBQUVwZixRQUFBLHlCQUF5QixHQUNwQyw4akJBQThqQixDQUFDO0FBRXBqQixRQUFBLG1CQUFtQixHQUM5QixnaEJBQWdoQixDQUFDO0FBRXRnQixRQUFBLHdCQUF3QixHQUNuQyw4Y0FBOGMsQ0FBQztBQUVwYyxRQUFBLHNCQUFzQixHQUNqQyw4ZkFBOGYsQ0FBQztBQUVwZixRQUFBLGdCQUFnQixHQUFHLENBQUMsQ0FBQztBQUNyQixRQUFBLGlCQUFpQixHQUFHLElBQUksQ0FBQztBQUN6QixRQUFBLHdCQUF3QixHQUFHLDRDQUE0QyxDQUFDO0FBRXhFLFFBQUEsNEJBQTRCLEdBQ3ZDLGtQQUFrUCxDQUFDO0FBRXhPLFFBQUEsMEJBQTBCLEdBQ3JDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsb0JBQW9CLEdBQy9CLDhHQUE4RyxDQUFDO0FBRXBHLFFBQUEsc0JBQXNCLEdBQ2pDLG9IQUFvSCxDQUFDO0FBRTFHLFFBQUEsc0JBQXNCLEdBQ2pDLG9QQUFvUCxDQUFDO0FBRXZQLDBCQUEwQjtBQUNiLFFBQUEsc0JBQXNCLEdBQ2pDLG9UQUFvVCxDQUFDO0FBRTFTLFFBQUEsa0NBQWtDLEdBQzdDLGtUQUFrVCxDQUFDO0FBRXhTLFFBQUEsMkJBQTJCLEdBQ3RDLDRNQUE0TSxDQUFDO0FBRWxNLFFBQUEsdUNBQXVDLEdBQ2xELGdUQUFnVCxDQUFDO0FBRXRTLFFBQUEsaUJBQWlCLEdBQUcsNENBQTRDLENBQUM7QUFFakUsUUFBQSxxQkFBcUIsR0FBRyw0Q0FBNEMsQ0FBQztBQUVyRSxRQUFB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LHlCQUF5QixHQUFHLDRDQUE0QyxDQUFDO0FBRXpFLFFBQUEsZ0NBQWdDLEdBQUcsNENBQTRDLENBQUM7QUFFaEYsUUFBQSx1QkFBdUIsR0FBRyxZQUFZLENBQUM7QUFFdkMsUUFBQSxZQUFZLEdBQUcsNENBQTRDLENBQUM7QUFFNUQsUUFBQSxXQUFXLEdBQUcsNENBQTRDLENBQUM7QUFFM0QsUUFBQSxhQUFhLEdBQUcsNENBQTRDLENBQUM7QUFFN0QsUUFBQSxvQkFBb0IsR0FBRyw0Q0FBNEMsQ0FBQztBQUVwRSxRQUFBLElBQUksR0FBRyxLQUFLLENBQUM7QUFFYixRQUFBLGlDQUFpQyxHQUM1QywwYkFBMGIsQ0FBQztBQUVoYixRQUFBLGdDQUFnQyxHQUMzQyx3VEFBd1QsQ0FBQztBQUU5UyxRQUFBLHVCQUF1QixHQUNsQyw0TUFBNE0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNvbnN0IEFNT1VOVCA9IDEwMDAwMDAwMDAwMDAwMDAwMDsgLy8gMC4xIFZFVCBpbiBiYXNlIHVuaXRzXG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVFJBTlNBQ1RJT04gPVxuICAnMHhmOGJjMjc4ODAxNGU5Y2FkNDRiYWRlMDk0MGUwZGY5NGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgzMDJkNmI1YzEwMWI4ODJlZTc2MTI5YzEyNTllYjBjOGEyYjNiM2U1ZjJiMDg5Y2QxMTA2OGRhMWMwZGIzMmE5ZTIyMjI4ZGI4M2RkNGJlNWM3MjE4NThiYzgxMzUxNDE0MWZiZDVjZjY0MWQwOTcyY2U0N2NlYjliZTYxMTMzZmEyZWJmMGVhMzdjMWYyOTAwMTFmZGNlMjAxZjU2ZDYzOWQ4MjcwMzVhNWVkOGJjZWY0MmE0MmY2ZWI1NjJiYzc2YTZkOTVjNzczNmNmOGNmMzQwMTIyZDFlMmZiMDM0NjY4ZGM0OTFkNDdiN2QzYmIxMDcyNGJhMjMzOGE2ZTc5ZGY4N2JjZTk2MTdmZGNlOWMwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfVE9LRU5fVFJBTlNBQ1RJT04gPVxuICAnMHhmOGZiMjc4ODAxNTQzYWMwYTBiM2FhZjk0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MmM5M2U4MDgzMDdlNjY5YzEwMWI4ODI1ZGMzOTk5NzcxNzExOWNlYzllNjViZmM5MjdkMWFkNmVmMzE5NTZlNDc0N2Y5NWNlYTQ5Zjc2ZjllNjYxNjRhNzM3YTE1NWE2Njk0Zjg2Mjg3YmNlYzA0M2E4M2M3ZjlhMzE2OWZkM2JiNTdjZTYxN2FiM2ZkNGM1OWRhNDM3NzAxMjc3ZjY0NTVmYzA0MWU2NzIwODJiZmYwMDNlNzU1MjBjMzE2N2FkNjFlZGQ5OGZiYTdlMGVkODdlYjUzMjNmYzQ3ZmViM2Y1MWJmZTJmYWEzMWMyMTc0YTJmN2JiNTQ4ZTk3MjdkNzYyOGYxNTEzN2I0MDA3YTI2NjUxNDEzZmQwMCc7XG5cbmV4cG9ydCBjb25zdCBTUE9OU09SRURfTkZUX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjkwMTFhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDE3NThjOWQwMGFkYTQwZWJjMzY4OTBiYmY4Y2YxYzg0MDcwZTA5NTBkY2JiNmNhZDk0YTRjOWE0YzBmZmUxNmM3NDg2YzViNjc0MjA3YzRkOTE2ZjdlZDdjYjUwMWM3M2RhYWFmYzQ5Y2ZlNzY4NWNmMWUwZjgwNTRhN2ZhNDYwMzAwJztcblxuZXhwb3J0IGNvbnN0IFNUQUtJTkdfVFJBTlNBQ1RJT04gPVxuICAnMHhmOTAxMDMyNzg4MDE1ZDU1ZmNmMjQ1N2U3YzQwZjg2NmY4NjQ5NDE4NTZjNTMzYWMyZDk0MzQwYWFhODU0NGQzNWE1YzFkNGEyMWRlZTc4ODBkZTBiNmIzYTc2NDAwMDBiODQ0ZDhkYTNiYmYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjY1ODQ4MDgzMDk0YzUzYzEwMWI4ODJlZmNiOWVhODhlOTA4ZDFhMTQyZGI5NmMxYjQ0ZGQwNTZlYTE5NGYxYWQ0NTY3MGMxMDBhOGM1MjM0OGNjN2IyMDM4Nzc0MTI2MGViZTdmZTliNzU5NGY5NjY5M2M4ODY2MmZhNjBlZGJhNTk5MjMzMjcyODIyMmIwYmRkOGEzMDAwODUzNTM2OGJkOTAxMzE5ZWI0NTEzZDE2YmViYzQyOGRjODQ1NGQzMmExOWVlYjc2MzcyODQ5YTYxMzRlYmJiYTc5ZjFlZWNlZWExZjY1NDY1NzRiOTQ1YzA1NDg5MjIyY2I0NTFmNWIwZTI5MDFiMGM2ODdiNzUwZTgzM2FlYjgwMCc7XG5cbmV4cG9ydCBjb25zdCBTVEFLRV9DTEFVU0VfVFJBTlNBQ1RJT04gPVxuICAnMHhmOGUzMjc4ODAxNjE4YjdiMTM1NGM0Y2E0MGY4NDVmODQzOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODgwZGUwYjZiM2E3NjQwMDAwYTQ2MDRmMjE3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4MTgwODMwNWZkNWE4MDgzMDdiMjc4YzEwMWI4ODJiMzgwOTcwNTgwZDk1N2I4ZTc5ODlhYTlhYTkyODFlNTcyNDVmYTM4MzVjYjJhYWFlNjQ3NWI0MDYyYmI0ZjFjMmRkMmNhNjk0ZGY2NTAzZDVkZmQ2NTQ1NzkxMzBiMzQ4NGJlZTc1NDIwMjQ3Y2Y4ZjZiNmI0Yjc2Yjc5MzlmMTAxZGI2ZTZjZWY1YTI3Mzc1Mjc0NzQxZjNjMGFiYTRiZTEzYTllMDg2MzM3YzMyOTA4NjZhZmUwNDllZmNkYWEyZDMyMjdjOWUxMmI1MjYyN2M0ZDcxZjViNjY3ODIxZjlkMzNhZGNjNGM5N2ZkYzI4YjkzYzM0MDEzZDMyZTI0MjMwMCc7XG5cbmV4cG9ydCBjb25zdCBERUxFR0FUSU9OX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjhmYjI3ODgwMTYxOGFhM2UwYTU1ZmM5NDBmODVlZjg1Yzk0NzI0MGUzYmMwZDI2NDMxNTEyZDViNjdkYmQyNmQxOTkyMDViZmZlODgwYjg0NDMyMDc1NTVkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODc2OTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4MTgwODJlNDNhODA4MzA2YWYwN2MxMDFiODgyZmI4MDMwZjZlMmVmNjU2M2ZmM2IwZTdlMmEyMjkyYzFkYjVmYzQxYzdhYjlmNTk4YmFkMzcwYzVjZmQzZGMzMjI4NmFlOGQ3MDllOTQxYzAzMTJjOGNkMzNhMzUwNTE1NmI0NGQxNjM5YzczOTgwZmZhNjZiYzcyZjM3ODIwZjIwMDFjMGU2YjZlNzZhNmE0ZDgwNmMzNzdhMGEyNzkwNTNlYjZlYTQzNTZiZDIzNWY0Mzk2NTg1YmIwNzFkNzBmOTkyYzYzOWQ0NWM1MzQzMWEzYzE0OTNhNTJhMTM2MjAzOTA1ZTQyYzY3MWRkMzg0ZWU1ZjVlYWQwYTcwY2I2MDcwMDEnO1xuXG5leHBvcnQgY29uc3QgU1RBS0lOR19MRVZFTF9JRCA9IDg7XG5leHBvcnQgY29uc3QgU1RBS0lOR19BVVRPUkVORVcgPSB0cnVlO1xuZXhwb3J0IGNvbnN0IFNUQUtJTkdfQ09OVFJBQ1RfQUREUkVTUyA9ICcweDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzAnO1xuXG5leHBvcnQgY29uc3QgVkFMSURfVE9LRU5fU0lHTkFCTEVfUEFZTE9BRCA9XG4gICdmODc2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgVkFMSURfTkZUX1NJR05BQkxFX1BBWUxPQUQgPVxuICAnZjg5NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MDgwYjg2NDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzA3MTZmMzg2YTBhNzgzNjE5NjJkMWY2NGNlMjI1NmEyYzg3MWJiNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4NzIzODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTiA9XG4gICcweGY0Mjc4ODAxNTM2Y2U5ZTlmYjA2Mzg0MGRkZGM5NGM1MjU4NGQxYzU2ZTdiZGRjYjZmNjVkNTBmZjAwZjcxZTBlZjg5N2E4NWU4ZDRhNTEwMDA4MDgxODA4MjUyMDg4MDgzMDYxYzcwYzAnO1xuXG5leHBvcnQgY29uc3QgVU5TSUdORURfVFJBTlNBQ1RJT05fMiA9XG4gICcweGY3Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGUwZGY5NGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgVU5TSUdORURfVFJBTlNBQ1RJT05fMyA9XG4gICcweGY4NzYyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg1ZWY4NWM5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MGI4NDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYzNDU3ODVkOGEwMDAwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbi8vdW5zaWduZWQgbmZ0IHRyYW5zYWN0aW9uXG5leHBvcnQgY29uc3QgVU5TSUdORURfVFJBTlNBQ1RJT05fNCA9XG4gICcweGY4OTYyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzA4MGI4NjQyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODcyMzgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9UUkFOU0FDVElPTiA9XG4gICcweGY4OTUyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDY1MzQzZTE4YzM3NmQyZmM4YzNjZjEwY2QxNDZkNjNlMmUwZGM5ZWY4MGI4NjQxM2IyZjc1YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjUyMDg4MDgyZmFmOGMwJztcblxuZXhwb3J0IGNvbnN0IEFERFJFU1NfSU5JVElBTElaQVRJT05fREFUQSA9XG4gICcweDEzYjJmNzVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTViMDBiNWM4MDdkNTY5NjE5N2I0OGQ0YWZmYTQwYmI4NzZkZjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxJztcblxuZXhwb3J0IGNvbnN0IEFERFJFU1NfSU5JVElBTElaQVRJT05fU0lHTkFCTEVfUEFZTE9BRCA9XG4gICdmODk1Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQ2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmODBiODY0MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfQUREUkVTUyA9ICcweDA0M2ZkZTJmYTBlY2U3N2MyNDYxYTk1NzFmM2IxYjFjNmZhY2ExMjAnO1xuXG5leHBvcnQgY29uc3QgRk9SV0FSREVSX0FERFJFU1NfTkVXID0gJzB4NjA0YTQyODk4Mzg4MDgwZDU2YmM4NWY4MTU5NjVkMWY2NGJlYjFhNic7XG5cbmV4cG9ydCBjb25zdCBGTFVTSF9UT0tFTl9UUkFOU0FDVElPTiA9XG4gICcweGY4NTQyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjgzZGY4M2I5NDA0M2ZkZTJmYTBlY2U3N2MyNDYxYTk1NzFmM2IxYjFjNmZhY2ExMjA4MGE0M2VmMTMzNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODE4MDgyNTIwODgwODJmYWY4YzAnO1xuXG5leHBvcnQgY29uc3QgRkxVU0hfVE9LRU5fREFUQSA9ICcweDNlZjEzMzY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OSc7XG5cbmV4cG9ydCBjb25zdCBGTFVTSF9UT0tFTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4NTQyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjgzZGY4M2I5NDA0M2ZkZTJmYTBlY2U3N2MyNDYxYTk1NzFmM2IxYjFjNmZhY2ExMjA4MGE0M2VmMTMzNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODE4MDgyNTIwODgwODJmYWY4YzAnO1xuXG5leHBvcnQgY29uc3QgSU5WQUxJRF9UUkFOU0FDVElPTiA9XG4gICcweGY4YmMyNzg4MDE0ZWEwNjBiNWI1OTk3ZTQwZTBkZjk0ZTVmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MzBiZjg0ZmMxMDFiODgyNDE4ZTIxMmE0MGIyOWRhNjg1YTczMTI4MjllOGQxZDM3MDhiNjU0ZjRkZGI0Mzg4YTdhODBmNWFmM2U1NDIzYjQ1NTQ1MTkwMWQ5YjgzN2ZlMTg1MDFlNmVhNWVjN2QzZDI3MTFmMDAwNzNkNTUzYWFiZTQwZTAyNjBlYzhhNmYwMGRhNTU3ZDBhMWFmNjZiODJiNDU3MzI0YmM2ZmM4NmM3ZjAzNjJlNzZjMTViNjQ0MzJlNjZiNmZhNjJmY2EzOGM3ZDIwOGE2MDRkMWE3ZWM1MzU2Yzk1ZmVjN2JjNmYzMzJkMTY3MThhOTFhNTNlMGU5OWUzYTgxYWUzMjA1YWI0MDAnO1xuXG5leHBvcnQgY29uc3QgVFJBTlNGRVJfQ0xBVVNFID0gW1xuICB7XG4gICAgdG86ICcweGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMnLFxuICAgIHZhbHVlOiAxMDAwMDAwMDAwMDAwLFxuICAgIGRhdGE6ICcweCcsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgYWRkcmVzc2VzID0ge1xuICB2YWxpZEFkZHJlc3NlczogW1xuICAgICcweDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQnLFxuICAgICcweGU1OUYxY2VhNGUwRkVmNTExZTNkMGY0RUVjNDRBRGYxOUM0Y2JlRUMnLFxuICAgICcweDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUnLFxuICAgICcweGMwNzE2ZjM4NmEwYTc4MzYxOTYyZDFmNjRjZTIyNTZhMmM4NzFiYjUnLFxuICBdLFxuICBpbnZhbGlkQWRkcmVzc2VzOiBbXG4gICAgJ3JhbmRvbVN0cmluZycsXG4gICAgJzB4YzQxNzNhODA0NDA2YTM2NWU2OWRmYjI5N2RkZmdzZGN2ZicsXG4gICAgJzVuZTdwaEE0OEpydnBuMzlBdHVwQjhaa0NDQXk4Z0xUZnBHaWhaUHVEcWVuJyxcbiAgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWcgPVxuICAnMDYyMDgwY2M3N2RiOWQ1Y2U1ZGI4NGYxY2ZiNTdjOTkwNmM5YmZkY2U3OGU0ZDUzNzU3YmJkM2Q1MzZjNzMxZTFlNWU0MDZhNGU3ODNhNGY2MzQ0NmFhMjhkMjFkYzI3Nzk2YWFlOTBmYWM3OTE1MWMzZDBiM2JhNjhjZGUzNjgwMSc7XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllclNpZyA9XG4gICc0N2FlNzllMjNlZmZkMjMzMjA2MTgwZWNlM2FiM2Q2ZDQ5NjMxMGMwM2M1NWJkMDU2NmE1NGJiN2Q0MjA5NWM5N2E5MGNhOWZmNGNmYjk0ZWM1NzlhN2VjN2Y3OWRlNDgxNGRmYzgxNmQwYTEzMDE4OWMwN2I3NDY5NDU0ODJmYjAwJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZzIgPVxuICAnOWQwNWU5MGEwMGM1MzhhZmQ2ODY1MmY2M2E0ZTIxNDgxZDFkMDgyZmRiZDRhMzAwYjA0YjU2MWRjNzYxODVhZDI5MmJiNDhkNzA4NDZiZDBmYjhiNTI2NzgyYjlkMmY5NDBkYmNlZTNiYzU1NGJmYjdiNTNlMzYyYmJjYjM5ZDcwMSc7XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllclNpZzIgPVxuICAnNDVkOGFlYzRkMmVkNWY3NGI3ODg2OTVjZWI3NmQxOGRkMzU5NzUwM2JjMDQ2NmQ2Njc0OTNiMmFmZjJjMmIwOTVkMzUyNzg4YTM0NWIyZTNiNDllOWFkMTliYzI4YjBiZGVlNDVkMGNjZTk4Njk2MmU2MWIwZmViZTYwYTI1OTMwMSc7XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWczID1cbiAgJzIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDEnO1xuXG5leHBvcnQgY29uc3QgZmVlUGF5ZXJTaWczID1cbiAgJzc1OGM5ZDAwYWRhNDBlYmMzNjg5MGJiZjhjZjFjODQwNzBlMDk1MGRjYmI2Y2FkOTRhNGM5YTRjMGZmZTE2Yzc0ODZjNWI2NzQyMDdjNGQ5MTZmN2VkN2NiNTAxYzczZGFhYWZjNDljZmU3Njg1Y2YxZTBmODA1NGE3ZmE0NjAzMDAnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnbmVkU2VyaWFsaXplZFR4SGV4ID1cbiAgJzB4ZjcyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWduZWRTZXJpYWxpemVkVHhIZXgyID1cbiAgJzB4Zjg3NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODVlZjg1Yzk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjM0NTc4NWQ4YTAwMDA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleCA9XG4gICcweGY4YmIyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODJmYWY4YzEwMWI4ODIwNjIwODBjYzc3ZGI5ZDVjZTVkYjg0ZjFjZmI1N2M5OTA2YzliZmRjZTc4ZTRkNTM3NTdiYmQzZDUzNmM3MzFlMWU1ZTQwNmE0ZTc4M2E0ZjYzNDQ2YWEyOGQyMWRjMjc3OTZhYWU5MGZhYzc5MTUxYzNkMGIzYmE2OGNkZTM2ODAxNDdhZTc5ZTIzZWZmZDIzMzIwNjE4MGVjZTNhYjNkNmQ0OTYzMTBjMDNjNTViZDA1NjZhNTRiYjdkNDIwOTVjOTdhOTBjYTlmZjRjZmI5NGVjNTc5YTdlYzdmNzlkZTQ4MTRkZmM4MTZkMGExMzAxODljMDdiNzQ2OTQ1NDgyZmIwMCc7XG5cbmV4cG9ydCBjb25zdCBjb21wbGV0ZVNpZ25lZFNlcmlhbGl6ZWRIZXgyID1cbiAgJzB4ZjhmYTI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODVlZjg1Yzk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjM0NTc4NWQ4YTAwMDA4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjlkMDVlOTBhMDBjNTM4YWZkNjg2NTJmNjNhNGUyMTQ4MWQxZDA4MmZkYmQ0YTMwMGIwNGI1NjFkYzc2MTg1YWQyOTJiYjQ4ZDcwODQ2YmQwZmI4YjUyNjc4MmI5ZDJmOTQwZGJjZWUzYmM1NTRiZmI3YjUzZTM2MmJiY2IzOWQ3MDE0NWQ4YWVjNGQyZWQ1Zjc0Yjc4ODY5NWNlYjc2ZDE4ZGQzNTk3NTAzYmMwNDY2ZDY2NzQ5M2IyYWZmMmMyYjA5NWQzNTI3ODhhMzQ1YjJlM2I0OWU5YWQxOWJjMjhiMGJkZWU0NWQwY2NlOTg2OTYyZTYxYjBmZWJlNjBhMjU5MzAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZ25lZFNlcmlhbGl6ZWRIZXgzID1cbiAgJzB4Zjg5NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MDgwYjg2NDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYzA3MTZmMzg2YTBhNzgzNjE5NjJkMWY2NGNlMjI1NmEyYzg3MWJiNTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4NzIzODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBjb21wbGV0ZVNpZ25lZFNlcmlhbGl6ZWRIZXgzID1cbiAgJzB4ZjkwMTFhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjIxMmQyMTJlZmZlYTAzNzczZjQyMjhjZDA0OWVmZTQyYzNlZmU1NGYxODM3OGRlZjUyZjBhZDM0OTYzNzI0OGQ2N2QwZWVjNmZkOWJjN2RkYzVhYjRkOThmMjJjNGZjOGRlNDg1ZTI0MDNmOTBhNjhiMjYxM2UyMTQyNDVjMGE0MDE3NThjOWQwMGFkYTQwZWJjMzY4OTBiYmY4Y2YxYzg0MDcwZTA5NTBkY2JiNmNhZDk0YTRjOWE0YzBmZmUxNmM3NDg2YzViNjc0MjA3YzRkOTE2ZjdlZDdjYjUwMWM3M2RhYWFmYzQ5Y2ZlNzY4NWNmMWUwZjgwNTRhN2ZhNDYwMzAwJztcblxuZXhwb3J0IGNvbnN0IGJsb2NrSWRzOiB7IHZhbGlkQmxvY2tJZHM6IHN0cmluZ1tdOyBpbnZhbGlkQmxvY2tJZHM6IHN0cmluZ1tdIH0gPSB7XG4gIHZhbGlkQmxvY2tJZHM6IFtcbiAgICAnMHgwMTRmMTJlZDk0YzRiNDc3MGY3ZjlhNzNlMmFhNDFhOWRmYmFjMDJhNDlmMzZlYzA1YWNmZGJhOGM3MjQ0ZmYwJyxcbiAgICAnMHgwMTRmMTMwZDAwYTJmZTA2ZDQ3MWEzNWU3ZjJjZDE4ZDI1YmRlZmU1MzcwYzA3YTJhZDY4YzBhZTM4NTJhZDg2JyxcbiAgXSxcbiAgaW52YWxpZEJsb2NrSWRzOiBbXG4gICAgJ3JhbmRvbVN0cmluZycsXG4gICAgJzB4YzQxNzNhODA0NDA2YTM2NWU2OWRmYjI5N2RkZmdzZGN2ZicsXG4gICAgJzVuZTdwaEE0OEpydnBuMzlBdHVwQjhaa0NDQXk4Z0xUZnBHaWhaUHVEcWVuJyxcbiAgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBpbnZhbGlkUmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMuaW52YWxpZEFkZHJlc3Nlc1swXSxcbiAgICBhbW91bnQ6IEFNT1VOVC50b1N0cmluZygpLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogJy05MTkxOTEnLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogJ2ludmFsaWRBbW91bnQnLFxuICB9LFxuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgcmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6IEFNT1VOVC50b1N0cmluZygpLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IG5mdFJlY2lwaWVudHM6IFJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzFdLnRvTG93ZXJDYXNlKCksXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgbmZ0UmVjaXBpZW50czI6IFJlY2lwaWVudFtdID0gW1xuICB7XG4gICAgYWRkcmVzczogYWRkcmVzc2VzLnZhbGlkQWRkcmVzc2VzWzBdLnRvTG93ZXJDYXNlKCksXG4gICAgYW1vdW50OiAnMScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZmVlUGF5ZXIgPSB7XG4gIGFkZHJlc3M6ICcweGRjOWZlZjBiODRhMGNjZjNmMWJkNGI4NGU0MTc0M2UzZTA1MWEwODMnLFxufTtcblxuLy8gVXNlIHRoZSBoYXJkY29kZWQgdmFsdWVzIGZyb20gdGhlIFZldFRlc3RuZXQgY2xhc3MgaW4gbmV0d29ya3MudHNcbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfRkFDVE9SWV9BRERSRVNTID0gJzB4NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZic7XG5cbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfSU1QTEVNRU5UQVRJT05fQUREUkVTUyA9ICcweDYyZGUzNGM4N2Y4NDdkMzg1YWYwN2Y2YzI1ZGJkOTdiMWZmZmVmYzAnO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZPUldBUkRFUl9NRVRIT0QgPSAnMHgxM2IyZjc1Yyc7XG5cbmV4cG9ydCBjb25zdCBCQVNFX0FERFJFU1MgPSAnMHg1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwJztcblxuZXhwb3J0IGNvbnN0IEZFRV9BRERSRVNTID0gJzB4N2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZSc7XG5cbmV4cG9ydCBjb25zdCBUT0tFTl9BRERSRVNTID0gJzB4MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OSc7XG5cbmV4cG9ydCBjb25zdCBORlRfQ09OVFJBQ1RfQUREUkVTUyA9ICcweDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzAnO1xuXG5leHBvcnQgY29uc3QgU0FMVCA9ICcweDEnO1xuXG5leHBvcnQgY29uc3QgU0VSSUFMSVpFRF9TSUdORURfQUREUkVTU19JTklUX1RYID1cbiAgJzB4ZjhkOTI3ODgwMTUyYzkwNjUzMTc4NGJkNDBmODdlZjg3Yzk0NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZjgwYjg2NDEzYjJmNzVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTViMDBiNWM4MDdkNTY5NjE5N2I0OGQ0YWZmYTQwYmI4NzZkZjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0ODE4MDgzMDI0OWYwODA4MmZhZjhjMGI4NDE5NjU3NzA0NmVjYmJhNjQwZDhmNTkxNGE3YjRjYjk5ZjlhYjQ3OTM1OWJjZGE1MzY4Y2M5YWZkZmI1NTk5NGEwNDY5YWYwNzFjZGViNGNhYzkyY2FhZjBiZTdmZWRmNDkyZDIyMTVmODNiYWEwMGQ0YWJhYzMxY2Y0OGVlZGRkOTAwJztcblxuZXhwb3J0IGNvbnN0IFNFUklBTElaRURfU0lHTkVEX0ZMVVNIX1RPS0VOX1RYID1cbiAgJzB4Zjg5ODI3ODgwMTUyY2Y0NTU1MzZlYmM3NDBmODNkZjgzYjk0NjA0YTQyODk4Mzg4MDgwZDU2YmM4NWY4MTU5NjVkMWY2NGJlYjFhNjgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODMwMjQ5ZjA4MDgyZmFmOWMwYjg0MWI1MjI1YTBkNWM2M2ZkNGNlZWUyZmVmZTk0NzU5ZDIwZTM3YzI5ZWJjZDE1ZmMwM2ViNjk5ZDRhZjViYjIxMGMyNTg1ODNmOWU4ZTI2ZTg3Mjc1MWUyNTVjMmYwZmU5ZDQ0ZDUyY2U2NWI2Yjc2MDQwNDc2ZTI4NTA3NGE0YjU5MDEnO1xuXG5leHBvcnQgY29uc3QgVkFMSURfTkZUX0NPTlRSQUNUX0RBVEEgPVxuICAnMHgyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjYTAwZTNiYzhhODM2MDI2YzI5MTdjNmM3YzZkMDQ5ZTUyMDk5ZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDRkMic7XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9yZXNvdXJjZXMvdmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFFYSxRQUFBLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLHdCQUF3QjtBQUVyRCxRQUFBLHFCQUFxQixHQUNoQyxnWUFBZ1ksQ0FBQztBQUV0WCxRQUFBLDJCQUEyQixHQUN0Qyw4ZkFBOGYsQ0FBQztBQUVwZixRQUFBLHlCQUF5QixHQUNwQyw4akJBQThqQixDQUFDO0FBRXBqQixRQUFBLG1CQUFtQixHQUM5QixnaEJBQWdoQixDQUFDO0FBRXRnQixRQUFBLHdCQUF3QixHQUNuQyxrZEFBa2QsQ0FBQztBQUV4YyxRQUFBLHNCQUFzQixHQUNqQyxnZ0JBQWdnQixDQUFDO0FBRXRmLFFBQUEsMkJBQTJCLEdBQ3RDLDhiQUE4YixDQUFDO0FBRXBiLFFBQUEsb0JBQW9CLEdBQy9CLDhiQUE4YixDQUFDO0FBRXBiLFFBQUEsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0FBQ3pCLFFBQUEsd0JBQXdCLEdBQUcsNENBQTRDLENBQUM7QUFFeEUsUUFBQSw0QkFBNEIsR0FDdkMsa1BBQWtQLENBQUM7QUFFeE8sUUFBQSwwQkFBMEIsR0FDckMsa1RBQWtULENBQUM7QUFFeFMsUUFBQSxvQkFBb0IsR0FDL0IsOEdBQThHLENBQUM7QUFFcEcsUUFBQSxzQkFBc0IsR0FDakMsb0hBQW9ILENBQUM7QUFFMUcsUUFBQSxzQkFBc0IsR0FDakMsb1BBQW9QLENBQUM7QUFFdlAsMEJBQTBCO0FBQ2IsUUFBQSxzQkFBc0IsR0FDakMsb1RBQW9ULENBQUM7QUFFMVMsUUFBQSxrQ0FBa0MsR0FDN0Msa1RBQWtULENBQUM7QUFFeFMsUUFBQSwyQkFBMkIsR0FDdEMsNE1BQTRNLENBQUM7QUFFbE0sUUFBQSx1Q0FBdUMsR0FDbEQsZ1RBQWdULENBQUM7QUFFdFMs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RVcsUUFBQSxRQUFRLEdBQUc7SUFDdEIsT0FBTyxFQUFFLDRDQUE0QztDQUN0RCxDQUFDO0FBRUYsb0VBQW9FO0FBQ3ZELFFBQUEseUJBQXlCLEdBQUcsNENBQTRDLENBQUM7QUFFekUsUUFBQSxnQ0FBZ0MsR0FBRyw0Q0FBNEMsQ0FBQztBQUVoRixRQUFBLHVCQUF1QixHQUFHLFlBQVksQ0FBQztBQUV2QyxRQUFBLFlBQVksR0FBRyw0Q0FBNEMsQ0FBQztBQUU1RCxRQUFBLFdBQVcsR0FBRyw0Q0FBNEMsQ0FBQztBQUUzRCxRQUFBLGFBQWEsR0FBRyw0Q0FBNEMsQ0FBQztBQUU3RCxRQUFBLG9CQUFvQixHQUFHLDRDQUE0QyxDQUFDO0FBRXBFLFFBQUEsSUFBSSxHQUFHLEtBQUssQ0FBQztBQUViLFFBQUEsaUNBQWlDLEdBQzVDLDBiQUEwYixDQUFDO0FBRWhiLFFBQUEsZ0NBQWdDLEdBQzNDLHdUQUF3VCxDQUFDO0FBRTlTLFFBQUEsdUJBQXVCLEdBQ2xDLDRNQUE0TSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVjaXBpZW50IH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5leHBvcnQgY29uc3QgQU1PVU5UID0gMTAwMDAwMDAwMDAwMDAwMDAwOyAvLyAwLjEgVkVUIGluIGJhc2UgdW5pdHNcblxuZXhwb3J0IGNvbnN0IFNQT05TT1JFRF9UUkFOU0FDVElPTiA9XG4gICcweGY4YmMyNzg4MDE0ZTljYWQ0NGJhZGUwOTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODMwMmQ2YjVjMTAxYjg4MmVlNzYxMjljMTI1OWViMGM4YTJiM2IzZTVmMmIwODljZDExMDY4ZGExYzBkYjMyYTllMjIyMjhkYjgzZGQ0YmU1YzcyMTg1OGJjODEzNTE0MTQxZmJkNWNmNjQxZDA5NzJjZTQ3Y2ViOWJlNjExMzNmYTJlYmYwZWEzN2MxZjI5MDAxMWZkY2UyMDFmNTZkNjM5ZDgyNzAzNWE1ZWQ4YmNlZjQyYTQyZjZlYjU2MmJjNzZhNmQ5NWM3NzM2Y2Y4Y2YzNDAxMjJkMWUyZmIwMzQ2NjhkYzQ5MWQ0N2I3ZDNiYjEwNzI0YmEyMzM4YTZlNzlkZjg3YmNlOTYxN2ZkY2U5YzAwJztcblxuZXhwb3J0IGNvbnN0IFNQT05TT1JFRF9UT0tFTl9UUkFOU0FDVElPTiA9XG4gICcweGY4ZmIyNzg4MDE1NDNhYzBhMGIzYWFmOTQwZjg1ZWY4NWM5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MGI4NDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYzNDU3ODVkOGEwMDAwODE4MDgyYzkzZTgwODMwN2U2NjljMTAxYjg4MjVkYzM5OTk3NzE3MTE5Y2VjOWU2NWJmYzkyN2QxYWQ2ZWYzMTk1NmU0NzQ3Zjk1Y2VhNDlmNzZmOWU2NjE2NGE3MzdhMTU1YTY2OTRmODYyODdiY2VjMDQzYTgzYzdmOWEzMTY5ZmQzYmI1N2NlNjE3YWIzZmQ0YzU5ZGE0Mzc3MDEyNzdmNjQ1NWZjMDQxZTY3MjA4MmJmZjAwM2U3NTUyMGMzMTY3YWQ2MWVkZDk4ZmJhN2UwZWQ4N2ViNTMyM2ZjNDdmZWIzZjUxYmZlMmZhYTMxYzIxNzRhMmY3YmI1NDhlOTcyN2Q3NjI4ZjE1MTM3YjQwMDdhMjY2NTE0MTNmZDAwJztcblxuZXhwb3J0IGNvbnN0IFNQT05TT1JFRF9ORlRfVFJBTlNBQ1RJT04gPVxuICAnMHhmOTAxMWEyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzA4MGI4NjQyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwNzE2ZjM4NmEwYTc4MzYxOTYyZDFmNjRjZTIyNTZhMmM4NzFiYjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Y2EwMGUzYmM4YTgzNjAyNmMyOTE3YzZjN2M2ZDA0OWU1MjA5OWRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODcyMzgxODA4MjUyMDg4MDgyZmFmOGMxMDFiODgyMjEyZDIxMmVmZmVhMDM3NzNmNDIyOGNkMDQ5ZWZlNDJjM2VmZTU0ZjE4Mzc4ZGVmNTJmMGFkMzQ5NjM3MjQ4ZDY3ZDBlZWM2ZmQ5YmM3ZGRjNWFiNGQ5OGYyMmM0ZmM4ZGU0ODVlMjQwM2Y5MGE2OGIyNjEzZTIxNDI0NWMwYTQwMTc1OGM5ZDAwYWRhNDBlYmMzNjg5MGJiZjhjZjFjODQwNzBlMDk1MGRjYmI2Y2FkOTRhNGM5YTRjMGZmZTE2Yzc0ODZjNWI2NzQyMDdjNGQ5MTZmN2VkN2NiNTAxYzczZGFhYWZjNDljZmU3Njg1Y2YxZTBmODA1NGE3ZmE0NjAzMDAnO1xuXG5leHBvcnQgY29uc3QgU1RBS0lOR19UUkFOU0FDVElPTiA9XG4gICcweGY5MDEwMzI3ODgwMTVkNTVmY2YyNDU3ZTdjNDBmODY2Zjg2NDk0MTg1NmM1MzNhYzJkOTQzNDBhYWE4NTQ0ZDM1YTVjMWQ0YTIxZGVlNzg4MGRlMGI2YjNhNzY0MDAwMGI4NDRkOGRhM2JiZjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODE4MDgyNjU4NDgwODMwOTRjNTNjMTAxYjg4MmVmY2I5ZWE4OGU5MDhkMWExNDJkYjk2YzFiNDRkZDA1NmVhMTk0ZjFhZDQ1NjcwYzEwMGE4YzUyMzQ4Y2M3YjIwMzg3NzQxMjYwZWJlN2ZlOWI3NTk0Zjk2NjkzYzg4NjYyZmE2MGVkYmE1OTkyMzMyNzI4MjIyYjBiZGQ4YTMwMDA4NTM1MzY4YmQ5MDEzMTllYjQ1MTNkMTZiZWJjNDI4ZGM4NDU0ZDMyYTE5ZWViNzYzNzI4NDlhNjEzNGViYmJhNzlmMWVlY2VlYTFmNjU0NjU3NGI5NDVjMDU0ODkyMjJjYjQ1MWY1YjBlMjkwMWIwYzY4N2I3NTBlODMzYWViODAwJztcblxuZXhwb3J0IGNvbnN0IFNUQUtFX0NMQVVTRV9UUkFOU0FDVElPTiA9XG4gICcweGY4ZTUyNzg4MDE2MzgyOThjNTM3NjdhYzQwZjg0N2Y4NDU5NDFlMDJiMjk1M2FkZWZlYzIyNWNmMGVjNDk4MDViMTE0NmE0NDI5YzE4YTAyMWUxOWUwYzliYWIyNDAwMDAwYTQ2MDRmMjE3NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDg4MTgwODMwNjMzOGE4MDgzMGYzNDBiYzEwMWI4ODJiNDk3MGIwYzE2MDU1MjE2MmRlNzE5YjllZDFmYTYyNjhiYmZlOWIzNmZkNGU0YTVjMTNlOTU2Y2Y1MzllNjA0NzhmNjkxNzllOGRiNGEzMTA2ZmRiZTc3NWUzZDkyMzUxMGIxNmY0OGRhNTZjNjYwNzZkMWY2NmZmZDgyMmFiZjAxZWJjMDQwYzc5NWIxZTE3Y2IwY2E1YmE3NDdlM2ExODFiNGVlZmVhN2RiNTM3OGY2NGY4MjM2MWJkYjc3NDVkYTQ1YWJhMmFjZTNkYjk4MjJiNjc1NDc0NTUyZjEzODQ5MDUyOTg3YzQzMWNkNDg2NzgxM2MyY2Y2MzUzMDJiMTEwMSc7XG5cbmV4cG9ydCBjb25zdCBERUxFR0FUSU9OX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjhmYzI3ODgwMTY0MDYzOTA5MWEyNmNlNDBmODVlZjg1Yzk0MWUwMmIyOTUzYWRlZmVjMjI1Y2YwZWM0OTgwNWIxMTQ2YTQ0MjljMTgwYjg0NDA4YmJiODI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM2QyZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTYzZWMzY2FmYmJlN2U2MGIwNGIzMTkwZTZlY2E2NjU3OTcwNmQ4MTgwODMwNDY0YjA4MDgzMGQ4YjA1YzEwMWI4ODIxYTNjY2E4ZTgzMzk0NTZjNjA1NWVmNzk2ZTVkNzE2ZGRhMDBkZTQ1ZjRjZDk0MzFiZWRmMjExOWFlNWRlMDFiMWYwYTcyNjg2OTA3ODRiYThmNWMyMmIzMDQzZDA1MzBlY2U1MzAzYTgxM2ZmZGQ5YzBhNWFlMGFlODVkZWVlNDAwYjA0NTQzZDY4NzRmMzBlY2E4OGIzZWZiOTI3YzQ0OTM0ZTllYjY0YTZmMjMyN2NjZTQ0YTBhOTRmYWFjYTEzNjE1ZDE1M2U4MDRiYTNmZGQwMmJmNWY4ZTFiNmJjOGUwZjYxNDlhMWM3Njk0ODAzZWQ0ZmJiNTQ5YmI3OTA2NjEwMSc7XG5cbmV4cG9ydCBjb25zdCBFWElUX0RFTEVHQVRJT05fVFJBTlNBQ1RJT04gPVxuICAnMHhmOGRiMjc4ODAxNjQwYmY0NjFiYzdlMTg0MGY4M2RmODNiOTQxZTAyYjI5NTNhZGVmZWMyMjVjZjBlYzQ5ODA1YjExNDZhNDQyOWMxODBhNDY5ZTc5YjdkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM2QyZDgxODA4MzAzNTI1ZjgwODMwNWY2NWFjMTAxYjg4MjBjYjM5MzMxNzc5MzAxMWIwYTIwNTk3M2M3Nzc2MWY1YzVjODY1MmMyMWZlMDExNWY1MjdkMmUyZjJjMWI1ZmM3MmEwNDgxMDdiMjYzNzY0MzEyZTkzMjNmMmFjZTlmMzBjZTBiZWVkODczZDdlZjdmNTQzMjk0MzMzMGQyZDUwMDBhNGE1ZjY0Mzk1MDNmMjM1YWM2YTVlMTdiNDdhYzI2YzllMGM5ZTNiZTlkYmQ0Y2VjMzI2NmZlYTMyNGViOWJmNWY4MDZjZWRjYTU5ZmY0MTQ0ZGViMGNhMThjNDFkOWQ2ZDYwMGE4NmJmM2Q0ZTdiOTMwYmNlYzliMDRjMmU3MzAxJztcblxuZXhwb3J0IGNvbnN0IEJVUk5fTkZUX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjhkYjI3ODgwMTY0MGJmZTZjMWVlM2U2NDBmODNkZjgzYjk0MWUwMmIyOTUzYWRlZmVjMjI1Y2YwZWM0OTgwNWIxMTQ2YTQ0MjljMTgwYTQyZTE3ZGU3ODAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDNkMmQ4MTgwODMwNTU0OGM4MDgzMDRmZTM4YzEwMWI4ODIwNDQ5MzNiOTJlMGZjNTUxN2Q1ODIwNWI0NjIxMWE1YWQyNDAzMTAzYzhjMjE3Y2U5NjgyZWJlMjQ1N2UzNzRmNjU1ZmM2YmUzMDdjN2RmZDU5ZjBmNGVkYTJhYWI3ZTNhMWFjOTIxOTkyMzA4NmNkZTUyZTY0MDVjMzRkZTJkODAxZDY5MmRmNzQwZjk1ZGQ0YWM2ZGJhZTdlYjZlOTFhNzEyYTFlNDU2ZTFhODBlM2EyZjUwMWVhMWU2ZWQxMmM0MzA4ZTY1YThhOThiMDE0MjE5MDgxMmQ0NDg0ZjU0MTIxYmJjOTViNjA0OGFlMDlkZTU5NDYzMDRhZmZiZmJhMTQwMCc7XG5cbmV4cG9ydCBjb25zdCBTVEFLSU5HX0xFVkVMX0lEID0gODtcbmV4cG9ydCBjb25zdCBTVEFLSU5HX0FVVE9SRU5FVyA9IHRydWU7XG5leHBvcnQgY29uc3QgU1RBS0lOR19DT05UUkFDVF9BRERSRVNTID0gJzB4MWUwMmIyOTUzYWRlZmVjMjI1Y2YwZWM0OTgwNWIxMTQ2YTQ0MjljMSc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9UT0tFTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4NzYyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg1ZWY4NWM5NDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MGI4NDRhOTA1OWNiYjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTYzNDU3ODVkOGEwMDAwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9ORlRfU0lHTkFCTEVfUEFZTE9BRCA9XG4gICdmODk2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IFVOU0lHTkVEX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjQyNzg4MDE1MzZjZTllOWZiMDYzODQwZGRkYzk0YzUyNTg0ZDFjNTZlN2JkZGNiNmY2NWQ1MGZmMDBmNzFlMGVmODk3YTg1ZThkNGE1MTAwMDgwODE4MDgyNTIwODgwODMwNjFjNzBjMCc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl8yID1cbiAgJzB4ZjcyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZTBkZjk0ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzg4MDE2MzQ1Nzg1ZDhhMDAwMDgwODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl8zID1cbiAgJzB4Zjg3NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODVlZjg1Yzk0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgwYjg0NGE5MDU5Y2JiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxNjM0NTc4NWQ4YTAwMDA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuLy91bnNpZ25lZCBuZnQgdHJhbnNhY3Rpb25cbmV4cG9ydCBjb25zdCBVTlNJR05FRF9UUkFOU0FDVElPTl80ID1cbiAgJzB4Zjg5NjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MDgwYjg2NDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE4NzIzODE4MDgyNTIwODgwODJmYWY4YzEwMSc7XG5cbmV4cG9ydCBjb25zdCBBRERSRVNTX0lOSVRJQUxJWkFUSU9OX1RSQU5TQUNUSU9OID1cbiAgJzB4Zjg5NTI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODdlZjg3Yzk0NjUzNDNlMThjMzc2ZDJmYzhjM2NmMTBjZDE0NmQ2M2UyZTBkYzllZjgwYjg2NDEzYjJmNzVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNTViMDBiNWM4MDdkNTY5NjE5N2I0OGQ0YWZmYTQwYmI4NzZkZjI0MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDdjODdiOWZmYzZmZDZjMTY3YzBlNGZhOTQxODcyMGYzZDY1OTM1OGUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODE4MDgyNTIwODgwODJmYWY4YzAnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9EQVRBID1cbiAgJzB4MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEnO1xuXG5leHBvcnQgY29uc3QgQUREUkVTU19JTklUSUFMSVpBVElPTl9TSUdOQUJMRV9QQVlMT0FEID1cbiAgJ2Y4OTUyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDY1MzQzZTE4YzM3NmQyZmM4YzNjZjEwY2QxNDZkNjNlMmUwZGM5ZWY4MGI4NjQxM2IyZjc1YzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTgxODA4MjUyMDg4MDgyZmFmOGMwJztcblxuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9BRERSRVNTID0gJzB4MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMCc7XG5cbmV4cG9ydCBjb25zdCBGT1JXQVJERVJfQUREUkVTU19ORVcgPSAnMHg2MDRhNDI4OTgzODgwODBkNTZiYzg1ZjgxNTk2NWQxZjY0YmViMWE2JztcblxuZXhwb3J0IGNvbnN0IEZMVVNIX1RPS0VOX1RSQU5TQUNUSU9OID1cbiAgJzB4Zjg1NDI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODNkZjgzYjk0MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMDgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBGTFVTSF9UT0tFTl9EQVRBID0gJzB4M2VmMTMzNjcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5JztcblxuZXhwb3J0IGNvbnN0IEZMVVNIX1RPS0VOX1NJR05BQkxFX1BBWUxPQUQgPVxuICAnZjg1NDI3ODgwMTRlYWQxNDBlNzdiYmMxNDBmODNkZjgzYjk0MDQzZmRlMmZhMGVjZTc3YzI0NjFhOTU3MWYzYjFiMWM2ZmFjYTEyMDgwYTQzZWYxMzM2NzAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NTZlNjU3MjY3Nzk4MTgwODI1MjA4ODA4MmZhZjhjMCc7XG5cbmV4cG9ydCBjb25zdCBJTlZBTElEX1RSQU5TQUNUSU9OID1cbiAgJzB4ZjhiYzI3ODgwMTRlYTA2MGI1YjU5OTdlNDBlMGRmOTRlNWY0ZWVjNDRhZGYxOWM0Y2JlZWM4ODAxNjM0NTc4NWQ4YTAwMDA4MDgxODA4MjUyMDg4MDgzMGJmODRmYzEwMWI4ODI0MThlMjEyYTQwYjI5ZGE2ODVhNzMxMjgyOWU4ZDFkMzcwOGI2NTRmNGRkYjQzODhhN2E4MGY1YWYzZTU0MjNiNDU1NDUxOTAxZDliODM3ZmUxODUwMWU2ZWE1ZWM3ZDNkMjcxMWYwMDA3M2Q1NTNhYWJlNDBlMDI2MGVjOGE2ZjAwZGE1NTdkMGExYWY2NmI4MmI0NTczMjRiYzZmYzg2YzdmMDM2MmU3NmMxNWI2NDQzMmU2NmI2ZmE2MmZjYTM4YzdkMjA4YTYwNGQxYTdlYzUzNTZjOTVmZWM3YmM2ZjMzMmQxNjcxOGE5MWE1M2UwZTk5ZTNhODFhZTMyMDVhYjQwMCc7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0ZFUl9DTEFVU0UgPSBbXG4gIHtcbiAgICB0bzogJzB4ZTU5ZjFjZWE0ZTBmZWY1MTFlM2QwZjRlZWM0NGFkZjE5YzRjYmVlYycsXG4gICAgdmFsdWU6IDEwMDAwMDAwMDAwMDAsXG4gICAgZGF0YTogJzB4JyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzZXMgPSB7XG4gIHZhbGlkQWRkcmVzc2VzOiBbXG4gICAgJzB4N2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZCcsXG4gICAgJzB4ZTU5RjFjZWE0ZTBGRWY1MTFlM2QwZjRFRWM0NEFEZjE5QzRjYmVFQycsXG4gICAgJzB4N2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZScsXG4gICAgJzB4YzA3MTZmMzg2YTBhNzgzNjE5NjJkMWY2NGNlMjI1NmEyYzg3MWJiNScsXG4gIF0sXG4gIGludmFsaWRBZGRyZXNzZXM6IFtcbiAgICAncmFuZG9tU3RyaW5nJyxcbiAgICAnMHhjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZGRmZ3NkY3ZmJyxcbiAgICAnNW5lN3BoQTQ4SnJ2cG4zOUF0dXBCOFprQ0NBeThnTFRmcEdpaFpQdURxZW4nLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZyA9XG4gICcwNjIwODBjYzc3ZGI5ZDVjZTVkYjg0ZjFjZmI1N2M5OTA2YzliZmRjZTc4ZTRkNTM3NTdiYmQzZDUzNmM3MzFlMWU1ZTQwNmE0ZTc4M2E0ZjYzNDQ2YWEyOGQyMWRjMjc3OTZhYWU5MGZhYzc5MTUxYzNkMGIzYmE2OGNkZTM2ODAxJztcblxuZXhwb3J0IGNvbnN0IGZlZVBheWVyU2lnID1cbiAgJzQ3YWU3OWUyM2VmZmQyMzMyMDYxODBlY2UzYWIzZDZkNDk2MzEwYzAzYzU1YmQwNTY2YTU0YmI3ZDQyMDk1Yzk3YTkwY2E5ZmY0Y2ZiOTRlYzU3OWE3ZWM3Zjc5ZGU0ODE0ZGZjODE2ZDBhMTMwMTg5YzA3Yjc0Njk0NTQ4MmZiMDAnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnMiA9XG4gICc5ZDA1ZTkwYTAwYzUzOGFmZDY4NjUyZjYzYTRlMjE0ODFkMWQwODJmZGJkNGEzMDBiMDRiNTYxZGM3NjE4NWFkMjkyYmI0OGQ3MDg0NmJkMGZiOGI1MjY3ODJiOWQyZjk0MGRiY2VlM2JjNTU0YmZiN2I1M2UzNjJiYmNiMzlkNzAxJztcblxuZXhwb3J0IGNvbnN0IGZlZVBheWVyU2lnMiA9XG4gICc0NWQ4YWVjNGQyZWQ1Zjc0Yjc4ODY5NWNlYjc2ZDE4ZGQzNTk3NTAzYmMwNDY2ZDY2NzQ5M2IyYWZmMmMyYjA5NWQzNTI3ODhhMzQ1YjJlM2I0OWU5YWQxOWJjMjhiMGJkZWU0NWQwY2NlOTg2OTYyZTYxYjBmZWJlNjBhMjU5MzAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZzMgPVxuICAnMjEyZDIxMmVmZmVhMDM3NzNmNDIyOGNkMDQ5ZWZlNDJjM2VmZTU0ZjE4Mzc4ZGVmNTJmMGFkMzQ5NjM3MjQ4ZDY3ZDBlZWM2ZmQ5YmM3ZGRjNWFiNGQ5OGYyMmM0ZmM4ZGU0ODVlMjQwM2Y5MGE2OGIyNjEzZTIxNDI0NWMwYTQwMSc7XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllclNpZzMgPVxuICAnNzU4YzlkMDBhZGE0MGViYzM2ODkwYmJmOGNmMWM4NDA3MGUwOTUwZGNiYjZjYWQ5NGE0YzlhNGMwZmZlMTZjNzQ4NmM1YjY3NDIwN2M0ZDkxNmY3ZWQ3Y2I1MDFjNzNkYWFhZmM0OWNmZTc2ODVjZjFlMGY4MDU0YTdmYTQ2MDMwMCc7XG5cbmV4cG9ydCBjb25zdCBzZW5kZXJTaWduZWRTZXJpYWxpemVkVHhIZXggPVxuICAnMHhmNzI3ODgwMTRlYWQxNDBlNzdiYmMxNDBlMGRmOTRlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IHNlbmRlclNpZ25lZFNlcmlhbGl6ZWRUeEhleDIgPVxuICAnMHhmODc2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDEnO1xuXG5leHBvcnQgY29uc3QgY29tcGxldGVTaWduZWRTZXJpYWxpemVkSGV4ID1cbiAgJzB4ZjhiYjI3ODgwMTRlYWQxNDBlNzdiYmMxNDBlMGRmOTRlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjODgwMTYzNDU3ODVkOGEwMDAwODA4MTgwODI1MjA4ODA4MmZhZjhjMTAxYjg4MjA2MjA4MGNjNzdkYjlkNWNlNWRiODRmMWNmYjU3Yzk5MDZjOWJmZGNlNzhlNGQ1Mzc1N2JiZDNkNTM2YzczMWUxZTVlNDA2YTRlNzgzYTRmNjM0NDZhYTI4ZDIxZGMyNzc5NmFhZTkwZmFjNzkxNTFjM2QwYjNiYTY4Y2RlMzY4MDE0N2FlNzllMjNlZmZkMjMzMjA2MTgwZWNlM2FiM2Q2ZDQ5NjMxMGMwM2M1NWJkMDU2NmE1NGJiN2Q0MjA5NWM5N2E5MGNhOWZmNGNmYjk0ZWM1NzlhN2VjN2Y3OWRlNDgxNGRmYzgxNmQwYTEzMDE4OWMwN2I3NDY5NDU0ODJmYjAwJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleDIgPVxuICAnMHhmOGZhMjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4NWVmODVjOTQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5ODBiODQ0YTkwNTljYmIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBlNTlmMWNlYTRlMGZlZjUxMWUzZDBmNGVlYzQ0YWRmMTljNGNiZWVjMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDE2MzQ1Nzg1ZDhhMDAwMDgxODA4MjUyMDg4MDgyZmFmOGMxMDFiODgyOWQwNWU5MGEwMGM1MzhhZmQ2ODY1MmY2M2E0ZTIxNDgxZDFkMDgyZmRiZDRhMzAwYjA0YjU2MWRjNzYxODVhZDI5MmJiNDhkNzA4NDZiZDBmYjhiNTI2NzgyYjlkMmY5NDBkYmNlZTNiYzU1NGJmYjdiNTNlMzYyYmJjYjM5ZDcwMTQ1ZDhhZWM0ZDJlZDVmNzRiNzg4Njk1Y2ViNzZkMThkZDM1OTc1MDNiYzA0NjZkNjY3NDkzYjJhZmYyYzJiMDk1ZDM1Mjc4OGEzNDViMmUzYjQ5ZTlhZDE5YmMyOGIwYmRlZTQ1ZDBjY2U5ODY5NjJlNjFiMGZlYmU2MGEyNTkzMDEnO1xuXG5leHBvcnQgY29uc3Qgc2VuZGVyU2lnbmVkU2VyaWFsaXplZEhleDMgPVxuICAnMHhmODk2Mjc4ODAxNGVhZDE0MGU3N2JiYzE0MGY4N2VmODdjOTQxZWMxZDE2ODU3NDYwM2VjMzViOWQyMjk4NDNiN2MyYjQ0YmNiNzcwODBiODY0MjNiODcyZGQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBjMDcxNmYzODZhMGE3ODM2MTk2MmQxZjY0Y2UyMjU2YTJjODcxYmI1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTg3MjM4MTgwODI1MjA4ODA4MmZhZjhjMTAxJztcblxuZXhwb3J0IGNvbnN0IGNvbXBsZXRlU2lnbmVkU2VyaWFsaXplZEhleDMgPVxuICAnMHhmOTAxMWEyNzg4MDE0ZWFkMTQwZTc3YmJjMTQwZjg3ZWY4N2M5NDFlYzFkMTY4NTc0NjAzZWMzNWI5ZDIyOTg0M2I3YzJiNDRiY2I3NzA4MGI4NjQyM2I4NzJkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGMwNzE2ZjM4NmEwYTc4MzYxOTYyZDFmNjRjZTIyNTZhMmM4NzFiYjUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA3Y2EwMGUzYmM4YTgzNjAyNmMyOTE3YzZjN2M2ZDA0OWU1MjA5OWRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxODcyMzgxODA4MjUyMDg4MDgyZmFmOGMxMDFiODgyMjEyZDIxMmVmZmVhMDM3NzNmNDIyOGNkMDQ5ZWZlNDJjM2VmZTU0ZjE4Mzc4ZGVmNTJmMGFkMzQ5NjM3MjQ4ZDY3ZDBlZWM2ZmQ5YmM3ZGRjNWFiNGQ5OGYyMmM0ZmM4ZGU0ODVlMjQwM2Y5MGE2OGIyNjEzZTIxNDI0NWMwYTQwMTc1OGM5ZDAwYWRhNDBlYmMzNjg5MGJiZjhjZjFjODQwNzBlMDk1MGRjYmI2Y2FkOTRhNGM5YTRjMGZmZTE2Yzc0ODZjNWI2NzQyMDdjNGQ5MTZmN2VkN2NiNTAxYzczZGFhYWZjNDljZmU3Njg1Y2YxZTBmODA1NGE3ZmE0NjAzMDAnO1xuXG5leHBvcnQgY29uc3QgYmxvY2tJZHM6IHsgdmFsaWRCbG9ja0lkczogc3RyaW5nW107IGludmFsaWRCbG9ja0lkczogc3RyaW5nW10gfSA9IHtcbiAgdmFsaWRCbG9ja0lkczogW1xuICAgICcweDAxNGYxMmVkOTRjNGI0NzcwZjdmOWE3M2UyYWE0MWE5ZGZiYWMwMmE0OWYzNmVjMDVhY2ZkYmE4YzcyNDRmZjAnLFxuICAgICcweDAxNGYxMzBkMDBhMmZlMDZkNDcxYTM1ZTdmMmNkMThkMjViZGVmZTUzNzBjMDdhMmFkNjhjMGFlMzg1MmFkODYnLFxuICBdLFxuICBpbnZhbGlkQmxvY2tJZHM6IFtcbiAgICAncmFuZG9tU3RyaW5nJyxcbiAgICAnMHhjNDE3M2E4MDQ0MDZhMzY1ZTY5ZGZiMjk3ZGRmZ3NkY3ZmJyxcbiAgICAnNW5lN3BoQTQ4SnJ2cG4zOUF0dXBCOFprQ0NBeThnTFRmcEdpaFpQdURxZW4nLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IGludmFsaWRSZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy5pbnZhbGlkQWRkcmVzc2VzWzBdLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiAnLTkxOTE5MScsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiAnaW52YWxpZEFtb3VudCcsXG4gIH0sXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0sXG4gICAgYW1vdW50OiBBTU9VTlQudG9TdHJpbmcoKSxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCByZWNpcGllbnRzOiBSZWNpcGllbnRbXSA9IFtcbiAge1xuICAgIGFkZHJlc3M6IGFkZHJlc3Nlcy52YWxpZEFkZHJlc3Nlc1sxXS50b0xvd2VyQ2FzZSgpLFxuICAgIGFtb3VudDogQU1PVU5ULnRvU3RyaW5nKCksXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgbmZ0UmVjaXBpZW50czogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMV0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBuZnRSZWNpcGllbnRzMjogUmVjaXBpZW50W10gPSBbXG4gIHtcbiAgICBhZGRyZXNzOiBhZGRyZXNzZXMudmFsaWRBZGRyZXNzZXNbMF0udG9Mb3dlckNhc2UoKSxcbiAgICBhbW91bnQ6ICcxJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBmZWVQYXllciA9IHtcbiAgYWRkcmVzczogJzB4ZGM5ZmVmMGI4NGEwY2NmM2YxYmQ0Yjg0ZTQxNzQzZTNlMDUxYTA4MycsXG59O1xuXG4vLyBVc2UgdGhlIGhhcmRjb2RlZCB2YWx1ZXMgZnJvbSB0aGUgVmV0VGVzdG5ldCBjbGFzcyBpbiBuZXR3b3Jrcy50c1xuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9GQUNUT1JZX0FERFJFU1MgPSAnMHg2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmJztcblxuZXhwb3J0IGNvbnN0IEZPUldBUkRFUl9JTVBMRU1FTlRBVElPTl9BRERSRVNTID0gJzB4NjJkZTM0Yzg3Zjg0N2QzODVhZjA3ZjZjMjVkYmQ5N2IxZmZmZWZjMCc7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfRk9SV0FSREVSX01FVEhPRCA9ICcweDEzYjJmNzVjJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfQUREUkVTUyA9ICcweDU1YjAwYjVjODA3ZDU2OTYxOTdiNDhkNGFmZmE0MGJiODc2ZGYyNDAnO1xuXG5leHBvcnQgY29uc3QgRkVFX0FERFJFU1MgPSAnMHg3Yzg3YjlmZmM2ZmQ2YzE2N2MwZTRmYTk0MTg3MjBmM2Q2NTkzNThlJztcblxuZXhwb3J0IGNvbnN0IFRPS0VOX0FERFJFU1MgPSAnMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNDU2ZTY1NzI2Nzc5JztcblxuZXhwb3J0IGNvbnN0IE5GVF9DT05UUkFDVF9BRERSRVNTID0gJzB4MWVjMWQxNjg1NzQ2MDNlYzM1YjlkMjI5ODQzYjdjMmI0NGJjYjc3MCc7XG5cbmV4cG9ydCBjb25zdCBTQUxUID0gJzB4MSc7XG5cbmV4cG9ydCBjb25zdCBTRVJJQUxJWkVEX1NJR05FRF9BRERSRVNTX0lOSVRfVFggPVxuICAnMHhmOGQ5Mjc4ODAxNTJjOTA2NTMxNzg0YmQ0MGY4N2VmODdjOTQ2NTM0M2UxOGMzNzZkMmZjOGMzY2YxMGNkMTQ2ZDYzZTJlMGRjOWVmODBiODY0MTNiMmY3NWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA1NWIwMGI1YzgwN2Q1Njk2MTk3YjQ4ZDRhZmZhNDBiYjg3NmRmMjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2M4N2I5ZmZjNmZkNmMxNjdjMGU0ZmE5NDE4NzIwZjNkNjU5MzU4ZTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ4MTgwODMwMjQ5ZjA4MDgyZmFmOGMwYjg0MTk2NTc3MDQ2ZWNiYmE2NDBkOGY1OTE0YTdiNGNiOTlmOWFiNDc5MzU5YmNkYTUzNjhjYzlhZmRmYjU1OTk0YTA0NjlhZjA3MWNkZWI0Y2FjOTJjYWFmMGJlN2ZlZGY0OTJkMjIxNWY4M2JhYTAwZDRhYmFjMzFjZjQ4ZWVkZGQ5MDAnO1xuXG5leHBvcnQgY29uc3QgU0VSSUFMSVpFRF9TSUdORURfRkxVU0hfVE9LRU5fVFggPVxuICAnMHhmODk4Mjc4ODAxNTJjZjQ1NTUzNmViYzc0MGY4M2RmODNiOTQ2MDRhNDI4OTgzODgwODBkNTZiYzg1ZjgxNTk2NWQxZjY0YmViMWE2ODBhNDNlZjEzMzY3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDQ1NmU2NTcyNjc3OTgxODA4MzAyNDlmMDgwODJmYWY5YzBiODQxYjUyMjVhMGQ1YzYzZmQ0Y2VlZTJmZWZlOTQ3NTlkMjBlMzdjMjllYmNkMTVmYzAzZWI2OTlkNGFmNWJiMjEwYzI1ODU4M2Y5ZThlMjZlODcyNzUxZTI1NWMyZjBmZTlkNDRkNTJjZTY1YjZiNzYwNDA0NzZlMjg1MDc0YTRiNTkwMSc7XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9ORlRfQ09OVFJBQ1RfREFUQSA9XG4gICcweDIzYjg3MmRkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwN2NhMDBlM2JjOGE4MzYwMjZjMjkxN2M2YzdjNmQwNDllNTIwOTlkZDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMGU1OWYxY2VhNGUwZmVmNTExZTNkMGY0ZWVjNDRhZGYxOWM0Y2JlZWMwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNGQyJztcbiJdfQ==