@aws-cdk/region-info 2.145.0 → 2.147.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +24 -7
- package/.jsii.tabl.json.gz +0 -0
- package/build-tools/fact-tables.d.ts +1 -0
- package/build-tools/fact-tables.js +9 -2
- package/build-tools/generate-static-data.js +2 -1
- package/lib/built-ins.generated.d.ts +1 -1
- package/lib/built-ins.generated.js +37 -2
- package/lib/default.js +1 -1
- package/lib/fact.d.ts +4 -0
- package/lib/fact.js +7 -3
- package/lib/region-info.js +1 -1
- package/package.json +4 -4
|
@@ -55,6 +55,7 @@ async function main() {
|
|
|
55
55
|
registerFact(region, 'DLC_REPOSITORY_ACCOUNT', fact_tables_1.DLC_REPOSITORY_ACCOUNTS[region]);
|
|
56
56
|
registerFact(region, 'APPMESH_ECR_ACCOUNT', fact_tables_1.APPMESH_ECR_ACCOUNTS[region]);
|
|
57
57
|
registerFact(region, 'SAML_SIGN_ON_URL', fact_tables_1.PARTITION_SAML_SIGN_ON_URL[partition]);
|
|
58
|
+
registerFact(region, 'LATEST_NODE_RUNTIME', fact_tables_1.LATEST_NODE_RUNTIME_MAP[partition]);
|
|
58
59
|
const firehoseCidrBlock = fact_tables_1.FIREHOSE_CIDR_BLOCKS[region];
|
|
59
60
|
if (firehoseCidrBlock) {
|
|
60
61
|
registerFact(region, 'FIREHOSE_CIDR_BLOCK', `${fact_tables_1.FIREHOSE_CIDR_BLOCKS[region]}/27`);
|
|
@@ -135,4 +136,4 @@ main().catch(e => {
|
|
|
135
136
|
console.error(e);
|
|
136
137
|
process.exit(-1);
|
|
137
138
|
});
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3RhdGljLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZW5lcmF0ZS1zdGF0aWMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLCtDQWF1QjtBQUN2Qix5Q0FBOEM7QUFDOUMsc0RBTTZCO0FBQzdCLDRDQUF5QztBQUVsQyxLQUFLLFVBQVUsSUFBSTtJQUN4QixZQUFZLENBQUMsa0NBQW9CLENBQUMsQ0FBQztJQUNuQyxZQUFZLENBQUMscUNBQXVCLENBQUMsQ0FBQztJQUN0QyxZQUFZLENBQUMsNEJBQWMsQ0FBQyxDQUFDO0lBQzdCLFlBQVksQ0FBQyxrQ0FBb0IsQ0FBQyxDQUFDO0lBQ25DLFlBQVksQ0FBQyw4Q0FBZ0MsQ0FBQyxDQUFDO0lBQy9DLGtCQUFrQixDQUFDLDZDQUErQixDQUFDLENBQUM7SUFDcEQsa0JBQWtCLENBQUMseUNBQTJCLENBQUMsQ0FBQztJQUVoRCxNQUFNLEtBQUssR0FBRztRQUNaLDBDQUEwQztRQUMxQyxFQUFFO1FBQ0Ysa0NBQWtDO1FBQ2xDLDhCQUE4QjtRQUM5QixFQUFFO1FBQ0YsS0FBSztRQUNMLG9FQUFvRTtRQUNwRSxJQUFJO1FBQ0osaUJBQWlCLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDM0MsS0FBSztRQUNMLHlCQUF5QjtRQUN6QixPQUFPO1FBQ1AsMkVBQTJFO1FBQzNFLE9BQU87UUFDUCxvQ0FBb0M7S0FDckMsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUU3QixLQUFLLE1BQU0sTUFBTSxJQUFJLDBCQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLFlBQVksR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUUxRCxLQUFLLE1BQU0s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RSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUNmLHNDQUFzQztJQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQge1xuICBBUFBNRVNIX0VDUl9BQ0NPVU5UUyxcbiAgQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUyxcbiAgRExDX1JFUE9TSVRPUllfQUNDT1VOVFMsXG4gIEVMQlYyX0FDQ09VTlRTLFxuICBGSVJFSE9TRV9DSURSX0JMT0NLUyxcbiAgUEFSVElUSU9OX01BUCxcbiAgUk9VVEVfNTNfQlVDS0VUX1dFQlNJVEVfWk9ORV9JRFMsXG4gIEVCU19FTlZfRU5EUE9JTlRfSE9TVEVEX1pPTkVfSURTLFxuICBBRE9UX0xBTUJEQV9MQVlFUl9BUk5TLFxuICBQQVJBTVNfQU5EX1NFQ1JFVFNfTEFNQkRBX0xBWUVSX0FSTlMsXG4gIEFQUENPTkZJR19MQU1CREFfTEFZRVJfQVJOUyxcbiAgUEFSVElUSU9OX1NBTUxfU0lHTl9PTl9VUkwsXG59IGZyb20gJy4vZmFjdC10YWJsZXMnO1xuaW1wb3J0IHsgQVdTX0NES19NRVRBREFUQSB9IGZyb20gJy4vbWV0YWRhdGEnO1xuaW1wb3J0IHtcbiAgQVdTX1JFR0lPTlMsXG4gIEFXU19TRVJWSUNFUyxcbiAgYmVmb3JlLFxuICBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOLFxuICBSVUxFX0NMQVNTSUNfUEFSVElUSU9OX0JFQ09NRVNfT1BUX0lOLFxufSBmcm9tICcuLi9saWIvYXdzLWVudGl0aWVzJztcbmltcG9ydCB7IERlZmF1bHQgfSBmcm9tICcuLi9saWIvZGVmYXVsdCc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYWluKCk6IFByb21pc2U8dm9pZD4ge1xuICBjaGVja1JlZ2lvbnMoQVBQTUVTSF9FQ1JfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRExDX1JFUE9TSVRPUllfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRUxCVjJfQUNDT1VOVFMpO1xuICBjaGVja1JlZ2lvbnMoRklSRUhPU0VfQ0lEUl9CTE9DS1MpO1xuICBjaGVja1JlZ2lvbnMoUk9VVEVfNTNfQlVDS0VUX1dFQlNJVEVfWk9ORV9JRFMpO1xuICBjaGVja1JlZ2lvbnNTdWJNYXAoQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUyk7XG4gIGNoZWNrUmVnaW9uc1N1Yk1hcChBUFBDT05GSUdfTEFNQkRBX0xBWUVSX0FSTlMpO1xuXG4gIGNvbnN0IGxpbmVzID0gW1xuICAgIFwiaW1wb3J0IHsgRmFjdCwgRmFjdE5hbWUgfSBmcm9tICcuL2ZhY3QnO1wiLFxuICAgICcnLFxuICAgICcvKiBlc2xpbnQtZGlzYWJsZSBxdW90ZS1wcm9wcyAqLycsXG4gICAgJy8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4gKi8nLFxuICAgICcnLFxuICAgICcvKionLFxuICAgICcgKiBCdWlsdC1pbiByZWdpb25hbCBpbmZvcm1hdGlvbiwgcmUtZ2VuZXJhdGVkIGJ5IGBucG0gcnVuIGJ1aWxkYC4nLFxuICAgICcgKicsXG4gICAgYCAqIEBnZW5lcmF0ZWQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCxcbiAgICAnICovJyxcbiAgICAnZXhwb3J0IGNsYXNzIEJ1aWx0SW5zIHsnLFxuICAgICcgIC8qKicsXG4gICAgJyAgICogUmVnaXN0ZXJzIGFsbCB0aGUgYnVpbHQgaW4gcmVnaW9uYWwgZGF0YSBpbiB0aGUgUmVnaW9uSW5mbyBkYXRhYmFzZS4nLFxuICAgICcgICAqLycsXG4gICAgJyAgcHVibGljIHN0YXRpYyByZWdpc3RlcigpOiB2b2lkIHsnLFxuICBdO1xuXG4gIGNvbnN0IGRlZmF1bHRNYXAgPSAnZGVmYXVsdCc7XG5cbiAgZm9yIChjb25zdCByZWdpb24gb2YgQVdTX1JFR0lPTlMpIHtcbiAgICBsZXQgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUFtkZWZhdWx0TWFwXS5wYXJ0aXRpb247XG4gICAgbGV0IGRvbWFpblN1ZmZpeCA9IFBBUlRJVElPTl9NQVBbZGVmYXVsdE1hcF0uZG9tYWluU3VmZml4O1xuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gUEFSVElUSU9OX01BUCkge1xuICAgICAgaWYgKHJlZ2lvbi5zdGFydHNXaXRoKGtleSkpIHtcbiAgICAgICAgcGFydGl0aW9uID0gUEFSVElUSU9OX01BUFtrZXldLnBhcnRpdGlvbjtcbiAgICAgICAgZG9tYWluU3VmZml4ID0gUEFSVElUSU9OX01BUFtrZXldLmRvbWFpblN1ZmZpeDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnUEFSVElUSU9OJywgcGFydGl0aW9uKTtcbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRE9NQUlOX1NVRkZJWCcsIGRvbWFpblN1ZmZpeCk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnQ0RLX01FVEFEQVRBX1JFU09VUkNFX0FWQUlMQUJMRScsIEFXU19DREtfTUVUQURBVEEuaGFzKHJlZ2lvbikgPyAnWUVTJyA6ICdOTycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0lTX09QVF9JTl9SRUdJT04nLCBwYXJ0aXRpb24gPT09ICdhd3MnICYmIGFmdGVyKHJlZ2lvbiwgUlVMRV9DTEFTU0lDX1BBUlRJVElPTl9CRUNPTUVTX09QVF9JTikgPyAnWUVTJyA6ICdOTycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1MzX1NUQVRJQ19XRUJTSVRFX0VORFBPSU5UJywgYmVmb3JlKHJlZ2lvbiwgUlVMRV9TM19XRUJTSVRFX1JFR0lPTkFMX1NVQkRPTUFJTilcbiAgICAgID8gYHMzLXdlYnNpdGUtJHtyZWdpb259LiR7ZG9tYWluU3VmZml4fWBcbiAgICAgIDogYHMzLXdlYnNpdGUuJHtyZWdpb259LiR7ZG9tYWluU3VmZml4fWApO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ1MzX1NUQVRJQ19XRUJTSVRFX1pPTkVfNTNfSE9TVEVEX1pPTkVfSUQnLCBST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEU1tyZWdpb25dIHx8ICcnKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEJywgRUJTX0VOVl9FTkRQT0lOVF9IT1NURURfWk9ORV9JRFNbcmVnaW9uXSB8fCAnJyk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRUxCVjJfQUNDT1VOVCcsIEVMQlYyX0FDQ09VTlRTW3JlZ2lvbl0pO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0RMQ19SRVBPU0lUT1JZX0FDQ09VTlQnLCBETENfUkVQT1NJVE9SWV9BQ0NPVU5UU1tyZWdpb25dKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdBUFBNRVNIX0VDUl9BQ0NPVU5UJywgQVBQTUVTSF9FQ1JfQUNDT1VOVFNbcmVnaW9uXSk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnU0FNTF9TSUdOX09OX1VSTCcsIFBBUlRJVElPTl9TQU1MX1NJR05fT05fVVJMW3BhcnRpdGlvbl0pO1xuXG4gICAgY29uc3QgZmlyZWhvc2VDaWRyQmxvY2sgPSBGSVJFSE9TRV9DSURSX0JMT0NLU1tyZWdpb25dO1xuICAgIGlmIChmaXJlaG9zZUNpZHJCbG9jaykge1xuICAgICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0ZJUkVIT1NFX0NJRFJfQkxPQ0snLCBgJHtGSVJFSE9TRV9DSURSX0JMT0NLU1tyZWdpb25dfS8yN2ApO1xuICAgIH1cblxuICAgIGNvbnN0IHZwY0VuZHBvaW50U2VydmljZU5hbWVQcmVmaXggPSBgJHtkb21haW5TdWZmaXguc3BsaXQoJy4nKS5yZXZlcnNlKCkuam9pbignLicpfS52cGNlYDtcbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnVlBDX0VORFBPSU5UX1NFUlZJQ0VfTkFNRV9QUkVGSVgnLCB2cGNFbmRwb2ludFNlcnZpY2VOYW1lUHJlZml4KTtcblxuICAgIGZvciAoY29uc3Qgc2VydmljZSBvZiBBV1NfU0VSVklDRVMpIHtcbiAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnc2VydmljZVByaW5jaXBhbCcsIHNlcnZpY2VdLCBEZWZhdWx0LnNlcnZpY2VQcmluY2lwYWwoc2VydmljZSwgcmVnaW9uLCBkb21haW5TdWZmaXgpKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUykge1xuICAgICAgZm9yIChjb25zdCBhcmNoIGluIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl0pIHtcbiAgICAgICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgWydjbG91ZHdhdGNoTGFtYmRhSW5zaWdodHNWZXJzaW9uJywgdmVyc2lvbiwgYXJjaF0sIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl1bYXJjaF1bcmVnaW9uXSk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyY2ggaW4gQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnYXBwQ29uZmlnTGFtYmRhTGF5ZXJWZXJzaW9uJywgdmVyc2lvbiwgYXJjaF0sIEFQUENPTkZJR19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXVthcmNoXVtyZWdpb25dKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHR5cGUgaW4gQURPVF9MQU1CREFfTEFZRVJfQVJOUykge1xuICAgICAgZm9yIChjb25zdCB2ZXJzaW9uIGluIEFET1RfTEFNQkRBX0xBWUVSX0FSTlNbdHlwZV0pIHtcbiAgICAgICAgZm9yIChjb25zdCBhcmNoIGluIEFET1RfTEFNQkRBX0xBWUVSX0FSTlNbdHlwZV1bdmVyc2lvbl0pIHtcbiAgICAgICAgICByZWdpc3RlckZhY3QoXG4gICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICBbJ2Fkb3RMYW1iZGFMYXllcicsIHR5cGUsIHZlcnNpb24sIGFyY2hdLFxuICAgICAgICAgICAgQURPVF9MQU1CREFfTEFZRVJfQVJOU1t0eXBlXVt2ZXJzaW9uXVthcmNoXVtyZWdpb25dLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gUEFSQU1TX0FORF9TRUNSRVRTX0xBTUJEQV9MQVlFUl9BUk5TKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyY2ggaW4gUEFSQU1TX0FORF9TRUNSRVRTX0xBTUJEQV9MQVlFUl9BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsncGFyYW1zQW5kU2VjcmV0c0xhbWJkYUxheWVyJywgdmVyc2lvbiwgYXJjaF0sIFBBUkFNU19BTkRfU0VDUkVUU19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXVthcmNoXVtyZWdpb25dKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGluZXMucHVzaCgnICB9Jyk7XG4gIGxpbmVzLnB1c2goJycpO1xuICBsaW5lcy5wdXNoKCcgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fScpO1xuICBsaW5lcy5wdXNoKCd9Jyk7XG5cbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdsaWInLCAnYnVpbHQtaW5zLmdlbmVyYXRlZC50cycpLCBsaW5lcy5qb2luKCdcXG4nKSk7XG5cbiAgZnVuY3Rpb24gcmVnaXN0ZXJGYWN0KHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSwgdmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGZhY3ROYW1lID0gdHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnID8gbmFtZSA6IGAke25hbWVbMF19KCR7bmFtZS5zbGljZSgxKS5tYXAocyA9PiBKU09OLnN0cmluZ2lmeShzKSkuam9pbignLCAnKX0pYDtcbiAgICBsaW5lcy5wdXNoKGAgICAgRmFjdC5yZWdpc3Rlcih7IHJlZ2lvbjogJHtKU09OLnN0cmluZ2lmeShyZWdpb24pfSwgbmFtZTogRmFjdE5hbWUuJHtmYWN0TmFtZX0sIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0gfSk7YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBwcm92aWRlZCBtYXAgb2YgcmVnaW9uIHRvIGZhY3QgZG9lcyBub3QgY29udGFpbiBhbiBlbnRyeVxuICogZm9yIGEgcmVnaW9uIHRoYXQgd2FzIG5vdCByZWdpc3RlcmVkIGluIGBBV1NfUkVHSU9OU2AuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUmVnaW9ucyhtYXA6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gIGNvbnN0IGFsbFJlZ2lvbnMgPSBuZXcgU2V0KEFXU19SRUdJT05TKTtcbiAgZm9yIChjb25zdCByZWdpb24gb2YgT2JqZWN0LmtleXMobWFwKSkge1xuICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbi1yZWdpc3RlcmVkIHJlZ2lvbiBmYWN0IGZvdW5kOiAke3JlZ2lvbn0uIEFkZCB0byBBV1NfUkVHSU9OUyBsaXN0IWApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoYXQgdGhlIHByb3ZpZGVkIG1hcCBvZiA8S0VZPiB0byByZWdpb24gdG8gZmFjdCBkb2VzIG5vdCBjb250YWluIGFuIGVudHJ5XG4gKiBmb3IgYSByZWdpb24gdGhhdCB3YXMgbm90IHJlZ2lzdGVyZWQgaW4gYEFXU19SRUdJT05TYC5cbiAqL1xuZnVuY3Rpb24gY2hlY2tSZWdpb25zU3ViTWFwKG1hcDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pikge1xuICBjb25zdCBhbGxSZWdpb25zID0gbmV3IFNldChBV1NfUkVHSU9OUyk7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1hcCkpIHtcbiAgICBmb3IgKGNvbnN0IHN1YktleSBvZiBPYmplY3Qua2V5cyhtYXBba2V5XSkpIHtcbiAgICAgIGZvciAoY29uc3QgcmVnaW9uIG9mIE9iamVjdC5rZXlzKG1hcFtrZXldW3N1YktleV0pKSB7XG4gICAgICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW4tcmVnaXN0ZXJlZCByZWdpb24gZmFjdCBmb3VuZDogJHtyZWdpb259LiBBZGQgdG8gQVdTX1JFR0lPTlMgbGlzdCFgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZnRlcihyZWdpb246IHN0cmluZywgcnVsZU9yUmVnaW9uOiBzdHJpbmcgfCBzeW1ib2wpIHtcbiAgcmV0dXJuIHJlZ2lvbiAhPT0gcnVsZU9yUmVnaW9uICYmICFiZWZvcmUocmVnaW9uLCBydWxlT3JSZWdpb24pO1xufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgtMSk7XG59KTtcbiJdfQ==
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtc3RhdGljLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZW5lcmF0ZS1zdGF0aWMtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLCtDQWN1QjtBQUN2Qix5Q0FBOEM7QUFDOUMsc0RBTTZCO0FBQzdCLDRDQUF5QztBQUVsQyxLQUFLLFVBQVUsSUFBSTtJQUN4QixZQUFZLENBQUMsa0NBQW9CLENBQUMsQ0FBQztJQUNuQyxZQUFZLENBQUMscUNBQXVCLENBQUMsQ0FBQztJQUN0QyxZQUFZLENBQUMsNEJBQWMsQ0FBQyxDQUFDO0lBQzdCLFlBQVksQ0FBQyxrQ0FBb0IsQ0FBQyxDQUFDO0lBQ25DLFlBQVksQ0FBQyw4Q0FBZ0MsQ0FBQyxDQUFDO0lBQy9DLGtCQUFrQixDQUFDLDZDQUErQixDQUFDLENBQUM7SUFDcEQsa0JBQWtCLENBQUMseUNBQTJCLENBQUMsQ0FBQztJQUVoRCxNQUFNLEtBQUssR0FBRztRQUNaLDBDQUEwQztRQUMxQyxFQUFFO1FBQ0Ysa0NBQWtDO1FBQ2xDLDhCQUE4QjtRQUM5QixFQUFFO1FBQ0YsS0FBSztRQUNMLG9FQUFvRTtRQUNwRSxJQUFJO1FBQ0osaUJBQWlCLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDM0MsS0FBSztRQUNMLHlCQUF5QjtRQUN6QixPQUFPO1FBQ1AsMkVBQTJFO1FBQzNFLE9BQU87UUFDUCxvQ0FBb0M7S0FDckMsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUU3QixLQUFLLE1BQU0sTUFBTSxJQUFJLDBCQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLFNBQVMsR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNwRCxJQUFJLFlBQVksR0FBRywyQkFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUUxRCxLQUFLLE1BQU0s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QkFBTSxFQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRkQsc0JBRUM7QUFFRCxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7SUFDZixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0IHtcbiAgQVBQTUVTSF9FQ1JfQUNDT1VOVFMsXG4gIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlMsXG4gIERMQ19SRVBPU0lUT1JZX0FDQ09VTlRTLFxuICBFTEJWMl9BQ0NPVU5UUyxcbiAgRklSRUhPU0VfQ0lEUl9CTE9DS1MsXG4gIFBBUlRJVElPTl9NQVAsXG4gIFJPVVRFXzUzX0JVQ0tFVF9XRUJTSVRFX1pPTkVfSURTLFxuICBFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEUyxcbiAgQURPVF9MQU1CREFfTEFZRVJfQVJOUyxcbiAgUEFSQU1TX0FORF9TRUNSRVRTX0xBTUJEQV9MQVlFUl9BUk5TLFxuICBBUFBDT05GSUdfTEFNQkRBX0xBWUVSX0FSTlMsXG4gIFBBUlRJVElPTl9TQU1MX1NJR05fT05fVVJMLFxuICBMQVRFU1RfTk9ERV9SVU5USU1FX01BUCxcbn0gZnJvbSAnLi9mYWN0LXRhYmxlcyc7XG5pbXBvcnQgeyBBV1NfQ0RLX01FVEFEQVRBIH0gZnJvbSAnLi9tZXRhZGF0YSc7XG5pbXBvcnQge1xuICBBV1NfUkVHSU9OUyxcbiAgQVdTX1NFUlZJQ0VTLFxuICBiZWZvcmUsXG4gIFJVTEVfUzNfV0VCU0lURV9SRUdJT05BTF9TVUJET01BSU4sXG4gIFJVTEVfQ0xBU1NJQ19QQVJUSVRJT05fQkVDT01FU19PUFRfSU4sXG59IGZyb20gJy4uL2xpYi9hd3MtZW50aXRpZXMnO1xuaW1wb3J0IHsgRGVmYXVsdCB9IGZyb20gJy4uL2xpYi9kZWZhdWx0JztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNoZWNrUmVnaW9ucyhBUFBNRVNIX0VDUl9BQ0NPVU5UUyk7XG4gIGNoZWNrUmVnaW9ucyhETENfUkVQT1NJVE9SWV9BQ0NPVU5UUyk7XG4gIGNoZWNrUmVnaW9ucyhFTEJWMl9BQ0NPVU5UUyk7XG4gIGNoZWNrUmVnaW9ucyhGSVJFSE9TRV9DSURSX0JMT0NLUyk7XG4gIGNoZWNrUmVnaW9ucyhST1VURV81M19CVUNLRVRfV0VCU0lURV9aT05FX0lEUyk7XG4gIGNoZWNrUmVnaW9uc1N1Yk1hcChDTE9VRFdBVENIX0xBTUJEQV9JTlNJR0hUU19BUk5TKTtcbiAgY2hlY2tSZWdpb25zU3ViTWFwKEFQUENPTkZJR19MQU1CREFfTEFZRVJfQVJOUyk7XG5cbiAgY29uc3QgbGluZXMgPSBbXG4gICAgXCJpbXBvcnQgeyBGYWN0LCBGYWN0TmFtZSB9IGZyb20gJy4vZmFjdCc7XCIsXG4gICAgJycsXG4gICAgJy8qIGVzbGludC1kaXNhYmxlIHF1b3RlLXByb3BzICovJyxcbiAgICAnLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqLycsXG4gICAgJycsXG4gICAgJy8qKicsXG4gICAgJyAqIEJ1aWx0LWluIHJlZ2lvbmFsIGluZm9ybWF0aW9uLCByZS1nZW5lcmF0ZWQgYnkgYG5wbSBydW4gYnVpbGRgLicsXG4gICAgJyAqJyxcbiAgICBgICogQGdlbmVyYXRlZCAke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX1gLFxuICAgICcgKi8nLFxuICAgICdleHBvcnQgY2xhc3MgQnVpbHRJbnMgeycsXG4gICAgJyAgLyoqJyxcbiAgICAnICAgKiBSZWdpc3RlcnMgYWxsIHRoZSBidWlsdCBpbiByZWdpb25hbCBkYXRhIGluIHRoZSBSZWdpb25JbmZvIGRhdGFiYXNlLicsXG4gICAgJyAgICovJyxcbiAgICAnICBwdWJsaWMgc3RhdGljIHJlZ2lzdGVyKCk6IHZvaWQgeycsXG4gIF07XG5cbiAgY29uc3QgZGVmYXVsdE1hcCA9ICdkZWZhdWx0JztcblxuICBmb3IgKGNvbnN0IHJlZ2lvbiBvZiBBV1NfUkVHSU9OUykge1xuICAgIGxldCBwYXJ0aXRpb24gPSBQQVJUSVRJT05fTUFQW2RlZmF1bHRNYXBdLnBhcnRpdGlvbjtcbiAgICBsZXQgZG9tYWluU3VmZml4ID0gUEFSVElUSU9OX01BUFtkZWZhdWx0TWFwXS5kb21haW5TdWZmaXg7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBQQVJUSVRJT05fTUFQKSB7XG4gICAgICBpZiAocmVnaW9uLnN0YXJ0c1dpdGgoa2V5KSkge1xuICAgICAgICBwYXJ0aXRpb24gPSBQQVJUSVRJT05fTUFQW2tleV0ucGFydGl0aW9uO1xuICAgICAgICBkb21haW5TdWZmaXggPSBQQVJUSVRJT05fTUFQW2tleV0uZG9tYWluU3VmZml4O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdQQVJUSVRJT04nLCBwYXJ0aXRpb24pO1xuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdET01BSU5fU1VGRklYJywgZG9tYWluU3VmZml4KTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdDREtfTUVUQURBVEFfUkVTT1VSQ0VfQVZBSUxBQkxFJywgQVdTX0NES19NRVRBREFUQS5oYXMocmVnaW9uKSA/ICdZRVMnIDogJ05PJyk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnSVNfT1BUX0lOX1JFR0lPTicsIHBhcnRpdGlvbiA9PT0gJ2F3cycgJiYgYWZ0ZXIocmVnaW9uLCBSVUxFX0NMQVNTSUNfUEFSVElUSU9OX0JFQ09NRVNfT1BUX0lOKSA/ICdZRVMnIDogJ05PJyk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnUzNfU1RBVElDX1dFQlNJVEVfRU5EUE9JTlQnLCBiZWZvcmUocmVnaW9uLCBSVUxFX1MzX1dFQlNJVEVfUkVHSU9OQUxfU1VCRE9NQUlOKVxuICAgICAgPyBgczMtd2Vic2l0ZS0ke3JlZ2lvbn0uJHtkb21haW5TdWZmaXh9YFxuICAgICAgOiBgczMtd2Vic2l0ZS4ke3JlZ2lvbn0uJHtkb21haW5TdWZmaXh9YCk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnUzNfU1RBVElDX1dFQlNJVEVfWk9ORV81M19IT1NURURfWk9ORV9JRCcsIFJPVVRFXzUzX0JVQ0tFVF9XRUJTSVRFX1pPTkVfSURTW3JlZ2lvbl0gfHwgJycpO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0VCU19FTlZfRU5EUE9JTlRfSE9TVEVEX1pPTkVfSUQnLCBFQlNfRU5WX0VORFBPSU5UX0hPU1RFRF9aT05FX0lEU1tyZWdpb25dIHx8ICcnKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdFTEJWMl9BQ0NPVU5UJywgRUxCVjJfQUNDT1VOVFNbcmVnaW9uXSk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnRExDX1JFUE9TSVRPUllfQUNDT1VOVCcsIERMQ19SRVBPU0lUT1JZX0FDQ09VTlRTW3JlZ2lvbl0pO1xuXG4gICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0FQUE1FU0hfRUNSX0FDQ09VTlQnLCBBUFBNRVNIX0VDUl9BQ0NPVU5UU1tyZWdpb25dKTtcblxuICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sICdTQU1MX1NJR05fT05fVVJMJywgUEFSVElUSU9OX1NBTUxfU0lHTl9PTl9VUkxbcGFydGl0aW9uXSk7XG5cbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnTEFURVNUX05PREVfUlVOVElNRScsIExBVEVTVF9OT0RFX1JVTlRJTUVfTUFQW3BhcnRpdGlvbl0pO1xuXG4gICAgY29uc3QgZmlyZWhvc2VDaWRyQmxvY2sgPSBGSVJFSE9TRV9DSURSX0JMT0NLU1tyZWdpb25dO1xuICAgIGlmIChmaXJlaG9zZUNpZHJCbG9jaykge1xuICAgICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgJ0ZJUkVIT1NFX0NJRFJfQkxPQ0snLCBgJHtGSVJFSE9TRV9DSURSX0JMT0NLU1tyZWdpb25dfS8yN2ApO1xuICAgIH1cblxuICAgIGNvbnN0IHZwY0VuZHBvaW50U2VydmljZU5hbWVQcmVmaXggPSBgJHtkb21haW5TdWZmaXguc3BsaXQoJy4nKS5yZXZlcnNlKCkuam9pbignLicpfS52cGNlYDtcbiAgICByZWdpc3RlckZhY3QocmVnaW9uLCAnVlBDX0VORFBPSU5UX1NFUlZJQ0VfTkFNRV9QUkVGSVgnLCB2cGNFbmRwb2ludFNlcnZpY2VOYW1lUHJlZml4KTtcblxuICAgIGZvciAoY29uc3Qgc2VydmljZSBvZiBBV1NfU0VSVklDRVMpIHtcbiAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnc2VydmljZVByaW5jaXBhbCcsIHNlcnZpY2VdLCBEZWZhdWx0LnNlcnZpY2VQcmluY2lwYWwoc2VydmljZSwgcmVnaW9uLCBkb21haW5TdWZmaXgpKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gQ0xPVURXQVRDSF9MQU1CREFfSU5TSUdIVFNfQVJOUykge1xuICAgICAgZm9yIChjb25zdCBhcmNoIGluIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl0pIHtcbiAgICAgICAgcmVnaXN0ZXJGYWN0KHJlZ2lvbiwgWydjbG91ZHdhdGNoTGFtYmRhSW5zaWdodHNWZXJzaW9uJywgdmVyc2lvbiwgYXJjaF0sIENMT1VEV0FUQ0hfTEFNQkRBX0lOU0lHSFRTX0FSTlNbdmVyc2lvbl1bYXJjaF1bcmVnaW9uXSk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyY2ggaW4gQVBQQ09ORklHX0xBTUJEQV9MQVlFUl9BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsnYXBwQ29uZmlnTGFtYmRhTGF5ZXJWZXJzaW9uJywgdmVyc2lvbiwgYXJjaF0sIEFQUENPTkZJR19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXVthcmNoXVtyZWdpb25dKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHR5cGUgaW4gQURPVF9MQU1CREFfTEFZRVJfQVJOUykge1xuICAgICAgZm9yIChjb25zdCB2ZXJzaW9uIGluIEFET1RfTEFNQkRBX0xBWUVSX0FSTlNbdHlwZV0pIHtcbiAgICAgICAgZm9yIChjb25zdCBhcmNoIGluIEFET1RfTEFNQkRBX0xBWUVSX0FSTlNbdHlwZV1bdmVyc2lvbl0pIHtcbiAgICAgICAgICByZWdpc3RlckZhY3QoXG4gICAgICAgICAgICByZWdpb24sXG4gICAgICAgICAgICBbJ2Fkb3RMYW1iZGFMYXllcicsIHR5cGUsIHZlcnNpb24sIGFyY2hdLFxuICAgICAgICAgICAgQURPVF9MQU1CREFfTEFZRVJfQVJOU1t0eXBlXVt2ZXJzaW9uXVthcmNoXVtyZWdpb25dLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gaW4gUEFSQU1TX0FORF9TRUNSRVRTX0xBTUJEQV9MQVlFUl9BUk5TKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyY2ggaW4gUEFSQU1TX0FORF9TRUNSRVRTX0xBTUJEQV9MQVlFUl9BUk5TW3ZlcnNpb25dKSB7XG4gICAgICAgIHJlZ2lzdGVyRmFjdChyZWdpb24sIFsncGFyYW1zQW5kU2VjcmV0c0xhbWJkYUxheWVyJywgdmVyc2lvbiwgYXJjaF0sIFBBUkFNU19BTkRfU0VDUkVUU19MQU1CREFfTEFZRVJfQVJOU1t2ZXJzaW9uXVthcmNoXVtyZWdpb25dKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgbGluZXMucHVzaCgnICB9Jyk7XG4gIGxpbmVzLnB1c2goJycpO1xuICBsaW5lcy5wdXNoKCcgIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fScpO1xuICBsaW5lcy5wdXNoKCd9Jyk7XG5cbiAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicsICdsaWInLCAnYnVpbHQtaW5zLmdlbmVyYXRlZC50cycpLCBsaW5lcy5qb2luKCdcXG4nKSk7XG5cbiAgZnVuY3Rpb24gcmVnaXN0ZXJGYWN0KHJlZ2lvbjogc3RyaW5nLCBuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSwgdmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGZhY3ROYW1lID0gdHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnID8gbmFtZSA6IGAke25hbWVbMF19KCR7bmFtZS5zbGljZSgxKS5tYXAocyA9PiBKU09OLnN0cmluZ2lmeShzKSkuam9pbignLCAnKX0pYDtcbiAgICBsaW5lcy5wdXNoKGAgICAgRmFjdC5yZWdpc3Rlcih7IHJlZ2lvbjogJHtKU09OLnN0cmluZ2lmeShyZWdpb24pfSwgbmFtZTogRmFjdE5hbWUuJHtmYWN0TmFtZX0sIHZhbHVlOiAke0pTT04uc3RyaW5naWZ5KHZhbHVlKX0gfSk7YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGF0IHRoZSBwcm92aWRlZCBtYXAgb2YgcmVnaW9uIHRvIGZhY3QgZG9lcyBub3QgY29udGFpbiBhbiBlbnRyeVxuICogZm9yIGEgcmVnaW9uIHRoYXQgd2FzIG5vdCByZWdpc3RlcmVkIGluIGBBV1NfUkVHSU9OU2AuXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUmVnaW9ucyhtYXA6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSB7XG4gIGNvbnN0IGFsbFJlZ2lvbnMgPSBuZXcgU2V0KEFXU19SRUdJT05TKTtcbiAgZm9yIChjb25zdCByZWdpb24gb2YgT2JqZWN0LmtleXMobWFwKSkge1xuICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbi1yZWdpc3RlcmVkIHJlZ2lvbiBmYWN0IGZvdW5kOiAke3JlZ2lvbn0uIEFkZCB0byBBV1NfUkVHSU9OUyBsaXN0IWApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFZlcmlmaWVzIHRoYXQgdGhlIHByb3ZpZGVkIG1hcCBvZiA8S0VZPiB0byByZWdpb24gdG8gZmFjdCBkb2VzIG5vdCBjb250YWluIGFuIGVudHJ5XG4gKiBmb3IgYSByZWdpb24gdGhhdCB3YXMgbm90IHJlZ2lzdGVyZWQgaW4gYEFXU19SRUdJT05TYC5cbiAqL1xuZnVuY3Rpb24gY2hlY2tSZWdpb25zU3ViTWFwKG1hcDogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pikge1xuICBjb25zdCBhbGxSZWdpb25zID0gbmV3IFNldChBV1NfUkVHSU9OUyk7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1hcCkpIHtcbiAgICBmb3IgKGNvbnN0IHN1YktleSBvZiBPYmplY3Qua2V5cyhtYXBba2V5XSkpIHtcbiAgICAgIGZvciAoY29uc3QgcmVnaW9uIG9mIE9iamVjdC5rZXlzKG1hcFtrZXldW3N1YktleV0pKSB7XG4gICAgICAgIGlmICghYWxsUmVnaW9ucy5oYXMocmVnaW9uKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW4tcmVnaXN0ZXJlZCByZWdpb24gZmFjdCBmb3VuZDogJHtyZWdpb259LiBBZGQgdG8gQVdTX1JFR0lPTlMgbGlzdCFgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZnRlcihyZWdpb246IHN0cmluZywgcnVsZU9yUmVnaW9uOiBzdHJpbmcgfCBzeW1ib2wpIHtcbiAgcmV0dXJuIHJlZ2lvbiAhPT0gcnVsZU9yUmVnaW9uICYmICFiZWZvcmUocmVnaW9uLCBydWxlT3JSZWdpb24pO1xufVxuXG5tYWluKCkuY2F0Y2goZSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gIGNvbnNvbGUuZXJyb3IoZSk7XG4gIHByb2Nlc3MuZXhpdCgtMSk7XG59KTtcbiJdfQ==
|