UNPKG

@coolwallet/sol

Version:
128 lines (124 loc) 37.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.VERSION_PREFIX_MASK = exports.TOKEN_PROGRAM_ID = exports.TOKEN_2022_PROGRAM_ID = exports.SYSVAR_STAKE_HISTORY_PUBKEY = exports.SYSVAR_RENT_PUBKEY = exports.SYSVAR_CLOCK_PUBKEY = exports.SYSTEM_PROGRAM_ID = exports.STAKE_PROGRAM_ID = exports.STAKE_CONFIG_ID = exports.SIGNATURE_LENGTH_IN_BYTES = exports.SCRIPT = exports.PUBLIC_KEY_LENGTH = exports.PADDING_PUBLICKEY = exports.PACKET_DATA_SIZE = exports.LAMPORTS_PER_SOL = exports.COMPUTE_BUDGET_PROGRAM_ID = exports.COIN_TYPE = exports.ASSOCIATED_TOKEN_PROGRAM_ID = void 0; var _bs = _interopRequireDefault(require("bs58")); var SCRIPT = exports.SCRIPT = { TRANSFER: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC5700241AAC57C044042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700441AAC57C064042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700641AAC57C084042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700841AAC57C0A4042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A4CAAC5700C4CC071001CAAC1700E4CAAC1700E5CAAC1700E6CAAC1700E7CAAC1700E8CAACC700E904CAACC700ED08DC07C003534F4C1AAC17C0E70B00BAAC5F6C040804DDF097001AAC17C0E70B01BAAC5F6C240804DDF09700250F00BAACCECCED08080F10DAE097C009250E00D207CC05065052455353425554546F4E", signature: "304502201feef74de887b6d8513f56371cebf5e9d7f05e2ddbef25eb6dd91cd088910018022100d4afd1ea9d5f9ae142cdab5419e8c0974f10651376af03a141a26e49b08691dc".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, TRANSFER_WITH_COMPUTE_BUDGET: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC5700241AAC57C044042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700441AAC57C064042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700641AAC57C084042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700841AAC57C0A4042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A4CAAC5700C4CC071003CAAC1700E4CAAC1700E5CAAC1700E6CAAC1700E7CAACC700E808CAAC1700F0CAAC1700F1CAAC1700F2CAAC1700F3CAACC700F404CAAC1700F8CAAC1700F9CAAC1700FACAAC1700FBCAAC1700FCCAACC700FD04CAADC700010108DC07C003534F4C1AAC17C0FB0B00BAAC5F6C040804DDF097001AAC17C0FB0B01BAAC5F6C240804DDF09700250F00BAADCECC010108080F10DAE097C009250E00D207CC05065052455353425554546F4E", signature: "3044022032851d9ca464de5ae92c063f33ada384fa0dee27d6e3d469197a367ef9cc9cbe0220137ffa77407186912ffbb5fd74529b3818c7e8fa1d4eb13d4a924a44cb7caaf9".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, SMART_CONTRACT: { script: "03000002C70700000001F5CAA09700DC07C003534F4CD207C005534D415254D207CC05065052455353425554546F4E", signature: "3045022100AFECB6EECB35BA13D924D61C3C6C468017CAE31835E59A6722CCF75E68CF788202207252A4E2777E8B289F8AE7902D0BEF521859A8C6077B2209AB7BD704C3899921".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, SPL_TOKEN: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC570024CAAC570044CAAC5700641AAC57C084042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700841AAC57C0A4042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A4CAAC5700C4CC071001CAAC1700E4CAAC1700E5CAACC700E604CAAC1700EACAAC1700EBCAACC700EC08CAAC1700F4DC07C003534F4C11ACC7CDF52904011E1507C004CC0F104012AC17C0F60401071507C002FF00B5AC1700F6CAACBF00F7DEF09700250F001AAC17C0E80701BAAC5F6C2408041AAC17C0E80702BAAC5F6C440804DDF09700250F00BAACCECCEC08080F1012AC17C0F50400141507C002FF00B5AC1700F5DAE097B0250E00D207CC05065052455353425554546F4E", signature: "304402205671655342687abb29a7e8aa4754e37f9b5d5841b0cca514ad85582e08f633bf0220278585a59fd11d6728a0582365c790a14eedf5e2bde39d68c402e5c827520c83".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, SPL_TOKEN_WITH_COMPUTE_BUDGET: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC570024CAAC570044CAAC5700641AAC57C084042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700841AAC57C0A4042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A4CAAC5700C4CC071003CAAC1700E4CAAC1700E5CAAC1700E6CAAC1700E7CAACC700E808CAAC1700F0CAAC1700F1CAAC1700F2CAAC1700F3CAACC700F404CAAC1700F8CAAC1700F9CAACC700FA04CAAC1700FECAAC1700FFCAADC700010008CAAD17000108DC07C003534F4C11ADC7CD0109290401321507C004CC0F104012AD17C0010A0401071507C002FF00B5AD1700010ACAADBF00010BDEF09700250F001AAC17C0FC0701BAAC5F6C2408041AAC17C0FC0702BAAC5F6C440804DDF09700250F00BAADCECC010008080F1012AD17C001090400141507C002FF00B5AD17000109DAE097B0250E00D207CC05065052455353425554546F4E", signature: "3046022100d2c497232419b42a67303108a9572b849c8e76db92c8aa877bda1733dedf3ca0022100a8088de1f75bd6ba8a519a717d8658812a21a7714f49a7af2c8c43f89cd09f1d".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, CREATE_AND_SPL_TOKEN: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC570024CAAC570044CAAC570064CAAC570084CAAC5700A4CAAC5700C4CAAC5700E41AAD57C00104042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C006CAAD57000104CAAD57000124CC071002CAAD17000144CAAD17000145CAADC700014606CAAD1700014CCAAD1700014DCAAD1700014ECAADC700014F04CAAD17000153CAAD17000154CAADC700015508CAAD1700015DDC07C003534F4C11ADC7CD015E290401871507C004CC0F104012AD17C0015F0401071507C002FF00B5AD1700015FCAADBF000160DEF09700250F001AAD17C001510701BAAC5F6C2408041AAD17C001510702BAAC5F6C440804DDF09700250F00BAADCECC015508080F1012AD17C0015E0400141507C002FF00B5AD1700015EDAE097B0250E00D207CC05065052455353425554546F4E", signature: "3046022100c12fa464f736ac82b5b486285a024f8f176f5300b2abee69076568eb97eba806022100fafd08f6d8836b6a659cd9e433231fdcd8e77c731fc28a6073fa9fc5bf438e59".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, CREATE_AND_SPL_TOKEN_WITH_COMPUTE_BUDGET: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC570024CAAC570044CAAC570064CAAC570084CAAC5700A4CAAC5700C4CAAC5700E41AAD57C00104042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C006CAAD57000104CAAD57000124CC071004CAAD17000144CAAD17000145CAADC700014606CAAD1700014CCAAD1700014DCAAD1700014ECAAD1700014FCAAD17000150CAADC700015108CAAD17000159CAAD1700015ACAAD1700015BCAAD1700015CCAADC700015D04CAAD17000161CAAD17000162CAADC700016304CAAD17000167CAAD17000168CAADC700016908CAAD17000171DC07C003534F4C11ADC7CD01722904019B1507C004CC0F104012AD17C001730401071507C002FF00B5AD17000173CAADBF000174DEF09700250F001AAD17C001650701BAAC5F6C2408041AAD17C001650702BAAC5F6C440804DDF09700250F00BAADCECC016908080F1012AD17C001720400141507C002FF00B5AD17000172DAE097B0250E00D207CC05065052455353425554546F4E", signature: "304502202bb3bdc762ca5fa9ac99d4156c78f178b375b6e8bb60071a5163e909d2db9ae4022100ca2639ddfc83ce9ff05a1d8728ec42bfcabd590a3b6c6ca924b09b1195a0ace2".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, UNDELEGATE: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC570024CAAC570044CAAC5700641AAC57C084042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC570084CAAC5700A4CAAC1700C41AAC17C0C704001507C01ACAAC1700C5CAAC1700C6CAAC1700C7CAAC1700C8CAACC700C9081AAC17C0D304001507C01ACAAC1700D1CAAC1700D2CAAC1700D3CAAC1700D4CAACC700D504CAAC1700D9CAAC1700DACAACC700DB03CAAC1700DECAACC700DF04DC07C003534F4CDC07C005556E44656CBAAC5F6C040804DDF09700D207CC05065052455353425554546F4E250F00", signature: "3044022040054884f42bb7257f16c9cc121f15d2466ce8d9efb5e83f7b96973ed29d1f260220328d320b2ce9339123d923e3a2d81ffb6382a3588da19e93d8795d0265dfe561".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, DELEGATE_AND_CREATE_ACCOUNT_WITH_SEED: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC570024CAAC570044CAAC570064CAAC570084CAAC5700A4CAAC5700C4CAAC5700E4CAAD570001041AAD57C00124042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C006CAAD57000124CAAD57000144CAAD170001641AAD17C0016704001507C01FCAAD17000165CAAD17000166CAAD17000167CAAD17000168CAADC7000169081AAD17C0017304001507C01FCAAD17000171CAAD17000172CAAD17000173CAAD17000174CAADC700017504CAAD17000179CAAD1700017ACAADC700017B02CAAD1700017DCAADC700017E04CAAD57000182CAADC70001A204CAADC70001A604CAADD70001AAFFE0CAADC70001CA08CAADC70001D208CAAD570001DACAAD170001FACAAD170001FBCAADC70001FC02CAAD170001FECAADC70001FF74CAAD17000273CAAD17000274CAAD17000275CAAD17000276CAADC700027704CAAD1700027BCAADC700027C04DC07C003534F4CDC07C0055354414B45BAAC5F6C640804DDF09700250F00BAADCECC01CA08080F10DAE097C009D207CC05065052455353425554546F4E250F00", signature: "3044022026ea0b1c5ab42fc52fa4542db17b9a0a92b42ffc941a53b82ec8cedd7fa4fd1d02200b2edd468c0d6761add53a597774cdc1c5d1599b186a1ade4b2458c559771411".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, STAKING_WITHDRAW: { script: "03000002C70700000001F5CAA0C70003CAAC170003CAAC570004CAAC570024CAAC570044CAAC570064CAAC5700841AAC57C0A4042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700A41AAC57C0C4042D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D2D1507C005CAAC5700C4CAAC5700E4CAAD170001041AAD17C0010704001507C01FCAAD17000105CAAD17000106CAAD17000107CAAD17000108CAADC7000109081AAD17C0011304001507C01FCAAD17000111CAAD17000112CAAD17000113CAAD17000114CAADC700011504CAAD17000119CAAD1700011ACAAD1700011BCAAD1700011CCAADC700011D03CAAD17000120CAADC700012104CAADC700012508DC07C003534F4CDC07C0065265776172641AAD17C0011C0E00BAAC5F6C040804DDF09700250F001AAD17C0011C0E01BAAC5F6C240804DDF09700250F001AAD17C0011C0E02BAAC5F6C440804DDF09700250F00BAADCECC012508080F10DAE097C009250E00D207CC05065052455353425554546F4E", signature: "304402200329a67f8ce88f59b5dc7514488c07434fe0dc05cf9e25f151d964fff052eed102204ef7f0b5ae72bf209f093968bbaa48aeda3216103f04667cc6481fd49d82defc".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, SIGN_IN: { script: "03000002C70700000001F5B5A01700CAA1B700CC07C0302077616e747320796f7520746f207369676e20696e207769746820796f757220536f6c616e61206163636f756e743a0a6CADCF00048311BAF0976C0804B5ACC7008102CAACB70083DC07C003534F4CD207C0075349474E20494ED207CC05065052455353425554546F4E", signature: "3045022100ce2624f80ac5234d77415ca9df9ad153fa1c8baea28497d937e619ce63dddb6302205bb1f1d8aa5a47e5c87c615be03cf0a375c40ed3e19746e3279fd74dbddca82a".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, SIGN_MESSAGE: { script: "03000002C70700000001F5CAA09700DC07C003534F4CD207C0074D455353414745D207CC05065052455353425554546F4E", signature: "30450220482a5109dd908b886d4b8cd8b4bfb43a56c65232d68e4b30798d3cdbb55e31f3022100ee6e9c3d9468a8ad29ca6ac2b08719c7cbe7e857951a1b7ffa62e3445bc1bb10".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } }, MULTI_SIGN_TX: { script: "", signature: "".padStart(144, '0'), get scriptWithSignature() { return this.script + this.signature; } } }; var COIN_TYPE = exports.COIN_TYPE = '800001f5'; var LAMPORTS_PER_SOL = exports.LAMPORTS_PER_SOL = 1000000000; var SYSTEM_PROGRAM_ID = exports.SYSTEM_PROGRAM_ID = _bs["default"].decode('11111111111111111111111111111111'); // token var TOKEN_PROGRAM_ID = exports.TOKEN_PROGRAM_ID = _bs["default"].decode('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'); var TOKEN_2022_PROGRAM_ID = exports.TOKEN_2022_PROGRAM_ID = _bs["default"].decode('TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb'); var ASSOCIATED_TOKEN_PROGRAM_ID = exports.ASSOCIATED_TOKEN_PROGRAM_ID = _bs["default"].decode('ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'); // stake var STAKE_PROGRAM_ID = exports.STAKE_PROGRAM_ID = _bs["default"].decode('Stake11111111111111111111111111111111111111'); var STAKE_CONFIG_ID = exports.STAKE_CONFIG_ID = _bs["default"].decode('StakeConfig11111111111111111111111111111111'); // sysvar var SYSVAR_RENT_PUBKEY = exports.SYSVAR_RENT_PUBKEY = _bs["default"].decode('SysvarRent111111111111111111111111111111111'); var SYSVAR_CLOCK_PUBKEY = exports.SYSVAR_CLOCK_PUBKEY = _bs["default"].decode('SysvarC1ock11111111111111111111111111111111'); var SYSVAR_STAKE_HISTORY_PUBKEY = exports.SYSVAR_STAKE_HISTORY_PUBKEY = _bs["default"].decode('SysvarStakeHistory1111111111111111111111111'); var COMPUTE_BUDGET_PROGRAM_ID = exports.COMPUTE_BUDGET_PROGRAM_ID = _bs["default"].decode('ComputeBudget111111111111111111111111111111'); var PADDING_PUBLICKEY = exports.PADDING_PUBLICKEY = Buffer.from('--------------------------------', 'ascii').toString('hex'); var PACKET_DATA_SIZE = exports.PACKET_DATA_SIZE = 1280 - 40 - 8; var VERSION_PREFIX_MASK = exports.VERSION_PREFIX_MASK = 0x7f; var SIGNATURE_LENGTH_IN_BYTES = exports.SIGNATURE_LENGTH_IN_BYTES = 64; /** * Size of public key in bytes */ var PUBLIC_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = 32; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYnMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlNDUklQVCIsImV4cG9ydHMiLCJUUkFOU0ZFUiIsInNjcmlwdCIsInNpZ25hdHVyZSIsInBhZFN0YXJ0Iiwic2NyaXB0V2l0aFNpZ25hdHVyZSIsIlRSQU5TRkVSX1dJVEhfQ09NUFVURV9CVURHRVQiLCJTTUFSVF9DT05UUkFDVCIsIlNQTF9UT0tFTiIsIlNQTF9UT0tFTl9XSVRIX0NPTVBVVEVfQlVER0VUIiwiQ1JFQVRFX0FORF9TUExfVE9LRU4iLCJDUkVBVEVfQU5EX1NQTF9UT0tFTl9XSVRIX0NPTVBVVEVfQlVER0VUIiwiVU5ERUxFR0FURSIsIkRFTEVHQVRFX0FORF9DUkVBVEVfQUNDT1VOVF9XSVRIX1NFRUQiLCJTVEFLSU5HX1dJVEhEUkFXIiwiU0lHTl9JTiIsIlNJR05fTUVTU0FHRSIsIk1VTFRJX1NJR05fVFgiLCJDT0lOX1RZUEUiLCJMQU1QT1JUU19QRVJfU09MIiwiU1lTVEVNX1BST0dSQU1fSUQiLCJiYXNlNTgiLCJkZWNvZGUiLCJUT0tFTl9QUk9HUkFNX0lEIiwiVE9LRU5fMjAyMl9QUk9HUkFNX0lEIiwiQVNTT0NJQVRFRF9UT0tFTl9QUk9HUkFNX0lEIiwiU1RBS0VfUFJPR1JBTV9JRCIsIlNUQUtFX0NPTkZJR19JRCIsIlNZU1ZBUl9SRU5UX1BVQktFWSIsIlNZU1ZBUl9DTE9DS19QVUJLRVkiLCJTWVNWQVJfU1RBS0VfSElTVE9SWV9QVUJLRVkiLCJDT01QVVRFX0JVREdFVF9QUk9HUkFNX0lEIiwiUEFERElOR19QVUJMSUNLRVkiLCJCdWZmZXIiLCJmcm9tIiwidG9TdHJpbmciLCJQQUNLRVRfREFUQV9TSVpFIiwiVkVSU0lPTl9QUkVGSVhfTUFTSyIsIlNJR05BVFVSRV9MRU5HVEhfSU5fQllURVMiLCJQVUJMSUNfS0VZX0xFTkdUSCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvcGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBiYXNlNTggZnJvbSAnYnM1OCc7XG5cbmNvbnN0IFNDUklQVCA9IHtcbiAgVFJBTlNGRVI6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0FBMEM3MDAwM0NBQUMxNzAwMDNDQUFDNTcwMDA0Q0FBQzU3MDAyNDFBQUM1N0MwNDQwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwNDQxQUFDNTdDMDY0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMDY0MUFBQzU3QzA4NDA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDA4NDFBQUM1N0MwQTQwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwQTRDQUFDNTcwMEM0Q0MwNzEwMDFDQUFDMTcwMEU0Q0FBQzE3MDBFNUNBQUMxNzAwRTZDQUFDMTcwMEU3Q0FBQzE3MDBFOENBQUNDNzAwRTkwNENBQUNDNzAwRUQwOERDMDdDMDAzNTM0RjRDMUFBQzE3QzBFNzBCMDBCQUFDNUY2QzA0MDgwNERERjA5NzAwMUFBQzE3QzBFNzBCMDFCQUFDNUY2QzI0MDgwNERERjA5NzAwMjUwRjAwQkFBQ0NFQ0NFRDA4MDgwRjEwREFFMDk3QzAwOTI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NTAyMjAxZmVlZjc0ZGU4ODdiNmQ4NTEzZjU2MzcxY2ViZjVlOWQ3ZjA1ZTJkZGJlZjI1ZWI2ZGQ5MWNkMDg4OTEwMDE4MDIyMTAwZDRhZmQxZWE5ZDVmOWFlMTQyY2RhYjU0MTllOGMwOTc0ZjEwNjUxMzc2YWYwM2ExNDFhMjZlNDliMDg2OTFkY2AucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBUUkFOU0ZFUl9XSVRIX0NPTVBVVEVfQlVER0VUOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNBQTBDNzAwMDNDQUFDMTcwMDAzQ0FBQzU3MDAwNENBQUM1NzAwMjQxQUFDNTdDMDQ0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMDQ0MUFBQzU3QzA2NDA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDA2NDFBQUM1N0MwODQwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwODQxQUFDNTdDMEE0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMEE0Q0FBQzU3MDBDNENDMDcxMDAzQ0FBQzE3MDBFNENBQUMxNzAwRTVDQUFDMTcwMEU2Q0FBQzE3MDBFN0NBQUNDNzAwRTgwOENBQUMxNzAwRjBDQUFDMTcwMEYxQ0FBQzE3MDBGMkNBQUMxNzAwRjNDQUFDQzcwMEY0MDRDQUFDMTcwMEY4Q0FBQzE3MDBGOUNBQUMxNzAwRkFDQUFDMTcwMEZCQ0FBQzE3MDBGQ0NBQUNDNzAwRkQwNENBQURDNzAwMDEwMTA4REMwN0MwMDM1MzRGNEMxQUFDMTdDMEZCMEIwMEJBQUM1RjZDMDQwODA0RERGMDk3MDAxQUFDMTdDMEZCMEIwMUJBQUM1RjZDMjQwODA0RERGMDk3MDAyNTBGMDBCQUFEQ0VDQzAxMDEwODA4MEYxMERBRTA5N0MwMDkyNTBFMDBEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDQwMjIwMzI4NTFkOWNhNDY0ZGU1YWU5MmMwNjNmMzNhZGEzODRmYTBkZWUyN2Q2ZTNkNDY5MTk3YTM2N2VmOWNjOWNiZTAyMjAxMzdmZmE3NzQwNzE4NjkxMmZmYmI1ZmQ3NDUyOWIzODE4YzdlOGZhMWQ0ZWIxM2Q0YTkyNGE0NGNiN2NhYWY5YC5wYWRTdGFydChcbiAgICAgICAgMTQ0LFxuICAgICAgICAnMCdcbiAgICAgICksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG4gIFNNQVJUX0NPTlRSQUNUOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNBQTA5NzAwREMwN0MwMDM1MzRGNENEMjA3QzAwNTUzNEQ0MTUyNTREMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIxMDBBRkVDQjZFRUNCMzVCQTEzRDkyNEQ2MUMzQzZDNDY4MDE3Q0FFMzE4MzVFNTlBNjcyMkNDRjc1RTY4Q0Y3ODgyMDIyMDcyNTJBNEUyNzc3RThCMjg5RjhBRTc5MDJEMEJFRjUyMTg1OUE4QzYwNzdCMjIwOUFCN0JENzA0QzM4OTk5MjFgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU1BMX1RPS0VOOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNBQTBDNzAwMDNDQUFDMTcwMDAzQ0FBQzU3MDAwNENBQUM1NzAwMjRDQUFDNTcwMDQ0Q0FBQzU3MDA2NDFBQUM1N0MwODQwNDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQxNTA3QzAwNUNBQUM1NzAwODQxQUFDNTdDMEE0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMEE0Q0FBQzU3MDBDNENDMDcxMDAxQ0FBQzE3MDBFNENBQUMxNzAwRTVDQUFDQzcwMEU2MDRDQUFDMTcwMEVBQ0FBQzE3MDBFQkNBQUNDNzAwRUMwOENBQUMxNzAwRjREQzA3QzAwMzUzNEY0QzExQUNDN0NERjUyOTA0MDExRTE1MDdDMDA0Q0MwRjEwNDAxMkFDMTdDMEY2MDQwMTA3MTUwN0MwMDJGRjAwQjVBQzE3MDBGNkNBQUNCRjAwRjdERUYwOTcwMDI1MEYwMDFBQUMxN0MwRTgwNzAxQkFBQzVGNkMyNDA4MDQxQUFDMTdDMEU4MDcwMkJBQUM1RjZDNDQwODA0RERGMDk3MDAyNTBGMDBCQUFDQ0VDQ0VDMDgwODBGMTAxMkFDMTdDMEY1MDQwMDE0MTUwN0MwMDJGRjAwQjVBQzE3MDBGNURBRTA5N0IwMjUwRTAwRDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ0MDIyMDU2NzE2NTUzNDI2ODdhYmIyOWE3ZThhYTQ3NTRlMzdmOWI1ZDU4NDFiMGNjYTUxNGFkODU1ODJlMDhmNjMzYmYwMjIwMjc4NTg1YTU5ZmQxMWQ2NzI4YTA1ODIzNjVjNzkwYTE0ZWVkZjVlMmJkZTM5ZDY4YzQwMmU1YzgyNzUyMGM4M2AucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBTUExfVE9LRU5fV0lUSF9DT01QVVRFX0JVREdFVDoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQUEwQzcwMDAzQ0FBQzE3MDAwM0NBQUM1NzAwMDRDQUFDNTcwMDI0Q0FBQzU3MDA0NENBQUM1NzAwNjQxQUFDNTdDMDg0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMDg0MUFBQzU3QzBBNDA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDBBNENBQUM1NzAwQzRDQzA3MTAwM0NBQUMxNzAwRTRDQUFDMTcwMEU1Q0FBQzE3MDBFNkNBQUMxNzAwRTdDQUFDQzcwMEU4MDhDQUFDMTcwMEYwQ0FBQzE3MDBGMUNBQUMxNzAwRjJDQUFDMTcwMEYzQ0FBQ0M3MDBGNDA0Q0FBQzE3MDBGOENBQUMxNzAwRjlDQUFDQzcwMEZBMDRDQUFDMTcwMEZFQ0FBQzE3MDBGRkNBQURDNzAwMDEwMDA4Q0FBRDE3MDAwMTA4REMwN0MwMDM1MzRGNEMxMUFEQzdDRDAxMDkyOTA0MDEzMjE1MDdDMDA0Q0MwRjEwNDAxMkFEMTdDMDAxMEEwNDAxMDcxNTA3QzAwMkZGMDBCNUFEMTcwMDAxMEFDQUFEQkYwMDAxMEJERUYwOTcwMDI1MEYwMDFBQUMxN0MwRkMwNzAxQkFBQzVGNkMyNDA4MDQxQUFDMTdDMEZDMDcwMkJBQUM1RjZDNDQwODA0RERGMDk3MDAyNTBGMDBCQUFEQ0VDQzAxMDAwODA4MEYxMDEyQUQxN0MwMDEwOTA0MDAxNDE1MDdDMDAyRkYwMEI1QUQxNzAwMDEwOURBRTA5N0IwMjUwRTAwRDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ2MDIyMTAwZDJjNDk3MjMyNDE5YjQyYTY3MzAzMTA4YTk1NzJiODQ5YzhlNzZkYjkyYzhhYTg3N2JkYTE3MzNkZWRmM2NhMDAyMjEwMGE4MDg4ZGUxZjc1YmQ2YmE4YTUxOWE3MTdkODY1ODgxMmEyMWE3NzE0ZjQ5YTdhZjJjOGM0M2Y4OWNkMDlmMWRgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgQ1JFQVRFX0FORF9TUExfVE9LRU46IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0FBMEM3MDAwM0NBQUMxNzAwMDNDQUFDNTcwMDA0Q0FBQzU3MDAyNENBQUM1NzAwNDRDQUFDNTcwMDY0Q0FBQzU3MDA4NENBQUM1NzAwQTRDQUFDNTcwMEM0Q0FBQzU3MDBFNDFBQUQ1N0MwMDEwNDA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA2Q0FBRDU3MDAwMTA0Q0FBRDU3MDAwMTI0Q0MwNzEwMDJDQUFEMTcwMDAxNDRDQUFEMTcwMDAxNDVDQUFEQzcwMDAxNDYwNkNBQUQxNzAwMDE0Q0NBQUQxNzAwMDE0RENBQUQxNzAwMDE0RUNBQURDNzAwMDE0RjA0Q0FBRDE3MDAwMTUzQ0FBRDE3MDAwMTU0Q0FBREM3MDAwMTU1MDhDQUFEMTcwMDAxNUREQzA3QzAwMzUzNEY0QzExQURDN0NEMDE1RTI5MDQwMTg3MTUwN0MwMDRDQzBGMTA0MDEyQUQxN0MwMDE1RjA0MDEwNzE1MDdDMDAyRkYwMEI1QUQxNzAwMDE1RkNBQURCRjAwMDE2MERFRjA5NzAwMjUwRjAwMUFBRDE3QzAwMTUxMDcwMUJBQUM1RjZDMjQwODA0MUFBRDE3QzAwMTUxMDcwMkJBQUM1RjZDNDQwODA0RERGMDk3MDAyNTBGMDBCQUFEQ0VDQzAxNTUwODA4MEYxMDEyQUQxN0MwMDE1RTA0MDAxNDE1MDdDMDAyRkYwMEI1QUQxNzAwMDE1RURBRTA5N0IwMjUwRTAwRDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ2MDIyMTAwYzEyZmE0NjRmNzM2YWM4MmI1YjQ4NjI4NWEwMjRmOGYxNzZmNTMwMGIyYWJlZTY5MDc2NTY4ZWI5N2ViYTgwNjAyMjEwMGZhZmQwOGY2ZDg4MzZiNmE2NTljZDllNDMzMjMxZmRjZDhlNzdjNzMxZmMyOGE2MDczZmE5ZmM1YmY0MzhlNTlgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgQ1JFQVRFX0FORF9TUExfVE9LRU5fV0lUSF9DT01QVVRFX0JVREdFVDoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQUEwQzcwMDAzQ0FBQzE3MDAwM0NBQUM1NzAwMDRDQUFDNTcwMDI0Q0FBQzU3MDA0NENBQUM1NzAwNjRDQUFDNTcwMDg0Q0FBQzU3MDBBNENBQUM1NzAwQzRDQUFDNTcwMEU0MUFBRDU3QzAwMTA0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDZDQUFENTcwMDAxMDRDQUFENTcwMDAxMjRDQzA3MTAwNENBQUQxNzAwMDE0NENBQUQxNzAwMDE0NUNBQURDNzAwMDE0NjA2Q0FBRDE3MDAwMTRDQ0FBRDE3MDAwMTREQ0FBRDE3MDAwMTRFQ0FBRDE3MDAwMTRGQ0FBRDE3MDAwMTUwQ0FBREM3MDAwMTUxMDhDQUFEMTcwMDAxNTlDQUFEMTcwMDAxNUFDQUFEMTcwMDAxNUJDQUFEMTcwMDAxNUNDQUFEQzcwMDAxNUQwNENBQUQxNzAwMDE2MUNBQUQxNzAwMDE2MkNBQURDNzAwMDE2MzA0Q0FBRDE3MDAwMTY3Q0FBRDE3MDAwMTY4Q0FBREM3MDAwMTY5MDhDQUFEMTcwMDAxNzFEQzA3QzAwMzUzNEY0QzExQURDN0NEMDE3MjI5MDQwMTlCMTUwN0MwMDRDQzBGMTA0MDEyQUQxN0MwMDE3MzA0MDEwNzE1MDdDMDAyRkYwMEI1QUQxNzAwMDE3M0NBQURCRjAwMDE3NERFRjA5NzAwMjUwRjAwMUFBRDE3QzAwMTY1MDcwMUJBQUM1RjZDMjQwODA0MUFBRDE3QzAwMTY1MDcwMkJBQUM1RjZDNDQwODA0RERGMDk3MDAyNTBGMDBCQUFEQ0VDQzAxNjkwODA4MEYxMDEyQUQxN0MwMDE3MjA0MDAxNDE1MDdDMDAyRkYwMEI1QUQxNzAwMDE3MkRBRTA5N0IwMjUwRTAwRDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ1MDIyMDJiYjNiZGM3NjJjYTVmYTlhYzk5ZDQxNTZjNzhmMTc4YjM3NWI2ZThiYjYwMDcxYTUxNjNlOTA5ZDJkYjlhZTQwMjIxMDBjYTI2MzlkZGZjODNjZTlmZjA1YTFkODcyOGVjNDJiZmNhYmQ1OTBhM2I2YzZjYTkyNGIwOWIxMTk1YTBhY2UyYC5wYWRTdGFydChcbiAgICAgICAgMTQ0LFxuICAgICAgICAnMCdcbiAgICAgICksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG4gIFVOREVMRUdBVEU6IHtcbiAgICBzY3JpcHQ6IGAwMzAwMDAwMkM3MDcwMDAwMDAwMUY1Q0FBMEM3MDAwM0NBQUMxNzAwMDNDQUFDNTcwMDA0Q0FBQzU3MDAyNENBQUM1NzAwNDRDQUFDNTcwMDY0MUFBQzU3QzA4NDA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDA4NENBQUM1NzAwQTRDQUFDMTcwMEM0MUFBQzE3QzBDNzA0MDAxNTA3QzAxQUNBQUMxNzAwQzVDQUFDMTcwMEM2Q0FBQzE3MDBDN0NBQUMxNzAwQzhDQUFDQzcwMEM5MDgxQUFDMTdDMEQzMDQwMDE1MDdDMDFBQ0FBQzE3MDBEMUNBQUMxNzAwRDJDQUFDMTcwMEQzQ0FBQzE3MDBENENBQUNDNzAwRDUwNENBQUMxNzAwRDlDQUFDMTcwMERBQ0FBQ0M3MDBEQjAzQ0FBQzE3MDBERUNBQUNDNzAwREYwNERDMDdDMDAzNTM0RjRDREMwN0MwMDU1NTZFNDQ2NTZDQkFBQzVGNkMwNDA4MDREREYwOTcwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFMjUwRjAwYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NDAyMjA0MDA1NDg4NGY0MmJiNzI1N2YxNmM5Y2MxMjFmMTVkMjQ2NmNlOGQ5ZWZiNWU4M2Y3Yjk2OTczZWQyOWQxZjI2MDIyMDMyOGQzMjBiMmNlOTMzOTEyM2Q5MjNlM2EyZDgxZmZiNjM4MmEzNTg4ZGExOWU5M2Q4Nzk1ZDAyNjVkZmU1NjFgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgREVMRUdBVEVfQU5EX0NSRUFURV9BQ0NPVU5UX1dJVEhfU0VFRDoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVDQUEwQzcwMDAzQ0FBQzE3MDAwM0NBQUM1NzAwMDRDQUFDNTcwMDI0Q0FBQzU3MDA0NENBQUM1NzAwNjRDQUFDNTcwMDg0Q0FBQzU3MDBBNENBQUM1NzAwQzRDQUFDNTcwMEU0Q0FBRDU3MDAwMTA0MUFBRDU3QzAwMTI0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDZDQUFENTcwMDAxMjRDQUFENTcwMDAxNDRDQUFEMTcwMDAxNjQxQUFEMTdDMDAxNjcwNDAwMTUwN0MwMUZDQUFEMTcwMDAxNjVDQUFEMTcwMDAxNjZDQUFEMTcwMDAxNjdDQUFEMTcwMDAxNjhDQUFEQzcwMDAxNjkwODFBQUQxN0MwMDE3MzA0MDAxNTA3QzAxRkNBQUQxNzAwMDE3MUNBQUQxNzAwMDE3MkNBQUQxNzAwMDE3M0NBQUQxNzAwMDE3NENBQURDNzAwMDE3NTA0Q0FBRDE3MDAwMTc5Q0FBRDE3MDAwMTdBQ0FBREM3MDAwMTdCMDJDQUFEMTcwMDAxN0RDQUFEQzcwMDAxN0UwNENBQUQ1NzAwMDE4MkNBQURDNzAwMDFBMjA0Q0FBREM3MDAwMUE2MDRDQUFERDcwMDAxQUFGRkUwQ0FBREM3MDAwMUNBMDhDQUFEQzcwMDAxRDIwOENBQUQ1NzAwMDFEQUNBQUQxNzAwMDFGQUNBQUQxNzAwMDFGQkNBQURDNzAwMDFGQzAyQ0FBRDE3MDAwMUZFQ0FBREM3MDAwMUZGNzRDQUFEMTcwMDAyNzNDQUFEMTcwMDAyNzRDQUFEMTcwMDAyNzVDQUFEMTcwMDAyNzZDQUFEQzcwMDAyNzcwNENBQUQxNzAwMDI3QkNBQURDNzAwMDI3QzA0REMwN0MwMDM1MzRGNENEQzA3QzAwNTUzNTQ0MTRCNDVCQUFDNUY2QzY0MDgwNERERjA5NzAwMjUwRjAwQkFBRENFQ0MwMUNBMDgwODBGMTBEQUUwOTdDMDA5RDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEUyNTBGMDBgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ0MDIyMDI2ZWEwYjFjNWFiNDJmYzUyZmE0NTQyZGIxN2I5YTBhOTJiNDJmZmM5NDFhNTNiODJlYzhjZWRkN2ZhNGZkMWQwMjIwMGIyZWRkNDY4YzBkNjc2MWFkZDUzYTU5Nzc3NGNkYzFjNWQxNTk5YjE4NmExYWRlNGIyNDU4YzU1OTc3MTQxMWAucGFkU3RhcnQoXG4gICAgICAgIDE0NCxcbiAgICAgICAgJzAnXG4gICAgICApLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxuICBTVEFLSU5HX1dJVEhEUkFXOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNBQTBDNzAwMDNDQUFDMTcwMDAzQ0FBQzU3MDAwNENBQUM1NzAwMjRDQUFDNTcwMDQ0Q0FBQzU3MDA2NENBQUM1NzAwODQxQUFDNTdDMEE0MDQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMTUwN0MwMDVDQUFDNTcwMEE0MUFBQzU3QzBDNDA0MkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDJEMkQyRDE1MDdDMDA1Q0FBQzU3MDBDNENBQUM1NzAwRTRDQUFEMTcwMDAxMDQxQUFEMTdDMDAxMDcwNDAwMTUwN0MwMUZDQUFEMTcwMDAxMDVDQUFEMTcwMDAxMDZDQUFEMTcwMDAxMDdDQUFEMTcwMDAxMDhDQUFEQzcwMDAxMDkwODFBQUQxN0MwMDExMzA0MDAxNTA3QzAxRkNBQUQxNzAwMDExMUNBQUQxNzAwMDExMkNBQUQxNzAwMDExM0NBQUQxNzAwMDExNENBQURDNzAwMDExNTA0Q0FBRDE3MDAwMTE5Q0FBRDE3MDAwMTFBQ0FBRDE3MDAwMTFCQ0FBRDE3MDAwMTFDQ0FBREM3MDAwMTFEMDNDQUFEMTcwMDAxMjBDQUFEQzcwMDAxMjEwNENBQURDNzAwMDEyNTA4REMwN0MwMDM1MzRGNENEQzA3QzAwNjUyNjU3NzYxNzI2NDFBQUQxN0MwMDExQzBFMDBCQUFDNUY2QzA0MDgwNERERjA5NzAwMjUwRjAwMUFBRDE3QzAwMTFDMEUwMUJBQUM1RjZDMjQwODA0RERGMDk3MDAyNTBGMDAxQUFEMTdDMDAxMUMwRTAyQkFBQzVGNkM0NDA4MDREREYwOTcwMDI1MEYwMEJBQURDRUNDMDEyNTA4MDgwRjEwREFFMDk3QzAwOTI1MEUwMEQyMDdDQzA1MDY1MDUyNDU1MzUzNDI1NTU0NTQ2RjRFYCxcbiAgICBzaWduYXR1cmU6XG4gICAgICBgMzA0NDAyMjAwMzI5YTY3ZjhjZTg4ZjU5YjVkYzc1MTQ0ODhjMDc0MzRmZTBkYzA1Y2Y5ZTI1ZjE1MWQ5NjRmZmYwNTJlZWQxMDIyMDRlZjdmMGI1YWU3MmJmMjA5ZjA5Mzk2OGJiYWE0OGFlZGEzMjE2MTAzZjA0NjY3Y2M2NDgxZmQ0OWQ4MmRlZmNgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU0lHTl9JTjoge1xuICAgIHNjcmlwdDogYDAzMDAwMDAyQzcwNzAwMDAwMDAxRjVCNUEwMTcwMENBQTFCNzAwQ0MwN0MwMzAyMDc3NjE2ZTc0NzMyMDc5NmY3NTIwNzQ2ZjIwNzM2OTY3NmUyMDY5NmUyMDc3Njk3NDY4MjA3OTZmNzU3MjIwNTM2ZjZjNjE2ZTYxMjA2MTYzNjM2Zjc1NmU3NDNhMGE2Q0FEQ0YwMDA0ODMxMUJBRjA5NzZDMDgwNEI1QUNDNzAwODEwMkNBQUNCNzAwODNEQzA3QzAwMzUzNEY0Q0QyMDdDMDA3NTM0OTQ3NEUyMDQ5NEVEMjA3Q0MwNTA2NTA1MjQ1NTM1MzQyNTU1NDU0NkY0RWAsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgYDMwNDUwMjIxMDBjZTI2MjRmODBhYzUyMzRkNzc0MTVjYTlkZjlhZDE1M2ZhMWM4YmFlYTI4NDk3ZDkzN2U2MTljZTYzZGRkYjYzMDIyMDViYjFmMWQ4YWE1YTQ3ZTVjODdjNjE1YmUwM2NmMGEzNzVjNDBlZDNlMTk3NDZlMzI3OWZkNzRkYmRkY2E4MmFgLnBhZFN0YXJ0KFxuICAgICAgICAxNDQsXG4gICAgICAgICcwJ1xuICAgICAgKSxcbiAgICBnZXQgc2NyaXB0V2l0aFNpZ25hdHVyZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuc2NyaXB0ICsgdGhpcy5zaWduYXR1cmU7XG4gICAgfSxcbiAgfSxcbiAgU0lHTl9NRVNTQUdFOiB7XG4gICAgc2NyaXB0OiBgMDMwMDAwMDJDNzA3MDAwMDAwMDFGNUNBQTA5NzAwREMwN0MwMDM1MzRGNENEMjA3QzAwNzRENDU1MzUzNDE0NzQ1RDIwN0NDMDUwNjUwNTI0NTUzNTM0MjU1NTQ1NDZGNEVgLFxuICAgIHNpZ25hdHVyZTpcbiAgICAgIGAzMDQ1MDIyMDQ4MmE1MTA5ZGQ5MDhiODg2ZDRiOGNkOGI0YmZiNDNhNTZjNjUyMzJkNjhlNGIzMDc5OGQzY2RiYjU1ZTMxZjMwMjIxMDBlZTZlOWMzZDk0NjhhOGFkMjljYTZhYzJiMDg3MTljN2NiZTdlODU3OTUxYTFiN2ZmYTYyZTM0NDViYzFiYjEwYC5wYWRTdGFydChcbiAgICAgICAgMTQ0LFxuICAgICAgICAnMCdcbiAgICAgICksXG4gICAgZ2V0IHNjcmlwdFdpdGhTaWduYXR1cmUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLnNjcmlwdCArIHRoaXMuc2lnbmF0dXJlO1xuICAgIH0sXG4gIH0sXG4gIE1VTFRJX1NJR05fVFg6IHtcbiAgICBzY3JpcHQ6IGBgLFxuICAgIHNpZ25hdHVyZTogYGAucGFkU3RhcnQoMTQ0LCAnMCcpLFxuICAgIGdldCBzY3JpcHRXaXRoU2lnbmF0dXJlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gdGhpcy5zY3JpcHQgKyB0aGlzLnNpZ25hdHVyZTtcbiAgICB9LFxuICB9LFxufTtcblxuY29uc3QgQ09JTl9UWVBFID0gJzgwMDAwMWY1JztcbmNvbnN0IExBTVBPUlRTX1BFUl9TT0wgPSAxMDAwMDAwMDAwO1xuY29uc3QgU1lTVEVNX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCcxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuLy8gdG9rZW5cbmNvbnN0IFRPS0VOX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCdUb2tlbmtlZ1FmZVp5aU53QUpiTmJHS1BGWENXdUJ2ZjlTczYyM1ZRNURBJyk7XG5jb25zdCBUT0tFTl8yMDIyX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCdUb2tlbnpRZEJOYkxxUDVWRWhka0FTNkVQRkxDMVBIbkJxQ1hFcFB4dUViJyk7XG5jb25zdCBBU1NPQ0lBVEVEX1RPS0VOX1BST0dSQU1fSUQgPSBiYXNlNTguZGVjb2RlKCdBVG9rZW5HUHZiZEdWeHIxYjJodlpic2lxVzV4V0gyNWVmVE5zTEpBOGtuTCcpO1xuXG4vLyBzdGFrZVxuY29uc3QgU1RBS0VfUFJPR1JBTV9JRCA9IGJhc2U1OC5kZWNvZGUoJ1N0YWtlMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnKTtcbmNvbnN0IFNUQUtFX0NPTkZJR19JRCA9IGJhc2U1OC5kZWNvZGUoJ1N0YWtlQ29uZmlnMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnKTtcblxuLy8gc3lzdmFyXG5jb25zdCBTWVNWQVJfUkVOVF9QVUJLRVkgPSBiYXNlNTguZGVjb2RlKCdTeXN2YXJSZW50MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJyk7XG5jb25zdCBTWVNWQVJfQ0xPQ0tfUFVCS0VZID0gYmFzZTU4LmRlY29kZSgnU3lzdmFyQzFvY2sxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuY29uc3QgU1lTVkFSX1NUQUtFX0hJU1RPUllfUFVCS0VZID0gYmFzZTU4LmRlY29kZSgnU3lzdmFyU3Rha2VIaXN0b3J5MTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuXG5jb25zdCBDT01QVVRFX0JVREdFVF9QUk9HUkFNX0lEID0gYmFzZTU4LmRlY29kZSgnQ29tcHV0ZUJ1ZGdldDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScpO1xuXG5jb25zdCBQQURESU5HX1BVQkxJQ0tFWSA9IEJ1ZmZlci5mcm9tKCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLScsICdhc2NpaScpLnRvU3RyaW5nKCdoZXgnKTtcblxuY29uc3QgUEFDS0VUX0RBVEFfU0laRSA9IDEyODAgLSA0MCAtIDg7XG5cbmNvbnN0IFZFUlNJT05fUFJFRklYX01BU0sgPSAweDdmO1xuXG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX0xFTkdUSF9JTl9CWVRFUyA9IDY0O1xuXG4vKipcbiAqIFNpemUgb2YgcHVibGljIGtleSBpbiBieXRlc1xuICovXG5jb25zdCBQVUJMSUNfS0VZX0xFTkdUSCA9IDMyO1xuXG5leHBvcnQge1xuICBTQ1JJUFQsXG4gIENPSU5fVFlQRSxcbiAgTEFNUE9SVFNfUEVSX1NPTCxcbiAgU1lTVEVNX1BST0dSQU1fSUQsXG4gIFRPS0VOX1BST0dSQU1fSUQsXG4gIFRPS0VOXzIwMjJfUFJPR1JBTV9JRCxcbiAgU1RBS0VfUFJPR1JBTV9JRCxcbiAgU1RBS0VfQ09ORklHX0lELFxuICBBU1NPQ0lBVEVEX1RPS0VOX1BST0dSQU1fSUQsXG4gIFNZU1ZBUl9SRU5UX1BVQktFWSxcbiAgU1lTVkFSX0NMT0NLX1BVQktFWSxcbiAgU1lTVkFSX1NUQUtFX0hJU1RPUllfUFVCS0VZLFxuICBDT01QVVRFX0JVREdFVF9QUk9HUkFNX0lELFxuICBQQURESU5HX1BVQkxJQ0tFWSxcbiAgUEFDS0VUX0RBVEFfU0laRSxcbiAgVkVSU0lPTl9QUkVGSVhfTUFTSyxcbiAgUFVCTElDX0tFWV9MRU5HVEgsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsR0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBTUMsTUFBTSxHQUFBQyxPQUFBLENBQUFELE1BQUEsR0FBRztFQUNiRSxRQUFRLEVBQUU7SUFDUkMsTUFBTSxvckJBQW9yQjtJQUMxckJDLFNBQVMsRUFDUCxpSkFBaUpDLFFBQVEsQ0FDdkosR0FBRyxFQUNILEdBQ0YsQ0FBQztJQUNILElBQUlDLG1CQUFtQkEsQ0FBQSxFQUFXO01BQ2hDLE9BQU8sSUFBSSxDQUFDSCxNQUFNLEdBQUcsSUFBSSxDQUFDQyxTQUFTO0lBQ3JD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