Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@dataform/core

Package Overview
Dependencies
Maintainers
2
Versions
249
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@dataform/core - npm Package Compare versions

Comparing version 1.0.0-alpha.1 to 1.0.0-alpha.2

4

package.json

@@ -7,7 +7,7 @@ {

"dependencies": {
"@dataform/protos": "1.0.0-alpha.1",
"@dataform/protos": "1.0.0-alpha.2",
"moo": "^0.5.0",
"protobufjs": "^6.8.8"
},
"version": "1.0.0-alpha.1",
"version": "1.0.0-alpha.2",
"homepage": "https://github.com/dataform-co/dataform",

@@ -14,0 +14,0 @@ "license": "MIT",

@@ -239,2 +239,2 @@ (function (factory) {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FseF9wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NxbHhfcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQUEsMkJBQTJCO0lBRTNCLE1BQU0saUJBQWlCLEdBQUc7UUFDeEIsR0FBRyxFQUFFLEtBQUs7UUFDVixRQUFRLEVBQUUsU0FBUztRQUNuQixrQkFBa0IsRUFBRSxrQkFBa0I7UUFDdEMsZUFBZSxFQUFFLGtCQUFrQjtLQUNwQyxDQUFDO0lBRUYsTUFBTSxxQkFBcUIsR0FBRztRQUM1QixZQUFZLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLGNBQWM7UUFDcEQsUUFBUSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxVQUFVO1FBQzVDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxtQkFBbUI7UUFDOUQsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLHFCQUFxQjtRQUNuRSxxQkFBcUIsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCO1FBQ3JFLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxxQkFBcUI7UUFDbEUsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLG9CQUFvQjtRQUNqRSxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsbUJBQW1CO1FBQy9ELG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxvQkFBb0I7UUFDakUsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLG9CQUFvQjtRQUNqRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcscUJBQXFCO1FBQ25FLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxrQkFBa0I7UUFDNUQsUUFBUSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxXQUFXO1FBQzdDLHVCQUF1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QUFpQyxDQUFDLGNBQWMsQ0FBQyxHQUFHO1lBQ3JFLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7U0FDakMsQ0FBQztRQUNGLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDLFdBQVcsQ0FBQyxHQUFHO1lBQ2xFLEtBQUssRUFBRSxHQUFHO1lBQ1YsR0FBRyxFQUFFLENBQUM7WUFDTixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtTQUNoQixDQUFDO1FBQ0Ysa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsZ0JBQWdCLENBQUMsR0FBRztZQUN2RSxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7UUFDRixrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLENBQUMsR0FBRztZQUMvRCxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO1NBQ25CLENBQUM7UUFDRixrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHO1lBQzlFLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdkIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM5QyxXQUFXLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3ZELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO1FBQzFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxrQkFBa0IsQ0FBQztRQUVwRSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9vIGZyb20gXCJtb29cIjtcblxuY29uc3QgTEVYRVJfU1RBVEVfTkFNRVMgPSB7XG4gIFNRTDogXCJzcWxcIixcbiAgSlNfQkxPQ0s6IFwianNCbG9ja1wiLFxuICBKU19URU1QTEFURV9TVFJJTkc6IFwianNUZW1wbGF0ZVN0cmluZ1wiLFxuICBJTk5FUl9TUUxfQkxPQ0s6IFwiaW5jcmVtZW50YWxCbG9ja1wiXG59O1xuXG5jb25zdCBTUUxfTEVYRVJfVE9LRU5fTkFNRVMgPSB7XG4gIFNUQVJUX0NPTkZJRzogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfc3RhcnRDb25maWdcIixcbiAgU1RBUlRfSlM6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0SnNcIixcbiAgU1RBUlRfSU5DUkVNRU5UQUw6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0SW5jcmVtZW50YWxcIixcbiAgU1RBUlRfUFJFX09QRVJBVElPTlM6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0UHJlT3BlcmF0aW9uc1wiLFxuICBTVEFSVF9QT1NUX09QRVJBVElPTlM6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0UG9zdE9wZXJhdGlvbnNcIixcbiAgU1RBVEVNRU5UX1NFUEVSQVRPUjogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfc3RhdGVtZW50U2VwYXJhdG9yXCIsXG4gIFNJTkdMRV9MSU5FX0NPTU1FTlQ6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3NpbmdsZUxpbmVDb21tZW50XCIsXG4gIE1VTFRJX0xJTkVfQ09NTUVOVDogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfbXVsdGlMaW5lQ29tbWVudFwiLFxuICBTSU5HTEVfUVVPVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5TUUwgKyBcIl9zaW5nbGVRdW90ZVN0cmluZ1wiLFxuICBET1VCTEVfUVVPVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5TUUwgKyBcIl9kb3VibGVRdW90ZVN0cmluZ1wiLFxuICBTVEFSVF9KU19QTEFDRUhPTERFUjogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfc3RhcnRKc1BsYWNlaG9sZGVyXCIsXG4gIEVTQ0FQRURfQkFDS1RJQ0s6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX2VzY2FwZWRCYWNrdGlja1wiLFxuICBCQUNLVElDSzogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfYmFja3RpY2tcIixcbiAgQ0FQVFVSRV9FVkVSWVRISU5HX0VMU0U6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX2NhcHR1cmVFdmVyeXRoaW5nRWxzZVwiXG59O1xuXG5jb25zdCBKU19CTE9DS19MRVhFUl9UT0tFTl9OQU1FUyA9IHtcbiAgU0lOR0xFX0xJTkVfQ09NTUVOVDogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0sgKyBcIl9zaW5nbGVMaW5lQ29tbWVudFwiLFxuICBNVUxUSV9MSU5FX0NPTU1FTlQ6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLICsgXCJfbXVsdGlMaW5lQ29tbWVudFwiLFxuICBTSU5HTEVfUVVPVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DSyArIFwiX3NpbmdsZVF1b3RlU3RyaW5nXCIsXG4gIERPVUJMRV9RVU9URV9TVFJJTkc6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLICsgXCJfZG91YmxlUXVvdGVTdHJpbmdcIixcbiAgU1RBUlRfSlNfVEVNUExBVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DSyArIFwiX3N0YXJ0SnNUZW1wbGF0ZVN0cmluZ1wiLFxuICBTVEFSVF9KU19CTE9DSzogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0sgKyBcIl9zdGFydEpzQmxvY2tcIixcbiAgQ0xPU0VfQkxPQ0s6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLICsgXCJfY2xvc2VCbG9ja1wiLFxuICBDQVBUVVJFX0VWRVJZVEhJTkdfRUxTRTogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0sgKyBcIl9jYXB0dXJlRXZlcnl0aGluZ0Vsc2VcIlxufTtcblxuY29uc3QgSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTID0ge1xuICBFU0NBUEVEX0JBQ0tTTEFTSDogTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HICsgXCJfZXNjYXBlZEJhY2tzbGFzaFwiLFxuICBFU0NBUEVEX0JBQ0tUSUNLOiBMRVhFUl9TVEFURV9OQU1FUy5KU19URU1QTEFURV9TVFJJTkcgKyBcIl9lc2NhcGVkQmFja3RpY2tcIixcbiAgRVNDQVBFRF9ET0xMQVJfQlJBQ0U6IExFWEVSX1NUQVRFX05BTUVTLkpTX1RFTVBMQVRFX1NUUklORyArIFwiX2VzY2FwZWREb2xsYXJCcmFjZVwiLFxuICBTVEFSVF9KU19CTE9DSzogTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HICsgXCJfc3RhcnRKc0Jsb2NrXCIsXG4gIENMT1NFX1NUUklORzogTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HICsgXCJfY2xvc2VTdHJpbmdcIixcbiAgQ0FQVFVSRV9FVkVSWVRISU5HX0VMU0U6IExFWEVSX1NUQVRFX05BTUVTLkpTX1RFTVBMQVRFX1NUUklORyArIFwiX2NhcHR1cmVFdmVyeXRoaW5nRWxzZVwiXG59O1xuXG5jb25zdCBJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMgPSB7XG4gIFNUQVRFTUVOVF9TRVBFUkFUT1I6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX3N0YXRlbWVudFNlcGFyYXRvclwiLFxuICBTSU5HTEVfTElORV9DT01NRU5UOiBMRVhFUl9TVEFURV9OQU1FUy5JTk5FUl9TUUxfQkxPQ0sgKyBcIl9zaW5nbGVMaW5lQ29tbWVudFwiLFxuICBNVUxUSV9MSU5FX0NPTU1FTlQ6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX211bHRpTGluZUNvbW1lbnRcIixcbiAgU0lOR0xFX1FVT1RFX1NUUklORzogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLICsgXCJfc2luZ2xlUXVvdGVTdHJpbmdcIixcbiAgRE9VQkxFX1FVT1RFX1NUUklORzogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLICsgXCJfZG91YmxlUXVvdGVTdHJpbmdcIixcbiAgU1RBUlRfSlNfQkxPQ0s6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX3N0YXJ0SnNCbG9ja1wiLFxuICBDTE9TRV9CTE9DSzogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLICsgXCJfY2xvc2VCbG9ja1wiLFxuICBFU0NBUEVEX0JBQ0tUSUNLOiBMRVhFUl9TVEFURV9OQU1FUy5JTk5FUl9TUUxfQkxPQ0sgKyBcIl9lc2NhcGVkQmFja3RpY2tcIixcbiAgQkFDS1RJQ0s6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX2JhY2t0aWNrXCIsXG4gIENBUFRVUkVfRVZFUllUSElOR19FTFNFOiBMRVhFUl9TVEFURV9OQU1FUy5JTk5FUl9TUUxfQkxPQ0sgKyBcIl9jYXB0dXJlRXZlcnl0aGluZ0Vsc2VcIlxufTtcblxuY29uc3QgbGV4ZXIgPSBtb28uc3RhdGVzKGJ1aWxkU3FseExleGVyKCkpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTcWx4UGFyc2VSZXN1bHRzIHtcbiAgY29uZmlnOiBzdHJpbmc7XG4gIGpzOiBzdHJpbmc7XG4gIHNxbDogc3RyaW5nW107XG4gIGluY3JlbWVudGFsOiBzdHJpbmc7XG4gIHByZU9wZXJhdGlvbnM6IHN0cmluZ1tdO1xuICBwb3N0T3BlcmF0aW9uczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNxbHgoY29kZTogc3RyaW5nKTogSVNxbHhQYXJzZVJlc3VsdHMge1xuICBjb25zdCByZXN1bHRzID0ge1xuICAgIGNvbmZpZzogXCJcIixcbiAgICBqczogXCJcIixcbiAgICBzcWw6IFtcIlwiXSxcbiAgICBpbmNyZW1lbnRhbDogXCJcIixcbiAgICBwcmVPcGVyYXRpb25zOiBbXCJcIl0sXG4gICAgcG9zdE9wZXJhdGlvbnM6IFtcIlwiXVxuICB9O1xuICBjb25zdCBwYXJzZVN0YXRlID0gbmV3IFNxbHhQYXJzZVN0YXRlKCk7XG4gIGxleGVyLnJlc2V0KGNvZGUpO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIGxleGVyKSB7XG4gICAgY29uc3QgcHJldmlvdXNTdGF0ZSA9IHBhcnNlU3RhdGUuY3VycmVudFN0YXRlO1xuICAgIGNvbnN0IG5ld1N0YXRlID0gcGFyc2VTdGF0ZS5jb21wdXRlU3RhdGUodG9rZW4pO1xuICAgIGlmIChcbiAgICAgIHRva2VuLnR5cGUgPT09IFNRTF9MRVhFUl9UT0tFTl9OQU1FUy5TVEFURU1FTlRfU0VQRVJBVE9SIHx8XG4gICAgICB0b2tlbi50eXBlID09PSBJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU1RBVEVNRU5UX1NFUEVSQVRPUlxuICAgICkge1xuICAgICAgaWYgKG5ld1N0YXRlID09PSBcImluY3JlbWVudGFsXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiSW5jcmVtZW50YWwgY29kZSBibG9ja3MgbWF5IG5vdCBjb250YWluIFNRTCBzdGF0ZW1lbnQgc2VwYXJhdG9ycyAoJy0tLScpLlwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAocmVzdWx0c1tuZXdTdGF0ZV0gYXMgc3RyaW5nW10pLnB1c2goXCJcIik7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdHNbbmV3U3RhdGVdKSkge1xuICAgICAgKHJlc3VsdHNbbmV3U3RhdGVdIGFzIHN0cmluZ1tdKVtyZXN1bHRzW25ld1N0YXRlXS5sZW5ndGggLSAxXSArPSB0b2tlbi52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0c1tuZXdTdGF0ZV0gKz0gdG9rZW4udmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzU3RhdGUgPT09IFwianNcIiAmJiBuZXdTdGF0ZSAhPT0gXCJqc1wiKSB7XG4gICAgICAvLyBJZiB3ZSdyZSBjbG9zaW5nIG9mZiBhIEpTIGJsb2NrLCBjdXQgb2ZmIHRoZSBsYXN0IGNsb3NpbmcgYnJhY2UuXG4gICAgICAvLyBXZSBoYXZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSBpbnRlbnRpb25hbGx5IGN1dCBvZmYgdGhlIHN0YXJ0aW5nIGJyYWNlIGR1cmluZyBsZXhpbmcuXG4gICAgICAvLyBXZSBjYW4ndCBrZWVwIHRoZW0gYmVjYXVzZSB0aGUgdXNlcidzIEpTIG11c3Qgbm90IGJlIHJ1biBpbnNpZGUgYSBzY29wZWQgYmxvY2suXG4gICAgICByZXN1bHRzLmpzID0gcmVzdWx0cy5qcy5zdWJzdHJpbmcoMCwgcmVzdWx0cy5qcy5sZW5ndGggLSAxKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdHM7XG59XG5cbmNvbnN0IHRva2VuVHlwZVN0YXRlTWFwcGluZyA9IG5ldyBNYXA8c3RyaW5nLCBrZXlvZiBJU3FseFBhcnNlUmVzdWx0cz4oKTtcbnRva2VuVHlwZVN0YXRlTWFwcGluZy5zZXQoU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0NPTkZJRywgXCJjb25maWdcIik7XG50b2tlblR5cGVTdGF0ZU1hcHBpbmcuc2V0KFNRTF9MRVhFUl9UT0tFTl9OQU1FUy5TVEFSVF9KUywgXCJqc1wiKTtcbnRva2VuVHlwZVN0YXRlTWFwcGluZy5zZXQoU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0lOQ1JFTUVOVEFMLCBcImluY3JlbWVudGFsXCIpO1xudG9rZW5UeXBlU3RhdGVNYXBwaW5nLnNldChTUUxfTEVYRVJfVE9LRU5fTkFNRVMuU1RBUlRfUFJFX09QRVJBVElPTlMsIFwicHJlT3BlcmF0aW9uc1wiKTtcbnRva2VuVHlwZVN0YXRlTWFwcGluZy5zZXQoU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX1BPU1RfT1BFUkFUSU9OUywgXCJwb3N0T3BlcmF0aW9uc1wiKTtcblxuY2xhc3MgU3FseFBhcnNlU3RhdGUge1xuICBwdWJsaWMgY3VycmVudFN0YXRlOiBrZXlvZiBJU3FseFBhcnNlUmVzdWx0cyA9IFwic3FsXCI7XG5cbiAgcHVibGljIGNvbXB1dGVTdGF0ZSh0b2tlbjogbW9vLlRva2VuKToga2V5b2YgSVNxbHhQYXJzZVJlc3VsdHMge1xuICAgIGlmICghdG9rZW4udHlwZS5zdGFydHNXaXRoKExFWEVSX1NUQVRFX05BTUVTLlNRTCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGF0ZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50U3RhdGUgPSBcInNxbFwiO1xuICAgIGlmICh0b2tlblR5cGVTdGF0ZU1hcHBpbmcuaGFzKHRva2VuLnR5cGUpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTdGF0ZSA9IHRva2VuVHlwZVN0YXRlTWFwcGluZy5nZXQodG9rZW4udHlwZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBidWlsZFNxbHhMZXhlcigpIHtcbiAgY29uc3Qgc3FsTGV4ZXIgPSB7fTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0NPTkZJR10gPSB7XG4gICAgbWF0Y2g6IFwiY29uZmlnIHtcIixcbiAgICBwdXNoOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DSyxcbiAgICB2YWx1ZTogKCkgPT4gXCJ7XCJcbiAgfTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTXSA9IHtcbiAgICBtYXRjaDogXCJqcyB7XCIsXG4gICAgcHVzaDogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0ssXG4gICAgdmFsdWU6ICgpID0+IFwiXCJcbiAgfTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0lOQ1JFTUVOVEFMXSA9IHtcbiAgICBtYXRjaDogXCJpbmNyZW1lbnRhbF93aGVyZSB7XCIsXG4gICAgcHVzaDogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5TVEFSVF9QUkVfT1BFUkFUSU9OU10gPSB7XG4gICAgbWF0Y2g6IFwicHJlX29wZXJhdGlvbnMge1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyxcbiAgICB2YWx1ZTogKCkgPT4gXCJcIlxuICB9O1xuICBzcWxMZXhlcltTUUxfTEVYRVJfVE9LRU5fTkFNRVMuU1RBUlRfUE9TVF9PUEVSQVRJT05TXSA9IHtcbiAgICBtYXRjaDogXCJwb3N0X29wZXJhdGlvbnMge1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyxcbiAgICB2YWx1ZTogKCkgPT4gXCJcIlxuICB9O1xuICBzcWxMZXhlcltTUUxfTEVYRVJfVE9LRU5fTkFNRVMuU1RBVEVNRU5UX1NFUEVSQVRPUl0gPSB7XG4gICAgbWF0Y2g6IC9bXlxcU1xcclxcbl0qLS0tW15cXFNcXHJcXG5dKiQvLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5TSU5HTEVfTElORV9DT01NRU5UXSA9IC8tLS4qPyQvO1xuICBzcWxMZXhlcltTUUxfTEVYRVJfVE9LRU5fTkFNRVMuTVVMVElfTElORV9DT01NRU5UXSA9IC9cXC9cXCpbXFxzXFxTXSo/XFwqXFwvLztcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9RVU9URV9TVFJJTkddID0gLycoPzpcXFxcWydcXFxcXXxbXlxcbidcXFxcXSkqJy87XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5ET1VCTEVfUVVPVEVfU1RSSU5HXSA9IC9cIig/OlxcXFxbXCJcXFxcXXxbXlxcblwiXFxcXF0pKlwiLztcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTX1BMQUNFSE9MREVSXSA9IHtcbiAgICBtYXRjaDogXCIke1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5FU0NBUEVEX0JBQ0tUSUNLXSA9IHtcbiAgICBtYXRjaDogXCJcXFxcYFwiXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5CQUNLVElDS10gPSB7XG4gICAgbWF0Y2g6IFwiYFwiLFxuICAgIHZhbHVlOiAoKSA9PiBcIlxcXFxgXCJcbiAgfTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLkNBUFRVUkVfRVZFUllUSElOR19FTFNFXSA9IHtcbiAgICBtYXRjaDogL1tcXHNcXFNdKz8vLFxuICAgIGxpbmVCcmVha3M6IHRydWVcbiAgfTtcblxuICBjb25zdCBqc0Jsb2NrTGV4ZXIgPSB7fTtcbiAganNCbG9ja0xleGVyW0pTX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9MSU5FX0NPTU1FTlRdID0gL1xcL1xcLy4qPyQvO1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuTVVMVElfTElORV9DT01NRU5UXSA9IC9cXC9cXCpbXFxzXFxTXSo/XFwqXFwvLztcbiAganNCbG9ja0xleGVyW0pTX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9RVU9URV9TVFJJTkddID0gLycoPzpcXFxcWydcXFxcXXxbXlxcbidcXFxcXSkqJy87XG4gIGpzQmxvY2tMZXhlcltKU19CTE9DS19MRVhFUl9UT0tFTl9OQU1FUy5ET1VCTEVfUVVPVEVfU1RSSU5HXSA9IC9cIig/OlxcXFxbXCJcXFxcXXxbXlxcblwiXFxcXF0pKlwiLztcbiAganNCbG9ja0xleGVyW0pTX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTX1RFTVBMQVRFX1NUUklOR10gPSB7XG4gICAgbWF0Y2g6IFwiYFwiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLkpTX1RFTVBMQVRFX1NUUklOR1xuICB9O1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU1RBUlRfSlNfQkxPQ0tdID0ge1xuICAgIG1hdGNoOiBcIntcIixcbiAgICBwdXNoOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DS1xuICB9O1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuQ0xPU0VfQkxPQ0tdID0geyBtYXRjaDogXCJ9XCIsIHBvcDogMSB9O1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuQ0FQVFVSRV9FVkVSWVRISU5HX0VMU0VdID0ge1xuICAgIG1hdGNoOiAvW1xcc1xcU10rPy8sXG4gICAgbGluZUJyZWFrczogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGpzVGVtcGxhdGVTdHJpbmdMZXhlciA9IHt9O1xuICBqc1RlbXBsYXRlU3RyaW5nTGV4ZXJbSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTLkVTQ0FQRURfQkFDS1NMQVNIXSA9IC9cXFxcXFxcXC87XG4gIGpzVGVtcGxhdGVTdHJpbmdMZXhlcltKU19URU1QTEFURV9TVFJJTkdfTEVYRVJfVE9LRU5fTkFNRVMuRVNDQVBFRF9CQUNLVElDS10gPSAvXFxcXGAvO1xuICBqc1RlbXBsYXRlU3RyaW5nTGV4ZXJbSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTLkVTQ0FQRURfRE9MTEFSX0JSQUNFXSA9IC9cXFxcXFwke2AvO1xuICBqc1RlbXBsYXRlU3RyaW5nTGV4ZXJbSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTX0JMT0NLXSA9IHtcbiAgICBtYXRjaDogXCIke1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLXG4gIH07XG4gIGpzVGVtcGxhdGVTdHJpbmdMZXhlcltKU19URU1QTEFURV9TVFJJTkdfTEVYRVJfVE9LRU5fTkFNRVMuQ0xPU0VfU1RSSU5HXSA9IHsgbWF0Y2g6IFwiYFwiLCBwb3A6IDEgfTtcbiAganNUZW1wbGF0ZVN0cmluZ0xleGVyW0pTX1RFTVBMQVRFX1NUUklOR19MRVhFUl9UT0tFTl9OQU1FUy5DQVBUVVJFX0VWRVJZVEhJTkdfRUxTRV0gPSB7XG4gICAgbWF0Y2g6IC9bXFxzXFxTXSs/LyxcbiAgICBsaW5lQnJlYWtzOiB0cnVlXG4gIH07XG5cbiAgY29uc3QgaW5uZXJTcWxCbG9ja0xleGVyID0ge307XG4gIGlubmVyU3FsQmxvY2tMZXhlcltJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU1RBVEVNRU5UX1NFUEVSQVRPUl0gPSB7XG4gICAgbWF0Y2g6IC9bXlxcU1xcclxcbl0qLS0tW15cXFNcXHJcXG5dKiQvLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIGlubmVyU3FsQmxvY2tMZXhlcltJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU0lOR0xFX0xJTkVfQ09NTUVOVF0gPSAvLS0uKj8kLztcbiAgaW5uZXJTcWxCbG9ja0xleGVyW0lOTkVSX1NRTF9CTE9DS19MRVhFUl9UT0tFTl9OQU1FUy5NVUxUSV9MSU5FX0NPTU1FTlRdID0gL1xcL1xcKltcXHNcXFNdKj9cXCpcXC8vO1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbXG4gICAgSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9RVU9URV9TVFJJTkdcbiAgXSA9IC8nKD86XFxcXFsnXFxcXF18W15cXG4nXFxcXF0pKicvO1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbXG4gICAgSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkRPVUJMRV9RVU9URV9TVFJJTkdcbiAgXSA9IC9cIig/OlxcXFxbXCJcXFxcXXxbXlxcblwiXFxcXF0pKlwiLztcbiAgaW5uZXJTcWxCbG9ja0xleGVyW0lOTkVSX1NRTF9CTE9DS19MRVhFUl9UT0tFTl9OQU1FUy5TVEFSVF9KU19CTE9DS10gPSB7XG4gICAgbWF0Y2g6IFwiJHtcIixcbiAgICBwdXNoOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DS1xuICB9O1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkNMT1NFX0JMT0NLXSA9IHtcbiAgICBtYXRjaDogXCJ9XCIsXG4gICAgcG9wOiAxLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIGlubmVyU3FsQmxvY2tMZXhlcltJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuRVNDQVBFRF9CQUNLVElDS10gPSB7XG4gICAgbWF0Y2g6IFwiXFxcXGBcIlxuICB9O1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkJBQ0tUSUNLXSA9IHtcbiAgICBtYXRjaDogXCJgXCIsXG4gICAgdmFsdWU6ICgpID0+IFwiXFxcXGBcIlxuICB9O1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkNBUFRVUkVfRVZFUllUSElOR19FTFNFXSA9IHtcbiAgICBtYXRjaDogL1tcXHNcXFNdKz8vLFxuICAgIGxpbmVCcmVha3M6IHRydWVcbiAgfTtcblxuICBjb25zdCBsZXhlclN0YXRlcyA9IHt9O1xuICBsZXhlclN0YXRlc1tMRVhFUl9TVEFURV9OQU1FUy5TUUxdID0gc3FsTGV4ZXI7XG4gIGxleGVyU3RhdGVzW0xFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLXSA9IGpzQmxvY2tMZXhlcjtcbiAgbGV4ZXJTdGF0ZXNbTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HXSA9IGpzVGVtcGxhdGVTdHJpbmdMZXhlcjtcbiAgbGV4ZXJTdGF0ZXNbTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLXSA9IGlubmVyU3FsQmxvY2tMZXhlcjtcblxuICByZXR1cm4gbGV4ZXJTdGF0ZXM7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FseF9wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL3NxbHhfcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBQUEsMkJBQTJCO0lBRTNCLE1BQU0saUJBQWlCLEdBQUc7UUFDeEIsR0FBRyxFQUFFLEtBQUs7UUFDVixRQUFRLEVBQUUsU0FBUztRQUNuQixrQkFBa0IsRUFBRSxrQkFBa0I7UUFDdEMsZUFBZSxFQUFFLGtCQUFrQjtLQUNwQyxDQUFDO0lBRUYsTUFBTSxxQkFBcUIsR0FBRztRQUM1QixZQUFZLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLGNBQWM7UUFDcEQsUUFBUSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxVQUFVO1FBQzVDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxtQkFBbUI7UUFDOUQsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLHFCQUFxQjtRQUNuRSxxQkFBcUIsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsc0JBQXNCO1FBQ3JFLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxxQkFBcUI7UUFDbEUsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLG9CQUFvQjtRQUNqRSxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsbUJBQW1CO1FBQy9ELG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxvQkFBb0I7UUFDakUsbUJBQW1CLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxHQUFHLG9CQUFvQjtRQUNqRSxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcscUJBQXFCO1FBQ25FLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxrQkFBa0I7UUFDNUQsUUFBUSxFQUFFLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxXQUFXO1FBQzdDLHVCQUF1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QUFpQyxDQUFDLGNBQWMsQ0FBQyxHQUFHO1lBQ3JFLEtBQUssRUFBRSxJQUFJO1lBQ1gsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7U0FDakMsQ0FBQztRQUNGLGtCQUFrQixDQUFDLGlDQUFpQyxDQUFDLFdBQVcsQ0FBQyxHQUFHO1lBQ2xFLEtBQUssRUFBRSxHQUFHO1lBQ1YsR0FBRyxFQUFFLENBQUM7WUFDTixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRTtTQUNoQixDQUFDO1FBQ0Ysa0JBQWtCLENBQUMsaUNBQWlDLENBQUMsZ0JBQWdCLENBQUMsR0FBRztZQUN2RSxLQUFLLEVBQUUsS0FBSztTQUNiLENBQUM7UUFDRixrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyxRQUFRLENBQUMsR0FBRztZQUMvRCxLQUFLLEVBQUUsR0FBRztZQUNWLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO1NBQ25CLENBQUM7UUFDRixrQkFBa0IsQ0FBQyxpQ0FBaUMsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHO1lBQzlFLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdkIsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUM5QyxXQUFXLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3ZELFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO1FBQzFFLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsR0FBRyxrQkFBa0IsQ0FBQztRQUVwRSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9vIGZyb20gXCJtb29cIjtcblxuY29uc3QgTEVYRVJfU1RBVEVfTkFNRVMgPSB7XG4gIFNRTDogXCJzcWxcIixcbiAgSlNfQkxPQ0s6IFwianNCbG9ja1wiLFxuICBKU19URU1QTEFURV9TVFJJTkc6IFwianNUZW1wbGF0ZVN0cmluZ1wiLFxuICBJTk5FUl9TUUxfQkxPQ0s6IFwiaW5jcmVtZW50YWxCbG9ja1wiXG59O1xuXG5jb25zdCBTUUxfTEVYRVJfVE9LRU5fTkFNRVMgPSB7XG4gIFNUQVJUX0NPTkZJRzogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfc3RhcnRDb25maWdcIixcbiAgU1RBUlRfSlM6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0SnNcIixcbiAgU1RBUlRfSU5DUkVNRU5UQUw6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0SW5jcmVtZW50YWxcIixcbiAgU1RBUlRfUFJFX09QRVJBVElPTlM6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0UHJlT3BlcmF0aW9uc1wiLFxuICBTVEFSVF9QT1NUX09QRVJBVElPTlM6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3N0YXJ0UG9zdE9wZXJhdGlvbnNcIixcbiAgU1RBVEVNRU5UX1NFUEVSQVRPUjogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfc3RhdGVtZW50U2VwYXJhdG9yXCIsXG4gIFNJTkdMRV9MSU5FX0NPTU1FTlQ6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX3NpbmdsZUxpbmVDb21tZW50XCIsXG4gIE1VTFRJX0xJTkVfQ09NTUVOVDogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfbXVsdGlMaW5lQ29tbWVudFwiLFxuICBTSU5HTEVfUVVPVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5TUUwgKyBcIl9zaW5nbGVRdW90ZVN0cmluZ1wiLFxuICBET1VCTEVfUVVPVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5TUUwgKyBcIl9kb3VibGVRdW90ZVN0cmluZ1wiLFxuICBTVEFSVF9KU19QTEFDRUhPTERFUjogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfc3RhcnRKc1BsYWNlaG9sZGVyXCIsXG4gIEVTQ0FQRURfQkFDS1RJQ0s6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX2VzY2FwZWRCYWNrdGlja1wiLFxuICBCQUNLVElDSzogTEVYRVJfU1RBVEVfTkFNRVMuU1FMICsgXCJfYmFja3RpY2tcIixcbiAgQ0FQVFVSRV9FVkVSWVRISU5HX0VMU0U6IExFWEVSX1NUQVRFX05BTUVTLlNRTCArIFwiX2NhcHR1cmVFdmVyeXRoaW5nRWxzZVwiXG59O1xuXG5jb25zdCBKU19CTE9DS19MRVhFUl9UT0tFTl9OQU1FUyA9IHtcbiAgU0lOR0xFX0xJTkVfQ09NTUVOVDogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0sgKyBcIl9zaW5nbGVMaW5lQ29tbWVudFwiLFxuICBNVUxUSV9MSU5FX0NPTU1FTlQ6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLICsgXCJfbXVsdGlMaW5lQ29tbWVudFwiLFxuICBTSU5HTEVfUVVPVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DSyArIFwiX3NpbmdsZVF1b3RlU3RyaW5nXCIsXG4gIERPVUJMRV9RVU9URV9TVFJJTkc6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLICsgXCJfZG91YmxlUXVvdGVTdHJpbmdcIixcbiAgU1RBUlRfSlNfVEVNUExBVEVfU1RSSU5HOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DSyArIFwiX3N0YXJ0SnNUZW1wbGF0ZVN0cmluZ1wiLFxuICBTVEFSVF9KU19CTE9DSzogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0sgKyBcIl9zdGFydEpzQmxvY2tcIixcbiAgQ0xPU0VfQkxPQ0s6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLICsgXCJfY2xvc2VCbG9ja1wiLFxuICBDQVBUVVJFX0VWRVJZVEhJTkdfRUxTRTogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0sgKyBcIl9jYXB0dXJlRXZlcnl0aGluZ0Vsc2VcIlxufTtcblxuY29uc3QgSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTID0ge1xuICBFU0NBUEVEX0JBQ0tTTEFTSDogTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HICsgXCJfZXNjYXBlZEJhY2tzbGFzaFwiLFxuICBFU0NBUEVEX0JBQ0tUSUNLOiBMRVhFUl9TVEFURV9OQU1FUy5KU19URU1QTEFURV9TVFJJTkcgKyBcIl9lc2NhcGVkQmFja3RpY2tcIixcbiAgRVNDQVBFRF9ET0xMQVJfQlJBQ0U6IExFWEVSX1NUQVRFX05BTUVTLkpTX1RFTVBMQVRFX1NUUklORyArIFwiX2VzY2FwZWREb2xsYXJCcmFjZVwiLFxuICBTVEFSVF9KU19CTE9DSzogTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HICsgXCJfc3RhcnRKc0Jsb2NrXCIsXG4gIENMT1NFX1NUUklORzogTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HICsgXCJfY2xvc2VTdHJpbmdcIixcbiAgQ0FQVFVSRV9FVkVSWVRISU5HX0VMU0U6IExFWEVSX1NUQVRFX05BTUVTLkpTX1RFTVBMQVRFX1NUUklORyArIFwiX2NhcHR1cmVFdmVyeXRoaW5nRWxzZVwiXG59O1xuXG5jb25zdCBJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMgPSB7XG4gIFNUQVRFTUVOVF9TRVBFUkFUT1I6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX3N0YXRlbWVudFNlcGFyYXRvclwiLFxuICBTSU5HTEVfTElORV9DT01NRU5UOiBMRVhFUl9TVEFURV9OQU1FUy5JTk5FUl9TUUxfQkxPQ0sgKyBcIl9zaW5nbGVMaW5lQ29tbWVudFwiLFxuICBNVUxUSV9MSU5FX0NPTU1FTlQ6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX211bHRpTGluZUNvbW1lbnRcIixcbiAgU0lOR0xFX1FVT1RFX1NUUklORzogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLICsgXCJfc2luZ2xlUXVvdGVTdHJpbmdcIixcbiAgRE9VQkxFX1FVT1RFX1NUUklORzogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLICsgXCJfZG91YmxlUXVvdGVTdHJpbmdcIixcbiAgU1RBUlRfSlNfQkxPQ0s6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX3N0YXJ0SnNCbG9ja1wiLFxuICBDTE9TRV9CTE9DSzogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLICsgXCJfY2xvc2VCbG9ja1wiLFxuICBFU0NBUEVEX0JBQ0tUSUNLOiBMRVhFUl9TVEFURV9OQU1FUy5JTk5FUl9TUUxfQkxPQ0sgKyBcIl9lc2NhcGVkQmFja3RpY2tcIixcbiAgQkFDS1RJQ0s6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyArIFwiX2JhY2t0aWNrXCIsXG4gIENBUFRVUkVfRVZFUllUSElOR19FTFNFOiBMRVhFUl9TVEFURV9OQU1FUy5JTk5FUl9TUUxfQkxPQ0sgKyBcIl9jYXB0dXJlRXZlcnl0aGluZ0Vsc2VcIlxufTtcblxuY29uc3QgbGV4ZXIgPSBtb28uc3RhdGVzKGJ1aWxkU3FseExleGVyKCkpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTcWx4UGFyc2VSZXN1bHRzIHtcbiAgY29uZmlnOiBzdHJpbmc7XG4gIGpzOiBzdHJpbmc7XG4gIHNxbDogc3RyaW5nW107XG4gIGluY3JlbWVudGFsOiBzdHJpbmc7XG4gIHByZU9wZXJhdGlvbnM6IHN0cmluZ1tdO1xuICBwb3N0T3BlcmF0aW9uczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNxbHgoY29kZTogc3RyaW5nKTogSVNxbHhQYXJzZVJlc3VsdHMge1xuICBjb25zdCByZXN1bHRzID0ge1xuICAgIGNvbmZpZzogXCJcIixcbiAgICBqczogXCJcIixcbiAgICBzcWw6IFtcIlwiXSxcbiAgICBpbmNyZW1lbnRhbDogXCJcIixcbiAgICBwcmVPcGVyYXRpb25zOiBbXCJcIl0sXG4gICAgcG9zdE9wZXJhdGlvbnM6IFtcIlwiXVxuICB9O1xuICBjb25zdCBwYXJzZVN0YXRlID0gbmV3IFNxbHhQYXJzZVN0YXRlKCk7XG4gIGxleGVyLnJlc2V0KGNvZGUpO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIGxleGVyKSB7XG4gICAgY29uc3QgcHJldmlvdXNTdGF0ZSA9IHBhcnNlU3RhdGUuY3VycmVudFN0YXRlO1xuICAgIGNvbnN0IG5ld1N0YXRlID0gcGFyc2VTdGF0ZS5jb21wdXRlU3RhdGUodG9rZW4pO1xuICAgIGlmIChcbiAgICAgIHRva2VuLnR5cGUgPT09IFNRTF9MRVhFUl9UT0tFTl9OQU1FUy5TVEFURU1FTlRfU0VQRVJBVE9SIHx8XG4gICAgICB0b2tlbi50eXBlID09PSBJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU1RBVEVNRU5UX1NFUEVSQVRPUlxuICAgICkge1xuICAgICAgaWYgKG5ld1N0YXRlID09PSBcImluY3JlbWVudGFsXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiSW5jcmVtZW50YWwgY29kZSBibG9ja3MgbWF5IG5vdCBjb250YWluIFNRTCBzdGF0ZW1lbnQgc2VwYXJhdG9ycyAoJy0tLScpLlwiXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICAocmVzdWx0c1tuZXdTdGF0ZV0gYXMgc3RyaW5nW10pLnB1c2goXCJcIik7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdHNbbmV3U3RhdGVdKSkge1xuICAgICAgKHJlc3VsdHNbbmV3U3RhdGVdIGFzIHN0cmluZ1tdKVtyZXN1bHRzW25ld1N0YXRlXS5sZW5ndGggLSAxXSArPSB0b2tlbi52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgKHJlc3VsdHNbbmV3U3RhdGVdIGFzIHN0cmluZykgKz0gdG9rZW4udmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKHByZXZpb3VzU3RhdGUgPT09IFwianNcIiAmJiBuZXdTdGF0ZSAhPT0gXCJqc1wiKSB7XG4gICAgICAvLyBJZiB3ZSdyZSBjbG9zaW5nIG9mZiBhIEpTIGJsb2NrLCBjdXQgb2ZmIHRoZSBsYXN0IGNsb3NpbmcgYnJhY2UuXG4gICAgICAvLyBXZSBoYXZlIHRvIGRvIHRoaXMgYmVjYXVzZSB3ZSBpbnRlbnRpb25hbGx5IGN1dCBvZmYgdGhlIHN0YXJ0aW5nIGJyYWNlIGR1cmluZyBsZXhpbmcuXG4gICAgICAvLyBXZSBjYW4ndCBrZWVwIHRoZW0gYmVjYXVzZSB0aGUgdXNlcidzIEpTIG11c3Qgbm90IGJlIHJ1biBpbnNpZGUgYSBzY29wZWQgYmxvY2suXG4gICAgICByZXN1bHRzLmpzID0gcmVzdWx0cy5qcy5zdWJzdHJpbmcoMCwgcmVzdWx0cy5qcy5sZW5ndGggLSAxKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdHM7XG59XG5cbmNvbnN0IHRva2VuVHlwZVN0YXRlTWFwcGluZyA9IG5ldyBNYXA8c3RyaW5nLCBrZXlvZiBJU3FseFBhcnNlUmVzdWx0cz4oKTtcbnRva2VuVHlwZVN0YXRlTWFwcGluZy5zZXQoU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0NPTkZJRywgXCJjb25maWdcIik7XG50b2tlblR5cGVTdGF0ZU1hcHBpbmcuc2V0KFNRTF9MRVhFUl9UT0tFTl9OQU1FUy5TVEFSVF9KUywgXCJqc1wiKTtcbnRva2VuVHlwZVN0YXRlTWFwcGluZy5zZXQoU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0lOQ1JFTUVOVEFMLCBcImluY3JlbWVudGFsXCIpO1xudG9rZW5UeXBlU3RhdGVNYXBwaW5nLnNldChTUUxfTEVYRVJfVE9LRU5fTkFNRVMuU1RBUlRfUFJFX09QRVJBVElPTlMsIFwicHJlT3BlcmF0aW9uc1wiKTtcbnRva2VuVHlwZVN0YXRlTWFwcGluZy5zZXQoU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX1BPU1RfT1BFUkFUSU9OUywgXCJwb3N0T3BlcmF0aW9uc1wiKTtcblxuY2xhc3MgU3FseFBhcnNlU3RhdGUge1xuICBwdWJsaWMgY3VycmVudFN0YXRlOiBrZXlvZiBJU3FseFBhcnNlUmVzdWx0cyA9IFwic3FsXCI7XG5cbiAgcHVibGljIGNvbXB1dGVTdGF0ZSh0b2tlbjogbW9vLlRva2VuKToga2V5b2YgSVNxbHhQYXJzZVJlc3VsdHMge1xuICAgIGlmICghdG9rZW4udHlwZS5zdGFydHNXaXRoKExFWEVSX1NUQVRFX05BTUVTLlNRTCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGF0ZTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50U3RhdGUgPSBcInNxbFwiO1xuICAgIGlmICh0b2tlblR5cGVTdGF0ZU1hcHBpbmcuaGFzKHRva2VuLnR5cGUpKSB7XG4gICAgICB0aGlzLmN1cnJlbnRTdGF0ZSA9IHRva2VuVHlwZVN0YXRlTWFwcGluZy5nZXQodG9rZW4udHlwZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTdGF0ZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBidWlsZFNxbHhMZXhlcigpIHtcbiAgY29uc3Qgc3FsTGV4ZXIgPSB7fTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0NPTkZJR10gPSB7XG4gICAgbWF0Y2g6IFwiY29uZmlnIHtcIixcbiAgICBwdXNoOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DSyxcbiAgICB2YWx1ZTogKCkgPT4gXCJ7XCJcbiAgfTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTXSA9IHtcbiAgICBtYXRjaDogXCJqcyB7XCIsXG4gICAgcHVzaDogTEVYRVJfU1RBVEVfTkFNRVMuSlNfQkxPQ0ssXG4gICAgdmFsdWU6ICgpID0+IFwiXCJcbiAgfTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0lOQ1JFTUVOVEFMXSA9IHtcbiAgICBtYXRjaDogXCJpbmNyZW1lbnRhbF93aGVyZSB7XCIsXG4gICAgcHVzaDogTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5TVEFSVF9QUkVfT1BFUkFUSU9OU10gPSB7XG4gICAgbWF0Y2g6IFwicHJlX29wZXJhdGlvbnMge1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyxcbiAgICB2YWx1ZTogKCkgPT4gXCJcIlxuICB9O1xuICBzcWxMZXhlcltTUUxfTEVYRVJfVE9LRU5fTkFNRVMuU1RBUlRfUE9TVF9PUEVSQVRJT05TXSA9IHtcbiAgICBtYXRjaDogXCJwb3N0X29wZXJhdGlvbnMge1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLklOTkVSX1NRTF9CTE9DSyxcbiAgICB2YWx1ZTogKCkgPT4gXCJcIlxuICB9O1xuICBzcWxMZXhlcltTUUxfTEVYRVJfVE9LRU5fTkFNRVMuU1RBVEVNRU5UX1NFUEVSQVRPUl0gPSB7XG4gICAgbWF0Y2g6IC9bXlxcU1xcclxcbl0qLS0tW15cXFNcXHJcXG5dKiQvLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5TSU5HTEVfTElORV9DT01NRU5UXSA9IC8tLS4qPyQvO1xuICBzcWxMZXhlcltTUUxfTEVYRVJfVE9LRU5fTkFNRVMuTVVMVElfTElORV9DT01NRU5UXSA9IC9cXC9cXCpbXFxzXFxTXSo/XFwqXFwvLztcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9RVU9URV9TVFJJTkddID0gLycoPzpcXFxcWydcXFxcXXxbXlxcbidcXFxcXSkqJy87XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5ET1VCTEVfUVVPVEVfU1RSSU5HXSA9IC9cIig/OlxcXFxbXCJcXFxcXXxbXlxcblwiXFxcXF0pKlwiLztcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTX1BMQUNFSE9MREVSXSA9IHtcbiAgICBtYXRjaDogXCIke1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5FU0NBUEVEX0JBQ0tUSUNLXSA9IHtcbiAgICBtYXRjaDogXCJcXFxcYFwiXG4gIH07XG4gIHNxbExleGVyW1NRTF9MRVhFUl9UT0tFTl9OQU1FUy5CQUNLVElDS10gPSB7XG4gICAgbWF0Y2g6IFwiYFwiLFxuICAgIHZhbHVlOiAoKSA9PiBcIlxcXFxgXCJcbiAgfTtcbiAgc3FsTGV4ZXJbU1FMX0xFWEVSX1RPS0VOX05BTUVTLkNBUFRVUkVfRVZFUllUSElOR19FTFNFXSA9IHtcbiAgICBtYXRjaDogL1tcXHNcXFNdKz8vLFxuICAgIGxpbmVCcmVha3M6IHRydWVcbiAgfTtcblxuICBjb25zdCBqc0Jsb2NrTGV4ZXIgPSB7fTtcbiAganNCbG9ja0xleGVyW0pTX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9MSU5FX0NPTU1FTlRdID0gL1xcL1xcLy4qPyQvO1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuTVVMVElfTElORV9DT01NRU5UXSA9IC9cXC9cXCpbXFxzXFxTXSo/XFwqXFwvLztcbiAganNCbG9ja0xleGVyW0pTX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9RVU9URV9TVFJJTkddID0gLycoPzpcXFxcWydcXFxcXXxbXlxcbidcXFxcXSkqJy87XG4gIGpzQmxvY2tMZXhlcltKU19CTE9DS19MRVhFUl9UT0tFTl9OQU1FUy5ET1VCTEVfUVVPVEVfU1RSSU5HXSA9IC9cIig/OlxcXFxbXCJcXFxcXXxbXlxcblwiXFxcXF0pKlwiLztcbiAganNCbG9ja0xleGVyW0pTX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTX1RFTVBMQVRFX1NUUklOR10gPSB7XG4gICAgbWF0Y2g6IFwiYFwiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLkpTX1RFTVBMQVRFX1NUUklOR1xuICB9O1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU1RBUlRfSlNfQkxPQ0tdID0ge1xuICAgIG1hdGNoOiBcIntcIixcbiAgICBwdXNoOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DS1xuICB9O1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuQ0xPU0VfQkxPQ0tdID0geyBtYXRjaDogXCJ9XCIsIHBvcDogMSB9O1xuICBqc0Jsb2NrTGV4ZXJbSlNfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuQ0FQVFVSRV9FVkVSWVRISU5HX0VMU0VdID0ge1xuICAgIG1hdGNoOiAvW1xcc1xcU10rPy8sXG4gICAgbGluZUJyZWFrczogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGpzVGVtcGxhdGVTdHJpbmdMZXhlciA9IHt9O1xuICBqc1RlbXBsYXRlU3RyaW5nTGV4ZXJbSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTLkVTQ0FQRURfQkFDS1NMQVNIXSA9IC9cXFxcXFxcXC87XG4gIGpzVGVtcGxhdGVTdHJpbmdMZXhlcltKU19URU1QTEFURV9TVFJJTkdfTEVYRVJfVE9LRU5fTkFNRVMuRVNDQVBFRF9CQUNLVElDS10gPSAvXFxcXGAvO1xuICBqc1RlbXBsYXRlU3RyaW5nTGV4ZXJbSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTLkVTQ0FQRURfRE9MTEFSX0JSQUNFXSA9IC9cXFxcXFwke2AvO1xuICBqc1RlbXBsYXRlU3RyaW5nTGV4ZXJbSlNfVEVNUExBVEVfU1RSSU5HX0xFWEVSX1RPS0VOX05BTUVTLlNUQVJUX0pTX0JMT0NLXSA9IHtcbiAgICBtYXRjaDogXCIke1wiLFxuICAgIHB1c2g6IExFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLXG4gIH07XG4gIGpzVGVtcGxhdGVTdHJpbmdMZXhlcltKU19URU1QTEFURV9TVFJJTkdfTEVYRVJfVE9LRU5fTkFNRVMuQ0xPU0VfU1RSSU5HXSA9IHsgbWF0Y2g6IFwiYFwiLCBwb3A6IDEgfTtcbiAganNUZW1wbGF0ZVN0cmluZ0xleGVyW0pTX1RFTVBMQVRFX1NUUklOR19MRVhFUl9UT0tFTl9OQU1FUy5DQVBUVVJFX0VWRVJZVEhJTkdfRUxTRV0gPSB7XG4gICAgbWF0Y2g6IC9bXFxzXFxTXSs/LyxcbiAgICBsaW5lQnJlYWtzOiB0cnVlXG4gIH07XG5cbiAgY29uc3QgaW5uZXJTcWxCbG9ja0xleGVyID0ge307XG4gIGlubmVyU3FsQmxvY2tMZXhlcltJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU1RBVEVNRU5UX1NFUEVSQVRPUl0gPSB7XG4gICAgbWF0Y2g6IC9bXlxcU1xcclxcbl0qLS0tW15cXFNcXHJcXG5dKiQvLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIGlubmVyU3FsQmxvY2tMZXhlcltJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuU0lOR0xFX0xJTkVfQ09NTUVOVF0gPSAvLS0uKj8kLztcbiAgaW5uZXJTcWxCbG9ja0xleGVyW0lOTkVSX1NRTF9CTE9DS19MRVhFUl9UT0tFTl9OQU1FUy5NVUxUSV9MSU5FX0NPTU1FTlRdID0gL1xcL1xcKltcXHNcXFNdKj9cXCpcXC8vO1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbXG4gICAgSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLlNJTkdMRV9RVU9URV9TVFJJTkdcbiAgXSA9IC8nKD86XFxcXFsnXFxcXF18W15cXG4nXFxcXF0pKicvO1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbXG4gICAgSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkRPVUJMRV9RVU9URV9TVFJJTkdcbiAgXSA9IC9cIig/OlxcXFxbXCJcXFxcXXxbXlxcblwiXFxcXF0pKlwiLztcbiAgaW5uZXJTcWxCbG9ja0xleGVyW0lOTkVSX1NRTF9CTE9DS19MRVhFUl9UT0tFTl9OQU1FUy5TVEFSVF9KU19CTE9DS10gPSB7XG4gICAgbWF0Y2g6IFwiJHtcIixcbiAgICBwdXNoOiBMRVhFUl9TVEFURV9OQU1FUy5KU19CTE9DS1xuICB9O1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkNMT1NFX0JMT0NLXSA9IHtcbiAgICBtYXRjaDogXCJ9XCIsXG4gICAgcG9wOiAxLFxuICAgIHZhbHVlOiAoKSA9PiBcIlwiXG4gIH07XG4gIGlubmVyU3FsQmxvY2tMZXhlcltJTk5FUl9TUUxfQkxPQ0tfTEVYRVJfVE9LRU5fTkFNRVMuRVNDQVBFRF9CQUNLVElDS10gPSB7XG4gICAgbWF0Y2g6IFwiXFxcXGBcIlxuICB9O1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkJBQ0tUSUNLXSA9IHtcbiAgICBtYXRjaDogXCJgXCIsXG4gICAgdmFsdWU6ICgpID0+IFwiXFxcXGBcIlxuICB9O1xuICBpbm5lclNxbEJsb2NrTGV4ZXJbSU5ORVJfU1FMX0JMT0NLX0xFWEVSX1RPS0VOX05BTUVTLkNBUFRVUkVfRVZFUllUSElOR19FTFNFXSA9IHtcbiAgICBtYXRjaDogL1tcXHNcXFNdKz8vLFxuICAgIGxpbmVCcmVha3M6IHRydWVcbiAgfTtcblxuICBjb25zdCBsZXhlclN0YXRlcyA9IHt9O1xuICBsZXhlclN0YXRlc1tMRVhFUl9TVEFURV9OQU1FUy5TUUxdID0gc3FsTGV4ZXI7XG4gIGxleGVyU3RhdGVzW0xFWEVSX1NUQVRFX05BTUVTLkpTX0JMT0NLXSA9IGpzQmxvY2tMZXhlcjtcbiAgbGV4ZXJTdGF0ZXNbTEVYRVJfU1RBVEVfTkFNRVMuSlNfVEVNUExBVEVfU1RSSU5HXSA9IGpzVGVtcGxhdGVTdHJpbmdMZXhlcjtcbiAgbGV4ZXJTdGF0ZXNbTEVYRVJfU1RBVEVfTkFNRVMuSU5ORVJfU1FMX0JMT0NLXSA9IGlubmVyU3FsQmxvY2tMZXhlcjtcblxuICByZXR1cm4gbGV4ZXJTdGF0ZXM7XG59XG4iXX0=
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc