israeli-bank-scrapers 3.4.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +42 -0
  2. package/lib/definitions.d.ts +6 -1
  3. package/lib/definitions.js +6 -1
  4. package/lib/helpers/fetch.d.ts +2 -1
  5. package/lib/helpers/fetch.js +26 -9
  6. package/lib/helpers/storage.d.ts +2 -0
  7. package/lib/helpers/storage.js +17 -0
  8. package/lib/index.d.ts +2 -1
  9. package/lib/index.js +47 -3
  10. package/lib/scrapers/amex.d.ts +1 -1
  11. package/lib/scrapers/amex.js +1 -1
  12. package/lib/scrapers/amex.test.js +3 -2
  13. package/lib/scrapers/base-beinleumi-group.d.ts +7 -4
  14. package/lib/scrapers/base-beinleumi-group.js +1 -1
  15. package/lib/scrapers/base-isracard-amex.d.ts +8 -3
  16. package/lib/scrapers/base-isracard-amex.js +13 -11
  17. package/lib/scrapers/base-scraper-with-browser.d.ts +6 -3
  18. package/lib/scrapers/base-scraper-with-browser.js +14 -11
  19. package/lib/scrapers/base-scraper.d.ts +9 -119
  20. package/lib/scrapers/base-scraper.js +34 -50
  21. package/lib/scrapers/beyahad-bishvilha.d.ts +6 -3
  22. package/lib/scrapers/beyahad-bishvilha.js +1 -1
  23. package/lib/scrapers/discount.d.ts +9 -4
  24. package/lib/scrapers/discount.js +4 -4
  25. package/lib/scrapers/discount.test.js +4 -3
  26. package/lib/scrapers/errors.d.ts +16 -0
  27. package/lib/scrapers/errors.js +37 -0
  28. package/lib/scrapers/factory.d.ts +2 -16
  29. package/lib/scrapers/factory.js +6 -1
  30. package/lib/scrapers/hapoalim.d.ts +6 -3
  31. package/lib/scrapers/hapoalim.js +1 -1
  32. package/lib/scrapers/hapoalim.test.js +2 -2
  33. package/lib/scrapers/interface.d.ts +146 -0
  34. package/lib/scrapers/interface.js +2 -0
  35. package/lib/scrapers/isracard.d.ts +1 -1
  36. package/lib/scrapers/isracard.js +1 -1
  37. package/lib/scrapers/isracard.test.js +4 -3
  38. package/lib/scrapers/leumi.d.ts +8 -4
  39. package/lib/scrapers/leumi.js +1 -1
  40. package/lib/scrapers/max.d.ts +6 -3
  41. package/lib/scrapers/max.js +1 -1
  42. package/lib/scrapers/mizrahi.d.ts +7 -3
  43. package/lib/scrapers/mizrahi.js +11 -9
  44. package/lib/scrapers/one-zero-queries.d.ts +2 -0
  45. package/lib/scrapers/one-zero-queries.js +562 -0
  46. package/lib/scrapers/one-zero.d.ts +36 -0
  47. package/lib/scrapers/one-zero.js +304 -0
  48. package/lib/scrapers/one-zero.test.d.ts +1 -0
  49. package/lib/scrapers/one-zero.test.js +67 -0
  50. package/lib/scrapers/otsar-hahayal.d.ts +6 -3
  51. package/lib/scrapers/otsar-hahayal.js +1 -1
  52. package/lib/scrapers/union-bank.d.ts +6 -3
  53. package/lib/scrapers/union-bank.js +1 -1
  54. package/lib/scrapers/visa-cal.d.ts +103 -15
  55. package/lib/scrapers/visa-cal.js +154 -265
  56. package/lib/scrapers/yahav.d.ts +7 -3
  57. package/lib/scrapers/yahav.js +1 -1
  58. package/package.json +2 -2
@@ -205,4 +205,4 @@ class HapoalimScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
205
205
 
206
206
  var _default = HapoalimScraper;
207
207
  exports.default = _default;
208
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9oYXBvYWxpbS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJ0eG4iLCJpc091dGJvdW5kIiwiZXZlbnRBY3Rpdml0eVR5cGVDb2RlIiwibWVtbyIsImJlbmVmaWNpYXJ5RGV0YWlsc0RhdGEiLCJwYXJ0eUhlYWRsaW5lIiwicGFydHlOYW1lIiwibWVzc2FnZUhlYWRsaW5lIiwibWVzc2FnZURldGFpbCIsIm1lbW9MaW5lcyIsInB1c2giLCJsZW5ndGgiLCJqb2luIiwicmVzdWx0IiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwicmVmZXJlbmNlTnVtYmVyIiwiZGF0ZSIsImV2ZW50RGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsInZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiZXZlbnRBbW91bnQiLCJvcmlnaW5hbEN1cnJlbmN5IiwiY2hhcmdlZEFtb3VudCIsImRlc2NyaXB0aW9uIiwiYWN0aXZpdHlEZXNjcmlwdGlvbiIsInN0YXR1cyIsInNlcmlhbE51bWJlciIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiQ29tcGxldGVkIiwiZ2V0UmVzdENvbnRleHQiLCJwYWdlIiwiZXZhbHVhdGUiLCJ3aW5kb3ciLCJibmhwQXBwIiwicmVzdENvbnRleHQiLCJzbGljZSIsImZldGNoUG9hbGltWFNSRldpdGhpblBhZ2UiLCJ1cmwiLCJwYWdlVXVpZCIsImNvb2tpZXMiLCJYU1JGQ29va2llIiwiZmluZCIsImNvb2tpZSIsIm5hbWUiLCJoZWFkZXJzIiwidmFsdWUiLCJ1dWlkIiwiZ2V0QWNjb3VudFRyYW5zYWN0aW9ucyIsImFwaVNpdGVVcmwiLCJhY2NvdW50TnVtYmVyIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInR4bnNVcmwiLCJ0eG5zUmVzdWx0IiwidHJhbnNhY3Rpb25zIiwiZ2V0QWNjb3VudEJhbGFuY2UiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXRVcmwiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXQiLCJjdXJyZW50QmFsYW5jZSIsImZldGNoQWNjb3VudERhdGEiLCJiYXNlVXJsIiwib3B0aW9ucyIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudHNJbmZvIiwiZGVmYXVsdFN0YXJ0TW9tZW50Iiwic3VidHJhY3QiLCJhZGQiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1vbWVudCIsIm1heCIsInN0YXJ0RGF0ZVN0ciIsImZvcm1hdCIsImVuZERhdGVTdHIiLCJhY2NvdW50cyIsImFjY291bnQiLCJiYWxhbmNlIiwiYmFua051bWJlciIsImJyYW5jaE51bWJlciIsImlzQWN0aXZlQWNjb3VudCIsImFjY291bnRDbG9zaW5nUmVhc29uQ29kZSIsImFjY291bnREYXRhIiwic3VjY2VzcyIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInVzZXJDb2RlIiwicGFzc3dvcmQiLCJIYXBvYWxpbVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7Ozs7QUFFQSxNQUFNQSxLQUFLLEdBQUcscUJBQVMsVUFBVCxDQUFkO0FBRUEsTUFBTUMsV0FBVyxHQUFHLFVBQXBCLEMsQ0FFQTs7QUE2Q0EsU0FBU0MsbUJBQVQsQ0FBNkJDLElBQTdCLEVBQXdFO0FB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XG5pbXBvcnQgdXVpZDQgZnJvbSAndXVpZC92NCc7XG5cbmltcG9ydCB7IFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWl0Rm9yUmVkaXJlY3QgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgd2FpdFVudGlsIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSwgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb25zQWNjb3VudCwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBTY3JhcGVyT3B0aW9ucywgU2NyYXBlckNyZWRlbnRpYWxzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuaW1wb3J0IHsgZ2V0RGVidWcgfSBmcm9tICcuLi9oZWxwZXJzL2RlYnVnJztcblxuY29uc3QgZGVidWcgPSBnZXREZWJ1ZygnaGFwb2FsaW0nKTtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnWVlZWU1NREQnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZVxuZGVjbGFyZSBuYW1lc3BhY2Ugd2luZG93IHtcbiAgY29uc3QgYm5ocEFwcDogYW55O1xufVxuXG5pbnRlcmZhY2UgU2NyYXBlZFRyYW5zYWN0aW9uIHtcbiAgc2VyaWFsTnVtYmVyPzogbnVtYmVyO1xuICBhY3Rpdml0eURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBldmVudEFtb3VudDogbnVtYmVyO1xuICB2YWx1ZURhdGU/OiBzdHJpbmc7XG4gIGV2ZW50RGF0ZT86IHN0cmluZztcbiAgcmVmZXJlbmNlTnVtYmVyPzogbnVtYmVyO1xuICBTY3JhcGVkVHJhbnNhY3Rpb24/OiBzdHJpbmc7XG4gIGV2ZW50QWN0aXZpdHlUeXBlQ29kZTogbnVtYmVyO1xuICBjdXJyZW50QmFsYW5jZTogbnVtYmVyO1xuICBiZW5lZmljaWFyeURldGFpbHNEYXRhPzoge1xuICAgIHBhcnR5SGVhZGxpbmU/OiBzdHJpbmc7XG4gICAgcGFydHlOYW1lPzogc3RyaW5nO1xuICAgIG1lc3NhZ2VIZWFkbGluZT86IHN0cmluZztcbiAgICBtZXNzYWdlRGV0YWlsPzogc3RyaW5nO1xuICB9O1xufVxuXG50eXBlIEZldGNoZWRBY2NvdW50RGF0YSA9IHtcbiAgYmFua051bWJlcjogc3RyaW5nO1xuICBhY2NvdW50TnVtYmVyOiBzdHJpbmc7XG4gIGJyYW5jaE51bWJlcjogc3RyaW5nO1xuICBhY2NvdW50Q2xvc2luZ1JlYXNvbkNvZGU6IG51bWJlcjtcbn1bXTtcblxudHlwZSBGZXRjaGVkQWNjb3VudFRyYW5zYWN0aW9uc0RhdGEgPSB7XG4gIHRyYW5zYWN0aW9uczogU2NyYXBlZFRyYW5zYWN0aW9uW107XG59O1xuXG50eXBlIEJhbGFuY2VBbmRDcmVkaXRMaW1pdCA9IHtcbiAgY3JlZGl0TGltaXRBbW91bnQ6IG51bWJlcjtcbiAgY3JlZGl0TGltaXREZXNjcmlwdGlvbjogc3RyaW5nO1xuICBjcmVkaXRMaW1pdFV0aWxpemF0aW9uQW1vdW50OiBudW1iZXI7XG4gIGNyZWRpdExpbWl0VXRpbGl6YXRpb25FeGlzdGFuY2VDb2RlOiBudW1iZXI7XG4gIGNyZWRpdExpbWl0VXRpbGl6YXRpb25QZXJjZW50OiBudW1iZXI7XG4gIGN1cnJlbnRBY2NvdW50TGltaXRzQW1vdW50OiBudW1iZXI7XG4gIGN1cnJlbnRCYWxhbmNlOiBudW1iZXI7XG4gIHdpdGhkcmF3YWxCYWxhbmNlOiBudW1iZXI7XG59O1xuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSB7XG4gIHJldHVybiB0eG5zLm1hcCgodHhuKSA9PiB7XG4gICAgY29uc3QgaXNPdXRib3VuZCA9IHR4bi5ldmVudEFjdGl2aXR5VHlwZUNvZGUgPT09IDI7XG5cbiAgICBsZXQgbWVtbyA9ICcnO1xuICAgIGlmICh0eG4uYmVuZWZpY2lhcnlEZXRhaWxzRGF0YSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBwYXJ0eUhlYWRsaW5lLFxuICAgICAgICBwYXJ0eU5hbWUsXG4gICAgICAgIG1lc3NhZ2VIZWFkbGluZSxcbiAgICAgICAgbWVzc2FnZURldGFpbCxcbiAgICAgIH0gPSB0eG4uYmVuZWZpY2lhcnlEZXRhaWxzRGF0YTtcbiAgICAgIGNvbnN0IG1lbW9MaW5lczogc3RyaW5nW10gPSBbXTtcbiAgICAgIGlmIChwYXJ0eUhlYWRsaW5lKSB7XG4gICAgICAgIG1lbW9MaW5lcy5wdXNoKHBhcnR5SGVhZGxpbmUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocGFydHlOYW1lKSB7XG4gICAgICAgIG1lbW9MaW5lcy5wdXNoKGAke3BhcnR5TmFtZX0uYCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXNzYWdlSGVhZGxpbmUpIHtcbiAgICAgICAgbWVtb0xpbmVzLnB1c2gobWVzc2FnZUhlYWRsaW5lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lc3NhZ2VEZXRhaWwpIHtcbiAgICAgICAgbWVtb0xpbmVzLnB1c2goYCR7bWVzc2FnZURldGFpbH0uYCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZW1vTGluZXMubGVuZ3RoKSB7XG4gICAgICAgIG1lbW8gPSBtZW1vTGluZXMuam9pbignICcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb24gPSB7XG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGlkZW50aWZpZXI6IHR4bi5yZWZlcmVuY2VOdW1iZXIsXG4gICAgICBkYXRlOiBtb21lbnQodHhuLmV2ZW50RGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBwcm9jZXNzZWREYXRlOiBtb21lbnQodHhuLnZhbHVlRGF0ZSwgREFURV9GT1JNQVQpLnRvSVNPU3RyaW5nKCksXG4gICAgICBvcmlnaW5hbEFtb3VudDogaXNPdXRib3VuZCA/IC10eG4uZXZlbnRBbW91bnQgOiB0eG4uZXZlbnRBbW91bnQsXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiAnSUxTJyxcbiAgICAgIGNoYXJnZWRBbW91bnQ6IGlzT3V0Ym91bmQgPyAtdHhuLmV2ZW50QW1vdW50IDogdHhuLmV2ZW50QW1vdW50LFxuICAgICAgZGVzY3JpcHRpb246IHR4bi5hY3Rpdml0eURlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgc3RhdHVzOiB0eG4uc2VyaWFsTnVtYmVyID09PSAwID8gVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nIDogVHJhbnNhY3Rpb25TdGF0dXNlcy5Db21wbGV0ZWQsXG4gICAgICBtZW1vLFxuICAgIH07XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0UmVzdENvbnRleHQocGFnZTogUGFnZSkge1xuICBhd2FpdCB3YWl0VW50aWwoKCkgPT4ge1xuICAgIHJldHVybiBwYWdlLmV2YWx1YXRlKCgpID0+ICEhd2luZG93LmJuaHBBcHApO1xuICB9LCAnd2FpdGluZyBmb3IgYXBwIGRhdGEgbG9hZCcpO1xuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4ge1xuICAgIHJldHVybiB3aW5kb3cuYm5ocEFwcC5yZXN0Q29udGV4dDtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdC5zbGljZSgxKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hQb2FsaW1YU1JGV2l0aGluUGFnZShwYWdlOiBQYWdlLCB1cmw6IHN0cmluZywgcGFnZVV1aWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hlZEFjY291bnRUcmFuc2FjdGlvbnNEYXRhIHwgbnVsbD4ge1xuICBjb25zdCBjb29raWVzID0gYXdhaXQgcGFnZS5jb29raWVzKCk7XG4gIGNvbnN0IFhTUkZDb29raWUgPSBjb29raWVzLmZpbmQoKGNvb2tpZSkgPT4gY29va2llLm5hbWUgPT09ICdYU1JGLVRPS0VOJyk7XG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgaWYgKFhTUkZDb29raWUgIT0gbnVsbCkge1xuICAgIGhlYWRlcnNbJ1gtWFNSRi1UT0tFTiddID0gWFNSRkNvb2tpZS52YWx1ZTtcbiAgfVxuICBoZWFkZXJzLnBhZ2VVdWlkID0gcGFnZVV1aWQ7XG4gIGhlYWRlcnMudXVpZCA9IHV1aWQ0KCk7XG4gIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD1VVEYtOCc7XG4gIHJldHVybiBmZXRjaFBvc3RXaXRoaW5QYWdlPEZldGNoZWRBY2NvdW50VHJhbnNhY3Rpb25zRGF0YT4ocGFnZSwgdXJsLCBbXSwgaGVhZGVycyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFjY291bnRUcmFuc2FjdGlvbnMoYXBpU2l0ZVVybDogc3RyaW5nLCBwYWdlOiBQYWdlLCBhY2NvdW50TnVtYmVyOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcpIHtcbiAgY29uc3QgdHhuc1VybCA9IGAke2FwaVNpdGVVcmx9L2N1cnJlbnQtYWNjb3VudC90cmFuc2FjdGlvbnM/YWNjb3VudElkPSR7YWNjb3VudE51bWJlcn0mbnVtSXRlbXNQZXJQYWdlPTEwMDAmcmV0cmlldmFsRW5kRGF0ZT0ke2VuZERhdGV9JnJldHJpZXZhbFN0YXJ0RGF0ZT0ke3N0YXJ0RGF0ZX0mc29ydENvZGU9MWA7XG4gIGNvbnN0IHR4bnNSZXN1bHQgPSBhd2FpdCBmZXRjaFBvYWxpbVhTUkZXaXRoaW5QYWdlKHBhZ2UsIHR4bnNVcmwsICcvY3VycmVudC1hY2NvdW50L3RyYW5zYWN0aW9ucycpO1xuXG4gIHJldHVybiBjb252ZXJ0VHJhbnNhY3Rpb25zKHR4bnNSZXN1bHQ/LnRyYW5zYWN0aW9ucyA/PyBbXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEFjY291bnRCYWxhbmNlKGFwaVNpdGVVcmw6IHN0cmluZywgcGFnZTogUGFnZSwgYWNjb3VudE51bWJlcjogc3RyaW5nKSB7XG4gIGNvbnN0IGJhbGFuY2VBbmRDcmVkaXRMaW1pdFVybCA9IGAke2FwaVNpdGVVcmx9L2N1cnJlbnQtYWNjb3VudC9jb21wb3NpdGUvYmFsYW5jZUFuZENyZWRpdExpbWl0P2FjY291bnRJZD0ke2FjY291bnROdW1iZXJ9JnZpZXc9ZGV0YWlscyZsYW5nPWhlYDtcbiAgY29uc3QgYmFsYW5jZUFuZENyZWRpdExpbWl0ID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPEJhbGFuY2VBbmRDcmVkaXRMaW1pdD4ocGFnZSwgYmFsYW5jZUFuZENyZWRpdExpbWl0VXJsKTtcblxuICByZXR1cm4gYmFsYW5jZUFuZENyZWRpdExpbWl0Py5jdXJyZW50QmFsYW5jZTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZmV0Y2hBY2NvdW50RGF0YShwYWdlOiBQYWdlLCBiYXNlVXJsOiBzdHJpbmcsIG9wdGlvbnM6IFNjcmFwZXJPcHRpb25zKSB7XG4gIGNvbnN0IHJlc3RDb250ZXh0ID0gYXdhaXQgZ2V0UmVzdENvbnRleHQocGFnZSk7XG4gIGNvbnN0IGFwaVNpdGVVcmwgPSBgJHtiYXNlVXJsfS8ke3Jlc3RDb250ZXh0fWA7XG4gIGNvbnN0IGFjY291bnREYXRhVXJsID0gYCR7YmFzZVVybH0vU2VydmVyU2VydmljZXMvZ2VuZXJhbC9hY2NvdW50c2A7XG5cbiAgZGVidWcoJ2ZldGNoaW5nIGFjY291bnRzIGRhdGEnKTtcbiAgY29uc3QgYWNjb3VudHNJbmZvID0gYXdhaXQgZmV0Y2hHZXRXaXRoaW5QYWdlPEZldGNoZWRBY2NvdW50RGF0YT4ocGFnZSwgYWNjb3VudERhdGFVcmwpIHx8IFtdO1xuICBkZWJ1ZygnZ290ICVkIGFjY291bnRzLCBmZXRjaGluZyB0eG5zIGFuZCBiYWxhbmNlJywgYWNjb3VudHNJbmZvLmxlbmd0aCk7XG5cbiAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgY29uc3Qgc3RhcnREYXRlID0gb3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgoZGVmYXVsdFN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgY29uc3Qgc3RhcnREYXRlU3RyID0gc3RhcnRNb21lbnQuZm9ybWF0KERBVEVfRk9STUFUKTtcbiAgY29uc3QgZW5kRGF0ZVN0ciA9IG1vbWVudCgpLmZvcm1hdChEQVRFX0ZPUk1BVCk7XG5cbiAgY29uc3QgYWNjb3VudHM6IFRyYW5zYWN0aW9uc0FjY291bnRbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgYWNjb3VudCBvZiBhY2NvdW50c0luZm8pIHtcbiAgICBsZXQgYmFsYW5jZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGFjY291bnROdW1iZXIgPSBgJHthY2NvdW50LmJhbmtOdW1iZXJ9LSR7YWNjb3VudC5icmFuY2hOdW1iZXJ9LSR7YWNjb3VudC5hY2NvdW50TnVtYmVyfWA7XG5cbiAgICBjb25zdCBpc0FjdGl2ZUFjY291bnQgPSBhY2NvdW50LmFjY291bnRDbG9zaW5nUmVhc29uQ29kZSA9PT0gMDtcbiAgICBpZiAoaXNBY3RpdmVBY2NvdW50KSB7XG4gICAgICBiYWxhbmNlID0gYXdhaXQgZ2V0QWNjb3VudEJhbGFuY2UoYXBpU2l0ZVVybCwgcGFnZSwgYWNjb3VudE51bWJlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRlYnVnKCdTa2lwcGluZyBiYWxhbmNlIGZvciBhIGNsb3NlZCBhY2NvdW50LCBiYWxhbmNlIHdpbGwgYmUgdW5kZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdHhucyA9IGF3YWl0IGdldEFjY291bnRUcmFuc2FjdGlvbnMoYXBpU2l0ZVVybCwgcGFnZSwgYWNjb3VudE51bWJlciwgc3RhcnREYXRlU3RyLCBlbmREYXRlU3RyKTtcblxuICAgIGFjY291bnRzLnB1c2goe1xuICAgICAgYWNjb3VudE51bWJlcixcbiAgICAgIGJhbGFuY2UsXG4gICAgICB0eG5zLFxuICAgIH0pO1xuICB9XG5cbiAgY29uc3QgYWNjb3VudERhdGEgPSB7XG4gICAgc3VjY2VzczogdHJ1ZSxcbiAgICBhY2NvdW50cyxcbiAgfTtcbiAgZGVidWcoJ2ZldGNoaW5nIGVuZGVkJyk7XG4gIHJldHVybiBhY2NvdW50RGF0YTtcbn1cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoYmFzZVVybDogc3RyaW5nKSB7XG4gIGNvbnN0IHVybHM6IFBvc3NpYmxlTG9naW5SZXN1bHRzID0ge307XG4gIHVybHNbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdID0gW1xuICAgIGAke2Jhc2VVcmx9L3BvcnRhbHNlcnZlci9Ib21lUGFnZWAsXG4gICAgYCR7YmFzZVVybH0vbmctcG9ydGFscy1idC9yYi9oZS9ob21lcGFnZWAsXG4gICAgYCR7YmFzZVVybH0vbmctcG9ydGFscy9yYi9oZS9ob21lcGFnZWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdID0gW2Ake2Jhc2VVcmx9L0FVVEhFTlRJQ0FURS9MT0dPTj9mbG93PUFVVEhFTlRJQ0FURSZzdGF0ZT1MT0dPTiZlcnJvcmNvZGU9MS42JmNhbGxtZT1mYWxzZWBdO1xuICB1cmxzW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF0gPSBbXG4gICAgYCR7YmFzZVVybH0vTUNQL1NUQVJUP2Zsb3c9TUNQJnN0YXRlPVNUQVJUJmV4cGlyZWREYXRlPW51bGxgLFxuICAgIC9cXC9BQk9VVFRPRVhQSVJFXFwvU1RBUlQvaSxcbiAgXTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3VzZXJDb2RlJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJDb2RlIH0sXG4gICAgeyBzZWxlY3RvcjogJyNwYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5jbGFzcyBIYXBvYWxpbVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgZ2V0IGJhc2VVcmwoKSB7XG4gICAgcmV0dXJuICdodHRwczovL2xvZ2luLmJhbmtoYXBvYWxpbS5jby5pbCc7XG4gIH1cblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogYCR7dGhpcy5iYXNlVXJsfS9jZ2ktYmluL3BvYWx3d3djP3JlcU5hbWU9Z2V0TG9nb25QYWdlYCxcbiAgICAgIGZpZWxkczogY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHMpLFxuICAgICAgc3VibWl0QnV0dG9uU2VsZWN0b3I6ICcubG9naW4tYnRuJyxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHdhaXRGb3JSZWRpcmVjdCh0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyh0aGlzLmJhc2VVcmwpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKSB7XG4gICAgcmV0dXJuIGZldGNoQWNjb3VudERhdGEodGhpcy5wYWdlLCB0aGlzLmJhc2VVcmwsIHRoaXMub3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgSGFwb2FsaW1TY3JhcGVyO1xuIl19
208
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9oYXBvYWxpbS50cyJdLCJuYW1lcyI6WyJkZWJ1ZyIsIkRBVEVfRk9STUFUIiwiY29udmVydFRyYW5zYWN0aW9ucyIsInR4bnMiLCJtYXAiLCJ0eG4iLCJpc091dGJvdW5kIiwiZXZlbnRBY3Rpdml0eVR5cGVDb2RlIiwibWVtbyIsImJlbmVmaWNpYXJ5RGV0YWlsc0RhdGEiLCJwYXJ0eUhlYWRsaW5lIiwicGFydHlOYW1lIiwibWVzc2FnZUhlYWRsaW5lIiwibWVzc2FnZURldGFpbCIsIm1lbW9MaW5lcyIsInB1c2giLCJsZW5ndGgiLCJqb2luIiwicmVzdWx0IiwidHlwZSIsIlRyYW5zYWN0aW9uVHlwZXMiLCJOb3JtYWwiLCJpZGVudGlmaWVyIiwicmVmZXJlbmNlTnVtYmVyIiwiZGF0ZSIsImV2ZW50RGF0ZSIsInRvSVNPU3RyaW5nIiwicHJvY2Vzc2VkRGF0ZSIsInZhbHVlRGF0ZSIsIm9yaWdpbmFsQW1vdW50IiwiZXZlbnRBbW91bnQiLCJvcmlnaW5hbEN1cnJlbmN5IiwiY2hhcmdlZEFtb3VudCIsImRlc2NyaXB0aW9uIiwiYWN0aXZpdHlEZXNjcmlwdGlvbiIsInN0YXR1cyIsInNlcmlhbE51bWJlciIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiQ29tcGxldGVkIiwiZ2V0UmVzdENvbnRleHQiLCJwYWdlIiwiZXZhbHVhdGUiLCJ3aW5kb3ciLCJibmhwQXBwIiwicmVzdENvbnRleHQiLCJzbGljZSIsImZldGNoUG9hbGltWFNSRldpdGhpblBhZ2UiLCJ1cmwiLCJwYWdlVXVpZCIsImNvb2tpZXMiLCJYU1JGQ29va2llIiwiZmluZCIsImNvb2tpZSIsIm5hbWUiLCJoZWFkZXJzIiwidmFsdWUiLCJ1dWlkIiwiZ2V0QWNjb3VudFRyYW5zYWN0aW9ucyIsImFwaVNpdGVVcmwiLCJhY2NvdW50TnVtYmVyIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInR4bnNVcmwiLCJ0eG5zUmVzdWx0IiwidHJhbnNhY3Rpb25zIiwiZ2V0QWNjb3VudEJhbGFuY2UiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXRVcmwiLCJiYWxhbmNlQW5kQ3JlZGl0TGltaXQiLCJjdXJyZW50QmFsYW5jZSIsImZldGNoQWNjb3VudERhdGEiLCJiYXNlVXJsIiwib3B0aW9ucyIsImFjY291bnREYXRhVXJsIiwiYWNjb3VudHNJbmZvIiwiZGVmYXVsdFN0YXJ0TW9tZW50Iiwic3VidHJhY3QiLCJhZGQiLCJ0b0RhdGUiLCJzdGFydE1vbWVudCIsIm1vbWVudCIsIm1heCIsInN0YXJ0RGF0ZVN0ciIsImZvcm1hdCIsImVuZERhdGVTdHIiLCJhY2NvdW50cyIsImFjY291bnQiLCJiYWxhbmNlIiwiYmFua051bWJlciIsImJyYW5jaE51bWJlciIsImlzQWN0aXZlQWNjb3VudCIsImFjY291bnRDbG9zaW5nUmVhc29uQ29kZSIsImFjY291bnREYXRhIiwic3VjY2VzcyIsImdldFBvc3NpYmxlTG9naW5SZXN1bHRzIiwidXJscyIsIkxvZ2luUmVzdWx0cyIsIlN1Y2Nlc3MiLCJJbnZhbGlkUGFzc3dvcmQiLCJDaGFuZ2VQYXNzd29yZCIsImNyZWF0ZUxvZ2luRmllbGRzIiwiY3JlZGVudGlhbHMiLCJzZWxlY3RvciIsInVzZXJDb2RlIiwicGFzc3dvcmQiLCJIYXBvYWxpbVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsInBvc3RBY3Rpb24iLCJwb3NzaWJsZVJlc3VsdHMiLCJmZXRjaERhdGEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7Ozs7QUFHQSxNQUFNQSxLQUFLLEdBQUcscUJBQVMsVUFBVCxDQUFkO0FBRUEsTUFBTUMsV0FBVyxHQUFHLFVBQXBCLEMsQ0FFQTs7QUE2Q0EsU0FBU0MsbUJBQVQsQ0FBNkJDLElBQTdCLEVBQXdFO0FB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XG5pbXBvcnQgdXVpZDQgZnJvbSAndXVpZC92NCc7XG5cbmltcG9ydCB7IFBhZ2UgfSBmcm9tICdwdXBwZXRlZXInO1xuaW1wb3J0IHsgQmFzZVNjcmFwZXJXaXRoQnJvd3NlciwgTG9naW5SZXN1bHRzLCBQb3NzaWJsZUxvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5pbXBvcnQgeyB3YWl0Rm9yUmVkaXJlY3QgfSBmcm9tICcuLi9oZWxwZXJzL25hdmlnYXRpb24nO1xuaW1wb3J0IHsgd2FpdFVudGlsIH0gZnJvbSAnLi4vaGVscGVycy93YWl0aW5nJztcbmltcG9ydCB7IGZldGNoR2V0V2l0aGluUGFnZSwgZmV0Y2hQb3N0V2l0aGluUGFnZSB9IGZyb20gJy4uL2hlbHBlcnMvZmV0Y2gnO1xuaW1wb3J0IHtcbiAgVHJhbnNhY3Rpb25zQWNjb3VudCwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU3RhdHVzZXMsIFRyYW5zYWN0aW9uVHlwZXMsXG59IGZyb20gJy4uL3RyYW5zYWN0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWJ1ZyB9IGZyb20gJy4uL2hlbHBlcnMvZGVidWcnO1xuaW1wb3J0IHsgU2NyYXBlck9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmNvbnN0IGRlYnVnID0gZ2V0RGVidWcoJ2hhcG9hbGltJyk7XG5cbmNvbnN0IERBVEVfRk9STUFUID0gJ1lZWVlNTUREJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2VcbmRlY2xhcmUgbmFtZXNwYWNlIHdpbmRvdyB7XG4gIGNvbnN0IGJuaHBBcHA6IGFueTtcbn1cblxuaW50ZXJmYWNlIFNjcmFwZWRUcmFuc2FjdGlvbiB7XG4gIHNlcmlhbE51bWJlcj86IG51bWJlcjtcbiAgYWN0aXZpdHlEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZXZlbnRBbW91bnQ6IG51bWJlcjtcbiAgdmFsdWVEYXRlPzogc3RyaW5nO1xuICBldmVudERhdGU/OiBzdHJpbmc7XG4gIHJlZmVyZW5jZU51bWJlcj86IG51bWJlcjtcbiAgU2NyYXBlZFRyYW5zYWN0aW9uPzogc3RyaW5nO1xuICBldmVudEFjdGl2aXR5VHlwZUNvZGU6IG51bWJlcjtcbiAgY3VycmVudEJhbGFuY2U6IG51bWJlcjtcbiAgYmVuZWZpY2lhcnlEZXRhaWxzRGF0YT86IHtcbiAgICBwYXJ0eUhlYWRsaW5lPzogc3RyaW5nO1xuICAgIHBhcnR5TmFtZT86IHN0cmluZztcbiAgICBtZXNzYWdlSGVhZGxpbmU/OiBzdHJpbmc7XG4gICAgbWVzc2FnZURldGFpbD86IHN0cmluZztcbiAgfTtcbn1cblxudHlwZSBGZXRjaGVkQWNjb3VudERhdGEgPSB7XG4gIGJhbmtOdW1iZXI6IHN0cmluZztcbiAgYWNjb3VudE51bWJlcjogc3RyaW5nO1xuICBicmFuY2hOdW1iZXI6IHN0cmluZztcbiAgYWNjb3VudENsb3NpbmdSZWFzb25Db2RlOiBudW1iZXI7XG59W107XG5cbnR5cGUgRmV0Y2hlZEFjY291bnRUcmFuc2FjdGlvbnNEYXRhID0ge1xuICB0cmFuc2FjdGlvbnM6IFNjcmFwZWRUcmFuc2FjdGlvbltdO1xufTtcblxudHlwZSBCYWxhbmNlQW5kQ3JlZGl0TGltaXQgPSB7XG4gIGNyZWRpdExpbWl0QW1vdW50OiBudW1iZXI7XG4gIGNyZWRpdExpbWl0RGVzY3JpcHRpb246IHN0cmluZztcbiAgY3JlZGl0TGltaXRVdGlsaXphdGlvbkFtb3VudDogbnVtYmVyO1xuICBjcmVkaXRMaW1pdFV0aWxpemF0aW9uRXhpc3RhbmNlQ29kZTogbnVtYmVyO1xuICBjcmVkaXRMaW1pdFV0aWxpemF0aW9uUGVyY2VudDogbnVtYmVyO1xuICBjdXJyZW50QWNjb3VudExpbWl0c0Ftb3VudDogbnVtYmVyO1xuICBjdXJyZW50QmFsYW5jZTogbnVtYmVyO1xuICB3aXRoZHJhd2FsQmFsYW5jZTogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zOiBTY3JhcGVkVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10ge1xuICByZXR1cm4gdHhucy5tYXAoKHR4bikgPT4ge1xuICAgIGNvbnN0IGlzT3V0Ym91bmQgPSB0eG4uZXZlbnRBY3Rpdml0eVR5cGVDb2RlID09PSAyO1xuXG4gICAgbGV0IG1lbW8gPSAnJztcbiAgICBpZiAodHhuLmJlbmVmaWNpYXJ5RGV0YWlsc0RhdGEpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFydHlIZWFkbGluZSxcbiAgICAgICAgcGFydHlOYW1lLFxuICAgICAgICBtZXNzYWdlSGVhZGxpbmUsXG4gICAgICAgIG1lc3NhZ2VEZXRhaWwsXG4gICAgICB9ID0gdHhuLmJlbmVmaWNpYXJ5RGV0YWlsc0RhdGE7XG4gICAgICBjb25zdCBtZW1vTGluZXM6IHN0cmluZ1tdID0gW107XG4gICAgICBpZiAocGFydHlIZWFkbGluZSkge1xuICAgICAgICBtZW1vTGluZXMucHVzaChwYXJ0eUhlYWRsaW5lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcnR5TmFtZSkge1xuICAgICAgICBtZW1vTGluZXMucHVzaChgJHtwYXJ0eU5hbWV9LmApO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVzc2FnZUhlYWRsaW5lKSB7XG4gICAgICAgIG1lbW9MaW5lcy5wdXNoKG1lc3NhZ2VIZWFkbGluZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXNzYWdlRGV0YWlsKSB7XG4gICAgICAgIG1lbW9MaW5lcy5wdXNoKGAke21lc3NhZ2VEZXRhaWx9LmApO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVtb0xpbmVzLmxlbmd0aCkge1xuICAgICAgICBtZW1vID0gbWVtb0xpbmVzLmpvaW4oJyAnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQ6IFRyYW5zYWN0aW9uID0ge1xuICAgICAgdHlwZTogVHJhbnNhY3Rpb25UeXBlcy5Ob3JtYWwsXG4gICAgICBpZGVudGlmaWVyOiB0eG4ucmVmZXJlbmNlTnVtYmVyLFxuICAgICAgZGF0ZTogbW9tZW50KHR4bi5ldmVudERhdGUsIERBVEVfRk9STUFUKS50b0lTT1N0cmluZygpLFxuICAgICAgcHJvY2Vzc2VkRGF0ZTogbW9tZW50KHR4bi52YWx1ZURhdGUsIERBVEVfRk9STUFUKS50b0lTT1N0cmluZygpLFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IGlzT3V0Ym91bmQgPyAtdHhuLmV2ZW50QW1vdW50IDogdHhuLmV2ZW50QW1vdW50LFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogJ0lMUycsXG4gICAgICBjaGFyZ2VkQW1vdW50OiBpc091dGJvdW5kID8gLXR4bi5ldmVudEFtb3VudCA6IHR4bi5ldmVudEFtb3VudCxcbiAgICAgIGRlc2NyaXB0aW9uOiB0eG4uYWN0aXZpdHlEZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHN0YXR1czogdHhuLnNlcmlhbE51bWJlciA9PT0gMCA/IFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyA6IFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkLFxuICAgICAgbWVtbyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFJlc3RDb250ZXh0KHBhZ2U6IFBhZ2UpIHtcbiAgYXdhaXQgd2FpdFVudGlsKCgpID0+IHtcbiAgICByZXR1cm4gcGFnZS5ldmFsdWF0ZSgoKSA9PiAhIXdpbmRvdy5ibmhwQXBwKTtcbiAgfSwgJ3dhaXRpbmcgZm9yIGFwcCBkYXRhIGxvYWQnKTtcblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IHtcbiAgICByZXR1cm4gd2luZG93LmJuaHBBcHAucmVzdENvbnRleHQ7XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQuc2xpY2UoMSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoUG9hbGltWFNSRldpdGhpblBhZ2UocGFnZTogUGFnZSwgdXJsOiBzdHJpbmcsIHBhZ2VVdWlkOiBzdHJpbmcpOiBQcm9taXNlPEZldGNoZWRBY2NvdW50VHJhbnNhY3Rpb25zRGF0YSB8IG51bGw+IHtcbiAgY29uc3QgY29va2llcyA9IGF3YWl0IHBhZ2UuY29va2llcygpO1xuICBjb25zdCBYU1JGQ29va2llID0gY29va2llcy5maW5kKChjb29raWUpID0+IGNvb2tpZS5uYW1lID09PSAnWFNSRi1UT0tFTicpO1xuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gIGlmIChYU1JGQ29va2llICE9IG51bGwpIHtcbiAgICBoZWFkZXJzWydYLVhTUkYtVE9LRU4nXSA9IFhTUkZDb29raWUudmFsdWU7XG4gIH1cbiAgaGVhZGVycy5wYWdlVXVpZCA9IHBhZ2VVdWlkO1xuICBoZWFkZXJzLnV1aWQgPSB1dWlkNCgpO1xuICBoZWFkZXJzWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9VVRGLTgnO1xuICByZXR1cm4gZmV0Y2hQb3N0V2l0aGluUGFnZTxGZXRjaGVkQWNjb3VudFRyYW5zYWN0aW9uc0RhdGE+KHBhZ2UsIHVybCwgW10sIGhlYWRlcnMpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBY2NvdW50VHJhbnNhY3Rpb25zKGFwaVNpdGVVcmw6IHN0cmluZywgcGFnZTogUGFnZSwgYWNjb3VudE51bWJlcjogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nKSB7XG4gIGNvbnN0IHR4bnNVcmwgPSBgJHthcGlTaXRlVXJsfS9jdXJyZW50LWFjY291bnQvdHJhbnNhY3Rpb25zP2FjY291bnRJZD0ke2FjY291bnROdW1iZXJ9Jm51bUl0ZW1zUGVyUGFnZT0xMDAwJnJldHJpZXZhbEVuZERhdGU9JHtlbmREYXRlfSZyZXRyaWV2YWxTdGFydERhdGU9JHtzdGFydERhdGV9JnNvcnRDb2RlPTFgO1xuICBjb25zdCB0eG5zUmVzdWx0ID0gYXdhaXQgZmV0Y2hQb2FsaW1YU1JGV2l0aGluUGFnZShwYWdlLCB0eG5zVXJsLCAnL2N1cnJlbnQtYWNjb3VudC90cmFuc2FjdGlvbnMnKTtcblxuICByZXR1cm4gY29udmVydFRyYW5zYWN0aW9ucyh0eG5zUmVzdWx0Py50cmFuc2FjdGlvbnMgPz8gW10pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRBY2NvdW50QmFsYW5jZShhcGlTaXRlVXJsOiBzdHJpbmcsIHBhZ2U6IFBhZ2UsIGFjY291bnROdW1iZXI6IHN0cmluZykge1xuICBjb25zdCBiYWxhbmNlQW5kQ3JlZGl0TGltaXRVcmwgPSBgJHthcGlTaXRlVXJsfS9jdXJyZW50LWFjY291bnQvY29tcG9zaXRlL2JhbGFuY2VBbmRDcmVkaXRMaW1pdD9hY2NvdW50SWQ9JHthY2NvdW50TnVtYmVyfSZ2aWV3PWRldGFpbHMmbGFuZz1oZWA7XG4gIGNvbnN0IGJhbGFuY2VBbmRDcmVkaXRMaW1pdCA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxCYWxhbmNlQW5kQ3JlZGl0TGltaXQ+KHBhZ2UsIGJhbGFuY2VBbmRDcmVkaXRMaW1pdFVybCk7XG5cbiAgcmV0dXJuIGJhbGFuY2VBbmRDcmVkaXRMaW1pdD8uY3VycmVudEJhbGFuY2U7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoQWNjb3VudERhdGEocGFnZTogUGFnZSwgYmFzZVVybDogc3RyaW5nLCBvcHRpb25zOiBTY3JhcGVyT3B0aW9ucykge1xuICBjb25zdCByZXN0Q29udGV4dCA9IGF3YWl0IGdldFJlc3RDb250ZXh0KHBhZ2UpO1xuICBjb25zdCBhcGlTaXRlVXJsID0gYCR7YmFzZVVybH0vJHtyZXN0Q29udGV4dH1gO1xuICBjb25zdCBhY2NvdW50RGF0YVVybCA9IGAke2Jhc2VVcmx9L1NlcnZlclNlcnZpY2VzL2dlbmVyYWwvYWNjb3VudHNgO1xuXG4gIGRlYnVnKCdmZXRjaGluZyBhY2NvdW50cyBkYXRhJyk7XG4gIGNvbnN0IGFjY291bnRzSW5mbyA9IGF3YWl0IGZldGNoR2V0V2l0aGluUGFnZTxGZXRjaGVkQWNjb3VudERhdGE+KHBhZ2UsIGFjY291bnREYXRhVXJsKSB8fCBbXTtcbiAgZGVidWcoJ2dvdCAlZCBhY2NvdW50cywgZmV0Y2hpbmcgdHhucyBhbmQgYmFsYW5jZScsIGFjY291bnRzSW5mby5sZW5ndGgpO1xuXG4gIGNvbnN0IGRlZmF1bHRTdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDEsICd5ZWFycycpLmFkZCgxLCAnZGF5Jyk7XG4gIGNvbnN0IHN0YXJ0RGF0ZSA9IG9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgY29uc3Qgc3RhcnRNb21lbnQgPSBtb21lbnQubWF4KGRlZmF1bHRTdGFydE1vbWVudCwgbW9tZW50KHN0YXJ0RGF0ZSkpO1xuXG4gIGNvbnN0IHN0YXJ0RGF0ZVN0ciA9IHN0YXJ0TW9tZW50LmZvcm1hdChEQVRFX0ZPUk1BVCk7XG4gIGNvbnN0IGVuZERhdGVTdHIgPSBtb21lbnQoKS5mb3JtYXQoREFURV9GT1JNQVQpO1xuXG4gIGNvbnN0IGFjY291bnRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICBmb3IgKGNvbnN0IGFjY291bnQgb2YgYWNjb3VudHNJbmZvKSB7XG4gICAgbGV0IGJhbGFuY2U6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBhY2NvdW50TnVtYmVyID0gYCR7YWNjb3VudC5iYW5rTnVtYmVyfS0ke2FjY291bnQuYnJhbmNoTnVtYmVyfS0ke2FjY291bnQuYWNjb3VudE51bWJlcn1gO1xuXG4gICAgY29uc3QgaXNBY3RpdmVBY2NvdW50ID0gYWNjb3VudC5hY2NvdW50Q2xvc2luZ1JlYXNvbkNvZGUgPT09IDA7XG4gICAgaWYgKGlzQWN0aXZlQWNjb3VudCkge1xuICAgICAgYmFsYW5jZSA9IGF3YWl0IGdldEFjY291bnRCYWxhbmNlKGFwaVNpdGVVcmwsIHBhZ2UsIGFjY291bnROdW1iZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBkZWJ1ZygnU2tpcHBpbmcgYmFsYW5jZSBmb3IgYSBjbG9zZWQgYWNjb3VudCwgYmFsYW5jZSB3aWxsIGJlIHVuZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHR4bnMgPSBhd2FpdCBnZXRBY2NvdW50VHJhbnNhY3Rpb25zKGFwaVNpdGVVcmwsIHBhZ2UsIGFjY291bnROdW1iZXIsIHN0YXJ0RGF0ZVN0ciwgZW5kRGF0ZVN0cik7XG5cbiAgICBhY2NvdW50cy5wdXNoKHtcbiAgICAgIGFjY291bnROdW1iZXIsXG4gICAgICBiYWxhbmNlLFxuICAgICAgdHhucyxcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGFjY291bnREYXRhID0ge1xuICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgYWNjb3VudHMsXG4gIH07XG4gIGRlYnVnKCdmZXRjaGluZyBlbmRlZCcpO1xuICByZXR1cm4gYWNjb3VudERhdGE7XG59XG5cbmZ1bmN0aW9uIGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKGJhc2VVcmw6IHN0cmluZykge1xuICBjb25zdCB1cmxzOiBQb3NzaWJsZUxvZ2luUmVzdWx0cyA9IHt9O1xuICB1cmxzW0xvZ2luUmVzdWx0cy5TdWNjZXNzXSA9IFtcbiAgICBgJHtiYXNlVXJsfS9wb3J0YWxzZXJ2ZXIvSG9tZVBhZ2VgLFxuICAgIGAke2Jhc2VVcmx9L25nLXBvcnRhbHMtYnQvcmIvaGUvaG9tZXBhZ2VgLFxuICAgIGAke2Jhc2VVcmx9L25nLXBvcnRhbHMvcmIvaGUvaG9tZXBhZ2VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuSW52YWxpZFBhc3N3b3JkXSA9IFtgJHtiYXNlVXJsfS9BVVRIRU5USUNBVEUvTE9HT04/Zmxvdz1BVVRIRU5USUNBVEUmc3RhdGU9TE9HT04mZXJyb3Jjb2RlPTEuNiZjYWxsbWU9ZmFsc2VgXTtcbiAgdXJsc1tMb2dpblJlc3VsdHMuQ2hhbmdlUGFzc3dvcmRdID0gW1xuICAgIGAke2Jhc2VVcmx9L01DUC9TVEFSVD9mbG93PU1DUCZzdGF0ZT1TVEFSVCZleHBpcmVkRGF0ZT1udWxsYCxcbiAgICAvXFwvQUJPVVRUT0VYUElSRVxcL1NUQVJUL2ksXG4gIF07XG4gIHJldHVybiB1cmxzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFsczogU2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnI3VzZXJDb2RlJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJDb2RlIH0sXG4gICAgeyBzZWxlY3RvcjogJyNwYXNzd29yZCcsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG50eXBlIFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzID0geyB1c2VyQ29kZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH07XG5cbmNsYXNzIEhhcG9hbGltU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXI8U2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHM+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcbiAgZ2V0IGJhc2VVcmwoKSB7XG4gICAgcmV0dXJuICdodHRwczovL2xvZ2luLmJhbmtoYXBvYWxpbS5jby5pbCc7XG4gIH1cblxuICBnZXRMb2dpbk9wdGlvbnMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBgJHt0aGlzLmJhc2VVcmx9L2NnaS1iaW4vcG9hbHd3d2M/cmVxTmFtZT1nZXRMb2dvblBhZ2VgLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogJy5sb2dpbi1idG4nLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gd2FpdEZvclJlZGlyZWN0KHRoaXMucGFnZSksXG4gICAgICBwb3NzaWJsZVJlc3VsdHM6IGdldFBvc3NpYmxlTG9naW5SZXN1bHRzKHRoaXMuYmFzZVVybCksXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZldGNoRGF0YSgpIHtcbiAgICByZXR1cm4gZmV0Y2hBY2NvdW50RGF0YSh0aGlzLnBhZ2UsIHRoaXMuYmFzZVVybCwgdGhpcy5vcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBIYXBvYWxpbVNjcmFwZXI7XG4iXX0=
@@ -39,7 +39,7 @@ describe('Hapoalim legacy scraper', () => {
39
39
 
40
40
  const scraper = new _hapoalim.default(options);
41
41
  const result = await scraper.scrape({
42
- username: 'e10s12',
42
+ userCode: 'e10s12',
43
43
  password: '3f3ss3d'
44
44
  });
45
45
  expect(result).toBeDefined();
@@ -60,4 +60,4 @@ describe('Hapoalim legacy scraper', () => {
60
60
  (0, _testsUtils.exportTransactions)(COMPANY_ID, result.accounts || []);
61
61
  });
62
62
  });
63
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9oYXBvYWxpbS50ZXN0LnRzIl0sIm5hbWVzIjpbIkNPTVBBTllfSUQiLCJ0ZXN0c0NvbmZpZyIsImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwidGVzdCIsImV4cGVjdCIsIlNDUkFQRVJTIiwiaGFwb2FsaW0iLCJ0b0JlRGVmaW5lZCIsImxvZ2luRmllbGRzIiwidG9Db250YWluIiwiY29uZmlnIiwiY29tcGFueUFQSSIsImludmFsaWRQYXNzd29yZCIsIm9wdGlvbnMiLCJjb21wYW55SWQiLCJzY3JhcGVyIiwiSGFwb2FsaW1TY3JhcGVyIiwicmVzdWx0Iiwic2NyYXBlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInN1Y2Nlc3MiLCJ0b0JlRmFsc3kiLCJlcnJvclR5cGUiLCJ0b0JlIiwiTG9naW5SZXN1bHRzIiwiSW52YWxpZFBhc3N3b3JkIiwiY3JlZGVudGlhbHMiLCJlcnJvciIsImVycm9yTWVzc2FnZSIsInRyaW0iLCJ0b0JlVHJ1dGh5IiwiYWNjb3VudHMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUdBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsTUFBTUEsVUFBVSxHQUFHLFVBQW5CLEMsQ0FBK0I7O0FBQy9CLE1BQU1DLFdBQVcsR0FBRyxpQ0FBcEI7QUFFQUMsUUFBUSxDQUFDLHlCQUFELEVBQTRCLE1BQU07QUFDeENDLEVBQUFBLFNBQVMsQ0FBQyxNQUFNO0FBQ2QsMENBRGMsQ0FDUTtBQUN2QixHQUZRLENBQVQ7QUFJQUMsRUFBQUEsSUFBSSxDQUFDLGlEQUFELEVBQW9ELE1BQU07QUFDNURDLElBQUFBLE1BQU0sQ0FBQ0Msc0JBQVNDLFFBQVYsQ0FBTixDQUEwQkMsV0FBMUI7QUFDQUgsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVCxDQUFrQkUsV0FBbkIsQ0FBTixDQUFzQ0MsU0FBdEMsQ0FBZ0QsVUFBaEQ7QUFDQUwsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVCxDQUFrQkUsV0FBbkIsQ0FBTixDQUFzQ0MsU0FBdEMsQ0FBZ0QsVUFBaEQ7QUFDRCxHQUpHLENBQUo7QUFNQSx1Q0FBb0JWLFVBQXBCLEVBQWlDVyxNQUFELElBQVlBLE1BQU0sQ0FBQ0MsVUFBUCxDQUFrQkMsZUFBOUQsRUFBK0UsdUNBQS9FLEVBQXdILFlBQVk7QUFDbEksVUFBTUMsT0FBTyxxQkFDUmIsV0FBVyxDQUFDYSxPQURKO0FBRVhDLE1BQUFBLFNBQVMsRUFBRWY7QUFGQSxNQUFiOztBQUtBLFVBQU1nQixPQUFPLEdBQUcsSUFBSUMsaUJBQUosQ0FBb0JILE9BQXBCLENBQWhCO0FBRUEsVUFBTUksTUFBTSxHQUFHLE1BQU1GLE9BQU8sQ0FBQ0csTUFBUixDQUFlO0FBQUVDLE1BQUFBLFFBQVEsRUFBRSxRQUFaO0FBQXNCQyxNQUFBQSxRQUFRLEVBQUU7QUFBaEMsS0FBZixDQUFyQjtBQUVBaEIsSUFBQUEsTUFBTSxDQUFDYSxNQUFELENBQU4sQ0FBZVYsV0FBZjtBQUNBSCxJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ0ksT0FBUixDQUFOLENBQXVCQyxTQUF2QjtBQUNBbEIsSUFBQUEsTUFBTSxDQUFDYSxNQUFNLENBQUNNLFNBQVIsQ0FBTixDQUF5QkMsSUFBekIsQ0FBOEJDLHFDQUFhQyxlQUEzQztBQUNELEdBYkQ7QUFlQSx1Q0FBb0IzQixVQUFwQixFQUFnQyw2QkFBaEMsRUFBK0QsWUFBWTtBQUN6RSxVQUFNYyxPQUFPLHFCQUNSYixXQUFXLENBQUNhLE9BREo7QUFFWEMsTUFBQUEsU0FBUyxFQUFFZjtBQUZBLE1BQWI7O0FBS0EsVUFBTWdCLE9BQU8sR0FBRyxJQUFJQyxpQkFBSixDQUFvQkgsT0FBcEIsQ0FBaEI7QUFDQSxVQUFNSSxNQUFNLEdBQUcsTUFBTUYsT0FBTyxDQUFDRyxNQUFSLENBQWVsQixXQUFXLENBQUMyQixXQUFaLENBQXdCckIsUUFBdkMsQ0FBckI7QUFDQUYsSUFBQUEsTUFBTSxDQUFDYSxNQUFELENBQU4sQ0FBZVYsV0FBZjtBQUNBLFVBQU1xQixLQUFLLEdBQUksR0FBRVgsTUFBTSxDQUFDTSxTQUFQLElBQW9CLEVBQUcsSUFBR04sTUFBTSxDQUFDWSxZQUFQLElBQXVCLEVBQUcsRUFBdkQsQ0FBeURDLElBQXpELEVBQWQ7QUFDQTFCLElBQUFBLE1BQU0sQ0FBQ3dCLEtBQUQsQ0FBTixDQUFjSixJQUFkLENBQW1CLEVBQW5CO0FBQ0FwQixJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ0ksT0FBUixDQUFOLENBQXVCVSxVQUF2QjtBQUVBLHdDQUFtQmhDLFVBQW5CLEVBQStCa0IsTUFBTSxDQUFDZSxRQUFQLElBQW1CLEVBQWxEO0FBQ0QsR0FkRDtBQWVELENBekNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSGFwb2FsaW1TY3JhcGVyIGZyb20gJy4vaGFwb2FsaW0nO1xuaW1wb3J0IHtcbiAgbWF5YmVUZXN0Q29tcGFueUFQSSwgZXh0ZW5kQXN5bmNUaW1lb3V0LCBnZXRUZXN0c0NvbmZpZywgZXhwb3J0VHJhbnNhY3Rpb25zLFxufSBmcm9tICcuLi90ZXN0cy90ZXN0cy11dGlscyc7XG5pbXBvcnQgeyBTQ1JBUEVSUyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5cbmNvbnN0IENPTVBBTllfSUQgPSAnaGFwb2FsaW0nOyAvLyBUT0RPIHRoaXMgcHJvcGVydHkgc2hvdWxkIGJlIGhhcmQtY29kZWQgaW4gdGhlIHByb3ZpZGVyXG5jb25zdCB0ZXN0c0NvbmZpZyA9IGdldFRlc3RzQ29uZmlnKCk7XG5cbmRlc2NyaWJlKCdIYXBvYWxpbSBsZWdhY3kgc2NyYXBlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBleHRlbmRBc3luY1RpbWVvdXQoKTsgLy8gVGhlIGRlZmF1bHQgdGltZW91dCBpcyA1IHNlY29uZHMgcGVyIGFzeW5jIHRlc3QsIHRoaXMgZnVuY3Rpb24gZXh0ZW5kcyB0aGUgdGltZW91dCB2YWx1ZVxuICB9KTtcblxuICB0ZXN0KCdzaG91bGQgZXhwb3NlIGxvZ2luIGZpZWxkcyBpbiBzY3JhcGVycyBjb25zdGFudCcsICgpID0+IHtcbiAgICBleHBlY3QoU0NSQVBFUlMuaGFwb2FsaW0pLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLmhhcG9hbGltLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ3VzZXJDb2RlJyk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLmhhcG9hbGltLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ3Bhc3N3b3JkJyk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCwgKGNvbmZpZykgPT4gY29uZmlnLmNvbXBhbnlBUEkuaW52YWxpZFBhc3N3b3JkKSgnc2hvdWxkIGZhaWwgb24gaW52YWxpZCB1c2VyL3Bhc3N3b3JkXCInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2NyYXBlci5zY3JhcGUoeyB1c2VybmFtZTogJ2UxMHMxMicsIHBhc3N3b3JkOiAnM2Yzc3MzZCcgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChyZXN1bHQuc3VjY2VzcykudG9CZUZhbHN5KCk7XG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvclR5cGUpLnRvQmUoTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZCk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCkoJ3Nob3VsZCBzY3JhcGUgdHJhbnNhY3Rpb25zXCInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNjcmFwZXIuc2NyYXBlKHRlc3RzQ29uZmlnLmNyZWRlbnRpYWxzLmhhcG9hbGltKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGNvbnN0IGVycm9yID0gYCR7cmVzdWx0LmVycm9yVHlwZSB8fCAnJ30gJHtyZXN1bHQuZXJyb3JNZXNzYWdlIHx8ICcnfWAudHJpbSgpO1xuICAgIGV4cGVjdChlcnJvcikudG9CZSgnJyk7XG4gICAgZXhwZWN0KHJlc3VsdC5zdWNjZXNzKS50b0JlVHJ1dGh5KCk7XG5cbiAgICBleHBvcnRUcmFuc2FjdGlvbnMoQ09NUEFOWV9JRCwgcmVzdWx0LmFjY291bnRzIHx8IFtdKTtcbiAgfSk7XG59KTtcbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9oYXBvYWxpbS50ZXN0LnRzIl0sIm5hbWVzIjpbIkNPTVBBTllfSUQiLCJ0ZXN0c0NvbmZpZyIsImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwidGVzdCIsImV4cGVjdCIsIlNDUkFQRVJTIiwiaGFwb2FsaW0iLCJ0b0JlRGVmaW5lZCIsImxvZ2luRmllbGRzIiwidG9Db250YWluIiwiY29uZmlnIiwiY29tcGFueUFQSSIsImludmFsaWRQYXNzd29yZCIsIm9wdGlvbnMiLCJjb21wYW55SWQiLCJzY3JhcGVyIiwiSGFwb2FsaW1TY3JhcGVyIiwicmVzdWx0Iiwic2NyYXBlIiwidXNlckNvZGUiLCJwYXNzd29yZCIsInN1Y2Nlc3MiLCJ0b0JlRmFsc3kiLCJlcnJvclR5cGUiLCJ0b0JlIiwiTG9naW5SZXN1bHRzIiwiSW52YWxpZFBhc3N3b3JkIiwiY3JlZGVudGlhbHMiLCJlcnJvciIsImVycm9yTWVzc2FnZSIsInRyaW0iLCJ0b0JlVHJ1dGh5IiwiYWNjb3VudHMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUdBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsTUFBTUEsVUFBVSxHQUFHLFVBQW5CLEMsQ0FBK0I7O0FBQy9CLE1BQU1DLFdBQVcsR0FBRyxpQ0FBcEI7QUFFQUMsUUFBUSxDQUFDLHlCQUFELEVBQTRCLE1BQU07QUFDeENDLEVBQUFBLFNBQVMsQ0FBQyxNQUFNO0FBQ2QsMENBRGMsQ0FDUTtBQUN2QixHQUZRLENBQVQ7QUFJQUMsRUFBQUEsSUFBSSxDQUFDLGlEQUFELEVBQW9ELE1BQU07QUFDNURDLElBQUFBLE1BQU0sQ0FBQ0Msc0JBQVNDLFFBQVYsQ0FBTixDQUEwQkMsV0FBMUI7QUFDQUgsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVCxDQUFrQkUsV0FBbkIsQ0FBTixDQUFzQ0MsU0FBdEMsQ0FBZ0QsVUFBaEQ7QUFDQUwsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVCxDQUFrQkUsV0FBbkIsQ0FBTixDQUFzQ0MsU0FBdEMsQ0FBZ0QsVUFBaEQ7QUFDRCxHQUpHLENBQUo7QUFNQSx1Q0FBb0JWLFVBQXBCLEVBQWlDVyxNQUFELElBQVlBLE1BQU0sQ0FBQ0MsVUFBUCxDQUFrQkMsZUFBOUQsRUFBK0UsdUNBQS9FLEVBQXdILFlBQVk7QUFDbEksVUFBTUMsT0FBTyxxQkFDUmIsV0FBVyxDQUFDYSxPQURKO0FBRVhDLE1BQUFBLFNBQVMsRUFBRWY7QUFGQSxNQUFiOztBQUtBLFVBQU1nQixPQUFPLEdBQUcsSUFBSUMsaUJBQUosQ0FBb0JILE9BQXBCLENBQWhCO0FBRUEsVUFBTUksTUFBTSxHQUFHLE1BQU1GLE9BQU8sQ0FBQ0csTUFBUixDQUFlO0FBQUVDLE1BQUFBLFFBQVEsRUFBRSxRQUFaO0FBQXNCQyxNQUFBQSxRQUFRLEVBQUU7QUFBaEMsS0FBZixDQUFyQjtBQUVBaEIsSUFBQUEsTUFBTSxDQUFDYSxNQUFELENBQU4sQ0FBZVYsV0FBZjtBQUNBSCxJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ0ksT0FBUixDQUFOLENBQXVCQyxTQUF2QjtBQUNBbEIsSUFBQUEsTUFBTSxDQUFDYSxNQUFNLENBQUNNLFNBQVIsQ0FBTixDQUF5QkMsSUFBekIsQ0FBOEJDLHFDQUFhQyxlQUEzQztBQUNELEdBYkQ7QUFlQSx1Q0FBb0IzQixVQUFwQixFQUFnQyw2QkFBaEMsRUFBK0QsWUFBWTtBQUN6RSxVQUFNYyxPQUFPLHFCQUNSYixXQUFXLENBQUNhLE9BREo7QUFFWEMsTUFBQUEsU0FBUyxFQUFFZjtBQUZBLE1BQWI7O0FBS0EsVUFBTWdCLE9BQU8sR0FBRyxJQUFJQyxpQkFBSixDQUFvQkgsT0FBcEIsQ0FBaEI7QUFDQSxVQUFNSSxNQUFNLEdBQUcsTUFBTUYsT0FBTyxDQUFDRyxNQUFSLENBQWVsQixXQUFXLENBQUMyQixXQUFaLENBQXdCckIsUUFBdkMsQ0FBckI7QUFDQUYsSUFBQUEsTUFBTSxDQUFDYSxNQUFELENBQU4sQ0FBZVYsV0FBZjtBQUNBLFVBQU1xQixLQUFLLEdBQUksR0FBRVgsTUFBTSxDQUFDTSxTQUFQLElBQW9CLEVBQUcsSUFBR04sTUFBTSxDQUFDWSxZQUFQLElBQXVCLEVBQUcsRUFBdkQsQ0FBeURDLElBQXpELEVBQWQ7QUFDQTFCLElBQUFBLE1BQU0sQ0FBQ3dCLEtBQUQsQ0FBTixDQUFjSixJQUFkLENBQW1CLEVBQW5CO0FBQ0FwQixJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ0ksT0FBUixDQUFOLENBQXVCVSxVQUF2QjtBQUVBLHdDQUFtQmhDLFVBQW5CLEVBQStCa0IsTUFBTSxDQUFDZSxRQUFQLElBQW1CLEVBQWxEO0FBQ0QsR0FkRDtBQWVELENBekNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSGFwb2FsaW1TY3JhcGVyIGZyb20gJy4vaGFwb2FsaW0nO1xuaW1wb3J0IHtcbiAgbWF5YmVUZXN0Q29tcGFueUFQSSwgZXh0ZW5kQXN5bmNUaW1lb3V0LCBnZXRUZXN0c0NvbmZpZywgZXhwb3J0VHJhbnNhY3Rpb25zLFxufSBmcm9tICcuLi90ZXN0cy90ZXN0cy11dGlscyc7XG5pbXBvcnQgeyBTQ1JBUEVSUyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5cbmNvbnN0IENPTVBBTllfSUQgPSAnaGFwb2FsaW0nOyAvLyBUT0RPIHRoaXMgcHJvcGVydHkgc2hvdWxkIGJlIGhhcmQtY29kZWQgaW4gdGhlIHByb3ZpZGVyXG5jb25zdCB0ZXN0c0NvbmZpZyA9IGdldFRlc3RzQ29uZmlnKCk7XG5cbmRlc2NyaWJlKCdIYXBvYWxpbSBsZWdhY3kgc2NyYXBlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBleHRlbmRBc3luY1RpbWVvdXQoKTsgLy8gVGhlIGRlZmF1bHQgdGltZW91dCBpcyA1IHNlY29uZHMgcGVyIGFzeW5jIHRlc3QsIHRoaXMgZnVuY3Rpb24gZXh0ZW5kcyB0aGUgdGltZW91dCB2YWx1ZVxuICB9KTtcblxuICB0ZXN0KCdzaG91bGQgZXhwb3NlIGxvZ2luIGZpZWxkcyBpbiBzY3JhcGVycyBjb25zdGFudCcsICgpID0+IHtcbiAgICBleHBlY3QoU0NSQVBFUlMuaGFwb2FsaW0pLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLmhhcG9hbGltLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ3VzZXJDb2RlJyk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLmhhcG9hbGltLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ3Bhc3N3b3JkJyk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCwgKGNvbmZpZykgPT4gY29uZmlnLmNvbXBhbnlBUEkuaW52YWxpZFBhc3N3b3JkKSgnc2hvdWxkIGZhaWwgb24gaW52YWxpZCB1c2VyL3Bhc3N3b3JkXCInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2NyYXBlci5zY3JhcGUoeyB1c2VyQ29kZTogJ2UxMHMxMicsIHBhc3N3b3JkOiAnM2Yzc3MzZCcgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChyZXN1bHQuc3VjY2VzcykudG9CZUZhbHN5KCk7XG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvclR5cGUpLnRvQmUoTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZCk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCkoJ3Nob3VsZCBzY3JhcGUgdHJhbnNhY3Rpb25zXCInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgSGFwb2FsaW1TY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNjcmFwZXIuc2NyYXBlKHRlc3RzQ29uZmlnLmNyZWRlbnRpYWxzLmhhcG9hbGltKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGNvbnN0IGVycm9yID0gYCR7cmVzdWx0LmVycm9yVHlwZSB8fCAnJ30gJHtyZXN1bHQuZXJyb3JNZXNzYWdlIHx8ICcnfWAudHJpbSgpO1xuICAgIGV4cGVjdChlcnJvcikudG9CZSgnJyk7XG4gICAgZXhwZWN0KHJlc3VsdC5zdWNjZXNzKS50b0JlVHJ1dGh5KCk7XG5cbiAgICBleHBvcnRUcmFuc2FjdGlvbnMoQ09NUEFOWV9JRCwgcmVzdWx0LmFjY291bnRzIHx8IFtdKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,146 @@
1
+ import { Browser, Page } from 'puppeteer';
2
+ import { CompanyTypes } from '../definitions';
3
+ import { TransactionsAccount } from '../transactions';
4
+ import { ErrorResult, ScraperErrorTypes } from './errors';
5
+ export declare type ScraperCredentials = {
6
+ userCode: string;
7
+ password: string;
8
+ } | {
9
+ username: string;
10
+ password: string;
11
+ } | {
12
+ id: string;
13
+ password: string;
14
+ } | {
15
+ id: string;
16
+ password: string;
17
+ num: string;
18
+ } | {
19
+ id: string;
20
+ password: string;
21
+ card6Digits: string;
22
+ } | {
23
+ username: string;
24
+ nationalID: string;
25
+ password: string;
26
+ } | ({
27
+ email: string;
28
+ password: string;
29
+ } & ({
30
+ otpCodeRetriever: () => Promise<string>;
31
+ phoneNumber: string;
32
+ } | {
33
+ otpLongTermToken: string;
34
+ }));
35
+ export interface FutureDebit {
36
+ amount: number;
37
+ amountCurrency: string;
38
+ chargeDate?: string;
39
+ bankAccountNumber?: string;
40
+ }
41
+ export interface ScraperOptions {
42
+ /**
43
+ * The company you want to scrape
44
+ */
45
+ companyId: CompanyTypes;
46
+ /**
47
+ * include more debug info about in the output
48
+ */
49
+ verbose?: boolean;
50
+ /**
51
+ * the date to fetch transactions from (can't be before the minimum allowed time difference for the scraper)
52
+ */
53
+ startDate: Date;
54
+ /**
55
+ * shows the browser while scraping, good for debugging (default false)
56
+ */
57
+ showBrowser?: boolean;
58
+ /**
59
+ * scrape transactions to be processed X months in the future
60
+ */
61
+ futureMonthsToScrape?: number;
62
+ /**
63
+ * option from init puppeteer browser instance outside the libary scope. you can get
64
+ * browser diretly from puppeteer via `puppeteer.launch()`
65
+ */
66
+ browser?: any;
67
+ /**
68
+ * provide a patch to local chromium to be used by puppeteer. Relevant when using
69
+ * `israeli-bank-scrapers-core` library
70
+ */
71
+ executablePath?: string;
72
+ /**
73
+ * if set to true, all installment transactions will be combine into the first one
74
+ */
75
+ combineInstallments?: boolean;
76
+ /**
77
+ * additional arguments to pass to the browser instance. The list of flags can be found in
78
+ *
79
+ * https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options
80
+ * https://peter.sh/experiments/chromium-command-line-switches/
81
+ */
82
+ args?: string[];
83
+ /**
84
+ * Maximum navigation time in milliseconds, pass 0 to disable timeout.
85
+ * @default 30000
86
+ */
87
+ timeout?: number | undefined;
88
+ /**
89
+ * adjust the browser instance before it is being used
90
+ *
91
+ * @param browser
92
+ */
93
+ prepareBrowser?: (browser: Browser) => Promise<void>;
94
+ /**
95
+ * adjust the page instance before it is being used.
96
+ *
97
+ * @param page
98
+ */
99
+ preparePage?: (page: Page) => Promise<void>;
100
+ /**
101
+ * if set, store a screenshot if failed to scrape. Used for debug purposes
102
+ */
103
+ storeFailureScreenShotPath?: string;
104
+ /**
105
+ * if set, will set the timeout in milliseconds of puppeteer's `page.setDefaultTimeout`.
106
+ */
107
+ defaultTimeout?: number;
108
+ /**
109
+ * Options for manipulation of output data
110
+ */
111
+ outputData?: OutputDataOptions;
112
+ /**
113
+ * Perform additional operation for each transaction to get more information (Like category) about it.
114
+ * Please note: It will take more time to finish the process.
115
+ */
116
+ additionalTransactionInformation?: boolean;
117
+ }
118
+ export interface OutputDataOptions {
119
+ /**
120
+ * if true, the result wouldn't be filtered out by date, and you will return unfiltered scrapped data.
121
+ */
122
+ enableTransactionsFilterByDate?: boolean;
123
+ }
124
+ export interface ScraperScrapingResult {
125
+ success: boolean;
126
+ accounts?: TransactionsAccount[];
127
+ futureDebits?: FutureDebit[];
128
+ errorType?: ScraperErrorTypes;
129
+ errorMessage?: string;
130
+ }
131
+ export interface Scraper<TCredentials extends ScraperCredentials> {
132
+ scrape(credentials: TCredentials): Promise<ScraperScrapingResult>;
133
+ }
134
+ export declare type ScraperTwoFactorAuthTriggerResult = ErrorResult | {
135
+ success: true;
136
+ };
137
+ export declare type ScraperGetLongTermTwoFactorTokenResult = ErrorResult | {
138
+ success: true;
139
+ longTermTwoFactorAuthToken: string;
140
+ };
141
+ export interface ScraperLoginResult {
142
+ success: boolean;
143
+ errorType?: ScraperErrorTypes;
144
+ errorMessage?: string;
145
+ persistentOtpToken?: string;
146
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1,5 +1,5 @@
1
1
  import IsracardAmexBaseScraper from './base-isracard-amex';
2
- import { ScraperOptions } from './base-scraper';
2
+ import { ScraperOptions } from './interface';
3
3
  declare class IsracardScraper extends IsracardAmexBaseScraper {
4
4
  constructor(options: ScraperOptions);
5
5
  }
@@ -21,4 +21,4 @@ class IsracardScraper extends _baseIsracardAmex.default {
21
21
 
22
22
  var _default = IsracardScraper;
23
23
  exports.default = _default;
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9pc3JhY2FyZC50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkNPTVBBTllfQ09ERSIsIklzcmFjYXJkU2NyYXBlciIsIklzcmFjYXJkQW1leEJhc2VTY3JhcGVyIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFHQSxNQUFNQSxRQUFRLEdBQUcsZ0NBQWpCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHLElBQXJCOztBQUVBLE1BQU1DLGVBQU4sU0FBOEJDLHlCQUE5QixDQUFzRDtBQUNwREMsRUFBQUEsV0FBVyxDQUFDQyxPQUFELEVBQTBCO0FBQ25DLFVBQU1BLE9BQU4sRUFBZUwsUUFBZixFQUF5QkMsWUFBekI7QUFDRDs7QUFIbUQ7O2VBTXZDQyxlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElzcmFjYXJkQW1leEJhc2VTY3JhcGVyIGZyb20gJy4vYmFzZS1pc3JhY2FyZC1hbWV4JztcbmltcG9ydCB7IFNjcmFwZXJPcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXInO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL2RpZ2l0YWwuaXNyYWNhcmQuY28uaWwnO1xuY29uc3QgQ09NUEFOWV9DT0RFID0gJzExJztcblxuY2xhc3MgSXNyYWNhcmRTY3JhcGVyIGV4dGVuZHMgSXNyYWNhcmRBbWV4QmFzZVNjcmFwZXIge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTY3JhcGVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMsIEJBU0VfVVJMLCBDT01QQU5ZX0NPREUpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IElzcmFjYXJkU2NyYXBlcjtcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9pc3JhY2FyZC50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkNPTVBBTllfQ09ERSIsIklzcmFjYXJkU2NyYXBlciIsIklzcmFjYXJkQW1leEJhc2VTY3JhcGVyIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7Ozs7QUFHQSxNQUFNQSxRQUFRLEdBQUcsZ0NBQWpCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHLElBQXJCOztBQUVBLE1BQU1DLGVBQU4sU0FBOEJDLHlCQUE5QixDQUFzRDtBQUNwREMsRUFBQUEsV0FBVyxDQUFDQyxPQUFELEVBQTBCO0FBQ25DLFVBQU1BLE9BQU4sRUFBZUwsUUFBZixFQUF5QkMsWUFBekI7QUFDRDs7QUFIbUQ7O2VBTXZDQyxlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IElzcmFjYXJkQW1leEJhc2VTY3JhcGVyIGZyb20gJy4vYmFzZS1pc3JhY2FyZC1hbWV4JztcbmltcG9ydCB7IFNjcmFwZXJPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5jb25zdCBCQVNFX1VSTCA9ICdodHRwczovL2RpZ2l0YWwuaXNyYWNhcmQuY28uaWwnO1xuY29uc3QgQ09NUEFOWV9DT0RFID0gJzExJztcblxuY2xhc3MgSXNyYWNhcmRTY3JhcGVyIGV4dGVuZHMgSXNyYWNhcmRBbWV4QmFzZVNjcmFwZXIge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBTY3JhcGVyT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMsIEJBU0VfVVJMLCBDT01QQU5ZX0NPREUpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IElzcmFjYXJkU2NyYXBlcjtcbiJdfQ==
@@ -40,8 +40,9 @@ describe('Isracard legacy scraper', () => {
40
40
 
41
41
  const scraper = new _isracard.default(options);
42
42
  const result = await scraper.scrape({
43
- username: 'e10s12',
44
- password: '3f3ss3d'
43
+ id: 'e10s12',
44
+ password: '3f3ss3d',
45
+ card6Digits: '123456'
45
46
  });
46
47
  expect(result).toBeDefined();
47
48
  expect(result.success).toBeFalsy();
@@ -61,4 +62,4 @@ describe('Isracard legacy scraper', () => {
61
62
  (0, _testsUtils.exportTransactions)(COMPANY_ID, result.accounts || []);
62
63
  });
63
64
  });
64
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9pc3JhY2FyZC50ZXN0LnRzIl0sIm5hbWVzIjpbIkNPTVBBTllfSUQiLCJ0ZXN0c0NvbmZpZyIsImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwidGVzdCIsImV4cGVjdCIsIlNDUkFQRVJTIiwiaXNyYWNhcmQiLCJ0b0JlRGVmaW5lZCIsImxvZ2luRmllbGRzIiwidG9Db250YWluIiwiY29uZmlnIiwiY29tcGFueUFQSSIsImludmFsaWRQYXNzd29yZCIsIm9wdGlvbnMiLCJjb21wYW55SWQiLCJzY3JhcGVyIiwiSXNyYWNhcmRTY3JhcGVyIiwicmVzdWx0Iiwic2NyYXBlIiwidXNlcm5hbWUiLCJwYXNzd29yZCIsInN1Y2Nlc3MiLCJ0b0JlRmFsc3kiLCJlcnJvclR5cGUiLCJ0b0JlIiwiTG9naW5SZXN1bHRzIiwiSW52YWxpZFBhc3N3b3JkIiwiY3JlZGVudGlhbHMiLCJlcnJvciIsImVycm9yTWVzc2FnZSIsInRyaW0iLCJ0b0JlVHJ1dGh5IiwiYWNjb3VudHMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUdBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsTUFBTUEsVUFBVSxHQUFHLFVBQW5CLEMsQ0FBK0I7O0FBQy9CLE1BQU1DLFdBQVcsR0FBRyxpQ0FBcEI7QUFFQUMsUUFBUSxDQUFDLHlCQUFELEVBQTRCLE1BQU07QUFDeENDLEVBQUFBLFNBQVMsQ0FBQyxNQUFNO0FBQ2QsMENBRGMsQ0FDUTtBQUN2QixHQUZRLENBQVQ7QUFJQUMsRUFBQUEsSUFBSSxDQUFDLGlEQUFELEVBQW9ELE1BQU07QUFDNURDLElBQUFBLE1BQU0sQ0FBQ0Msc0JBQVNDLFFBQVYsQ0FBTixDQUEwQkMsV0FBMUI7QUFDQUgsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVCxDQUFrQkUsV0FBbkIsQ0FBTixDQUFzQ0MsU0FBdEMsQ0FBZ0QsSUFBaEQ7QUFDQUwsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVCxDQUFrQkUsV0FBbkIsQ0FBTixDQUFzQ0MsU0FBdEMsQ0FBZ0QsYUFBaEQ7QUFDQUwsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVCxDQUFrQkUsV0FBbkIsQ0FBTixDQUFzQ0MsU0FBdEMsQ0FBZ0QsVUFBaEQ7QUFDRCxHQUxHLENBQUo7QUFPQSx1Q0FBb0JWLFVBQXBCLEVBQWlDVyxNQUFELElBQVlBLE1BQU0sQ0FBQ0MsVUFBUCxDQUFrQkMsZUFBOUQsRUFBK0UsdUNBQS9FLEVBQXdILFlBQVk7QUFDbEksVUFBTUMsT0FBTyxxQkFDUmIsV0FBVyxDQUFDYSxPQURKO0FBRVhDLE1BQUFBLFNBQVMsRUFBRWY7QUFGQSxNQUFiOztBQUtBLFVBQU1nQixPQUFPLEdBQUcsSUFBSUMsaUJBQUosQ0FBb0JILE9BQXBCLENBQWhCO0FBRUEsVUFBTUksTUFBTSxHQUFHLE1BQU1GLE9BQU8sQ0FBQ0csTUFBUixDQUFlO0FBQUVDLE1BQUFBLFFBQVEsRUFBRSxRQUFaO0FBQXNCQyxNQUFBQSxRQUFRLEVBQUU7QUFBaEMsS0FBZixDQUFyQjtBQUVBaEIsSUFBQUEsTUFBTSxDQUFDYSxNQUFELENBQU4sQ0FBZVYsV0FBZjtBQUNBSCxJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ0ksT0FBUixDQUFOLENBQXVCQyxTQUF2QjtBQUNBbEIsSUFBQUEsTUFBTSxDQUFDYSxNQUFNLENBQUNNLFNBQVIsQ0FBTixDQUF5QkMsSUFBekIsQ0FBOEJDLHFDQUFhQyxlQUEzQztBQUNELEdBYkQ7QUFlQSx1Q0FBb0IzQixVQUFwQixFQUFnQyw2QkFBaEMsRUFBK0QsWUFBWTtBQUN6RSxVQUFNYyxPQUFPLHFCQUNSYixXQUFXLENBQUNhLE9BREo7QUFFWEMsTUFBQUEsU0FBUyxFQUFFZjtBQUZBLE1BQWI7O0FBS0EsVUFBTWdCLE9BQU8sR0FBRyxJQUFJQyxpQkFBSixDQUFvQkgsT0FBcEIsQ0FBaEI7QUFDQSxVQUFNSSxNQUFNLEdBQUcsTUFBTUYsT0FBTyxDQUFDRyxNQUFSLENBQWVsQixXQUFXLENBQUMyQixXQUFaLENBQXdCckIsUUFBdkMsQ0FBckI7QUFDQUYsSUFBQUEsTUFBTSxDQUFDYSxNQUFELENBQU4sQ0FBZVYsV0FBZjtBQUNBLFVBQU1xQixLQUFLLEdBQUksR0FBRVgsTUFBTSxDQUFDTSxTQUFQLElBQW9CLEVBQUcsSUFBR04sTUFBTSxDQUFDWSxZQUFQLElBQXVCLEVBQUcsRUFBdkQsQ0FBeURDLElBQXpELEVBQWQ7QUFDQTFCLElBQUFBLE1BQU0sQ0FBQ3dCLEtBQUQsQ0FBTixDQUFjSixJQUFkLENBQW1CLEVBQW5CO0FBQ0FwQixJQUFBQSxNQUFNLENBQUNhLE1BQU0sQ0FBQ0ksT0FBUixDQUFOLENBQXVCVSxVQUF2QjtBQUVBLHdDQUFtQmhDLFVBQW5CLEVBQStCa0IsTUFBTSxDQUFDZSxRQUFQLElBQW1CLEVBQWxEO0FBQ0QsR0FkRDtBQWVELENBMUNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSXNyYWNhcmRTY3JhcGVyIGZyb20gJy4vaXNyYWNhcmQnO1xuaW1wb3J0IHtcbiAgbWF5YmVUZXN0Q29tcGFueUFQSSwgZXh0ZW5kQXN5bmNUaW1lb3V0LCBnZXRUZXN0c0NvbmZpZywgZXhwb3J0VHJhbnNhY3Rpb25zLFxufSBmcm9tICcuLi90ZXN0cy90ZXN0cy11dGlscyc7XG5pbXBvcnQgeyBTQ1JBUEVSUyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IExvZ2luUmVzdWx0cyB9IGZyb20gJy4vYmFzZS1zY3JhcGVyLXdpdGgtYnJvd3Nlcic7XG5cbmNvbnN0IENPTVBBTllfSUQgPSAnaXNyYWNhcmQnOyAvLyBUT0RPIHRoaXMgcHJvcGVydHkgc2hvdWxkIGJlIGhhcmQtY29kZWQgaW4gdGhlIHByb3ZpZGVyXG5jb25zdCB0ZXN0c0NvbmZpZyA9IGdldFRlc3RzQ29uZmlnKCk7XG5cbmRlc2NyaWJlKCdJc3JhY2FyZCBsZWdhY3kgc2NyYXBlcicsICgpID0+IHtcbiAgYmVmb3JlQWxsKCgpID0+IHtcbiAgICBleHRlbmRBc3luY1RpbWVvdXQoKTsgLy8gVGhlIGRlZmF1bHQgdGltZW91dCBpcyA1IHNlY29uZHMgcGVyIGFzeW5jIHRlc3QsIHRoaXMgZnVuY3Rpb24gZXh0ZW5kcyB0aGUgdGltZW91dCB2YWx1ZVxuICB9KTtcblxuICB0ZXN0KCdzaG91bGQgZXhwb3NlIGxvZ2luIGZpZWxkcyBpbiBzY3JhcGVycyBjb25zdGFudCcsICgpID0+IHtcbiAgICBleHBlY3QoU0NSQVBFUlMuaXNyYWNhcmQpLnRvQmVEZWZpbmVkKCk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLmlzcmFjYXJkLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ2lkJyk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLmlzcmFjYXJkLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ2NhcmQ2RGlnaXRzJyk7XG4gICAgZXhwZWN0KFNDUkFQRVJTLmlzcmFjYXJkLmxvZ2luRmllbGRzKS50b0NvbnRhaW4oJ3Bhc3N3b3JkJyk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCwgKGNvbmZpZykgPT4gY29uZmlnLmNvbXBhbnlBUEkuaW52YWxpZFBhc3N3b3JkKSgnc2hvdWxkIGZhaWwgb24gaW52YWxpZCB1c2VyL3Bhc3N3b3JkXCInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgSXNyYWNhcmRTY3JhcGVyKG9wdGlvbnMpO1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2NyYXBlci5zY3JhcGUoeyB1c2VybmFtZTogJ2UxMHMxMicsIHBhc3N3b3JkOiAnM2Yzc3MzZCcgfSk7XG5cbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGV4cGVjdChyZXN1bHQuc3VjY2VzcykudG9CZUZhbHN5KCk7XG4gICAgZXhwZWN0KHJlc3VsdC5lcnJvclR5cGUpLnRvQmUoTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZCk7XG4gIH0pO1xuXG4gIG1heWJlVGVzdENvbXBhbnlBUEkoQ09NUEFOWV9JRCkoJ3Nob3VsZCBzY3JhcGUgdHJhbnNhY3Rpb25zXCInLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLnRlc3RzQ29uZmlnLm9wdGlvbnMsXG4gICAgICBjb21wYW55SWQ6IENPTVBBTllfSUQsXG4gICAgfTtcblxuICAgIGNvbnN0IHNjcmFwZXIgPSBuZXcgSXNyYWNhcmRTY3JhcGVyKG9wdGlvbnMpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHNjcmFwZXIuc2NyYXBlKHRlc3RzQ29uZmlnLmNyZWRlbnRpYWxzLmlzcmFjYXJkKTtcbiAgICBleHBlY3QocmVzdWx0KS50b0JlRGVmaW5lZCgpO1xuICAgIGNvbnN0IGVycm9yID0gYCR7cmVzdWx0LmVycm9yVHlwZSB8fCAnJ30gJHtyZXN1bHQuZXJyb3JNZXNzYWdlIHx8ICcnfWAudHJpbSgpO1xuICAgIGV4cGVjdChlcnJvcikudG9CZSgnJyk7XG4gICAgZXhwZWN0KHJlc3VsdC5zdWNjZXNzKS50b0JlVHJ1dGh5KCk7XG5cbiAgICBleHBvcnRUcmFuc2FjdGlvbnMoQ09NUEFOWV9JRCwgcmVzdWx0LmFjY291bnRzIHx8IFtdKTtcbiAgfSk7XG59KTtcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9pc3JhY2FyZC50ZXN0LnRzIl0sIm5hbWVzIjpbIkNPTVBBTllfSUQiLCJ0ZXN0c0NvbmZpZyIsImRlc2NyaWJlIiwiYmVmb3JlQWxsIiwidGVzdCIsImV4cGVjdCIsIlNDUkFQRVJTIiwiaXNyYWNhcmQiLCJ0b0JlRGVmaW5lZCIsImxvZ2luRmllbGRzIiwidG9Db250YWluIiwiY29uZmlnIiwiY29tcGFueUFQSSIsImludmFsaWRQYXNzd29yZCIsIm9wdGlvbnMiLCJjb21wYW55SWQiLCJzY3JhcGVyIiwiSXNyYWNhcmRTY3JhcGVyIiwicmVzdWx0Iiwic2NyYXBlIiwiaWQiLCJwYXNzd29yZCIsImNhcmQ2RGlnaXRzIiwic3VjY2VzcyIsInRvQmVGYWxzeSIsImVycm9yVHlwZSIsInRvQmUiLCJMb2dpblJlc3VsdHMiLCJJbnZhbGlkUGFzc3dvcmQiLCJjcmVkZW50aWFscyIsImVycm9yIiwiZXJyb3JNZXNzYWdlIiwidHJpbSIsInRvQmVUcnV0aHkiLCJhY2NvdW50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0E7O0FBQ0E7Ozs7Ozs7Ozs7QUFFQSxNQUFNQSxVQUFVLEdBQUcsVUFBbkIsQyxDQUErQjs7QUFDL0IsTUFBTUMsV0FBVyxHQUFHLGlDQUFwQjtBQUVBQyxRQUFRLENBQUMseUJBQUQsRUFBNEIsTUFBTTtBQUN4Q0MsRUFBQUEsU0FBUyxDQUFDLE1BQU07QUFDZCwwQ0FEYyxDQUNRO0FBQ3ZCLEdBRlEsQ0FBVDtBQUlBQyxFQUFBQSxJQUFJLENBQUMsaURBQUQsRUFBb0QsTUFBTTtBQUM1REMsSUFBQUEsTUFBTSxDQUFDQyxzQkFBU0MsUUFBVixDQUFOLENBQTBCQyxXQUExQjtBQUNBSCxJQUFBQSxNQUFNLENBQUNDLHNCQUFTQyxRQUFULENBQWtCRSxXQUFuQixDQUFOLENBQXNDQyxTQUF0QyxDQUFnRCxJQUFoRDtBQUNBTCxJQUFBQSxNQUFNLENBQUNDLHNCQUFTQyxRQUFULENBQWtCRSxXQUFuQixDQUFOLENBQXNDQyxTQUF0QyxDQUFnRCxhQUFoRDtBQUNBTCxJQUFBQSxNQUFNLENBQUNDLHNCQUFTQyxRQUFULENBQWtCRSxXQUFuQixDQUFOLENBQXNDQyxTQUF0QyxDQUFnRCxVQUFoRDtBQUNELEdBTEcsQ0FBSjtBQU9BLHVDQUFvQlYsVUFBcEIsRUFBaUNXLE1BQUQsSUFBWUEsTUFBTSxDQUFDQyxVQUFQLENBQWtCQyxlQUE5RCxFQUErRSx1Q0FBL0UsRUFBd0gsWUFBWTtBQUNsSSxVQUFNQyxPQUFPLHFCQUNSYixXQUFXLENBQUNhLE9BREo7QUFFWEMsTUFBQUEsU0FBUyxFQUFFZjtBQUZBLE1BQWI7O0FBS0EsVUFBTWdCLE9BQU8sR0FBRyxJQUFJQyxpQkFBSixDQUFvQkgsT0FBcEIsQ0FBaEI7QUFFQSxVQUFNSSxNQUFNLEdBQUcsTUFBTUYsT0FBTyxDQUFDRyxNQUFSLENBQWU7QUFBRUMsTUFBQUEsRUFBRSxFQUFFLFFBQU47QUFBZ0JDLE1BQUFBLFFBQVEsRUFBRSxTQUExQjtBQUFxQ0MsTUFBQUEsV0FBVyxFQUFFO0FBQWxELEtBQWYsQ0FBckI7QUFFQWpCLElBQUFBLE1BQU0sQ0FBQ2EsTUFBRCxDQUFOLENBQWVWLFdBQWY7QUFDQUgsSUFBQUEsTUFBTSxDQUFDYSxNQUFNLENBQUNLLE9BQVIsQ0FBTixDQUF1QkMsU0FBdkI7QUFDQW5CLElBQUFBLE1BQU0sQ0FBQ2EsTUFBTSxDQUFDTyxTQUFSLENBQU4sQ0FBeUJDLElBQXpCLENBQThCQyxxQ0FBYUMsZUFBM0M7QUFDRCxHQWJEO0FBZUEsdUNBQW9CNUIsVUFBcEIsRUFBZ0MsNkJBQWhDLEVBQStELFlBQVk7QUFDekUsVUFBTWMsT0FBTyxxQkFDUmIsV0FBVyxDQUFDYSxPQURKO0FBRVhDLE1BQUFBLFNBQVMsRUFBRWY7QUFGQSxNQUFiOztBQUtBLFVBQU1nQixPQUFPLEdBQUcsSUFBSUMsaUJBQUosQ0FBb0JILE9BQXBCLENBQWhCO0FBQ0EsVUFBTUksTUFBTSxHQUFHLE1BQU1GLE9BQU8sQ0FBQ0csTUFBUixDQUFlbEIsV0FBVyxDQUFDNEIsV0FBWixDQUF3QnRCLFFBQXZDLENBQXJCO0FBQ0FGLElBQUFBLE1BQU0sQ0FBQ2EsTUFBRCxDQUFOLENBQWVWLFdBQWY7QUFDQSxVQUFNc0IsS0FBSyxHQUFJLEdBQUVaLE1BQU0sQ0FBQ08sU0FBUCxJQUFvQixFQUFHLElBQUdQLE1BQU0sQ0FBQ2EsWUFBUCxJQUF1QixFQUFHLEVBQXZELENBQXlEQyxJQUF6RCxFQUFkO0FBQ0EzQixJQUFBQSxNQUFNLENBQUN5QixLQUFELENBQU4sQ0FBY0osSUFBZCxDQUFtQixFQUFuQjtBQUNBckIsSUFBQUEsTUFBTSxDQUFDYSxNQUFNLENBQUNLLE9BQVIsQ0FBTixDQUF1QlUsVUFBdkI7QUFFQSx3Q0FBbUJqQyxVQUFuQixFQUErQmtCLE1BQU0sQ0FBQ2dCLFFBQVAsSUFBbUIsRUFBbEQ7QUFDRCxHQWREO0FBZUQsQ0ExQ08sQ0FBUiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJc3JhY2FyZFNjcmFwZXIgZnJvbSAnLi9pc3JhY2FyZCc7XG5pbXBvcnQge1xuICBtYXliZVRlc3RDb21wYW55QVBJLCBleHRlbmRBc3luY1RpbWVvdXQsIGdldFRlc3RzQ29uZmlnLCBleHBvcnRUcmFuc2FjdGlvbnMsXG59IGZyb20gJy4uL3Rlc3RzL3Rlc3RzLXV0aWxzJztcbmltcG9ydCB7IFNDUkFQRVJTIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHsgTG9naW5SZXN1bHRzIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcblxuY29uc3QgQ09NUEFOWV9JRCA9ICdpc3JhY2FyZCc7IC8vIFRPRE8gdGhpcyBwcm9wZXJ0eSBzaG91bGQgYmUgaGFyZC1jb2RlZCBpbiB0aGUgcHJvdmlkZXJcbmNvbnN0IHRlc3RzQ29uZmlnID0gZ2V0VGVzdHNDb25maWcoKTtcblxuZGVzY3JpYmUoJ0lzcmFjYXJkIGxlZ2FjeSBzY3JhcGVyJywgKCkgPT4ge1xuICBiZWZvcmVBbGwoKCkgPT4ge1xuICAgIGV4dGVuZEFzeW5jVGltZW91dCgpOyAvLyBUaGUgZGVmYXVsdCB0aW1lb3V0IGlzIDUgc2Vjb25kcyBwZXIgYXN5bmMgdGVzdCwgdGhpcyBmdW5jdGlvbiBleHRlbmRzIHRoZSB0aW1lb3V0IHZhbHVlXG4gIH0pO1xuXG4gIHRlc3QoJ3Nob3VsZCBleHBvc2UgbG9naW4gZmllbGRzIGluIHNjcmFwZXJzIGNvbnN0YW50JywgKCkgPT4ge1xuICAgIGV4cGVjdChTQ1JBUEVSUy5pc3JhY2FyZCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QoU0NSQVBFUlMuaXNyYWNhcmQubG9naW5GaWVsZHMpLnRvQ29udGFpbignaWQnKTtcbiAgICBleHBlY3QoU0NSQVBFUlMuaXNyYWNhcmQubG9naW5GaWVsZHMpLnRvQ29udGFpbignY2FyZDZEaWdpdHMnKTtcbiAgICBleHBlY3QoU0NSQVBFUlMuaXNyYWNhcmQubG9naW5GaWVsZHMpLnRvQ29udGFpbigncGFzc3dvcmQnKTtcbiAgfSk7XG5cbiAgbWF5YmVUZXN0Q29tcGFueUFQSShDT01QQU5ZX0lELCAoY29uZmlnKSA9PiBjb25maWcuY29tcGFueUFQSS5pbnZhbGlkUGFzc3dvcmQpKCdzaG91bGQgZmFpbCBvbiBpbnZhbGlkIHVzZXIvcGFzc3dvcmRcIicsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgLi4udGVzdHNDb25maWcub3B0aW9ucyxcbiAgICAgIGNvbXBhbnlJZDogQ09NUEFOWV9JRCxcbiAgICB9O1xuXG4gICAgY29uc3Qgc2NyYXBlciA9IG5ldyBJc3JhY2FyZFNjcmFwZXIob3B0aW9ucyk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzY3JhcGVyLnNjcmFwZSh7IGlkOiAnZTEwczEyJywgcGFzc3dvcmQ6ICczZjNzczNkJywgY2FyZDZEaWdpdHM6ICcxMjM0NTYnIH0pO1xuXG4gICAgZXhwZWN0KHJlc3VsdCkudG9CZURlZmluZWQoKTtcbiAgICBleHBlY3QocmVzdWx0LnN1Y2Nlc3MpLnRvQmVGYWxzeSgpO1xuICAgIGV4cGVjdChyZXN1bHQuZXJyb3JUeXBlKS50b0JlKExvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmQpO1xuICB9KTtcblxuICBtYXliZVRlc3RDb21wYW55QVBJKENPTVBBTllfSUQpKCdzaG91bGQgc2NyYXBlIHRyYW5zYWN0aW9uc1wiJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAuLi50ZXN0c0NvbmZpZy5vcHRpb25zLFxuICAgICAgY29tcGFueUlkOiBDT01QQU5ZX0lELFxuICAgIH07XG5cbiAgICBjb25zdCBzY3JhcGVyID0gbmV3IElzcmFjYXJkU2NyYXBlcihvcHRpb25zKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzY3JhcGVyLnNjcmFwZSh0ZXN0c0NvbmZpZy5jcmVkZW50aWFscy5pc3JhY2FyZCk7XG4gICAgZXhwZWN0KHJlc3VsdCkudG9CZURlZmluZWQoKTtcbiAgICBjb25zdCBlcnJvciA9IGAke3Jlc3VsdC5lcnJvclR5cGUgfHwgJyd9ICR7cmVzdWx0LmVycm9yTWVzc2FnZSB8fCAnJ31gLnRyaW0oKTtcbiAgICBleHBlY3QoZXJyb3IpLnRvQmUoJycpO1xuICAgIGV4cGVjdChyZXN1bHQuc3VjY2VzcykudG9CZVRydXRoeSgpO1xuXG4gICAgZXhwb3J0VHJhbnNhY3Rpb25zKENPTVBBTllfSUQsIHJlc3VsdC5hY2NvdW50cyB8fCBbXSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1,7 +1,11 @@
1
1
  import { BaseScraperWithBrowser } from './base-scraper-with-browser';
2
- import { ScaperScrapingResult } from './base-scraper';
3
- declare class LeumiScraper extends BaseScraperWithBrowser {
4
- getLoginOptions(credentials: Record<string, string>): {
2
+ import { ScraperScrapingResult } from './interface';
3
+ declare type ScraperSpecificCredentials = {
4
+ username: string;
5
+ password: string;
6
+ };
7
+ declare class LeumiScraper extends BaseScraperWithBrowser<ScraperSpecificCredentials> {
8
+ getLoginOptions(credentials: ScraperSpecificCredentials): {
5
9
  loginUrl: string;
6
10
  fields: {
7
11
  selector: string;
@@ -12,6 +16,6 @@ declare class LeumiScraper extends BaseScraperWithBrowser {
12
16
  postAction: () => Promise<void>;
13
17
  possibleResults: import("./base-scraper-with-browser").PossibleLoginResults;
14
18
  };
15
- fetchData(): Promise<ScaperScrapingResult>;
19
+ fetchData(): Promise<ScraperScrapingResult>;
16
20
  }
17
21
  export default LeumiScraper;
@@ -224,4 +224,4 @@ class LeumiScraper extends _baseScraperWithBrowser.BaseScraperWithBrowser {
224
224
 
225
225
  var _default = LeumiScraper;
226
226
  exports.default = _default;
227
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9sZXVtaS50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkxPR0lOX1VSTCIsIlRSQU5TQUNUSU9OU19VUkwiLCJGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMIiwiREFURV9GT1JNQVQiLCJBQ0NPVU5UX0JMT0NLRURfTVNHIiwiSU5WQUxJRF9QQVNTV09SRF9NU0ciLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwib3B0aW9ucyIsInBhZ2UiLCJFcnJvciIsImVycm9yTWVzc2FnZSIsImVsZW1lbnQiLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lclRleHQiLCJzdGFydHNXaXRoIiwiQWNjb3VudEJsb2NrZWQiLCJsYWJlbCIsIkNoYW5nZVBhc3N3b3JkIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlIiwidHJhbnNhY3Rpb25zIiwic3RhdHVzIiwibGVuZ3RoIiwicmVzdWx0IiwibWFwIiwicmF3VHJhbnNhY3Rpb24iLCJkYXRlIiwiRGF0ZVVUQyIsIm1pbGxpc2Vjb25kcyIsInRvSVNPU3RyaW5nIiwibmV3VHJhbnNhY3Rpb24iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsInByb2Nlc3NlZERhdGUiLCJkZXNjcmlwdGlvbiIsIkRlc2NyaXB0aW9uIiwiaWRlbnRpZmllciIsIlJlZmVyZW5jZU51bWJlckxvbmciLCJtZW1vIiwiQWRkaXRpb25hbERhdGEiLCJvcmlnaW5hbEN1cnJlbmN5IiwiU0hFS0VMX0NVUlJFTkNZIiwiY2hhcmdlZEFtb3VudCIsIkFtb3VudCIsIm9yaWdpbmFsQW1vdW50IiwiaGFuZ1Byb2Nlc3MiLCJ0aW1lb3V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0IiwiY2xpY2tCeVhQYXRoIiwieHBhdGgiLCJ3YWl0Rm9yWFBhdGgiLCJ2aXNpYmxlIiwiZWxtIiwiJHgiLCJjbGljayIsInJlbW92ZVNwZWNpYWxDaGFyYWN0ZXJzIiwic3RyIiwicmVwbGFjZSIsImZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudCIsInN0YXJ0RGF0ZSIsImFjY291bnRJZCIsImZvcm1hdCIsImZvY3VzIiwiZmluYWxSZXNwb25zZSIsIndhaXRGb3JSZXNwb25zZSIsInJlc3BvbnNlIiwidXJsIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc3BvbnNlSnNvbiIsImpzb24iLCJhY2NvdW50TnVtYmVyIiwiSlNPTiIsInBhcnNlIiwianNvblJlc3AiLCJwZW5kaW5nVHJhbnNhY3Rpb25zIiwiVG9kYXlUcmFuc2FjdGlvbnNJdGVtcyIsIkhpc3RvcnlUcmFuc2FjdGlvbnNJdGVtcyIsImJhbGFuY2UiLCJCYWxhbmNlRGlzcGxheSIsInBhcnNlRmxvYXQiLCJ1bmRlZmluZWQiLCJwZW5kaW5nVHhucyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiY29tcGxldGVkVHhucyIsIkNvbXBsZXRlZCIsInR4bnMiLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnRzIiwiYWNjb3VudHNJZHMiLCJldmFsdWF0ZSIsIkFycmF5IiwiZnJvbSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImUiLCJ0ZXh0Q29udGVudCIsInB1c2giLCJuYXZpZ2F0ZVRvTG9naW4iLCJsb2dpbkJ1dHRvblNlbGVjdG9yIiwid2FpdFVudGlsIiwiYWxsIiwid2FpdEZvclBvc3RMb2dpbiIsInJhY2UiLCJMZXVtaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsImNoZWNrUmVhZGluZXNzIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIm1pbmltdW1TdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwiZGVmYXVsdFN0YXJ0TW9tZW50IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQU1BOztBQUNBOztBQUlBOzs7O0FBRUEsTUFBTUEsUUFBUSxHQUFHLDZCQUFqQjtBQUNBLE1BQU1DLFNBQVMsR0FBRywwQkFBbEI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBSSxHQUFFRixRQUFTLDBEQUFyQztBQUNBLE1BQU1HLHlCQUF5QixHQUFJLEdBQUVILFFBQVMsaUZBQTlDO0FBRUEsTUFBTUksV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFBTUMsbUJBQW1CLEdBQUcsWUFBNUI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyx3REFBN0I7O0FBR0EsU0FBU0MsdUJBQVQsR0FBbUM7QUFDakMsUUFBTUMsSUFBcUMsR0FBRztBQUM1QyxLQUFDQyxxQ0FBYUMsT0FBZCxHQUF3QixDQUFDLHlCQUFELENBRG9CO0FBRTVDLEtBQUNELHFDQUFhRSxlQUFkLEdBQWdDLENBQzlCLE1BQU9DLE9BQVAsSUFBbUI7QUFDakIsVUFBSSxDQUFDQSxPQUFELElBQVksQ0FBQ0EsT0FBTyxDQUFDQyxJQUF6QixFQUErQjtBQUM3QixjQUFNLElBQUlDLEtBQUosQ0FBVSwrQkFBVixDQUFOO0FBQ0Q7O0FBQ0QsWUFBTUMsWUFBWSxHQUFHLE1BQU0sdUNBQVlILE9BQU8sQ0FBQ0MsSUFBcEIsRUFBMEIsWUFBMUIsRUFBd0MsRUFBeEMsRUFBNkNHLE9BQUQsSUFBYTtBQUFBOztBQUNsRixvQ0FBUUEsT0FBTyxDQUFDLENBQUQsQ0FBZix1RUFBUSxVQUFZQyxhQUFwQiwwREFBUSxzQkFBMkJDLFFBQTNCLENBQW9DLENBQXBDLENBQVIseUNBQU8sS0FBNERDLFNBQW5FO0FBQ0QsT0FGMEIsQ0FBM0I7QUFJQSxhQUFPSixZ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QyxHQUE5QixDQUFrQyxDQUFsQyxFQUFxQyxLQUFyQyxDQUEzQjtBQUNBLFVBQU1DLGtCQUFrQixHQUFHLHVCQUFTRixRQUFULENBQWtCLENBQWxCLEVBQXFCLE9BQXJCLEVBQThCQyxHQUE5QixDQUFrQyxDQUFsQyxFQUFxQyxLQUFyQyxDQUEzQjtBQUNBLFVBQU0xRCxTQUFTLEdBQUcsS0FBSzdELE9BQUwsQ0FBYTZELFNBQWIsSUFBMEIyRCxrQkFBa0IsQ0FBQ0MsTUFBbkIsRUFBNUM7O0FBQ0EsVUFBTUMsV0FBVyxHQUFHQyxnQkFBT0MsR0FBUCxDQUFXUCxrQkFBWCxFQUErQixxQkFBT3hELFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsVUFBTSxLQUFLZ0UsVUFBTCxDQUFnQnZJLGdCQUFoQixDQUFOO0FBRUEsVUFBTXFHLFFBQVEsR0FBRyxNQUFNRCxpQkFBaUIsQ0FBQyxLQUFLekYsSUFBTixFQUFZeUgsV0FBWixDQUF4QztBQUVBLFdBQU87QUFDTEksTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTG5DLE1BQUFBO0FBRkssS0FBUDtBQUlEOztBQTFCK0M7O2VBNkJuQ2dCLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgTG9naW5PcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGZpbGxJbnB1dCxcbiAgY2xpY2tCdXR0b24sXG4gIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbiAgcGFnZUV2YWxBbGwsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbnNBY2NvdW50LCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IFNjYXBlclNjcmFwaW5nUmVzdWx0LCBTY3JhcGVyQ3JlZGVudGlhbHMgfSBmcm9tICcuL2Jhc2Utc2NyYXBlcic7XG5pbXBvcnQgeyB3YWl0Rm9yTmF2aWdhdGlvbiB9IGZyb20gJy4uL2hlbHBlcnMvbmF2aWdhdGlvbic7XG5cbmNvbnN0IEJBU0VfVVJMID0gJ2h0dHBzOi8vaGIyLmJhbmtsZXVtaS5jby5pbCc7XG5jb25zdCBMT0dJTl9VUkwgPSAnaHR0cHM6Ly93d3cubGV1bWkuY28uaWwvJztcbmNvbnN0IFRSQU5TQUNUSU9OU19VUkwgPSBgJHtCQVNFX1VSTH0vZUJhbmtpbmcvU08vU1BBLmFzcHgjL3RzL0J1c2luZXNzQWNjb3VudFRyeD9XaWRnZXRQYXI9MWA7XG5jb25zdCBGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMID0gYCR7QkFTRV9VUkx9L0NoYW5uZWxXQ0YvQnJva2VyLnN2Yy9Qcm9jZXNzUmVxdWVzdD9tb2R1bGVOYW1lPVVDX1NPXzI3X0dldEJ1c2luZXNzQWNjb3VudFRyeGA7XG5cbmNvbnN0IERBVEVfRk9STUFUID0gJ0RELk1NLllZJztcbmNvbnN0IEFDQ09VTlRfQkxPQ0tFRF9NU0cgPSAn15TXnteg15XXmSDXl9eh15XXnSc7XG5jb25zdCBJTlZBTElEX1BBU1NXT1JEX01TRyA9ICfXkNeX15Mg15DXlSDXmdeV16rXqCDXntek16jXmNeZINeU15TXlteT15TXldeqINep157Xodeo16og16nXkteV15nXmdedLiDXoNeZ16rXnyDXnNeg16HXldeqINep15XXkSc7XG5cblxuZnVuY3Rpb24gZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSB7XG4gIGNvbnN0IHVybHM6IExvZ2luT3B0aW9uc1sncG9zc2libGVSZXN1bHRzJ10gPSB7XG4gICAgW0xvZ2luUmVzdWx0cy5TdWNjZXNzXTogWy9lYmFua2luZ1xcL1NPXFwvU1BBLmFzcHgvaV0sXG4gICAgW0xvZ2luUmVzdWx0cy5JbnZhbGlkUGFzc3dvcmRdOiBbXG4gICAgICBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMgfHwgIW9wdGlvbnMucGFnZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBwYWdlIG9wdGlvbnMgYXJndW1lbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBhd2FpdCBwYWdlRXZhbEFsbChvcHRpb25zLnBhZ2UsICdzdmcjQ2FwYV8xJywgJycsIChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChlbGVtZW50WzBdPy5wYXJlbnRFbGVtZW50Py5jaGlsZHJlblsxXSBhcyBIVE1MRGl2RWxlbWVudCk/LmlubmVyVGV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZT8uc3RhcnRzV2l0aChJTlZBTElEX1BBU1NXT1JEX01TRyk7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW0xvZ2luUmVzdWx0cy5BY2NvdW50QmxvY2tlZF06IFsgLy8gTk9USUNFIC0gbWlnaHQgbm90IGJlIHJlbGV2YW50IHN0YXJ0aW5nIHRoZSBMZXVtaSByZS1kZXNpZ24gZHVyaW5nIDIwMjIgU2VwXG4gICAgICBhc3luYyAob3B0aW9ucykgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbnMgfHwgIW9wdGlvbnMucGFnZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBwYWdlIG9wdGlvbnMgYXJndW1lbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBhd2FpdCBwYWdlRXZhbEFsbChvcHRpb25zLnBhZ2UsICcuZXJySGVhZGVyJywgJycsIChsYWJlbCkgPT4ge1xuICAgICAgICAgIHJldHVybiAobGFiZWxbMF0gYXMgSFRNTEVsZW1lbnQpPy5pbm5lclRleHQ7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvck1lc3NhZ2U/LnN0YXJ0c1dpdGgoQUNDT1VOVF9CTE9DS0VEX01TRyk7XG4gICAgICB9LFxuICAgIF0sXG4gICAgW0xvZ2luUmVzdWx0cy5DaGFuZ2VQYXNzd29yZF06IFsnaHR0cHM6Ly9oYjIuYmFua2xldW1pLmNvLmlsL2F1dGhlbnRpY2F0ZSddLCAvLyBOT1RJQ0UgLSBtaWdodCBub3QgYmUgcmVsZXZhbnQgc3RhcnRpbmcgdGhlIExldW1pIHJlLWRlc2lnbiBkdXJpbmcgMjAyMiBTZXBcbiAgfTtcbiAgcmV0dXJuIHVybHM7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzOiBTY3JhcGVyQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIFtcbiAgICB7IHNlbGVjdG9yOiAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXqdedINee16nXqtee16lcIl0nLCB2YWx1ZTogY3JlZGVudGlhbHMudXNlcm5hbWUgfSxcbiAgICB7IHNlbGVjdG9yOiAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXodeZ16HXnteUXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnBhc3N3b3JkIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZSh0cmFuc2FjdGlvbnM6IGFueVtdLCBzdGF0dXM6IFRyYW5zYWN0aW9uU3RhdHVzZXMpOiBUcmFuc2FjdGlvbltdIHtcbiAgaWYgKHRyYW5zYWN0aW9ucyA9PT0gbnVsbCB8fCB0cmFuc2FjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb25zLm1hcCgocmF3VHJhbnNhY3Rpb24pID0+IHtcbiAgICBjb25zdCBkYXRlID0gbW9tZW50KHJhd1RyYW5zYWN0aW9uLkRhdGVVVEMpLm1pbGxpc2Vjb25kcygwKS50b0lTT1N0cmluZygpO1xuICAgIGNvbnN0IG5ld1RyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHtcbiAgICAgIHN0YXR1cyxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZXMuTm9ybWFsLFxuICAgICAgZGF0ZSxcbiAgICAgIHByb2Nlc3NlZERhdGU6IGRhdGUsXG4gICAgICBkZXNjcmlwdGlvbjogcmF3VHJhbnNhY3Rpb24uRGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBpZGVudGlmaWVyOiByYXdUcmFuc2FjdGlvbi5SZWZlcmVuY2VOdW1iZXJMb25nLFxuICAgICAgbWVtbzogcmF3VHJhbnNhY3Rpb24uQWRkaXRpb25hbERhdGEgfHwgJycsXG4gICAgICBvcmlnaW5hbEN1cnJlbmN5OiBTSEVLRUxfQ1VSUkVOQ1ksXG4gICAgICBjaGFyZ2VkQW1vdW50OiByYXdUcmFuc2FjdGlvbi5BbW91bnQsXG4gICAgICBvcmlnaW5hbEFtb3VudDogcmF3VHJhbnNhY3Rpb24uQW1vdW50LFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3VHJhbnNhY3Rpb247XG4gIH0pO1xuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGhhbmdQcm9jZXNzKHRpbWVvdXQ6IG51bWJlcikge1xuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICB9LCB0aW1lb3V0KTtcbiAgfSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGNsaWNrQnlYUGF0aChwYWdlOiBQYWdlLCB4cGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHBhZ2Uud2FpdEZvclhQYXRoKHhwYXRoLCB7IHRpbWVvdXQ6IDMwMDAwLCB2aXNpYmxlOiB0cnVlIH0pO1xuICBjb25zdCBlbG0gPSBhd2FpdCBwYWdlLiR4KHhwYXRoKTtcbiAgYXdhaXQgZWxtWzBdLmNsaWNrKCk7XG59XG5cbmZ1bmN0aW9uIHJlbW92ZVNwZWNpYWxDaGFyYWN0ZXJzKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9bXjAtOS8tXS9nLCAnJyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudChwYWdlOiBQYWdlLCBzdGFydERhdGU6IE1vbWVudCwgYWNjb3VudElkOiBzdHJpbmcpOiBQcm9taXNlPFRyYW5zYWN0aW9uc0FjY291bnQ+IHtcbiAgLy8gREVWRUxPUEVSIE5PVElDRSB0aGUgYWNjb3VudCBudW1iZXIgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyIGlzIGJlaW5nIGFsdGVyZWQgYXRcbiAgLy8gcnVudGltZSBmb3Igc29tZSBhY2NvdW50cyBhZnRlciAxLTIgc2Vjb25kcyBzbyB3ZSBuZWVkIHRvIGhhbmcgdGhlIHByb2Nlc3MgZm9yIGEgc2hvcnQgd2hpbGUuXG4gIGF3YWl0IGhhbmdQcm9jZXNzKDQwMDApO1xuXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnYnV0dG9uW3RpdGxlPVwi15fXmdek15XXqSDXnteq16fXk9edXCJdJywgdHJ1ZSk7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdidXR0b25bdGl0bGU9XCLXl9eZ16TXldepINee16rXp9eT151cIl0nKTtcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdibGwtcmFkaW8tYnV0dG9uJywgdHJ1ZSk7XG4gIGF3YWl0IGNsaWNrQnV0dG9uKHBhZ2UsICdibGwtcmFkaW8tYnV0dG9uOm5vdChbY2hlY2tlZF0pJyk7XG5cbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdpbnB1dFtmb3JtY29udHJvbG5hbWU9XCJ0eHRJbnB1dEZyb21cIl0nLCB0cnVlKTtcblxuICBhd2FpdCBmaWxsSW5wdXQoXG4gICAgcGFnZSxcbiAgICAnaW5wdXRbZm9ybWNvbnRyb2xuYW1lPVwidHh0SW5wdXRGcm9tXCJdJyxcbiAgICBzdGFydERhdGUuZm9ybWF0KERBVEVfRk9STUFUKSxcbiAgKTtcblxuICAvLyB3ZSBtdXN0IGJsdXIgdGhlIGZyb20gY29udHJvbCBvdGhlcndpc2UgdGhlIHNlYXJjaCB3aWxsIHVzZSB0aGUgcHJldmlvdXMgdmFsdWVcbiAgYXdhaXQgcGFnZS5mb2N1cyhcImJ1dHRvblthcmlhLWxhYmVsPSfXodeg158nXVwiKTtcblxuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBcImJ1dHRvblthcmlhLWxhYmVsPSfXodeg158nXVwiKTtcbiAgY29uc3QgZmluYWxSZXNwb25zZSA9IGF3YWl0IHBhZ2Uud2FpdEZvclJlc3BvbnNlKChyZXNwb25zZSkgPT4ge1xuICAgIHJldHVybiByZXNwb25zZS51cmwoKSA9PT0gRklMVEVSRURfVFJBTlNBQ1RJT05TX1VSTCAmJlxuICAgICAgcmVzcG9uc2UucmVxdWVzdCgpLm1ldGhvZCgpID09PSAnUE9TVCc7XG4gIH0pO1xuXG4gIGNvbnN0IHJlc3BvbnNlSnNvbjogYW55ID0gYXdhaXQgZmluYWxSZXNwb25zZS5qc29uKCk7XG5cbiAgY29uc3QgYWNjb3VudE51bWJlciA9IGFjY291bnRJZC5yZXBsYWNlKCcvJywgJ18nKS5yZXBsYWNlKC9bXlxcZC1fXS9nLCAnJyk7XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBKU09OLnBhcnNlKHJlc3BvbnNlSnNvbi5qc29uUmVzcCk7XG5cbiAgY29uc3QgcGVuZGluZ1RyYW5zYWN0aW9ucyA9IHJlc3BvbnNlLlRvZGF5VHJhbnNhY3Rpb25zSXRlbXM7XG4gIGNvbnN0IHRyYW5zYWN0aW9ucyA9IHJlc3BvbnNlLkhpc3RvcnlUcmFuc2FjdGlvbnNJdGVtcztcbiAgY29uc3QgYmFsYW5jZSA9IHJlc3BvbnNlLkJhbGFuY2VEaXNwbGF5ID8gcGFyc2VGbG9hdChyZXNwb25zZS5CYWxhbmNlRGlzcGxheSkgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgcGVuZGluZ1R4bnMgPSBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UocGVuZGluZ1RyYW5zYWN0aW9ucywgVHJhbnNhY3Rpb25TdGF0dXNlcy5QZW5kaW5nKTtcbiAgY29uc3QgY29tcGxldGVkVHhucyA9IGV4dHJhY3RUcmFuc2FjdGlvbnNGcm9tUGFnZSh0cmFuc2FjdGlvbnMsIFRyYW5zYWN0aW9uU3RhdHVzZXMuQ29tcGxldGVkKTtcbiAgY29uc3QgdHhucyA9IFtcbiAgICAuLi5wZW5kaW5nVHhucyxcbiAgICAuLi5jb21wbGV0ZWRUeG5zLFxuICBdO1xuXG4gIHJldHVybiB7XG4gICAgYWNjb3VudE51bWJlcixcbiAgICBiYWxhbmNlLFxuICAgIHR4bnMsXG4gIH07XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGZldGNoVHJhbnNhY3Rpb25zKHBhZ2U6IFBhZ2UsIHN0YXJ0RGF0ZTogTW9tZW50KTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50W10+IHtcbiAgY29uc3QgYWNjb3VudHM6IFRyYW5zYWN0aW9uc0FjY291bnRbXSA9IFtdO1xuXG4gIC8vIERFVkVMT1BFUiBOT1RJQ0UgdGhlIGFjY291bnQgbnVtYmVyIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciBpcyBiZWluZyBhbHRlcmVkIGF0XG4gIC8vIHJ1bnRpbWUgZm9yIHNvbWUgYWNjb3VudHMgYWZ0ZXIgMS0yIHNlY29uZHMgc28gd2UgbmVlZCB0byBoYW5nIHRoZSBwcm9jZXNzIGZvciBhIHNob3J0IHdoaWxlLlxuICBhd2FpdCBoYW5nUHJvY2Vzcyg0MDAwKTtcblxuICBjb25zdCBhY2NvdW50c0lkcyA9IGF3YWl0IHBhZ2UuZXZhbHVhdGUoKCkgPT4gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdhcHAtbWFza2VkLW51bWJlci1jb21ibyBzcGFuLmRpc3BsYXktbnVtYmVyLWxpJyksIChlKSA9PiBlLnRleHRDb250ZW50KSkgYXMgc3RyaW5nW107XG5cbiAgLy8gZHVlIHRvIGEgYnVnLCB0aGUgYWx0ZXJlZCB2YWx1ZSBtaWdodCBpbmNsdWRlIHVuZGVzaXJlZCBzaWducyBsaWtlICYgdGhhdCBzaG91bGQgYmUgcmVtb3ZlZFxuXG4gIGlmICghYWNjb3VudHNJZHMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gZXh0cmFjdCBvciBwYXJzZSB0aGUgYWNjb3VudCBudW1iZXInKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYWNjb3VudElkIG9mIGFjY291bnRzSWRzKSB7XG4gICAgaWYgKGFjY291bnRzSWRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIGdldCBsaXN0IG9mIGFjY291bnRzIGFuZCBjaGVjayBhY2NvdW50SWRcbiAgICAgIGF3YWl0IGNsaWNrQnlYUGF0aChwYWdlLCAnLy8qW2NvbnRhaW5zKEBjbGFzcywgXCJudW1iZXJcIikgYW5kIGNvbnRhaW5zKEBjbGFzcywgXCJjb21iby1pbm5lclwiKV0nKTtcbiAgICAgIGF3YWl0IGNsaWNrQnlYUGF0aChwYWdlLCBgLy9zcGFuW2NvbnRhaW5zKHRleHQoKSwgJyR7YWNjb3VudElkfScpXWApO1xuICAgIH1cblxuICAgIGFjY291bnRzLnB1c2goYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnNGb3JBY2NvdW50KHBhZ2UsIHN0YXJ0RGF0ZSwgcmVtb3ZlU3BlY2lhbENoYXJhY3RlcnMoYWNjb3VudElkKSkpO1xuICB9XG5cbiAgcmV0dXJuIGFjY291bnRzO1xufVxuXG5cbmFzeW5jIGZ1bmN0aW9uIG5hdmlnYXRlVG9Mb2dpbihwYWdlOiBQYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGxvZ2luQnV0dG9uU2VsZWN0b3IgPSAnI2VudGVyX3lvdXJfYWNjb3VudCBhJztcbiAgYXdhaXQgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsIGxvZ2luQnV0dG9uU2VsZWN0b3IpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCBsb2dpbkJ1dHRvblNlbGVjdG9yKTtcbiAgYXdhaXQgd2FpdEZvck5hdmlnYXRpb24ocGFnZSwgeyB3YWl0VW50aWw6ICduZXR3b3JraWRsZTInIH0pO1xuICBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdpbnB1dFtwbGFjZWhvbGRlcj1cItep150g157Xqdeq157XqVwiXScsIHRydWUpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXodeZ16HXnteUXCJdJywgdHJ1ZSksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdidXR0b25bdHlwZT1cInN1Ym1pdFwiXScsIHRydWUpLFxuICBdKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gd2FpdEZvclBvc3RMb2dpbihwYWdlOiBQYWdlKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IFByb21pc2UucmFjZShbXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdhW3RpdGxlPVwi15PXnNeSINec15fXqdeR15XXn1wiXScsIHRydWUsIDYwMDAwKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2Rpdi5tYWluLWNvbnRlbnQnLCB0cnVlLCA2MDAwMCksXG4gICAgcGFnZS53YWl0Rm9yWFBhdGgoYC8vZGl2W2NvbnRhaW5zKHN0cmluZygpLFwiJHtJTlZBTElEX1BBU1NXT1JEX01TR31cIildYCksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdmb3JtW2FjdGlvbj1cIi9jaGFuZ2VwYXNzd29yZFwiXScsIHRydWUsIDYwMDAwKSwgLy8gbm90IHN1cmUgaWYgdGhleSBrZXB0IHRoaXMgb25lXG4gIF0pO1xufVxuXG5jbGFzcyBMZXVtaVNjcmFwZXIgZXh0ZW5kcyBCYXNlU2NyYXBlcldpdGhCcm93c2VyIHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvZ2luVXJsOiBMT0dJTl9VUkwsXG4gICAgICBmaWVsZHM6IGNyZWF0ZUxvZ2luRmllbGRzKGNyZWRlbnRpYWxzKSxcbiAgICAgIHN1Ym1pdEJ1dHRvblNlbGVjdG9yOiBcImJ1dHRvblt0eXBlPSdzdWJtaXQnXVwiLFxuICAgICAgY2hlY2tSZWFkaW5lc3M6IGFzeW5jICgpID0+IG5hdmlnYXRlVG9Mb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zdEFjdGlvbjogYXN5bmMgKCkgPT4gd2FpdEZvclBvc3RMb2dpbih0aGlzLnBhZ2UpLFxuICAgICAgcG9zc2libGVSZXN1bHRzOiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpLFxuICAgIH07XG4gIH1cblxuICBhc3luYyBmZXRjaERhdGEoKTogUHJvbWlzZTxTY2FwZXJTY3JhcGluZ1Jlc3VsdD4ge1xuICAgIGNvbnN0IG1pbmltdW1TdGFydE1vbWVudCA9IG1vbWVudCgpLnN1YnRyYWN0KDMsICd5ZWFycycpLmFkZCgxLCAnZGF5Jyk7XG4gICAgY29uc3QgZGVmYXVsdFN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMSwgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLm9wdGlvbnMuc3RhcnREYXRlIHx8IGRlZmF1bHRTdGFydE1vbWVudC50b0RhdGUoKTtcbiAgICBjb25zdCBzdGFydE1vbWVudCA9IG1vbWVudC5tYXgobWluaW11bVN0YXJ0TW9tZW50LCBtb21lbnQoc3RhcnREYXRlKSk7XG5cbiAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG8oVFJBTlNBQ1RJT05TX1VSTCk7XG5cbiAgICBjb25zdCBhY2NvdW50cyA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zKHRoaXMucGFnZSwgc3RhcnRNb21lbnQpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICBhY2NvdW50cyxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExldW1pU2NyYXBlcjtcbiJdfQ==
227
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JhcGVycy9sZXVtaS50cyJdLCJuYW1lcyI6WyJCQVNFX1VSTCIsIkxPR0lOX1VSTCIsIlRSQU5TQUNUSU9OU19VUkwiLCJGSUxURVJFRF9UUkFOU0FDVElPTlNfVVJMIiwiREFURV9GT1JNQVQiLCJBQ0NPVU5UX0JMT0NLRURfTVNHIiwiSU5WQUxJRF9QQVNTV09SRF9NU0ciLCJnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cyIsInVybHMiLCJMb2dpblJlc3VsdHMiLCJTdWNjZXNzIiwiSW52YWxpZFBhc3N3b3JkIiwib3B0aW9ucyIsInBhZ2UiLCJFcnJvciIsImVycm9yTWVzc2FnZSIsImVsZW1lbnQiLCJwYXJlbnRFbGVtZW50IiwiY2hpbGRyZW4iLCJpbm5lclRleHQiLCJzdGFydHNXaXRoIiwiQWNjb3VudEJsb2NrZWQiLCJsYWJlbCIsIkNoYW5nZVBhc3N3b3JkIiwiY3JlYXRlTG9naW5GaWVsZHMiLCJjcmVkZW50aWFscyIsInNlbGVjdG9yIiwidmFsdWUiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlIiwidHJhbnNhY3Rpb25zIiwic3RhdHVzIiwibGVuZ3RoIiwicmVzdWx0IiwibWFwIiwicmF3VHJhbnNhY3Rpb24iLCJkYXRlIiwiRGF0ZVVUQyIsIm1pbGxpc2Vjb25kcyIsInRvSVNPU3RyaW5nIiwibmV3VHJhbnNhY3Rpb24iLCJ0eXBlIiwiVHJhbnNhY3Rpb25UeXBlcyIsIk5vcm1hbCIsInByb2Nlc3NlZERhdGUiLCJkZXNjcmlwdGlvbiIsIkRlc2NyaXB0aW9uIiwiaWRlbnRpZmllciIsIlJlZmVyZW5jZU51bWJlckxvbmciLCJtZW1vIiwiQWRkaXRpb25hbERhdGEiLCJvcmlnaW5hbEN1cnJlbmN5IiwiU0hFS0VMX0NVUlJFTkNZIiwiY2hhcmdlZEFtb3VudCIsIkFtb3VudCIsIm9yaWdpbmFsQW1vdW50IiwiaGFuZ1Byb2Nlc3MiLCJ0aW1lb3V0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXRUaW1lb3V0IiwiY2xpY2tCeVhQYXRoIiwieHBhdGgiLCJ3YWl0Rm9yWFBhdGgiLCJ2aXNpYmxlIiwiZWxtIiwiJHgiLCJjbGljayIsInJlbW92ZVNwZWNpYWxDaGFyYWN0ZXJzIiwic3RyIiwicmVwbGFjZSIsImZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudCIsInN0YXJ0RGF0ZSIsImFjY291bnRJZCIsImZvcm1hdCIsImZvY3VzIiwiZmluYWxSZXNwb25zZSIsIndhaXRGb3JSZXNwb25zZSIsInJlc3BvbnNlIiwidXJsIiwicmVxdWVzdCIsIm1ldGhvZCIsInJlc3BvbnNlSnNvbiIsImpzb24iLCJhY2NvdW50TnVtYmVyIiwiSlNPTiIsInBhcnNlIiwianNvblJlc3AiLCJwZW5kaW5nVHJhbnNhY3Rpb25zIiwiVG9kYXlUcmFuc2FjdGlvbnNJdGVtcyIsIkhpc3RvcnlUcmFuc2FjdGlvbnNJdGVtcyIsImJhbGFuY2UiLCJCYWxhbmNlRGlzcGxheSIsInBhcnNlRmxvYXQiLCJ1bmRlZmluZWQiLCJwZW5kaW5nVHhucyIsIlRyYW5zYWN0aW9uU3RhdHVzZXMiLCJQZW5kaW5nIiwiY29tcGxldGVkVHhucyIsIkNvbXBsZXRlZCIsInR4bnMiLCJmZXRjaFRyYW5zYWN0aW9ucyIsImFjY291bnRzIiwiYWNjb3VudHNJZHMiLCJldmFsdWF0ZSIsIkFycmF5IiwiZnJvbSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImUiLCJ0ZXh0Q29udGVudCIsInB1c2giLCJuYXZpZ2F0ZVRvTG9naW4iLCJsb2dpbkJ1dHRvblNlbGVjdG9yIiwid2FpdFVudGlsIiwiYWxsIiwid2FpdEZvclBvc3RMb2dpbiIsInJhY2UiLCJMZXVtaVNjcmFwZXIiLCJCYXNlU2NyYXBlcldpdGhCcm93c2VyIiwiZ2V0TG9naW5PcHRpb25zIiwibG9naW5VcmwiLCJmaWVsZHMiLCJzdWJtaXRCdXR0b25TZWxlY3RvciIsImNoZWNrUmVhZGluZXNzIiwicG9zdEFjdGlvbiIsInBvc3NpYmxlUmVzdWx0cyIsImZldGNoRGF0YSIsIm1pbmltdW1TdGFydE1vbWVudCIsInN1YnRyYWN0IiwiYWRkIiwiZGVmYXVsdFN0YXJ0TW9tZW50IiwidG9EYXRlIiwic3RhcnRNb21lbnQiLCJtb21lbnQiLCJtYXgiLCJuYXZpZ2F0ZVRvIiwic3VjY2VzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQU1BOztBQUNBOztBQUlBOzs7O0FBRUEsTUFBTUEsUUFBUSxHQUFHLDZCQUFqQjtBQUNBLE1BQU1DLFNBQVMsR0FBRywwQkFBbEI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBSSxHQUFFRixRQUFTLDBEQUFyQztBQUNBLE1BQU1HLHlCQUF5QixHQUFJLEdBQUVILFFBQVMsaUZBQTlDO0FBRUEsTUFBTUksV0FBVyxHQUFHLFVBQXBCO0FBQ0EsTUFBTUMsbUJBQW1CLEdBQUcsWUFBNUI7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyx3REFBN0I7O0FBR0EsU0FBU0MsdUJBQVQsR0FBbUM7QUFDakMsUUFBTUMsSUFBcUMsR0FBRztBQUM1QyxLQUFDQyxxQ0FBYUMsT0FBZCxHQUF3QixDQUFDLHlCQUFELENBRG9CO0FBRTVDLEtBQUNELHFDQUFhRSxlQUFkLEdBQWdDLENBQzlCLE1BQU9DLE9BQVAsSUFBbUI7QUFDakIsVUFBSSxDQUFDQSxPQUFELElBQVksQ0FBQ0EsT0FBTyxDQUFDQyxJQUF6QixFQUErQjtBQUM3QixjQUFNLElBQUlDLEtBQUosQ0FBVSwrQkFBVixDQUFOO0FBQ0Q7O0FBQ0QsWUFBTUMsWUFBWSxHQUFHLE1BQU0sdUNBQVlILE9BQU8sQ0FBQ0MsSUFBcEIsRUFBMEIsWUFBMUIsRUFBd0MsRUFBeEMsRUFBNkNHLE9BQUQsSUFBYTtBQUFBOztBQUNsRixvQ0FBUUEsT0FBTyxDQUFDLENBQUQsQ0FBZix1RUFBUSxVQUFZQyxhQUFwQiwwREFBUSxzQkFBMkJDLFFBQTNCLENBQW9DLENBQXBDLENBQVIseUNBQU8sS0FBNERDLFNBQW5FO0FBQ0QsT0FGMEIsQ0FBM0I7QUFJQSxhQUFPSixZ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QyxHQUE5QixDQUFrQyxDQUFsQyxFQUFxQyxLQUFyQyxDQUEzQjtBQUNBLFVBQU1DLGtCQUFrQixHQUFHLHVCQUFTRixRQUFULENBQWtCLENBQWxCLEVBQXFCLE9BQXJCLEVBQThCQyxHQUE5QixDQUFrQyxDQUFsQyxFQUFxQyxLQUFyQyxDQUEzQjtBQUNBLFVBQU0xRCxTQUFTLEdBQUcsS0FBSzdELE9BQUwsQ0FBYTZELFNBQWIsSUFBMEIyRCxrQkFBa0IsQ0FBQ0MsTUFBbkIsRUFBNUM7O0FBQ0EsVUFBTUMsV0FBVyxHQUFHQyxnQkFBT0MsR0FBUCxDQUFXUCxrQkFBWCxFQUErQixxQkFBT3hELFNBQVAsQ0FBL0IsQ0FBcEI7O0FBRUEsVUFBTSxLQUFLZ0UsVUFBTCxDQUFnQnZJLGdCQUFoQixDQUFOO0FBRUEsVUFBTXFHLFFBQVEsR0FBRyxNQUFNRCxpQkFBaUIsQ0FBQyxLQUFLekYsSUFBTixFQUFZeUgsV0FBWixDQUF4QztBQUVBLFdBQU87QUFDTEksTUFBQUEsT0FBTyxFQUFFLElBREo7QUFFTG5DLE1BQUFBO0FBRkssS0FBUDtBQUlEOztBQTFCMkU7O2VBNkIvRGdCLFkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAncHVwcGV0ZWVyJztcbmltcG9ydCB7IEJhc2VTY3JhcGVyV2l0aEJyb3dzZXIsIExvZ2luUmVzdWx0cywgTG9naW5PcHRpb25zIH0gZnJvbSAnLi9iYXNlLXNjcmFwZXItd2l0aC1icm93c2VyJztcbmltcG9ydCB7XG4gIGZpbGxJbnB1dCxcbiAgY2xpY2tCdXR0b24sXG4gIHdhaXRVbnRpbEVsZW1lbnRGb3VuZCxcbiAgcGFnZUV2YWxBbGwsXG59IGZyb20gJy4uL2hlbHBlcnMvZWxlbWVudHMtaW50ZXJhY3Rpb25zJztcbmltcG9ydCB7IFNIRUtFTF9DVVJSRU5DWSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQge1xuICBUcmFuc2FjdGlvbnNBY2NvdW50LCBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25TdGF0dXNlcywgVHJhbnNhY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb25zJztcbmltcG9ydCB7IFNjcmFwZXJTY3JhcGluZ1Jlc3VsdCB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IHdhaXRGb3JOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vaGVscGVycy9uYXZpZ2F0aW9uJztcblxuY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly9oYjIuYmFua2xldW1pLmNvLmlsJztcbmNvbnN0IExPR0lOX1VSTCA9ICdodHRwczovL3d3dy5sZXVtaS5jby5pbC8nO1xuY29uc3QgVFJBTlNBQ1RJT05TX1VSTCA9IGAke0JBU0VfVVJMfS9lQmFua2luZy9TTy9TUEEuYXNweCMvdHMvQnVzaW5lc3NBY2NvdW50VHJ4P1dpZGdldFBhcj0xYDtcbmNvbnN0IEZJTFRFUkVEX1RSQU5TQUNUSU9OU19VUkwgPSBgJHtCQVNFX1VSTH0vQ2hhbm5lbFdDRi9Ccm9rZXIuc3ZjL1Byb2Nlc3NSZXF1ZXN0P21vZHVsZU5hbWU9VUNfU09fMjdfR2V0QnVzaW5lc3NBY2NvdW50VHJ4YDtcblxuY29uc3QgREFURV9GT1JNQVQgPSAnREQuTU0uWVknO1xuY29uc3QgQUNDT1VOVF9CTE9DS0VEX01TRyA9ICfXlNee16DXldeZINeX16HXldedJztcbmNvbnN0IElOVkFMSURfUEFTU1dPUkRfTVNHID0gJ9eQ15fXkyDXkNeVINeZ15XXqteoINee16TXqNeY15kg15TXlNeW15PXlNeV16og16nXnteh16jXqiDXqdeS15XXmdeZ150uINeg15nXqtefINec16DXodeV16og16nXldeRJztcblxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZUxvZ2luUmVzdWx0cygpIHtcbiAgY29uc3QgdXJsczogTG9naW5PcHRpb25zWydwb3NzaWJsZVJlc3VsdHMnXSA9IHtcbiAgICBbTG9naW5SZXN1bHRzLlN1Y2Nlc3NdOiBbL2ViYW5raW5nXFwvU09cXC9TUEEuYXNweC9pXSxcbiAgICBbTG9naW5SZXN1bHRzLkludmFsaWRQYXNzd29yZF06IFtcbiAgICAgIGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5wYWdlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHBhZ2Ugb3B0aW9ucyBhcmd1bWVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHBhZ2VFdmFsQWxsKG9wdGlvbnMucGFnZSwgJ3N2ZyNDYXBhXzEnLCAnJywgKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICByZXR1cm4gKGVsZW1lbnRbMF0/LnBhcmVudEVsZW1lbnQ/LmNoaWxkcmVuWzFdIGFzIEhUTUxEaXZFbGVtZW50KT8uaW5uZXJUZXh0O1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZXJyb3JNZXNzYWdlPy5zdGFydHNXaXRoKElOVkFMSURfUEFTU1dPUkRfTVNHKTtcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbTG9naW5SZXN1bHRzLkFjY291bnRCbG9ja2VkXTogWyAvLyBOT1RJQ0UgLSBtaWdodCBub3QgYmUgcmVsZXZhbnQgc3RhcnRpbmcgdGhlIExldW1pIHJlLWRlc2lnbiBkdXJpbmcgMjAyMiBTZXBcbiAgICAgIGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy5wYWdlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHBhZ2Ugb3B0aW9ucyBhcmd1bWVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGF3YWl0IHBhZ2VFdmFsQWxsKG9wdGlvbnMucGFnZSwgJy5lcnJIZWFkZXInLCAnJywgKGxhYmVsKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChsYWJlbFswXSBhcyBIVE1MRWxlbWVudCk/LmlubmVyVGV4dDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZT8uc3RhcnRzV2l0aChBQ0NPVU5UX0JMT0NLRURfTVNHKTtcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbTG9naW5SZXN1bHRzLkNoYW5nZVBhc3N3b3JkXTogWydodHRwczovL2hiMi5iYW5rbGV1bWkuY28uaWwvYXV0aGVudGljYXRlJ10sIC8vIE5PVElDRSAtIG1pZ2h0IG5vdCBiZSByZWxldmFudCBzdGFydGluZyB0aGUgTGV1bWkgcmUtZGVzaWduIGR1cmluZyAyMDIyIFNlcFxuICB9O1xuICByZXR1cm4gdXJscztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTG9naW5GaWVsZHMoY3JlZGVudGlhbHM6IFNjcmFwZXJTcGVjaWZpY0NyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBbXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16nXnSDXntep16rXntepXCJdJywgdmFsdWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH0sXG4gICAgeyBzZWxlY3RvcjogJ2lucHV0W3BsYWNlaG9sZGVyPVwi16HXmdeh157XlFwiXScsIHZhbHVlOiBjcmVkZW50aWFscy5wYXNzd29yZCB9LFxuICBdO1xufVxuXG5mdW5jdGlvbiBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zOiBhbnlbXSwgc3RhdHVzOiBUcmFuc2FjdGlvblN0YXR1c2VzKTogVHJhbnNhY3Rpb25bXSB7XG4gIGlmICh0cmFuc2FjdGlvbnMgPT09IG51bGwgfHwgdHJhbnNhY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9ucy5tYXAoKHJhd1RyYW5zYWN0aW9uKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IG1vbWVudChyYXdUcmFuc2FjdGlvbi5EYXRlVVRDKS5taWxsaXNlY29uZHMoMCkudG9JU09TdHJpbmcoKTtcbiAgICBjb25zdCBuZXdUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSB7XG4gICAgICBzdGF0dXMsXG4gICAgICB0eXBlOiBUcmFuc2FjdGlvblR5cGVzLk5vcm1hbCxcbiAgICAgIGRhdGUsXG4gICAgICBwcm9jZXNzZWREYXRlOiBkYXRlLFxuICAgICAgZGVzY3JpcHRpb246IHJhd1RyYW5zYWN0aW9uLkRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgaWRlbnRpZmllcjogcmF3VHJhbnNhY3Rpb24uUmVmZXJlbmNlTnVtYmVyTG9uZyxcbiAgICAgIG1lbW86IHJhd1RyYW5zYWN0aW9uLkFkZGl0aW9uYWxEYXRhIHx8ICcnLFxuICAgICAgb3JpZ2luYWxDdXJyZW5jeTogU0hFS0VMX0NVUlJFTkNZLFxuICAgICAgY2hhcmdlZEFtb3VudDogcmF3VHJhbnNhY3Rpb24uQW1vdW50LFxuICAgICAgb3JpZ2luYWxBbW91bnQ6IHJhd1RyYW5zYWN0aW9uLkFtb3VudCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ld1RyYW5zYWN0aW9uO1xuICB9KTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBoYW5nUHJvY2Vzcyh0aW1lb3V0OiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSwgdGltZW91dCk7XG4gIH0pO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjbGlja0J5WFBhdGgocGFnZTogUGFnZSwgeHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBwYWdlLndhaXRGb3JYUGF0aCh4cGF0aCwgeyB0aW1lb3V0OiAzMDAwMCwgdmlzaWJsZTogdHJ1ZSB9KTtcbiAgY29uc3QgZWxtID0gYXdhaXQgcGFnZS4keCh4cGF0aCk7XG4gIGF3YWl0IGVsbVswXS5jbGljaygpO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTcGVjaWFsQ2hhcmFjdGVycyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvW14wLTkvLV0vZywgJycpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9uc0ZvckFjY291bnQocGFnZTogUGFnZSwgc3RhcnREYXRlOiBNb21lbnQsIGFjY291bnRJZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2FjdGlvbnNBY2NvdW50PiB7XG4gIC8vIERFVkVMT1BFUiBOT1RJQ0UgdGhlIGFjY291bnQgbnVtYmVyIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciBpcyBiZWluZyBhbHRlcmVkIGF0XG4gIC8vIHJ1bnRpbWUgZm9yIHNvbWUgYWNjb3VudHMgYWZ0ZXIgMS0yIHNlY29uZHMgc28gd2UgbmVlZCB0byBoYW5nIHRoZSBwcm9jZXNzIGZvciBhIHNob3J0IHdoaWxlLlxuICBhd2FpdCBoYW5nUHJvY2Vzcyg0MDAwKTtcblxuICBhd2FpdCB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2J1dHRvblt0aXRsZT1cIteX15nXpNeV16kg157Xqten15PXnVwiXScsIHRydWUpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCAnYnV0dG9uW3RpdGxlPVwi15fXmdek15XXqSDXnteq16fXk9edXCJdJyk7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnYmxsLXJhZGlvLWJ1dHRvbicsIHRydWUpO1xuICBhd2FpdCBjbGlja0J1dHRvbihwYWdlLCAnYmxsLXJhZGlvLWJ1dHRvbjpub3QoW2NoZWNrZWRdKScpO1xuXG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnaW5wdXRbZm9ybWNvbnRyb2xuYW1lPVwidHh0SW5wdXRGcm9tXCJdJywgdHJ1ZSk7XG5cbiAgYXdhaXQgZmlsbElucHV0KFxuICAgIHBhZ2UsXG4gICAgJ2lucHV0W2Zvcm1jb250cm9sbmFtZT1cInR4dElucHV0RnJvbVwiXScsXG4gICAgc3RhcnREYXRlLmZvcm1hdChEQVRFX0ZPUk1BVCksXG4gICk7XG5cbiAgLy8gd2UgbXVzdCBibHVyIHRoZSBmcm9tIGNvbnRyb2wgb3RoZXJ3aXNlIHRoZSBzZWFyY2ggd2lsbCB1c2UgdGhlIHByZXZpb3VzIHZhbHVlXG4gIGF3YWl0IHBhZ2UuZm9jdXMoXCJidXR0b25bYXJpYS1sYWJlbD0n16HXoNefJ11cIik7XG5cbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgXCJidXR0b25bYXJpYS1sYWJlbD0n16HXoNefJ11cIik7XG4gIGNvbnN0IGZpbmFsUmVzcG9uc2UgPSBhd2FpdCBwYWdlLndhaXRGb3JSZXNwb25zZSgocmVzcG9uc2UpID0+IHtcbiAgICByZXR1cm4gcmVzcG9uc2UudXJsKCkgPT09IEZJTFRFUkVEX1RSQU5TQUNUSU9OU19VUkwgJiZcbiAgICAgIHJlc3BvbnNlLnJlcXVlc3QoKS5tZXRob2QoKSA9PT0gJ1BPU1QnO1xuICB9KTtcblxuICBjb25zdCByZXNwb25zZUpzb246IGFueSA9IGF3YWl0IGZpbmFsUmVzcG9uc2UuanNvbigpO1xuXG4gIGNvbnN0IGFjY291bnROdW1iZXIgPSBhY2NvdW50SWQucmVwbGFjZSgnLycsICdfJykucmVwbGFjZSgvW15cXGQtX10vZywgJycpO1xuXG4gIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZShyZXNwb25zZUpzb24uanNvblJlc3ApO1xuXG4gIGNvbnN0IHBlbmRpbmdUcmFuc2FjdGlvbnMgPSByZXNwb25zZS5Ub2RheVRyYW5zYWN0aW9uc0l0ZW1zO1xuICBjb25zdCB0cmFuc2FjdGlvbnMgPSByZXNwb25zZS5IaXN0b3J5VHJhbnNhY3Rpb25zSXRlbXM7XG4gIGNvbnN0IGJhbGFuY2UgPSByZXNwb25zZS5CYWxhbmNlRGlzcGxheSA/IHBhcnNlRmxvYXQocmVzcG9uc2UuQmFsYW5jZURpc3BsYXkpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHBlbmRpbmdUeG5zID0gZXh0cmFjdFRyYW5zYWN0aW9uc0Zyb21QYWdlKHBlbmRpbmdUcmFuc2FjdGlvbnMsIFRyYW5zYWN0aW9uU3RhdHVzZXMuUGVuZGluZyk7XG4gIGNvbnN0IGNvbXBsZXRlZFR4bnMgPSBleHRyYWN0VHJhbnNhY3Rpb25zRnJvbVBhZ2UodHJhbnNhY3Rpb25zLCBUcmFuc2FjdGlvblN0YXR1c2VzLkNvbXBsZXRlZCk7XG4gIGNvbnN0IHR4bnMgPSBbXG4gICAgLi4ucGVuZGluZ1R4bnMsXG4gICAgLi4uY29tcGxldGVkVHhucyxcbiAgXTtcblxuICByZXR1cm4ge1xuICAgIGFjY291bnROdW1iZXIsXG4gICAgYmFsYW5jZSxcbiAgICB0eG5zLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFRyYW5zYWN0aW9ucyhwYWdlOiBQYWdlLCBzdGFydERhdGU6IE1vbWVudCk6IFByb21pc2U8VHJhbnNhY3Rpb25zQWNjb3VudFtdPiB7XG4gIGNvbnN0IGFjY291bnRzOiBUcmFuc2FjdGlvbnNBY2NvdW50W10gPSBbXTtcblxuICAvLyBERVZFTE9QRVIgTk9USUNFIHRoZSBhY2NvdW50IG51bWJlciByZWNlaXZlZCBmcm9tIHRoZSBzZXJ2ZXIgaXMgYmVpbmcgYWx0ZXJlZCBhdFxuICAvLyBydW50aW1lIGZvciBzb21lIGFjY291bnRzIGFmdGVyIDEtMiBzZWNvbmRzIHNvIHdlIG5lZWQgdG8gaGFuZyB0aGUgcHJvY2VzcyBmb3IgYSBzaG9ydCB3aGlsZS5cbiAgYXdhaXQgaGFuZ1Byb2Nlc3MoNDAwMCk7XG5cbiAgY29uc3QgYWNjb3VudHNJZHMgPSBhd2FpdCBwYWdlLmV2YWx1YXRlKCgpID0+IEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYXBwLW1hc2tlZC1udW1iZXItY29tYm8gc3Bhbi5kaXNwbGF5LW51bWJlci1saScpLCAoZSkgPT4gZS50ZXh0Q29udGVudCkpIGFzIHN0cmluZ1tdO1xuXG4gIC8vIGR1ZSB0byBhIGJ1ZywgdGhlIGFsdGVyZWQgdmFsdWUgbWlnaHQgaW5jbHVkZSB1bmRlc2lyZWQgc2lnbnMgbGlrZSAmIHRoYXQgc2hvdWxkIGJlIHJlbW92ZWRcblxuICBpZiAoIWFjY291bnRzSWRzLmxlbmd0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGV4dHJhY3Qgb3IgcGFyc2UgdGhlIGFjY291bnQgbnVtYmVyJyk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGFjY291bnRJZCBvZiBhY2NvdW50c0lkcykge1xuICAgIGlmIChhY2NvdW50c0lkcy5sZW5ndGggPiAxKSB7XG4gICAgICAvLyBnZXQgbGlzdCBvZiBhY2NvdW50cyBhbmQgY2hlY2sgYWNjb3VudElkXG4gICAgICBhd2FpdCBjbGlja0J5WFBhdGgocGFnZSwgJy8vKltjb250YWlucyhAY2xhc3MsIFwibnVtYmVyXCIpIGFuZCBjb250YWlucyhAY2xhc3MsIFwiY29tYm8taW5uZXJcIildJyk7XG4gICAgICBhd2FpdCBjbGlja0J5WFBhdGgocGFnZSwgYC8vc3Bhbltjb250YWlucyh0ZXh0KCksICcke2FjY291bnRJZH0nKV1gKTtcbiAgICB9XG5cbiAgICBhY2NvdW50cy5wdXNoKGF3YWl0IGZldGNoVHJhbnNhY3Rpb25zRm9yQWNjb3VudChwYWdlLCBzdGFydERhdGUsIHJlbW92ZVNwZWNpYWxDaGFyYWN0ZXJzKGFjY291bnRJZCkpKTtcbiAgfVxuXG4gIHJldHVybiBhY2NvdW50cztcbn1cblxuXG5hc3luYyBmdW5jdGlvbiBuYXZpZ2F0ZVRvTG9naW4ocGFnZTogUGFnZSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBsb2dpbkJ1dHRvblNlbGVjdG9yID0gJyNlbnRlcl95b3VyX2FjY291bnQgYSc7XG4gIGF3YWl0IHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCBsb2dpbkJ1dHRvblNlbGVjdG9yKTtcbiAgYXdhaXQgY2xpY2tCdXR0b24ocGFnZSwgbG9naW5CdXR0b25TZWxlY3Rvcik7XG4gIGF3YWl0IHdhaXRGb3JOYXZpZ2F0aW9uKHBhZ2UsIHsgd2FpdFVudGlsOiAnbmV0d29ya2lkbGUyJyB9KTtcbiAgYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnaW5wdXRbcGxhY2Vob2xkZXI9XCLXqdedINee16nXqtee16lcIl0nLCB0cnVlKSxcbiAgICB3YWl0VW50aWxFbGVtZW50Rm91bmQocGFnZSwgJ2lucHV0W3BsYWNlaG9sZGVyPVwi16HXmdeh157XlFwiXScsIHRydWUpLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0nLCB0cnVlKSxcbiAgXSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHdhaXRGb3JQb3N0TG9naW4ocGFnZTogUGFnZSk6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBQcm9taXNlLnJhY2UoW1xuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnYVt0aXRsZT1cIteT15zXkiDXnNeX16nXkdeV159cIl0nLCB0cnVlLCA2MDAwMCksXG4gICAgd2FpdFVudGlsRWxlbWVudEZvdW5kKHBhZ2UsICdkaXYubWFpbi1jb250ZW50JywgdHJ1ZSwgNjAwMDApLFxuICAgIHBhZ2Uud2FpdEZvclhQYXRoKGAvL2Rpdltjb250YWlucyhzdHJpbmcoKSxcIiR7SU5WQUxJRF9QQVNTV09SRF9NU0d9XCIpXWApLFxuICAgIHdhaXRVbnRpbEVsZW1lbnRGb3VuZChwYWdlLCAnZm9ybVthY3Rpb249XCIvY2hhbmdlcGFzc3dvcmRcIl0nLCB0cnVlLCA2MDAwMCksIC8vIG5vdCBzdXJlIGlmIHRoZXkga2VwdCB0aGlzIG9uZVxuICBdKTtcbn1cblxudHlwZSBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscyA9IHsgdXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZ307XG5cbmNsYXNzIExldW1pU2NyYXBlciBleHRlbmRzIEJhc2VTY3JhcGVyV2l0aEJyb3dzZXI8U2NyYXBlclNwZWNpZmljQ3JlZGVudGlhbHM+IHtcbiAgZ2V0TG9naW5PcHRpb25zKGNyZWRlbnRpYWxzOiBTY3JhcGVyU3BlY2lmaWNDcmVkZW50aWFscykge1xuICAgIHJldHVybiB7XG4gICAgICBsb2dpblVybDogTE9HSU5fVVJMLFxuICAgICAgZmllbGRzOiBjcmVhdGVMb2dpbkZpZWxkcyhjcmVkZW50aWFscyksXG4gICAgICBzdWJtaXRCdXR0b25TZWxlY3RvcjogXCJidXR0b25bdHlwZT0nc3VibWl0J11cIixcbiAgICAgIGNoZWNrUmVhZGluZXNzOiBhc3luYyAoKSA9PiBuYXZpZ2F0ZVRvTG9naW4odGhpcy5wYWdlKSxcbiAgICAgIHBvc3RBY3Rpb246IGFzeW5jICgpID0+IHdhaXRGb3JQb3N0TG9naW4odGhpcy5wYWdlKSxcbiAgICAgIHBvc3NpYmxlUmVzdWx0czogZ2V0UG9zc2libGVMb2dpblJlc3VsdHMoKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hEYXRhKCk6IFByb21pc2U8U2NyYXBlclNjcmFwaW5nUmVzdWx0PiB7XG4gICAgY29uc3QgbWluaW11bVN0YXJ0TW9tZW50ID0gbW9tZW50KCkuc3VidHJhY3QoMywgJ3llYXJzJykuYWRkKDEsICdkYXknKTtcbiAgICBjb25zdCBkZWZhdWx0U3RhcnRNb21lbnQgPSBtb21lbnQoKS5zdWJ0cmFjdCgxLCAneWVhcnMnKS5hZGQoMSwgJ2RheScpO1xuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMub3B0aW9ucy5zdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0TW9tZW50LnRvRGF0ZSgpO1xuICAgIGNvbnN0IHN0YXJ0TW9tZW50ID0gbW9tZW50Lm1heChtaW5pbXVtU3RhcnRNb21lbnQsIG1vbWVudChzdGFydERhdGUpKTtcblxuICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUbyhUUkFOU0FDVElPTlNfVVJMKTtcblxuICAgIGNvbnN0IGFjY291bnRzID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbnModGhpcy5wYWdlLCBzdGFydE1vbWVudCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgIGFjY291bnRzLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTGV1bWlTY3JhcGVyO1xuIl19
@@ -1,8 +1,11 @@
1
1
  import { BaseScraperWithBrowser, PossibleLoginResults } from './base-scraper-with-browser';
2
2
  import { Transaction } from '../transactions';
3
- import { ScraperCredentials } from './base-scraper';
4
- declare class MaxScraper extends BaseScraperWithBrowser {
5
- getLoginOptions(credentials: ScraperCredentials): {
3
+ declare type ScraperSpecificCredentials = {
4
+ username: string;
5
+ password: string;
6
+ };
7
+ declare class MaxScraper extends BaseScraperWithBrowser<ScraperSpecificCredentials> {
8
+ getLoginOptions(credentials: ScraperSpecificCredentials): {
6
9
  loginUrl: string;
7
10
  fields: {
8
11
  selector: string;