@witnet/sdk 1.2.2 → 1.2.3

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 (53) hide show
  1. package/.env_witnet +2 -1
  2. package/dist/package.json +4 -3
  3. package/dist/src/bin/helpers.js +1 -1
  4. package/dist/src/index.js +1 -1
  5. package/dist/src/lib/crypto/account.js +1 -1
  6. package/dist/src/lib/crypto/coinbase.js +1 -1
  7. package/dist/src/lib/crypto/index.js +1 -1
  8. package/dist/src/lib/crypto/interfaces.js +1 -1
  9. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +1 -1
  10. package/dist/src/lib/crypto/payloads/StakePayload.js +1 -1
  11. package/dist/src/lib/crypto/payloads/UnstakePayload.js +1 -1
  12. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +1 -1
  13. package/dist/src/lib/crypto/payloads.js +1 -1
  14. package/dist/src/lib/crypto/signer.js +1 -1
  15. package/dist/src/lib/crypto/transmitters/DataRequests.js +1 -1
  16. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +1 -1
  17. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +1 -1
  18. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +1 -1
  19. package/dist/src/lib/crypto/transmitters.js +1 -1
  20. package/dist/src/lib/crypto/types.js +1 -1
  21. package/dist/src/lib/crypto/utils.js +1 -1
  22. package/dist/src/lib/crypto/wallet.js +1 -1
  23. package/dist/src/lib/index.js +1 -1
  24. package/dist/src/lib/radon/ccdr/eth.js +1 -1
  25. package/dist/src/lib/radon/ccdr/index.js +1 -1
  26. package/dist/src/lib/radon/ccdr/wit.js +1 -1
  27. package/dist/src/lib/radon/filters.js +1 -1
  28. package/dist/src/lib/radon/index.js +1 -1
  29. package/dist/src/lib/radon/reducers.js +1 -1
  30. package/dist/src/lib/radon/types.js +1 -1
  31. package/dist/src/lib/radon/utils.d.ts.map +1 -1
  32. package/dist/src/lib/radon/utils.js +1 -1
  33. package/dist/src/lib/rest/kermit.d.ts.map +1 -1
  34. package/dist/src/lib/rest/kermit.js +2 -4
  35. package/dist/src/lib/rest/types.js +1 -1
  36. package/dist/src/lib/rpc/index.js +1 -1
  37. package/dist/src/lib/rpc/nodes.js +1 -1
  38. package/dist/src/lib/rpc/provider.js +1 -1
  39. package/dist/src/lib/rpc/types.js +1 -1
  40. package/dist/src/lib/types.js +1 -1
  41. package/dist/src/lib/utils.js +1 -1
  42. package/package.json +4 -3
  43. package/scripts/clean.cjs +21 -21
  44. package/scripts/postinstall.cjs +9 -9
  45. package/src/bin/bots/watcher.cjs +365 -354
  46. package/src/bin/cli/history.cjs +31 -31
  47. package/src/bin/cli/inspect.js +581 -581
  48. package/src/bin/cli/network.js +695 -695
  49. package/src/bin/cli/nodes.js +424 -424
  50. package/src/bin/cli/radon.js +1124 -1122
  51. package/src/bin/cli/wallet.js +1362 -1362
  52. package/src/bin/helpers.js +974 -974
  53. package/src/bin/index.js +328 -328
@@ -261,4 +261,4 @@ export class JsonRpcNodeFarm extends JsonRpcProvider {
261
261
  return this.batchApiMethod(Methods.Rewind, [epoch]);
262
262
  }
263
263
  }
264
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN6QyxPQUFPLEVBQ04sU0FBUyxFQUNULGFBQWEsRUFFYixvQkFBb0IsR0FDcEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBRU4sZUFBZSxFQUNmLG9CQUFvQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRU4sT0FBTyxHQU1QLE1BQU0sWUFBWSxDQUFDO0FBc0JwQixTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQ2hDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsT0FBTyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLE9BQU8sZUFDWixTQUFRLGVBQWU7SUFHdkIsWUFBWSxHQUFZO1FBQ3ZCLEtBQUssQ0FDSixHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsSUFBSSx3QkFBd0IsQ0FDeEUsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLEtBQUssQ0FDViwyRUFBMkUsR0FBRyxFQUFFLENBQ2hGLENBQUM7WUFDSCxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRVMsS0FBSyxDQUFDLGlCQUFpQixDQUNo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S0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQVUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdCBhcyBheGlvcyB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQge1xyXG5cdFB1YmxpY0tleSxcclxuXHRQdWJsaWNLZXlIYXNoLFxyXG5cdHR5cGUgUHVibGljS2V5SGFzaFN0cmluZyxcclxuXHRSZWNvdmVyYWJsZVNpZ25hdHVyZSxcclxufSBmcm9tIFwiLi4vY3J5cHRvL3R5cGVzLmpzXCI7XHJcbmltcG9ydCB0eXBlIHsgRXBvY2gsIEhleFN0cmluZywgTm9uY2UgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcclxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIi4uL3V0aWxzLmpzXCI7XHJcbmltcG9ydCB7XHJcblx0dHlwZSBJSnNvblJwY1Byb3ZpZGVyLFxyXG5cdEpzb25ScGNQcm92aWRlcixcclxuXHRKc29uUnBjUHJvdmlkZXJFcnJvcixcclxufSBmcm9tIFwiLi9wcm92aWRlci5qc1wiO1xyXG5pbXBvcnQge1xyXG5cdHR5cGUgQmFsYW5jZTIsXHJcblx0TWV0aG9kcyxcclxuXHR0eXBlIE5vZGVTdGF0cyxcclxuXHR0eXBlIFBlZXJBZGRyLFxyXG5cdHR5cGUgU3Rha2VBdXRob3JpemF0aW9uLFxyXG5cdHR5cGUgU3Rha2VFbnRyeSxcclxuXHR0eXBlIFN5bmNTdGF0dXMsXHJcbn0gZnJvbSBcIi4vdHlwZXMuanNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUpzb25ScGNOb2RlRmFybSBleHRlbmRzIElKc29uUnBjUHJvdmlkZXIge1xyXG5cdGFkZHJlc3NlcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIFB1YmxpY0tleUhhc2hTdHJpbmc+PjtcclxuXHRiYWxhbmNlcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIFtQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMl0+PjtcclxuXHRtYXN0ZXJLZXlzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIHN0cmluZ10+PjtcclxuXHRwdWJsaWNLZXlzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIFB1YmxpY0tleV0+PjtcclxuXHRzeW5jU3RhdHVzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgU3luY1N0YXR1cz4+O1xyXG5cclxuXHRwZWVycyh2YWxpZGF0b3I/OiBQdWJsaWNLZXlIYXNoU3RyaW5nKTogUHJvbWlzZTxBcnJheTxQZWVyQWRkcj4+O1xyXG5cdHN0YXRzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgTm9kZVN0YXRzPj47XHJcblx0d2l0aGRyYXdlcnMoKTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgW2JpZ2ludCwgTm9uY2UsIG51bWJlcl0+PjtcclxuXHJcblx0YWRkUGVlcnMocGVlcnM6IEFycmF5PHN0cmluZz4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PjtcclxuXHRhdXRob3JpemVTdGFrZXMoXHJcblx0XHR3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG5cdCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIEhleFN0cmluZ10+PjtcclxuXHRjbGVhclBlZXJzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+O1xyXG5cdGluaXRpYWxpemVQZWVycygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PjtcclxuXHRyZXdpbmQoZXBvY2g6IEVwb2NoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj47XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzUHJpdmF0ZVVSTCh1cmw6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdGNvbnN0IFssIGhvc3RdID0gdXRpbHMucGFyc2VVUkwodXJsKTtcclxuXHRyZXR1cm4gdXRpbHMuaXBJc1ByaXZhdGVPckxvY2FsaG9zdChob3N0LnNwbGl0KFwiOlwiKVswXSk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBKc29uUnBjTm9kZUZhcm1cclxuXHRleHRlbmRzIEpzb25ScGNQcm92aWRlclxyXG5cdGltcGxlbWVudHMgSUpzb25ScGNOb2RlRmFybVxyXG57XHJcblx0Y29uc3RydWN0b3IodXJsPzogc3RyaW5nKSB7XHJcblx0XHRzdXBlcihcclxuXHRcdFx0dXJsIHx8IHByb2Nlc3MuZW52LldJVE5FVF9UT09MS0lUX0ZBUk1fTk9ERVMgfHwgXCJodHRwOi8vMTI3LjAuMC4xOjIxMzM5XCIsXHJcblx0XHQpO1xyXG5cdFx0dGhpcy5lbmRwb2ludHMuZm9yRWFjaCgodXJsKSA9PiB7XHJcblx0XHRcdGlmICghaXNQcml2YXRlVVJMKHVybCkpIHtcclxuXHRcdFx0XHR0aHJvdyBFcnJvcihcclxuXHRcdFx0XHRcdGBXaXRuZXQuSnNvblJwY05vZGVGYXJtOiBvbmx5IGxvY2FsIGhvc3Qgb3IgcHJpdmF0ZSBJUHMgY2FuIGJlIHByb3ZpZGVkOiAke3VybH1gLFxyXG5cdFx0XHRcdCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFzeW5jIGJhdGNoQXBpUGtoTWV0aG9kPFQ+KFxyXG5cdFx0bWV0aG9kOiBzdHJpbmcsXHJcblx0XHRwYXJhbXM/OiBhbnksXHJcblx0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBbUHVibGljS2V5SGFzaFN0cmluZywgVF0+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hZGRyZXNzZXMoKVxyXG5cdFx0XHQudGhlbihhc3luYyAoYWRkcmVzc2VzOiBSZWNvcmQ8c3RyaW5nLCBFcnJvciB8IHN0cmluZz4pID0+IHtcclxuXHRcdFx0XHRjb25zdCBwcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKGFkZHJlc3NlcykubWFwKGFzeW5jIChbdXJsLCBwa2hdKSA9PiBbXHJcblx0XHRcdFx0XHR1cmwsXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdHBraCxcclxuXHRcdFx0XHRcdFx0cGtoIGluc3RhbmNlb2YgRXJyb3JcclxuXHRcdFx0XHRcdFx0XHQ/IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHRcdDogYXdhaXQgdGhpcy5jYWxsQXBpTWV0aG9kPFQ+KHVybCwgbWV0aG9kLCB7IHBraCwgLi4ucGFyYW1zIH0pLFxyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRdKTtcclxuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQudGhlbigoZW50cmllcykgPT5cclxuXHRcdFx0XHRPYmplY3QuZnJvbUVudHJpZXMoXHJcblx0XHRcdFx0XHRlbnRyaWVzLm1hcCgoW3VybCwgW3BraCwgdmFsdWVdXSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAodmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBFcnJvcikge1xyXG5cdFx0XHRcdFx0XHRcdGlmICgodmFsdWUgYXMgSnNvblJwY1Byb3ZpZGVyRXJyb3IpPy5lcnJvcj8ubWVzc2FnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWUgPSBuZXcgRXJyb3IoXHJcblx0XHRcdFx0XHRcdFx0XHRcdCh2YWx1ZSBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlLFxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB2YWx1ZS5zdGFjaztcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIFt1cmwsIFtwa2gsIHZhbHVlIHx8IFwiXCJdXTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdCksXHJcblx0XHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgYXN5bmMgYmF0Y2hBcGlQa2hNZXRob2ROb1BraDxUPihcclxuXHRcdG1ldGhvZDogc3RyaW5nLFxyXG5cdFx0Li4ucGFyYW1zOiBBcnJheTxhbnk+XHJcblx0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBbUHVibGljS2V5SGFzaFN0cmluZywgVF0+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hZGRyZXNzZXMoKVxyXG5cdFx0XHQudGhlbihhc3luYyAoYWRkcmVzc2VzOiBSZWNvcmQ8c3RyaW5nLCBFcnJvciB8IHN0cmluZz4pID0+IHtcclxuXHRcdFx0XHRjb25zdCBwcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKGFkZHJlc3NlcykubWFwKGFzeW5jIChbdXJsLCBwa2hdKSA9PiBbXHJcblx0XHRcdFx0XHR1cmwsXHJcblx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdHBraCxcclxuXHRcdFx0XHRcdFx0cGtoIGluc3RhbmNlb2YgRXJyb3JcclxuXHRcdFx0XHRcdFx0XHQ/IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHRcdDogYXdhaXQgdGhpcy5jYWxsQXBpTWV0aG9kPFQ+KHVybCwgbWV0aG9kLCBwYXJhbXMpLFxyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRdKTtcclxuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQudGhlbigoZW50cmllcykgPT5cclxuXHRcdFx0XHRPYmplY3QuZnJvbUVudHJpZXMoXHJcblx0XHRcdFx0XHRlbnRyaWVzLm1hcCgoW3VybCwgW3BraCwgdmFsdWVdXSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAodmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBFcnJvcikge1xyXG5cdFx0XHRcdFx0XHRcdGlmICgodmFsdWUgYXMgSnNvblJwY1Byb3ZpZGVyRXJyb3IpPy5lcnJvcj8ubWVzc2FnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWUgPSBuZXcgRXJyb3IoXHJcblx0XHRcdFx0XHRcdFx0XHRcdCh2YWx1ZSBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlLFxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSB2YWx1ZS5zdGFjaztcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIFt1cmwsIFtwa2gsIHZhbHVlIHx8IFwiXCJdXTtcclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdCksXHJcblx0XHRcdCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgYXN5bmMgYmF0Y2hBcGlNZXRob2Q8VD4oXHJcblx0XHRtZXRob2Q6IHN0cmluZyxcclxuXHRcdHBhcmFtcz86IEFycmF5PGFueT4gfCBhbnksXHJcblx0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBUPj4ge1xyXG5cdFx0Y29uc3QgcHJvbWlzZXMgPSB0aGlzLmVuZHBvaW50cy5tYXAoYXN5bmMgKHVybCkgPT5cclxuXHRcdFx0YXhpb3NcclxuXHRcdFx0XHQucG9zdChcclxuXHRcdFx0XHRcdHVybCxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0anNvbnJwYzogXCIyLjBcIixcclxuXHRcdFx0XHRcdFx0aWQ6IERhdGUubm93KCksXHJcblx0XHRcdFx0XHRcdG1ldGhvZCxcclxuXHRcdFx0XHRcdFx0cGFyYW1zLFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0aGVhZGVyczogdGhpcy5faGVhZGVycyxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0KVxyXG5cdFx0XHRcdC50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzcG9uc2U/LmVycm9yIHx8IHJlc3BvbnNlPy5kYXRhPy5lcnJvcikge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gW1xyXG5cdFx0XHRcdFx0XHRcdHVybCxcclxuXHRcdFx0XHRcdFx0XHRuZXcgSnNvblJwY1Byb3ZpZGVyRXJyb3IoXHJcblx0XHRcdFx0XHRcdFx0XHRtZXRob2QsXHJcblx0XHRcdFx0XHRcdFx0XHRwYXJhbXMsXHJcblx0XHRcdFx0XHRcdFx0XHRyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yLFxyXG5cdFx0XHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHRcdF07XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gW3VybCwgcmVzcG9uc2U/LmRhdGE/LnJlc3VsdCBhcyBUXTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC5jYXRjaCgoZXhjZXB0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxyXG5cdFx0XHRcdFx0XHRleGNlcHRpb24/Lm1lc3NhZ2UgfHwgZXhjZXB0aW9uPy5lcnJvciB8fCBleGNlcHRpb24sXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0ZGVsZXRlIGVycm9yLnN0YWNrO1xyXG5cdFx0XHRcdFx0cmV0dXJuIFt1cmwsIGVycm9yXTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdCk7XHJcblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKHZhbHVlcykgPT4gT2JqZWN0LmZyb21FbnRyaWVzKHZhbHVlcykpO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFzeW5jIGNhbGxBcGlNZXRob2Q8VD4oXHJcblx0XHR1cmw6IHN0cmluZyxcclxuXHRcdG1ldGhvZDogc3RyaW5nLFxyXG5cdFx0cGFyYW1zPzogQXJyYXk8YW55PiB8IGFueSxcclxuXHQpOiBQcm9taXNlPEVycm9yIHwgYW55PiB7XHJcblx0XHRyZXR1cm4gYXhpb3NcclxuXHRcdFx0LnBvc3QoXHJcblx0XHRcdFx0dXJsLFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdGpzb25ycGM6IFwiMi4wXCIsXHJcblx0XHRcdFx0XHRpZDogRGF0ZS5ub3coKSxcclxuXHRcdFx0XHRcdG1ldGhvZCxcclxuXHRcdFx0XHRcdHBhcmFtcyxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdGhlYWRlcnM6IHRoaXMuX2hlYWRlcnMsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0KVxyXG5cdFx0XHQudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yKSB7XHJcblx0XHRcdFx0XHRjb25zdCBlcnJvciA9IG5ldyBKc29uUnBjUHJvdmlkZXJFcnJvcihcclxuXHRcdFx0XHRcdFx0bWV0aG9kLFxyXG5cdFx0XHRcdFx0XHRwYXJhbXMsXHJcblx0XHRcdFx0XHRcdHJlc3BvbnNlPy5lcnJvciB8fCByZXNwb25zZT8uZGF0YT8uZXJyb3IsXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0ZGVsZXRlIGVycm9yPy5zdGFjaztcclxuXHRcdFx0XHRcdHJldHVybiBlcnJvcjtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHJlc3BvbnNlPy5kYXRhPy5yZXN1bHQgYXMgVDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHRcdC5jYXRjaCgoZXhjZXB0aW9uOiBhbnkpID0+IHtcclxuXHRcdFx0XHRjb25zdCBlcnJvciA9IG5ldyBFcnJvcihcclxuXHRcdFx0XHRcdGV4Y2VwdGlvbj8ubWVzc2FnZSB8fCBleGNlcHRpb24/LmVycm9yIHx8IGV4Y2VwdGlvbixcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdGRlbGV0ZSBlcnJvcj8uc3RhY2s7XHJcblx0XHRcdFx0cmV0dXJuIGVycm9yO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblx0cHVibGljIGFzeW5jIGFkZHJlc3NlcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIFB1YmxpY0tleUhhc2hTdHJpbmc+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaU1ldGhvZDxQdWJsaWNLZXlIYXNoU3RyaW5nPihNZXRob2RzLkdldFBraCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgYmFsYW5jZXMoKTogUHJvbWlzZTxcclxuXHRcdFJlY29yZDxzdHJpbmcsIFtQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMl0+XHJcblx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaVBraE1ldGhvZDxCYWxhbmNlMj4oTWV0aG9kcy5HZXRCYWxhbmNlMik7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgbWFzdGVyS2V5cygpOiBQcm9taXNlPFxyXG5cdFx0UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIHN0cmluZ10+XHJcblx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaVBraE1ldGhvZE5vUGtoPHN0cmluZz4oTWV0aG9kcy5NYXN0ZXJLZXlFeHBvcnQpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIHB1YmxpY0tleXMoKTogUHJvbWlzZTxcclxuXHRcdFJlY29yZDxzdHJpbmcsIFtQdWJsaWNLZXlIYXNoU3RyaW5nLCBQdWJsaWNLZXldPlxyXG5cdD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuYmF0Y2hBcGlQa2hNZXRob2ROb1BraDxVaW50OEFycmF5PihNZXRob2RzLkdldFB1YmxpY0tleSkudGhlbihcclxuXHRcdFx0KHJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIFtQdWJsaWNLZXlIYXNoU3RyaW5nLCBFcnJvciB8IFVpbnQ4QXJyYXldPikgPT5cclxuXHRcdFx0XHRPYmplY3QuZnJvbUVudHJpZXMoXHJcblx0XHRcdFx0XHRPYmplY3QuZW50cmllcyhyZXN1bHRzKS5tYXAoKFt1cmwsIFtwa2gsIHJhd11dKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyYXcgJiYgcmF3IGluc3RhbmNlb2YgRXJyb3IpIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoKHJhdyBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRyYXcgPSBuZXcgRXJyb3IoKHJhdyBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlKTtcclxuXHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSByYXcuc3RhY2s7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBbdXJsLCBbcGtoLCByYXddXTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW1xyXG5cdFx0XHRcdFx0XHRcdFx0dXJsLFxyXG5cdFx0XHRcdFx0XHRcdFx0W3BraCwgcmF3ID8gUHVibGljS2V5LmZyb21VaW50OEFycmF5KHJhdykgOiB1bmRlZmluZWRdLFxyXG5cdFx0XHRcdFx0XHRcdF07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdCksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIHBlZXJzKCk6IFByb21pc2U8QXJyYXk8UGVlckFkZHI+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaU1ldGhvZDxBcnJheTxQZWVyQWRkcj4+KE1ldGhvZHMuUGVlcnMpLnRoZW4oXHJcblx0XHRcdChyZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCBQZWVyQWRkcltdPikgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHBlZXJzOiBQZWVyQWRkcltdID0gW107XHJcblx0XHRcdFx0T2JqZWN0LnZhbHVlcyhyZXN1bHRzKS5mb3JFYWNoKChtb3JlUGVlcnM6IEVycm9yIHwgUGVlckFkZHJbXSkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKCEobW9yZVBlZXJzIGluc3RhbmNlb2YgRXJyb3IpKSB7XHJcblx0XHRcdFx0XHRcdG1vcmVQZWVycy5mb3JFYWNoKChwZWVyKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKCFwZWVycy5pbmNsdWRlcyhwZWVyKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0cGVlcnMucHVzaChwZWVyKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHJldHVybiBwZWVycztcclxuXHRcdFx0fSxcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgc3RhdHMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBOb2RlU3RhdHM+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaU1ldGhvZDxOb2RlU3RhdHM+KE1ldGhvZHMuTm9kZVN0YXRzKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBzeW5jU3RhdHVzKCk6IFByb21pc2U8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaU1ldGhvZDxTeW5jU3RhdHVzPihNZXRob2RzLlN5bmNTdGF0dXMpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIHdpdGhkcmF3ZXJzKFxyXG5cdFx0bGltaXQ/OiBudW1iZXIsXHJcblx0XHRvZmZzZXQ/OiBudW1iZXIsXHJcblx0KTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgW2JpZ2ludCwgTm9uY2UsIG51bWJlcl0+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hZGRyZXNzZXMoKVxyXG5cdFx0XHQudGhlbihhc3luYyAoYWRkcmVzc2VzOiBSZWNvcmQ8c3RyaW5nLCBFcnJvciB8IHN0cmluZz4pID0+IHtcclxuXHRcdFx0XHRjb25zdCBwcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKGFkZHJlc3NlcykubWFwKFxyXG5cdFx0XHRcdFx0YXN5bmMgKFt1cmwsIHZhbGlkYXRvcl0pID0+IFtcclxuXHRcdFx0XHRcdFx0dXJsLFxyXG5cdFx0XHRcdFx0XHR2YWxpZGF0b3IgaW5zdGFuY2VvZiBFcnJvclxyXG5cdFx0XHRcdFx0XHRcdD8gdW5kZWZpbmVkXHJcblx0XHRcdFx0XHRcdFx0OiBhd2FpdCB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8U3Rha2VFbnRyeT4+KFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmwsXHJcblx0XHRcdFx0XHRcdFx0XHRcdE1ldGhvZHMuUXVlcnlTdGFrZXMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWx0ZXI6IHsgdmFsaWRhdG9yIH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFyYW1zOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsaW1pdCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9mZnNldCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNpbmNlOiAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHQpLFxyXG5cdFx0XHRcdFx0XSxcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHRcdHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XHJcblx0XHRcdH0pXHJcblx0XHRcdC50aGVuKChlbnRyaWVzKSA9PlxyXG5cdFx0XHRcdE9iamVjdC5mcm9tRW50cmllcyhcclxuXHRcdFx0XHRcdGVudHJpZXMubWFwKChbdXJsLCBzdGFrZXNdKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChzdGFrZXMgJiYgc3Rha2VzIGluc3RhbmNlb2YgRXJyb3IpIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoKHN0YWtlcyBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRzdGFrZXMgPSBuZXcgRXJyb3IoXHJcblx0XHRcdFx0XHRcdFx0XHRcdChzdGFrZXMgYXMgSnNvblJwY1Byb3ZpZGVyRXJyb3IpPy5lcnJvcj8ubWVzc2FnZSxcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0XHRkZWxldGUgc3Rha2VzLnN0YWNrO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW3VybF07XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIFt1cmwsIHN0YWtlc107XHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHQpLFxyXG5cdFx0XHQpXHJcblx0XHRcdC50aGVuKChyZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCBFcnJvciB8IEFycmF5PFN0YWtlRW50cnk+PikgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IG1heCA9IChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gKGEgPiBiID8gYSA6IGIpO1xyXG5cdFx0XHRcdGNvbnN0IHdpdGhkcmF3ZXJzOiBSZWNvcmQ8XHJcblx0XHRcdFx0XHRQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG5cdFx0XHRcdFx0W2JpZ2ludCwgTm9uY2UsIG51bWJlcl1cclxuXHRcdFx0XHQ+ID0ge307XHJcblx0XHRcdFx0T2JqZWN0LnZhbHVlcyhyZXN1bHRzKS5mb3JFYWNoKChtb3JlRW50cmllcykgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKG1vcmVFbnRyaWVzICYmICEobW9yZUVudHJpZXMgaW5zdGFuY2VvZiBFcnJvcikpIHtcclxuXHRcdFx0XHRcdFx0bW9yZUVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAod2l0aGRyYXdlcnNbZW50cnkua2V5LndpdGhkcmF3ZXJdKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl1bMF0gKz0gZW50cnkudmFsdWUuY29pbnM7XHJcblx0XHRcdFx0XHRcdFx0XHR3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl1bMV0gPSBtYXgoXHJcblx0XHRcdFx0XHRcdFx0XHRcdGVudHJ5LnZhbHVlLm5vbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl1bMV0sXHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0d2l0aGRyYXdlcnNbZW50cnkua2V5LndpdGhkcmF3ZXJdWzJdICs9IDE7XHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdHdpdGhkcmF3ZXJzW2VudHJ5LmtleS53aXRoZHJhd2VyXSA9IFtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50cnkudmFsdWUuY29pbnMsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGVudHJ5LnZhbHVlLm5vbmNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQxLFxyXG5cdFx0XHRcdFx0XHRcdFx0XTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXHJcblx0XHRcdFx0XHRPYmplY3QuZW50cmllcyh3aXRoZHJhd2Vycykuc29ydCgoWywgW2EsICxdXSwgWywgW2IsICxdXSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAoYSA+IGIpIHJldHVybiAxO1xyXG5cdFx0XHRcdFx0XHRlbHNlIGlmIChhIDwgYikgcmV0dXJuIC0xO1xyXG5cdFx0XHRcdFx0XHRlbHNlIHJldHVybiAwO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cdHB1YmxpYyBhc3luYyBhZGRQZWVycyhcclxuXHRcdHBlZXJzOiBBcnJheTxzdHJpbmc+LFxyXG5cdCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcclxuXHRcdHJldHVybiB0aGlzLmJhdGNoQXBpTWV0aG9kPGJvb2xlYW4+KE1ldGhvZHMuQWRkUGVlcnMsIHBlZXJzKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBhdXRob3JpemVTdGFrZXMoXHJcblx0XHR3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG5cdCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIEhleFN0cmluZ10+PiB7XHJcblx0XHRjb25zdCBtc2cgPSBQdWJsaWNLZXlIYXNoLmZyb21CZWNoMzIod2l0aGRyYXdlcikudG9CeXRlczMyKCk7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaVBraE1ldGhvZE5vUGtoPFN0YWtlQXV0aG9yaXphdGlvbj4oXHJcblx0XHRcdE1ldGhvZHMuQXV0aG9yaXplU3Rha2UsXHJcblx0XHRcdHdpdGhkcmF3ZXIsXHJcblx0XHQpLnRoZW4oXHJcblx0XHRcdChcclxuXHRcdFx0XHRyZWNvcmRzOiBSZWNvcmQ8XHJcblx0XHRcdFx0XHRzdHJpbmcsXHJcblx0XHRcdFx0XHRbUHVibGljS2V5SGFzaFN0cmluZywgRXJyb3IgfCBTdGFrZUF1dGhvcml6YXRpb25dXHJcblx0XHRcdFx0PixcclxuXHRcdFx0KSA9PlxyXG5cdFx0XHRcdE9iamVjdC5mcm9tRW50cmllcyhcclxuXHRcdFx0XHRcdE9iamVjdC5lbnRyaWVzKHJlY29yZHMpLm1hcCgoW3VybCwgW3BraCwgYXV0aG9yaXphdGlvbl1dKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChhdXRob3JpemF0aW9uICYmIGF1dGhvcml6YXRpb24gaW5zdGFuY2VvZiBFcnJvcikge1xyXG5cdFx0XHRcdFx0XHRcdGlmICgoYXV0aG9yaXphdGlvbiBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRhdXRob3JpemF0aW9uID0gbmV3IEVycm9yKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoYXV0aG9yaXphdGlvbiBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlLFxyXG5cdFx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSBhdXRob3JpemF0aW9uLnN0YWNrO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW3VybCwgW3BraCwgYXV0aG9yaXphdGlvbl1dO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGF1dGhvcml6YXRpb24pIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBzaWduYXR1cmUgPSBSZWNvdmVyYWJsZVNpZ25hdHVyZS5mcm9tS2V5ZWRTaWduYXR1cmUoXHJcblx0XHRcdFx0XHRcdFx0XHRhdXRob3JpemF0aW9uLnNpZ25hdHVyZSxcclxuXHRcdFx0XHRcdFx0XHRcdG1zZyxcclxuXHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IGF1dGhjb2RlID1cclxuXHRcdFx0XHRcdFx0XHRcdHNpZ25hdHVyZS5wdWJLZXkuaGFzaCgpLnRvSGV4U3RyaW5nKCkgKyBzaWduYXR1cmUudG9IZXhTdHJpbmcoKTtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW3VybCwgW3BraCwgYXV0aGNvZGVdXTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW3VybCwgW3BraCwgdW5kZWZpbmVkXV07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pLFxyXG5cdFx0XHRcdCksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIGNsZWFyUGVlcnMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuYmF0Y2hBcGlNZXRob2Q8Ym9vbGVhbj4oTWV0aG9kcy5DbGVhclBlZXJzKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBpbml0aWFsaXplUGVlcnMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuYmF0Y2hBcGlNZXRob2Q8Ym9vbGVhbj4oTWV0aG9kcy5Jbml0aWFsaXplUGVlcnMpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIHJld2luZChlcG9jaDogRXBvY2gpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaU1ldGhvZDxib29sZWFuPihNZXRob2RzLlJld2luZCwgW2Vwb2NoXSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
264
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9ub2Rlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN6QyxPQUFPLEVBQ04sU0FBUyxFQUNULGFBQWEsRUFFYixvQkFBb0IsR0FDcEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUNyQyxPQUFPLEVBRU4sZUFBZSxFQUNmLG9CQUFvQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRU4sT0FBTyxHQU1QLE1BQU0sWUFBWSxDQUFDO0FBc0JwQixTQUFTLFlBQVksQ0FBQyxHQUFXO0lBQ2hDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsT0FBTyxLQUFLLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLE9BQU8sZUFDWixTQUFRLGVBQWU7SUFHdkIsWUFBWSxHQUFZO1FBQ3ZCLEtBQUssQ0FDSixHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsSUFBSSx3QkFBd0IsQ0FDeEUsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLEtBQUssQ0FDViwyRUFBMkUsR0FBRyxFQUFFLENBQ2hGLENBQUM7WUFDSCxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRVMsS0FBSyxDQUFDLGlCQUFpQixDQUNo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S0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQVUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdCBhcyBheGlvcyB9IGZyb20gXCJheGlvc1wiO1xuaW1wb3J0IHtcblx0UHVibGljS2V5LFxuXHRQdWJsaWNLZXlIYXNoLFxuXHR0eXBlIFB1YmxpY0tleUhhc2hTdHJpbmcsXG5cdFJlY292ZXJhYmxlU2lnbmF0dXJlLFxufSBmcm9tIFwiLi4vY3J5cHRvL3R5cGVzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEVwb2NoLCBIZXhTdHJpbmcsIE5vbmNlIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi4vdXRpbHMuanNcIjtcbmltcG9ydCB7XG5cdHR5cGUgSUpzb25ScGNQcm92aWRlcixcblx0SnNvblJwY1Byb3ZpZGVyLFxuXHRKc29uUnBjUHJvdmlkZXJFcnJvcixcbn0gZnJvbSBcIi4vcHJvdmlkZXIuanNcIjtcbmltcG9ydCB7XG5cdHR5cGUgQmFsYW5jZTIsXG5cdE1ldGhvZHMsXG5cdHR5cGUgTm9kZVN0YXRzLFxuXHR0eXBlIFBlZXJBZGRyLFxuXHR0eXBlIFN0YWtlQXV0aG9yaXphdGlvbixcblx0dHlwZSBTdGFrZUVudHJ5LFxuXHR0eXBlIFN5bmNTdGF0dXMsXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUpzb25ScGNOb2RlRmFybSBleHRlbmRzIElKc29uUnBjUHJvdmlkZXIge1xuXHRhZGRyZXNzZXMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBQdWJsaWNLZXlIYXNoU3RyaW5nPj47XG5cdGJhbGFuY2VzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyXT4+O1xuXHRtYXN0ZXJLZXlzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIHN0cmluZ10+Pjtcblx0cHVibGljS2V5cygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIFtQdWJsaWNLZXlIYXNoU3RyaW5nLCBQdWJsaWNLZXldPj47XG5cdHN5bmNTdGF0dXMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBTeW5jU3RhdHVzPj47XG5cblx0cGVlcnModmFsaWRhdG9yPzogUHVibGljS2V5SGFzaFN0cmluZyk6IFByb21pc2U8QXJyYXk8UGVlckFkZHI+Pjtcblx0c3RhdHMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBOb2RlU3RhdHM+Pjtcblx0d2l0aGRyYXdlcnMoKTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgW2JpZ2ludCwgTm9uY2UsIG51bWJlcl0+PjtcblxuXHRhZGRQZWVycyhwZWVyczogQXJyYXk8c3RyaW5nPik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+O1xuXHRhdXRob3JpemVTdGFrZXMoXG5cdFx0d2l0aGRyYXdlcjogUHVibGljS2V5SGFzaFN0cmluZyxcblx0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBbUHVibGljS2V5SGFzaFN0cmluZywgSGV4U3RyaW5nXT4+O1xuXHRjbGVhclBlZXJzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+O1xuXHRpbml0aWFsaXplUGVlcnMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj47XG5cdHJld2luZChlcG9jaDogRXBvY2gpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+Pjtcbn1cblxuZnVuY3Rpb24gaXNQcml2YXRlVVJMKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdGNvbnN0IFssIGhvc3RdID0gdXRpbHMucGFyc2VVUkwodXJsKTtcblx0cmV0dXJuIHV0aWxzLmlwSXNQcml2YXRlT3JMb2NhbGhvc3QoaG9zdC5zcGxpdChcIjpcIilbMF0pO1xufVxuXG5leHBvcnQgY2xhc3MgSnNvblJwY05vZGVGYXJtXG5cdGV4dGVuZHMgSnNvblJwY1Byb3ZpZGVyXG5cdGltcGxlbWVudHMgSUpzb25ScGNOb2RlRmFybVxue1xuXHRjb25zdHJ1Y3Rvcih1cmw/OiBzdHJpbmcpIHtcblx0XHRzdXBlcihcblx0XHRcdHVybCB8fCBwcm9jZXNzLmVudi5XSVRORVRfVE9PTEtJVF9GQVJNX05PREVTIHx8IFwiaHR0cDovLzEyNy4wLjAuMToyMTMzOVwiLFxuXHRcdCk7XG5cdFx0dGhpcy5lbmRwb2ludHMuZm9yRWFjaCgodXJsKSA9PiB7XG5cdFx0XHRpZiAoIWlzUHJpdmF0ZVVSTCh1cmwpKSB7XG5cdFx0XHRcdHRocm93IEVycm9yKFxuXHRcdFx0XHRcdGBXaXRuZXQuSnNvblJwY05vZGVGYXJtOiBvbmx5IGxvY2FsIGhvc3Qgb3IgcHJpdmF0ZSBJUHMgY2FuIGJlIHByb3ZpZGVkOiAke3VybH1gLFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIGJhdGNoQXBpUGtoTWV0aG9kPFQ+KFxuXHRcdG1ldGhvZDogc3RyaW5nLFxuXHRcdHBhcmFtcz86IGFueSxcblx0KTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBbUHVibGljS2V5SGFzaFN0cmluZywgVF0+PiB7XG5cdFx0cmV0dXJuIHRoaXMuYWRkcmVzc2VzKClcblx0XHRcdC50aGVuKGFzeW5jIChhZGRyZXNzZXM6IFJlY29yZDxzdHJpbmcsIEVycm9yIHwgc3RyaW5nPikgPT4ge1xuXHRcdFx0XHRjb25zdCBwcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKGFkZHJlc3NlcykubWFwKGFzeW5jIChbdXJsLCBwa2hdKSA9PiBbXG5cdFx0XHRcdFx0dXJsLFxuXHRcdFx0XHRcdFtcblx0XHRcdFx0XHRcdHBraCxcblx0XHRcdFx0XHRcdHBraCBpbnN0YW5jZW9mIEVycm9yXG5cdFx0XHRcdFx0XHRcdD8gdW5kZWZpbmVkXG5cdFx0XHRcdFx0XHRcdDogYXdhaXQgdGhpcy5jYWxsQXBpTWV0aG9kPFQ+KHVybCwgbWV0aG9kLCB7IHBraCwgLi4ucGFyYW1zIH0pLFxuXHRcdFx0XHRcdF0sXG5cdFx0XHRcdF0pO1xuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKChlbnRyaWVzKSA9PlxuXHRcdFx0XHRPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRcdFx0ZW50cmllcy5tYXAoKFt1cmwsIFtwa2gsIHZhbHVlXV0pID0+IHtcblx0XHRcdFx0XHRcdGlmICh2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0XHRcdFx0XHRcdGlmICgodmFsdWUgYXMgSnNvblJwY1Byb3ZpZGVyRXJyb3IpPy5lcnJvcj8ubWVzc2FnZSkge1xuXHRcdFx0XHRcdFx0XHRcdHZhbHVlID0gbmV3IEVycm9yKFxuXHRcdFx0XHRcdFx0XHRcdFx0KHZhbHVlIGFzIEpzb25ScGNQcm92aWRlckVycm9yKT8uZXJyb3I/Lm1lc3NhZ2UsXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRkZWxldGUgdmFsdWUuc3RhY2s7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJldHVybiBbdXJsLCBbcGtoLCB2YWx1ZSB8fCBcIlwiXV07XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdCksXG5cdFx0XHQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIGJhdGNoQXBpUGtoTWV0aG9kTm9Qa2g8VD4oXG5cdFx0bWV0aG9kOiBzdHJpbmcsXG5cdFx0Li4ucGFyYW1zOiBBcnJheTxhbnk+XG5cdCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIFRdPj4ge1xuXHRcdHJldHVybiB0aGlzLmFkZHJlc3NlcygpXG5cdFx0XHQudGhlbihhc3luYyAoYWRkcmVzc2VzOiBSZWNvcmQ8c3RyaW5nLCBFcnJvciB8IHN0cmluZz4pID0+IHtcblx0XHRcdFx0Y29uc3QgcHJvbWlzZXMgPSBPYmplY3QuZW50cmllcyhhZGRyZXNzZXMpLm1hcChhc3luYyAoW3VybCwgcGtoXSkgPT4gW1xuXHRcdFx0XHRcdHVybCxcblx0XHRcdFx0XHRbXG5cdFx0XHRcdFx0XHRwa2gsXG5cdFx0XHRcdFx0XHRwa2ggaW5zdGFuY2VvZiBFcnJvclxuXHRcdFx0XHRcdFx0XHQ/IHVuZGVmaW5lZFxuXHRcdFx0XHRcdFx0XHQ6IGF3YWl0IHRoaXMuY2FsbEFwaU1ldGhvZDxUPih1cmwsIG1ldGhvZCwgcGFyYW1zKSxcblx0XHRcdFx0XHRdLFxuXHRcdFx0XHRdKTtcblx0XHRcdFx0cmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbigoZW50cmllcykgPT5cblx0XHRcdFx0T2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdFx0XHRcdGVudHJpZXMubWFwKChbdXJsLCBbcGtoLCB2YWx1ZV1dKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAodmFsdWUgJiYgdmFsdWUgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdFx0XHRcdFx0XHRpZiAoKHZhbHVlIGFzIEpzb25ScGNQcm92aWRlckVycm9yKT8uZXJyb3I/Lm1lc3NhZ2UpIHtcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZSA9IG5ldyBFcnJvcihcblx0XHRcdFx0XHRcdFx0XHRcdCh2YWx1ZSBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlLFxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0ZGVsZXRlIHZhbHVlLnN0YWNrO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRyZXR1cm4gW3VybCwgW3BraCwgdmFsdWUgfHwgXCJcIl1dO1xuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHQpLFxuXHRcdFx0KTtcblx0fVxuXG5cdHByb3RlY3RlZCBhc3luYyBiYXRjaEFwaU1ldGhvZDxUPihcblx0XHRtZXRob2Q6IHN0cmluZyxcblx0XHRwYXJhbXM/OiBBcnJheTxhbnk+IHwgYW55LFxuXHQpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIFQ+PiB7XG5cdFx0Y29uc3QgcHJvbWlzZXMgPSB0aGlzLmVuZHBvaW50cy5tYXAoYXN5bmMgKHVybCkgPT5cblx0XHRcdGF4aW9zXG5cdFx0XHRcdC5wb3N0KFxuXHRcdFx0XHRcdHVybCxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRqc29ucnBjOiBcIjIuMFwiLFxuXHRcdFx0XHRcdFx0aWQ6IERhdGUubm93KCksXG5cdFx0XHRcdFx0XHRtZXRob2QsXG5cdFx0XHRcdFx0XHRwYXJhbXMsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdClcblx0XHRcdFx0LnRoZW4oKHJlc3BvbnNlOiBhbnkpID0+IHtcblx0XHRcdFx0XHRpZiAocmVzcG9uc2U/LmVycm9yIHx8IHJlc3BvbnNlPy5kYXRhPy5lcnJvcikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIFtcblx0XHRcdFx0XHRcdFx0dXJsLFxuXHRcdFx0XHRcdFx0XHRuZXcgSnNvblJwY1Byb3ZpZGVyRXJyb3IoXG5cdFx0XHRcdFx0XHRcdFx0bWV0aG9kLFxuXHRcdFx0XHRcdFx0XHRcdHBhcmFtcyxcblx0XHRcdFx0XHRcdFx0XHRyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yLFxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0cmV0dXJuIFt1cmwsIHJlc3BvbnNlPy5kYXRhPy5yZXN1bHQgYXMgVF07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQuY2F0Y2goKGV4Y2VwdGlvbjogYW55KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG5cdFx0XHRcdFx0XHRleGNlcHRpb24/Lm1lc3NhZ2UgfHwgZXhjZXB0aW9uPy5lcnJvciB8fCBleGNlcHRpb24sXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRkZWxldGUgZXJyb3Iuc3RhY2s7XG5cdFx0XHRcdFx0cmV0dXJuIFt1cmwsIGVycm9yXTtcblx0XHRcdFx0fSksXG5cdFx0KTtcblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKHZhbHVlcykgPT4gT2JqZWN0LmZyb21FbnRyaWVzKHZhbHVlcykpO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIGNhbGxBcGlNZXRob2Q8VD4oXG5cdFx0dXJsOiBzdHJpbmcsXG5cdFx0bWV0aG9kOiBzdHJpbmcsXG5cdFx0cGFyYW1zPzogQXJyYXk8YW55PiB8IGFueSxcblx0KTogUHJvbWlzZTxFcnJvciB8IGFueT4ge1xuXHRcdHJldHVybiBheGlvc1xuXHRcdFx0LnBvc3QoXG5cdFx0XHRcdHVybCxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGpzb25ycGM6IFwiMi4wXCIsXG5cdFx0XHRcdFx0aWQ6IERhdGUubm93KCksXG5cdFx0XHRcdFx0bWV0aG9kLFxuXHRcdFx0XHRcdHBhcmFtcyxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGhlYWRlcnM6IHRoaXMuX2hlYWRlcnMsXG5cdFx0XHRcdH0sXG5cdFx0XHQpXG5cdFx0XHQudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xuXHRcdFx0XHRpZiAocmVzcG9uc2U/LmVycm9yIHx8IHJlc3BvbnNlPy5kYXRhPy5lcnJvcikge1xuXHRcdFx0XHRcdGNvbnN0IGVycm9yID0gbmV3IEpzb25ScGNQcm92aWRlckVycm9yKFxuXHRcdFx0XHRcdFx0bWV0aG9kLFxuXHRcdFx0XHRcdFx0cGFyYW1zLFxuXHRcdFx0XHRcdFx0cmVzcG9uc2U/LmVycm9yIHx8IHJlc3BvbnNlPy5kYXRhPy5lcnJvcixcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdGRlbGV0ZSBlcnJvcj8uc3RhY2s7XG5cdFx0XHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHJldHVybiByZXNwb25zZT8uZGF0YT8ucmVzdWx0IGFzIFQ7XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0XHQuY2F0Y2goKGV4Y2VwdGlvbjogYW55KSA9PiB7XG5cdFx0XHRcdGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxuXHRcdFx0XHRcdGV4Y2VwdGlvbj8ubWVzc2FnZSB8fCBleGNlcHRpb24/LmVycm9yIHx8IGV4Y2VwdGlvbixcblx0XHRcdFx0KTtcblx0XHRcdFx0ZGVsZXRlIGVycm9yPy5zdGFjaztcblx0XHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdFx0fSk7XG5cdH1cblxuXHQvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblx0cHVibGljIGFzeW5jIGFkZHJlc3NlcygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIFB1YmxpY0tleUhhc2hTdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHRoaXMuYmF0Y2hBcGlNZXRob2Q8UHVibGljS2V5SGFzaFN0cmluZz4oTWV0aG9kcy5HZXRQa2gpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIGJhbGFuY2VzKCk6IFByb21pc2U8XG5cdFx0UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyXT5cblx0PiB7XG5cdFx0cmV0dXJuIHRoaXMuYmF0Y2hBcGlQa2hNZXRob2Q8QmFsYW5jZTI+KE1ldGhvZHMuR2V0QmFsYW5jZTIpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIG1hc3RlcktleXMoKTogUHJvbWlzZTxcblx0XHRSZWNvcmQ8c3RyaW5nLCBbUHVibGljS2V5SGFzaFN0cmluZywgc3RyaW5nXT5cblx0PiB7XG5cdFx0cmV0dXJuIHRoaXMuYmF0Y2hBcGlQa2hNZXRob2ROb1BraDxzdHJpbmc+KE1ldGhvZHMuTWFzdGVyS2V5RXhwb3J0KTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBwdWJsaWNLZXlzKCk6IFByb21pc2U8XG5cdFx0UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIFB1YmxpY0tleV0+XG5cdD4ge1xuXHRcdHJldHVybiB0aGlzLmJhdGNoQXBpUGtoTWV0aG9kTm9Qa2g8VWludDhBcnJheT4oTWV0aG9kcy5HZXRQdWJsaWNLZXkpLnRoZW4oXG5cdFx0XHQocmVzdWx0czogUmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIEVycm9yIHwgVWludDhBcnJheV0+KSA9PlxuXHRcdFx0XHRPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRcdFx0T2JqZWN0LmVudHJpZXMocmVzdWx0cykubWFwKChbdXJsLCBbcGtoLCByYXddXSkgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKHJhdyAmJiByYXcgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdFx0XHRcdFx0XHRpZiAoKHJhdyBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmF3ID0gbmV3IEVycm9yKChyYXcgYXMgSnNvblJwY1Byb3ZpZGVyRXJyb3IpPy5lcnJvcj8ubWVzc2FnZSk7XG5cdFx0XHRcdFx0XHRcdFx0ZGVsZXRlIHJhdy5zdGFjaztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW3VybCwgW3BraCwgcmF3XV07XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdFx0XHRcdHVybCxcblx0XHRcdFx0XHRcdFx0XHRbcGtoLCByYXcgPyBQdWJsaWNLZXkuZnJvbVVpbnQ4QXJyYXkocmF3KSA6IHVuZGVmaW5lZF0sXG5cdFx0XHRcdFx0XHRcdF07XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdCksXG5cdFx0KTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBwZWVycygpOiBQcm9taXNlPEFycmF5PFBlZXJBZGRyPj4ge1xuXHRcdHJldHVybiB0aGlzLmJhdGNoQXBpTWV0aG9kPEFycmF5PFBlZXJBZGRyPj4oTWV0aG9kcy5QZWVycykudGhlbihcblx0XHRcdChyZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCBQZWVyQWRkcltdPikgPT4ge1xuXHRcdFx0XHRjb25zdCBwZWVyczogUGVlckFkZHJbXSA9IFtdO1xuXHRcdFx0XHRPYmplY3QudmFsdWVzKHJlc3VsdHMpLmZvckVhY2goKG1vcmVQZWVyczogRXJyb3IgfCBQZWVyQWRkcltdKSA9PiB7XG5cdFx0XHRcdFx0aWYgKCEobW9yZVBlZXJzIGluc3RhbmNlb2YgRXJyb3IpKSB7XG5cdFx0XHRcdFx0XHRtb3JlUGVlcnMuZm9yRWFjaCgocGVlcikgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAoIXBlZXJzLmluY2x1ZGVzKHBlZXIpKSB7XG5cdFx0XHRcdFx0XHRcdFx0cGVlcnMucHVzaChwZWVyKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdFx0cmV0dXJuIHBlZXJzO1xuXHRcdFx0fSxcblx0XHQpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHN0YXRzKCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgTm9kZVN0YXRzPj4ge1xuXHRcdHJldHVybiB0aGlzLmJhdGNoQXBpTWV0aG9kPE5vZGVTdGF0cz4oTWV0aG9kcy5Ob2RlU3RhdHMpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHN5bmNTdGF0dXMoKTogUHJvbWlzZTxhbnk+IHtcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaU1ldGhvZDxTeW5jU3RhdHVzPihNZXRob2RzLlN5bmNTdGF0dXMpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHdpdGhkcmF3ZXJzKFxuXHRcdGxpbWl0PzogbnVtYmVyLFxuXHRcdG9mZnNldD86IG51bWJlcixcblx0KTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgW2JpZ2ludCwgTm9uY2UsIG51bWJlcl0+PiB7XG5cdFx0cmV0dXJuIHRoaXMuYWRkcmVzc2VzKClcblx0XHRcdC50aGVuKGFzeW5jIChhZGRyZXNzZXM6IFJlY29yZDxzdHJpbmcsIEVycm9yIHwgc3RyaW5nPikgPT4ge1xuXHRcdFx0XHRjb25zdCBwcm9taXNlcyA9IE9iamVjdC5lbnRyaWVzKGFkZHJlc3NlcykubWFwKFxuXHRcdFx0XHRcdGFzeW5jIChbdXJsLCB2YWxpZGF0b3JdKSA9PiBbXG5cdFx0XHRcdFx0XHR1cmwsXG5cdFx0XHRcdFx0XHR2YWxpZGF0b3IgaW5zdGFuY2VvZiBFcnJvclxuXHRcdFx0XHRcdFx0XHQ/IHVuZGVmaW5lZFxuXHRcdFx0XHRcdFx0XHQ6IGF3YWl0IHRoaXMuY2FsbEFwaU1ldGhvZDxBcnJheTxTdGFrZUVudHJ5Pj4oXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmwsXG5cdFx0XHRcdFx0XHRcdFx0XHRNZXRob2RzLlF1ZXJ5U3Rha2VzLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmaWx0ZXI6IHsgdmFsaWRhdG9yIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhcmFtczoge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxpbWl0LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9mZnNldCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaW5jZTogMCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRdLFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKChlbnRyaWVzKSA9PlxuXHRcdFx0XHRPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRcdFx0ZW50cmllcy5tYXAoKFt1cmwsIHN0YWtlc10pID0+IHtcblx0XHRcdFx0XHRcdGlmIChzdGFrZXMgJiYgc3Rha2VzIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRcdFx0XHRcdFx0aWYgKChzdGFrZXMgYXMgSnNvblJwY1Byb3ZpZGVyRXJyb3IpPy5lcnJvcj8ubWVzc2FnZSkge1xuXHRcdFx0XHRcdFx0XHRcdHN0YWtlcyA9IG5ldyBFcnJvcihcblx0XHRcdFx0XHRcdFx0XHRcdChzdGFrZXMgYXMgSnNvblJwY1Byb3ZpZGVyRXJyb3IpPy5lcnJvcj8ubWVzc2FnZSxcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdGRlbGV0ZSBzdGFrZXMuc3RhY2s7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0cmV0dXJuIFt1cmxdO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJldHVybiBbdXJsLCBzdGFrZXNdO1xuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHQpLFxuXHRcdFx0KVxuXHRcdFx0LnRoZW4oKHJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIEVycm9yIHwgQXJyYXk8U3Rha2VFbnRyeT4+KSA9PiB7XG5cdFx0XHRcdGNvbnN0IG1heCA9IChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gKGEgPiBiID8gYSA6IGIpO1xuXHRcdFx0XHRjb25zdCB3aXRoZHJhd2VyczogUmVjb3JkPFxuXHRcdFx0XHRcdFB1YmxpY0tleUhhc2hTdHJpbmcsXG5cdFx0XHRcdFx0W2JpZ2ludCwgTm9uY2UsIG51bWJlcl1cblx0XHRcdFx0PiA9IHt9O1xuXHRcdFx0XHRPYmplY3QudmFsdWVzKHJlc3VsdHMpLmZvckVhY2goKG1vcmVFbnRyaWVzKSA9PiB7XG5cdFx0XHRcdFx0aWYgKG1vcmVFbnRyaWVzICYmICEobW9yZUVudHJpZXMgaW5zdGFuY2VvZiBFcnJvcikpIHtcblx0XHRcdFx0XHRcdG1vcmVFbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG5cdFx0XHRcdFx0XHRcdGlmICh3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl0pIHtcblx0XHRcdFx0XHRcdFx0XHR3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl1bMF0gKz0gZW50cnkudmFsdWUuY29pbnM7XG5cdFx0XHRcdFx0XHRcdFx0d2l0aGRyYXdlcnNbZW50cnkua2V5LndpdGhkcmF3ZXJdWzFdID0gbWF4KFxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50cnkudmFsdWUubm9uY2UsXG5cdFx0XHRcdFx0XHRcdFx0XHR3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl1bMV0sXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHR3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl1bMl0gKz0gMTtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHR3aXRoZHJhd2Vyc1tlbnRyeS5rZXkud2l0aGRyYXdlcl0gPSBbXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRyeS52YWx1ZS5jb2lucyxcblx0XHRcdFx0XHRcdFx0XHRcdGVudHJ5LnZhbHVlLm5vbmNlLFxuXHRcdFx0XHRcdFx0XHRcdFx0MSxcblx0XHRcdFx0XHRcdFx0XHRdO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdFx0XHRcdE9iamVjdC5lbnRyaWVzKHdpdGhkcmF3ZXJzKS5zb3J0KChbLCBbYSwgLF1dLCBbLCBbYiwgLF1dKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoYSA+IGIpIHJldHVybiAxO1xuXHRcdFx0XHRcdFx0ZWxzZSBpZiAoYSA8IGIpIHJldHVybiAtMTtcblx0XHRcdFx0XHRcdGVsc2UgcmV0dXJuIDA7XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdCk7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXHRwdWJsaWMgYXN5bmMgYWRkUGVlcnMoXG5cdFx0cGVlcnM6IEFycmF5PHN0cmluZz4sXG5cdCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4gdGhpcy5iYXRjaEFwaU1ldGhvZDxib29sZWFuPihNZXRob2RzLkFkZFBlZXJzLCBwZWVycyk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgYXV0aG9yaXplU3Rha2VzKFxuXHRcdHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmcsXG5cdCk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgW1B1YmxpY0tleUhhc2hTdHJpbmcsIEhleFN0cmluZ10+PiB7XG5cdFx0Y29uc3QgbXNnID0gUHVibGljS2V5SGFzaC5mcm9tQmVjaDMyKHdpdGhkcmF3ZXIpLnRvQnl0ZXMzMigpO1xuXHRcdHJldHVybiB0aGlzLmJhdGNoQXBpUGtoTWV0aG9kTm9Qa2g8U3Rha2VBdXRob3JpemF0aW9uPihcblx0XHRcdE1ldGhvZHMuQXV0aG9yaXplU3Rha2UsXG5cdFx0XHR3aXRoZHJhd2VyLFxuXHRcdCkudGhlbihcblx0XHRcdChcblx0XHRcdFx0cmVjb3JkczogUmVjb3JkPFxuXHRcdFx0XHRcdHN0cmluZyxcblx0XHRcdFx0XHRbUHVibGljS2V5SGFzaFN0cmluZywgRXJyb3IgfCBTdGFrZUF1dGhvcml6YXRpb25dXG5cdFx0XHRcdD4sXG5cdFx0XHQpID0+XG5cdFx0XHRcdE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRcdFx0XHRPYmplY3QuZW50cmllcyhyZWNvcmRzKS5tYXAoKFt1cmwsIFtwa2gsIGF1dGhvcml6YXRpb25dXSkgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKGF1dGhvcml6YXRpb24gJiYgYXV0aG9yaXphdGlvbiBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0XHRcdFx0XHRcdGlmICgoYXV0aG9yaXphdGlvbiBhcyBKc29uUnBjUHJvdmlkZXJFcnJvcik/LmVycm9yPy5tZXNzYWdlKSB7XG5cdFx0XHRcdFx0XHRcdFx0YXV0aG9yaXphdGlvbiA9IG5ldyBFcnJvcihcblx0XHRcdFx0XHRcdFx0XHRcdChhdXRob3JpemF0aW9uIGFzIEpzb25ScGNQcm92aWRlckVycm9yKT8uZXJyb3I/Lm1lc3NhZ2UsXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRkZWxldGUgYXV0aG9yaXphdGlvbi5zdGFjaztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gW3VybCwgW3BraCwgYXV0aG9yaXphdGlvbl1dO1xuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChhdXRob3JpemF0aW9uKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHNpZ25hdHVyZSA9IFJlY292ZXJhYmxlU2lnbmF0dXJlLmZyb21LZXllZFNpZ25hdHVyZShcblx0XHRcdFx0XHRcdFx0XHRhdXRob3JpemF0aW9uLnNpZ25hdHVyZSxcblx0XHRcdFx0XHRcdFx0XHRtc2csXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGF1dGhjb2RlID1cblx0XHRcdFx0XHRcdFx0XHRzaWduYXR1cmUucHViS2V5Lmhhc2goKS50b0hleFN0cmluZygpICsgc2lnbmF0dXJlLnRvSGV4U3RyaW5nKCk7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBbdXJsLCBbcGtoLCBhdXRoY29kZV1dO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIFt1cmwsIFtwa2gsIHVuZGVmaW5lZF1dO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHQpLFxuXHRcdCk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgY2xlYXJQZWVycygpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHRoaXMuYmF0Y2hBcGlNZXRob2Q8Ym9vbGVhbj4oTWV0aG9kcy5DbGVhclBlZXJzKTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBpbml0aWFsaXplUGVlcnMoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB0aGlzLmJhdGNoQXBpTWV0aG9kPGJvb2xlYW4+KE1ldGhvZHMuSW5pdGlhbGl6ZVBlZXJzKTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyByZXdpbmQoZXBvY2g6IEVwb2NoKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB0aGlzLmJhdGNoQXBpTWV0aG9kPGJvb2xlYW4+KE1ldGhvZHMuUmV3aW5kLCBbZXBvY2hdKTtcblx0fVxufVxuIl19
@@ -333,4 +333,4 @@ export class JsonRpcProvider {
333
333
  return this.callApiMethod(Methods.GetSupplyInfo);
334
334
  }
335
335
  }
336
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN2RCxPQUFPLE9BQU8sTUFBTSxhQUFhLENBQUM7QUFFbEMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFL0MsT0FBTyxRQUFRLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsUUFBUSxDQUFDO0FBQ3JDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQ25DLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUM1QyxDQUFDO0FBQ0YsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRTVELE9BQU8sRUFDTixTQUFTLEdBR1QsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUVyQyxPQUFPLEVBU04sT0FBTyxHQWNQLE1BQU0sWUFBWSxDQUFDO0FBa0RwQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsS0FBSztJQUNyQyxLQUFLLENBQU87SUFDWixNQUFNLENBQVM7SUFDZixNQUFNLENBQVE7SUFDdkIsWUFBWSxNQUFjLEVBQUUsTUFBYSxFQUFFLEtBQVc7UUFDckQsS0FBSyxDQUFDLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekUsT0FBTyxLQUFLLEVB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QU0sSUFBSSxDQUFDO1lBQzVCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSyxLQUFLLENBQUM7U0FDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDekIsT0FBTyxDQUFDLEdBQUcsQ0FDVixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUN6QixLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ1IsT0FBTyxFQUFFLElBQUksSUFBSSxVQUFVLEVBQzNCLElBQUksQ0FDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0YsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELG1IQUFtSDtJQUM1RyxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBZ0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFVLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxtQkFBbUI7SUFDWixLQUFLLENBQUMsVUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQWEsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSBcIm5vZGU6bW9kdWxlXCI7XHJcbmltcG9ydCB7IEF4aW9zSGVhZGVycywgZGVmYXVsdCBhcyBheGlvcyB9IGZyb20gXCJheGlvc1wiO1xyXG5pbXBvcnQganNvbkJpZyBmcm9tIFwianNvbi1iaWdpbnRcIjtcclxuXHJcbmNvbnN0IHJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XHJcblxyXG5pbXBvcnQgcHJvdG9idWYgZnJvbSBcInByb3RvYnVmanNcIjtcclxuXHJcbmNvbnN0IHsgUm9vdDogUHJvdG9Sb290IH0gPSBwcm90b2J1ZjtcclxuY29uc3QgcHJvdG9Sb290ID0gUHJvdG9Sb290LmZyb21KU09OKFxyXG5cdHJlcXVpcmUoXCIuLi8uLi8uLi93aXRuZXQvd2l0bmV0LnByb3RvLmpzb25cIiksXHJcbik7XHJcbmNvbnN0IHByb3RvQnVmID0gcHJvdG9Sb290Lmxvb2t1cFR5cGUoXCJDb25zZW5zdXNDb25zdGFudHNcIik7XHJcblxyXG5pbXBvcnQge1xyXG5cdFB1YmxpY0tleSxcclxuXHR0eXBlIFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcblx0dHlwZSBUcmFuc2FjdGlvblJlY2VpcHQsXHJcbn0gZnJvbSBcIi4uL2NyeXB0by90eXBlcy5qc1wiO1xyXG5pbXBvcnQgdHlwZSB7IEVwb2NoLCBIYXNoLCBOZXR3b3JrLCBVdHhvTWV0YWRhdGEgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcclxuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSBcIi4uL3V0aWxzLmpzXCI7XHJcblxyXG5pbXBvcnQge1xyXG5cdHR5cGUgQmFsYW5jZSxcclxuXHR0eXBlIEJhbGFuY2UyLFxyXG5cdHR5cGUgQmxvY2ssXHJcblx0dHlwZSBDb25zZW5zdXNDb25zdGFudHMsXHJcblx0dHlwZSBHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0LFxyXG5cdHR5cGUgR2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0LFxyXG5cdHR5cGUgR2V0RGF0YVJlcXVlc3RNb2RlLFxyXG5cdHR5cGUgTWVtcG9vbCxcclxuXHRNZXRob2RzLFxyXG5cdHR5cGUgUGVlckFkZHIsXHJcblx0dHlwZSBQcmlvcml0aWVzLFxyXG5cdHR5cGUgUHJvdG9jb2xJbmZvLFxyXG5cdHR5cGUgUXVlcnlTdGFrZXMsXHJcblx0dHlwZSBRdWVyeVN0YWtpbmdQb3dlcnMsXHJcblx0dHlwZSBTaWduYWxpbmdJbmZvLFxyXG5cdHR5cGUgU3Rha2VFbnRyeSxcclxuXHR0eXBlIFN0YWtpbmdQb3dlcixcclxuXHR0eXBlIFN1cGVyYmxvY2tSZXBvcnQsXHJcblx0dHlwZSBTdXBwbHlJbmZvLFxyXG5cdHR5cGUgU3luY1N0YXR1cyxcclxuXHR0eXBlIFRyYW5zYWN0aW9uUmVwb3J0LFxyXG5cdHR5cGUgVXR4b0luZm8sXHJcbn0gZnJvbSBcIi4vdHlwZXMuanNcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUpzb25ScGNQcm92aWRlciB7XHJcblx0bmV0d29yaz86IE5ldHdvcms7XHJcblx0bmV0d29ya0lkPzogbnVtYmVyO1xyXG5cclxuXHRibG9ja3MoXHJcblx0XHRzaW5jZTogRXBvY2gsXHJcblx0XHRsaW1pdDogbnVtYmVyLFxyXG5cdCk6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaCAvKiwgUHVibGljS2V5SGFzaFN0cmluZyovXT4+O1xyXG5cdGNvbnN0YW50cygpOiBQcm9taXNlPENvbnNlbnN1c0NvbnN0YW50cz47XHJcblx0aG9sZGVycyhsaW1pdD86IG51bWJlcik6IFByb21pc2U8UmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2UyPj47XHJcblx0bWVtcG9vbCgpOiBQcm9taXNlPE1lbXBvb2w+O1xyXG5cdHBvd2VycyhwYXJhbXM/OiBRdWVyeVN0YWtpbmdQb3dlcnMpOiBQcm9taXNlPEFycmF5PFN0YWtpbmdQb3dlcj4+O1xyXG5cdHByaW9yaXRpZXMoKTogUHJvbWlzZTxQcmlvcml0aWVzPjtcclxuXHRwcm90b2NvbEluZm8oKTogUHJvbWlzZTxQcm90b2NvbEluZm8+O1xyXG5cdHN0YWtlcyhwYXJhbXM6IFF1ZXJ5U3Rha2VzKTogUHJvbWlzZTxBcnJheTxTdGFrZUVudHJ5Pj47XHJcblx0c3VwcGx5SW5mbygpOiBQcm9taXNlPFN1cHBseUluZm8+O1xyXG5cdHN5bmNTdGF0dXMoKTogUHJvbWlzZTxhbnk+O1xyXG5cdHdpcHMoKTogUHJvbWlzZTxTaWduYWxpbmdJbmZvPjtcclxuXHR3aXRuZXNzZXMoKTogUHJvbWlzZTxudW1iZXI+O1xyXG5cclxuXHRnZXRCYWxhbmNlKHBraDogUHVibGljS2V5SGFzaFN0cmluZyk6IFByb21pc2U8QmFsYW5jZTI+O1xyXG5cdGdldEJsb2NrKGJsb2NrSGFzaDogSGFzaCwgc2hvd1RyYW5zYWN0aW9uSGFzaGVzPzogYm9vbGVhbik6IFByb21pc2U8QmxvY2s+O1xyXG5cdGdldERhdGFSZXF1ZXN0KFxyXG5cdFx0ZHJUeEhhc2g6IEhhc2gsXHJcblx0XHRtb2RlPzogR2V0RGF0YVJlcXVlc3RNb2RlLFxyXG5cdCk6IFByb21pc2U8R2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0IHwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydD47XHJcblx0Z2V0U3VwZXJibG9jayhlcG9jaDogRXBvY2gpOiBQcm9taXNlPFN1cGVyYmxvY2tSZXBvcnQ+O1xyXG5cdGdldFRyYW5zYWN0aW9uKHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXBvcnQ+O1xyXG5cdGdldFRyYW5zYWN0aW9uUmVjZWlwdCh0eEhhc2g6IEhhc2gpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVjZWlwdD47XHJcblx0Z2V0VXR4b3MoXHJcblx0XHRwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsXHJcblx0XHRmaWx0ZXI/OiB7IG1pblZhbHVlPzogYmlnaW50OyBzaWduZXI/OiBQdWJsaWNLZXlIYXNoU3RyaW5nIH0sXHJcblx0KTogUHJvbWlzZTxBcnJheTxVdHhvTWV0YWRhdGE+PjtcclxuXHRnZXRWYWx1ZVRyYW5zZmVyKHR4SGFzaDogSGFzaCwgbW9kZT86IHN0cmluZyk6IFByb21pc2U8YW55PjtcclxuXHJcblx0c2VhcmNoRGF0YVJlcXVlc3RzKFxyXG5cdFx0cmFkSGFzaDogSGFzaCxcclxuXHRcdG9wdGlvbnM/OiB7XHJcblx0XHRcdGxpbWl0PzogbnVtYmVyO1xyXG5cdFx0XHRvZmZzZXQ/OiBudW1iZXI7XHJcblx0XHRcdG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGU7XHJcblx0XHRcdHJldmVyc2U/OiBib29sZWFuO1xyXG5cdFx0fSxcclxuXHQpOiBQcm9taXNlPEFycmF5PEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQ+PjtcclxuXHJcblx0c2VuZFJhd1RyYW5zYWN0aW9uKHR4OiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+O1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSnNvblJwY1Byb3ZpZGVyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XHJcblx0cmVhZG9ubHkgZXJyb3I/OiBhbnk7XHJcblx0cmVhZG9ubHkgbWV0aG9kOiBzdHJpbmc7XHJcblx0cmVhZG9ubHkgcGFyYW1zOiBhbnlbXTtcclxuXHRjb25zdHJ1Y3RvcihtZXRob2Q6IHN0cmluZywgcGFyYW1zOiBhbnlbXSwgZXJyb3I/OiBhbnkpIHtcclxuXHRcdHN1cGVyKGAke21ldGhvZH0oJHtKU09OLnN0cmluZ2lmeShwYXJhbXMpfSk6ICR7SlNPTi5zdHJpbmdpZnkoZXJyb3IpfSlgKTtcclxuXHRcdGRlbGV0ZSBlcnJvcj8uc3RhY2s7XHJcblx0XHR0aGlzLmVycm9yID0gZXJyb3I7XHJcblx0XHR0aGlzLm1ldGhvZCA9IG1ldGhvZDtcclxuXHRcdHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEpzb25ScGNQcm92aWRlciBpbXBsZW1lbnRzIElKc29uUnBjUHJvdmlkZXIge1xyXG5cdHB1YmxpYyByZWFkb25seSBlbmRwb2ludHM6IHN0cmluZ1tdO1xyXG5cclxuXHRwdWJsaWMgc3RhdGljIHJlY2VpcHRzOiBSZWNvcmQ8SGFzaCwgVHJhbnNhY3Rpb25SZWNlaXB0PiA9IHt9O1xyXG5cclxuXHRwcm90ZWN0ZWQgX2NvbnN0YW50cz86IENvbnNlbnN1c0NvbnN0YW50cztcclxuXHRwcm90ZWN0ZWQgX2hlYWRlcnM6IEF4aW9zSGVhZGVycztcclxuXHJcblx0LyoqXHJcblx0ICogQ3JlYXRlIGFuZCBpbml0aWFsaXplIGEgSnNvblJwY1Byb3ZpZGVyIG9iamVjdCBjb25uZWN0ZWQgdG8gdGhlIGRlZmF1bHQgV2l0L1JQQyBlbmRwb2ludC5cclxuXHQgKiBEZWZhdWx0cyB0byBodHRwczovL3JwYy0wMS53aXRuZXQuaW8gaWYgbm8gV0lUTkVUX1NES19QUk9WSURFUl9VUkwgZW52YXIgaXMgc2V0dGxlZFxyXG5cdCAqIG9uIHRoZSBlbnZpcm9ubWVudC5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbUVudih1cmw/OiBzdHJpbmcpOiBQcm9taXNlPEpzb25ScGNQcm92aWRlcj4ge1xyXG5cdFx0cmV0dXJuIEpzb25ScGNQcm92aWRlci5mcm9tVVJMKFxyXG5cdFx0XHR1cmwgfHwgcHJvY2Vzcy5lbnYuV0lUTkVUX1NES19QUk9WSURFUl9VUkwgfHwgXCJodHRwczovL3JwYy0wMS53aXRuZXQuaW9cIixcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBDcmVhdGUgYW5kIGluaXRpYWxpemUgYSBKc29uUnBjUHJvdmlkZXIgb2JqZWN0IGNvbm5lY3RlZCB0byB0aGUgc3BlY2lmaWVkIFdpdC9SUEMgZW5kcG9pbnQuXHJcblx0ICogQHBhcmFtIHVybCBXaXQvUlBDIGVuZHBvaW50IFVSTC5cclxuXHQgKi9cclxuXHRzdGF0aWMgYXN5bmMgZnJvbVVSTCh1cmw6IHN0cmluZyk6IFByb21pc2U8SnNvblJwY1Byb3ZpZGVyPiB7XHJcblx0XHRjb25zdCBwcm92aWRlciA9IG5ldyBKc29uUnBjUHJvdmlkZXIodXJsKTtcclxuXHRcdHJldHVybiBwcm92aWRlci5jb25zdGFudHMoKS50aGVuKCgpID0+IHByb3ZpZGVyKTtcclxuXHR9XHJcblxyXG5cdGNvbnN0cnVjdG9yKHVybD86IHN0cmluZykge1xyXG5cdFx0dGhpcy5lbmRwb2ludHMgPSBbXTtcclxuXHRcdGlmICh1cmwgIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRjb25zdCB1cmxzID0gdXJsLnJlcGxhY2VBbGwoXCIsXCIsIFwiO1wiKS5zcGxpdChcIjtcIik7XHJcblx0XHRcdHVybHMuZm9yRWFjaCgodXJsKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgW3NjaGVtYV0gPSB1dGlscy5wYXJzZVVSTCh1cmwpO1xyXG5cdFx0XHRcdGlmICghc2NoZW1hLnN0YXJ0c1dpdGgoXCJodHRwOi8vXCIpICYmICFzY2hlbWEuc3RhcnRzV2l0aChcImh0dHBzOi8vXCIpKSB7XHJcblx0XHRcdFx0XHR0aHJvdyBFcnJvcihcclxuXHRcdFx0XHRcdFx0YFdpdG5ldC5Kc29uUnBjUHJvdmlkZXI6IHVuc3VwcG9ydGVkIFVSTCBzY2hlbWEgJHtzY2hlbWF9YCxcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHRcdFx0dGhpcy5lbmRwb2ludHMgPSB1cmxzO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5lbmRwb2ludHMucHVzaChcclxuXHRcdFx0XHRwcm9jZXNzLmVudi5XSVRORVRfU0RLX1BST1ZJREVSX1VSTCB8fCBcImh0dHBzOi8vcnBjLTAxLndpdG5ldC5pb1wiLFxyXG5cdFx0XHQpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5faGVhZGVycyA9IG5ldyBBeGlvc0hlYWRlcnMoe1xyXG5cdFx0XHRcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldCBuZXR3b3JrKCk6IE5ldHdvcmsgfCB1bmRlZmluZWQge1xyXG5cdFx0aWYgKHRoaXMuX2NvbnN0YW50cykge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5fY29uc3RhbnRzLmJvb3RzdHJhcHBpbmdfY29tbWl0dGVlWzBdLnN0YXJ0c1dpdGgoXCJ3aXRcIilcclxuXHRcdFx0XHQ/IFwibWFpbm5ldFwiXHJcblx0XHRcdFx0OiBcInRlc3RuZXRcIjtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0IG5ldHdvcmtJZCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xyXG5cdFx0aWYgKHRoaXMuX2NvbnN0YW50cykge1xyXG5cdFx0XHRjb25zdCBvYmo6IGFueSA9IHt9O1xyXG5cdFx0XHRvYmouYWN0aXZpdHlQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuYWN0aXZpdHlfcGVyaW9kO1xyXG5cdFx0XHRvYmouYm9vdHN0cmFwSGFzaCA9IHtcclxuXHRcdFx0XHRTSEEyNTY6IEFycmF5LmZyb20odXRpbHMuZnJvbUhleFN0cmluZyh0aGlzLl9jb25zdGFudHMuYm9vdHN0cmFwX2hhc2gpKSxcclxuXHRcdFx0fTtcclxuXHRcdFx0b2JqLmJvb3RzdHJhcHBpbmdDb21taXR0ZWUgPSB0aGlzLl9jb25zdGFudHMuYm9vdHN0cmFwcGluZ19jb21taXR0ZWU7XHJcblx0XHRcdG9iai5jaGVja3BvaW50WmVyb1RpbWVzdGFtcCA9IHRoaXMuX2NvbnN0YW50cy5jaGVja3BvaW50X3plcm9fdGltZXN0YW1wO1xyXG5cdFx0XHRvYmouY2hlY2twb2ludHNQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuY2hlY2twb2ludHNfcGVyaW9kO1xyXG5cdFx0XHRvYmouY29sbGF0ZXJhbEFnZSA9IHRoaXMuX2NvbnN0YW50cy5jb2xsYXRlcmFsX2FnZTtcclxuXHRcdFx0b2JqLmNvbGxhdGVyYWxNaW5pbXVtID0gdGhpcy5fY29uc3RhbnRzLmNvbGxhdGVyYWxfbWluaW11bTtcclxuXHRcdFx0b2JqLmVwb2Noc1dpdGhNaW5pbXVtRGlmZmljdWx0eSA9XHJcblx0XHRcdFx0dGhpcy5fY29uc3RhbnRzLmVwb2Noc193aXRoX21pbmltdW1fZGlmZmljdWx0eTtcclxuXHRcdFx0b2JqLmV4dHJhUm91bmRzID0gdGhpcy5fY29uc3RhbnRzLmV4dHJhX3JvdW5kcztcclxuXHRcdFx0b2JqLmdlbmVzaXNIYXNoID0ge1xyXG5cdFx0XHRcdFNIQTI1NjogQXJyYXkuZnJvbSh1dGlscy5mcm9tSGV4U3RyaW5nKHRoaXMuX2NvbnN0YW50cy5nZW5lc2lzX2hhc2gpKSxcclxuXHRcdFx0fTtcclxuXHRcdFx0b2JqLmhhbHZpbmdQZXJpb2QgPSB0aGlzLl9jb25zdGFudHMuaGFsdmluZ19wZXJpb2Q7XHJcblx0XHRcdG9iai5pbml0aWFsQmxvY2tSZXdhcmQgPSB0aGlzLl9jb25zdGFudHMuaW5pdGlhbF9ibG9ja19yZXdhcmQ7XHJcblx0XHRcdG9iai5tYXhEcldlaWdodCA9IHRoaXMuX2NvbnN0YW50cy5tYXhfZHJfd2VpZ2h0O1xyXG5cdFx0XHRvYmoubWF4VnRXZWlnaHQgPSB0aGlzLl9jb25zdGFudHMubWF4X3Z0X3dlaWdodDtcclxuXHRcdFx0aWYgKHRoaXMuX2NvbnN0YW50cy5taW5pbXVtX2RpZmZpY3VsdHkgPiAwKVxyXG5cdFx0XHRcdG9iai5taW5pbXVtRGlmZmljdWx0eSA9IHRoaXMuX2NvbnN0YW50cy5taW5pbXVtX2RpZmZpY3VsdHk7XHJcblx0XHRcdG9iai5taW5pbmdCYWNrdXBGYWN0b3IgPSB0aGlzLl9jb25zdGFudHMubWluaW5nX2JhY2t1cF9mYWN0b3I7XHJcblx0XHRcdG9iai5taW5pbmdSZXBsaWNhdGlvbkZhY3RvciA9IHRoaXMuX2NvbnN0YW50cy5taW5pbmdfcmVwbGljYXRpb25fZmFjdG9yO1xyXG5cdFx0XHRvYmoucmVwdXRhdGlvbkV4cGlyZUFscGhhRGlmZiA9XHJcblx0XHRcdFx0dGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25fZXhwaXJlX2FscGhhX2RpZmY7XHJcblx0XHRcdG9iai5yZXB1dGF0aW9uSXNzdWFuY2UgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9pc3N1YW5jZTtcclxuXHRcdFx0b2JqLnJlcHV0YXRpb25Jc3N1YW5jZVN0b3AgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9pc3N1YW5jZV9zdG9wO1xyXG5cdFx0XHRvYmoucmVwdXRhdGlvblBlbmFsaXphdGlvbkZhY3RvciA9XHJcblx0XHRcdFx0dGhpcy5fY29uc3RhbnRzLnJlcHV0YXRpb25fcGVuYWxpemF0aW9uX2ZhY3RvcjtcclxuXHRcdFx0b2JqLnN1cGVyYmxvY2tDb21taXR0ZWVEZWNyZWFzaW5nUGVyaW9kID1cclxuXHRcdFx0XHR0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19wZXJpb2Q7XHJcblx0XHRcdG9iai5zdXBlcmJsb2NrQ29tbWl0dGVlRGVjcmVhc2luZ1N0ZXAgPVxyXG5cdFx0XHRcdHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX2NvbW1pdHRlZV9kZWNyZWFzaW5nX3N0ZXA7XHJcblx0XHRcdG9iai5zdXBlcmJsb2NrUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLnN1cGVyYmxvY2tfcGVyaW9kO1xyXG5cdFx0XHRvYmouc3VwZXJibG9ja1NpZ25pbmdDb21taXR0ZWVTaXplID1cclxuXHRcdFx0XHR0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19zaWduaW5nX2NvbW1pdHRlZV9zaXplO1xyXG5cdFx0XHRjb25zdCBtZXNzYWdlID0gcHJvdG9CdWYuZnJvbU9iamVjdChvYmopO1xyXG5cdFx0XHRjb25zdCBidWZmZXIgPSBwcm90b0J1Zi5lbmNvZGUobWVzc2FnZSkuZmluaXNoKCk7XHJcblx0XHRcdGNvbnN0IGhhc2ggPSB1dGlscy50b0hleFN0cmluZyh1dGlscy5zaGEyNTYoYnVmZmVyKSk7XHJcblx0XHRcdGNvbnN0IGhleCA9IGhhc2guc3Vic3RyaW5nKDAsIDQpO1xyXG5cdFx0XHRyZXR1cm4gcGFyc2VJbnQoaGV4LCAxNik7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIG5leHRVUkwoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLmVuZHBvaW50c1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aGlzLmVuZHBvaW50cy5sZW5ndGgpXTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBhc3luYyBjYWxsQXBpTWV0aG9kPFQ+KFxyXG5cdFx0bWV0aG9kOiBzdHJpbmcsXHJcblx0XHRwYXJhbXM/OiBBcnJheTxhbnk+IHwgYW55LFxyXG5cdCk6IFByb21pc2U8RXJyb3IgfCBhbnk+IHtcclxuXHRcdGNvbnN0IHVybCA9IHRoaXMubmV4dFVSTCgpO1xyXG5cdFx0cmV0dXJuIGF4aW9zXHJcblx0XHRcdC5wb3N0KFxyXG5cdFx0XHRcdHVybCxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRqc29ucnBjOiBcIjIuMFwiLFxyXG5cdFx0XHRcdFx0aWQ6IERhdGUubm93KCksXHJcblx0XHRcdFx0XHRtZXRob2QsXHJcblx0XHRcdFx0XHRwYXJhbXMsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHRoZWFkZXJzOiB0aGlzLl9oZWFkZXJzLFxyXG5cdFx0XHRcdFx0dHJhbnNmb3JtUmVzcG9uc2U6IChyZXNwb25zZSkgPT4ganNvbkJpZygpLnBhcnNlKHJlc3BvbnNlKSxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHQpXHJcblx0XHRcdC50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0aWYgKHJlc3BvbnNlPy5lcnJvciB8fCByZXNwb25zZT8uZGF0YT8uZXJyb3IpIHtcclxuXHRcdFx0XHRcdHRocm93IG5ldyBKc29uUnBjUHJvdmlkZXJFcnJvcihcclxuXHRcdFx0XHRcdFx0bWV0aG9kLFxyXG5cdFx0XHRcdFx0XHRwYXJhbXMsXHJcblx0XHRcdFx0XHRcdHJlc3BvbnNlPy5lcnJvciB8fCByZXNwb25zZT8uZGF0YT8uZXJyb3IsXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH0gZWxzZSByZXR1cm4gcmVzcG9uc2U/LmRhdGE/LnJlc3VsdCBhcyBUO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0IHRoZSBsaXN0IG9mIGJsb2NrIGhhc2hlcyB3aXRoaW4gZ2l2ZW4gcmFuZ2UsIGFzIGtub3duIGJ5IHRoZSBwcm92aWRlci5cclxuXHQgKiBAcGFyYW0ge251bWJlcn0gc2luY2UgLSBGaXJzdCBlcG9jaCBmb3Igd2hpY2ggdG8gcmV0dXJuIGJsb2NrIGhhc2hlcy4gSWYgbmVnYXRpdmUsIHJldHVybiBibG9jayBoYXNoZXMgZnJvbSB0aGUgbGFzdCBuIGVwb2Nocy5cclxuXHQgKiBAcGFyYW0ge251bWJlcn0gbGltaXQgLSBOdW1iZXIgb2YgYmxvY2sgaGFzaGVzIHRvIHJldHVybi4gSWYgbmVnYXRpdmUsIHJldHVybiB0aGUgbGFzdCBuIGJsb2NrIGhhc2hlcyBmcm9tIHRoaXMgZXBvY2ggcmFuZ2UuXHJcblx0ICovXHJcblx0cHVibGljIGFzeW5jIGJsb2NrcyhcclxuXHRcdHNpbmNlOiBudW1iZXIgPSAtMSxcclxuXHRcdGxpbWl0OiBudW1iZXIgPSAxLFxyXG5cdCk6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaF0+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFtudW1iZXIsIEhhc2hdPihNZXRob2RzLkdldEJsb2NrQ2hhaW4sIFtcclxuXHRcdFx0c2luY2UsXHJcblx0XHRcdGxpbWl0LFxyXG5cdFx0XSk7XHJcblx0fVxyXG5cclxuXHQvLy8gR2V0IGNvbnNlbnN1cyBjb25zdGFudHMgdXNlZCBieSB0aGUgbm9kZVxyXG5cdHB1YmxpYyBhc3luYyBjb25zdGFudHMoKTogUHJvbWlzZTxDb25zZW5zdXNDb25zdGFudHM+IHtcclxuXHRcdGlmICghdGhpcy5fY29uc3RhbnRzKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8Q29uc2Vuc3VzQ29uc3RhbnRzPihcclxuXHRcdFx0XHRNZXRob2RzLkdldENvbnNlbnN1c0NvbnN0YW50cyxcclxuXHRcdFx0KS50aGVuKChjb25zdGFudHM6IENvbnNlbnN1c0NvbnN0YW50cykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2NvbnN0YW50cyA9IGNvbnN0YW50cztcclxuXHRcdFx0XHRyZXR1cm4gY29uc3RhbnRzO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHJldHVybiB0aGlzLl9jb25zdGFudHM7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLy8gR2V0IGxpbWl0ZWQgbGlzdCBvZiBjdXJyZW50bHkgdG9wIGhvbGRlcnMsIGFzIGtub3duIGJ5IHRoZSBwcm92aWRlci5cclxuXHRwdWJsaWMgYXN5bmMgaG9sZGVycyhcclxuXHRcdG1pbkJhbGFuY2UgPSAwLFxyXG5cdFx0bWF4QmFsYW5jZT86IG51bWJlcixcclxuXHQpOiBQcm9taXNlPFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMj4+IHtcclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8UmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIEJhbGFuY2U+PihcclxuXHRcdFx0TWV0aG9kcy5HZXRCYWxhbmNlMixcclxuXHRcdFx0e1xyXG5cdFx0XHRcdGFsbDoge1xyXG5cdFx0XHRcdFx0bWluQmFsYW5jZSxcclxuXHRcdFx0XHRcdC4uLihtYXhCYWxhbmNlID8geyBtYXhCYWxhbmNlIH0gOiB7fSksXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0fSxcclxuXHRcdCkudGhlbigoYmFsYW5jZXM6IFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBCYWxhbmNlMj4pID0+IHtcclxuXHRcdFx0Y29uc3QgcmV2ZXJzZUNvbXBhcmUgPSAoYTogQmFsYW5jZTIsIGI6IEJhbGFuY2UyKSA9PiB7XHJcblx0XHRcdFx0Y29uc3QgYV90b3QgPSBhLmxvY2tlZCArIGEudW5sb2NrZWQgKyBhLnN0YWtlZDtcclxuXHRcdFx0XHRjb25zdCBiX3RvdCA9IGIubG9ja2VkICsgYi51bmxvY2tlZCArIGIuc3Rha2VkO1xyXG5cdFx0XHRcdGlmIChhX3RvdCA8IGJfdG90KSByZXR1cm4gMTtcclxuXHRcdFx0XHRlbHNlIGlmIChhX3RvdCA+IGJfdG90KSByZXR1cm4gLTE7XHJcblx0XHRcdFx0ZWxzZSByZXR1cm4gMDtcclxuXHRcdFx0fTtcclxuXHRcdFx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcclxuXHRcdFx0XHRPYmplY3QuZW50cmllcyhiYWxhbmNlcykuc29ydChcclxuXHRcdFx0XHRcdChhOiAoc3RyaW5nIHwgQmFsYW5jZTIpW10sIGI6IChzdHJpbmcgfCBCYWxhbmNlMilbXSkgPT5cclxuXHRcdFx0XHRcdFx0cmV2ZXJzZUNvbXBhcmUoYVsxXSBhcyBCYWxhbmNlMiwgYlsxXSBhcyBCYWxhbmNlMiksXHJcblx0XHRcdFx0KSxcclxuXHRcdFx0KTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Ly8vIEdldCBsaXN0IG9mIGtub3duIHBlZXJzXHJcblx0cHVibGljIGFzeW5jIGtub3duUGVlcnMoKTogUHJvbWlzZTxBcnJheTxQZWVyQWRkcj4+IHtcclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QXJyYXk8UGVlckFkZHI+PihNZXRob2RzLktub3duUGVlcnMpO1xyXG5cdH1cclxuXHJcblx0Ly8vIEdldCBhbGwgdGhlIHBlbmRpbmcgdHJhbnNhY3Rpb25zXHJcblx0cHVibGljIGFzeW5jIG1lbXBvb2woKTogUHJvbWlzZTxNZW1wb29sPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPE1lbXBvb2w+KE1ldGhvZHMuR2V0TWVtcG9vbCk7XHJcblx0fVxyXG5cclxuXHQvLy8gR2V0IHByaW9yaXR5IGFuZCB0aW1lLXRvLWJsb2NrIGVzdGltYXRpb25zIGZvciBkaWZmZXJlbnQgcHJpb3JpdHkgdGllcnMuXHJcblx0cHVibGljIGFzeW5jIHByaW9yaXRpZXMoKTogUHJvbWlzZTxQcmlvcml0aWVzPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFByaW9yaXRpZXM+KE1ldGhvZHMuUHJpb3JpdHkpO1xyXG5cdH1cclxuXHJcblx0Ly8vIEdldCBpbmZvcm1hdGlvbiBhYm91dCBwcm90b2NvbCB2ZXJzaW9ucyBhbmQgd2hpY2ggdmVyc2lvbiBpcyBjdXJyZW50bHkgYmVpbmcgZW5mb3JjZWQuXHJcblx0cHVibGljIGFzeW5jIHByb3RvY29sSW5mbygpOiBQcm9taXNlPFByb3RvY29sSW5mbz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxQcm90b2NvbEluZm8+KE1ldGhvZHMuUHJvdG9jb2wpO1xyXG5cdH1cclxuXHJcblx0Ly8vIEdldCBhIGZ1bGwgbGlzdCBvZiBzdGFraW5nIHBvd2VycyBvcmRlcmVkIGJ5IHJhbmtcclxuXHRwdWJsaWMgYXN5bmMgcG93ZXJzKFxyXG5cdFx0cXVlcnk/OiBRdWVyeVN0YWtpbmdQb3dlcnMsXHJcblx0KTogUHJvbWlzZTxBcnJheTxTdGFraW5nUG93ZXI+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PFN0YWtpbmdQb3dlcj4+KFxyXG5cdFx0XHRNZXRob2RzLlF1ZXJ5U3Rha2luZ1Bvd2VycyxcclxuXHRcdFx0cXVlcnksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Ly8vIEdldCBhIGZ1bGwgbGlzdCBvZiBjdXJyZW50IHN0YWtlIGVudHJpZXMgIFF1ZXJ5IHRoZSBhbW91bnQgb2YgbmFub3dpdHMgc3Rha2VkIGJ5IGFuIGFkZHJlc3MuXHJcblx0cHVibGljIGFzeW5jIHN0YWtlcyhxdWVyeT86IFF1ZXJ5U3Rha2VzKTogUHJvbWlzZTxBcnJheTxTdGFrZUVudHJ5Pj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxBcnJheTxTdGFrZUVudHJ5Pj4oXHJcblx0XHRcdE1ldGhvZHMuUXVlcnlTdGFrZXMsXHJcblx0XHRcdHF1ZXJ5LFxyXG5cdFx0KS5jYXRjaCgoZXJyKSA9PiB7XHJcblx0XHRcdGlmIChcclxuXHRcdFx0XHRlcnI/LmVycm9yPy5tZXNzYWdlICYmXHJcblx0XHRcdFx0ZXJyLmVycm9yLm1lc3NhZ2UuaW5kZXhPZihcIm5vdCByZWdpc3RlcmVkXCIpID4gLTFcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0cmV0dXJuIFtdO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRocm93IGVycjtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvLy8gR2V0IG5vZGUgc3RhdHVzXHJcblx0cHVibGljIGFzeW5jIHN5bmNTdGF0dXMoKTogUHJvbWlzZTxTeW5jU3RhdHVzPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFN5bmNTdGF0dXM+KE1ldGhvZHMuU3luY1N0YXR1cyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgd2lwcygpOiBQcm9taXNlPFNpZ25hbGluZ0luZm8+IHtcclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U2lnbmFsaW5nSW5mbz4oTWV0aG9kcy5TaWduYWxpbmdJbmZvKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyB3aXRuZXNzZXMoX3NpbmNlPzogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuXHRcdC8vIHRvZG86IHdpdG5lc3NlcyBlc3RpbWF0aW9uIHNob3VsZCBpbnN0ZWFkIGJlIGNvbXB1dGVkIGluIHByb3BvcnRpb24gdG9cclxuXHRcdC8vICAgICAgIHJhdGlvIG9mIHZhbGlkYXRvcnMgdGhhdCBoYXZlIGhvbmVzdGx5IHdpdG5lc3NlZCBkYXRhIHJlcXVlc3RzXHJcblx0XHQvLyAgICAgICB2cyB2YWxpZGF0b3JzIHRoYXQgaGF2ZSBob25lc3RseSB3aXRuZXNzZWQgZGF0YSByZXF1ZXN0cyBhbmRcclxuXHRcdC8vICAgICAgIG5ldmVyIHJldmVhbGVkIFwiaSBwYXNzZWRcIiBvdXQgb2YgbWFqb3JpdHksXHJcblx0XHQvLyAgICAgICB3aXRoaW4gdGhlIHNwZWNpZmllZCByYW5nZSBvZiBlcG9jaHMuXHJcblx0XHRsZXQgY2Vuc3VzID0gMDtcclxuXHRcdHJldHVybiB0aGlzLnN0YWtlcyh7IHBhcmFtczogeyBkaXN0aW5jdDogdHJ1ZSB9IH0pIC8vIHRvZG86IGltcGxlbWVudCBgY291bnRgIGZsYWcgb24gSUpzb25ScGNQcm92aWRlci5zdGFrZXMoKVxyXG5cdFx0XHQudGhlbigocmVjb3JkcykgPT4ge1xyXG5cdFx0XHRcdGNlbnN1cyA9IHJlY29yZHMubGVuZ3RoO1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLmJsb2NrcygtMTYsIDE2KTsgLy8gdG9kbzogYmxvY2tzKCkgc2hvdWxkIHJldHVybiBlcG9jaCwgaGFzaCBhbmQgdmFsaWRhdG9yIHBraCBmb3IgZWFjaCBibG9ja1xyXG5cdFx0XHR9KVxyXG5cdFx0XHQudGhlbigocmVjb3JkcykgPT4ge1xyXG5cdFx0XHRcdHJldHVybiBQcm9taXNlLmFsbChyZWNvcmRzLm1hcCgocmVjb3JkKSA9PiB0aGlzLmdldEJsb2NrKHJlY29yZFsxXSkpKTtcclxuXHRcdFx0fSlcclxuXHRcdFx0LnRoZW4oKGJsb2NrcykgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHZhbGlkYXRvcnM6IEFycmF5PFB1YmxpY0tleUhhc2hTdHJpbmc+ID0gW107XHJcblx0XHRcdFx0YmxvY2tzLm1hcCgoYmxvY2spID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IHBraCA9IFB1YmxpY0tleS5mcm9tUHJvdG9idWYoYmxvY2suYmxvY2tfc2lnLnB1YmxpY19rZXkpXHJcblx0XHRcdFx0XHRcdC5oYXNoKClcclxuXHRcdFx0XHRcdFx0LnRvQmVjaDMyKHRoaXMubmV0d29yayk7XHJcblx0XHRcdFx0XHRpZiAoIXZhbGlkYXRvcnMuaW5jbHVkZXMocGtoKSkgdmFsaWRhdG9ycy5wdXNoKHBraCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0cmV0dXJuIE1hdGgubWluKFxyXG5cdFx0XHRcdFx0dmFsaWRhdG9ycy5sZW5ndGgsXHJcblx0XHRcdFx0XHRNYXRoLmZsb29yKHRoaXMubmV0d29yayA9PT0gXCJ0ZXN0bmV0XCIgPyBjZW5zdXMgLyAyIDogY2Vuc3VzIC8gNCksXHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fSk7XHJcblx0fVxyXG5cclxuXHQvLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0Ly8vIEdldCBiYWxhbmNlXHJcblx0cHVibGljIGFzeW5jIGdldEJhbGFuY2UocGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nKTogUHJvbWlzZTxCYWxhbmNlMj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxCYWxhbmNlMj4oTWV0aG9kcy5HZXRCYWxhbmNlMiwgeyBwa2ggfSkudGhlbihcclxuXHRcdFx0KGJhbGFuY2U6IEJhbGFuY2UyKSA9PiAoe1xyXG5cdFx0XHRcdGxvY2tlZDogQmlnSW50KGJhbGFuY2UubG9ja2VkKSxcclxuXHRcdFx0XHRzdGFrZWQ6IEJpZ0ludChiYWxhbmNlLnN0YWtlZCksXHJcblx0XHRcdFx0dW5sb2NrZWQ6IEJpZ0ludChiYWxhbmNlLnVubG9ja2VkKSxcclxuXHRcdFx0fSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogR2V0IGJsb2NrIGluZm8gYnkgaGFzaFxyXG5cdCAqIEBwYXJhbSB7SGFzaH0gYmxvY2tIYXNoIC0gSGFzaCBvZiB0aGUgYmxvY2sgdGhhdCB3ZSBhcmUgcXVlcnlpbmcuXHJcblx0ICogQHBhcmFtIHtib29sZWFufSBzaG93VHJhbnNhY3Rpb25IYXNoIC0gV2hldGhlciB0byBpbmNsdWRlIGFuIGV4dHJhIGZpZWxkIGNvbnRhaW5pbmcgYXJyYXkgb2YgdHJhbnNhY3Rpb24gaGFzaGVzLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBhc3luYyBnZXRCbG9jayhcclxuXHRcdGJsb2NrSGFzaDogSGFzaCxcclxuXHRcdHNob3dUcmFuc2FjdGlvbkhhc2ggPSBmYWxzZSxcclxuXHQpOiBQcm9taXNlPEJsb2NrPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEJsb2NrPihNZXRob2RzLkdldEJsb2NrLCBbXHJcblx0XHRcdGJsb2NrSGFzaCxcclxuXHRcdFx0c2hvd1RyYW5zYWN0aW9uSGFzaCxcclxuXHRcdF0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIGdldERhdGFSZXF1ZXN0KFxyXG5cdFx0ZHJUeEhhc2g6IEhhc2gsXHJcblx0XHRtb2RlPzogR2V0RGF0YVJlcXVlc3RNb2RlLFxyXG5cdFx0Zm9yY2UgPSBmYWxzZSxcclxuXHQpOiBQcm9taXNlPEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8XHJcblx0XHRcdEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnRcclxuXHRcdD4oTWV0aG9kcy5HZXREYXRhUmVxdWVzdCwge1xyXG5cdFx0XHRoYXNoOiBkclR4SGFzaCxcclxuXHRcdFx0bW9kZTogbW9kZSB8fCBcImZ1bGxcIixcclxuXHRcdFx0Zm9yY2UsXHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8vLyBHZXQgdGhlIGJsb2NrcyB0aGF0IHBlcnRhaW4gdG8gdGhlIHN1cGVyYmxvY2sgaW5kZXhcclxuXHRwdWJsaWMgYXN5bmMgZ2V0U3VwZXJibG9jayhlcG9jaDogRXBvY2gpOiBQcm9taXNlPFN1cGVyYmxvY2tSZXBvcnQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U3VwZXJibG9ja1JlcG9ydD4oTWV0aG9kcy5HZXRTdXBlcmJsb2NrLCB7XHJcblx0XHRcdGJsb2NrX2Vwb2NoOiBlcG9jaCxcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIGdldFRyYW5zYWN0aW9uKHR4SGFzaDogSGFzaCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXBvcnQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8VHJhbnNhY3Rpb25SZXBvcnQ+KE1ldGhvZHMuR2V0VHJhbnNhY3Rpb24sIFtcclxuXHRcdFx0dHhIYXNoLFxyXG5cdFx0XSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb25SZWNlaXB0KFxyXG5cdFx0dHhIYXNoOiBIYXNoLFxyXG5cdCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZWNlaXB0PiB7XHJcblx0XHQvLyB0b2RvOiBmZXRjaC91cGRhdGUgcmVjZWlwdCBmcm9tIHByb3ZpZGVyLCBpZiBub3QgY2FjaGVkXHJcblx0XHRyZXR1cm4gSnNvblJwY1Byb3ZpZGVyLnJlY2VpcHRzW3R4SGFzaF07XHJcblx0fVxyXG5cclxuXHQvLy8gR2V0IHV0eG9zXHJcblx0cHVibGljIGFzeW5jIGdldFV0eG9zKFxyXG5cdFx0cGtoOiBQdWJsaWNLZXlIYXNoU3RyaW5nLFxyXG5cdFx0ZmlsdGVyPzogeyBtaW5WYWx1ZT86IGJpZ2ludCB8IHN0cmluZzsgZnJvbVNpZ25lcj86IFB1YmxpY0tleUhhc2hTdHJpbmcgfSxcclxuXHQpOiBQcm9taXNlPEFycmF5PFV0eG9NZXRhZGF0YT4+IHtcclxuXHRcdGlmIChmaWx0ZXIpIHtcclxuXHRcdFx0ZmlsdGVyLm1pblZhbHVlID0gZmlsdGVyPy5taW5WYWx1ZT8udG9TdHJpbmcoKSA/PyBcIjBcIjtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8VXR4b0luZm8+KE1ldGhvZHMuR2V0VXR4b0luZm8sIFtcclxuXHRcdFx0cGtoLFxyXG5cdFx0XHQuLi4oZmlsdGVyID8gW2ZpbHRlcl0gOiBbXSksXHJcblx0XHRdKS50aGVuKChyZXN1bHQ6IFV0eG9JbmZvKSA9PlxyXG5cdFx0XHRyZXN1bHQudXR4b3MubWFwKCh1dHhvOiBVdHhvTWV0YWRhdGEpID0+ICh7XHJcblx0XHRcdFx0Li4udXR4byxcclxuXHRcdFx0XHR2YWx1ZTogQmlnSW50KHV0eG8udmFsdWUpLFxyXG5cdFx0XHR9KSksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFzeW5jIGdldFZhbHVlVHJhbnNmZXIoXHJcblx0XHR0eEhhc2g6IEhhc2gsXHJcblx0XHRtb2RlPzogc3RyaW5nLFxyXG5cdFx0Zm9yY2UgPSBmYWxzZSxcclxuXHQpOiBQcm9taXNlPGFueT4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxhbnk+KE1ldGhvZHMuR2V0VmFsdWVUcmFuc2Zlciwge1xyXG5cdFx0XHRoYXNoOiB0eEhhc2gsXHJcblx0XHRcdG1vZGU6IG1vZGUsXHJcblx0XHRcdGZvcmNlLFxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgc2VhcmNoRGF0YVJlcXVlc3RzKFxyXG5cdFx0cmFkSGFzaDogSGFzaCxcclxuXHRcdG9wdGlvbnM/OiB7XHJcblx0XHRcdGxpbWl0PzogbnVtYmVyO1xyXG5cdFx0XHRvZmZzZXQ/OiBudW1iZXI7XHJcblx0XHRcdG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGU7XHJcblx0XHRcdHJldmVyc2U/OiBib29sZWFuO1xyXG5cdFx0fSxcclxuXHQpOiBQcm9taXNlPEFycmF5PEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQgfCBHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQ+PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PGFueVtdPj4oTWV0aG9kcy5TZWFyY2hEYXRhUmVxdWVzdHMsIHtcclxuXHRcdFx0cmFkSGFzaCxcclxuXHRcdFx0bGltaXQ6IG9wdGlvbnM/LmxpbWl0IHx8IDEsXHJcblx0XHRcdG9mZnNldDogb3B0aW9ucz8ub2Zmc2V0IHx8IDAsXHJcblx0XHRcdHJldmVyc2U6ICEob3B0aW9ucz8ucmV2ZXJzZSA9PT0gZmFsc2UpLFxyXG5cdFx0fSkudGhlbihhc3luYyAoZW50cmllcykgPT5cclxuXHRcdFx0UHJvbWlzZS5hbGwoXHJcblx0XHRcdFx0ZW50cmllcy5tYXAoKGVudHJ5OiBhbnlbXSkgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZ2V0RGF0YVJlcXVlc3QoXHJcblx0XHRcdFx0XHRcdGVudHJ5WzFdLFxyXG5cdFx0XHRcdFx0XHRvcHRpb25zPy5tb2RlIHx8IFwiZXRoZXJlYWxcIixcclxuXHRcdFx0XHRcdFx0dHJ1ZSxcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdCksXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Ly8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cdHB1YmxpYyBhc3luYyBzZW5kUmF3VHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxib29sZWFuPihNZXRob2RzLkludmVudG9yeSwgeyB0cmFuc2FjdGlvbiB9KTtcclxuXHR9XHJcblxyXG5cdC8vLyBHZXQgc3VwcGx5IGluZm9cclxuXHRwdWJsaWMgYXN5bmMgc3VwcGx5SW5mbygpOiBQcm9taXNlPFN1cHBseUluZm8+IHtcclxuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U3VwcGx5SW5mbz4oTWV0aG9kcy5HZXRTdXBwbHlJbmZvKTtcclxuXHR9XHJcbn1cclxuIl19
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN2RCxPQUFPLE9BQU8sTUFBTSxhQUFhLENBQUM7QUFFbEMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFL0MsT0FBTyxRQUFRLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsUUFBUSxDQUFDO0FBQ3JDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQ25DLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxDQUM1QyxDQUFDO0FBQ0YsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRTVELE9BQU8sRUFDTixTQUFTLEdBR1QsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUVyQyxPQUFPLEVBU04sT0FBTyxHQWNQLE1BQU0sWUFBWSxDQUFDO0FBa0RwQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsS0FBSztJQUNyQyxLQUFLLENBQU87SUFDWixNQUFNLENBQVM7SUFDZixNQUFNLENBQVE7SUFDdkIsWUFBWSxNQUFjLEVBQUUsTUFBYSxFQUFFLEtBQVc7UUFDckQsS0FBSyxDQUFDLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekUsT0FBTyxLQUFLLEVB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QU0sSUFBSSxDQUFDO1lBQzVCLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSyxLQUFLLENBQUM7U0FDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDekIsT0FBTyxDQUFDLEdBQUcsQ0FDVixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUN6QixLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ1IsT0FBTyxFQUFFLElBQUksSUFBSSxVQUFVLEVBQzNCLElBQUksQ0FDSixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0YsQ0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVELG1IQUFtSDtJQUM1RyxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBZ0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFVLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxtQkFBbUI7SUFDWixLQUFLLENBQUMsVUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQWEsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSBcIm5vZGU6bW9kdWxlXCI7XG5pbXBvcnQgeyBBeGlvc0hlYWRlcnMsIGRlZmF1bHQgYXMgYXhpb3MgfSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCBqc29uQmlnIGZyb20gXCJqc29uLWJpZ2ludFwiO1xuXG5jb25zdCByZXF1aXJlID0gY3JlYXRlUmVxdWlyZShpbXBvcnQubWV0YS51cmwpO1xuXG5pbXBvcnQgcHJvdG9idWYgZnJvbSBcInByb3RvYnVmanNcIjtcblxuY29uc3QgeyBSb290OiBQcm90b1Jvb3QgfSA9IHByb3RvYnVmO1xuY29uc3QgcHJvdG9Sb290ID0gUHJvdG9Sb290LmZyb21KU09OKFxuXHRyZXF1aXJlKFwiLi4vLi4vLi4vd2l0bmV0L3dpdG5ldC5wcm90by5qc29uXCIpLFxuKTtcbmNvbnN0IHByb3RvQnVmID0gcHJvdG9Sb290Lmxvb2t1cFR5cGUoXCJDb25zZW5zdXNDb25zdGFudHNcIik7XG5cbmltcG9ydCB7XG5cdFB1YmxpY0tleSxcblx0dHlwZSBQdWJsaWNLZXlIYXNoU3RyaW5nLFxuXHR0eXBlIFRyYW5zYWN0aW9uUmVjZWlwdCxcbn0gZnJvbSBcIi4uL2NyeXB0by90eXBlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBFcG9jaCwgSGFzaCwgTmV0d29yaywgVXR4b01ldGFkYXRhIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi4vdXRpbHMuanNcIjtcblxuaW1wb3J0IHtcblx0dHlwZSBCYWxhbmNlLFxuXHR0eXBlIEJhbGFuY2UyLFxuXHR0eXBlIEJsb2NrLFxuXHR0eXBlIENvbnNlbnN1c0NvbnN0YW50cyxcblx0dHlwZSBHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0LFxuXHR0eXBlIEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCxcblx0dHlwZSBHZXREYXRhUmVxdWVzdE1vZGUsXG5cdHR5cGUgTWVtcG9vbCxcblx0TWV0aG9kcyxcblx0dHlwZSBQZWVyQWRkcixcblx0dHlwZSBQcmlvcml0aWVzLFxuXHR0eXBlIFByb3RvY29sSW5mbyxcblx0dHlwZSBRdWVyeVN0YWtlcyxcblx0dHlwZSBRdWVyeVN0YWtpbmdQb3dlcnMsXG5cdHR5cGUgU2lnbmFsaW5nSW5mbyxcblx0dHlwZSBTdGFrZUVudHJ5LFxuXHR0eXBlIFN0YWtpbmdQb3dlcixcblx0dHlwZSBTdXBlcmJsb2NrUmVwb3J0LFxuXHR0eXBlIFN1cHBseUluZm8sXG5cdHR5cGUgU3luY1N0YXR1cyxcblx0dHlwZSBUcmFuc2FjdGlvblJlcG9ydCxcblx0dHlwZSBVdHhvSW5mbyxcbn0gZnJvbSBcIi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJSnNvblJwY1Byb3ZpZGVyIHtcblx0bmV0d29yaz86IE5ldHdvcms7XG5cdG5ldHdvcmtJZD86IG51bWJlcjtcblxuXHRibG9ja3MoXG5cdFx0c2luY2U6IEVwb2NoLFxuXHRcdGxpbWl0OiBudW1iZXIsXG5cdCk6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaCAvKiwgUHVibGljS2V5SGFzaFN0cmluZyovXT4+O1xuXHRjb25zdGFudHMoKTogUHJvbWlzZTxDb25zZW5zdXNDb25zdGFudHM+O1xuXHRob2xkZXJzKGxpbWl0PzogbnVtYmVyKTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZTI+Pjtcblx0bWVtcG9vbCgpOiBQcm9taXNlPE1lbXBvb2w+O1xuXHRwb3dlcnMocGFyYW1zPzogUXVlcnlTdGFraW5nUG93ZXJzKTogUHJvbWlzZTxBcnJheTxTdGFraW5nUG93ZXI+Pjtcblx0cHJpb3JpdGllcygpOiBQcm9taXNlPFByaW9yaXRpZXM+O1xuXHRwcm90b2NvbEluZm8oKTogUHJvbWlzZTxQcm90b2NvbEluZm8+O1xuXHRzdGFrZXMocGFyYW1zOiBRdWVyeVN0YWtlcyk6IFByb21pc2U8QXJyYXk8U3Rha2VFbnRyeT4+O1xuXHRzdXBwbHlJbmZvKCk6IFByb21pc2U8U3VwcGx5SW5mbz47XG5cdHN5bmNTdGF0dXMoKTogUHJvbWlzZTxhbnk+O1xuXHR3aXBzKCk6IFByb21pc2U8U2lnbmFsaW5nSW5mbz47XG5cdHdpdG5lc3NlcygpOiBQcm9taXNlPG51bWJlcj47XG5cblx0Z2V0QmFsYW5jZShwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcpOiBQcm9taXNlPEJhbGFuY2UyPjtcblx0Z2V0QmxvY2soYmxvY2tIYXNoOiBIYXNoLCBzaG93VHJhbnNhY3Rpb25IYXNoZXM/OiBib29sZWFuKTogUHJvbWlzZTxCbG9jaz47XG5cdGdldERhdGFSZXF1ZXN0KFxuXHRcdGRyVHhIYXNoOiBIYXNoLFxuXHRcdG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGUsXG5cdCk6IFByb21pc2U8R2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0IHwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydD47XG5cdGdldFN1cGVyYmxvY2soZXBvY2g6IEVwb2NoKTogUHJvbWlzZTxTdXBlcmJsb2NrUmVwb3J0Pjtcblx0Z2V0VHJhbnNhY3Rpb24odHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlcG9ydD47XG5cdGdldFRyYW5zYWN0aW9uUmVjZWlwdCh0eEhhc2g6IEhhc2gpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVjZWlwdD47XG5cdGdldFV0eG9zKFxuXHRcdHBraDogUHVibGljS2V5SGFzaFN0cmluZyxcblx0XHRmaWx0ZXI/OiB7IG1pblZhbHVlPzogYmlnaW50OyBzaWduZXI/OiBQdWJsaWNLZXlIYXNoU3RyaW5nIH0sXG5cdCk6IFByb21pc2U8QXJyYXk8VXR4b01ldGFkYXRhPj47XG5cdGdldFZhbHVlVHJhbnNmZXIodHhIYXNoOiBIYXNoLCBtb2RlPzogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuXG5cdHNlYXJjaERhdGFSZXF1ZXN0cyhcblx0XHRyYWRIYXNoOiBIYXNoLFxuXHRcdG9wdGlvbnM/OiB7XG5cdFx0XHRsaW1pdD86IG51bWJlcjtcblx0XHRcdG9mZnNldD86IG51bWJlcjtcblx0XHRcdG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGU7XG5cdFx0XHRyZXZlcnNlPzogYm9vbGVhbjtcblx0XHR9LFxuXHQpOiBQcm9taXNlPEFycmF5PEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQ+PjtcblxuXHRzZW5kUmF3VHJhbnNhY3Rpb24odHg6IGFueSk6IFByb21pc2U8Ym9vbGVhbj47XG59XG5cbmV4cG9ydCBjbGFzcyBKc29uUnBjUHJvdmlkZXJFcnJvciBleHRlbmRzIEVycm9yIHtcblx0cmVhZG9ubHkgZXJyb3I/OiBhbnk7XG5cdHJlYWRvbmx5IG1ldGhvZDogc3RyaW5nO1xuXHRyZWFkb25seSBwYXJhbXM6IGFueVtdO1xuXHRjb25zdHJ1Y3RvcihtZXRob2Q6IHN0cmluZywgcGFyYW1zOiBhbnlbXSwgZXJyb3I/OiBhbnkpIHtcblx0XHRzdXBlcihgJHttZXRob2R9KCR7SlNPTi5zdHJpbmdpZnkocGFyYW1zKX0pOiAke0pTT04uc3RyaW5naWZ5KGVycm9yKX0pYCk7XG5cdFx0ZGVsZXRlIGVycm9yPy5zdGFjaztcblx0XHR0aGlzLmVycm9yID0gZXJyb3I7XG5cdFx0dGhpcy5tZXRob2QgPSBtZXRob2Q7XG5cdFx0dGhpcy5wYXJhbXMgPSBwYXJhbXM7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIEpzb25ScGNQcm92aWRlciBpbXBsZW1lbnRzIElKc29uUnBjUHJvdmlkZXIge1xuXHRwdWJsaWMgcmVhZG9ubHkgZW5kcG9pbnRzOiBzdHJpbmdbXTtcblxuXHRwdWJsaWMgc3RhdGljIHJlY2VpcHRzOiBSZWNvcmQ8SGFzaCwgVHJhbnNhY3Rpb25SZWNlaXB0PiA9IHt9O1xuXG5cdHByb3RlY3RlZCBfY29uc3RhbnRzPzogQ29uc2Vuc3VzQ29uc3RhbnRzO1xuXHRwcm90ZWN0ZWQgX2hlYWRlcnM6IEF4aW9zSGVhZGVycztcblxuXHQvKipcblx0ICogQ3JlYXRlIGFuZCBpbml0aWFsaXplIGEgSnNvblJwY1Byb3ZpZGVyIG9iamVjdCBjb25uZWN0ZWQgdG8gdGhlIGRlZmF1bHQgV2l0L1JQQyBlbmRwb2ludC5cblx0ICogRGVmYXVsdHMgdG8gaHR0cHM6Ly9ycGMtMDEud2l0bmV0LmlvIGlmIG5vIFdJVE5FVF9TREtfUFJPVklERVJfVVJMIGVudmFyIGlzIHNldHRsZWRcblx0ICogb24gdGhlIGVudmlyb25tZW50LlxuXHQgKi9cblx0c3RhdGljIGFzeW5jIGZyb21FbnYodXJsPzogc3RyaW5nKTogUHJvbWlzZTxKc29uUnBjUHJvdmlkZXI+IHtcblx0XHRyZXR1cm4gSnNvblJwY1Byb3ZpZGVyLmZyb21VUkwoXG5cdFx0XHR1cmwgfHwgcHJvY2Vzcy5lbnYuV0lUTkVUX1NES19QUk9WSURFUl9VUkwgfHwgXCJodHRwczovL3JwYy0wMS53aXRuZXQuaW9cIixcblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIEpzb25ScGNQcm92aWRlciBvYmplY3QgY29ubmVjdGVkIHRvIHRoZSBzcGVjaWZpZWQgV2l0L1JQQyBlbmRwb2ludC5cblx0ICogQHBhcmFtIHVybCBXaXQvUlBDIGVuZHBvaW50IFVSTC5cblx0ICovXG5cdHN0YXRpYyBhc3luYyBmcm9tVVJMKHVybDogc3RyaW5nKTogUHJvbWlzZTxKc29uUnBjUHJvdmlkZXI+IHtcblx0XHRjb25zdCBwcm92aWRlciA9IG5ldyBKc29uUnBjUHJvdmlkZXIodXJsKTtcblx0XHRyZXR1cm4gcHJvdmlkZXIuY29uc3RhbnRzKCkudGhlbigoKSA9PiBwcm92aWRlcik7XG5cdH1cblxuXHRjb25zdHJ1Y3Rvcih1cmw/OiBzdHJpbmcpIHtcblx0XHR0aGlzLmVuZHBvaW50cyA9IFtdO1xuXHRcdGlmICh1cmwgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Y29uc3QgdXJscyA9IHVybC5yZXBsYWNlQWxsKFwiLFwiLCBcIjtcIikuc3BsaXQoXCI7XCIpO1xuXHRcdFx0dXJscy5mb3JFYWNoKCh1cmwpID0+IHtcblx0XHRcdFx0Y29uc3QgW3NjaGVtYV0gPSB1dGlscy5wYXJzZVVSTCh1cmwpO1xuXHRcdFx0XHRpZiAoIXNjaGVtYS5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSAmJiAhc2NoZW1hLnN0YXJ0c1dpdGgoXCJodHRwczovL1wiKSkge1xuXHRcdFx0XHRcdHRocm93IEVycm9yKFxuXHRcdFx0XHRcdFx0YFdpdG5ldC5Kc29uUnBjUHJvdmlkZXI6IHVuc3VwcG9ydGVkIFVSTCBzY2hlbWEgJHtzY2hlbWF9YCxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdHRoaXMuZW5kcG9pbnRzID0gdXJscztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5lbmRwb2ludHMucHVzaChcblx0XHRcdFx0cHJvY2Vzcy5lbnYuV0lUTkVUX1NES19QUk9WSURFUl9VUkwgfHwgXCJodHRwczovL3JwYy0wMS53aXRuZXQuaW9cIixcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHRoaXMuX2hlYWRlcnMgPSBuZXcgQXhpb3NIZWFkZXJzKHtcblx0XHRcdFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIGdldCBuZXR3b3JrKCk6IE5ldHdvcmsgfCB1bmRlZmluZWQge1xuXHRcdGlmICh0aGlzLl9jb25zdGFudHMpIHtcblx0XHRcdHJldHVybiB0aGlzLl9jb25zdGFudHMuYm9vdHN0cmFwcGluZ19jb21taXR0ZWVbMF0uc3RhcnRzV2l0aChcIndpdFwiKVxuXHRcdFx0XHQ/IFwibWFpbm5ldFwiXG5cdFx0XHRcdDogXCJ0ZXN0bmV0XCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGdldCBuZXR3b3JrSWQoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAodGhpcy5fY29uc3RhbnRzKSB7XG5cdFx0XHRjb25zdCBvYmo6IGFueSA9IHt9O1xuXHRcdFx0b2JqLmFjdGl2aXR5UGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLmFjdGl2aXR5X3BlcmlvZDtcblx0XHRcdG9iai5ib290c3RyYXBIYXNoID0ge1xuXHRcdFx0XHRTSEEyNTY6IEFycmF5LmZyb20odXRpbHMuZnJvbUhleFN0cmluZyh0aGlzLl9jb25zdGFudHMuYm9vdHN0cmFwX2hhc2gpKSxcblx0XHRcdH07XG5cdFx0XHRvYmouYm9vdHN0cmFwcGluZ0NvbW1pdHRlZSA9IHRoaXMuX2NvbnN0YW50cy5ib290c3RyYXBwaW5nX2NvbW1pdHRlZTtcblx0XHRcdG9iai5jaGVja3BvaW50WmVyb1RpbWVzdGFtcCA9IHRoaXMuX2NvbnN0YW50cy5jaGVja3BvaW50X3plcm9fdGltZXN0YW1wO1xuXHRcdFx0b2JqLmNoZWNrcG9pbnRzUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLmNoZWNrcG9pbnRzX3BlcmlvZDtcblx0XHRcdG9iai5jb2xsYXRlcmFsQWdlID0gdGhpcy5fY29uc3RhbnRzLmNvbGxhdGVyYWxfYWdlO1xuXHRcdFx0b2JqLmNvbGxhdGVyYWxNaW5pbXVtID0gdGhpcy5fY29uc3RhbnRzLmNvbGxhdGVyYWxfbWluaW11bTtcblx0XHRcdG9iai5lcG9jaHNXaXRoTWluaW11bURpZmZpY3VsdHkgPVxuXHRcdFx0XHR0aGlzLl9jb25zdGFudHMuZXBvY2hzX3dpdGhfbWluaW11bV9kaWZmaWN1bHR5O1xuXHRcdFx0b2JqLmV4dHJhUm91bmRzID0gdGhpcy5fY29uc3RhbnRzLmV4dHJhX3JvdW5kcztcblx0XHRcdG9iai5nZW5lc2lzSGFzaCA9IHtcblx0XHRcdFx0U0hBMjU2OiBBcnJheS5mcm9tKHV0aWxzLmZyb21IZXhTdHJpbmcodGhpcy5fY29uc3RhbnRzLmdlbmVzaXNfaGFzaCkpLFxuXHRcdFx0fTtcblx0XHRcdG9iai5oYWx2aW5nUGVyaW9kID0gdGhpcy5fY29uc3RhbnRzLmhhbHZpbmdfcGVyaW9kO1xuXHRcdFx0b2JqLmluaXRpYWxCbG9ja1Jld2FyZCA9IHRoaXMuX2NvbnN0YW50cy5pbml0aWFsX2Jsb2NrX3Jld2FyZDtcblx0XHRcdG9iai5tYXhEcldlaWdodCA9IHRoaXMuX2NvbnN0YW50cy5tYXhfZHJfd2VpZ2h0O1xuXHRcdFx0b2JqLm1heFZ0V2VpZ2h0ID0gdGhpcy5fY29uc3RhbnRzLm1heF92dF93ZWlnaHQ7XG5cdFx0XHRpZiAodGhpcy5fY29uc3RhbnRzLm1pbmltdW1fZGlmZmljdWx0eSA+IDApXG5cdFx0XHRcdG9iai5taW5pbXVtRGlmZmljdWx0eSA9IHRoaXMuX2NvbnN0YW50cy5taW5pbXVtX2RpZmZpY3VsdHk7XG5cdFx0XHRvYmoubWluaW5nQmFja3VwRmFjdG9yID0gdGhpcy5fY29uc3RhbnRzLm1pbmluZ19iYWNrdXBfZmFjdG9yO1xuXHRcdFx0b2JqLm1pbmluZ1JlcGxpY2F0aW9uRmFjdG9yID0gdGhpcy5fY29uc3RhbnRzLm1pbmluZ19yZXBsaWNhdGlvbl9mYWN0b3I7XG5cdFx0XHRvYmoucmVwdXRhdGlvbkV4cGlyZUFscGhhRGlmZiA9XG5cdFx0XHRcdHRoaXMuX2NvbnN0YW50cy5yZXB1dGF0aW9uX2V4cGlyZV9hbHBoYV9kaWZmO1xuXHRcdFx0b2JqLnJlcHV0YXRpb25Jc3N1YW5jZSA9IHRoaXMuX2NvbnN0YW50cy5yZXB1dGF0aW9uX2lzc3VhbmNlO1xuXHRcdFx0b2JqLnJlcHV0YXRpb25Jc3N1YW5jZVN0b3AgPSB0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9pc3N1YW5jZV9zdG9wO1xuXHRcdFx0b2JqLnJlcHV0YXRpb25QZW5hbGl6YXRpb25GYWN0b3IgPVxuXHRcdFx0XHR0aGlzLl9jb25zdGFudHMucmVwdXRhdGlvbl9wZW5hbGl6YXRpb25fZmFjdG9yO1xuXHRcdFx0b2JqLnN1cGVyYmxvY2tDb21taXR0ZWVEZWNyZWFzaW5nUGVyaW9kID1cblx0XHRcdFx0dGhpcy5fY29uc3RhbnRzLnN1cGVyYmxvY2tfY29tbWl0dGVlX2RlY3JlYXNpbmdfcGVyaW9kO1xuXHRcdFx0b2JqLnN1cGVyYmxvY2tDb21taXR0ZWVEZWNyZWFzaW5nU3RlcCA9XG5cdFx0XHRcdHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX2NvbW1pdHRlZV9kZWNyZWFzaW5nX3N0ZXA7XG5cdFx0XHRvYmouc3VwZXJibG9ja1BlcmlvZCA9IHRoaXMuX2NvbnN0YW50cy5zdXBlcmJsb2NrX3BlcmlvZDtcblx0XHRcdG9iai5zdXBlcmJsb2NrU2lnbmluZ0NvbW1pdHRlZVNpemUgPVxuXHRcdFx0XHR0aGlzLl9jb25zdGFudHMuc3VwZXJibG9ja19zaWduaW5nX2NvbW1pdHRlZV9zaXplO1xuXHRcdFx0Y29uc3QgbWVzc2FnZSA9IHByb3RvQnVmLmZyb21PYmplY3Qob2JqKTtcblx0XHRcdGNvbnN0IGJ1ZmZlciA9IHByb3RvQnVmLmVuY29kZShtZXNzYWdlKS5maW5pc2goKTtcblx0XHRcdGNvbnN0IGhhc2ggPSB1dGlscy50b0hleFN0cmluZyh1dGlscy5zaGEyNTYoYnVmZmVyKSk7XG5cdFx0XHRjb25zdCBoZXggPSBoYXNoLnN1YnN0cmluZygwLCA0KTtcblx0XHRcdHJldHVybiBwYXJzZUludChoZXgsIDE2KTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdHByb3RlY3RlZCBuZXh0VVJMKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMuZW5kcG9pbnRzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHRoaXMuZW5kcG9pbnRzLmxlbmd0aCldO1xuXHR9XG5cblx0cHJvdGVjdGVkIGFzeW5jIGNhbGxBcGlNZXRob2Q8VD4oXG5cdFx0bWV0aG9kOiBzdHJpbmcsXG5cdFx0cGFyYW1zPzogQXJyYXk8YW55PiB8IGFueSxcblx0KTogUHJvbWlzZTxFcnJvciB8IGFueT4ge1xuXHRcdGNvbnN0IHVybCA9IHRoaXMubmV4dFVSTCgpO1xuXHRcdHJldHVybiBheGlvc1xuXHRcdFx0LnBvc3QoXG5cdFx0XHRcdHVybCxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGpzb25ycGM6IFwiMi4wXCIsXG5cdFx0XHRcdFx0aWQ6IERhdGUubm93KCksXG5cdFx0XHRcdFx0bWV0aG9kLFxuXHRcdFx0XHRcdHBhcmFtcyxcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGhlYWRlcnM6IHRoaXMuX2hlYWRlcnMsXG5cdFx0XHRcdFx0dHJhbnNmb3JtUmVzcG9uc2U6IChyZXNwb25zZSkgPT4ganNvbkJpZygpLnBhcnNlKHJlc3BvbnNlKSxcblx0XHRcdFx0fSxcblx0XHRcdClcblx0XHRcdC50aGVuKChyZXNwb25zZTogYW55KSA9PiB7XG5cdFx0XHRcdGlmIChyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEpzb25ScGNQcm92aWRlckVycm9yKFxuXHRcdFx0XHRcdFx0bWV0aG9kLFxuXHRcdFx0XHRcdFx0cGFyYW1zLFxuXHRcdFx0XHRcdFx0cmVzcG9uc2U/LmVycm9yIHx8IHJlc3BvbnNlPy5kYXRhPy5lcnJvcixcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9IGVsc2UgcmV0dXJuIHJlc3BvbnNlPy5kYXRhPy5yZXN1bHQgYXMgVDtcblx0XHRcdH0pO1xuXHR9XG5cblx0Ly8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cdC8qKlxuXHQgKiBHZXQgdGhlIGxpc3Qgb2YgYmxvY2sgaGFzaGVzIHdpdGhpbiBnaXZlbiByYW5nZSwgYXMga25vd24gYnkgdGhlIHByb3ZpZGVyLlxuXHQgKiBAcGFyYW0ge251bWJlcn0gc2luY2UgLSBGaXJzdCBlcG9jaCBmb3Igd2hpY2ggdG8gcmV0dXJuIGJsb2NrIGhhc2hlcy4gSWYgbmVnYXRpdmUsIHJldHVybiBibG9jayBoYXNoZXMgZnJvbSB0aGUgbGFzdCBuIGVwb2Nocy5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGxpbWl0IC0gTnVtYmVyIG9mIGJsb2NrIGhhc2hlcyB0byByZXR1cm4uIElmIG5lZ2F0aXZlLCByZXR1cm4gdGhlIGxhc3QgbiBibG9jayBoYXNoZXMgZnJvbSB0aGlzIGVwb2NoIHJhbmdlLlxuXHQgKi9cblx0cHVibGljIGFzeW5jIGJsb2Nrcyhcblx0XHRzaW5jZTogbnVtYmVyID0gLTEsXG5cdFx0bGltaXQ6IG51bWJlciA9IDEsXG5cdCk6IFByb21pc2U8QXJyYXk8W251bWJlciwgSGFzaF0+PiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxbbnVtYmVyLCBIYXNoXT4oTWV0aG9kcy5HZXRCbG9ja0NoYWluLCBbXG5cdFx0XHRzaW5jZSxcblx0XHRcdGxpbWl0LFxuXHRcdF0pO1xuXHR9XG5cblx0Ly8vIEdldCBjb25zZW5zdXMgY29uc3RhbnRzIHVzZWQgYnkgdGhlIG5vZGVcblx0cHVibGljIGFzeW5jIGNvbnN0YW50cygpOiBQcm9taXNlPENvbnNlbnN1c0NvbnN0YW50cz4ge1xuXHRcdGlmICghdGhpcy5fY29uc3RhbnRzKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPENvbnNlbnN1c0NvbnN0YW50cz4oXG5cdFx0XHRcdE1ldGhvZHMuR2V0Q29uc2Vuc3VzQ29uc3RhbnRzLFxuXHRcdFx0KS50aGVuKChjb25zdGFudHM6IENvbnNlbnN1c0NvbnN0YW50cykgPT4ge1xuXHRcdFx0XHR0aGlzLl9jb25zdGFudHMgPSBjb25zdGFudHM7XG5cdFx0XHRcdHJldHVybiBjb25zdGFudHM7XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRoaXMuX2NvbnN0YW50cztcblx0XHR9XG5cdH1cblxuXHQvLy8gR2V0IGxpbWl0ZWQgbGlzdCBvZiBjdXJyZW50bHkgdG9wIGhvbGRlcnMsIGFzIGtub3duIGJ5IHRoZSBwcm92aWRlci5cblx0cHVibGljIGFzeW5jIGhvbGRlcnMoXG5cdFx0bWluQmFsYW5jZSA9IDAsXG5cdFx0bWF4QmFsYW5jZT86IG51bWJlcixcblx0KTogUHJvbWlzZTxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZTI+PiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZT4+KFxuXHRcdFx0TWV0aG9kcy5HZXRCYWxhbmNlMixcblx0XHRcdHtcblx0XHRcdFx0YWxsOiB7XG5cdFx0XHRcdFx0bWluQmFsYW5jZSxcblx0XHRcdFx0XHQuLi4obWF4QmFsYW5jZSA/IHsgbWF4QmFsYW5jZSB9IDoge30pLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSxcblx0XHQpLnRoZW4oKGJhbGFuY2VzOiBSZWNvcmQ8UHVibGljS2V5SGFzaFN0cmluZywgQmFsYW5jZTI+KSA9PiB7XG5cdFx0XHRjb25zdCByZXZlcnNlQ29tcGFyZSA9IChhOiBCYWxhbmNlMiwgYjogQmFsYW5jZTIpID0+IHtcblx0XHRcdFx0Y29uc3QgYV90b3QgPSBhLmxvY2tlZCArIGEudW5sb2NrZWQgKyBhLnN0YWtlZDtcblx0XHRcdFx0Y29uc3QgYl90b3QgPSBiLmxvY2tlZCArIGIudW5sb2NrZWQgKyBiLnN0YWtlZDtcblx0XHRcdFx0aWYgKGFfdG90IDwgYl90b3QpIHJldHVybiAxO1xuXHRcdFx0XHRlbHNlIGlmIChhX3RvdCA+IGJfdG90KSByZXR1cm4gLTE7XG5cdFx0XHRcdGVsc2UgcmV0dXJuIDA7XG5cdFx0XHR9O1xuXHRcdFx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRcdFx0T2JqZWN0LmVudHJpZXMoYmFsYW5jZXMpLnNvcnQoXG5cdFx0XHRcdFx0KGE6IChzdHJpbmcgfCBCYWxhbmNlMilbXSwgYjogKHN0cmluZyB8IEJhbGFuY2UyKVtdKSA9PlxuXHRcdFx0XHRcdFx0cmV2ZXJzZUNvbXBhcmUoYVsxXSBhcyBCYWxhbmNlMiwgYlsxXSBhcyBCYWxhbmNlMiksXG5cdFx0XHRcdCksXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0Ly8vIEdldCBsaXN0IG9mIGtub3duIHBlZXJzXG5cdHB1YmxpYyBhc3luYyBrbm93blBlZXJzKCk6IFByb21pc2U8QXJyYXk8UGVlckFkZHI+PiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxBcnJheTxQZWVyQWRkcj4+KE1ldGhvZHMuS25vd25QZWVycyk7XG5cdH1cblxuXHQvLy8gR2V0IGFsbCB0aGUgcGVuZGluZyB0cmFuc2FjdGlvbnNcblx0cHVibGljIGFzeW5jIG1lbXBvb2woKTogUHJvbWlzZTxNZW1wb29sPiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxNZW1wb29sPihNZXRob2RzLkdldE1lbXBvb2wpO1xuXHR9XG5cblx0Ly8vIEdldCBwcmlvcml0eSBhbmQgdGltZS10by1ibG9jayBlc3RpbWF0aW9ucyBmb3IgZGlmZmVyZW50IHByaW9yaXR5IHRpZXJzLlxuXHRwdWJsaWMgYXN5bmMgcHJpb3JpdGllcygpOiBQcm9taXNlPFByaW9yaXRpZXM+IHtcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFByaW9yaXRpZXM+KE1ldGhvZHMuUHJpb3JpdHkpO1xuXHR9XG5cblx0Ly8vIEdldCBpbmZvcm1hdGlvbiBhYm91dCBwcm90b2NvbCB2ZXJzaW9ucyBhbmQgd2hpY2ggdmVyc2lvbiBpcyBjdXJyZW50bHkgYmVpbmcgZW5mb3JjZWQuXG5cdHB1YmxpYyBhc3luYyBwcm90b2NvbEluZm8oKTogUHJvbWlzZTxQcm90b2NvbEluZm8+IHtcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFByb3RvY29sSW5mbz4oTWV0aG9kcy5Qcm90b2NvbCk7XG5cdH1cblxuXHQvLy8gR2V0IGEgZnVsbCBsaXN0IG9mIHN0YWtpbmcgcG93ZXJzIG9yZGVyZWQgYnkgcmFua1xuXHRwdWJsaWMgYXN5bmMgcG93ZXJzKFxuXHRcdHF1ZXJ5PzogUXVlcnlTdGFraW5nUG93ZXJzLFxuXHQpOiBQcm9taXNlPEFycmF5PFN0YWtpbmdQb3dlcj4+IHtcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PFN0YWtpbmdQb3dlcj4+KFxuXHRcdFx0TWV0aG9kcy5RdWVyeVN0YWtpbmdQb3dlcnMsXG5cdFx0XHRxdWVyeSxcblx0XHQpO1xuXHR9XG5cblx0Ly8vIEdldCBhIGZ1bGwgbGlzdCBvZiBjdXJyZW50IHN0YWtlIGVudHJpZXMgIFF1ZXJ5IHRoZSBhbW91bnQgb2YgbmFub3dpdHMgc3Rha2VkIGJ5IGFuIGFkZHJlc3MuXG5cdHB1YmxpYyBhc3luYyBzdGFrZXMocXVlcnk/OiBRdWVyeVN0YWtlcyk6IFByb21pc2U8QXJyYXk8U3Rha2VFbnRyeT4+IHtcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEFycmF5PFN0YWtlRW50cnk+Pihcblx0XHRcdE1ldGhvZHMuUXVlcnlTdGFrZXMsXG5cdFx0XHRxdWVyeSxcblx0XHQpLmNhdGNoKChlcnIpID0+IHtcblx0XHRcdGlmIChcblx0XHRcdFx0ZXJyPy5lcnJvcj8ubWVzc2FnZSAmJlxuXHRcdFx0XHRlcnIuZXJyb3IubWVzc2FnZS5pbmRleE9mKFwibm90IHJlZ2lzdGVyZWRcIikgPiAtMVxuXHRcdFx0KSB7XG5cdFx0XHRcdHJldHVybiBbXTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRocm93IGVycjtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdC8vLyBHZXQgbm9kZSBzdGF0dXNcblx0cHVibGljIGFzeW5jIHN5bmNTdGF0dXMoKTogUHJvbWlzZTxTeW5jU3RhdHVzPiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTeW5jU3RhdHVzPihNZXRob2RzLlN5bmNTdGF0dXMpO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHdpcHMoKTogUHJvbWlzZTxTaWduYWxpbmdJbmZvPiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTaWduYWxpbmdJbmZvPihNZXRob2RzLlNpZ25hbGluZ0luZm8pO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHdpdG5lc3Nlcyhfc2luY2U/OiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xuXHRcdC8vIHRvZG86IHdpdG5lc3NlcyBlc3RpbWF0aW9uIHNob3VsZCBpbnN0ZWFkIGJlIGNvbXB1dGVkIGluIHByb3BvcnRpb24gdG9cblx0XHQvLyAgICAgICByYXRpbyBvZiB2YWxpZGF0b3JzIHRoYXQgaGF2ZSBob25lc3RseSB3aXRuZXNzZWQgZGF0YSByZXF1ZXN0c1xuXHRcdC8vICAgICAgIHZzIHZhbGlkYXRvcnMgdGhhdCBoYXZlIGhvbmVzdGx5IHdpdG5lc3NlZCBkYXRhIHJlcXVlc3RzIGFuZFxuXHRcdC8vICAgICAgIG5ldmVyIHJldmVhbGVkIFwiaSBwYXNzZWRcIiBvdXQgb2YgbWFqb3JpdHksXG5cdFx0Ly8gICAgICAgd2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2Ugb2YgZXBvY2hzLlxuXHRcdGxldCBjZW5zdXMgPSAwO1xuXHRcdHJldHVybiB0aGlzLnN0YWtlcyh7IHBhcmFtczogeyBkaXN0aW5jdDogdHJ1ZSB9IH0pIC8vIHRvZG86IGltcGxlbWVudCBgY291bnRgIGZsYWcgb24gSUpzb25ScGNQcm92aWRlci5zdGFrZXMoKVxuXHRcdFx0LnRoZW4oKHJlY29yZHMpID0+IHtcblx0XHRcdFx0Y2Vuc3VzID0gcmVjb3Jkcy5sZW5ndGg7XG5cdFx0XHRcdHJldHVybiB0aGlzLmJsb2NrcygtMTYsIDE2KTsgLy8gdG9kbzogYmxvY2tzKCkgc2hvdWxkIHJldHVybiBlcG9jaCwgaGFzaCBhbmQgdmFsaWRhdG9yIHBraCBmb3IgZWFjaCBibG9ja1xuXHRcdFx0fSlcblx0XHRcdC50aGVuKChyZWNvcmRzKSA9PiB7XG5cdFx0XHRcdHJldHVybiBQcm9taXNlLmFsbChyZWNvcmRzLm1hcCgocmVjb3JkKSA9PiB0aGlzLmdldEJsb2NrKHJlY29yZFsxXSkpKTtcblx0XHRcdH0pXG5cdFx0XHQudGhlbigoYmxvY2tzKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHZhbGlkYXRvcnM6IEFycmF5PFB1YmxpY0tleUhhc2hTdHJpbmc+ID0gW107XG5cdFx0XHRcdGJsb2Nrcy5tYXAoKGJsb2NrKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgcGtoID0gUHVibGljS2V5LmZyb21Qcm90b2J1ZihibG9jay5ibG9ja19zaWcucHVibGljX2tleSlcblx0XHRcdFx0XHRcdC5oYXNoKClcblx0XHRcdFx0XHRcdC50b0JlY2gzMih0aGlzLm5ldHdvcmspO1xuXHRcdFx0XHRcdGlmICghdmFsaWRhdG9ycy5pbmNsdWRlcyhwa2gpKSB2YWxpZGF0b3JzLnB1c2gocGtoKTtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHJldHVybiBNYXRoLm1pbihcblx0XHRcdFx0XHR2YWxpZGF0b3JzLmxlbmd0aCxcblx0XHRcdFx0XHRNYXRoLmZsb29yKHRoaXMubmV0d29yayA9PT0gXCJ0ZXN0bmV0XCIgPyBjZW5zdXMgLyAyIDogY2Vuc3VzIC8gNCksXG5cdFx0XHRcdCk7XG5cdFx0XHR9KTtcblx0fVxuXG5cdC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Ly8vIEdldCBiYWxhbmNlXG5cdHB1YmxpYyBhc3luYyBnZXRCYWxhbmNlKHBraDogUHVibGljS2V5SGFzaFN0cmluZyk6IFByb21pc2U8QmFsYW5jZTI+IHtcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPEJhbGFuY2UyPihNZXRob2RzLkdldEJhbGFuY2UyLCB7IHBraCB9KS50aGVuKFxuXHRcdFx0KGJhbGFuY2U6IEJhbGFuY2UyKSA9PiAoe1xuXHRcdFx0XHRsb2NrZWQ6IEJpZ0ludChiYWxhbmNlLmxvY2tlZCksXG5cdFx0XHRcdHN0YWtlZDogQmlnSW50KGJhbGFuY2Uuc3Rha2VkKSxcblx0XHRcdFx0dW5sb2NrZWQ6IEJpZ0ludChiYWxhbmNlLnVubG9ja2VkKSxcblx0XHRcdH0pLFxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0IGJsb2NrIGluZm8gYnkgaGFzaFxuXHQgKiBAcGFyYW0ge0hhc2h9IGJsb2NrSGFzaCAtIEhhc2ggb2YgdGhlIGJsb2NrIHRoYXQgd2UgYXJlIHF1ZXJ5aW5nLlxuXHQgKiBAcGFyYW0ge2Jvb2xlYW59IHNob3dUcmFuc2FjdGlvbkhhc2ggLSBXaGV0aGVyIHRvIGluY2x1ZGUgYW4gZXh0cmEgZmllbGQgY29udGFpbmluZyBhcnJheSBvZiB0cmFuc2FjdGlvbiBoYXNoZXMuXG5cdCAqL1xuXHRwdWJsaWMgYXN5bmMgZ2V0QmxvY2soXG5cdFx0YmxvY2tIYXNoOiBIYXNoLFxuXHRcdHNob3dUcmFuc2FjdGlvbkhhc2ggPSBmYWxzZSxcblx0KTogUHJvbWlzZTxCbG9jaz4ge1xuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8QmxvY2s+KE1ldGhvZHMuR2V0QmxvY2ssIFtcblx0XHRcdGJsb2NrSGFzaCxcblx0XHRcdHNob3dUcmFuc2FjdGlvbkhhc2gsXG5cdFx0XSk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgZ2V0RGF0YVJlcXVlc3QoXG5cdFx0ZHJUeEhhc2g6IEhhc2gsXG5cdFx0bW9kZT86IEdldERhdGFSZXF1ZXN0TW9kZSxcblx0XHRmb3JjZSA9IGZhbHNlLFxuXHQpOiBQcm9taXNlPEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCB8IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQ+IHtcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpTWV0aG9kPFxuXHRcdFx0R2V0RGF0YVJlcXVlc3RGdWxsUmVwb3J0IHwgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydFxuXHRcdD4oTWV0aG9kcy5HZXREYXRhUmVxdWVzdCwge1xuXHRcdFx0aGFzaDogZHJUeEhhc2gsXG5cdFx0XHRtb2RlOiBtb2RlIHx8IFwiZnVsbFwiLFxuXHRcdFx0Zm9yY2UsXG5cdFx0fSk7XG5cdH1cblxuXHQvLy8gR2V0IHRoZSBibG9ja3MgdGhhdCBwZXJ0YWluIHRvIHRoZSBzdXBlcmJsb2NrIGluZGV4XG5cdHB1YmxpYyBhc3luYyBnZXRTdXBlcmJsb2NrKGVwb2NoOiBFcG9jaCk6IFByb21pc2U8U3VwZXJibG9ja1JlcG9ydD4ge1xuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8U3VwZXJibG9ja1JlcG9ydD4oTWV0aG9kcy5HZXRTdXBlcmJsb2NrLCB7XG5cdFx0XHRibG9ja19lcG9jaDogZXBvY2gsXG5cdFx0fSk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgZ2V0VHJhbnNhY3Rpb24odHhIYXNoOiBIYXNoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlcG9ydD4ge1xuXHRcdHJldHVybiB0aGlzLmNhbGxBcGlNZXRob2Q8VHJhbnNhY3Rpb25SZXBvcnQ+KE1ldGhvZHMuR2V0VHJhbnNhY3Rpb24sIFtcblx0XHRcdHR4SGFzaCxcblx0XHRdKTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBnZXRUcmFuc2FjdGlvblJlY2VpcHQoXG5cdFx0dHhIYXNoOiBIYXNoLFxuXHQpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVjZWlwdD4ge1xuXHRcdC8vIHRvZG86IGZldGNoL3VwZGF0ZSByZWNlaXB0IGZyb20gcHJvdmlkZXIsIGlmIG5vdCBjYWNoZWRcblx0XHRyZXR1cm4gSnNvblJwY1Byb3ZpZGVyLnJlY2VpcHRzW3R4SGFzaF07XG5cdH1cblxuXHQvLy8gR2V0IHV0eG9zXG5cdHB1YmxpYyBhc3luYyBnZXRVdHhvcyhcblx0XHRwa2g6IFB1YmxpY0tleUhhc2hTdHJpbmcsXG5cdFx0ZmlsdGVyPzogeyBtaW5WYWx1ZT86IGJpZ2ludCB8IHN0cmluZzsgZnJvbVNpZ25lcj86IFB1YmxpY0tleUhhc2hTdHJpbmcgfSxcblx0KTogUHJvbWlzZTxBcnJheTxVdHhvTWV0YWRhdGE+PiB7XG5cdFx0aWYgKGZpbHRlcikge1xuXHRcdFx0ZmlsdGVyLm1pblZhbHVlID0gZmlsdGVyPy5taW5WYWx1ZT8udG9TdHJpbmcoKSA/PyBcIjBcIjtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxVdHhvSW5mbz4oTWV0aG9kcy5HZXRVdHhvSW5mbywgW1xuXHRcdFx0cGtoLFxuXHRcdFx0Li4uKGZpbHRlciA/IFtmaWx0ZXJdIDogW10pLFxuXHRcdF0pLnRoZW4oKHJlc3VsdDogVXR4b0luZm8pID0+XG5cdFx0XHRyZXN1bHQudXR4b3MubWFwKCh1dHhvOiBVdHhvTWV0YWRhdGEpID0+ICh7XG5cdFx0XHRcdC4uLnV0eG8sXG5cdFx0XHRcdHZhbHVlOiBCaWdJbnQodXR4by52YWx1ZSksXG5cdFx0XHR9KSksXG5cdFx0KTtcblx0fVxuXG5cdHB1YmxpYyBhc3luYyBnZXRWYWx1ZVRyYW5zZmVyKFxuXHRcdHR4SGFzaDogSGFzaCxcblx0XHRtb2RlPzogc3RyaW5nLFxuXHRcdGZvcmNlID0gZmFsc2UsXG5cdCk6IFByb21pc2U8YW55PiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxhbnk+KE1ldGhvZHMuR2V0VmFsdWVUcmFuc2Zlciwge1xuXHRcdFx0aGFzaDogdHhIYXNoLFxuXHRcdFx0bW9kZTogbW9kZSxcblx0XHRcdGZvcmNlLFxuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIGFzeW5jIHNlYXJjaERhdGFSZXF1ZXN0cyhcblx0XHRyYWRIYXNoOiBIYXNoLFxuXHRcdG9wdGlvbnM/OiB7XG5cdFx0XHRsaW1pdD86IG51bWJlcjtcblx0XHRcdG9mZnNldD86IG51bWJlcjtcblx0XHRcdG1vZGU/OiBHZXREYXRhUmVxdWVzdE1vZGU7XG5cdFx0XHRyZXZlcnNlPzogYm9vbGVhbjtcblx0XHR9LFxuXHQpOiBQcm9taXNlPEFycmF5PEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQgfCBHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQ+PiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxBcnJheTxhbnlbXT4+KE1ldGhvZHMuU2VhcmNoRGF0YVJlcXVlc3RzLCB7XG5cdFx0XHRyYWRIYXNoLFxuXHRcdFx0bGltaXQ6IG9wdGlvbnM/LmxpbWl0IHx8IDEsXG5cdFx0XHRvZmZzZXQ6IG9wdGlvbnM/Lm9mZnNldCB8fCAwLFxuXHRcdFx0cmV2ZXJzZTogIShvcHRpb25zPy5yZXZlcnNlID09PSBmYWxzZSksXG5cdFx0fSkudGhlbihhc3luYyAoZW50cmllcykgPT5cblx0XHRcdFByb21pc2UuYWxsKFxuXHRcdFx0XHRlbnRyaWVzLm1hcCgoZW50cnk6IGFueVtdKSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZ2V0RGF0YVJlcXVlc3QoXG5cdFx0XHRcdFx0XHRlbnRyeVsxXSxcblx0XHRcdFx0XHRcdG9wdGlvbnM/Lm1vZGUgfHwgXCJldGhlcmVhbFwiLFxuXHRcdFx0XHRcdFx0dHJ1ZSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9KSxcblx0XHRcdCksXG5cdFx0KTtcblx0fVxuXG5cdC8vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0cHVibGljIGFzeW5jIHNlbmRSYXdUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxib29sZWFuPihNZXRob2RzLkludmVudG9yeSwgeyB0cmFuc2FjdGlvbiB9KTtcblx0fVxuXG5cdC8vLyBHZXQgc3VwcGx5IGluZm9cblx0cHVibGljIGFzeW5jIHN1cHBseUluZm8oKTogUHJvbWlzZTxTdXBwbHlJbmZvPiB7XG5cdFx0cmV0dXJuIHRoaXMuY2FsbEFwaU1ldGhvZDxTdXBwbHlJbmZvPihNZXRob2RzLkdldFN1cHBseUluZm8pO1xuXHR9XG59XG4iXX0=
@@ -77,4 +77,4 @@ export var StakingCapability;
77
77
  StakingCapability["Mining"] = "mining";
78
78
  StakingCapability["Witnessing"] = "witnessing";
79
79
  })(StakingCapability || (StakingCapability = {}));
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLENBQU4sSUFBWSxPQWtDWDtBQWxDRCxXQUFZLE9BQU87SUFDbEIsZ0NBQXFCLENBQUE7SUFDckIsNENBQWlDLENBQUE7SUFDakMsb0NBQXlCLENBQUE7SUFDekIsa0RBQXVDLENBQUE7SUFDdkMsb0NBQXlCLENBQUE7SUFDekIsc0NBQTJCLENBQUE7SUFDM0IsMENBQStCLENBQUE7SUFDL0IsZ0NBQXFCLENBQUE7SUFDckIsMERBQStDLENBQUE7SUFDL0MsNENBQWlDLENBQUE7SUFDakMsb0NBQXlCLENBQUE7SUFDekIsNEJBQWlCLENBQUE7SUFDakIsd0NBQTZCLENBQUE7SUFDN0IsMENBQStCLENBQUE7SUFDL0IsMkNBQWdDLENBQUE7SUFDaEMsNENBQWlDLENBQUE7SUFDakMsc0NBQTJCLENBQUE7SUFDM0IsZ0RBQXFDLENBQUE7SUFDckMsOENBQW1DLENBQUE7SUFDbkMsa0NBQXVCLENBQUE7SUFDdkIsb0NBQXlCLENBQUE7SUFDekIsOENBQW1DLENBQUE7SUFDbkMsa0NBQXVCLENBQUE7SUFDdkIsMEJBQWUsQ0FBQTtJQUNmLGdDQUFxQixDQUFBO0lBQ3JCLGdDQUFxQixDQUFBO0lBQ3JCLGtDQUF1QixDQUFBO0lBQ3ZCLDZDQUFrQyxDQUFBO0lBQ2xDLHNDQUEyQixDQUFBO0lBQzNCLDRCQUFpQixDQUFBO0lBQ2pCLG9EQUF5QyxDQUFBO0lBQ3pDLDBDQUErQixDQUFBO0lBQy9CLG9DQUF5QixDQUFBO0FBQzFCLENBQUMsRUFsQ1csT0FBTyxLQUFQLE9BQU8sUUFrQ2xCO0FBeUJELE1BQU0sQ0FBTixJQUFZLGFBS1g7QUFMRCxXQUFZLGFBQWE7SUFDeEIsZ0NBQWUsQ0FBQTtJQUNmLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBeUIsQ0FBQTtBQUMxQixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUErUEQsNkJBQTZCO0FBQzdCLE1BQU0sQ0FBTixJQUFZLGdCQU9YO0FBUEQsV0FBWSxnQkFBZ0I7SUFDM0Isd0NBQXdDO0lBQ3hDLHFDQUFpQixDQUFBO0lBQ2pCLHVEQUF1RDtJQUN2RCxxQ0FBaUIsQ0FBQTtJQUNqQix5Q0FBeUM7SUFDekMsbUNBQWUsQ0FBQTtBQUNoQixDQUFDLEVBUFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU8zQjtBQWdGRCxNQUFNLENBQU4sSUFBWSxPQUtYO0FBTEQsV0FBWSxPQUFPO0lBQ2xCLCtCQUFvQixDQUFBO0lBQ3BCLGlDQUFzQixDQUFBO0lBQ3RCLGlDQUFzQixDQUFBO0lBQ3RCLHNCQUFXLENBQUE7QUFDWixDQUFDLEVBTFcsT0FBTyxLQUFQLE9BQU8sUUFLbEI7QUF3QkQsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBTixJQUFZLFlBV1g7QUFYRCxXQUFZLFlBQVk7SUFDdkIsaUZBQWlGO0lBQ2pGLHFEQUFxQyxDQUFBO0lBQ3JDLHFEQUFxRDtJQUNyRCxnREFBZ0MsQ0FBQTtJQUNoQyxvRkFBb0Y7SUFDcEYsK0NBQStDO0lBQy9DLDZDQUE2QixDQUFBO0lBQzdCLGlGQUFpRjtJQUNqRiwrRUFBK0U7SUFDL0UsaUNBQWlCLENBQUE7QUFDbEIsQ0FBQyxFQVhXLFlBQVksS0FBWixZQUFZLFFBV3ZCO0FBNkJELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDNUIsc0NBQWlCLENBQUE7SUFDakIsOENBQXlCLENBQUE7QUFDMUIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFB1YmxpY0tleUhhc2hTdHJpbmcgfSBmcm9tIFwiLi4vY3J5cHRvL3R5cGVzLmpzXCI7XHJcbmltcG9ydCB0eXBlIHtcclxuXHRFcG9jaCxcclxuXHRmNjQsXHJcblx0SGFzaCxcclxuXHRpNjQsXHJcblx0dTgsXHJcblx0dTE2LFxyXG5cdHUzMixcclxuXHR1NjQsXHJcblx0dXNpemUsXHJcbn0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XHJcblxyXG5leHBvcnQgZW51bSBNZXRob2RzIHtcclxuXHRBZGRQZWVycyA9IFwiYWRkUGVlcnNcIixcclxuXHRBdXRob3JpemVTdGFrZSA9IFwiYXV0aG9yaXplU3Rha2VcIixcclxuXHRDbGVhclBlZXJzID0gXCJjbGVhclBlZXJzXCIsXHJcblx0RGF0YVJlcXVlc3RSZXBvcnQgPSBcImRhdGFSZXF1ZXN0UmVwb3J0XCIsXHJcblx0R2V0QmFsYW5jZSA9IFwiZ2V0QmFsYW5jZVwiLFxyXG5cdEdldEJhbGFuY2UyID0gXCJnZXRCYWxhbmNlMlwiLFxyXG5cdEdldEJsb2NrQ2hhaW4gPSBcImdldEJsb2NrQ2hhaW5cIixcclxuXHRHZXRCbG9jayA9IFwiZ2V0QmxvY2tcIixcclxuXHRHZXRDb25zZW5zdXNDb25zdGFudHMgPSBcImdldENvbnNlbnN1c0NvbnN0YW50c1wiLFxyXG5cdEdldERhdGFSZXF1ZXN0ID0gXCJnZXREYXRhUmVxdWVzdFwiLFxyXG5cdEdldE1lbXBvb2wgPSBcImdldE1lbXBvb2xcIixcclxuXHRHZXRQa2ggPSBcImdldFBraFwiLFxyXG5cdEdldFB1YmxpY0tleSA9IFwiZ2V0UHVibGljS2V5XCIsXHJcblx0R2V0U3VwZXJibG9jayA9IFwiZ2V0U3VwZXJibG9ja1wiLFxyXG5cdEdldFN1cHBseUluZm8gPSBcImdldFN1cHBseUluZm8yXCIsXHJcblx0R2V0VHJhbnNhY3Rpb24gPSBcImdldFRyYW5zYWN0aW9uXCIsXHJcblx0R2V0VXR4b0luZm8gPSBcImdldFV0eG9JbmZvXCIsXHJcblx0R2V0VmFsdWVUcmFuc2ZlciA9IFwiZ2V0VmFsdWVUcmFuc2ZlclwiLFxyXG5cdEluaXRpYWxpemVQZWVycyA9IFwiaW5pdGlhbGl6ZVBlZXJzXCIsXHJcblx0SW52ZW50b3J5ID0gXCJpbnZlbnRvcnlcIixcclxuXHRLbm93blBlZXJzID0gXCJrbm93blBlZXJzXCIsXHJcblx0TWFzdGVyS2V5RXhwb3J0ID0gXCJtYXN0ZXJLZXlFeHBvcnRcIixcclxuXHROb2RlU3RhdHMgPSBcIm5vZGVTdGF0c1wiLFxyXG5cdFBlZXJzID0gXCJwZWVyc1wiLFxyXG5cdFByaW9yaXR5ID0gXCJwcmlvcml0eVwiLFxyXG5cdFByb3RvY29sID0gXCJwcm90b2NvbFwiLFxyXG5cdFByb3ZpZGVycyA9IFwicHJvdmlkZXJzXCIsXHJcblx0UXVlcnlTdGFraW5nUG93ZXJzID0gXCJxdWVyeVBvd2Vyc1wiLFxyXG5cdFF1ZXJ5U3Rha2VzID0gXCJxdWVyeVN0YWtlc1wiLFxyXG5cdFJld2luZCA9IFwicmV3aW5kXCIsXHJcblx0U2VhcmNoRGF0YVJlcXVlc3RzID0gXCJzZWFyY2hEYXRhUmVxdWVzdHNcIixcclxuXHRTaWduYWxpbmdJbmZvID0gXCJzaWduYWxpbmdJbmZvXCIsXHJcblx0U3luY1N0YXR1cyA9IFwic3luY1N0YXR1c1wiLFxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBOZXR3b3JrID0gXCJtYWlubmV0XCIgfCBcInRlc3RuZXRcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5U3Rha2VzID0ge1xyXG5cdGZpbHRlcj86IHtcclxuXHRcdHZhbGlkYXRvcj86IFB1YmxpY0tleUhhc2hTdHJpbmc7XHJcblx0XHR3aXRoZHJhd2VyPzogUHVibGljS2V5SGFzaFN0cmluZztcclxuXHR9O1xyXG5cdHBhcmFtcz86IFF1ZXJ5U3Rha2VzUGFyYW1zO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTdGFrZXNQYXJhbXMgPSB7XHJcblx0ZGlzdGluY3Q/OiBib29sZWFuO1xyXG5cdGxpbWl0PzogbnVtYmVyO1xyXG5cdG9mZnNldD86IG51bWJlcjtcclxuXHRvcmRlcj86IFF1ZXJ5U3Rha2VzT3JkZXI7XHJcblx0c2luY2U/OiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtlc09yZGVyID0ge1xyXG5cdGJ5OiBTdGFrZXNPcmRlckJ5O1xyXG5cdHJldmVyc2U/OiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gU3Rha2VzT3JkZXJCeSB7XHJcblx0Q29pbnMgPSBcImNvaW5zXCIsXHJcblx0Tm9uY2UgPSBcIm5vbmNlXCIsXHJcblx0TWluaW5nID0gXCJtaW5pbmdcIixcclxuXHRXaXRuZXNzaW5nID0gXCJ3aXRuZXNzaW5nXCIsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5U3Rha2luZ1Bvd2VycyA9IHtcclxuXHRkaXN0aW5jdD86IGJvb2xlYW47XHJcblx0bGltaXQ/OiBudW1iZXI7XHJcblx0b2Zmc2V0PzogbnVtYmVyO1xyXG5cdG9yZGVyQnk/OiBTdGFraW5nQ2FwYWJpbGl0eTtcclxufTtcclxuXHJcbi8vIFN0cnVjdHVyZSB0aGF0IHRoZSBpbmNsdWRlcyB0aGUgY29uZmlybWVkIGFuZCBwZW5kaW5nIGJhbGFuY2Ugb2YgYSBub2RlXHJcbmV4cG9ydCB0eXBlIEJhbGFuY2UgPSB7XHJcblx0Ly9Ub3RhbCBhbW91bnQgb2YgYSBub2RlJ3MgZnVuZHMgYWZ0ZXIgbGFzdCBjb25maXJtZWQgc3VwZXJibG9ja1xyXG5cdGNvbmZpcm1lZD86IGJpZ2ludDtcclxuXHQvL1RvdGFsIGFtb3VudCBvZiBub2RlJ3MgZnVuZHMgYWZ0ZXIgbGFzdCBibG9ja1xyXG5cdHRvdGFsOiBiaWdpbnQ7XHJcbn07XHJcblxyXG4vLyBCYWxhbmNlIHN0cnVjdCBpbiBXaXQvMiBjb250YWluaW5nIGxvY2tlZCwgdW5sb2NrZWQgYW5kIHN0YWtlZCBiYWxhbmNlXHJcbmV4cG9ydCB0eXBlIEJhbGFuY2UyID0ge1xyXG5cdGxvY2tlZDogYmlnaW50O1xyXG5cdHN0YWtlZDogYmlnaW50O1xyXG5cdHVubG9ja2VkOiBiaWdpbnQ7XHJcbn07XHJcblxyXG4vL1N0cnVjdCB0aGF0IGNvdW50IHRoZSBwb3NpdGl2ZXMgdm90ZXMgb2YgYSBXSVBcclxuZXhwb3J0IHR5cGUgQml0Vm90ZXNDb3VudGVyID0ge1xyXG5cdHZvdGVzOiB1MzI7XHJcblx0cGVyaW9kOiBFcG9jaDtcclxuXHR3aXA6IHN0cmluZztcclxuXHRpbml0OiBFcG9jaDtcclxuXHRlbmQ6IEVwb2NoO1xyXG5cdGJpdDogdXNpemU7XHJcbn07XHJcblxyXG4vLyBCbG9jayBkYXRhIHN0cnVjdHVyZVxyXG5leHBvcnQgdHlwZSBCbG9jayA9IHtcclxuXHRibG9ja19oZWFkZXI6IEJsb2NrSGVhZGVyO1xyXG5cdGJsb2NrX3NpZzogS2V5ZWRTaWduYXR1cmU7XHJcblx0YmxvY2tfd2VpZ2h0OiBudW1iZXI7XHJcblx0Y29uZmlybWVkOiBib29sZWFuO1xyXG5cdGRyX3dlaWdodDogbnVtYmVyO1xyXG5cdC8vIHR4bnM6IEJsb2NrVHJhbnNhY3Rpb25zO1xyXG5cdHR4bnNfaGFzaGVzPzogQmxvY2tUcmFuc2FjdGlvbnNIYXNoZXM7XHJcblx0dnRfd2VpZ2h0OiBudW1iZXI7XHJcbn07XHJcblxyXG4vLyBCbG9jayBtaW5pbmcgZWxpZ2liaWxpdHkgY2xhaW1cclxuZXhwb3J0IHR5cGUgQmxvY2tFbGlnaWJpbGl0eUNsYWltID0ge1xyXG5cdC8vIEEgVmVyaWZpYWJsZSBSYW5kb20gRnVuY3Rpb24gcHJvb2Ygb2YgdGhlIGVsaWdpYmlsaXR5IGZvciBhIGdpdmVuIGVwb2NoIGFuZCBwdWJsaWMga2V5XHJcblx0cHJvb2Y6IFZyZlByb29mO1xyXG59O1xyXG5cclxuLy8gQmxvY2sgaGVhZGVyIHN0cnVjdHVyZVxyXG5leHBvcnQgdHlwZSBCbG9ja0hlYWRlciA9IHtcclxuXHQvLyBBIGNoZWNrcG9pbnQgYmVhY29uIGZvciB0aGUgZXBvY2ggdGhhdCB0aGlzIGJsb2NrIGlzIGNsb3NpbmdcclxuXHRiZWFjb246IENoZWNrcG9pbnRCZWFjb247XHJcblx0Ly8gVGhlIEJuMjU2IHB1YmxpYyBrZXlcclxuXHRibjI1Nl9wdWJsaWNfa2V5PzogQm4yNTZQdWJsaWNLZXk7XHJcblx0Ly8gMjU2LWJpdCBoYXNoZXMgb2YgYWxsIG9mIHRoZSB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2ssIHNvIGFzIHRvIHByb3ZlIHRoZWlyIGJlbG9uZ2luZyBhbmQgaW50ZWdyaXR5XHJcblx0bWVya2xlX3Jvb3RzOiBCbG9ja01lcmtsZVJvb3RzO1xyXG5cdC8vIEEgbWluZXItcHJvdmlkZWQgcHJvb2Ygb2YgbGVhZGVyc2hpcFxyXG5cdHByb29mOiBCbG9ja0VsaWdpYmlsaXR5Q2xhaW07XHJcblx0Ly8gMzIgYml0cyBmb3IgYmluYXJ5IHNpZ25hbGluZyBuZXcgd2l0bmV0IHByb3RvY29sIGltcHJvdmVtZW50cy5cclxuXHQvLyBTZWUgW1dJUC0wMDE0XShodHRwczovL2dpdGh1Yi5jb20vd2l0bmV0L1dJUHMvYmxvYi9tYXN0ZXIvd2lwLTAwMTQubWQpIGZvciBtb3JlIGluZm8uXHJcblx0c2lnbmFsczogdTMyO1xyXG59O1xyXG5cclxuLy8gQmxvY2sgbWVya2xlIHRyZWUgcm9vdHNcclxuZXhwb3J0IHR5cGUgQmxvY2tNZXJrbGVSb290cyA9IHtcclxuXHQvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIGNvbW1pdCB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcclxuXHRjb21taXRfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcclxuXHQvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIGRhdGEgcmVxdWVzdCB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2tcclxuXHRkcl9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xyXG5cdC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIHRoZSBtaW50IHRyYW5zYWN0aW9uIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXHJcblx0bWludF9oYXNoOiBIYXNoO1xyXG5cdC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgcmV2ZWFsIHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xyXG5cdHJldmVhbF9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xyXG5cdC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgdGFsbHkgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXHJcblx0dGFsbHlfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcclxuXHQvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIHZhbHVlIHRyYW5zZmVyIHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xyXG5cdHZ0X2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBCbG9ja1RyYW5zYWN0aW9uc0hhc2hlcyA9IHtcclxuXHRjb21taXQ6IEFycmF5PEhhc2g+O1xyXG5cdGRhdGFfcmVxdWVzdDogQXJyYXk8SGFzaD47XHJcblx0bWludDogSGFzaDtcclxuXHRyZXZlYWw6IEFycmF5PEhhc2g+O1xyXG5cdHRhbGx5OiBBcnJheTxIYXNoPjtcclxuXHR2YWx1ZV90cmFuc2ZlcjogQXJyYXk8SGFzaD47XHJcbn07XHJcblxyXG4vLyBCTjI1NiBwdWJsaWMga2V5XHJcbmV4cG9ydCB0eXBlIEJuMjU2UHVibGljS2V5ID0ge1xyXG5cdC8vIENvbXByZXNzZWQgZm9ybSBvZiBhIEJOMjU2IHB1YmxpYyBrZXlcclxuXHRwdWJsaWNfa2V5OiBBcnJheTx1OD47XHJcblx0Ly8gQ2FjaGVkIHVuY29tcHJlc3NlZCBmb3JtXHJcblx0dW5jb21wcmVzc2VkOiBBcnJheTx1OD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDaGVja3BvaW50QmVhY29uID0ge1xyXG5cdC8vIFRoZSBzZXJpYWwgbnVtYmVyIGZvciBhbiBlcG9jaFxyXG5cdGNoZWNrcG9pbnQ6IEVwb2NoO1xyXG5cdC8vIFRoZSAyNTYtYml0IGhhc2ggb2YgdGhlIHByZXZpb3VzIGJsb2NrIGhlYWRlclxyXG5cdGhhc2hQcmV2QmxvY2s6IEhhc2g7XHJcbn07XHJcblxyXG4vLyBQcm90b2NvbCdzIGNvbnNlbnN1cyBjb25zdGFudHNcclxuZXhwb3J0IHR5cGUgQ29uc2Vuc3VzQ29uc3RhbnRzID0ge1xyXG5cdC8vQW4gaWRlbnRpdHkgaXMgY29uc2lkZXJlZCBhY3RpdmUgaWYgaXQgcGFydGljaXBhdGVkIGluIHRoZSB3aXRuZXNzaW5nIHByb3RvY29sIGF0IGxlYXN0IG9uY2UgaW4gdGhlIGxhc3QgYGFjdGl2aXR5X3BlcmlvZGAgZXBvY2hzXHJcblx0YWN0aXZpdHlfcGVyaW9kOiB1MzI7XHJcblxyXG5cdC8vQXV4aWxpYXJ5IGJvb3RzdHJhcCBibG9jayBoYXNoIHZhbHVlXHJcblx0Ym9vdHN0cmFwX2hhc2g6IEhhc2g7XHJcblxyXG5cdC8vU3VwZXJibG9jayBzaWduaW5nIGNvbW1pdHRlZSBmb3IgdGhlIGZpcnN0IHN1cGVyYmxvY2tzXHJcblx0Ym9vdHN0cmFwcGluZ19jb21taXR0ZWU6IEFycmF5PHN0cmluZz47XHJcblxyXG5cdC8vVGltZXN0YW1wIGF0IGNoZWNrcG9pbnQgMCAodGhlIHN0YXJ0IG9mIGVwb2NoIDApXHJcblx0Y2hlY2twb2ludF96ZXJvX3RpbWVzdGFtcDogaTY0O1xyXG5cclxuXHQvL1NlY29uZHMgYmV0d2VlbiB0aGUgc3RhcnQgb2YgYW4gZXBvY2ggYW5kIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBvbmVcclxuXHRjaGVja3BvaW50c19wZXJpb2Q6IHUxNjtcclxuXHJcblx0Ly9NaW5pbXVtIGlucHV0IGFnZSBvZiBhbiBVVFhPIGZvciBiZWluZyBhIHZhbGlkIGNvbGxhdGVyYWxcclxuXHRjb2xsYXRlcmFsX2FnZTogdTMyO1xyXG5cclxuXHQvL01pbmltdW0gdmFsdWUgaW4gbmFub3dpdHMgZm9yIGEgY29sbGF0ZXJhbCB2YWx1ZVxyXG5cdGNvbGxhdGVyYWxfbWluaW11bTogYmlnaW50O1xyXG5cclxuXHQvL051bWJlciBvZiBlcG9jaHMgd2l0aCB0aGUgbWluaW11bSBkaWZmaWN1bHR5IGFjdGl2ZVxyXG5cdC8vKFRoaXMgbnVtYmVyIHJlcHJlc2VudCB0aGUgbGFzdCBlcG9jaCB3aGVyZSB0aGUgbWluaW11bSBkaWZmaWN1bHR5IGlzIGFjdGl2ZSlcclxuXHRlcG9jaHNfd2l0aF9taW5pbXVtX2RpZmZpY3VsdHk6IHUzMjtcclxuXHJcblx0Ly9FeHRyYSByb3VuZHMgZm9yIGNvbW1pdG1lbnRzIGFuZCByZXZlYWxzXHJcblx0ZXh0cmFfcm91bmRzOiB1MTY7XHJcblxyXG5cdC8vR2VuZXNpcyBibG9jayBoYXNoIHZhbHVlXHJcblx0Z2VuZXNpc19oYXNoOiBIYXNoO1xyXG5cclxuXHQvL0hhbHZpbmcgcGVyaW9kXHJcblx0aGFsdmluZ19wZXJpb2Q6IHUzMjtcclxuXHJcblx0Ly9Jbml0aWFsIGJsb2NrIHJld2FyZFxyXG5cdGluaXRpYWxfYmxvY2tfcmV3YXJkOiB1NjQ7XHJcblxyXG5cdC8vTWF4aW11bSB3ZWlnaHQgYSBibG9jayBjYW4gaGF2ZSwgdGhpcyBhZmZlY3RzIHRoZSBudW1iZXIgb2ZcclxuXHQvL3RyYW5zYWN0aW9ucyBhIGJsb2NrIGNhbiBjb250YWluOiB0aGVyZSB3aWxsIGJlIGFzIG1hbnlcclxuXHQvL3RyYW5zYWN0aW9ucyBhcyB0aGUgc3VtIG9mIF90aGVpcl8gd2VpZ2h0cyBpcyBsZXNzIHRoYW4sIG9yXHJcblx0Ly9lcXVhbCB0bywgdGhpcyBtYXhpbXVtIGJsb2NrIHdlaWdodCBwYXJhbWV0ZXIuXHJcblx0Ly9cclxuXHQvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSBkYXRhIHJlcXVlc3RzIHRyYW5zYWN0aW9ucyBpbiBvbmUgYmxvY2tcclxuXHRtYXhfZHJfd2VpZ2h0OiB1MzI7XHJcblx0Ly9cclxuXHQvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSB2YWx1ZSB0cmFuc2ZlciB0cmFuc2FjdGlvbnMgaW4gb25lIGJsb2NrXHJcblx0bWF4X3Z0X3dlaWdodDogdTMyO1xyXG5cclxuXHQvL01pbmltdW0gZGlmZmljdWx0eVxyXG5cdG1pbmltdW1fZGlmZmljdWx0eTogdTMyO1xyXG5cclxuXHQvL0JhY2t1cCBmYWN0b3IgZm9yIG1pbmluZzogdmFsaWQgVlJGcyB1bmRlciB0aGlzIGZhY3RvciB3aWxsIHJlc3VsdCBpbiBicm9hZGNhc3RpbmcgYSBibG9ja1xyXG5cdG1pbmluZ19iYWNrdXBfZmFjdG9yOiB1MzI7XHJcblxyXG5cdC8vUmVwbGljYXRpb24gZmFjdG9yIGZvciBtaW5pbmc6IHZhbGlkIFZSRnMgdW5kZXIgdGhpcyBmYWN0b3Igd2lsbCBoYXZlIHByaW9yaXR5XHJcblx0bWluaW5nX3JlcGxpY2F0aW9uX2ZhY3RvcjogdTMyO1xyXG5cclxuXHQvL1JlcHV0YXRpb24gd2lsbCBleHBpcmUgYWZ0ZXIgTiB3aXRuZXNzaW5nIGFjdHNcclxuXHRyZXB1dGF0aW9uX2V4cGlyZV9hbHBoYV9kaWZmOiB1MzI7XHJcblxyXG5cdC8vUmVwdXRhdGlvbiBpc3N1YW5jZVxyXG5cdHJlcHV0YXRpb25faXNzdWFuY2U6IHUzMjtcclxuXHJcblx0Ly9XaGVuIHRvIHN0b3AgaXNzdWluZyBuZXcgcmVwdXRhdGlvblxyXG5cdHJlcHV0YXRpb25faXNzdWFuY2Vfc3RvcDogdTMyO1xyXG5cclxuXHQvL1BlbmFsaXphdGlvbiBmYWN0b3I6IGZyYWN0aW9uIG9mIHJlcHV0YXRpb24gbG9zdCBieSBsaWFycyBmb3Igb3V0IG9mIGNvbnNlbnN1cyBjbGFpbXNcclxuXHQvLyBGSVhNRSgjMTcyKTogVXNlIGZpeGVkIHBvaW50IGFyaXRobWV0aWNcclxuXHRyZXB1dGF0aW9uX3BlbmFsaXphdGlvbl9mYWN0b3I6IGY2NDtcclxuXHJcblx0Ly9QZXJpb2QgYWZ0ZXIgd2hpY2ggdGhlIGNvbW1pdHRlZSBzaXplIHNob3VsZCBkZWNyZWFzZSAoaW4gc3VwZXJibG9jayBwZXJpb2RzKVxyXG5cdHN1cGVyYmxvY2tfY29tbWl0dGVlX2RlY3JlYXNpbmdfcGVyaW9kOiB1MzI7XHJcblxyXG5cdC8vU3RlcCBieSB3aGljaCB0aGUgY29tbWl0dGVlIHNob3VsZCBiZSByZWR1Y2VkIGFmdGVyIHN1cGVyYmxvY2tfYWdyZWVtZW50X2RlY3JlYXNpbmdfcGVyaW9kXHJcblx0c3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19zdGVwOiB1MzI7XHJcblxyXG5cdC8vQnVpbGQgYSBzdXBlcmJsb2NrIGV2ZXJ5IGBzdXBlcmJsb2NrX3BlcmlvZGAgZXBvY2hzXHJcblx0c3VwZXJibG9ja19wZXJpb2Q6IHUxNjtcclxuXHJcblx0Ly9TaXplIG9mIHRoZSBzdXBlcmJsb2NrIHNpZ25pbmcgY29tbWl0dGVlXHJcblx0c3VwZXJibG9ja19zaWduaW5nX2NvbW1pdHRlZV9zaXplOiB1MzI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFBheWxvYWQgPSB7XHJcblx0ZGF0YVJlcXVlc3Q6IFJBRFJlcXVlc3Q7XHJcblx0d2l0bmVzc19yZXdhcmQ6IG51bWJlcjtcclxuXHR3aXRuZXNzZXM6IG51bWJlcjtcclxuXHRjb21taXRBbmRSZXZlYWxGZWU6IG51bWJlcjtcclxuXHRtaW5Db25zZW5zdXNQZXJjZW50YWdlOiBudW1iZXI7XHJcblx0Y29sbGF0ZXJhbDogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RTdGF0dXMgPVxyXG5cdHwgXCJjYW5jZWxsZWRcIlxyXG5cdHwgXCJwZW5kaW5nXCJcclxuXHR8IFwiY29tbWl0dGluZ1wiXHJcblx0fCBcInJldmVhbGluZ1wiXHJcblx0fCBcInNvbHZlZFwiXHJcblx0fCBcInJldmVydGVkXCI7XHJcblxyXG5leHBvcnQgdHlwZSBHZXREYXRhUmVxdWVzdE1vZGUgPSBcImZ1bGxcIiB8IFwiZXRoZXJlYWxcIjtcclxuXHJcbi8vIExpc3Qgb2Ygb3V0cHV0cyByZWxhdGVkIHRvIGEgZGF0YSByZXF1ZXN0XHJcbmV4cG9ydCB0eXBlIEdldERhdGFSZXF1ZXN0RnVsbFJlcG9ydCA9IHtcclxuXHRzdGF0dXM6IERhdGFSZXF1ZXN0U3RhdHVzO1xyXG5cdHJlcG9ydDoge1xyXG5cdFx0Ly8gTGlzdCBvZiBjb21taXRtZW50cyB0byByZXNvbHZlIHRoZSBkYXRhIHJlcXVlc3RcclxuXHRcdGNvbW1pdHM6IFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uPjtcclxuXHRcdC8vTGlzdCBvZiByZXZlYWxzIHRvIHRoZSBjb21taXRtZW50cyAoY29udGFpbnMgdGhlIGRhdGEgcmVxdWVzdCB3aXRuZXQgcmVzdWx0KVxyXG5cdFx0cmV2ZWFsczogUmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24+O1xyXG5cdFx0Ly9UYWxseSBvZiBkYXRhIHJlcXVlc3QgKGNvbnRhaW5zIGZpbmFsIHJlc3VsdClcclxuXHRcdHRhbGx5PzogRGF0YVJlcXVlc3RUYWxseVRyYW5zYWN0aW9uO1xyXG5cdFx0Ly9IYXNoIG9mIHRoZSBibG9jayB3aXRoIHRoZSBEYXRhUmVxdWVzdFRyYW5zYWN0aW9uXHJcblx0XHRibG9ja19oYXNoX2RyX3R4PzogSGFzaDtcclxuXHRcdC8vSGFzaCBvZiB0aGUgYmxvY2sgd2l0aCB0aGUgVGFsbHlUcmFuc2FjdGlvblxyXG5cdFx0YmxvY2tfaGFzaF90YWxseV90eD86IEhhc2g7XHJcblx0XHQvL0N1cnJlbnQgY29tbWl0IHJvdW5kXHJcblx0XHRjdXJyZW50X2NvbW1pdF9yb3VuZDogdTE2O1xyXG5cdFx0Ly9DdXJyZW50IHJldmVhbCByb3VuZFxyXG5cdFx0Y3VycmVudF9yZXZlYWxfcm91bmQ6IHUxNjtcclxuXHRcdC8vQ3VycmVudCBzdGFnZSwgb3IgTm9uZSBpZiBmaW5pc2hlZFxyXG5cdFx0Y3VycmVudF9zdGFnZT86IERhdGFSZXF1ZXN0U3RhZ2U7XHJcblx0fTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQgPSB7XHJcblx0YmxvY2tfZXBvY2g/OiBudW1iZXI7XHJcblx0YmxvY2tfaGFzaD86IEhhc2g7XHJcblx0Y29uZmlybWF0aW9ucz86IG51bWJlcjtcclxuXHRoYXNoPzogSGFzaDtcclxuXHRxdWVyeT86IHtcclxuXHRcdGRyb19oYXNoOiBIYXNoO1xyXG5cdFx0cmFkX2hhc2g6IEhhc2g7XHJcblx0XHRyYWRfYnl0ZWNvZGU6IHN0cmluZztcclxuXHRcdGNvbGxhdGVyYWxfcmF0aW86IG51bWJlcjtcclxuXHRcdHVuaXRhcnlfcmV3YXJkOiBiaWdpbnQ7XHJcblx0XHR3aXRuZXNzZXM6IG51bWJlcjtcclxuXHR9O1xyXG5cdHJlc3VsdD86IHtcclxuXHRcdGNib3JfYnl0ZXM6IHN0cmluZztcclxuXHRcdGZpbmFsaXplZDogYm9vbGVhbjtcclxuXHRcdHRpbWVzdGFtcDogbnVtYmVyO1xyXG5cdH07XHJcblx0c3RhZ2U6IERhdGFSZXF1ZXN0U3RhdHVzO1xyXG59O1xyXG5cclxuLy8gRGF0YSByZXF1ZXN0IGN1cnJlbnQgc3RhZ2VcclxuZXhwb3J0IGVudW0gRGF0YVJlcXVlc3RTdGFnZSB7XHJcblx0Ly9FeHBlY3RpbmcgY29tbWl0bWVudHMgZm9yIGRhdGEgcmVxdWVzdFxyXG5cdENPTU1JVCA9IFwiQ09NTUlUXCIsXHJcblx0Ly9FeHBlY3RpbmcgcmV2ZWFscyB0byBwcmV2aW91c2x5IHB1Ymxpc2hlZCBjb21taXRtZW50c1xyXG5cdFJFVkVBTCA9IFwiUkVWRUFMXCIsXHJcblx0Ly9FeHBlY3RpbmcgdGFsbHkgdG8gYmUgaW5jbHVkZWQgaW4gYmxvY2tcclxuXHRUQUxMWSA9IFwiVEFMTFlcIixcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUHJpb3JpdHlFc3RpbWF0ZSA9IHtcclxuXHRwcmlvcml0eTogZjY0O1xyXG5cdHRpbWVfdG9fYmxvY2s6IHU2NDtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByaW9yaXRpZXMgPSB7XHJcblx0ZHJ0X3N0aW5reTogUHJpb3JpdHlFc3RpbWF0ZTtcclxuXHRkcnRfbG93OiBQcmlvcml0eUVzdGltYXRlO1xyXG5cdGRydF9tZWRpdW06IFByaW9yaXR5RXN0aW1hdGU7XHJcblx0ZHJ0X2hpZ2g6IFByaW9yaXR5RXN0aW1hdGU7XHJcblx0ZHJ0X29wdWxlbnQ6IFByaW9yaXR5RXN0aW1hdGU7XHJcblx0c3Rfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xyXG5cdHN0X2xvdzogUHJpb3JpdHlFc3RpbWF0ZTtcclxuXHRzdF9tZWRpdW06IFByaW9yaXR5RXN0aW1hdGU7XHJcblx0c3RfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuXHRzdF9vcHVsZW50OiBQcmlvcml0eUVzdGltYXRlO1xyXG5cdHV0X3N0aW5reTogUHJpb3JpdHlFc3RpbWF0ZTtcclxuXHR1dF9sb3c6IFByaW9yaXR5RXN0aW1hdGU7XHJcblx0dXRfbWVkaXVtOiBQcmlvcml0eUVzdGltYXRlO1xyXG5cdHV0X2hpZ2g6IFByaW9yaXR5RXN0aW1hdGU7XHJcblx0dXRfb3B1bGVudDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuXHR2dHRfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xyXG5cdHZ0dF9sb3c6IFByaW9yaXR5RXN0aW1hdGU7XHJcblx0dnR0X21lZGl1bTogUHJpb3JpdHlFc3RpbWF0ZTtcclxuXHR2dHRfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcclxuXHR2dHRfb3B1bGVudDogUHJpb3JpdHlFc3RpbWF0ZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEtleWVkU2lnbmF0dXJlID0ge1xyXG5cdC8vIFNpZ25hdHVyZVxyXG5cdHNpZ25hdHVyZTogU2lnbmF0dXJlO1xyXG5cdC8vIFB1YmxpYyBrZXlcclxuXHRwdWJsaWNfa2V5OiB7XHJcblx0XHRjb21wcmVzc2VkOiBudW1iZXI7XHJcblx0XHRieXRlczogQXJyYXk8dTg+O1xyXG5cdH07XHJcbn07XHJcblxyXG4vLyBSZXN1bHQgb2YgR2V0TWVtcG9vbCBtZXNzYWdlOiBsaXN0IG9mIHBlbmRpbmcgdHJhbnNhY3Rpb25zIGNhdGVnb3JpemVkIGJ5IHR5cGVcclxuZXhwb3J0IHR5cGUgTWVtcG9vbCA9IHtcclxuXHQvLyBQZW5kaW5nIHZhbHVlIHRyYW5zZmVyIHRyYW5zYWN0aW9uc1xyXG5cdHZhbHVlX3RyYW5zZmVyOiBBcnJheTxIYXNoPjtcclxuXHQvLyBQZW5kaW5nIGRhdGEgcmVxdWVzdCB0cmFuc2FjdGlvbnNcclxuXHRkYXRhX3JlcXVlc3Q6IEFycmF5PEhhc2g+O1xyXG59O1xyXG5cclxuLy8gTmFtZWQgdHVwbGUgb2YgYChhZGRyZXNzLCB0eXBlKWBcclxuZXhwb3J0IHR5cGUgUGVlckFkZHIgPSB7XHJcblx0Ly9Tb2NrZXQgYWRkcmVzcyBvZiB0aGUgcGVlclxyXG5cdGFkZHJlc3M6IHN0cmluZztcclxuXHQvLyBcImluYm91bmRcIiB8IFwib3V0Ym91bmRcIiB3aGVuIGFza2luZyBmb3IgY29ubmVjdGVkIHBlZXJzLCBvclxyXG5cdC8vIFwibmV3XCIgfCBcInRyaWVkXCIgd2hlbiBhc2tpbmcgZm9yIGFsbCB0aGUga25vd24gcGVlcnNcclxuXHR0eXBlOiBzdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm90b2NvbEluZm8gPSB7XHJcblx0YWxsX2NoZWNrcG9pbnRzX3BlcmlvZHM6IFJlY29yZDxzdHJpbmcsIHU4PjtcclxuXHRhbGxfdmVyc2lvbnM6IHtcclxuXHRcdGVmdjogUmVjb3JkPHN0cmluZywgRXBvY2g+O1xyXG5cdFx0dmZlOiBSZWNvcmQ8RXBvY2gsIHN0cmluZz47XHJcblx0fTtcclxuXHRjdXJyZW50X3ZlcnNpb246IHN0cmluZztcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJBREFnZ3JlZ2F0ZSA9IHsgZmlsdGVyczogQXJyYXk8UkFERmlsdGVyPjsgcmVkdWNlcjogdTMyIH07XHJcbmV4cG9ydCB0eXBlIFJBREZpbHRlciA9IHsgb3A6IHUzMjsgYXJnczogQXJyYXk8dTg+IH07XHJcbmV4cG9ydCB0eXBlIFJBRFJlcXVlc3QgPSB7XHJcblx0dGltZUxvY2s6IG51bWJlcjtcclxuXHRyZXRyaWV2ZTogQXJyYXk8UkFEUmV0cmlldmU+O1xyXG5cdGFnZ3JlZ2F0ZTogUkFEQWdncmVnYXRlO1xyXG5cdHRhbGx5OiBSQURUYWxseTtcclxufTtcclxuZXhwb3J0IHR5cGUgUkFEUmV0cmlldmUgPSB7IHR5cGU6IFJBRFR5cGU7IHVybDogc3RyaW5nOyBzY3JpcHQ6IEFycmF5PHU4PiB9O1xyXG5leHBvcnQgdHlwZSBSQURUYWxseSA9IHtcclxuXHRmaWx0ZXJzOiBBcnJheTxSQURGaWx0ZXI+O1xyXG5cdHJlZHVjZXI6IHUzMjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIFJBRFR5cGUge1xyXG5cdEh0dHBHZXQgPSBcIkhUVFAtR0VUXCIsXHJcblx0SHR0cFBvc3QgPSBcIkhUVFAtUE9TVFwiLFxyXG5cdEh0dHBIZWFkID0gXCJIVFRQLUhFQURcIixcclxuXHRSbmcgPSBcIlJOR1wiLFxyXG59XHJcblxyXG4vLyBFQ0RTQSAob3ZlciBzZWNwMjU2azEpIHNpZ25hdHVyZVxyXG5leHBvcnQgdHlwZSBTZWNwMjU2azFTaWduYXR1cmUgPSB7XHJcblx0Ly8gVGhlIHNpZ25hdHVyZSBzZXJpYWxpemVkIGluIERFUlxyXG5cdGRlcjogQXJyYXk8dTg+O1xyXG59O1xyXG5cclxuLy9SZXN1bHQgb2YgR2V0U2lnbmFsaW5nSW5mb1xyXG5leHBvcnQgdHlwZSBTaWduYWxpbmdJbmZvID0ge1xyXG5cdC8vTGlzdCBvZiBwcm90b2NvbCB1cGdyYWRlcyB0aGF0IGFyZSBhbHJlYWR5IGFjdGl2ZSwgYW5kIHRoZWlyIGFjdGl2YXRpb24gZXBvY2hcclxuXHRhY3RpdmVfdXBncmFkZXM6IFJlY29yZDxzdHJpbmcsIEVwb2NoPjtcclxuXHQvL0xpc3Qgb2YgcHJvdG9jb2wgdXBncmFkZXMgdGhhdCBhcmUgY3VycmVudGx5IGJlaW5nIHBvbGxlZCBmb3IgYWN0aXZhdGlvbiBzaWduYWxpbmdcclxuXHRwZW5kaW5nX3VwZ3JhZGVzOiBBcnJheTxCaXRWb3Rlc0NvdW50ZXI+O1xyXG5cdC8vTGFzdCBlcG9jaFxyXG5cdGVwb2NoOiBFcG9jaDtcclxufTtcclxuXHJcbi8vIERpZ2l0YWwgc2lnbmF0dXJlcyBzdHJ1Y3R1cmUgKGJhc2VkIG9uIHN1cHBvcnRlZCBjcnlwdG9zeXN0ZW1zKVxyXG5leHBvcnQgdHlwZSBTaWduYXR1cmUgPSB7XHJcblx0Ly8gRUNEU0Egb3ZlciBzZWNwMjU2azFcclxuXHRTZWNwMjU2azE6IFNlY3AyNTZrMVNpZ25hdHVyZTtcclxufTtcclxuXHJcbi8vIFN0YXRlIG1hY2hpbmUgZm9yIHRoZSBzeW5jaHJvbml6YXRpb24gc3RhdHVzIG9mIGEgV2l0bmV0IG5vZGVcclxuZXhwb3J0IGVudW0gU3RhdGVNYWNoaW5lIHtcclxuXHQvLyBGaXJzdCBzdGF0ZSwgQ2hhaW5NYW5hZ2VyIGlzIHdhaXRpbmcgZm9yIHJlYWNoaW5nICBjb25zZW5zdXMgYmV0d2VlbiBpdHMgcGVlcnNcclxuXHRXYWl0aW5nQ29uc2Vuc3VzID0gXCJXYWl0aW5nQ29uc2Vuc3VzXCIsXHJcblx0Ly8gU2Vjb25kIHN0YXRlLCBDaGFpbk1hbmFnZXIgc3luY2hyb25pemF0aW9uIHByb2Nlc3NcclxuXHRTeW5jaHJvbml6aW5nID0gXCJTeW5jaHJvbml6aW5nIFwiLFxyXG5cdC8vIFRoaXJkIHN0YXRlLCBgQ2hhaW5NYW5hZ2VyYCBoYXMgYWxsIHRoZSBibG9ja3MgaW4gdGhlIGNoYWluIGFuZCBpcyByZWFkeSB0byBzdGFydFxyXG5cdC8vIGNvbnNvbGlkYXRpbmcgYmxvY2sgY2FuZGlkYXRlcyBpbiByZWFsIHRpbWUuXHJcblx0QWxtb3N0U3luY2VkID0gXCJBbG1vc3RTeW5jZWRcIixcclxuXHQvLyBGb3VydGggc3RhdGUsIGBDaGFpbk1hbmFnZXJgIGNhbiBjb25zb2xpZGF0ZSBibG9jayBjYW5kaWRhdGVzLCBwcm9wb3NlIGl0cyBvd25cclxuXHQvLyBjYW5kaWRhdGVzIChtaW5pbmcpIGFuZCBwYXJ0aWNpcGF0ZSBpbiByZXNvbHZpbmcgZGF0YSByZXF1ZXN0cyAod2l0bmVzc2luZykuXHJcblx0U3luY2VkID0gXCJTeW5jZWRcIixcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU3Rha2VBdXRob3JpemF0aW9uID0ge1xyXG5cdHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmc7XHJcblx0c2lnbmF0dXJlOiBLZXllZFNpZ25hdHVyZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0YWtlRGVsZWdhdGUgPSB7XHJcblx0Y29pbnM6IGJpZ2ludDtcclxuXHR2YWxpZGF0b3I6IFB1YmxpY0tleUhhc2hTdHJpbmc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTdGFrZUVudHJ5ID0ge1xyXG5cdGtleToge1xyXG5cdFx0dmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoU3RyaW5nO1xyXG5cdFx0d2l0aGRyYXdlcjogUHVibGljS2V5SGFzaFN0cmluZztcclxuXHR9O1xyXG5cdHZhbHVlOiB7XHJcblx0XHRjb2luczogYmlnaW50O1xyXG5cdFx0ZXBvY2hzOiBSZWNvcmQ8U3Rha2luZ0NhcGFiaWxpdHksIEVwb2NoPjtcclxuXHRcdG5vbmNlOiB1NjQ7XHJcblx0fTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0YWtlID0ge1xyXG5cdHRvdGFsOiBiaWdpbnQ7XHJcblx0ZGVsZWdhdGVzOiBBcnJheTxTdGFrZURlbGVnYXRlPjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIFN0YWtpbmdDYXBhYmlsaXR5IHtcclxuXHRNaW5pbmcgPSBcIm1pbmluZ1wiLFxyXG5cdFdpdG5lc3NpbmcgPSBcIndpdG5lc3NpbmdcIixcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgU3Rha2luZ1Bvd2VyID0ge1xyXG5cdHBvd2VyPzogdTY0O1xyXG5cdHJhbmtpbmc/OiB1MzI7XHJcblx0dmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoU3RyaW5nO1xyXG5cdHdpdGhkcmF3ZXI6IFB1YmxpY0tleUhhc2hTdHJpbmc7XHJcbn07XHJcblxyXG4vLyBTdXBlcmJsb2NrIGNvbnNvbGlkYXRpbmcgbWV0YWRhdGFcclxuLy9BcyBwZXIgY3VycmVudCBjb25zZW5zdXMgYWxnb3JpdGhtLCBcImNvbnNvbGlkYXRlZCBibG9ja3NcIiBpbXBsaWVzIHRoYXQgdGhlcmUgZXhpc3RzIGF0IGxlYXN0IG9uZVxyXG4vL3N1cGVyYmxvY2sgaW4gdGhlIGNoYWluIHRoYXQgYnVpbGRzIHVwb24gdGhlIHN1cGVyYmxvY2sgd2hlcmUgdGhvc2UgYmxvY2tzIHdlcmUgYW5jaG9yZWQuXHJcbmV4cG9ydCB0eXBlIFN1cGVyYmxvY2tSZXBvcnQgPSB7XHJcblx0Ly9UaGUgc3VwZXJibG9jayB0aGF0IHdlIGFyZSBzaWduYWxpbmcgYXMgY29uc29saWRhdGVkLlxyXG5cdHN1cGVyYmxvY2s6IHtcclxuXHRcdC8vTnVtYmVyIG9mIHNpZ25pbmcgY29tbWl0dGVlIG1lbWJlcnMsXHJcblx0XHRzaWduaW5nX2NvbW1pdHRlZV9sZW5ndGg6IHUzMjtcclxuXHRcdC8vTWVya2xlIHJvb3Qgb2YgdGhlIEFjdGl2ZSBSZXB1dGF0aW9uIFNldCBtZW1iZXJzIGluY2x1ZGVkIGludG8gdGhlIHByZXZpb3VzIFN1cGVyQmxvY2tcclxuXHRcdGFyc19yb290OiBIYXNoO1xyXG5cdFx0Ly9NZXJrbGUgcm9vdCBvZiB0aGUgZGF0YSByZXF1ZXN0cyBpbiB0aGUgYmxvY2tzIGNyZWF0ZWQgc2luY2UgdGhlIGxhc3QgU3VwZXJCbG9ja1xyXG5cdFx0ZGF0YV9yZXF1ZXN0X3Jvb3Q6IEhhc2g7XHJcblx0XHQvL1N1cGVyYmxvY2sgaW5kZXgsXHJcblx0XHRpbmRleDogdTMyO1xyXG5cdFx0Ly9IYXNoIG9mIHRoZSBibG9jayB0aGF0IHRoaXMgU3VwZXJCbG9jayBpcyBhdHRlc3RpbmcgYXMgdGhlIGxhdGVzdCBibG9jayBpbiB0aGUgYmxvY2sgY2hhaW4sXHJcblx0XHRsYXN0X2Jsb2NrOiBIYXNoO1xyXG5cdFx0Ly9IYXNoIG9mIHRoZSBibG9jayB0aGF0IHRoZSBwcmV2aW91cyBTdXBlckJsb2NrIHVzZWQgZm9yIGl0cyBvd24gYGxhc3RfYmxvY2tgIGZpZWxkLFxyXG5cdFx0bGFzdF9ibG9ja19pbl9wcmV2aW91c19zdXBlcmJsb2NrOiBIYXNoO1xyXG5cdFx0Ly9NZXJrbGUgcm9vdCBvZiB0aGUgdGFsbGllcyBpbiB0aGUgYmxvY2tzIGNyZWF0ZWQgc2luY2UgdGhlIGxhc3QgU3VwZXJCbG9ja1xyXG5cdFx0dGFsbHlfcm9vdDogSGFzaDtcclxuXHR9O1xyXG5cdC8vVGhlIGhhc2hlcyBvZiB0aGUgYmxvY2tzIHRoYXQgd2UgYXJlIHNpZ25hbGluZyBhcyBjb25zb2xpZGF0ZWQuXHJcblx0Y29uc29saWRhdGVkX2Jsb2NrX2hhc2hlczogQXJyYXk8SGFzaD47XHJcbn07XHJcblxyXG4vLyBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdG90YWwgc3VwcGx5XHJcbmV4cG9ydCB0eXBlIFN1cHBseUluZm8gPSB7XHJcblx0Ly9DdXJyZW50IGVwb2NoXHJcblx0ZXBvY2g6IHUzMjtcclxuXHQvL0N1cnJlbnQgdGltZVxyXG5cdGN1cnJlbnRfdGltZTogdTY0O1xyXG5cdC8vTnVtYmVyIG9mIGJsb2NrcyBtaW50ZWRcclxuXHRibG9ja3NfbWludGVkOiB1MzI7XHJcblx0Ly9XSVQgbWludGVkIHRocm91Z2ggYmxvY2sgY3JlYXRpb25cclxuXHRibG9ja3NfbWludGVkX3Jld2FyZDogdTY0O1xyXG5cdC8vQW1vdW50IG9mIG5hbm93aXRzIHRoYXQgaGF2ZSBiZWVuIGJ1cm50IHNvIGZhclxyXG5cdGJ1cm50X3N1cHBseTogYmlnaW50O1xyXG5cdC8vQ3VycmVudCBsb2NrZWQgc3VwcGx5XHJcblx0Y3VycmVudF9sb2NrZWRfc3VwcGx5OiBiaWdpbnQ7XHJcblx0Ly9DdXJyZW50IHN0YWtlZCBzdXBwbHlcclxuXHRjdXJyZW50X3N0YWtlZF9zdXBwbHk6IGJpZ2ludDtcclxuXHQvL0N1cnJlbnQgdW5sb2NrZWQgc3VwcGx5XHJcblx0Y3VycmVudF91bmxvY2tlZF9zdXBwbHk6IGJpZ2ludDtcclxuXHQvL0luaXRpYWwgc3VwcGx5XHJcblx0aW5pdGlhbF9zdXBwbHk6IGJpZ2ludDtcclxuXHQvL1dJVCBjdXJyZW50bHkgbG9ja2VkIGFzIGNvbGxhdGVyYWwgYnkgaW4tZmxpZ2h0IGRhdGEgcmVxdWVzdHNcclxuXHRyZXF1ZXN0c19pbl9mbGlnaHRfY29sbGF0ZXJhbDogdTY0O1xyXG59O1xyXG5cclxuLy8gTm9kZSBzeW5jaHJvbml6YXRpb24gc3RhdHVzXHJcbmV4cG9ydCB0eXBlIFN5bmNTdGF0dXMgPSB7XHJcblx0Ly8gVGhlIGhhc2ggb2YgdGhlIHRvcCBjb25zb2xpZGF0ZWQgYmxvY2sgYW5kIHRoZSBlcG9jaCBvZiB0aGF0IGJsb2NrXHJcblx0Y2hhaW5fYmVhY29uOiBDaGVja3BvaW50QmVhY29uO1xyXG5cdC8vIFRoZSBjdXJyZW50IGVwb2NoLCBvciBOb25lIGlmIHRoZSBlcG9jaCAwIGlzIGluIHRoZSBmdXR1cmVcclxuXHRjdXJyZW50X2Vwb2NoPzogRXBvY2g7XHJcblx0Ly8gTm9kZSBTdGF0ZVxyXG5cdG5vZGVfc3RhdGU6IFN0YXRlTWFjaGluZTtcclxufTtcclxuXHJcbi8vIEluZm9ybWF0aW9uIGFib3V0IG91ciBvd24gVVRYT3NcclxuZXhwb3J0IHR5cGUgVXR4b0luZm8gPSB7XHJcblx0Ly9WZWN0b3Igb2YgVXR4b1BvaW50ZXJzIHdpdGggdGhlaXIgdmFsdWVzLCB0aW1lX2xvY2tzIGFuZCBpZiBpdCBpcyByZWFkeSBmb3IgY29sbGF0ZXJhbFxyXG5cdHV0eG9zOiBBcnJheTxVdHhvTWV0YWRhdGE+O1xyXG5cdC8vTWluaW11bSBjb2xsYXRlcmFsIGZyb20gY29uc2Vuc3VzIGNvbnN0YW50c1xyXG5cdGNvbGxhdGVyYWxfbWluOiBiaWdpbnQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVdHhvTWV0YWRhdGEgPSB7XHJcblx0b3V0cHV0X3BvaW50ZXI6IHN0cmluZztcclxuXHR0aW1lbG9jazogdTY0O1xyXG5cdHV0eG9fbWF0dXJlPzogYm9vbGVhbjtcclxuXHR2YWx1ZTogYmlnaW50O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVmFsdWVUcmFuc2Zlck91dHB1dCA9IHtcclxuXHRwa2g6IEhhc2g7XHJcblx0dmFsdWU6IGJpZ2ludDtcclxuXHR0aW1lX2xvY2s6IHU2NDtcclxufTtcclxuXHJcbi8vIEEgVlJGIFByb29mIGlzIGEgdW5pcXVlLCBkZXRlcm1pbmlzdGljIHdheSB0byBzaWduIGEgbWVzc2FnZSB3aXRoIGEgcHVibGljIGtleS5cclxuLy8gSXQgaXMgdXNlZCB0byBwcmV2ZW50IG9uZSBpZGVudGl0eSBmcm9tIGNyZWF0aW5nIG11bHRpcGxlIGRpZmZlcmVudCBwcm9vZnMgb2YgZWxpZ2liaWxpdHkuXHJcbmV4cG9ydCB0eXBlIFZyZlByb29mID0ge1xyXG5cdHByb29mOiBVaW50OEFycmF5O1xyXG5cdHB1YmxpY19rZXk6IFVpbnQ4QXJyYXk7IC8vUHVibGljS2V5O1xyXG59O1xyXG5cclxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8vIC0tLSBUcmFuc2FjdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uUmVwb3J0ID0ge1xyXG5cdGJsb2NrRXBvY2g6IEVwb2NoO1xyXG5cdGJsb2NrSGFzaDogSGFzaDtcclxuXHRibG9ja1RpbWVzdGFtcDogbnVtYmVyO1xyXG5cdGNvbmZpcm1hdGlvbnM6IG51bWJlcjtcclxuXHRjb25maXJtZWQ6IGJvb2xlYW47XHJcblx0dHJhbnNhY3Rpb246IHtcclxuXHRcdFJldmVhbD86IERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb247XHJcblx0XHRDb21taXQ/OiBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uO1xyXG5cdFx0VGFsbHk/OiBEYXRhUmVxdWVzdFRhbGx5VHJhbnNhY3Rpb247XHJcblx0fTtcclxuXHR3ZWlnaHQ6IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0Q29tbWl0VHJhbnNhY3Rpb24gPSB7XHJcblx0Ym9keTogRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbkJvZHk7XHJcblx0c2lnbmF0dXJlczogQXJyYXk8S2V5ZWRTaWduYXR1cmU+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RDb21taXRUcmFuc2FjdGlvbkJvZHkgPSB7XHJcblx0Ly8gRGF0YVJlcXVlc3RUcmFuc2FjdGlvbiBoYXNoXHJcblx0ZHJfcG9pbnRlcjogSGFzaDtcclxuXHQvLyBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uIFNpZ25hdHVyZSBIYXNoXHJcblx0Y29tbWl0bWVudDogSGFzaDtcclxuXHQvLyBDaGFuZ2UgZnJvbSBjb2xsYXRlcmFsLiBUaGUgb3V0cHV0IHBraCBtdXN0IGJlIHRoZSBzYW1lIGFzIHRoZSBpbnB1dHMsXHJcblx0Ly8gYW5kIHRoZXJlIGNhbiBvbmx5IGJlIG9uZSBvdXRwdXRcclxuXHRvdXRwdXRzOiBBcnJheTxWYWx1ZVRyYW5zZmVyT3V0cHV0PjtcclxuXHQvLyBCTFMgcHVibGljIGtleSAoY3VydmUgYm4yNTYpXHJcblx0Ym4yNTZfcHVibGljX2tleT86IEJuMjU2UHVibGljS2V5O1xyXG5cclxuXHRoYXNoOiBIYXNoO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RSZXZlYWxUcmFuc2FjdGlvbiA9IHtcclxuXHRib2R5OiBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uQm9keTtcclxuXHRzaWduYXR1cmVzOiBBcnJheTxLZXllZFNpZ25hdHVyZT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uQm9keSA9IHtcclxuXHQvLyBJbnB1dHNcclxuXHRkcl9wb2ludGVyOiBIYXNoOyAvLyBEVFRyYW5zYWN0aW9uIGhhc2hcclxuXHQvLyBPdXRwdXRzXHJcblx0cmV2ZWFsOiBBcnJheTx1OD47XHJcblx0cGtoOiB7IGhhc2g6IFVpbnQ4QXJyYXkgfTsgLy8gd2hlcmUgdG8gcmVjZWl2ZSByZXdhcmRcclxuXHRoYXNoOiBIYXNoO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RUYWxseVRyYW5zYWN0aW9uID0ge1xyXG5cdC8vIERhdGFSZXF1ZXN0VHJhbnNhY3Rpb24gaGFzaFxyXG5cdGRyX3BvaW50ZXI6IEhhc2g7XHJcblx0Ly8gVGFsbHkgcmVzdWx0XHJcblx0dGFsbHk6IFVpbnQ4QXJyYXk7XHJcblx0Ly8gV2l0bmVzcyByZXdhcmRzXHJcblx0b3V0cHV0czogQXJyYXk8VmFsdWVUcmFuc2Zlck91dHB1dD47XHJcblx0Ly8gQWRkcmVzc2VzIHRoYXQgYXJlIG91dCBvZiBjb25zZW5zdXMgKG5vbiByZXZlYWxlcnMgaW5jbHVkZWQpXHJcblx0b3V0X29mX2NvbnNlbnN1czogQXJyYXk8eyBoYXNoOiBVaW50OEFycmF5IH0+O1xyXG5cdC8vIEFkZHJlc3NlcyB0aGF0IGNvbW1pdCBhIFJhZG9uRXJyb3IgKG9yIGNvbnNpZGVyZWQgYXMgYW4gRXJyb3IgZHVlIHRvIGEgUmFkb25FcnJvciBjb25zZW5zdXMpXHJcblx0ZXJyb3JfY29tbWl0dGVyczogQXJyYXk8eyBoYXNoOiBVaW50OEFycmF5IH0+O1xyXG5cdC8vIFRPRE9cclxuXHQvLyBoYXNoOiBIYXNoO1xyXG59O1xyXG5cclxuLy8vIE5vZGUgc3RhdHNcclxuZXhwb3J0IHR5cGUgTm9kZVN0YXRzID0ge1xyXG5cdC8vTnVtYmVyIG9mIHByb3Bvc2VkIGJsb2Nrc1xyXG5cdGJsb2NrX3Byb3Bvc2VkX2NvdW50OiB1MzI7XHJcblx0Ly9OdW1iZXIgb2YgYmxvY2tzIGluY2x1ZGVkIGluIHRoZSBibG9jayBjaGFpblxyXG5cdGJsb2NrX21pbmVkX2NvdW50OiB1MzI7XHJcblx0Ly9OdW1iZXIgb2YgdGltZXMgd2Ugd2VyZSBlbGlnaWJsZSB0byBwYXJ0aWNpcGF0ZSBpbiBhIERhdGEgUmVxdWVzdFxyXG5cdGRyX2VsaWdpYmlsaXR5X2NvdW50OiB1MzI7XHJcblx0Ly9OdW1iZXIgb2YgcHJvcG9zZWQgY29tbWl0c1xyXG5cdGNvbW1pdHNfcHJvcG9zZWRfY291bnQ6IHUzMjtcclxuXHQvL051bWJlciBvZiBjb21taXRzIGluY2x1ZGVkIGluIGEgZGF0YSByZXF1ZXN0XHJcblx0Y29tbWl0c19jb3VudDogdTMyO1xyXG5cdC8vTGFzdCBibG9jayBwcm9wb3NlZFxyXG5cdGxhc3RfYmxvY2tfcHJvcG9zZWQ6IEhhc2g7XHJcblx0Ly9OdW1iZXIgb2Ygc2xhc2hlZCBjb21taXRzXHJcblx0c2xhc2hlZF9jb3VudDogdTMyO1xyXG59O1xyXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLENBQU4sSUFBWSxPQWtDWDtBQWxDRCxXQUFZLE9BQU87SUFDbEIsZ0NBQXFCLENBQUE7SUFDckIsNENBQWlDLENBQUE7SUFDakMsb0NBQXlCLENBQUE7SUFDekIsa0RBQXVDLENBQUE7SUFDdkMsb0NBQXlCLENBQUE7SUFDekIsc0NBQTJCLENBQUE7SUFDM0IsMENBQStCLENBQUE7SUFDL0IsZ0NBQXFCLENBQUE7SUFDckIsMERBQStDLENBQUE7SUFDL0MsNENBQWlDLENBQUE7SUFDakMsb0NBQXlCLENBQUE7SUFDekIsNEJBQWlCLENBQUE7SUFDakIsd0NBQTZCLENBQUE7SUFDN0IsMENBQStCLENBQUE7SUFDL0IsMkNBQWdDLENBQUE7SUFDaEMsNENBQWlDLENBQUE7SUFDakMsc0NBQTJCLENBQUE7SUFDM0IsZ0RBQXFDLENBQUE7SUFDckMsOENBQW1DLENBQUE7SUFDbkMsa0NBQXVCLENBQUE7SUFDdkIsb0NBQXlCLENBQUE7SUFDekIsOENBQW1DLENBQUE7SUFDbkMsa0NBQXVCLENBQUE7SUFDdkIsMEJBQWUsQ0FBQTtJQUNmLGdDQUFxQixDQUFBO0lBQ3JCLGdDQUFxQixDQUFBO0lBQ3JCLGtDQUF1QixDQUFBO0lBQ3ZCLDZDQUFrQyxDQUFBO0lBQ2xDLHNDQUEyQixDQUFBO0lBQzNCLDRCQUFpQixDQUFBO0lBQ2pCLG9EQUF5QyxDQUFBO0lBQ3pDLDBDQUErQixDQUFBO0lBQy9CLG9DQUF5QixDQUFBO0FBQzFCLENBQUMsRUFsQ1csT0FBTyxLQUFQLE9BQU8sUUFrQ2xCO0FBeUJELE1BQU0sQ0FBTixJQUFZLGFBS1g7QUFMRCxXQUFZLGFBQWE7SUFDeEIsZ0NBQWUsQ0FBQTtJQUNmLGdDQUFlLENBQUE7SUFDZixrQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBeUIsQ0FBQTtBQUMxQixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUErUEQsNkJBQTZCO0FBQzdCLE1BQU0sQ0FBTixJQUFZLGdCQU9YO0FBUEQsV0FBWSxnQkFBZ0I7SUFDM0Isd0NBQXdDO0lBQ3hDLHFDQUFpQixDQUFBO0lBQ2pCLHVEQUF1RDtJQUN2RCxxQ0FBaUIsQ0FBQTtJQUNqQix5Q0FBeUM7SUFDekMsbUNBQWUsQ0FBQTtBQUNoQixDQUFDLEVBUFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU8zQjtBQWdGRCxNQUFNLENBQU4sSUFBWSxPQUtYO0FBTEQsV0FBWSxPQUFPO0lBQ2xCLCtCQUFvQixDQUFBO0lBQ3BCLGlDQUFzQixDQUFBO0lBQ3RCLGlDQUFzQixDQUFBO0lBQ3RCLHNCQUFXLENBQUE7QUFDWixDQUFDLEVBTFcsT0FBTyxLQUFQLE9BQU8sUUFLbEI7QUF3QkQsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBTixJQUFZLFlBV1g7QUFYRCxXQUFZLFlBQVk7SUFDdkIsaUZBQWlGO0lBQ2pGLHFEQUFxQyxDQUFBO0lBQ3JDLHFEQUFxRDtJQUNyRCxnREFBZ0MsQ0FBQTtJQUNoQyxvRkFBb0Y7SUFDcEYsK0NBQStDO0lBQy9DLDZDQUE2QixDQUFBO0lBQzdCLGlGQUFpRjtJQUNqRiwrRUFBK0U7SUFDL0UsaUNBQWlCLENBQUE7QUFDbEIsQ0FBQyxFQVhXLFlBQVksS0FBWixZQUFZLFFBV3ZCO0FBNkJELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDNUIsc0NBQWlCLENBQUE7SUFDakIsOENBQXlCLENBQUE7QUFDMUIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFB1YmxpY0tleUhhc2hTdHJpbmcgfSBmcm9tIFwiLi4vY3J5cHRvL3R5cGVzLmpzXCI7XG5pbXBvcnQgdHlwZSB7XG5cdEVwb2NoLFxuXHRmNjQsXG5cdEhhc2gsXG5cdGk2NCxcblx0dTgsXG5cdHUxNixcblx0dTMyLFxuXHR1NjQsXG5cdHVzaXplLFxufSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcblxuZXhwb3J0IGVudW0gTWV0aG9kcyB7XG5cdEFkZFBlZXJzID0gXCJhZGRQZWVyc1wiLFxuXHRBdXRob3JpemVTdGFrZSA9IFwiYXV0aG9yaXplU3Rha2VcIixcblx0Q2xlYXJQZWVycyA9IFwiY2xlYXJQZWVyc1wiLFxuXHREYXRhUmVxdWVzdFJlcG9ydCA9IFwiZGF0YVJlcXVlc3RSZXBvcnRcIixcblx0R2V0QmFsYW5jZSA9IFwiZ2V0QmFsYW5jZVwiLFxuXHRHZXRCYWxhbmNlMiA9IFwiZ2V0QmFsYW5jZTJcIixcblx0R2V0QmxvY2tDaGFpbiA9IFwiZ2V0QmxvY2tDaGFpblwiLFxuXHRHZXRCbG9jayA9IFwiZ2V0QmxvY2tcIixcblx0R2V0Q29uc2Vuc3VzQ29uc3RhbnRzID0gXCJnZXRDb25zZW5zdXNDb25zdGFudHNcIixcblx0R2V0RGF0YVJlcXVlc3QgPSBcImdldERhdGFSZXF1ZXN0XCIsXG5cdEdldE1lbXBvb2wgPSBcImdldE1lbXBvb2xcIixcblx0R2V0UGtoID0gXCJnZXRQa2hcIixcblx0R2V0UHVibGljS2V5ID0gXCJnZXRQdWJsaWNLZXlcIixcblx0R2V0U3VwZXJibG9jayA9IFwiZ2V0U3VwZXJibG9ja1wiLFxuXHRHZXRTdXBwbHlJbmZvID0gXCJnZXRTdXBwbHlJbmZvMlwiLFxuXHRHZXRUcmFuc2FjdGlvbiA9IFwiZ2V0VHJhbnNhY3Rpb25cIixcblx0R2V0VXR4b0luZm8gPSBcImdldFV0eG9JbmZvXCIsXG5cdEdldFZhbHVlVHJhbnNmZXIgPSBcImdldFZhbHVlVHJhbnNmZXJcIixcblx0SW5pdGlhbGl6ZVBlZXJzID0gXCJpbml0aWFsaXplUGVlcnNcIixcblx0SW52ZW50b3J5ID0gXCJpbnZlbnRvcnlcIixcblx0S25vd25QZWVycyA9IFwia25vd25QZWVyc1wiLFxuXHRNYXN0ZXJLZXlFeHBvcnQgPSBcIm1hc3RlcktleUV4cG9ydFwiLFxuXHROb2RlU3RhdHMgPSBcIm5vZGVTdGF0c1wiLFxuXHRQZWVycyA9IFwicGVlcnNcIixcblx0UHJpb3JpdHkgPSBcInByaW9yaXR5XCIsXG5cdFByb3RvY29sID0gXCJwcm90b2NvbFwiLFxuXHRQcm92aWRlcnMgPSBcInByb3ZpZGVyc1wiLFxuXHRRdWVyeVN0YWtpbmdQb3dlcnMgPSBcInF1ZXJ5UG93ZXJzXCIsXG5cdFF1ZXJ5U3Rha2VzID0gXCJxdWVyeVN0YWtlc1wiLFxuXHRSZXdpbmQgPSBcInJld2luZFwiLFxuXHRTZWFyY2hEYXRhUmVxdWVzdHMgPSBcInNlYXJjaERhdGFSZXF1ZXN0c1wiLFxuXHRTaWduYWxpbmdJbmZvID0gXCJzaWduYWxpbmdJbmZvXCIsXG5cdFN5bmNTdGF0dXMgPSBcInN5bmNTdGF0dXNcIixcbn1cblxuZXhwb3J0IHR5cGUgTmV0d29yayA9IFwibWFpbm5ldFwiIHwgXCJ0ZXN0bmV0XCI7XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U3Rha2VzID0ge1xuXHRmaWx0ZXI/OiB7XG5cdFx0dmFsaWRhdG9yPzogUHVibGljS2V5SGFzaFN0cmluZztcblx0XHR3aXRoZHJhd2VyPzogUHVibGljS2V5SGFzaFN0cmluZztcblx0fTtcblx0cGFyYW1zPzogUXVlcnlTdGFrZXNQYXJhbXM7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtlc1BhcmFtcyA9IHtcblx0ZGlzdGluY3Q/OiBib29sZWFuO1xuXHRsaW1pdD86IG51bWJlcjtcblx0b2Zmc2V0PzogbnVtYmVyO1xuXHRvcmRlcj86IFF1ZXJ5U3Rha2VzT3JkZXI7XG5cdHNpbmNlPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlTdGFrZXNPcmRlciA9IHtcblx0Ynk6IFN0YWtlc09yZGVyQnk7XG5cdHJldmVyc2U/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gU3Rha2VzT3JkZXJCeSB7XG5cdENvaW5zID0gXCJjb2luc1wiLFxuXHROb25jZSA9IFwibm9uY2VcIixcblx0TWluaW5nID0gXCJtaW5pbmdcIixcblx0V2l0bmVzc2luZyA9IFwid2l0bmVzc2luZ1wiLFxufVxuXG5leHBvcnQgdHlwZSBRdWVyeVN0YWtpbmdQb3dlcnMgPSB7XG5cdGRpc3RpbmN0PzogYm9vbGVhbjtcblx0bGltaXQ/OiBudW1iZXI7XG5cdG9mZnNldD86IG51bWJlcjtcblx0b3JkZXJCeT86IFN0YWtpbmdDYXBhYmlsaXR5O1xufTtcblxuLy8gU3RydWN0dXJlIHRoYXQgdGhlIGluY2x1ZGVzIHRoZSBjb25maXJtZWQgYW5kIHBlbmRpbmcgYmFsYW5jZSBvZiBhIG5vZGVcbmV4cG9ydCB0eXBlIEJhbGFuY2UgPSB7XG5cdC8vVG90YWwgYW1vdW50IG9mIGEgbm9kZSdzIGZ1bmRzIGFmdGVyIGxhc3QgY29uZmlybWVkIHN1cGVyYmxvY2tcblx0Y29uZmlybWVkPzogYmlnaW50O1xuXHQvL1RvdGFsIGFtb3VudCBvZiBub2RlJ3MgZnVuZHMgYWZ0ZXIgbGFzdCBibG9ja1xuXHR0b3RhbDogYmlnaW50O1xufTtcblxuLy8gQmFsYW5jZSBzdHJ1Y3QgaW4gV2l0LzIgY29udGFpbmluZyBsb2NrZWQsIHVubG9ja2VkIGFuZCBzdGFrZWQgYmFsYW5jZVxuZXhwb3J0IHR5cGUgQmFsYW5jZTIgPSB7XG5cdGxvY2tlZDogYmlnaW50O1xuXHRzdGFrZWQ6IGJpZ2ludDtcblx0dW5sb2NrZWQ6IGJpZ2ludDtcbn07XG5cbi8vU3RydWN0IHRoYXQgY291bnQgdGhlIHBvc2l0aXZlcyB2b3RlcyBvZiBhIFdJUFxuZXhwb3J0IHR5cGUgQml0Vm90ZXNDb3VudGVyID0ge1xuXHR2b3RlczogdTMyO1xuXHRwZXJpb2Q6IEVwb2NoO1xuXHR3aXA6IHN0cmluZztcblx0aW5pdDogRXBvY2g7XG5cdGVuZDogRXBvY2g7XG5cdGJpdDogdXNpemU7XG59O1xuXG4vLyBCbG9jayBkYXRhIHN0cnVjdHVyZVxuZXhwb3J0IHR5cGUgQmxvY2sgPSB7XG5cdGJsb2NrX2hlYWRlcjogQmxvY2tIZWFkZXI7XG5cdGJsb2NrX3NpZzogS2V5ZWRTaWduYXR1cmU7XG5cdGJsb2NrX3dlaWdodDogbnVtYmVyO1xuXHRjb25maXJtZWQ6IGJvb2xlYW47XG5cdGRyX3dlaWdodDogbnVtYmVyO1xuXHQvLyB0eG5zOiBCbG9ja1RyYW5zYWN0aW9ucztcblx0dHhuc19oYXNoZXM/OiBCbG9ja1RyYW5zYWN0aW9uc0hhc2hlcztcblx0dnRfd2VpZ2h0OiBudW1iZXI7XG59O1xuXG4vLyBCbG9jayBtaW5pbmcgZWxpZ2liaWxpdHkgY2xhaW1cbmV4cG9ydCB0eXBlIEJsb2NrRWxpZ2liaWxpdHlDbGFpbSA9IHtcblx0Ly8gQSBWZXJpZmlhYmxlIFJhbmRvbSBGdW5jdGlvbiBwcm9vZiBvZiB0aGUgZWxpZ2liaWxpdHkgZm9yIGEgZ2l2ZW4gZXBvY2ggYW5kIHB1YmxpYyBrZXlcblx0cHJvb2Y6IFZyZlByb29mO1xufTtcblxuLy8gQmxvY2sgaGVhZGVyIHN0cnVjdHVyZVxuZXhwb3J0IHR5cGUgQmxvY2tIZWFkZXIgPSB7XG5cdC8vIEEgY2hlY2twb2ludCBiZWFjb24gZm9yIHRoZSBlcG9jaCB0aGF0IHRoaXMgYmxvY2sgaXMgY2xvc2luZ1xuXHRiZWFjb246IENoZWNrcG9pbnRCZWFjb247XG5cdC8vIFRoZSBCbjI1NiBwdWJsaWMga2V5XG5cdGJuMjU2X3B1YmxpY19rZXk/OiBCbjI1NlB1YmxpY0tleTtcblx0Ly8gMjU2LWJpdCBoYXNoZXMgb2YgYWxsIG9mIHRoZSB0cmFuc2FjdGlvbnMgY29tbWl0dGVkIHRvIHRoaXMgYmxvY2ssIHNvIGFzIHRvIHByb3ZlIHRoZWlyIGJlbG9uZ2luZyBhbmQgaW50ZWdyaXR5XG5cdG1lcmtsZV9yb290czogQmxvY2tNZXJrbGVSb290cztcblx0Ly8gQSBtaW5lci1wcm92aWRlZCBwcm9vZiBvZiBsZWFkZXJzaGlwXG5cdHByb29mOiBCbG9ja0VsaWdpYmlsaXR5Q2xhaW07XG5cdC8vIDMyIGJpdHMgZm9yIGJpbmFyeSBzaWduYWxpbmcgbmV3IHdpdG5ldCBwcm90b2NvbCBpbXByb3ZlbWVudHMuXG5cdC8vIFNlZSBbV0lQLTAwMTRdKGh0dHBzOi8vZ2l0aHViLmNvbS93aXRuZXQvV0lQcy9ibG9iL21hc3Rlci93aXAtMDAxNC5tZCkgZm9yIG1vcmUgaW5mby5cblx0c2lnbmFsczogdTMyO1xufTtcblxuLy8gQmxvY2sgbWVya2xlIHRyZWUgcm9vdHNcbmV4cG9ydCB0eXBlIEJsb2NrTWVya2xlUm9vdHMgPSB7XG5cdC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIGFsbCBvZiB0aGUgY29tbWl0IHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xuXHRjb21taXRfaGFzaF9tZXJrbGVfcm9vdDogSGFzaDtcblx0Ly8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSBkYXRhIHJlcXVlc3QgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXG5cdGRyX2hhc2hfbWVya2xlX3Jvb3Q6IEhhc2g7XG5cdC8vIEEgMjU2LWJpdCBoYXNoIGJhc2VkIG9uIHRoZSBtaW50IHRyYW5zYWN0aW9uIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXG5cdG1pbnRfaGFzaDogSGFzaDtcblx0Ly8gQSAyNTYtYml0IGhhc2ggYmFzZWQgb24gYWxsIG9mIHRoZSByZXZlYWwgdHJhbnNhY3Rpb25zIGNvbW1pdHRlZCB0byB0aGlzIGJsb2NrXG5cdHJldmVhbF9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xuXHQvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIHRhbGx5IHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xuXHR0YWxseV9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xuXHQvLyBBIDI1Ni1iaXQgaGFzaCBiYXNlZCBvbiBhbGwgb2YgdGhlIHZhbHVlIHRyYW5zZmVyIHRyYW5zYWN0aW9ucyBjb21taXR0ZWQgdG8gdGhpcyBibG9ja1xuXHR2dF9oYXNoX21lcmtsZV9yb290OiBIYXNoO1xufTtcblxuZXhwb3J0IHR5cGUgQmxvY2tUcmFuc2FjdGlvbnNIYXNoZXMgPSB7XG5cdGNvbW1pdDogQXJyYXk8SGFzaD47XG5cdGRhdGFfcmVxdWVzdDogQXJyYXk8SGFzaD47XG5cdG1pbnQ6IEhhc2g7XG5cdHJldmVhbDogQXJyYXk8SGFzaD47XG5cdHRhbGx5OiBBcnJheTxIYXNoPjtcblx0dmFsdWVfdHJhbnNmZXI6IEFycmF5PEhhc2g+O1xufTtcblxuLy8gQk4yNTYgcHVibGljIGtleVxuZXhwb3J0IHR5cGUgQm4yNTZQdWJsaWNLZXkgPSB7XG5cdC8vIENvbXByZXNzZWQgZm9ybSBvZiBhIEJOMjU2IHB1YmxpYyBrZXlcblx0cHVibGljX2tleTogQXJyYXk8dTg+O1xuXHQvLyBDYWNoZWQgdW5jb21wcmVzc2VkIGZvcm1cblx0dW5jb21wcmVzc2VkOiBBcnJheTx1OD47XG59O1xuXG5leHBvcnQgdHlwZSBDaGVja3BvaW50QmVhY29uID0ge1xuXHQvLyBUaGUgc2VyaWFsIG51bWJlciBmb3IgYW4gZXBvY2hcblx0Y2hlY2twb2ludDogRXBvY2g7XG5cdC8vIFRoZSAyNTYtYml0IGhhc2ggb2YgdGhlIHByZXZpb3VzIGJsb2NrIGhlYWRlclxuXHRoYXNoUHJldkJsb2NrOiBIYXNoO1xufTtcblxuLy8gUHJvdG9jb2wncyBjb25zZW5zdXMgY29uc3RhbnRzXG5leHBvcnQgdHlwZSBDb25zZW5zdXNDb25zdGFudHMgPSB7XG5cdC8vQW4gaWRlbnRpdHkgaXMgY29uc2lkZXJlZCBhY3RpdmUgaWYgaXQgcGFydGljaXBhdGVkIGluIHRoZSB3aXRuZXNzaW5nIHByb3RvY29sIGF0IGxlYXN0IG9uY2UgaW4gdGhlIGxhc3QgYGFjdGl2aXR5X3BlcmlvZGAgZXBvY2hzXG5cdGFjdGl2aXR5X3BlcmlvZDogdTMyO1xuXG5cdC8vQXV4aWxpYXJ5IGJvb3RzdHJhcCBibG9jayBoYXNoIHZhbHVlXG5cdGJvb3RzdHJhcF9oYXNoOiBIYXNoO1xuXG5cdC8vU3VwZXJibG9jayBzaWduaW5nIGNvbW1pdHRlZSBmb3IgdGhlIGZpcnN0IHN1cGVyYmxvY2tzXG5cdGJvb3RzdHJhcHBpbmdfY29tbWl0dGVlOiBBcnJheTxzdHJpbmc+O1xuXG5cdC8vVGltZXN0YW1wIGF0IGNoZWNrcG9pbnQgMCAodGhlIHN0YXJ0IG9mIGVwb2NoIDApXG5cdGNoZWNrcG9pbnRfemVyb190aW1lc3RhbXA6IGk2NDtcblxuXHQvL1NlY29uZHMgYmV0d2VlbiB0aGUgc3RhcnQgb2YgYW4gZXBvY2ggYW5kIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBvbmVcblx0Y2hlY2twb2ludHNfcGVyaW9kOiB1MTY7XG5cblx0Ly9NaW5pbXVtIGlucHV0IGFnZSBvZiBhbiBVVFhPIGZvciBiZWluZyBhIHZhbGlkIGNvbGxhdGVyYWxcblx0Y29sbGF0ZXJhbF9hZ2U6IHUzMjtcblxuXHQvL01pbmltdW0gdmFsdWUgaW4gbmFub3dpdHMgZm9yIGEgY29sbGF0ZXJhbCB2YWx1ZVxuXHRjb2xsYXRlcmFsX21pbmltdW06IGJpZ2ludDtcblxuXHQvL051bWJlciBvZiBlcG9jaHMgd2l0aCB0aGUgbWluaW11bSBkaWZmaWN1bHR5IGFjdGl2ZVxuXHQvLyhUaGlzIG51bWJlciByZXByZXNlbnQgdGhlIGxhc3QgZXBvY2ggd2hlcmUgdGhlIG1pbmltdW0gZGlmZmljdWx0eSBpcyBhY3RpdmUpXG5cdGVwb2Noc193aXRoX21pbmltdW1fZGlmZmljdWx0eTogdTMyO1xuXG5cdC8vRXh0cmEgcm91bmRzIGZvciBjb21taXRtZW50cyBhbmQgcmV2ZWFsc1xuXHRleHRyYV9yb3VuZHM6IHUxNjtcblxuXHQvL0dlbmVzaXMgYmxvY2sgaGFzaCB2YWx1ZVxuXHRnZW5lc2lzX2hhc2g6IEhhc2g7XG5cblx0Ly9IYWx2aW5nIHBlcmlvZFxuXHRoYWx2aW5nX3BlcmlvZDogdTMyO1xuXG5cdC8vSW5pdGlhbCBibG9jayByZXdhcmRcblx0aW5pdGlhbF9ibG9ja19yZXdhcmQ6IHU2NDtcblxuXHQvL01heGltdW0gd2VpZ2h0IGEgYmxvY2sgY2FuIGhhdmUsIHRoaXMgYWZmZWN0cyB0aGUgbnVtYmVyIG9mXG5cdC8vdHJhbnNhY3Rpb25zIGEgYmxvY2sgY2FuIGNvbnRhaW46IHRoZXJlIHdpbGwgYmUgYXMgbWFueVxuXHQvL3RyYW5zYWN0aW9ucyBhcyB0aGUgc3VtIG9mIF90aGVpcl8gd2VpZ2h0cyBpcyBsZXNzIHRoYW4sIG9yXG5cdC8vZXF1YWwgdG8sIHRoaXMgbWF4aW11bSBibG9jayB3ZWlnaHQgcGFyYW1ldGVyLlxuXHQvL1xuXHQvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSBkYXRhIHJlcXVlc3RzIHRyYW5zYWN0aW9ucyBpbiBvbmUgYmxvY2tcblx0bWF4X2RyX3dlaWdodDogdTMyO1xuXHQvL1xuXHQvL01heGltdW0gYWdncmVnYXRlZCB3ZWlnaHQgb2YgYWxsIHRoZSB2YWx1ZSB0cmFuc2ZlciB0cmFuc2FjdGlvbnMgaW4gb25lIGJsb2NrXG5cdG1heF92dF93ZWlnaHQ6IHUzMjtcblxuXHQvL01pbmltdW0gZGlmZmljdWx0eVxuXHRtaW5pbXVtX2RpZmZpY3VsdHk6IHUzMjtcblxuXHQvL0JhY2t1cCBmYWN0b3IgZm9yIG1pbmluZzogdmFsaWQgVlJGcyB1bmRlciB0aGlzIGZhY3RvciB3aWxsIHJlc3VsdCBpbiBicm9hZGNhc3RpbmcgYSBibG9ja1xuXHRtaW5pbmdfYmFja3VwX2ZhY3RvcjogdTMyO1xuXG5cdC8vUmVwbGljYXRpb24gZmFjdG9yIGZvciBtaW5pbmc6IHZhbGlkIFZSRnMgdW5kZXIgdGhpcyBmYWN0b3Igd2lsbCBoYXZlIHByaW9yaXR5XG5cdG1pbmluZ19yZXBsaWNhdGlvbl9mYWN0b3I6IHUzMjtcblxuXHQvL1JlcHV0YXRpb24gd2lsbCBleHBpcmUgYWZ0ZXIgTiB3aXRuZXNzaW5nIGFjdHNcblx0cmVwdXRhdGlvbl9leHBpcmVfYWxwaGFfZGlmZjogdTMyO1xuXG5cdC8vUmVwdXRhdGlvbiBpc3N1YW5jZVxuXHRyZXB1dGF0aW9uX2lzc3VhbmNlOiB1MzI7XG5cblx0Ly9XaGVuIHRvIHN0b3AgaXNzdWluZyBuZXcgcmVwdXRhdGlvblxuXHRyZXB1dGF0aW9uX2lzc3VhbmNlX3N0b3A6IHUzMjtcblxuXHQvL1BlbmFsaXphdGlvbiBmYWN0b3I6IGZyYWN0aW9uIG9mIHJlcHV0YXRpb24gbG9zdCBieSBsaWFycyBmb3Igb3V0IG9mIGNvbnNlbnN1cyBjbGFpbXNcblx0Ly8gRklYTUUoIzE3Mik6IFVzZSBmaXhlZCBwb2ludCBhcml0aG1ldGljXG5cdHJlcHV0YXRpb25fcGVuYWxpemF0aW9uX2ZhY3RvcjogZjY0O1xuXG5cdC8vUGVyaW9kIGFmdGVyIHdoaWNoIHRoZSBjb21taXR0ZWUgc2l6ZSBzaG91bGQgZGVjcmVhc2UgKGluIHN1cGVyYmxvY2sgcGVyaW9kcylcblx0c3VwZXJibG9ja19jb21taXR0ZWVfZGVjcmVhc2luZ19wZXJpb2Q6IHUzMjtcblxuXHQvL1N0ZXAgYnkgd2hpY2ggdGhlIGNvbW1pdHRlZSBzaG91bGQgYmUgcmVkdWNlZCBhZnRlciBzdXBlcmJsb2NrX2FncmVlbWVudF9kZWNyZWFzaW5nX3BlcmlvZFxuXHRzdXBlcmJsb2NrX2NvbW1pdHRlZV9kZWNyZWFzaW5nX3N0ZXA6IHUzMjtcblxuXHQvL0J1aWxkIGEgc3VwZXJibG9jayBldmVyeSBgc3VwZXJibG9ja19wZXJpb2RgIGVwb2Noc1xuXHRzdXBlcmJsb2NrX3BlcmlvZDogdTE2O1xuXG5cdC8vU2l6ZSBvZiB0aGUgc3VwZXJibG9jayBzaWduaW5nIGNvbW1pdHRlZVxuXHRzdXBlcmJsb2NrX3NpZ25pbmdfY29tbWl0dGVlX3NpemU6IHUzMjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0UGF5bG9hZCA9IHtcblx0ZGF0YVJlcXVlc3Q6IFJBRFJlcXVlc3Q7XG5cdHdpdG5lc3NfcmV3YXJkOiBudW1iZXI7XG5cdHdpdG5lc3NlczogbnVtYmVyO1xuXHRjb21taXRBbmRSZXZlYWxGZWU6IG51bWJlcjtcblx0bWluQ29uc2Vuc3VzUGVyY2VudGFnZTogbnVtYmVyO1xuXHRjb2xsYXRlcmFsOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFN0YXR1cyA9XG5cdHwgXCJjYW5jZWxsZWRcIlxuXHR8IFwicGVuZGluZ1wiXG5cdHwgXCJjb21taXR0aW5nXCJcblx0fCBcInJldmVhbGluZ1wiXG5cdHwgXCJzb2x2ZWRcIlxuXHR8IFwicmV2ZXJ0ZWRcIjtcblxuZXhwb3J0IHR5cGUgR2V0RGF0YVJlcXVlc3RNb2RlID0gXCJmdWxsXCIgfCBcImV0aGVyZWFsXCI7XG5cbi8vIExpc3Qgb2Ygb3V0cHV0cyByZWxhdGVkIHRvIGEgZGF0YSByZXF1ZXN0XG5leHBvcnQgdHlwZSBHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQgPSB7XG5cdHN0YXR1czogRGF0YVJlcXVlc3RTdGF0dXM7XG5cdHJlcG9ydDoge1xuXHRcdC8vIExpc3Qgb2YgY29tbWl0bWVudHMgdG8gcmVzb2x2ZSB0aGUgZGF0YSByZXF1ZXN0XG5cdFx0Y29tbWl0czogUmVjb3JkPFB1YmxpY0tleUhhc2hTdHJpbmcsIERhdGFSZXF1ZXN0Q29tbWl0VHJhbnNhY3Rpb24+O1xuXHRcdC8vTGlzdCBvZiByZXZlYWxzIHRvIHRoZSBjb21taXRtZW50cyAoY29udGFpbnMgdGhlIGRhdGEgcmVxdWVzdCB3aXRuZXQgcmVzdWx0KVxuXHRcdHJldmVhbHM6IFJlY29yZDxQdWJsaWNLZXlIYXNoU3RyaW5nLCBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uPjtcblx0XHQvL1RhbGx5IG9mIGRhdGEgcmVxdWVzdCAoY29udGFpbnMgZmluYWwgcmVzdWx0KVxuXHRcdHRhbGx5PzogRGF0YVJlcXVlc3RUYWxseVRyYW5zYWN0aW9uO1xuXHRcdC8vSGFzaCBvZiB0aGUgYmxvY2sgd2l0aCB0aGUgRGF0YVJlcXVlc3RUcmFuc2FjdGlvblxuXHRcdGJsb2NrX2hhc2hfZHJfdHg/OiBIYXNoO1xuXHRcdC8vSGFzaCBvZiB0aGUgYmxvY2sgd2l0aCB0aGUgVGFsbHlUcmFuc2FjdGlvblxuXHRcdGJsb2NrX2hhc2hfdGFsbHlfdHg/OiBIYXNoO1xuXHRcdC8vQ3VycmVudCBjb21taXQgcm91bmRcblx0XHRjdXJyZW50X2NvbW1pdF9yb3VuZDogdTE2O1xuXHRcdC8vQ3VycmVudCByZXZlYWwgcm91bmRcblx0XHRjdXJyZW50X3JldmVhbF9yb3VuZDogdTE2O1xuXHRcdC8vQ3VycmVudCBzdGFnZSwgb3IgTm9uZSBpZiBmaW5pc2hlZFxuXHRcdGN1cnJlbnRfc3RhZ2U/OiBEYXRhUmVxdWVzdFN0YWdlO1xuXHR9O1xufTtcblxuZXhwb3J0IHR5cGUgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydCA9IHtcblx0YmxvY2tfZXBvY2g/OiBudW1iZXI7XG5cdGJsb2NrX2hhc2g/OiBIYXNoO1xuXHRjb25maXJtYXRpb25zPzogbnVtYmVyO1xuXHRoYXNoPzogSGFzaDtcblx0cXVlcnk/OiB7XG5cdFx0ZHJvX2hhc2g6IEhhc2g7XG5cdFx0cmFkX2hhc2g6IEhhc2g7XG5cdFx0cmFkX2J5dGVjb2RlOiBzdHJpbmc7XG5cdFx0Y29sbGF0ZXJhbF9yYXRpbzogbnVtYmVyO1xuXHRcdHVuaXRhcnlfcmV3YXJkOiBiaWdpbnQ7XG5cdFx0d2l0bmVzc2VzOiBudW1iZXI7XG5cdH07XG5cdHJlc3VsdD86IHtcblx0XHRjYm9yX2J5dGVzOiBzdHJpbmc7XG5cdFx0ZmluYWxpemVkOiBib29sZWFuO1xuXHRcdHRpbWVzdGFtcDogbnVtYmVyO1xuXHR9O1xuXHRzdGFnZTogRGF0YVJlcXVlc3RTdGF0dXM7XG59O1xuXG4vLyBEYXRhIHJlcXVlc3QgY3VycmVudCBzdGFnZVxuZXhwb3J0IGVudW0gRGF0YVJlcXVlc3RTdGFnZSB7XG5cdC8vRXhwZWN0aW5nIGNvbW1pdG1lbnRzIGZvciBkYXRhIHJlcXVlc3Rcblx0Q09NTUlUID0gXCJDT01NSVRcIixcblx0Ly9FeHBlY3RpbmcgcmV2ZWFscyB0byBwcmV2aW91c2x5IHB1Ymxpc2hlZCBjb21taXRtZW50c1xuXHRSRVZFQUwgPSBcIlJFVkVBTFwiLFxuXHQvL0V4cGVjdGluZyB0YWxseSB0byBiZSBpbmNsdWRlZCBpbiBibG9ja1xuXHRUQUxMWSA9IFwiVEFMTFlcIixcbn1cblxuZXhwb3J0IHR5cGUgUHJpb3JpdHlFc3RpbWF0ZSA9IHtcblx0cHJpb3JpdHk6IGY2NDtcblx0dGltZV90b19ibG9jazogdTY0O1xufTtcblxuZXhwb3J0IHR5cGUgUHJpb3JpdGllcyA9IHtcblx0ZHJ0X3N0aW5reTogUHJpb3JpdHlFc3RpbWF0ZTtcblx0ZHJ0X2xvdzogUHJpb3JpdHlFc3RpbWF0ZTtcblx0ZHJ0X21lZGl1bTogUHJpb3JpdHlFc3RpbWF0ZTtcblx0ZHJ0X2hpZ2g6IFByaW9yaXR5RXN0aW1hdGU7XG5cdGRydF9vcHVsZW50OiBQcmlvcml0eUVzdGltYXRlO1xuXHRzdF9zdGlua3k6IFByaW9yaXR5RXN0aW1hdGU7XG5cdHN0X2xvdzogUHJpb3JpdHlFc3RpbWF0ZTtcblx0c3RfbWVkaXVtOiBQcmlvcml0eUVzdGltYXRlO1xuXHRzdF9oaWdoOiBQcmlvcml0eUVzdGltYXRlO1xuXHRzdF9vcHVsZW50OiBQcmlvcml0eUVzdGltYXRlO1xuXHR1dF9zdGlua3k6IFByaW9yaXR5RXN0aW1hdGU7XG5cdHV0X2xvdzogUHJpb3JpdHlFc3RpbWF0ZTtcblx0dXRfbWVkaXVtOiBQcmlvcml0eUVzdGltYXRlO1xuXHR1dF9oaWdoOiBQcmlvcml0eUVzdGltYXRlO1xuXHR1dF9vcHVsZW50OiBQcmlvcml0eUVzdGltYXRlO1xuXHR2dHRfc3Rpbmt5OiBQcmlvcml0eUVzdGltYXRlO1xuXHR2dHRfbG93OiBQcmlvcml0eUVzdGltYXRlO1xuXHR2dHRfbWVkaXVtOiBQcmlvcml0eUVzdGltYXRlO1xuXHR2dHRfaGlnaDogUHJpb3JpdHlFc3RpbWF0ZTtcblx0dnR0X29wdWxlbnQ6IFByaW9yaXR5RXN0aW1hdGU7XG59O1xuXG5leHBvcnQgdHlwZSBLZXllZFNpZ25hdHVyZSA9IHtcblx0Ly8gU2lnbmF0dXJlXG5cdHNpZ25hdHVyZTogU2lnbmF0dXJlO1xuXHQvLyBQdWJsaWMga2V5XG5cdHB1YmxpY19rZXk6IHtcblx0XHRjb21wcmVzc2VkOiBudW1iZXI7XG5cdFx0Ynl0ZXM6IEFycmF5PHU4Pjtcblx0fTtcbn07XG5cbi8vIFJlc3VsdCBvZiBHZXRNZW1wb29sIG1lc3NhZ2U6IGxpc3Qgb2YgcGVuZGluZyB0cmFuc2FjdGlvbnMgY2F0ZWdvcml6ZWQgYnkgdHlwZVxuZXhwb3J0IHR5cGUgTWVtcG9vbCA9IHtcblx0Ly8gUGVuZGluZyB2YWx1ZSB0cmFuc2ZlciB0cmFuc2FjdGlvbnNcblx0dmFsdWVfdHJhbnNmZXI6IEFycmF5PEhhc2g+O1xuXHQvLyBQZW5kaW5nIGRhdGEgcmVxdWVzdCB0cmFuc2FjdGlvbnNcblx0ZGF0YV9yZXF1ZXN0OiBBcnJheTxIYXNoPjtcbn07XG5cbi8vIE5hbWVkIHR1cGxlIG9mIGAoYWRkcmVzcywgdHlwZSlgXG5leHBvcnQgdHlwZSBQZWVyQWRkciA9IHtcblx0Ly9Tb2NrZXQgYWRkcmVzcyBvZiB0aGUgcGVlclxuXHRhZGRyZXNzOiBzdHJpbmc7XG5cdC8vIFwiaW5ib3VuZFwiIHwgXCJvdXRib3VuZFwiIHdoZW4gYXNraW5nIGZvciBjb25uZWN0ZWQgcGVlcnMsIG9yXG5cdC8vIFwibmV3XCIgfCBcInRyaWVkXCIgd2hlbiBhc2tpbmcgZm9yIGFsbCB0aGUga25vd24gcGVlcnNcblx0dHlwZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvdG9jb2xJbmZvID0ge1xuXHRhbGxfY2hlY2twb2ludHNfcGVyaW9kczogUmVjb3JkPHN0cmluZywgdTg+O1xuXHRhbGxfdmVyc2lvbnM6IHtcblx0XHRlZnY6IFJlY29yZDxzdHJpbmcsIEVwb2NoPjtcblx0XHR2ZmU6IFJlY29yZDxFcG9jaCwgc3RyaW5nPjtcblx0fTtcblx0Y3VycmVudF92ZXJzaW9uOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSQURBZ2dyZWdhdGUgPSB7IGZpbHRlcnM6IEFycmF5PFJBREZpbHRlcj47IHJlZHVjZXI6IHUzMiB9O1xuZXhwb3J0IHR5cGUgUkFERmlsdGVyID0geyBvcDogdTMyOyBhcmdzOiBBcnJheTx1OD4gfTtcbmV4cG9ydCB0eXBlIFJBRFJlcXVlc3QgPSB7XG5cdHRpbWVMb2NrOiBudW1iZXI7XG5cdHJldHJpZXZlOiBBcnJheTxSQURSZXRyaWV2ZT47XG5cdGFnZ3JlZ2F0ZTogUkFEQWdncmVnYXRlO1xuXHR0YWxseTogUkFEVGFsbHk7XG59O1xuZXhwb3J0IHR5cGUgUkFEUmV0cmlldmUgPSB7IHR5cGU6IFJBRFR5cGU7IHVybDogc3RyaW5nOyBzY3JpcHQ6IEFycmF5PHU4PiB9O1xuZXhwb3J0IHR5cGUgUkFEVGFsbHkgPSB7XG5cdGZpbHRlcnM6IEFycmF5PFJBREZpbHRlcj47XG5cdHJlZHVjZXI6IHUzMjtcbn07XG5cbmV4cG9ydCBlbnVtIFJBRFR5cGUge1xuXHRIdHRwR2V0ID0gXCJIVFRQLUdFVFwiLFxuXHRIdHRwUG9zdCA9IFwiSFRUUC1QT1NUXCIsXG5cdEh0dHBIZWFkID0gXCJIVFRQLUhFQURcIixcblx0Um5nID0gXCJSTkdcIixcbn1cblxuLy8gRUNEU0EgKG92ZXIgc2VjcDI1NmsxKSBzaWduYXR1cmVcbmV4cG9ydCB0eXBlIFNlY3AyNTZrMVNpZ25hdHVyZSA9IHtcblx0Ly8gVGhlIHNpZ25hdHVyZSBzZXJpYWxpemVkIGluIERFUlxuXHRkZXI6IEFycmF5PHU4Pjtcbn07XG5cbi8vUmVzdWx0IG9mIEdldFNpZ25hbGluZ0luZm9cbmV4cG9ydCB0eXBlIFNpZ25hbGluZ0luZm8gPSB7XG5cdC8vTGlzdCBvZiBwcm90b2NvbCB1cGdyYWRlcyB0aGF0IGFyZSBhbHJlYWR5IGFjdGl2ZSwgYW5kIHRoZWlyIGFjdGl2YXRpb24gZXBvY2hcblx0YWN0aXZlX3VwZ3JhZGVzOiBSZWNvcmQ8c3RyaW5nLCBFcG9jaD47XG5cdC8vTGlzdCBvZiBwcm90b2NvbCB1cGdyYWRlcyB0aGF0IGFyZSBjdXJyZW50bHkgYmVpbmcgcG9sbGVkIGZvciBhY3RpdmF0aW9uIHNpZ25hbGluZ1xuXHRwZW5kaW5nX3VwZ3JhZGVzOiBBcnJheTxCaXRWb3Rlc0NvdW50ZXI+O1xuXHQvL0xhc3QgZXBvY2hcblx0ZXBvY2g6IEVwb2NoO1xufTtcblxuLy8gRGlnaXRhbCBzaWduYXR1cmVzIHN0cnVjdHVyZSAoYmFzZWQgb24gc3VwcG9ydGVkIGNyeXB0b3N5c3RlbXMpXG5leHBvcnQgdHlwZSBTaWduYXR1cmUgPSB7XG5cdC8vIEVDRFNBIG92ZXIgc2VjcDI1NmsxXG5cdFNlY3AyNTZrMTogU2VjcDI1NmsxU2lnbmF0dXJlO1xufTtcblxuLy8gU3RhdGUgbWFjaGluZSBmb3IgdGhlIHN5bmNocm9uaXphdGlvbiBzdGF0dXMgb2YgYSBXaXRuZXQgbm9kZVxuZXhwb3J0IGVudW0gU3RhdGVNYWNoaW5lIHtcblx0Ly8gRmlyc3Qgc3RhdGUsIENoYWluTWFuYWdlciBpcyB3YWl0aW5nIGZvciByZWFjaGluZyAgY29uc2Vuc3VzIGJldHdlZW4gaXRzIHBlZXJzXG5cdFdhaXRpbmdDb25zZW5zdXMgPSBcIldhaXRpbmdDb25zZW5zdXNcIixcblx0Ly8gU2Vjb25kIHN0YXRlLCBDaGFpbk1hbmFnZXIgc3luY2hyb25pemF0aW9uIHByb2Nlc3Ncblx0U3luY2hyb25pemluZyA9IFwiU3luY2hyb25pemluZyBcIixcblx0Ly8gVGhpcmQgc3RhdGUsIGBDaGFpbk1hbmFnZXJgIGhhcyBhbGwgdGhlIGJsb2NrcyBpbiB0aGUgY2hhaW4gYW5kIGlzIHJlYWR5IHRvIHN0YXJ0XG5cdC8vIGNvbnNvbGlkYXRpbmcgYmxvY2sgY2FuZGlkYXRlcyBpbiByZWFsIHRpbWUuXG5cdEFsbW9zdFN5bmNlZCA9IFwiQWxtb3N0U3luY2VkXCIsXG5cdC8vIEZvdXJ0aCBzdGF0ZSwgYENoYWluTWFuYWdlcmAgY2FuIGNvbnNvbGlkYXRlIGJsb2NrIGNhbmRpZGF0ZXMsIHByb3Bvc2UgaXRzIG93blxuXHQvLyBjYW5kaWRhdGVzIChtaW5pbmcpIGFuZCBwYXJ0aWNpcGF0ZSBpbiByZXNvbHZpbmcgZGF0YSByZXF1ZXN0cyAod2l0bmVzc2luZykuXG5cdFN5bmNlZCA9IFwiU3luY2VkXCIsXG59XG5cbmV4cG9ydCB0eXBlIFN0YWtlQXV0aG9yaXphdGlvbiA9IHtcblx0d2l0aGRyYXdlcjogUHVibGljS2V5SGFzaFN0cmluZztcblx0c2lnbmF0dXJlOiBLZXllZFNpZ25hdHVyZTtcbn07XG5cbmV4cG9ydCB0eXBlIFN0YWtlRGVsZWdhdGUgPSB7XG5cdGNvaW5zOiBiaWdpbnQ7XG5cdHZhbGlkYXRvcjogUHVibGljS2V5SGFzaFN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFN0YWtlRW50cnkgPSB7XG5cdGtleToge1xuXHRcdHZhbGlkYXRvcjogUHVibGljS2V5SGFzaFN0cmluZztcblx0XHR3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nO1xuXHR9O1xuXHR2YWx1ZToge1xuXHRcdGNvaW5zOiBiaWdpbnQ7XG5cdFx0ZXBvY2hzOiBSZWNvcmQ8U3Rha2luZ0NhcGFiaWxpdHksIEVwb2NoPjtcblx0XHRub25jZTogdTY0O1xuXHR9O1xufTtcblxuZXhwb3J0IHR5cGUgU3Rha2UgPSB7XG5cdHRvdGFsOiBiaWdpbnQ7XG5cdGRlbGVnYXRlczogQXJyYXk8U3Rha2VEZWxlZ2F0ZT47XG59O1xuXG5leHBvcnQgZW51bSBTdGFraW5nQ2FwYWJpbGl0eSB7XG5cdE1pbmluZyA9IFwibWluaW5nXCIsXG5cdFdpdG5lc3NpbmcgPSBcIndpdG5lc3NpbmdcIixcbn1cblxuZXhwb3J0IHR5cGUgU3Rha2luZ1Bvd2VyID0ge1xuXHRwb3dlcj86IHU2NDtcblx0cmFua2luZz86IHUzMjtcblx0dmFsaWRhdG9yOiBQdWJsaWNLZXlIYXNoU3RyaW5nO1xuXHR3aXRoZHJhd2VyOiBQdWJsaWNLZXlIYXNoU3RyaW5nO1xufTtcblxuLy8gU3VwZXJibG9jayBjb25zb2xpZGF0aW5nIG1ldGFkYXRhXG4vL0FzIHBlciBjdXJyZW50IGNvbnNlbnN1cyBhbGdvcml0aG0sIFwiY29uc29saWRhdGVkIGJsb2Nrc1wiIGltcGxpZXMgdGhhdCB0aGVyZSBleGlzdHMgYXQgbGVhc3Qgb25lXG4vL3N1cGVyYmxvY2sgaW4gdGhlIGNoYWluIHRoYXQgYnVpbGRzIHVwb24gdGhlIHN1cGVyYmxvY2sgd2hlcmUgdGhvc2UgYmxvY2tzIHdlcmUgYW5jaG9yZWQuXG5leHBvcnQgdHlwZSBTdXBlcmJsb2NrUmVwb3J0ID0ge1xuXHQvL1RoZSBzdXBlcmJsb2NrIHRoYXQgd2UgYXJlIHNpZ25hbGluZyBhcyBjb25zb2xpZGF0ZWQuXG5cdHN1cGVyYmxvY2s6IHtcblx0XHQvL051bWJlciBvZiBzaWduaW5nIGNvbW1pdHRlZSBtZW1iZXJzLFxuXHRcdHNpZ25pbmdfY29tbWl0dGVlX2xlbmd0aDogdTMyO1xuXHRcdC8vTWVya2xlIHJvb3Qgb2YgdGhlIEFjdGl2ZSBSZXB1dGF0aW9uIFNldCBtZW1iZXJzIGluY2x1ZGVkIGludG8gdGhlIHByZXZpb3VzIFN1cGVyQmxvY2tcblx0XHRhcnNfcm9vdDogSGFzaDtcblx0XHQvL01lcmtsZSByb290IG9mIHRoZSBkYXRhIHJlcXVlc3RzIGluIHRoZSBibG9ja3MgY3JlYXRlZCBzaW5jZSB0aGUgbGFzdCBTdXBlckJsb2NrXG5cdFx0ZGF0YV9yZXF1ZXN0X3Jvb3Q6IEhhc2g7XG5cdFx0Ly9TdXBlcmJsb2NrIGluZGV4LFxuXHRcdGluZGV4OiB1MzI7XG5cdFx0Ly9IYXNoIG9mIHRoZSBibG9jayB0aGF0IHRoaXMgU3VwZXJCbG9jayBpcyBhdHRlc3RpbmcgYXMgdGhlIGxhdGVzdCBibG9jayBpbiB0aGUgYmxvY2sgY2hhaW4sXG5cdFx0bGFzdF9ibG9jazogSGFzaDtcblx0XHQvL0hhc2ggb2YgdGhlIGJsb2NrIHRoYXQgdGhlIHByZXZpb3VzIFN1cGVyQmxvY2sgdXNlZCBmb3IgaXRzIG93biBgbGFzdF9ibG9ja2AgZmllbGQsXG5cdFx0bGFzdF9ibG9ja19pbl9wcmV2aW91c19zdXBlcmJsb2NrOiBIYXNoO1xuXHRcdC8vTWVya2xlIHJvb3Qgb2YgdGhlIHRhbGxpZXMgaW4gdGhlIGJsb2NrcyBjcmVhdGVkIHNpbmNlIHRoZSBsYXN0IFN1cGVyQmxvY2tcblx0XHR0YWxseV9yb290OiBIYXNoO1xuXHR9O1xuXHQvL1RoZSBoYXNoZXMgb2YgdGhlIGJsb2NrcyB0aGF0IHdlIGFyZSBzaWduYWxpbmcgYXMgY29uc29saWRhdGVkLlxuXHRjb25zb2xpZGF0ZWRfYmxvY2tfaGFzaGVzOiBBcnJheTxIYXNoPjtcbn07XG5cbi8vIEluZm9ybWF0aW9uIGFib3V0IHRoZSB0b3RhbCBzdXBwbHlcbmV4cG9ydCB0eXBlIFN1cHBseUluZm8gPSB7XG5cdC8vQ3VycmVudCBlcG9jaFxuXHRlcG9jaDogdTMyO1xuXHQvL0N1cnJlbnQgdGltZVxuXHRjdXJyZW50X3RpbWU6IHU2NDtcblx0Ly9OdW1iZXIgb2YgYmxvY2tzIG1pbnRlZFxuXHRibG9ja3NfbWludGVkOiB1MzI7XG5cdC8vV0lUIG1pbnRlZCB0aHJvdWdoIGJsb2NrIGNyZWF0aW9uXG5cdGJsb2Nrc19taW50ZWRfcmV3YXJkOiB1NjQ7XG5cdC8vQW1vdW50IG9mIG5hbm93aXRzIHRoYXQgaGF2ZSBiZWVuIGJ1cm50IHNvIGZhclxuXHRidXJudF9zdXBwbHk6IGJpZ2ludDtcblx0Ly9DdXJyZW50IGxvY2tlZCBzdXBwbHlcblx0Y3VycmVudF9sb2NrZWRfc3VwcGx5OiBiaWdpbnQ7XG5cdC8vQ3VycmVudCBzdGFrZWQgc3VwcGx5XG5cdGN1cnJlbnRfc3Rha2VkX3N1cHBseTogYmlnaW50O1xuXHQvL0N1cnJlbnQgdW5sb2NrZWQgc3VwcGx5XG5cdGN1cnJlbnRfdW5sb2NrZWRfc3VwcGx5OiBiaWdpbnQ7XG5cdC8vSW5pdGlhbCBzdXBwbHlcblx0aW5pdGlhbF9zdXBwbHk6IGJpZ2ludDtcblx0Ly9XSVQgY3VycmVudGx5IGxvY2tlZCBhcyBjb2xsYXRlcmFsIGJ5IGluLWZsaWdodCBkYXRhIHJlcXVlc3RzXG5cdHJlcXVlc3RzX2luX2ZsaWdodF9jb2xsYXRlcmFsOiB1NjQ7XG59O1xuXG4vLyBOb2RlIHN5bmNocm9uaXphdGlvbiBzdGF0dXNcbmV4cG9ydCB0eXBlIFN5bmNTdGF0dXMgPSB7XG5cdC8vIFRoZSBoYXNoIG9mIHRoZSB0b3AgY29uc29saWRhdGVkIGJsb2NrIGFuZCB0aGUgZXBvY2ggb2YgdGhhdCBibG9ja1xuXHRjaGFpbl9iZWFjb246IENoZWNrcG9pbnRCZWFjb247XG5cdC8vIFRoZSBjdXJyZW50IGVwb2NoLCBvciBOb25lIGlmIHRoZSBlcG9jaCAwIGlzIGluIHRoZSBmdXR1cmVcblx0Y3VycmVudF9lcG9jaD86IEVwb2NoO1xuXHQvLyBOb2RlIFN0YXRlXG5cdG5vZGVfc3RhdGU6IFN0YXRlTWFjaGluZTtcbn07XG5cbi8vIEluZm9ybWF0aW9uIGFib3V0IG91ciBvd24gVVRYT3NcbmV4cG9ydCB0eXBlIFV0eG9JbmZvID0ge1xuXHQvL1ZlY3RvciBvZiBVdHhvUG9pbnRlcnMgd2l0aCB0aGVpciB2YWx1ZXMsIHRpbWVfbG9ja3MgYW5kIGlmIGl0IGlzIHJlYWR5IGZvciBjb2xsYXRlcmFsXG5cdHV0eG9zOiBBcnJheTxVdHhvTWV0YWRhdGE+O1xuXHQvL01pbmltdW0gY29sbGF0ZXJhbCBmcm9tIGNvbnNlbnN1cyBjb25zdGFudHNcblx0Y29sbGF0ZXJhbF9taW46IGJpZ2ludDtcbn07XG5cbmV4cG9ydCB0eXBlIFV0eG9NZXRhZGF0YSA9IHtcblx0b3V0cHV0X3BvaW50ZXI6IHN0cmluZztcblx0dGltZWxvY2s6IHU2NDtcblx0dXR4b19tYXR1cmU/OiBib29sZWFuO1xuXHR2YWx1ZTogYmlnaW50O1xufTtcblxuZXhwb3J0IHR5cGUgVmFsdWVUcmFuc2Zlck91dHB1dCA9IHtcblx0cGtoOiBIYXNoO1xuXHR2YWx1ZTogYmlnaW50O1xuXHR0aW1lX2xvY2s6IHU2NDtcbn07XG5cbi8vIEEgVlJGIFByb29mIGlzIGEgdW5pcXVlLCBkZXRlcm1pbmlzdGljIHdheSB0byBzaWduIGEgbWVzc2FnZSB3aXRoIGEgcHVibGljIGtleS5cbi8vIEl0IGlzIHVzZWQgdG8gcHJldmVudCBvbmUgaWRlbnRpdHkgZnJvbSBjcmVhdGluZyBtdWx0aXBsZSBkaWZmZXJlbnQgcHJvb2ZzIG9mIGVsaWdpYmlsaXR5LlxuZXhwb3J0IHR5cGUgVnJmUHJvb2YgPSB7XG5cdHByb29mOiBVaW50OEFycmF5O1xuXHRwdWJsaWNfa2V5OiBVaW50OEFycmF5OyAvL1B1YmxpY0tleTtcbn07XG5cbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gLS0tIFRyYW5zYWN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvblJlcG9ydCA9IHtcblx0YmxvY2tFcG9jaDogRXBvY2g7XG5cdGJsb2NrSGFzaDogSGFzaDtcblx0YmxvY2tUaW1lc3RhbXA6IG51bWJlcjtcblx0Y29uZmlybWF0aW9uczogbnVtYmVyO1xuXHRjb25maXJtZWQ6IGJvb2xlYW47XG5cdHRyYW5zYWN0aW9uOiB7XG5cdFx0UmV2ZWFsPzogRGF0YVJlcXVlc3RSZXZlYWxUcmFuc2FjdGlvbjtcblx0XHRDb21taXQ/OiBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uO1xuXHRcdFRhbGx5PzogRGF0YVJlcXVlc3RUYWxseVRyYW5zYWN0aW9uO1xuXHR9O1xuXHR3ZWlnaHQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0Q29tbWl0VHJhbnNhY3Rpb24gPSB7XG5cdGJvZHk6IERhdGFSZXF1ZXN0Q29tbWl0VHJhbnNhY3Rpb25Cb2R5O1xuXHRzaWduYXR1cmVzOiBBcnJheTxLZXllZFNpZ25hdHVyZT47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdENvbW1pdFRyYW5zYWN0aW9uQm9keSA9IHtcblx0Ly8gRGF0YVJlcXVlc3RUcmFuc2FjdGlvbiBoYXNoXG5cdGRyX3BvaW50ZXI6IEhhc2g7XG5cdC8vIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24gU2lnbmF0dXJlIEhhc2hcblx0Y29tbWl0bWVudDogSGFzaDtcblx0Ly8gQ2hhbmdlIGZyb20gY29sbGF0ZXJhbC4gVGhlIG91dHB1dCBwa2ggbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGUgaW5wdXRzLFxuXHQvLyBhbmQgdGhlcmUgY2FuIG9ubHkgYmUgb25lIG91dHB1dFxuXHRvdXRwdXRzOiBBcnJheTxWYWx1ZVRyYW5zZmVyT3V0cHV0Pjtcblx0Ly8gQkxTIHB1YmxpYyBrZXkgKGN1cnZlIGJuMjU2KVxuXHRibjI1Nl9wdWJsaWNfa2V5PzogQm4yNTZQdWJsaWNLZXk7XG5cblx0aGFzaDogSGFzaDtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb24gPSB7XG5cdGJvZHk6IERhdGFSZXF1ZXN0UmV2ZWFsVHJhbnNhY3Rpb25Cb2R5O1xuXHRzaWduYXR1cmVzOiBBcnJheTxLZXllZFNpZ25hdHVyZT47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRhUmVxdWVzdFJldmVhbFRyYW5zYWN0aW9uQm9keSA9IHtcblx0Ly8gSW5wdXRzXG5cdGRyX3BvaW50ZXI6IEhhc2g7IC8vIERUVHJhbnNhY3Rpb24gaGFzaFxuXHQvLyBPdXRwdXRzXG5cdHJldmVhbDogQXJyYXk8dTg+O1xuXHRwa2g6IHsgaGFzaDogVWludDhBcnJheSB9OyAvLyB3aGVyZSB0byByZWNlaXZlIHJld2FyZFxuXHRoYXNoOiBIYXNoO1xufTtcblxuZXhwb3J0IHR5cGUgRGF0YVJlcXVlc3RUYWxseVRyYW5zYWN0aW9uID0ge1xuXHQvLyBEYXRhUmVxdWVzdFRyYW5zYWN0aW9uIGhhc2hcblx0ZHJfcG9pbnRlcjogSGFzaDtcblx0Ly8gVGFsbHkgcmVzdWx0XG5cdHRhbGx5OiBVaW50OEFycmF5O1xuXHQvLyBXaXRuZXNzIHJld2FyZHNcblx0b3V0cHV0czogQXJyYXk8VmFsdWVUcmFuc2Zlck91dHB1dD47XG5cdC8vIEFkZHJlc3NlcyB0aGF0IGFyZSBvdXQgb2YgY29uc2Vuc3VzIChub24gcmV2ZWFsZXJzIGluY2x1ZGVkKVxuXHRvdXRfb2ZfY29uc2Vuc3VzOiBBcnJheTx7IGhhc2g6IFVpbnQ4QXJyYXkgfT47XG5cdC8vIEFkZHJlc3NlcyB0aGF0IGNvbW1pdCBhIFJhZG9uRXJyb3IgKG9yIGNvbnNpZGVyZWQgYXMgYW4gRXJyb3IgZHVlIHRvIGEgUmFkb25FcnJvciBjb25zZW5zdXMpXG5cdGVycm9yX2NvbW1pdHRlcnM6IEFycmF5PHsgaGFzaDogVWludDhBcnJheSB9Pjtcblx0Ly8gVE9ET1xuXHQvLyBoYXNoOiBIYXNoO1xufTtcblxuLy8vIE5vZGUgc3RhdHNcbmV4cG9ydCB0eXBlIE5vZGVTdGF0cyA9IHtcblx0Ly9OdW1iZXIgb2YgcHJvcG9zZWQgYmxvY2tzXG5cdGJsb2NrX3Byb3Bvc2VkX2NvdW50OiB1MzI7XG5cdC8vTnVtYmVyIG9mIGJsb2NrcyBpbmNsdWRlZCBpbiB0aGUgYmxvY2sgY2hhaW5cblx0YmxvY2tfbWluZWRfY291bnQ6IHUzMjtcblx0Ly9OdW1iZXIgb2YgdGltZXMgd2Ugd2VyZSBlbGlnaWJsZSB0byBwYXJ0aWNpcGF0ZSBpbiBhIERhdGEgUmVxdWVzdFxuXHRkcl9lbGlnaWJpbGl0eV9jb3VudDogdTMyO1xuXHQvL051bWJlciBvZiBwcm9wb3NlZCBjb21taXRzXG5cdGNvbW1pdHNfcHJvcG9zZWRfY291bnQ6IHUzMjtcblx0Ly9OdW1iZXIgb2YgY29tbWl0cyBpbmNsdWRlZCBpbiBhIGRhdGEgcmVxdWVzdFxuXHRjb21taXRzX2NvdW50OiB1MzI7XG5cdC8vTGFzdCBibG9jayBwcm9wb3NlZFxuXHRsYXN0X2Jsb2NrX3Byb3Bvc2VkOiBIYXNoO1xuXHQvL051bWJlciBvZiBzbGFzaGVkIGNvbW1pdHNcblx0c2xhc2hlZF9jb3VudDogdTMyO1xufTtcbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export { TimeoutError } from "./crypto/types.js";
2
2
  export { StakesOrderBy, StakingCapability, } from "./rpc/types.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUtqRCxPQUFPLEVBYU4sYUFBYSxFQUNiLGlCQUFpQixHQUtqQixNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSBcIi4vY3J5cHRvL3R5cGVzLmpzXCI7XHJcbmV4cG9ydCB7IERhdGFQdXNoUmVwb3J0IH0gZnJvbSBcIi4vcmVzdC90eXBlcy5qc1wiO1xyXG5leHBvcnQgeyBJSnNvblJwY05vZGVGYXJtIH0gZnJvbSBcIi4vcnBjL25vZGVzLmpzXCI7XHJcbmV4cG9ydCB7IElKc29uUnBjUHJvdmlkZXIgfSBmcm9tIFwiLi9ycGMvcHJvdmlkZXIuanNcIjtcclxuXHJcbmV4cG9ydCB7XHJcblx0QmFsYW5jZTIgYXMgQmFsYW5jZSxcclxuXHRCbG9jayxcclxuXHRCbG9ja1RyYW5zYWN0aW9uc0hhc2hlcyxcclxuXHRDb25zZW5zdXNDb25zdGFudHMsXHJcblx0RGF0YVJlcXVlc3RTdGF0dXMsXHJcblx0R2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydCxcclxuXHRHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQsXHJcblx0R2V0RGF0YVJlcXVlc3RNb2RlLFxyXG5cdE5ldHdvcmssXHJcblx0UHJpb3JpdGllcyBhcyBOZXR3b3JrUHJpb3JpdGllcyxcclxuXHRRdWVyeVN0YWtlc09yZGVyLFxyXG5cdFN0YWtlRW50cnksXHJcblx0U3Rha2VzT3JkZXJCeSxcclxuXHRTdGFraW5nQ2FwYWJpbGl0eSxcclxuXHRTeW5jU3RhdHVzLFxyXG5cdFRyYW5zYWN0aW9uUmVwb3J0LFxyXG5cdFV0eG9NZXRhZGF0YSxcclxuXHRWYWx1ZVRyYW5zZmVyT3V0cHV0LFxyXG59IGZyb20gXCIuL3JwYy90eXBlcy5qc1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgZjY0ID0gbnVtYmVyO1xyXG5leHBvcnQgdHlwZSBpMzIgPSBudW1iZXI7XHJcbmV4cG9ydCB0eXBlIGk2NCA9IG51bWJlcjtcclxuZXhwb3J0IHR5cGUgdTggPSBudW1iZXI7XHJcbmV4cG9ydCB0eXBlIHUxNiA9IG51bWJlcjtcclxuZXhwb3J0IHR5cGUgdTMyID0gbnVtYmVyO1xyXG5leHBvcnQgdHlwZSB1NjQgPSBudW1iZXI7XHJcbmV4cG9ydCB0eXBlIHVzaXplID0gbnVtYmVyO1xyXG5cclxuZXhwb3J0IHR5cGUgRXBvY2ggPSBpMzI7XHJcbmV4cG9ydCB0eXBlIEVyciA9IHN0cmluZztcclxuZXhwb3J0IHR5cGUgSGFzaCA9IHN0cmluZztcclxuZXhwb3J0IHR5cGUgSGV4U3RyaW5nID0gc3RyaW5nO1xyXG5leHBvcnQgdHlwZSBOb25jZSA9IHU2NDtcclxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUtqRCxPQUFPLEVBYU4sYUFBYSxFQUNiLGlCQUFpQixHQUtqQixNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgVGltZW91dEVycm9yIH0gZnJvbSBcIi4vY3J5cHRvL3R5cGVzLmpzXCI7XG5leHBvcnQgeyBEYXRhUHVzaFJlcG9ydCB9IGZyb20gXCIuL3Jlc3QvdHlwZXMuanNcIjtcbmV4cG9ydCB7IElKc29uUnBjTm9kZUZhcm0gfSBmcm9tIFwiLi9ycGMvbm9kZXMuanNcIjtcbmV4cG9ydCB7IElKc29uUnBjUHJvdmlkZXIgfSBmcm9tIFwiLi9ycGMvcHJvdmlkZXIuanNcIjtcblxuZXhwb3J0IHtcblx0QmFsYW5jZTIgYXMgQmFsYW5jZSxcblx0QmxvY2ssXG5cdEJsb2NrVHJhbnNhY3Rpb25zSGFzaGVzLFxuXHRDb25zZW5zdXNDb25zdGFudHMsXG5cdERhdGFSZXF1ZXN0U3RhdHVzLFxuXHRHZXREYXRhUmVxdWVzdEV0aGVyZWFsUmVwb3J0LFxuXHRHZXREYXRhUmVxdWVzdEZ1bGxSZXBvcnQsXG5cdEdldERhdGFSZXF1ZXN0TW9kZSxcblx0TmV0d29yayxcblx0UHJpb3JpdGllcyBhcyBOZXR3b3JrUHJpb3JpdGllcyxcblx0UXVlcnlTdGFrZXNPcmRlcixcblx0U3Rha2VFbnRyeSxcblx0U3Rha2VzT3JkZXJCeSxcblx0U3Rha2luZ0NhcGFiaWxpdHksXG5cdFN5bmNTdGF0dXMsXG5cdFRyYW5zYWN0aW9uUmVwb3J0LFxuXHRVdHhvTWV0YWRhdGEsXG5cdFZhbHVlVHJhbnNmZXJPdXRwdXQsXG59IGZyb20gXCIuL3JwYy90eXBlcy5qc1wiO1xuXG5leHBvcnQgdHlwZSBmNjQgPSBudW1iZXI7XG5leHBvcnQgdHlwZSBpMzIgPSBudW1iZXI7XG5leHBvcnQgdHlwZSBpNjQgPSBudW1iZXI7XG5leHBvcnQgdHlwZSB1OCA9IG51bWJlcjtcbmV4cG9ydCB0eXBlIHUxNiA9IG51bWJlcjtcbmV4cG9ydCB0eXBlIHUzMiA9IG51bWJlcjtcbmV4cG9ydCB0eXBlIHU2NCA9IG51bWJlcjtcbmV4cG9ydCB0eXBlIHVzaXplID0gbnVtYmVyO1xuXG5leHBvcnQgdHlwZSBFcG9jaCA9IGkzMjtcbmV4cG9ydCB0eXBlIEVyciA9IHN0cmluZztcbmV4cG9ydCB0eXBlIEhhc2ggPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBIZXhTdHJpbmcgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBOb25jZSA9IHU2NDtcbiJdfQ==
@@ -43,4 +43,4 @@ export function txJsonReplacer(key, value) {
43
43
  return value;
44
44
  }
45
45
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFDTixhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsR0FDZCxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFVBQVUsR0FDVixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDTixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpFLE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN6QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLE1BQVc7SUFFWCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3hCLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN0RCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUNyQixDQUNELENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNwQyxNQUFXO0lBRVgsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN4QixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN4RCxLQUFLLENBQUMsR0FBRztRQUNULEtBQUssQ0FBQyxRQUFRO0tBQ2QsQ0FBQyxDQUNGLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQVc7SUFDN0MsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN4QixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDcEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FDckIsQ0FDRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDbEMsUUFBZ0IsRUFDaEIsTUFBWTtJQUVaLE9BQU8saUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLFFBQWdCLEVBQ2hCLE1BQVk7SUFFWixPQUFPLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUNoQyxRQUFnQixFQUNoQixNQUFZO0lBRVosT0FBTyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBVyxFQUFFLEtBQWE7SUFDeEQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNiLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxLQUFLO1lBQ1QsT0FBTyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pDLEtBQUssSUFBSTtZQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUMsS0FBSyxjQUFjO1lBQ2xCLE9BQU8sWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QztZQUNDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIGNib3IgfSBmcm9tIFwiY2JvclwiO1xyXG5cclxuZXhwb3J0IHtcclxuXHRmcm9tSGV4U3RyaW5nLFxyXG5cdGlwSXNQcml2YXRlT3JMb2NhbGhvc3QsXHJcblx0aXNIZXhTdHJpbmcsXHJcblx0aXNIZXhTdHJpbmdPZkxlbmd0aCxcclxuXHRwYXJzZVVSTCxcclxuXHR0b0hleFN0cmluZyxcclxuXHR0b1V0ZjhBcnJheSxcclxuXHR0b1V0ZjE2Qnl0ZXMsXHJcblx0dXRmOEFycmF5VG9TdHIsXHJcbn0gZnJvbSBcIi4uL2Jpbi9oZWxwZXJzLmpzXCI7XHJcblxyXG5leHBvcnQge1xyXG5cdGRlY2lwaGVyWHBydixcclxuXHRlY2RzYVZlcmlmeSxcclxuXHRwYXJzZVhwcnYsXHJcblx0c2VsZWN0VXR4b3MsXHJcblx0c2hhMjU2LFxyXG5cdHRvdGFsQ29pbnMsXHJcbn0gZnJvbSBcIi4vY3J5cHRvL3V0aWxzLmpzXCI7XHJcblxyXG5leHBvcnQge1xyXG5cdGV4ZWNSYWRvbkJ5dGVjb2RlLFxyXG5cdHBhcnNlUmFkb25TY3JpcHQsXHJcblx0c2VhcmNoUmFkb25Bc3NldHMsXHJcbn0gZnJvbSBcIi4vcmFkb24vdXRpbHMuanNcIjtcclxuXHJcbmltcG9ydCB7IHRvSGV4U3RyaW5nLCB0b1V0ZjE2Qnl0ZXMgfSBmcm9tIFwiLi4vYmluL2hlbHBlcnMuanNcIjtcclxuaW1wb3J0IHsgc2hhMjU2IH0gZnJvbSBcIi4vY3J5cHRvL3V0aWxzLmpzXCI7XHJcbmltcG9ydCB7IFJhZG9uTW9kYWwsIFJhZG9uUmVxdWVzdCwgUmFkb25UZW1wbGF0ZSB9IGZyb20gXCIuL3JhZG9uL2luZGV4LmpzXCI7XHJcbmltcG9ydCB7IGZsYXR0ZW5SYWRvbkFzc2V0cywgcmVxdWlyZVJhZG9uQXNzZXQgfSBmcm9tIFwiLi9yYWRvbi91dGlscy5qc1wiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRpZ2VzdE1lc3NhZ2UodGV4dDogc3RyaW5nKTogQnVmZmVyPEFycmF5QnVmZmVyTGlrZT4ge1xyXG5cdHJldHVybiBzaGEyNTYobmV3IFVpbnQ4QXJyYXkodG9VdGYxNkJ5dGVzKHRleHQpKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuUmFkb25SZXF1ZXN0cyhcclxuXHRhc3NldHM6IGFueSxcclxuKTogUmVjb3JkPHN0cmluZywgUmFkb25SZXF1ZXN0PiB7XHJcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcclxuXHRcdGZsYXR0ZW5SYWRvbkFzc2V0cyhhc3NldHMsIFJhZG9uUmVxdWVzdCkubWFwKChhc3NldCkgPT5cclxuXHRcdFx0T2JqZWN0LmVudHJpZXMoYXNzZXQpLFxyXG5cdFx0KSxcclxuXHQpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlblJhZG9uVGVtcGxhdGVzKFxyXG5cdGFzc2V0czogYW55LFxyXG4pOiBSZWNvcmQ8c3RyaW5nLCBSYWRvblRlbXBsYXRlPiB7XHJcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcclxuXHRcdGZsYXR0ZW5SYWRvbkFzc2V0cyhhc3NldHMsIFJhZG9uVGVtcGxhdGUpLm1hcCgoYXNzZXQpID0+IFtcclxuXHRcdFx0YXNzZXQua2V5LFxyXG5cdFx0XHRhc3NldC5hcnRpZmFjdCxcclxuXHRcdF0pLFxyXG5cdCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuUmFkb25Nb2RhbHMoYXNzZXRzOiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBSYWRvbk1vZGFsPiB7XHJcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcclxuXHRcdGZsYXR0ZW5SYWRvbkFzc2V0cyhhc3NldHMsIFJhZG9uTW9kYWwpLm1hcCgoYXNzZXQpID0+XHJcblx0XHRcdE9iamVjdC5lbnRyaWVzKGFzc2V0KSxcclxuXHRcdCksXHJcblx0KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVSYWRvblJlcXVlc3QoXHJcblx0YXJ0aWZhY3Q6IHN0cmluZyxcclxuXHRhc3NldHM/OiBhbnksXHJcbik6IFJhZG9uUmVxdWVzdCB8IHVuZGVmaW5lZCB7XHJcblx0cmV0dXJuIHJlcXVpcmVSYWRvbkFzc2V0KHsgYXJ0aWZhY3QsIGFzc2V0cywgdHlwZTogUmFkb25SZXF1ZXN0IH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZVJhZG9uVGVtcGxhdGUoXHJcblx0YXJ0aWZhY3Q6IHN0cmluZyxcclxuXHRhc3NldHM/OiBhbnksXHJcbik6IFJhZG9uVGVtcGxhdGUgfCB1bmRlZmluZWQge1xyXG5cdHJldHVybiByZXF1aXJlUmFkb25Bc3NldCh7IGFydGlmYWN0LCBhc3NldHMsIHR5cGU6IFJhZG9uVGVtcGxhdGUgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlUmFkb25Nb2RhbChcclxuXHRhcnRpZmFjdDogc3RyaW5nLFxyXG5cdGFzc2V0cz86IGFueSxcclxuKTogUmFkb25Nb2RhbCB8IHVuZGVmaW5lZCB7XHJcblx0cmV0dXJuIHJlcXVpcmVSYWRvbkFzc2V0KHsgYXJ0aWZhY3QsIGFzc2V0cywgdHlwZTogUmFkb25Nb2RhbCB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHR4SnNvblJlcGxhY2VyKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XHJcblx0c3dpdGNoIChrZXkpIHtcclxuXHRcdGNhc2UgXCJieXRlc1wiOlxyXG5cdFx0Y2FzZSBcImRlclwiOlxyXG5cdFx0XHRyZXR1cm4gdG9IZXhTdHJpbmcodmFsdWUsIHRydWUpO1xyXG5cdFx0Y2FzZSBcInR4XCI6XHJcblx0XHRcdHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSwgdHhKc29uUmVwbGFjZXIpO1xyXG5cdFx0Y2FzZSBcImRhdGFfcmVxdWVzdFwiOlxyXG5cdFx0XHRyZXR1cm4gUmFkb25SZXF1ZXN0LmZyb21Qcm90b2J1Zih2YWx1ZSk7XHJcblx0XHRkZWZhdWx0OlxyXG5cdFx0XHRyZXR1cm4gdmFsdWU7XHJcblx0fVxyXG59XHJcbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXZDLE9BQU8sRUFDTixhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsR0FDZCxNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDTixZQUFZLEVBQ1osV0FBVyxFQUNYLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFVBQVUsR0FDVixNQUFNLG1CQUFtQixDQUFDO0FBRTNCLE9BQU8sRUFDTixpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixHQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpFLE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN6QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLE1BQVc7SUFFWCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3hCLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN0RCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUNyQixDQUNELENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUNwQyxNQUFXO0lBRVgsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN4QixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN4RCxLQUFLLENBQUMsR0FBRztRQUNULEtBQUssQ0FBQyxRQUFRO0tBQ2QsQ0FBQyxDQUNGLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE1BQVc7SUFDN0MsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN4QixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDcEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FDckIsQ0FDRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FDbEMsUUFBZ0IsRUFDaEIsTUFBWTtJQUVaLE9BQU8saUJBQWlCLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQ25DLFFBQWdCLEVBQ2hCLE1BQVk7SUFFWixPQUFPLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUNoQyxRQUFnQixFQUNoQixNQUFZO0lBRVosT0FBTyxpQkFBaUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBVyxFQUFFLEtBQWE7SUFDeEQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNiLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxLQUFLO1lBQ1QsT0FBTyxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pDLEtBQUssSUFBSTtZQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDOUMsS0FBSyxjQUFjO1lBQ2xCLE9BQU8sWUFBWSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QztZQUNDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIGNib3IgfSBmcm9tIFwiY2JvclwiO1xuXG5leHBvcnQge1xuXHRmcm9tSGV4U3RyaW5nLFxuXHRpcElzUHJpdmF0ZU9yTG9jYWxob3N0LFxuXHRpc0hleFN0cmluZyxcblx0aXNIZXhTdHJpbmdPZkxlbmd0aCxcblx0cGFyc2VVUkwsXG5cdHRvSGV4U3RyaW5nLFxuXHR0b1V0ZjhBcnJheSxcblx0dG9VdGYxNkJ5dGVzLFxuXHR1dGY4QXJyYXlUb1N0cixcbn0gZnJvbSBcIi4uL2Jpbi9oZWxwZXJzLmpzXCI7XG5cbmV4cG9ydCB7XG5cdGRlY2lwaGVyWHBydixcblx0ZWNkc2FWZXJpZnksXG5cdHBhcnNlWHBydixcblx0c2VsZWN0VXR4b3MsXG5cdHNoYTI1Nixcblx0dG90YWxDb2lucyxcbn0gZnJvbSBcIi4vY3J5cHRvL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCB7XG5cdGV4ZWNSYWRvbkJ5dGVjb2RlLFxuXHRwYXJzZVJhZG9uU2NyaXB0LFxuXHRzZWFyY2hSYWRvbkFzc2V0cyxcbn0gZnJvbSBcIi4vcmFkb24vdXRpbHMuanNcIjtcblxuaW1wb3J0IHsgdG9IZXhTdHJpbmcsIHRvVXRmMTZCeXRlcyB9IGZyb20gXCIuLi9iaW4vaGVscGVycy5qc1wiO1xuaW1wb3J0IHsgc2hhMjU2IH0gZnJvbSBcIi4vY3J5cHRvL3V0aWxzLmpzXCI7XG5pbXBvcnQgeyBSYWRvbk1vZGFsLCBSYWRvblJlcXVlc3QsIFJhZG9uVGVtcGxhdGUgfSBmcm9tIFwiLi9yYWRvbi9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZmxhdHRlblJhZG9uQXNzZXRzLCByZXF1aXJlUmFkb25Bc3NldCB9IGZyb20gXCIuL3JhZG9uL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWdlc3RNZXNzYWdlKHRleHQ6IHN0cmluZyk6IEJ1ZmZlcjxBcnJheUJ1ZmZlckxpa2U+IHtcblx0cmV0dXJuIHNoYTI1NihuZXcgVWludDhBcnJheSh0b1V0ZjE2Qnl0ZXModGV4dCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5SYWRvblJlcXVlc3RzKFxuXHRhc3NldHM6IGFueSxcbik6IFJlY29yZDxzdHJpbmcsIFJhZG9uUmVxdWVzdD4ge1xuXHRyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuXHRcdGZsYXR0ZW5SYWRvbkFzc2V0cyhhc3NldHMsIFJhZG9uUmVxdWVzdCkubWFwKChhc3NldCkgPT5cblx0XHRcdE9iamVjdC5lbnRyaWVzKGFzc2V0KSxcblx0XHQpLFxuXHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlblJhZG9uVGVtcGxhdGVzKFxuXHRhc3NldHM6IGFueSxcbik6IFJlY29yZDxzdHJpbmcsIFJhZG9uVGVtcGxhdGU+IHtcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRmbGF0dGVuUmFkb25Bc3NldHMoYXNzZXRzLCBSYWRvblRlbXBsYXRlKS5tYXAoKGFzc2V0KSA9PiBbXG5cdFx0XHRhc3NldC5rZXksXG5cdFx0XHRhc3NldC5hcnRpZmFjdCxcblx0XHRdKSxcblx0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5SYWRvbk1vZGFscyhhc3NldHM6IGFueSk6IFJlY29yZDxzdHJpbmcsIFJhZG9uTW9kYWw+IHtcblx0cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcblx0XHRmbGF0dGVuUmFkb25Bc3NldHMoYXNzZXRzLCBSYWRvbk1vZGFsKS5tYXAoKGFzc2V0KSA9PlxuXHRcdFx0T2JqZWN0LmVudHJpZXMoYXNzZXQpLFxuXHRcdCksXG5cdCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlUmFkb25SZXF1ZXN0KFxuXHRhcnRpZmFjdDogc3RyaW5nLFxuXHRhc3NldHM/OiBhbnksXG4pOiBSYWRvblJlcXVlc3QgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4gcmVxdWlyZVJhZG9uQXNzZXQoeyBhcnRpZmFjdCwgYXNzZXRzLCB0eXBlOiBSYWRvblJlcXVlc3QgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlUmFkb25UZW1wbGF0ZShcblx0YXJ0aWZhY3Q6IHN0cmluZyxcblx0YXNzZXRzPzogYW55LFxuKTogUmFkb25UZW1wbGF0ZSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiByZXF1aXJlUmFkb25Bc3NldCh7IGFydGlmYWN0LCBhc3NldHMsIHR5cGU6IFJhZG9uVGVtcGxhdGUgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlUmFkb25Nb2RhbChcblx0YXJ0aWZhY3Q6IHN0cmluZyxcblx0YXNzZXRzPzogYW55LFxuKTogUmFkb25Nb2RhbCB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiByZXF1aXJlUmFkb25Bc3NldCh7IGFydGlmYWN0LCBhc3NldHMsIHR5cGU6IFJhZG9uTW9kYWwgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0eEpzb25SZXBsYWNlcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuXHRzd2l0Y2ggKGtleSkge1xuXHRcdGNhc2UgXCJieXRlc1wiOlxuXHRcdGNhc2UgXCJkZXJcIjpcblx0XHRcdHJldHVybiB0b0hleFN0cmluZyh2YWx1ZSwgdHJ1ZSk7XG5cdFx0Y2FzZSBcInR4XCI6XG5cdFx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIHR4SnNvblJlcGxhY2VyKTtcblx0XHRjYXNlIFwiZGF0YV9yZXF1ZXN0XCI6XG5cdFx0XHRyZXR1cm4gUmFkb25SZXF1ZXN0LmZyb21Qcm90b2J1Zih2YWx1ZSk7XG5cdFx0ZGVmYXVsdDpcblx0XHRcdHJldHVybiB2YWx1ZTtcblx0fVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@witnet/sdk",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "description": "Typescript library and CLI tooling for Web3 buidlers willing to interact with the Witnet blockchain.",
5
5
  "author": "Witnet Foundation",
6
6
  "license": "MIT",
@@ -82,9 +82,10 @@
82
82
  "scripts": {
83
83
  "build": "pbjs --target json witnet/witnet.proto -o witnet/witnet.proto.json && npm run clean && tsc -p tsconfig.json",
84
84
  "clean": "node ./scripts/clean.cjs dist",
85
- "fmt": "npx biome check",
86
- "fmt!": "npx biome check --write --unsafe",
85
+ "fmt": "npx biome check ./src ./scripts",
86
+ "fmt!": "npx biome check --write --unsafe ./src ./scripts",
87
87
  "postinstall": "node scripts/postinstall.cjs",
88
+ "watcher": "node ./src/bin/bots/watcher.cjs",
88
89
  "witsdk": "cross-env-shell WITNET_SDK_RADON_ASSETS_PATH='../../../witnet/assets' node ./src/bin/index.js"
89
90
  }
90
91
  }
package/scripts/clean.cjs CHANGED
@@ -1,21 +1,21 @@
1
- const exec = require("node:child_process").execSync;
2
- const os = require("node:os");
3
- const fs = require("node:fs");
4
-
5
- if (process.argv.length < 3) {
6
- console.log(`Usage: ${0} ${1} /path/to/be/cleaned`);
7
- process.exit(0);
8
- }
9
-
10
- process.argv.slice(2).forEach((target) => {
11
- if (fs.existsSync(target)) {
12
- if (os.type() === "Windows_NT") {
13
- target = target.replace(/\//g, "\\");
14
- exec(`del ${target}\\ /f /q /s`);
15
- exec(`rmdir ${target}\\ /q /s`);
16
- } else {
17
- target = target.replace(/\\/g, "/");
18
- exec(`rm -rf ${target}`);
19
- }
20
- }
21
- });
1
+ const exec = require("node:child_process").execSync;
2
+ const os = require("node:os");
3
+ const fs = require("node:fs");
4
+
5
+ if (process.argv.length < 3) {
6
+ console.log(`Usage: ${0} ${1} /path/to/be/cleaned`);
7
+ process.exit(0);
8
+ }
9
+
10
+ process.argv.slice(2).forEach((target) => {
11
+ if (fs.existsSync(target)) {
12
+ if (os.type() === "Windows_NT") {
13
+ target = target.replace(/\//g, "\\");
14
+ exec(`del ${target}\\ /f /q /s`);
15
+ exec(`rmdir ${target}\\ /q /s`);
16
+ } else {
17
+ target = target.replace(/\\/g, "/");
18
+ exec(`rm -rf ${target}`);
19
+ }
20
+ }
21
+ });