israeli-bank-scrapers 5.2.0 → 5.2.2
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/lib/scrapers/leumi.js +3 -3
- package/lib/scrapers/mizrahi.js +5 -2
- package/package.json +1 -1
package/lib/scrapers/leumi.js
CHANGED
|
@@ -150,8 +150,8 @@ async function fetchTransactions(page, startDate) {
|
|
|
150
150
|
for (const accountId of accountsIds) {
|
|
151
151
|
if (accountsIds.length > 1) {
|
|
152
152
|
// get list of accounts and check accountId
|
|
153
|
-
await clickByXPath(page, 'xpath
|
|
154
|
-
await clickByXPath(page, `xpath
|
|
153
|
+
await clickByXPath(page, 'xpath///*[contains(@class, "number") and contains(@class, "combo-inner")]');
|
|
154
|
+
await clickByXPath(page, `xpath///span[contains(text(), '${accountId}')]`);
|
|
155
155
|
}
|
|
156
156
|
accounts.push(await fetchTransactionsForAccount(page, startDate, removeSpecialCharacters(accountId)));
|
|
157
157
|
}
|
|
@@ -203,4 +203,4 @@ class LeumiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
var _default = exports.default = LeumiScraper;
|
|
206
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2RlYnVnIiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZWJ1ZyIsImdldERlYnVnIiwiQkFTRV9VUkwiLCJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCIsIkRBVEVfRk9STUFUIiwiQUNDT1VOVF9CTE9DS0VEX01TRyIsIklOVkFMSURfUEFTU1dPUkRfTVNHIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJ1cmxzIiwiTG9naW5SZXN1bHRzIiwiU3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIm9wdGlvbnMiLCJwYWdlIiwiRXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJwYWdlRXZhbEFsbCIsImVsZW1lbnQiLCJfZWxlbWVudCQiLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lclRleHQiLCJzdGFydHNXaXRoIiwiQWNjb3VudEJsb2NrZWQiLCJsYWJlbCIsIl9sYWJlbCQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZSIsInRyYW5zYWN0aW9ucyIsInN0YXR1cyIsImxlbmd0aCIsInJlc3VsdCIsIm1hcCIsInJhd1RyYW5zYWN0aW9uIiwiZGF0ZSIsIm1vbWVudCIsIkRhdGVVVEMiLCJtaWxsaXNlY29uZHMiLCJ0b0lTT1N0cmluZyIsIm5ld1RyYW5zYWN0aW9uIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJwcm9jZXNzZWREYXRlIiwiZGVzY3JpcHRpb24iLCJEZXNjcmlwdGlvbiIsImlkZW50aWZpZXIiLCJSZWZlcmVuY2VOdW1iZXJMb25nIiwibWVtbyIsIkFkZGl0aW9uYWxEYXRhIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJBbW91bnQiLCJvcmlnaW5hbEFtb3VudCIsImhhbmdQcm9jZXNzIiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsImNsaWNrQnlYUGF0aCIsInhwYXRoIiwid2FpdEZvclNlbGVjdG9yIiwidmlzaWJsZSIsImVsbSIsIiQkIiwiY2xpY2siLCJyZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyIsInN0ciIsInJlcGxhY2UiLCJmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQiLCJzdGFydERhdGUiLCJhY2NvdW50SWQiLCJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJjbGlja0J1dHRvbiIsImZpbGxJbnB1dCIsImZvcm1hdCIsImZvY3VzIiwiZmluYWxSZXNwb25zZSIsIndhaXRGb3JSZXNwb25zZSIsInJlc3BvbnNlIiwidXJsIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc3BvbnNlSnNvbiIsImpzb24iLCJhY2NvdW50TnVtYmVyIiwiSlNPTiIsInBhcnNlIiwianNvblJlc3AiLCJwZW5kaW5nVHJhbnNhY3Rpb25zIiwiVG9kYXlUcmFuc2FjdGlvbnNJdGVtcyIsIkhpc3RvcnlUcmFuc2FjdGlvbnNJdGVtcyIsImJhbGFuY2UiLCJCYWxhbmNlRGlzcGxheSIsInBhcnNlRmxvYXQiLCJ1bmRlZmluZWQiLCJwZW5kaW5nVHhucyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiY29tcGxldGVkVHhucyIsIkNvbXBsZXRlZCIsInR4bnMiLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnRzIiwiYWNjb3VudHNJZHMiLCJldmFsdWF0ZSIsIkFycmF5IiwiZnJvbSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsInRleHRDb250ZW50IiwicHVzaCIsIm5hdmlnYXRlVG9Mb2dpbiIsImxvZ2luQnV0dG9uU2VsZWN0b3IiLCJsb2dpblVybCIsInBhZ2VFdmFsIiwiaHJlZiIsImdvdG8iLCJ3YWl0Rm9yTmF2aWdhdGlvbiIsIndhaXRVbnRpbCIsImFsbCIsIndhaXRGb3JQb3N0TG9naW4iLCJyYWNlIiwiTGV1bWlTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiY2hlY2tSZWFkaW5lc3MiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwibWluaW11bVN0YXJ0TW9tZW50Iiwic3VidHJhY3QiLCJhZGQiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1heCIsIm5hdmlnYXRlVG8iLCJzdWNjZXNzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2xldW1pLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQsIHsgdHlwZSBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgdHlwZSBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuaW1wb3J0IHtcbiAgY2xpY2tCdXR0b24sXG4gIGZpbGxJbnB1dCxcbiAgcGFnZUV2YWwsXG4gIHBhZ2VFdmFsQWxsLFxuICB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG4gIHR5cGUgVHJhbnNhY3Rpb24sXG4gIHR5cGUgVHJhbnNhY3Rpb25zQWNjb3VudCxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgdHlwZSBMb2dpbk9wdGlvbnMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuaW1wb3J0IHsgdHlwZSBTY3JhcGVyU2NyYXBpbmdSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2xldW1pJyk7XG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL2hiMi5iYW5rbGV1bWkuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vd3d3LmxldW1pLmNvLmlsLyc7XG5jb25zdCBUUkFOU0FDVElPTlNfVVJMID0gYCR7QkFTRV9VUkx9L2VCYW5raW5nL1NPL1NQQS5hc3B4Iy90cy9CdXNpbmVzc0FjY291bnRUcng/V2lkZ2V0UGFyPTFgO1xuY29uc3QgRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCA9IGAke0JBU0VfVVJMfS9DaGFubmVsV0NGL0Jyb2tlci5zdmMvUHJvY2Vzc1JlcXVlc3Q/bW9kdWxlTmFtZT1VQ19TT18yN19HZXRCdXNpbmVzc0FjY291bnRUcnhgO1xuXG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC5NTS5ZWSc7XG5jb25zdCBBQ0NPVU5UX0JMT0NLRURfTVNHID0gJ9eU157XoNeV15kg15fXodeV150nO1xuY29uc3QgSU5WQUxJRF9QQVNTV09SRF9NU0cgPSAn15DXl9eTINeQ15Ug15nXldeq16gg157XpNeo15jXmSDXlNeU15bXk9eU15XXqiDXqdee16HXqNeqINep15LXldeZ15nXnS4g16DXmdeq158g15zXoNeh15XXqiDXqdeV15EnO1xuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgY29uc3QgdXJsczogTG9naW5PcHRpb25zWydwb3NzaWJsZVJlc3VsdHMnXSA9IHtcbiAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbL2ViYW5raW5nXFwvU09cXC9TUEEuYXNweC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFtcbiAgICAgIGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5wYWdlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHBhZ2Ugb3B0aW9ucyBhcmd1bWVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHBhZ2VFdmFsQWxsKG9wdGlvbnMucGFnZSwgJ3N2ZyNDYXBhXzEnLCAnJywgKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGVsZW1lbnRbMF0/LnBhcmVudEVsZW1lbnQ/LmNoaWxkcmVuWzFdIGFzIEhUTUxEaXZFbGVtZW50KT8uaW5uZXJUZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlPy5zdGFydHNXaXRoKElOVkFMSURfUEFTU1dPUkRfTVNHKTtcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogWyAvLyBOT1RJQ0UgLSBtaWdodCBub3QgYmUgcmVsZXZhbnQgc3RhcnRpbmcgdGhlIExldW1pIHJlLWRlc2lnbiBkdXJpbmcgMjAyMiBTZXBcbiAgICAgIGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5wYWdlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHBhZ2Ugb3B0aW9ucyBhcmd1bWVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHBhZ2VFdmFsQWxsKG9wdGlvbnMucGFnZSwgJy5lcnJIZWFkZXInLCAnJywgKGxhYmVsKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChsYWJlbFswXSBhcyBIVE1MRWxlbWVudCk/LmlubmVyVGV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZT8uc3RhcnRzV2l0aChBQ0NPVU5UX0JMT0NLRURfTVNHKTtcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogWydodHRwczovL2hiMi5iYW5rbGV1bWkuY28uaWwvYXV0aGVudGljYXRlJ10sIC8vIE5PVElDRSAtIG1pZ2h0IG5vdCBiZSByZWxldmFudCBzdGFydGluZyB0aGUgTGV1bWkgcmUtZGVzaWduIGR1cmluZyAyMDIyIFNlcFxuICB9O1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16nXnSDXntep16rXntepXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16HXmdeh157XlFwiXScsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zOiBhbnlbXSwgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzKTogVHJhbnNhY3Rpb25bXSB7XG4gIGlmICh0cmFuc2FjdGlvbnMgPT09IG51bGwgfHwgdHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHJhd1RyYW5zYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudChyYXdUcmFuc2FjdGlvbi5EYXRlVVRDKS5taWxsaXNlY29uZHMoMCkudG9JU09TdHJpbmcoKTtcbiAgICBjb25zdCBuZXdUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSB7XG4gICAgICBzdGF0dXMsXG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiBkYXRlLFxuICAgICAgZGVzY3JpcHRpb246IHJhd1RyYW5zYWN0aW9uLkRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgaWRlbnRpZmllcjogcmF3VHJhbnNhY3Rpb24uUmVmZXJlbmNlTnVtYmVyTG9uZyxcbiAgICAgIG1lbW86IHJhd1RyYW5zYWN0aW9uLkFkZGl0aW9uYWxEYXRhIHx8ICcnLFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogcmF3VHJhbnNhY3Rpb24uQW1vdW50LFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJhd1RyYW5zYWN0aW9uLkFtb3VudCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ld1RyYW5zYWN0aW9uO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBoYW5nUHJvY2Vzcyh0aW1lb3V0OiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSwgdGltZW91dCk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjbGlja0J5WFBhdGgocGFnZTogUGFnZSwgeHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBwYWdlLndhaXRGb3JTZWxlY3Rvcih4cGF0aCwgeyB0aW1lb3V0OiAzMDAwMCwgdmlzaWJsZTogdHJ1ZSB9KTtcbiAgY29uc3QgZWxtID0gYXdhaXQgcGFnZS4kJCh4cGF0aCk7XG4gIGF3YWl0IGVsbVswXS5jbGljaygpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvW14wLTkvLV0vZywgJycpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIGFjY291bnRJZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50PiB7XG4gIC8vIERFVkVMT1BFUiBOT1RJQ0UgdGhlIGFjY291bnQgbnVtYmVyIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciBpcyBiZWluZyBhbHRlcmVkIGF0XG4gIC8vIHJ1bnRpbWUgZm9yIHNvbWUgYWNjb3VudHMgYWZ0ZXIgMS0yIHNlY29uZHMgc28gd2UgbmVlZCB0byBoYW5nIHRoZSBwcm9jZXNzIGZvciBhIHNob3J0IHdoaWxlLlxuICBhd2FpdCBoYW5nUHJvY2Vzcyg0MDAwKTtcblxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2J1dHRvblt0aXRsZT1cIteX15nXpNeV16kg157Xqten15PXnVwiXScsIHRydWUpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCAnYnV0dG9uW3RpdGxlPVwi15fXmdek15XXqSDXnteq16fXk9edXCJdJyk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnYmxsLXJhZGlvLWJ1dHRvbicsIHRydWUpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCAnYmxsLXJhZGlvLWJ1dHRvbjpub3QoW2NoZWNrZWRdKScpO1xuXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnaW5wdXRbZm9ybWNvbnRyb2xuYW1lPVwidHh0SW5wdXRGcm9tXCJdJywgdHJ1ZSk7XG5cbiAgYXdhaXQgZmlsbElucHV0KFxuICAgIHBhZ2UsXG4gICAgJ2lucHV0W2Zvcm1jb250cm9sbmFtZT1cInR4dElucHV0RnJvbVwiXScsXG4gICAgc3RhcnREYXRlLmZvcm1hdChEQVRFX0ZPUk1BVCksXG4gICk7XG5cbiAgLy8gd2UgbXVzdCBibHVyIHRoZSBmcm9tIGNvbnRyb2wgb3RoZXJ3aXNlIHRoZSBzZWFyY2ggd2lsbCB1c2UgdGhlIHByZXZpb3VzIHZhbHVlXG4gIGF3YWl0IHBhZ2UuZm9jdXMoXCJidXR0b25bYXJpYS1sYWJlbD0n16HXoNefJ11cIik7XG5cbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgXCJidXR0b25bYXJpYS1sYWJlbD0n16HXoNefJ11cIik7XG4gIGNvbnN0IGZpbmFsUmVzcG9uc2UgPSBhd2FpdCBwYWdlLndhaXRGb3JSZXNwb25zZSgocmVzcG9uc2UpID0+IHtcbiAgICByZXR1cm4gcmVzcG9uc2UudXJsKCkgPT09IEZJTFRFUkVEX1RSQU5TQUNUSU9OU19VUkwgJiZcbiAgICAgIHJlc3BvbnNlLnJlcXVlc3QoKS5tZXRob2QoKSA9PT0gJ1BPU1QnO1xuICB9KTtcblxuICBjb25zdCByZXNwb25zZUpzb246IGFueSA9IGF3YWl0IGZpbmFsUmVzcG9uc2UuanNvbigpO1xuXG4gIGNvbnN0IGFjY291bnROdW1iZXIgPSBhY2NvdW50SWQucmVwbGFjZSgnLycsICdfJykucmVwbGFjZSgvW15cXGQtX10vZywgJycpO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZShyZXNwb25zZUpzb24uanNvblJlc3ApO1xuXG4gIGNvbnN0IHBlbmRpbmdUcmFuc2FjdGlvbnMgPSByZXNwb25zZS5Ub2RheVRyYW5zYWN0aW9uc0l0ZW1zO1xuICBjb25zdCB0cmFuc2FjdGlvbnMgPSByZXNwb25zZS5IaXN0b3J5VHJhbnNhY3Rpb25zSXRlbXM7XG4gIGNvbnN0IGJhbGFuY2UgPSByZXNwb25zZS5CYWxhbmNlRGlzcGxheSA/IHBhcnNlRmxvYXQocmVzcG9uc2UuQmFsYW5jZURpc3BsYXkpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHBlbmRpbmdUeG5zID0gZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlKHBlbmRpbmdUcmFuc2FjdGlvbnMsIFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyk7XG4gIGNvbnN0IGNvbXBsZXRlZFR4bnMgPSBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zLCBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCk7XG4gIGNvbnN0IHR4bnMgPSBbXG4gICAgLi4ucGVuZGluZ1R4bnMsXG4gICAgLi4uY29tcGxldGVkVHhucyxcbiAgXTtcblxuICByZXR1cm4ge1xuICAgIGFjY291bnROdW1iZXIsXG4gICAgYmFsYW5jZSxcbiAgICB0eG5zLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBzdGFydERhdGU6IE1vbWVudCk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICAvLyBERVZFTE9QRVIgTk9USUNFIHRoZSBhY2NvdW50IG51bWJlciByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgaXMgYmVpbmcgYWx0ZXJlZCBhdFxuICAvLyBydW50aW1lIGZvciBzb21lIGFjY291bnRzIGFmdGVyIDEtMiBzZWNvbmRzIHNvIHdlIG5lZWQgdG8gaGFuZyB0aGUgcHJvY2VzcyBmb3IgYSBzaG9ydCB3aGlsZS5cbiAgYXdhaXQgaGFuZ1Byb2Nlc3MoNDAwMCk7XG5cbiAgY29uc3QgYWNjb3VudHNJZHMgPSBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYXBwLW1hc2tlZC1udW1iZXItY29tYm8gc3Bhbi5kaXNwbGF5LW51bWJlci1saScpLCAoZSkgPT4gZS50ZXh0Q29udGVudCkpIGFzIHN0cmluZ1tdO1xuXG4gIC8vIGR1ZSB0byBhIGJ1ZywgdGhlIGFsdGVyZWQgdmFsdWUgbWlnaHQgaW5jbHVkZSB1bmRlc2lyZWQgc2lnbnMgbGlrZSAmIHRoYXQgc2hvdWxkIGJlIHJlbW92ZWRcblxuICBpZiAoIWFjY291bnRzSWRzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGV4dHJhY3Qgb3IgcGFyc2UgdGhlIGFjY291bnQgbnVtYmVyJyk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGFjY291bnRJZCBvZiBhY2NvdW50c0lkcykge1xuICAgIGlmIChhY2NvdW50c0lkcy5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBnZXQgbGlzdCBvZiBhY2NvdW50cyBhbmQgY2hlY2sgYWNjb3VudElkXG4gICAgICBhd2FpdCBjbGlja0J5WFBhdGgocGFnZSwgJ3hwYXRoLy8qW2NvbnRhaW5zKEBjbGFzcywgXCJudW1iZXJcIikgYW5kIGNvbnRhaW5zKEBjbGFzcywgXCJjb21iby1pbm5lclwiKV0nKTtcbiAgICAgIGF3YWl0IGNsaWNrQnlYUGF0aChwYWdlLCBgeHBhdGgvL3NwYW5bY29udGFpbnModGV4dCgpLCAnJHthY2NvdW50SWR9JyldYCk7XG4gICAgfVxuXG4gICAgYWNjb3VudHMucHVzaChhd2FpdCBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZSwgc3RhcnREYXRlLCByZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyhhY2NvdW50SWQpKSk7XG4gIH1cblxuICByZXR1cm4gYWNjb3VudHM7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIG5hdmlnYXRlVG9Mb2dpbihwYWdlOiBQYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGxvZ2luQnV0dG9uU2VsZWN0b3IgPSAnLmVudGVyLWFjY291bnQgYVtvcmlnaW5hbHRpdGxlPVwi15vXoNeZ16HXlCDXnNeX16nXkdeV16DXmlwiXSc7XG4gIGRlYnVnKCd3YWl0IGZvciBob21lcGFnZSB0byBjbGljayBvbiBsb2dpbiBidXR0b24nKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGxvZ2luQnV0dG9uU2VsZWN0b3IpO1xuICBkZWJ1ZygnbmF2aWdhdGUgdG8gbG9naW4gcGFnZScpO1xuICBjb25zdCBsb2dpblVybCA9IGF3YWl0IHBhZ2VFdmFsKHBhZ2UsIGxvZ2luQnV0dG9uU2VsZWN0b3IsIG51bGwsIChlbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIChlbGVtZW50IGFzIGFueSkuaHJlZjtcbiAgfSk7XG4gIGRlYnVnKGBuYXZpZ2F0aW5nIHRvIHBhZ2UgKCR7bG9naW5Vcmx9KWApO1xuICBhd2FpdCBwYWdlLmdvdG8obG9naW5VcmwpO1xuICBkZWJ1Zygnd2FpdGluZyBmb3IgcGFnZSB0byBiZSBsb2FkZWQgKG5ldHdvcmtpZGxlMiknKTtcbiAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24ocGFnZSwgeyB3YWl0VW50aWw6ICduZXR3b3JraWRsZTInIH0pO1xuICBkZWJ1Zygnd2FpdGluZyBmb3IgY29tcG9uZW50cyBvZiBsb2dpbiB0byBlbnRlciBjcmVkZW50aWFscycpO1xuICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdpbnB1dFtwbGFjZWhvbGRlcj1cItep150g157Xqdeq157XqVwiXScsIHRydWUpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXodeZ16HXnteUXCJdJywgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScsIHRydWUpLFxuICBdKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvclBvc3RMb2dpbihwYWdlOiBQYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IFByb21pc2UucmFjZShbXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdhW3RpdGxlPVwi15PXnNeSINec15fXqdeR15XXn1wiXScsIHRydWUsIDYwMDAwKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2Rpdi5tYWluLWNvbnRlbnQnLCBmYWxzZSwgNjAwMDApLFxuICAgIHBhZ2Uud2FpdEZvclNlbGVjdG9yKGB4cGF0aC8vZGl2W2NvbnRhaW5zKHN0cmluZygpLFwiJHtJTlZBTElEX1BBU1NXT1JEX01TR31cIildYCksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdmb3JtW2FjdGlvbj1cIi9jaGFuZ2VwYXNzd29yZFwiXScsIHRydWUsIDYwMDAwKSwgLy8gbm90IHN1cmUgaWYgdGhleSBrZXB0IHRoaXMgb25lXG4gIF0pO1xufVxuXG50eXBlIFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzID0geyB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH07XG5cbmNsYXNzIExldW1pU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXI8U2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHM+IHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogXCJidXR0b25bdHlwZT0nc3VibWl0J11cIixcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiBuYXZpZ2F0ZVRvTG9naW4odGhpcy5wYWdlKSxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHdhaXRGb3JQb3N0TG9naW4odGhpcy5wYWdlKSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgbWluaW11bVN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMywgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChtaW5pbXVtU3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhUUkFOU0FDVElPTlNfVVJMKTtcblxuICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCBzdGFydE1vbWVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTGV1bWlTY3JhcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcscUJBQUEsR0FBQUgsT0FBQTtBQU9BLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUtBLElBQUFNLHVCQUFBLEdBQUFOLE9BQUE7QUFBc0csU0FBQUQsdUJBQUFRLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFHdEcsTUFBTUcsS0FBSyxHQUFHLElBQUFDLGVBQVEsRUFBQyxPQUFPLENBQUM7QUFDL0IsTUFBTUMsUUFBUSxHQUFHLDZCQUE2QjtBQUM5QyxNQUFNQyxTQUFT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
|
|
206
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2RlYnVnIiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkZWJ1ZyIsImdldERlYnVnIiwiQkFTRV9VUkwiLCJMT0dJTl9VUkwiLCJUUkFOU0FDVElPTlNfVVJMIiwiRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCIsIkRBVEVfRk9STUFUIiwiQUNDT1VOVF9CTE9DS0VEX01TRyIsIklOVkFMSURfUEFTU1dPUkRfTVNHIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJ1cmxzIiwiTG9naW5SZXN1bHRzIiwiU3VjY2VzcyIsIkludmFsaWRQYXNzd29yZCIsIm9wdGlvbnMiLCJwYWdlIiwiRXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJwYWdlRXZhbEFsbCIsImVsZW1lbnQiLCJfZWxlbWVudCQiLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lclRleHQiLCJzdGFydHNXaXRoIiwiQWNjb3VudEJsb2NrZWQiLCJsYWJlbCIsIl9sYWJlbCQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInZhbHVlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsImV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZSIsInRyYW5zYWN0aW9ucyIsInN0YXR1cyIsImxlbmd0aCIsInJlc3VsdCIsIm1hcCIsInJhd1RyYW5zYWN0aW9uIiwiZGF0ZSIsIm1vbWVudCIsIkRhdGVVVEMiLCJtaWxsaXNlY29uZHMiLCJ0b0lTT1N0cmluZyIsIm5ld1RyYW5zYWN0aW9uIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJwcm9jZXNzZWREYXRlIiwiZGVzY3JpcHRpb24iLCJEZXNjcmlwdGlvbiIsImlkZW50aWZpZXIiLCJSZWZlcmVuY2VOdW1iZXJMb25nIiwibWVtbyIsIkFkZGl0aW9uYWxEYXRhIiwib3JpZ2luYWxDdXJyZW5jeSIsIlNIRUtFTF9DVVJSRU5DWSIsImNoYXJnZWRBbW91bnQiLCJBbW91bnQiLCJvcmlnaW5hbEFtb3VudCIsImhhbmdQcm9jZXNzIiwidGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsImNsaWNrQnlYUGF0aCIsInhwYXRoIiwid2FpdEZvclNlbGVjdG9yIiwidmlzaWJsZSIsImVsbSIsIiQkIiwiY2xpY2siLCJyZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyIsInN0ciIsInJlcGxhY2UiLCJmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQiLCJzdGFydERhdGUiLCJhY2NvdW50SWQiLCJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJjbGlja0J1dHRvbiIsImZpbGxJbnB1dCIsImZvcm1hdCIsImZvY3VzIiwiZmluYWxSZXNwb25zZSIsIndhaXRGb3JSZXNwb25zZSIsInJlc3BvbnNlIiwidXJsIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc3BvbnNlSnNvbiIsImpzb24iLCJhY2NvdW50TnVtYmVyIiwiSlNPTiIsInBhcnNlIiwianNvblJlc3AiLCJwZW5kaW5nVHJhbnNhY3Rpb25zIiwiVG9kYXlUcmFuc2FjdGlvbnNJdGVtcyIsIkhpc3RvcnlUcmFuc2FjdGlvbnNJdGVtcyIsImJhbGFuY2UiLCJCYWxhbmNlRGlzcGxheSIsInBhcnNlRmxvYXQiLCJ1bmRlZmluZWQiLCJwZW5kaW5nVHhucyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiY29tcGxldGVkVHhucyIsIkNvbXBsZXRlZCIsInR4bnMiLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnRzIiwiYWNjb3VudHNJZHMiLCJldmFsdWF0ZSIsIkFycmF5IiwiZnJvbSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsInRleHRDb250ZW50IiwicHVzaCIsIm5hdmlnYXRlVG9Mb2dpbiIsImxvZ2luQnV0dG9uU2VsZWN0b3IiLCJsb2dpblVybCIsInBhZ2VFdmFsIiwiaHJlZiIsImdvdG8iLCJ3YWl0Rm9yTmF2aWdhdGlvbiIsIndhaXRVbnRpbCIsImFsbCIsIndhaXRGb3JQb3N0TG9naW4iLCJyYWNlIiwiTGV1bWlTY3JhcGVyIiwiQmFzZVNjcmFwZXJXaXRoQnJvd3NlciIsImdldExvZ2luT3B0aW9ucyIsImZpZWxkcyIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiY2hlY2tSZWFkaW5lc3MiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwibWluaW11bVN0YXJ0TW9tZW50Iiwic3VidHJhY3QiLCJhZGQiLCJkZWZhdWx0U3RhcnRNb21lbnQiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1heCIsIm5hdmlnYXRlVG8iLCJzdWNjZXNzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmFwZXJzL2xldW1pLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQsIHsgdHlwZSBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgdHlwZSBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuaW1wb3J0IHtcbiAgY2xpY2tCdXR0b24sXG4gIGZpbGxJbnB1dCxcbiAgcGFnZUV2YWwsXG4gIHBhZ2VFdmFsQWxsLFxuICB3YWl0VW50aWxFbGVtZW50Rm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcbmltcG9ydCB7XG4gIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG4gIHR5cGUgVHJhbnNhY3Rpb24sXG4gIHR5cGUgVHJhbnNhY3Rpb25zQWNjb3VudCxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgdHlwZSBMb2dpbk9wdGlvbnMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlci13aXRoLWJyb3dzZXInO1xuaW1wb3J0IHsgdHlwZSBTY3JhcGVyU2NyYXBpbmdSZXN1bHQgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2xldW1pJyk7XG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL2hiMi5iYW5rbGV1bWkuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gJ2h0dHBzOi8vd3d3LmxldW1pLmNvLmlsLyc7XG5jb25zdCBUUkFOU0FDVElPTlNfVVJMID0gYCR7QkFTRV9VUkx9L2VCYW5raW5nL1NPL1NQQS5hc3B4Iy90cy9CdXNpbmVzc0FjY291bnRUcng/V2lkZ2V0UGFyPTFgO1xuY29uc3QgRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCA9IGAke0JBU0VfVVJMfS9DaGFubmVsV0NGL0Jyb2tlci5zdmMvUHJvY2Vzc1JlcXVlc3Q/bW9kdWxlTmFtZT1VQ19TT18yN19HZXRCdXNpbmVzc0FjY291bnRUcnhgO1xuXG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC5NTS5ZWSc7XG5jb25zdCBBQ0NPVU5UX0JMT0NLRURfTVNHID0gJ9eU157XoNeV15kg15fXodeV150nO1xuY29uc3QgSU5WQUxJRF9QQVNTV09SRF9NU0cgPSAn15DXl9eTINeQ15Ug15nXldeq16gg157XpNeo15jXmSDXlNeU15bXk9eU15XXqiDXqdee16HXqNeqINep15LXldeZ15nXnS4g16DXmdeq158g15zXoNeh15XXqiDXqdeV15EnO1xuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgY29uc3QgdXJsczogTG9naW5PcHRpb25zWydwb3NzaWJsZVJlc3VsdHMnXSA9IHtcbiAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbL2ViYW5raW5nXFwvU09cXC9TUEEuYXNweC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFtcbiAgICAgIGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5wYWdlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHBhZ2Ugb3B0aW9ucyBhcmd1bWVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHBhZ2VFdmFsQWxsKG9wdGlvbnMucGFnZSwgJ3N2ZyNDYXBhXzEnLCAnJywgKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGVsZW1lbnRbMF0/LnBhcmVudEVsZW1lbnQ/LmNoaWxkcmVuWzFdIGFzIEhUTUxEaXZFbGVtZW50KT8uaW5uZXJUZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlPy5zdGFydHNXaXRoKElOVkFMSURfUEFTU1dPUkRfTVNHKTtcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogWyAvLyBOT1RJQ0UgLSBtaWdodCBub3QgYmUgcmVsZXZhbnQgc3RhcnRpbmcgdGhlIExldW1pIHJlLWRlc2lnbiBkdXJpbmcgMjAyMiBTZXBcbiAgICAgIGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5wYWdlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHBhZ2Ugb3B0aW9ucyBhcmd1bWVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHBhZ2VFdmFsQWxsKG9wdGlvbnMucGFnZSwgJy5lcnJIZWFkZXInLCAnJywgKGxhYmVsKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChsYWJlbFswXSBhcyBIVE1MRWxlbWVudCk/LmlubmVyVGV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZT8uc3RhcnRzV2l0aChBQ0NPVU5UX0JMT0NLRURfTVNHKTtcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogWydodHRwczovL2hiMi5iYW5rbGV1bWkuY28uaWwvYXV0aGVudGljYXRlJ10sIC8vIE5PVElDRSAtIG1pZ2h0IG5vdCBiZSByZWxldmFudCBzdGFydGluZyB0aGUgTGV1bWkgcmUtZGVzaWduIGR1cmluZyAyMDIyIFNlcFxuICB9O1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16nXnSDXntep16rXntepXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16HXmdeh157XlFwiXScsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zOiBhbnlbXSwgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzKTogVHJhbnNhY3Rpb25bXSB7XG4gIGlmICh0cmFuc2FjdGlvbnMgPT09IG51bGwgfHwgdHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHJhd1RyYW5zYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudChyYXdUcmFuc2FjdGlvbi5EYXRlVVRDKS5taWxsaXNlY29uZHMoMCkudG9JU09TdHJpbmcoKTtcbiAgICBjb25zdCBuZXdUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSB7XG4gICAgICBzdGF0dXMsXG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiBkYXRlLFxuICAgICAgZGVzY3JpcHRpb246IHJhd1RyYW5zYWN0aW9uLkRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgaWRlbnRpZmllcjogcmF3VHJhbnNhY3Rpb24uUmVmZXJlbmNlTnVtYmVyTG9uZyxcbiAgICAgIG1lbW86IHJhd1RyYW5zYWN0aW9uLkFkZGl0aW9uYWxEYXRhIHx8ICcnLFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogcmF3VHJhbnNhY3Rpb24uQW1vdW50LFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJhd1RyYW5zYWN0aW9uLkFtb3VudCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ld1RyYW5zYWN0aW9uO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBoYW5nUHJvY2Vzcyh0aW1lb3V0OiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSwgdGltZW91dCk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjbGlja0J5WFBhdGgocGFnZTogUGFnZSwgeHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBwYWdlLndhaXRGb3JTZWxlY3Rvcih4cGF0aCwgeyB0aW1lb3V0OiAzMDAwMCwgdmlzaWJsZTogdHJ1ZSB9KTtcbiAgY29uc3QgZWxtID0gYXdhaXQgcGFnZS4kJCh4cGF0aCk7XG4gIGF3YWl0IGVsbVswXS5jbGljaygpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvW14wLTkvLV0vZywgJycpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIGFjY291bnRJZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50PiB7XG4gIC8vIERFVkVMT1BFUiBOT1RJQ0UgdGhlIGFjY291bnQgbnVtYmVyIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciBpcyBiZWluZyBhbHRlcmVkIGF0XG4gIC8vIHJ1bnRpbWUgZm9yIHNvbWUgYWNjb3VudHMgYWZ0ZXIgMS0yIHNlY29uZHMgc28gd2UgbmVlZCB0byBoYW5nIHRoZSBwcm9jZXNzIGZvciBhIHNob3J0IHdoaWxlLlxuICBhd2FpdCBoYW5nUHJvY2Vzcyg0MDAwKTtcblxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2J1dHRvblt0aXRsZT1cIteX15nXpNeV16kg157Xqten15PXnVwiXScsIHRydWUpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCAnYnV0dG9uW3RpdGxlPVwi15fXmdek15XXqSDXnteq16fXk9edXCJdJyk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnYmxsLXJhZGlvLWJ1dHRvbicsIHRydWUpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCAnYmxsLXJhZGlvLWJ1dHRvbjpub3QoW2NoZWNrZWRdKScpO1xuXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnaW5wdXRbZm9ybWNvbnRyb2xuYW1lPVwidHh0SW5wdXRGcm9tXCJdJywgdHJ1ZSk7XG5cbiAgYXdhaXQgZmlsbElucHV0KFxuICAgIHBhZ2UsXG4gICAgJ2lucHV0W2Zvcm1jb250cm9sbmFtZT1cInR4dElucHV0RnJvbVwiXScsXG4gICAgc3RhcnREYXRlLmZvcm1hdChEQVRFX0ZPUk1BVCksXG4gICk7XG5cbiAgLy8gd2UgbXVzdCBibHVyIHRoZSBmcm9tIGNvbnRyb2wgb3RoZXJ3aXNlIHRoZSBzZWFyY2ggd2lsbCB1c2UgdGhlIHByZXZpb3VzIHZhbHVlXG4gIGF3YWl0IHBhZ2UuZm9jdXMoXCJidXR0b25bYXJpYS1sYWJlbD0n16HXoNefJ11cIik7XG5cbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgXCJidXR0b25bYXJpYS1sYWJlbD0n16HXoNefJ11cIik7XG4gIGNvbnN0IGZpbmFsUmVzcG9uc2UgPSBhd2FpdCBwYWdlLndhaXRGb3JSZXNwb25zZSgocmVzcG9uc2UpID0+IHtcbiAgICByZXR1cm4gcmVzcG9uc2UudXJsKCkgPT09IEZJTFRFUkVEX1RSQU5TQUNUSU9OU19VUkwgJiZcbiAgICAgIHJlc3BvbnNlLnJlcXVlc3QoKS5tZXRob2QoKSA9PT0gJ1BPU1QnO1xuICB9KTtcblxuICBjb25zdCByZXNwb25zZUpzb246IGFueSA9IGF3YWl0IGZpbmFsUmVzcG9uc2UuanNvbigpO1xuXG4gIGNvbnN0IGFjY291bnROdW1iZXIgPSBhY2NvdW50SWQucmVwbGFjZSgnLycsICdfJykucmVwbGFjZSgvW15cXGQtX10vZywgJycpO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZShyZXNwb25zZUpzb24uanNvblJlc3ApO1xuXG4gIGNvbnN0IHBlbmRpbmdUcmFuc2FjdGlvbnMgPSByZXNwb25zZS5Ub2RheVRyYW5zYWN0aW9uc0l0ZW1zO1xuICBjb25zdCB0cmFuc2FjdGlvbnMgPSByZXNwb25zZS5IaXN0b3J5VHJhbnNhY3Rpb25zSXRlbXM7XG4gIGNvbnN0IGJhbGFuY2UgPSByZXNwb25zZS5CYWxhbmNlRGlzcGxheSA/IHBhcnNlRmxvYXQocmVzcG9uc2UuQmFsYW5jZURpc3BsYXkpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHBlbmRpbmdUeG5zID0gZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlKHBlbmRpbmdUcmFuc2FjdGlvbnMsIFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyk7XG4gIGNvbnN0IGNvbXBsZXRlZFR4bnMgPSBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zLCBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCk7XG4gIGNvbnN0IHR4bnMgPSBbXG4gICAgLi4ucGVuZGluZ1R4bnMsXG4gICAgLi4uY29tcGxldGVkVHhucyxcbiAgXTtcblxuICByZXR1cm4ge1xuICAgIGFjY291bnROdW1iZXIsXG4gICAgYmFsYW5jZSxcbiAgICB0eG5zLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBzdGFydERhdGU6IE1vbWVudCk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICAvLyBERVZFTE9QRVIgTk9USUNFIHRoZSBhY2NvdW50IG51bWJlciByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgaXMgYmVpbmcgYWx0ZXJlZCBhdFxuICAvLyBydW50aW1lIGZvciBzb21lIGFjY291bnRzIGFmdGVyIDEtMiBzZWNvbmRzIHNvIHdlIG5lZWQgdG8gaGFuZyB0aGUgcHJvY2VzcyBmb3IgYSBzaG9ydCB3aGlsZS5cbiAgYXdhaXQgaGFuZ1Byb2Nlc3MoNDAwMCk7XG5cbiAgY29uc3QgYWNjb3VudHNJZHMgPSBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYXBwLW1hc2tlZC1udW1iZXItY29tYm8gc3Bhbi5kaXNwbGF5LW51bWJlci1saScpLCAoZSkgPT4gZS50ZXh0Q29udGVudCkpIGFzIHN0cmluZ1tdO1xuXG4gIC8vIGR1ZSB0byBhIGJ1ZywgdGhlIGFsdGVyZWQgdmFsdWUgbWlnaHQgaW5jbHVkZSB1bmRlc2lyZWQgc2lnbnMgbGlrZSAmIHRoYXQgc2hvdWxkIGJlIHJlbW92ZWRcblxuICBpZiAoIWFjY291bnRzSWRzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGV4dHJhY3Qgb3IgcGFyc2UgdGhlIGFjY291bnQgbnVtYmVyJyk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGFjY291bnRJZCBvZiBhY2NvdW50c0lkcykge1xuICAgIGlmIChhY2NvdW50c0lkcy5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBnZXQgbGlzdCBvZiBhY2NvdW50cyBhbmQgY2hlY2sgYWNjb3VudElkXG4gICAgICBhd2FpdCBjbGlja0J5WFBhdGgocGFnZSwgJ3hwYXRoLy8vKltjb250YWlucyhAY2xhc3MsIFwibnVtYmVyXCIpIGFuZCBjb250YWlucyhAY2xhc3MsIFwiY29tYm8taW5uZXJcIildJyk7XG4gICAgICBhd2FpdCBjbGlja0J5WFBhdGgocGFnZSwgYHhwYXRoLy8vc3Bhbltjb250YWlucyh0ZXh0KCksICcke2FjY291bnRJZH0nKV1gKTtcbiAgICB9XG5cbiAgICBhY2NvdW50cy5wdXNoKGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudChwYWdlLCBzdGFydERhdGUsIHJlbW92ZVNwZWNpYWxDaGFyYWN0ZXJzKGFjY291bnRJZCkpKTtcbiAgfVxuXG4gIHJldHVybiBhY2NvdW50cztcbn1cblxuYXN5bmMgZnVuY3Rpb24gbmF2aWdhdGVUb0xvZ2luKHBhZ2U6IFBhZ2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgbG9naW5CdXR0b25TZWxlY3RvciA9ICcuZW50ZXItYWNjb3VudCBhW29yaWdpbmFsdGl0bGU9XCLXm9eg15nXodeUINec15fXqdeR15XXoNeaXCJdJztcbiAgZGVidWcoJ3dhaXQgZm9yIGhvbWVwYWdlIHRvIGNsaWNrIG9uIGxvZ2luIGJ1dHRvbicpO1xuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgbG9naW5CdXR0b25TZWxlY3Rvcik7XG4gIGRlYnVnKCduYXZpZ2F0ZSB0byBsb2dpbiBwYWdlJyk7XG4gIGNvbnN0IGxvZ2luVXJsID0gYXdhaXQgcGFnZUV2YWwocGFnZSwgbG9naW5CdXR0b25TZWxlY3RvciwgbnVsbCwgKGVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gKGVsZW1lbnQgYXMgYW55KS5ocmVmO1xuICB9KTtcbiAgZGVidWcoYG5hdmlnYXRpbmcgdG8gcGFnZSAoJHtsb2dpblVybH0pYCk7XG4gIGF3YWl0IHBhZ2UuZ290byhsb2dpblVybCk7XG4gIGRlYnVnKCd3YWl0aW5nIGZvciBwYWdlIHRvIGJlIGxvYWRlZCAobmV0d29ya2lkbGUyKScpO1xuICBhd2FpdCB3YWl0Rm9yTmF2aWdhdGlvbihwYWdlLCB7IHdhaXRVbnRpbDogJ25ldHdvcmtpZGxlMicgfSk7XG4gIGRlYnVnKCd3YWl0aW5nIGZvciBjb21wb25lbnRzIG9mIGxvZ2luIHRvIGVudGVyIGNyZWRlbnRpYWxzJyk7XG4gIGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2lucHV0W3BsYWNlaG9sZGVyPVwi16nXnSDXntep16rXntepXCJdJywgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdpbnB1dFtwbGFjZWhvbGRlcj1cIteh15nXodee15RcIl0nLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2J1dHRvblt0eXBlPVwic3VibWl0XCJdJywgdHJ1ZSksXG4gIF0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiB3YWl0Rm9yUG9zdExvZ2luKHBhZ2U6IFBhZ2UpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgUHJvbWlzZS5yYWNlKFtcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2FbdGl0bGU9XCLXk9ec15Ig15zXl9ep15HXldefXCJdJywgdHJ1ZSwgNjAwMDApLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnZGl2Lm1haW4tY29udGVudCcsIGZhbHNlLCA2MDAwMCksXG4gICAgcGFnZS53YWl0Rm9yU2VsZWN0b3IoYHhwYXRoLy9kaXZbY29udGFpbnMoc3RyaW5nKCksXCIke0lOVkFMSURfUEFTU1dPUkRfTVNHfVwiKV1gKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2Zvcm1bYWN0aW9uPVwiL2NoYW5nZXBhc3N3b3JkXCJdJywgdHJ1ZSwgNjAwMDApLCAvLyBub3Qgc3VyZSBpZiB0aGV5IGtlcHQgdGhpcyBvbmVcbiAgXSk7XG59XG5cbnR5cGUgU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMgPSB7IHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcgfTtcblxuY2xhc3MgTGV1bWlTY3JhcGVyIGV4dGVuZHMgQmFzZVNjcmFwZXJXaXRoQnJvd3NlcjxTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscz4ge1xuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBMT0dJTl9VUkwsXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiBcImJ1dHRvblt0eXBlPSdzdWJtaXQnXVwiLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IG5hdmlnYXRlVG9Mb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gd2FpdEZvclBvc3RMb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY3JhcGVyU2NyYXBpbmdSZXN1bHQ+IHtcbiAgICBjb25zdCBtaW5pbXVtU3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgzLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICAgIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpLmFkZCgxLCAnZGF5Jyk7XG4gICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSB8fCBkZWZhdWx0U3RhcnRNb21lbnQudG9EYXRlKCk7XG4gICAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KG1pbmltdW1TdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuXG4gICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvKFRSQU5TQUNUSU9OU19VUkwpO1xuXG4gICAgY29uc3QgYWNjb3VudHMgPSBhd2FpdCBmZXRjaFRyYW5zYWN0aW9ucyh0aGlzLnBhZ2UsIHN0YXJ0TW9tZW50KTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgYWNjb3VudHMsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBMZXVtaVNjcmFwZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxxQkFBQSxHQUFBSCxPQUFBO0FBT0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssYUFBQSxHQUFBTCxPQUFBO0FBS0EsSUFBQU0sdUJBQUEsR0FBQU4sT0FBQTtBQUFzRyxTQUFBRCx1QkFBQVEsQ0FBQSxXQUFBQSxDQUFBLElBQUFBLENBQUEsQ0FBQUMsVUFBQSxHQUFBRCxDQUFBLEtBQUFFLE9BQUEsRUFBQUYsQ0FBQTtBQUd0RyxNQUFNRyxLQUFLLEdBQUcsSUFBQUMsZUFBUSxFQUFDLE9BQU8sQ0FBQztBQUMvQixNQUFNQyxRQUFRLEdBQUcsNkJBQTZCO0FBQzlDLE1BQU1DLFNB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
|
package/lib/scrapers/mizrahi.js
CHANGED
|
@@ -170,9 +170,12 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
170
170
|
await this.page.$eval(`a[href*="${OSH_PAGE}"]`, el => el.click());
|
|
171
171
|
await (0, _elementsInteractions.waitUntilElementFound)(this.page, `a[href*="${TRANSACTIONS_PAGE}"]`);
|
|
172
172
|
await this.page.$eval(`a[href*="${TRANSACTIONS_PAGE}"]`, el => el.click());
|
|
173
|
-
const accountNumberElement = await this.page.$('#dropdownBasic b');
|
|
173
|
+
const accountNumberElement = await this.page.$('#dropdownBasic b span');
|
|
174
174
|
const accountNumberHandle = await (accountNumberElement === null || accountNumberElement === void 0 ? void 0 : accountNumberElement.getProperty('title'));
|
|
175
175
|
const accountNumber = await (accountNumberHandle === null || accountNumberHandle === void 0 ? void 0 : accountNumberHandle.jsonValue());
|
|
176
|
+
if (!accountNumber) {
|
|
177
|
+
throw new Error('Account number not found');
|
|
178
|
+
}
|
|
176
179
|
const response = await Promise.any(TRANSACTIONS_REQUEST_URLS.map(async url => {
|
|
177
180
|
const request = await this.page.waitForRequest(url);
|
|
178
181
|
const data = createDataFromRequest(request, this.options.startDate);
|
|
@@ -198,4 +201,4 @@ class MizrahiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
|
|
|
198
201
|
}
|
|
199
202
|
}
|
|
200
203
|
var _default = exports.default = MizrahiScraper;
|
|
201
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX2ZldGNoIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZXJyb3JzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQkFTRV9XRUJTSVRFX1VSTCIsIkxPR0lOX1VSTCIsIkJBU0VfQVBQX1VSTCIsIkFGVEVSX0xPR0lOX0JBU0VfVVJMIiwiT1NIX1BBR0UiLCJUUkFOU0FDVElPTlNfUEFHRSIsIlRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTFMiLCJQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFIiwiUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FIiwiQ0hBTkdFX1BBU1NXT1JEX1VSTCIsIkRBVEVfRk9STUFUIiwiTUFYX1JPV1NfUEVSX1JFUVVFU1QiLCJ1c2VybmFtZVNlbGVjdG9yIiwicGFzc3dvcmRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IiLCJhZnRlckxvZ2luU2VsZWN0b3IiLCJsb2dpblNwaW5uZXJTZWxlY3RvciIsImFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciIsInBlbmRpbmdUcnhJZGVudGlmaWVySWQiLCJjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lIiwiY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJpc0xvZ2dlZEluIiwib3B0aW9ucyIsInBhZ2UiLCJvc2hYUGF0aCIsIm9zaFRhYiIsIiQkIiwibGVuZ3RoIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiJCIsIkNoYW5nZVBhc3N3b3JkIiwiZ2V0U3RhcnRNb21lbnQiLCJvcHRpb25zU3RhcnREYXRlIiwiZGVmYXVsdFN0YXJ0TW9tZW50IiwibW9tZW50Iiwic3VidHJhY3QiLCJzdGFydERhdGUiLCJ0b0RhdGUiLCJtYXgiLCJjcmVhdGVEYXRhRnJvbVJlcXVlc3QiLCJyZXF1ZXN0IiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsInBvc3REYXRhIiwiaW5Gcm9tRGF0ZSIsImZvcm1hdCIsImluVG9EYXRlIiwidGFibGUiLCJtYXhSb3ciLCJjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QiLCJoZWFkZXJzIiwibWl6cmFoaXhzcmZ0b2tlbiIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwibWFwIiwicm93IiwidHhuRGF0ZSIsIk1DMDJQZXVsYVRhYUVaIiwiSFRNTDVfRk1UIiwiREFURVRJTUVfTE9DQUxfU0VDT05EUyIsInRvSVNPU3RyaW5nIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwiTUMwMkFzbWFodGFNZWtvcml0RVoiLCJwYXJzZUludCIsInVuZGVmaW5lZCIsImRhdGUiLCJwcm9jZXNzZWREYXRlIiwib3JpZ2luYWxBbW91bnQiLCJNQzAyU2NodW1FWiIsIm9yaWdpbmFsQ3VycmVuY3kiLCJTSEVLRUxfQ1VSUkVOQ1kiLCJjaGFyZ2VkQW1vdW50IiwiZGVzY3JpcHRpb24iLCJNQzAyVG51YVRldXJFWiIsInN0YXR1cyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyIsInBlbmRpbmdUeG4iLCJwYWdlRXZhbEFsbCIsInRycyIsInRyIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInRkIiwidGV4dENvbnRlbnQiLCJ0eG4iLCJhbW91bnQiLCJQZW5kaW5nIiwicG9zdExvZ2luIiwiUHJvbWlzZSIsInJhY2UiLCJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJ3YWl0Rm9yVXJsIiwiTWl6cmFoaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJjaGVja1JlYWRpbmVzcyIsIndhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwiJGV2YWwiLCJlbCIsImNsaWNrIiwibnVtT2ZBY2NvdW50cyIsInJlc3VsdHMiLCJpIiwicHVzaCIsImZldGNoQWNjb3VudCIsInN1Y2Nlc3MiLCJhY2NvdW50cyIsImVycm9yVHlwZSIsIlNjcmFwZXJFcnJvclR5cGVzIiwiR2VuZXJpYyIsImVycm9yTWVzc2FnZSIsIm1lc3NhZ2UiLCJnZXRQZW5kaW5nVHJhbnNhY3Rpb25zIiwiZnJhbWUiLCJ3YWl0VW50aWxJZnJhbWVGb3VuZCIsImYiLCJ1cmwiLCJpbmNsdWRlcyIsImlzUGVuZGluZyIsInRoZW4iLCJjYXRjaCIsIl9yZXNwb25zZSRib2R5JGZpZWxkcyIsIndhaXRGb3JTZWxlY3RvciIsImFjY291bnROdW1iZXJFbGVtZW50IiwiYWNjb3VudE51bWJlckhhbmRsZSIsImdldFByb3BlcnR5IiwiYWNjb3VudE51bWJlciIsImpzb25WYWx1ZSIsInJlc3BvbnNlIiwiYW55Iiwid2FpdEZvclJlcXVlc3QiLCJmZXRjaFBvc3RXaXRoaW5QYWdlIiwiaGVhZGVyIiwiRXJyb3IiLCJtZXNzYWdlcyIsInRleHQiLCJyZWxldmFudFJvd3MiLCJib2R5Iiwicm93cyIsImZpbHRlciIsIlJlY1R5cGVTcGVjaWZpZWQiLCJvc2hUeG4iLCJzdGFydE1vbWVudCIsIm9zaFR4bkFmdGVyU3RhcnREYXRlIiwiaXNTYW1lT3JBZnRlciIsImFsbFR4biIsImNvbmNhdCIsImJhbGFuY2UiLCJZaXRyYSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IHR5cGUgRnJhbWUsIHR5cGUgSFRUUFJlcXVlc3QsIHR5cGUgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBTSEVLRUxfQ1VSUkVOQ1kgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcGFnZUV2YWxBbGwsIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCwgd2FpdFVudGlsSWZyYW1lRm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHdhaXRGb3JVcmwgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgdHlwZSBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbiAgdHlwZSBUcmFuc2FjdGlvbnNBY2NvdW50LFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCB0eXBlIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgUmVjVHlwZVNwZWNpZmllZDogYm9vbGVhbjtcbiAgTUMwMlBldWxhVGFhRVo6IHN0cmluZztcbiAgTUMwMlNjaHVtRVo6IG51bWJlcjtcbiAgTUMwMkFzbWFodGFNZWtvcml0RVo6IHN0cmluZztcbiAgTUMwMlRudWFUZXVyRVo6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQge1xuICBoZWFkZXI6IHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuICAgIG1lc3NhZ2VzOiB7IHRleHQ6IHN0cmluZyB9W107XG4gIH07XG4gIGJvZHk6IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIFlpdHJhOiBzdHJpbmc7XG4gICAgfTtcbiAgICB0YWJsZToge1xuICAgICAgcm93czogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgfTtcbiAgfTtcbn1cblxuY29uc3QgQkFTRV9XRUJTSVRFX1VSTCA9ICdodHRwczovL3d3dy5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gYCR7QkFTRV9XRUJTSVRFX1VSTH0vbG9naW4vaW5kZXguaHRtbCMvYXV0aC1wYWdlLWhlYDtcbmNvbnN0IEJBU0VfQVBQX1VSTCA9ICdodHRwczovL210by5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgQUZURVJfTE9HSU5fQkFTRV9VUkwgPSAvaHR0cHM6XFwvXFwvbXRvXFwubWl6cmFoaS10ZWZhaG90XFwuY29cXC5pbFxcL09ubGluZUFwcFxcLy4qLztcbmNvbnN0IE9TSF9QQUdFID0gJy9vc2gvbGVnYWN5L2xlZ2FjeS1Pc2gtTWFpbic7XG5jb25zdCBUUkFOU0FDVElPTlNfUEFHRSA9ICcvb3NoL2xlZ2FjeS9yb290LW1haW4tb3NoLXA0MjhOZXcnO1xuY29uc3QgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMUyA9IFtcbiAgYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmVQaWxvdC9hcGkvU2t5T1NIL2dldDQyOEluZGV4YCxcbiAgYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmUvYXBpL1NreU9TSC9nZXQ0MjhJbmRleGAsXG5dO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSA9ICcvb3NoL2xlZ2FjeS9sZWdhY3ktT3NoLXA0MjAnO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FID0gJ3A0MjAuYXNweCc7XG5jb25zdCBDSEFOR0VfUEFTU1dPUkRfVVJMID0gL2h0dHBzOlxcL1xcL3d3d1xcLm1penJhaGktdGVmYWhvdFxcLmNvXFwuaWxcXC9sb2dpblxcL2luZGV4XFwuaHRtbCNcXC9jaGFuZ2UtcGFzcy87XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWVlZJztcbmNvbnN0IE1BWF9ST1dTX1BFUl9SRVFVRVNUID0gMTAwMDAwMDAwMDA7XG5cbmNvbnN0IHVzZXJuYW1lU2VsZWN0b3IgPSAnI2VtYWlsRGVza3RvcEhlYic7XG5jb25zdCBwYXNzd29yZFNlbGVjdG9yID0gJyNwYXNzd29yZElERGVza3RvcEhFQic7XG5jb25zdCBzdWJtaXRCdXR0b25TZWxlY3RvciA9ICcuZm9ybS1kZXNrdG9wIGJ1dHRvbic7XG5jb25zdCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciA9ICdhW2hyZWYqPVwiaHR0cHM6Ly9zYy5taXpyYWhpLXRlZmFob3QuY28uaWwvU0NTZXJ2aWNlcy9TQy9QMDEwLmFzcHhcIl0nO1xuY29uc3QgYWZ0ZXJMb2dpblNlbGVjdG9yID0gJyNkcm9wZG93bkJhc2ljJztcbmNvbnN0IGxvZ2luU3Bpbm5lclNlbGVjdG9yID0gJ2Rpdi5uZ3gtb3ZlcmxheS5sb2FkaW5nLWZvcmVncm91bmQnO1xuY29uc3QgYWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yID0gJyNBY2NvdW50UGlja2VyIC5pdGVtJztcbmNvbnN0IHBlbmRpbmdUcnhJZGVudGlmaWVySWQgPSAnI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjJfcGFuZWwxJztcbmNvbnN0IGNoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWUgPSAn16LXldeR16gg15XXqdeRJztcbmNvbnN0IGNoZWNraW5nQWNjb3VudFRhYkVuZ2xpc2hOYW1lID0gJ0NoZWNraW5nIEFjY291bnQnO1xuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiB1c2VybmFtZVNlbGVjdG9yLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiBwYXNzd29yZFNlbGVjdG9yLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNMb2dnZWRJbihvcHRpb25zOiB7IHBhZ2U/OiBQYWdlIHwgdW5kZWZpbmVkIH0gfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFvcHRpb25zPy5wYWdlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IG9zaFhQYXRoID0gYC8vYS8vc3Bhbltjb250YWlucyguLCBcIiR7Y2hlY2tpbmdBY2NvdW50VGFiSGVicmV3TmFtZX1cIikgb3IgY29udGFpbnMoLiwgXCIke2NoZWNraW5nQWNjb3VudFRhYkVuZ2xpc2hOYW1lfVwiKV1gO1xuICBjb25zdCBvc2hUYWIgPSBhd2FpdCBvcHRpb25zLnBhZ2UuJCQoYHhwYXRoJHtvc2hYUGF0aH1gKTtcbiAgcmV0dXJuIG9zaFRhYi5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICByZXR1cm4ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFtBRlRFUl9MT0dJTl9CQVNFX1VSTCwgaXNMb2dnZWRJbl0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4kKGludmFsaWRQYXNzd29yZFNlbGVjdG9yKSldLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbQ0hBTkdFX1BBU1NXT1JEX1VSTF0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnNTdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICByZXR1cm4gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3Q6IEhUVFBSZXF1ZXN0LCBvcHRpb25zU3RhcnREYXRlOiBEYXRlKSB7XG4gIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QucG9zdERhdGEoKSB8fCAne30nKTtcblxuICBkYXRhLmluRnJvbURhdGUgPSBnZXRTdGFydE1vbWVudChvcHRpb25zU3RhcnREYXRlKS5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBkYXRhLmluVG9EYXRlID0gbW9tZW50KCkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgZGF0YS50YWJsZS5tYXhSb3cgPSBNQVhfUk9XU19QRVJfUkVRVUVTVDtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0KHJlcXVlc3Q6IEhUVFBSZXF1ZXN0KSB7XG4gIHJldHVybiB7XG4gICAgJ21penJhaGl4c3JmdG9rZW4nOiByZXF1ZXN0LmhlYWRlcnMoKS5taXpyYWhpeHNyZnRva2VuLFxuICAgICdDb250ZW50LVR5cGUnOiByZXF1ZXN0LmhlYWRlcnMoKVsnY29udGVudC10eXBlJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHR4bnMubWFwKChyb3cpID0+IHtcbiAgICBjb25zdCB0eG5EYXRlID0gbW9tZW50KHJvdy5NQzAyUGV1bGFUYWFFWiwgbW9tZW50LkhUTUw1X0ZNVC5EQVRFVElNRV9MT0NBTF9TRUNPTkRTKVxuICAgICAgLnRvSVNPU3RyaW5nKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiByb3cuTUMwMkFzbWFodGFNZWtvcml0RVogPyBwYXJzZUludChyb3cuTUMwMkFzbWFodGFNZWtvcml0RVosIDEwKSA6IHVuZGVmaW5lZCxcbiAgICAgIGRhdGU6IHR4bkRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5EYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIGRlc2NyaXB0aW9uOiByb3cuTUMwMlRudWFUZXVyRVosXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhwYWdlOiBGcmFtZSk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xuICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgJ3RyLnJnUm93JywgW10sICh0cnMpID0+IHtcbiAgICByZXR1cm4gdHJzLm1hcCgodHIpID0+IEFycmF5LmZyb20odHIucXVlcnlTZWxlY3RvckFsbCgndGQnKSwgKHRkOiBIVE1MVGFibGVEYXRhQ2VsbEVsZW1lbnQpID0+IHRkLnRleHRDb250ZW50IHx8ICcnKSk7XG4gIH0pO1xuXG4gIHJldHVybiBwZW5kaW5nVHhuLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudCh0eG5bMF0sICdERC9NTS9ZWScpLnRvSVNPU3RyaW5nKCk7XG4gICAgY29uc3QgYW1vdW50ID0gcGFyc2VJbnQodHhuWzNdLCAxMCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogYW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4blsxXSxcbiAgICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0TG9naW4ocGFnZTogUGFnZSkge1xuICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBhZnRlckxvZ2luU2VsZWN0b3IpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciksXG4gICAgd2FpdEZvclVybChwYWdlLCBDSEFOR0VfUEFTU1dPUkRfVVJMKSxcbiAgXSk7XG59XG5cbnR5cGUgU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMgPSB7IHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcgfTtcblxuY2xhc3MgTWl6cmFoaVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3IsXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcih0aGlzLnBhZ2UsIGxvZ2luU3Bpbm5lclNlbGVjdG9yKSxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHBvc3RMb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyh0aGlzLnBhZ2UpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKCcjZHJvcGRvd25CYXNpYywgLml0ZW0nLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCBudW1PZkFjY291bnRzID0gKGF3YWl0IHRoaXMucGFnZS4kJChhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IpKS5sZW5ndGg7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtT2ZBY2NvdW50czsgaSArPSAxKSB7XG4gICAgICAgIGlmIChpID4gMCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbCgnI2Ryb3Bkb3duQmFzaWMsIC5pdGVtJywgKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGAke2FjY291bnREcm9wRG93bkl0ZW1TZWxlY3Rvcn06bnRoLWNoaWxkKCR7aSArIDF9KWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICAgICAgcmVzdWx0cy5wdXNoKChhd2FpdCB0aGlzLmZldGNoQWNjb3VudCgpKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIGFjY291bnRzOiByZXN1bHRzLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgICBlcnJvck1lc3NhZ2U6IChlIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFBlbmRpbmdUcmFuc2FjdGlvbnMoKTogUHJvbWlzZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdhaXRVbnRpbElmcmFtZUZvdW5kKHRoaXMucGFnZSwgKGYpID0+IGYudXJsKCkuaW5jbHVkZXMoUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FKSk7XG4gICAgY29uc3QgaXNQZW5kaW5nID0gYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkKS50aGVuKCgpID0+IHRydWUpLmNhdGNoKCgpID0+IGZhbHNlKTtcbiAgICBpZiAoIWlzUGVuZGluZykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHBlbmRpbmdUeG4gPSBhd2FpdCBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhmcmFtZSk7XG4gICAgcmV0dXJuIHBlbmRpbmdUeG47XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQWNjb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvclNlbGVjdG9yKGBhW2hyZWYqPVwiJHtPU0hfUEFHRX1cIl1gKTtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYGFbaHJlZio9XCIke09TSF9QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCBgYVtocmVmKj1cIiR7VFJBTlNBQ1RJT05TX1BBR0V9XCJdYCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtUUkFOU0FDVElPTlNfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCBhY2NvdW50TnVtYmVyRWxlbWVudCA9IGF3YWl0IHRoaXMucGFnZS4kKCcjZHJvcGRvd25CYXNpYyBiJyk7XG4gICAgY29uc3QgYWNjb3VudE51bWJlckhhbmRsZSA9IGF3YWl0IGFjY291bnROdW1iZXJFbGVtZW50Py5nZXRQcm9wZXJ0eSgndGl0bGUnKTtcbiAgICBjb25zdCBhY2NvdW50TnVtYmVyID0gKChhd2FpdCBhY2NvdW50TnVtYmVySGFuZGxlPy5qc29uVmFsdWUoKSkgYXMgc3RyaW5nKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgUHJvbWlzZS5hbnkoVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMUy5tYXAoYXN5bmMgKHVybCkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHRoaXMucGFnZS53YWl0Rm9yUmVxdWVzdCh1cmwpO1xuICAgICAgY29uc3QgZGF0YSA9IGNyZWF0ZURhdGFGcm9tUmVxdWVzdChyZXF1ZXN0LCB0aGlzLm9wdGlvbnMuc3RhcnREYXRlKTtcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSBjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QocmVxdWVzdCk7XG5cbiAgICAgIHJldHVybiBmZXRjaFBvc3RXaXRoaW5QYWdlPFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQ+KHRoaXMucGFnZSwgdXJsLCBkYXRhLCBoZWFkZXJzKTtcbiAgICB9KSk7XG5cbiAgICBpZiAoIXJlc3BvbnNlIHx8IHJlc3BvbnNlLmhlYWRlci5zdWNjZXNzID09PSBmYWxzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBmZXRjaGluZyB0cmFuc2FjdGlvbi4gUmVzcG9uc2UgbWVzc2FnZTogJHtyZXNwb25zZSA/IHJlc3BvbnNlLmhlYWRlci5tZXNzYWdlc1swXS50ZXh0IDogJyd9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZXZhbnRSb3dzID0gcmVzcG9uc2UuYm9keS50YWJsZS5yb3dzLmZpbHRlcigocm93KSA9PiByb3cuUmVjVHlwZVNwZWNpZmllZCk7XG4gICAgY29uc3Qgb3NoVHhuID0gY29udmVydFRyYW5zYWN0aW9ucyhyZWxldmFudFJvd3MpO1xuXG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgYSBidWcgd2hpY2ggdGhlIGJhbmsncyBBUEkgcmV0dXJucyB0cmFuc2FjdGlvbnMgYmVmb3JlIHRoZSByZXF1ZXN0ZWQgc3RhcnQgZGF0ZVxuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gZ2V0U3RhcnRNb21lbnQodGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSk7XG4gICAgY29uc3Qgb3NoVHhuQWZ0ZXJTdGFydERhdGUgPSBvc2hUeG4uZmlsdGVyKCh0eG4pID0+IG1vbWVudCh0eG4uZGF0ZSkuaXNTYW1lT3JBZnRlcihzdGFydE1vbWVudCkpO1xuXG4gICAgY29uc3QgcGVuZGluZ1R4biA9IGF3YWl0IHRoaXMuZ2V0UGVuZGluZ1RyYW5zYWN0aW9ucygpO1xuICAgIGNvbnN0IGFsbFR4biA9IG9zaFR4bkFmdGVyU3RhcnREYXRlLmNvbmNhdChwZW5kaW5nVHhuKTtcblxuICAgIHJldHVybiB7XG4gICAgICBhY2NvdW50TnVtYmVyLFxuICAgICAgdHhuczogYWxsVHhuLFxuICAgICAgYmFsYW5jZTogK3Jlc3BvbnNlLmJvZHkuZmllbGRzPy5ZaXRyYSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1penJhaGlTY3JhcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUscUJBQUEsR0FBQUYsT0FBQTtBQUdBLElBQUFHLE1BQUEs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
|
|
204
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX2VsZW1lbnRzSW50ZXJhY3Rpb25zIiwiX2ZldGNoIiwiX25hdmlnYXRpb24iLCJfdHJhbnNhY3Rpb25zIiwiX2Jhc2VTY3JhcGVyV2l0aEJyb3dzZXIiLCJfZXJyb3JzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiQkFTRV9XRUJTSVRFX1VSTCIsIkxPR0lOX1VSTCIsIkJBU0VfQVBQX1VSTCIsIkFGVEVSX0xPR0lOX0JBU0VfVVJMIiwiT1NIX1BBR0UiLCJUUkFOU0FDVElPTlNfUEFHRSIsIlRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTFMiLCJQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFIiwiUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FIiwiQ0hBTkdFX1BBU1NXT1JEX1VSTCIsIkRBVEVfRk9STUFUIiwiTUFYX1JPV1NfUEVSX1JFUVVFU1QiLCJ1c2VybmFtZVNlbGVjdG9yIiwicGFzc3dvcmRTZWxlY3RvciIsInN1Ym1pdEJ1dHRvblNlbGVjdG9yIiwiaW52YWxpZFBhc3N3b3JkU2VsZWN0b3IiLCJhZnRlckxvZ2luU2VsZWN0b3IiLCJsb2dpblNwaW5uZXJTZWxlY3RvciIsImFjY291bnREcm9wRG93bkl0ZW1TZWxlY3RvciIsInBlbmRpbmdUcnhJZGVudGlmaWVySWQiLCJjaGVja2luZ0FjY291bnRUYWJIZWJyZXdOYW1lIiwiY2hlY2tpbmdBY2NvdW50VGFiRW5nbGlzaE5hbWUiLCJjcmVhdGVMb2dpbkZpZWxkcyIsImNyZWRlbnRpYWxzIiwic2VsZWN0b3IiLCJ2YWx1ZSIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJpc0xvZ2dlZEluIiwib3B0aW9ucyIsInBhZ2UiLCJvc2hYUGF0aCIsIm9zaFRhYiIsIiQkIiwibGVuZ3RoIiwiZ2V0UG9zc2libGVMb2dpblJlc3VsdHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwiJCIsIkNoYW5nZVBhc3N3b3JkIiwiZ2V0U3RhcnRNb21lbnQiLCJvcHRpb25zU3RhcnREYXRlIiwiZGVmYXVsdFN0YXJ0TW9tZW50IiwibW9tZW50Iiwic3VidHJhY3QiLCJzdGFydERhdGUiLCJ0b0RhdGUiLCJtYXgiLCJjcmVhdGVEYXRhRnJvbVJlcXVlc3QiLCJyZXF1ZXN0IiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsInBvc3REYXRhIiwiaW5Gcm9tRGF0ZSIsImZvcm1hdCIsImluVG9EYXRlIiwidGFibGUiLCJtYXhSb3ciLCJjcmVhdGVIZWFkZXJzRnJvbVJlcXVlc3QiLCJoZWFkZXJzIiwibWl6cmFoaXhzcmZ0b2tlbiIsImNvbnZlcnRUcmFuc2FjdGlvbnMiLCJ0eG5zIiwibWFwIiwicm93IiwidHhuRGF0ZSIsIk1DMDJQZXVsYVRhYUVaIiwiSFRNTDVfRk1UIiwiREFURVRJTUVfTE9DQUxfU0VDT05EUyIsInRvSVNPU3RyaW5nIiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwiTUMwMkFzbWFodGFNZWtvcml0RVoiLCJwYXJzZUludCIsInVuZGVmaW5lZCIsImRhdGUiLCJwcm9jZXNzZWREYXRlIiwib3JpZ2luYWxBbW91bnQiLCJNQzAyU2NodW1FWiIsIm9yaWdpbmFsQ3VycmVuY3kiLCJTSEVLRUxfQ1VSUkVOQ1kiLCJjaGFyZ2VkQW1vdW50IiwiZGVzY3JpcHRpb24iLCJNQzAyVG51YVRldXJFWiIsInN0YXR1cyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJDb21wbGV0ZWQiLCJleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyIsInBlbmRpbmdUeG4iLCJwYWdlRXZhbEFsbCIsInRycyIsInRyIiwiQXJyYXkiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsInRkIiwidGV4dENvbnRlbnQiLCJ0eG4iLCJhbW91bnQiLCJQZW5kaW5nIiwicG9zdExvZ2luIiwiUHJvbWlzZSIsInJhY2UiLCJ3YWl0VW50aWxFbGVtZW50Rm91bmQiLCJ3YWl0Rm9yVXJsIiwiTWl6cmFoaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJjaGVja1JlYWRpbmVzcyIsIndhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIiLCJwb3N0QWN0aW9uIiwicG9zc2libGVSZXN1bHRzIiwiZmV0Y2hEYXRhIiwiJGV2YWwiLCJlbCIsImNsaWNrIiwibnVtT2ZBY2NvdW50cyIsInJlc3VsdHMiLCJpIiwicHVzaCIsImZldGNoQWNjb3VudCIsInN1Y2Nlc3MiLCJhY2NvdW50cyIsImVycm9yVHlwZSIsIlNjcmFwZXJFcnJvclR5cGVzIiwiR2VuZXJpYyIsImVycm9yTWVzc2FnZSIsIm1lc3NhZ2UiLCJnZXRQZW5kaW5nVHJhbnNhY3Rpb25zIiwiZnJhbWUiLCJ3YWl0VW50aWxJZnJhbWVGb3VuZCIsImYiLCJ1cmwiLCJpbmNsdWRlcyIsImlzUGVuZGluZyIsInRoZW4iLCJjYXRjaCIsIl9yZXNwb25zZSRib2R5JGZpZWxkcyIsIndhaXRGb3JTZWxlY3RvciIsImFjY291bnROdW1iZXJFbGVtZW50IiwiYWNjb3VudE51bWJlckhhbmRsZSIsImdldFByb3BlcnR5IiwiYWNjb3VudE51bWJlciIsImpzb25WYWx1ZSIsIkVycm9yIiwicmVzcG9uc2UiLCJhbnkiLCJ3YWl0Rm9yUmVxdWVzdCIsImZldGNoUG9zdFdpdGhpblBhZ2UiLCJoZWFkZXIiLCJtZXNzYWdlcyIsInRleHQiLCJyZWxldmFudFJvd3MiLCJib2R5Iiwicm93cyIsImZpbHRlciIsIlJlY1R5cGVTcGVjaWZpZWQiLCJvc2hUeG4iLCJzdGFydE1vbWVudCIsIm9zaFR4bkFmdGVyU3RhcnREYXRlIiwiaXNTYW1lT3JBZnRlciIsImFsbFR4biIsImNvbmNhdCIsImJhbGFuY2UiLCJZaXRyYSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9taXpyYWhpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IHR5cGUgRnJhbWUsIHR5cGUgSFRUUFJlcXVlc3QsIHR5cGUgUGFnZSB9IGZyb20gJ3B1cHBldGVlcic7XG5pbXBvcnQgeyBTSEVLRUxfQ1VSUkVOQ1kgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgcGFnZUV2YWxBbGwsIHdhaXRVbnRpbEVsZW1lbnREaXNhcHBlYXIsIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCwgd2FpdFVudGlsSWZyYW1lRm91bmQsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9zdFdpdGhpblBhZ2UgfSBmcm9tICcuLi9oZWxwZXJzL2ZldGNoJztcbmltcG9ydCB7IHdhaXRGb3JVcmwgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHtcbiAgdHlwZSBUcmFuc2FjdGlvbixcbiAgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbiAgdHlwZSBUcmFuc2FjdGlvbnNBY2NvdW50LFxufSBmcm9tICcuLi90cmFuc2FjdGlvbnMnO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCB0eXBlIFBvc3NpYmxlTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7IFNjcmFwZXJFcnJvclR5cGVzIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgUmVjVHlwZVNwZWNpZmllZDogYm9vbGVhbjtcbiAgTUMwMlBldWxhVGFhRVo6IHN0cmluZztcbiAgTUMwMlNjaHVtRVo6IG51bWJlcjtcbiAgTUMwMkFzbWFodGFNZWtvcml0RVo6IHN0cmluZztcbiAgTUMwMlRudWFUZXVyRVo6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbnNSZXN1bHQge1xuICBoZWFkZXI6IHtcbiAgICBzdWNjZXNzOiBib29sZWFuO1xuICAgIG1lc3NhZ2VzOiB7IHRleHQ6IHN0cmluZyB9W107XG4gIH07XG4gIGJvZHk6IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIFlpdHJhOiBzdHJpbmc7XG4gICAgfTtcbiAgICB0YWJsZToge1xuICAgICAgcm93czogU2NyYXBlZFRyYW5zYWN0aW9uW107XG4gICAgfTtcbiAgfTtcbn1cblxuY29uc3QgQkFTRV9XRUJTSVRFX1VSTCA9ICdodHRwczovL3d3dy5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgTE9HSU5fVVJMID0gYCR7QkFTRV9XRUJTSVRFX1VSTH0vbG9naW4vaW5kZXguaHRtbCMvYXV0aC1wYWdlLWhlYDtcbmNvbnN0IEJBU0VfQVBQX1VSTCA9ICdodHRwczovL210by5taXpyYWhpLXRlZmFob3QuY28uaWwnO1xuY29uc3QgQUZURVJfTE9HSU5fQkFTRV9VUkwgPSAvaHR0cHM6XFwvXFwvbXRvXFwubWl6cmFoaS10ZWZhaG90XFwuY29cXC5pbFxcL09ubGluZUFwcFxcLy4qLztcbmNvbnN0IE9TSF9QQUdFID0gJy9vc2gvbGVnYWN5L2xlZ2FjeS1Pc2gtTWFpbic7XG5jb25zdCBUUkFOU0FDVElPTlNfUEFHRSA9ICcvb3NoL2xlZ2FjeS9yb290LW1haW4tb3NoLXA0MjhOZXcnO1xuY29uc3QgVFJBTlNBQ1RJT05TX1JFUVVFU1RfVVJMUyA9IFtcbiAgYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmVQaWxvdC9hcGkvU2t5T1NIL2dldDQyOEluZGV4YCxcbiAgYCR7QkFTRV9BUFBfVVJMfS9PbmxpbmUvYXBpL1NreU9TSC9nZXQ0MjhJbmRleGAsXG5dO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfUEFHRSA9ICcvb3NoL2xlZ2FjeS9sZWdhY3ktT3NoLXA0MjAnO1xuY29uc3QgUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FID0gJ3A0MjAuYXNweCc7XG5jb25zdCBDSEFOR0VfUEFTU1dPUkRfVVJMID0gL2h0dHBzOlxcL1xcL3d3d1xcLm1penJhaGktdGVmYWhvdFxcLmNvXFwuaWxcXC9sb2dpblxcL2luZGV4XFwuaHRtbCNcXC9jaGFuZ2UtcGFzcy87XG5jb25zdCBEQVRFX0ZPUk1BVCA9ICdERC9NTS9ZWVlZJztcbmNvbnN0IE1BWF9ST1dTX1BFUl9SRVFVRVNUID0gMTAwMDAwMDAwMDA7XG5cbmNvbnN0IHVzZXJuYW1lU2VsZWN0b3IgPSAnI2VtYWlsRGVza3RvcEhlYic7XG5jb25zdCBwYXNzd29yZFNlbGVjdG9yID0gJyNwYXNzd29yZElERGVza3RvcEhFQic7XG5jb25zdCBzdWJtaXRCdXR0b25TZWxlY3RvciA9ICcuZm9ybS1kZXNrdG9wIGJ1dHRvbic7XG5jb25zdCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciA9ICdhW2hyZWYqPVwiaHR0cHM6Ly9zYy5taXpyYWhpLXRlZmFob3QuY28uaWwvU0NTZXJ2aWNlcy9TQy9QMDEwLmFzcHhcIl0nO1xuY29uc3QgYWZ0ZXJMb2dpblNlbGVjdG9yID0gJyNkcm9wZG93bkJhc2ljJztcbmNvbnN0IGxvZ2luU3Bpbm5lclNlbGVjdG9yID0gJ2Rpdi5uZ3gtb3ZlcmxheS5sb2FkaW5nLWZvcmVncm91bmQnO1xuY29uc3QgYWNjb3VudERyb3BEb3duSXRlbVNlbGVjdG9yID0gJyNBY2NvdW50UGlja2VyIC5pdGVtJztcbmNvbnN0IHBlbmRpbmdUcnhJZGVudGlmaWVySWQgPSAnI2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjJfcGFuZWwxJztcbmNvbnN0IGNoZWNraW5nQWNjb3VudFRhYkhlYnJld05hbWUgPSAn16LXldeR16gg15XXqdeRJztcbmNvbnN0IGNoZWNraW5nQWNjb3VudFRhYkVuZ2xpc2hOYW1lID0gJ0NoZWNraW5nIEFjY291bnQnO1xuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiB1c2VybmFtZVNlbGVjdG9yLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiBwYXNzd29yZFNlbGVjdG9yLCB2YWx1ZTogY3JlZGVudGlhbHMucGFzc3dvcmQgfSxcbiAgXTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNMb2dnZWRJbihvcHRpb25zOiB7IHBhZ2U/OiBQYWdlIHwgdW5kZWZpbmVkIH0gfCB1bmRlZmluZWQpIHtcbiAgaWYgKCFvcHRpb25zPy5wYWdlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IG9zaFhQYXRoID0gYC8vYS8vc3Bhbltjb250YWlucyguLCBcIiR7Y2hlY2tpbmdBY2NvdW50VGFiSGVicmV3TmFtZX1cIikgb3IgY29udGFpbnMoLiwgXCIke2NoZWNraW5nQWNjb3VudFRhYkVuZ2xpc2hOYW1lfVwiKV1gO1xuICBjb25zdCBvc2hUYWIgPSBhd2FpdCBvcHRpb25zLnBhZ2UuJCQoYHhwYXRoJHtvc2hYUGF0aH1gKTtcbiAgcmV0dXJuIG9zaFRhYi5sZW5ndGggPiAwO1xufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyhwYWdlOiBQYWdlKTogUG9zc2libGVMb2dpblJlc3VsdHMge1xuICByZXR1cm4ge1xuICAgIFtMb2dpblJlc3VsdHMuU3VjY2Vzc106IFtBRlRFUl9MT0dJTl9CQVNFX1VSTCwgaXNMb2dnZWRJbl0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbYXN5bmMgKCkgPT4gISEoYXdhaXQgcGFnZS4kKGludmFsaWRQYXNzd29yZFNlbGVjdG9yKSldLFxuICAgIFtMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdOiBbQ0hBTkdFX1BBU1NXT1JEX1VSTF0sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW9tZW50KG9wdGlvbnNTdGFydERhdGU6IERhdGUpIHtcbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnNTdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICByZXR1cm4gbW9tZW50Lm1heChkZWZhdWx0U3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGF0YUZyb21SZXF1ZXN0KHJlcXVlc3Q6IEhUVFBSZXF1ZXN0LCBvcHRpb25zU3RhcnREYXRlOiBEYXRlKSB7XG4gIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHJlcXVlc3QucG9zdERhdGEoKSB8fCAne30nKTtcblxuICBkYXRhLmluRnJvbURhdGUgPSBnZXRTdGFydE1vbWVudChvcHRpb25zU3RhcnREYXRlKS5mb3JtYXQoREFURV9GT1JNQVQpO1xuICBkYXRhLmluVG9EYXRlID0gbW9tZW50KCkuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgZGF0YS50YWJsZS5tYXhSb3cgPSBNQVhfUk9XU19QRVJfUkVRVUVTVDtcblxuICByZXR1cm4gZGF0YTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0KHJlcXVlc3Q6IEhUVFBSZXF1ZXN0KSB7XG4gIHJldHVybiB7XG4gICAgJ21penJhaGl4c3JmdG9rZW4nOiByZXF1ZXN0LmhlYWRlcnMoKS5taXpyYWhpeHNyZnRva2VuLFxuICAgICdDb250ZW50LVR5cGUnOiByZXF1ZXN0LmhlYWRlcnMoKVsnY29udGVudC10eXBlJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2FjdGlvbnModHhuczogU2NyYXBlZFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdIHtcbiAgcmV0dXJuIHR4bnMubWFwKChyb3cpID0+IHtcbiAgICBjb25zdCB0eG5EYXRlID0gbW9tZW50KHJvdy5NQzAyUGV1bGFUYWFFWiwgbW9tZW50LkhUTUw1X0ZNVC5EQVRFVElNRV9MT0NBTF9TRUNPTkRTKVxuICAgICAgLnRvSVNPU3RyaW5nKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiByb3cuTUMwMkFzbWFodGFNZWtvcml0RVogPyBwYXJzZUludChyb3cuTUMwMkFzbWFodGFNZWtvcml0RVosIDEwKSA6IHVuZGVmaW5lZCxcbiAgICAgIGRhdGU6IHR4bkRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiB0eG5EYXRlLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIG9yaWdpbmFsQ3VycmVuY3k6IFNIRUtFTF9DVVJSRU5DWSxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IHJvdy5NQzAyU2NodW1FWixcbiAgICAgIGRlc2NyaXB0aW9uOiByb3cuTUMwMlRudWFUZXVyRVosXG4gICAgICBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhwYWdlOiBGcmFtZSk6IFByb21pc2U8VHJhbnNhY3Rpb25bXT4ge1xuICBjb25zdCBwZW5kaW5nVHhuID0gYXdhaXQgcGFnZUV2YWxBbGwocGFnZSwgJ3RyLnJnUm93JywgW10sICh0cnMpID0+IHtcbiAgICByZXR1cm4gdHJzLm1hcCgodHIpID0+IEFycmF5LmZyb20odHIucXVlcnlTZWxlY3RvckFsbCgndGQnKSwgKHRkOiBIVE1MVGFibGVEYXRhQ2VsbEVsZW1lbnQpID0+IHRkLnRleHRDb250ZW50IHx8ICcnKSk7XG4gIH0pO1xuXG4gIHJldHVybiBwZW5kaW5nVHhuLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudCh0eG5bMF0sICdERC9NTS9ZWScpLnRvSVNPU3RyaW5nKCk7XG4gICAgY29uc3QgYW1vdW50ID0gcGFyc2VJbnQodHhuWzNdLCAxMCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBvcmlnaW5hbEFtb3VudDogYW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogYW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4blsxXSxcbiAgICAgIHN0YXR1czogVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nLFxuICAgIH07XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwb3N0TG9naW4ocGFnZTogUGFnZSkge1xuICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBhZnRlckxvZ2luU2VsZWN0b3IpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBpbnZhbGlkUGFzc3dvcmRTZWxlY3RvciksXG4gICAgd2FpdEZvclVybChwYWdlLCBDSEFOR0VfUEFTU1dPUkRfVVJMKSxcbiAgXSk7XG59XG5cbnR5cGUgU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMgPSB7IHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcgfTtcblxuY2xhc3MgTWl6cmFoaVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyPFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzPiB7XG4gIGdldExvZ2luT3B0aW9ucyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9naW5Vcmw6IExPR0lOX1VSTCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3IsXG4gICAgICBjaGVja1JlYWRpbmVzczogYXN5bmMgKCkgPT4gd2FpdFVudGlsRWxlbWVudERpc2FwcGVhcih0aGlzLnBhZ2UsIGxvZ2luU3Bpbm5lclNlbGVjdG9yKSxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHBvc3RMb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyh0aGlzLnBhZ2UpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKCcjZHJvcGRvd25CYXNpYywgLml0ZW0nLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCBudW1PZkFjY291bnRzID0gKGF3YWl0IHRoaXMucGFnZS4kJChhY2NvdW50RHJvcERvd25JdGVtU2VsZWN0b3IpKS5sZW5ndGg7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0czogVHJhbnNhY3Rpb25zQWNjb3VudFtdID0gW107XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtT2ZBY2NvdW50czsgaSArPSAxKSB7XG4gICAgICAgIGlmIChpID4gMCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucGFnZS4kZXZhbCgnI2Ryb3Bkb3duQmFzaWMsIC5pdGVtJywgKGVsKSA9PiAoZWwgYXMgSFRNTEVsZW1lbnQpLmNsaWNrKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGAke2FjY291bnREcm9wRG93bkl0ZW1TZWxlY3Rvcn06bnRoLWNoaWxkKCR7aSArIDF9KWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICAgICAgcmVzdWx0cy5wdXNoKChhd2FpdCB0aGlzLmZldGNoQWNjb3VudCgpKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIGFjY291bnRzOiByZXN1bHRzLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3JUeXBlOiBTY3JhcGVyRXJyb3JUeXBlcy5HZW5lcmljLFxuICAgICAgICBlcnJvck1lc3NhZ2U6IChlIGFzIEVycm9yKS5tZXNzYWdlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldFBlbmRpbmdUcmFuc2FjdGlvbnMoKTogUHJvbWlzZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtQRU5ESU5HX1RSQU5TQUNUSU9OU19QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICBjb25zdCBmcmFtZSA9IGF3YWl0IHdhaXRVbnRpbElmcmFtZUZvdW5kKHRoaXMucGFnZSwgKGYpID0+IGYudXJsKCkuaW5jbHVkZXMoUEVORElOR19UUkFOU0FDVElPTlNfSUZSQU1FKSk7XG4gICAgY29uc3QgaXNQZW5kaW5nID0gYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKGZyYW1lLCBwZW5kaW5nVHJ4SWRlbnRpZmllcklkKS50aGVuKCgpID0+IHRydWUpLmNhdGNoKCgpID0+IGZhbHNlKTtcbiAgICBpZiAoIWlzUGVuZGluZykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHBlbmRpbmdUeG4gPSBhd2FpdCBleHRyYWN0UGVuZGluZ1RyYW5zYWN0aW9ucyhmcmFtZSk7XG4gICAgcmV0dXJuIHBlbmRpbmdUeG47XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZldGNoQWNjb3VudCgpIHtcbiAgICBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvclNlbGVjdG9yKGBhW2hyZWYqPVwiJHtPU0hfUEFHRX1cIl1gKTtcbiAgICBhd2FpdCB0aGlzLnBhZ2UuJGV2YWwoYGFbaHJlZio9XCIke09TSF9QQUdFfVwiXWAsIChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5jbGljaygpKTtcbiAgICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQodGhpcy5wYWdlLCBgYVtocmVmKj1cIiR7VFJBTlNBQ1RJT05TX1BBR0V9XCJdYCk7XG4gICAgYXdhaXQgdGhpcy5wYWdlLiRldmFsKGBhW2hyZWYqPVwiJHtUUkFOU0FDVElPTlNfUEFHRX1cIl1gLCAoZWwpID0+IChlbCBhcyBIVE1MRWxlbWVudCkuY2xpY2soKSk7XG5cbiAgICBjb25zdCBhY2NvdW50TnVtYmVyRWxlbWVudCA9IGF3YWl0IHRoaXMucGFnZS4kKCcjZHJvcGRvd25CYXNpYyBiIHNwYW4nKTtcbiAgICBjb25zdCBhY2NvdW50TnVtYmVySGFuZGxlID0gYXdhaXQgYWNjb3VudE51bWJlckVsZW1lbnQ/LmdldFByb3BlcnR5KCd0aXRsZScpO1xuICAgIGNvbnN0IGFjY291bnROdW1iZXIgPSAoKGF3YWl0IGFjY291bnROdW1iZXJIYW5kbGU/Lmpzb25WYWx1ZSgpKSBhcyBzdHJpbmcpO1xuICAgIGlmICghYWNjb3VudE51bWJlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBY2NvdW50IG51bWJlciBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFByb21pc2UuYW55KFRSQU5TQUNUSU9OU19SRVFVRVNUX1VSTFMubWFwKGFzeW5jICh1cmwpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLnBhZ2Uud2FpdEZvclJlcXVlc3QodXJsKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBjcmVhdGVEYXRhRnJvbVJlcXVlc3QocmVxdWVzdCwgdGhpcy5vcHRpb25zLnN0YXJ0RGF0ZSk7XG4gICAgICBjb25zdCBoZWFkZXJzID0gY3JlYXRlSGVhZGVyc0Zyb21SZXF1ZXN0KHJlcXVlc3QpO1xuXG4gICAgICByZXR1cm4gZmV0Y2hQb3N0V2l0aGluUGFnZTxTY3JhcGVkVHJhbnNhY3Rpb25zUmVzdWx0Pih0aGlzLnBhZ2UsIHVybCwgZGF0YSwgaGVhZGVycyk7XG4gICAgfSkpO1xuXG4gICAgaWYgKCFyZXNwb25zZSB8fCByZXNwb25zZS5oZWFkZXIuc3VjY2VzcyA9PT0gZmFsc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXJyb3IgZmV0Y2hpbmcgdHJhbnNhY3Rpb24uIFJlc3BvbnNlIG1lc3NhZ2U6ICR7cmVzcG9uc2UgPyByZXNwb25zZS5oZWFkZXIubWVzc2FnZXNbMF0udGV4dCA6ICcnfWApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbGV2YW50Um93cyA9IHJlc3BvbnNlLmJvZHkudGFibGUucm93cy5maWx0ZXIoKHJvdykgPT4gcm93LlJlY1R5cGVTcGVjaWZpZWQpO1xuICAgIGNvbnN0IG9zaFR4biA9IGNvbnZlcnRUcmFuc2FjdGlvbnMocmVsZXZhbnRSb3dzKTtcblxuICAgIC8vIHdvcmthcm91bmQgZm9yIGEgYnVnIHdoaWNoIHRoZSBiYW5rJ3MgQVBJIHJldHVybnMgdHJhbnNhY3Rpb25zIGJlZm9yZSB0aGUgcmVxdWVzdGVkIHN0YXJ0IGRhdGVcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IGdldFN0YXJ0TW9tZW50KHRoaXMub3B0aW9ucy5zdGFydERhdGUpO1xuICAgIGNvbnN0IG9zaFR4bkFmdGVyU3RhcnREYXRlID0gb3NoVHhuLmZpbHRlcigodHhuKSA9PiBtb21lbnQodHhuLmRhdGUpLmlzU2FtZU9yQWZ0ZXIoc3RhcnRNb21lbnQpKTtcblxuICAgIGNvbnN0IHBlbmRpbmdUeG4gPSBhd2FpdCB0aGlzLmdldFBlbmRpbmdUcmFuc2FjdGlvbnMoKTtcbiAgICBjb25zdCBhbGxUeG4gPSBvc2hUeG5BZnRlclN0YXJ0RGF0ZS5jb25jYXQocGVuZGluZ1R4bik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgIHR4bnM6IGFsbFR4bixcbiAgICAgIGJhbGFuY2U6ICtyZXNwb25zZS5ib2R5LmZpZWxkcz8uWWl0cmEsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNaXpyYWhpU2NyYXBlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FB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
|