diff --git a/lib/telegram-driver/sinks.js b/lib/telegram-driver/sinks.js index 9d89f8f..b7b2b92 100644 --- a/lib/telegram-driver/sinks.js +++ b/lib/telegram-driver/sinks.js @@ -37,7 +37,7 @@ var broadcast = exports.broadcast = (0, _ramda.curryN)(2, function () { chat_id: (0, _ramda.defaultTo)((0, _ramda.path)(['message', 'chat', 'id'], update)), text: (0, _ramda.defaultTo)('Null-catch: no text provided'), reply_markup: JSON.stringify - }, options) + }, (0, _ramda.is)(String, options) ? { text: options } : options) }); }); @@ -549,37 +549,27 @@ var answerCallbackQuery = exports.answerCallbackQuery = (0, _ramda.curryN)(2, fu }); var editMessageText = exports.editMessageText = (0, _ramda.curryN)(2, function () { - var _ref20 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - - var text = _ref20.text; - var _ref20$parse_mode = _ref20.parse_mode; - var parse_mode = _ref20$parse_mode === undefined ? null : _ref20$parse_mode; - var _ref20$disable_web_pa = _ref20.disable_web_page_preview; - var disable_web_page_preview = _ref20$disable_web_pa === undefined ? null : _ref20$disable_web_pa; - var _ref20$reply_markup = _ref20.reply_markup; - var reply_markup = _ref20$reply_markup === undefined ? null : _ref20$reply_markup; + var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; var update = arguments[1]; - - var options = { - text: text, - parse_mode: parse_mode, - disable_web_page_preview: disable_web_page_preview, - reply_markup: reply_markup - }; return (0, _types.Request)({ type: 'sink', method: 'editMessageText', - options: options + options: (0, _helpers.defaults)({ + chat_id: (0, _ramda.defaultTo)((0, _ramda.path)(['message', 'chat', 'id'], update)), + message_id: (0, _ramda.defaultTo)((0, _ramda.path)(['message', 'message_id'], update)), + text: (0, _ramda.defaultTo)('Null-catch: no text provided'), + reply_markup: JSON.stringify + }, options) }); }); var editMessageCaption = exports.editMessageCaption = (0, _ramda.curryN)(2, function () { - var _ref21 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + var _ref20 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - var _ref21$caption = _ref21.caption; - var caption = _ref21$caption === undefined ? null : _ref21$caption; - var _ref21$reply_markup = _ref21.reply_markup; - var reply_markup = _ref21$reply_markup === undefined ? null : _ref21$reply_markup; + var _ref20$caption = _ref20.caption; + var caption = _ref20$caption === undefined ? null : _ref20$caption; + var _ref20$reply_markup = _ref20.reply_markup; + var reply_markup = _ref20$reply_markup === undefined ? null : _ref20$reply_markup; var update = arguments[1]; var options = { @@ -594,10 +584,10 @@ var editMessageCaption = exports.editMessageCaption = (0, _ramda.curryN)(2, func }); var editMessageReplyMarkup = exports.editMessageReplyMarkup = (0, _ramda.curryN)(2, function () { - var _ref22 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; + var _ref21 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - var _ref22$reply_markup = _ref22.reply_markup; - var reply_markup = _ref22$reply_markup === undefined ? null : _ref22$reply_markup; + var _ref21$reply_markup = _ref21.reply_markup; + var reply_markup = _ref21$reply_markup === undefined ? null : _ref21$reply_markup; var update = arguments[1]; var options = { @@ -609,4 +599,4 @@ var editMessageReplyMarkup = exports.editMessageReplyMarkup = (0, _ramda.curryN) options: options }); }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZWxlZ3JhbS1kcml2ZXIvc2lua3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOztBQU9BOztBQUVPLElBQUksa0NBQWEsU0FBYixVQUFhO0FBQUEsTUFBQyxPQUFELHlEQUFXLEVBQVg7QUFBQSxTQUFrQixvQkFBUTtBQUNoRCxVQUFNLE1BRDBDO0FBRWhELFlBQVEsWUFGd0M7QUFHaEQ7QUFIZ0QsR0FBUixDQUFsQjtBQUFBLENBQWpCLEM7O0FBTUEsSUFBSSw0QkFBVSxTQUFWLE9BQVUsQ0FBQyxNQUFEO0FBQUEsU0FBWSw0QkFBZ0I7QUFDL0MsVUFBTSxTQUR5QztBQUUvQztBQUYrQyxHQUFoQixDQUFaO0FBQUEsQ0FBZDs7QUFLQSxJQUFJLGdDQUFZLG1CQUFPLENBQVAsRUFBVTtBQUFBLE1BQUMsT0FBRCx5REFBVyxFQUFYO0FBQUEsTUFBZSxNQUFmO0FBQUEsU0FBMEIsb0JBQVE7QUFDakUsVUFBTSxNQUQyRDtBQUVqRSxZQUFRLGFBRnlEO0FBR2pFLGFBQVMsdUJBQVM7QUFDaEIsZUFBUyxzQkFBVSxpQkFBSyxDQUFDLFNBQUQsRUFBWSxNQUFaLEVBQW9CLElBQXBCLENBQUwsRUFBZ0MsTUFBaEMsQ0FBVixDQURPO0FBRWhCLFlBQU0sc0JBQVUsOEJBQVYsQ0FGVTtBQUdoQixvQkFBYyxLQUFLO0FBSEgsS0FBVCxFQUlOLE9BSk07QUFId0QsR0FBUixDQUExQjtBQUFBLENBQVYsQ0FBaEI7O0FBVUEsSUFBSSx3QkFBUSxtQkFBTyxDQUFQLEVBQVU7QUFBQSxNQUFDLE9BQUQseURBQVcsRUFBWDtBQUFBLE1BQWUsTUFBZjtBQUFBLFNBQTBCLG9CQUFRO0FBQzdELFVBQU0sTUFEdUQ7QUFFN0QsWUFBUSxhQUZxRDtBQUc3RCxhQUFTLHVCQUFTO0FBQ2hCLGVBQVMsc0JBQVUsaUJBQUssQ0FBQyxTQUFELEVBQVksTUFBWixFQUFvQixJQUFwQixDQUFMLEVBQWdDLE1BQWhDLENBQVYsQ0FETztB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QUFXOztBQUNqQixNQUFJLFVBQVU7QUFDWjtBQURZLEdBQWQ7QUFHQSxTQUFPLG9CQUFRO0FBQ2IsVUFBTSxNQURPO0FBRWIsWUFBUSx3QkFGSztBQUdiO0FBSGEsR0FBUixDQUFQO0FBS0QsQ0FYbUMsQ0FBN0IiLCJmaWxlIjoic2lua3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKmVzbGludCBjYW1lbGNhc2U6IFtcIm9mZlwiXSovXG5cbmltcG9ydCB7IFJlcXVlc3QsIFdlYmhvb2tSZXNwb25zZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHtcbiAgbWFwLCBhc3NvYyxcbiAgY3VycnlOLCBwYXRoLFxuICBkZWZhdWx0VG8sXG4gIGNvbXBvc2UsXG4gIGlzLCBpc0FycmF5TGlrZVxufSBmcm9tICdyYW1kYSdcbmltcG9ydCB7IGRlZmF1bHRzIH0gZnJvbSAnLi4vaGVscGVycydcblxuZXhwb3J0IGxldCBzZXRXZWJob29rID0gKG9wdGlvbnMgPSB7fSkgPT4gUmVxdWVzdCh7XG4gIHR5cGU6ICdzaW5rJyxcbiAgbWV0aG9kOiAnc2V0V2ViaG9vaycsXG4gIG9wdGlvbnNcbn0pXG5cbmV4cG9ydCBsZXQgd2ViaG9vayA9ICh1cGRhdGUpID0+IFdlYmhvb2tSZXNwb25zZSh7XG4gIHR5cGU6ICd3ZWJob29rJyxcbiAgdXBkYXRlXG59KVxuXG5leHBvcnQgbGV0IGJyb2FkY2FzdCA9IGN1cnJ5TigyLCAob3B0aW9ucyA9IHt9LCB1cGRhdGUpID0+IFJlcXVlc3Qoe1xuICB0eXBlOiAnc2luaycsXG4gIG1ldGhvZDogJ3NlbmRNZXNzYWdlJyxcbiAgb3B0aW9uczogZGVmYXVsdHMoe1xuICAgIGNoYXRfaWQ6IGRlZmF1bHRUbyhwYXRoKFsnbWVzc2FnZScsICdjaGF0JywgJ2lkJ10sIHVwZGF0ZSkpLFxuICAgIHRleHQ6IGRlZmF1bHRUbygnTnVsbC1jYXRjaDogbm8gdGV4dCBwcm92aWRlZCcpLFxuICAgIHJlcGx5X21hcmt1cDogSlNPTi5zdHJpbmdpZnlcbiAgfSwgb3B0aW9ucylcbn0pKVxuXG5leHBvcnQgbGV0IHJlcGx5ID0gY3VycnlOKDIsIChvcHRpb25zID0ge30sIHVwZGF0ZSkgPT4gUmVxdWVzdCh7XG4gIHR5cGU6ICdzaW5rJyxcbiAgbWV0aG9kOiAnc2VuZE1lc3NhZ2UnLFxuICBvcHRpb25zOiBkZWZhdWx0cyh7XG4gICAgY2hhdF9pZDogZGVmYXVsdFRvKHBhdGgoWydtZXNzYWdlJywgJ2NoYXQnLCAnaWQnXSwgdXBkYXRlKSksXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZDogZGVmYXVsdFRvKHBhdGgoWydtZXNzYWdlJywgJ21lc3NhZ2VfaWQnXSwgdXBkYXRlKSksXG4gICAgdGV4dDogZGVmYXVsdFRvKCdOdWxsLWNhdGNoOiBubyB0ZXh0IHByb3ZpZGVkJyksXG4gICAgcmVwbHlfbWFya3VwOiBKU09OLnN0cmluZ2lmeVxuICB9LCBpcyhTdHJpbmcsIG9wdGlvbnMpID8ge3RleHQ6IG9wdGlvbnN9IDogb3B0aW9ucylcbn0pKVxuXG5leHBvcnQgbGV0IGFuc3dlcklubGluZVF1ZXJ5ID0gY3VycnlOKDIsIChvcHRpb25zID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgdXBkYXRlUmVzdWx0cyA9IChyZXN1bHRzKSA9PiByZXN1bHRzWzBdLmlkID8gcmVzdWx0cyA6IG1hcChcbiAgICBhbnN3ZXIgPT4gYXNzb2MoJ2lkJywgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpLCBhbnN3ZXIpLFxuICAgIHJlc3VsdHMgfHwgW10pXG5cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdhbnN3ZXJJbmxpbmVRdWVyeScsXG4gICAgb3B0aW9uczogZGVmYXVsdHMoe1xuICAgICAgaW5saW5lX3F1ZXJ5X2lkOiBkZWZhdWx0VG8ocGF0aChbJ2lubGluZV9xdWVyeScsICdpZCddLCB1cGRhdGUpKSxcbiAgICAgIHJlc3VsdHM6IGNvbXBvc2UoSlNPTi5zdHJpbmdpZnksIHVwZGF0ZVJlc3VsdHMpXG4gICAgfSwgaXNBcnJheUxpa2Uob3B0aW9ucykgPyB7cmVzdWx0czogb3B0aW9uc30gOiBvcHRpb25zKVxuICB9KVxufSlcblxuZXhwb3J0IGxldCBmb3J3YXJkTWVzc2FnZSA9IGN1cnJ5TigyLCAoe1xuICBjaGF0X2lkLFxuICBmcm9tX2NoYXRfaWQsXG4gIGRpc2FibGVfbm90aWZpY2F0aW9uID0gbnVsbCxcbiAgbWVzc2FnZV9pZFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZCxcbiAgICBmcm9tX2NoYXRfaWQsXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgbWVzc2FnZV9pZFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZm9yd2FyZE1lc3NhZ2UnLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgc2VuZFBob3RvID0gY3VycnlOKDIsICh7XG4gIGNoYXRfaWQsXG4gIHBob3RvLFxuICBjYXB0aW9uID0gbnVsbCxcbiAgZGlzYWJsZV9ub3RpZmljYXRpb24gPSBudWxsLFxuICByZXBseV90b19tZXNzYWdlX2lkID0gbnVsbCxcbiAgcmVwbHlfbWFya3VwID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZCxcbiAgICBwaG90byxcbiAgICBjYXB0aW9uLFxuICAgIGRpc2FibGVfbm90aWZpY2F0aW9uLFxuICAgIHJlcGx5X3RvX21lc3NhZ2VfaWQsXG4gICAgcmVwbHlfbWFya3VwXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdzZW5kUGhvdG8nLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgc2VuZEF1ZGlvID0gY3VycnlOKDIsICh7XG4gIGNoYXRfaWQsXG4gIGF1ZGlvLFxuICBkdXJhdGlvbiA9IG51bGwsXG4gIHBlcmZvcm1lciA9IG51bGwsXG4gIHRpdGxlID0gbnVsbCxcbiAgZGlzYWJsZV9ub3RpZmljYXRpb24gPSBudWxsLFxuICByZXBseV90b19tZXNzYWdlX2lkID0gbnVsbCxcbiAgcmVwbHlfbWFya3VwID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZCxcbiAgICBhdWRpbyxcbiAgICBkdXJhdGlvbixcbiAgICBwZXJmb3JtZXIsXG4gICAgdGl0bGUsXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRBdWRpbycsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kRG9jdW1lbnQgPSBjdXJyeU4oMiwgKHtcbiAgY2hhdF9pZCxcbiAgZG9jdW1lbnQsXG4gIGNhcHRpb24gPSBudWxsLFxuICBkaXNhYmxlX25vdGlmaWNhdGlvbiA9IG51bGwsXG4gIHJlcGx5X3RvX21lc3NhZ2VfaWQgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIGRvY3VtZW50LFxuICAgIGNhcHRpb24sXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmREb2N1bWVudCcsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kU3RpY2tlciA9IGN1cnJ5TigyLCAoe1xuICBjaGF0X2lkLFxuICBzdGlja2VyLFxuICBkaXNhYmxlX25vdGlmaWNhdGlvbiA9IG51bGwsXG4gIHJlcGx5X3RvX21lc3NhZ2VfaWQgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIHN0aWNrZXIsXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRTdGlja2VyJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IHNlbmRWaWRlbyA9IGN1cnJ5TigyLCAoe1xuICBjaGF0X2lkLFxuICB2aWRlbyxcbiAgZHVyYXRpb24gPSBudWxsLFxuICB3aWR0aCA9IG51bGwsXG4gIGhlaWdodCA9IG51bGwsXG4gIGNhcHRpb24gPSBudWxsLFxuICBkaXNhYmxlX25vdGlmaWNhdGlvbiA9IG51bGwsXG4gIHJlcGx5X3RvX21lc3NhZ2VfaWQgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIHZpZGVvLFxuICAgIGR1cmF0aW9uLFxuICAgIHdpZHRoLFxuICAgIGhlaWdodCxcbiAgICBjYXB0aW9uLFxuICAgIGRpc2FibGVfbm90aWZpY2F0aW9uLFxuICAgIHJlcGx5X3RvX21lc3NhZ2VfaWQsXG4gICAgcmVwbHlfbWFya3VwXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdzZW5kVmlkZW8nLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgc2VuZFZvaWNlID0gY3VycnlOKDIsICh7XG4gIGNoYXRfaWQsXG4gIHZvaWNlLFxuICBkdXJhdGlvbiA9IG51bGwsXG4gIGRpc2FibGVfbm90aWZpY2F0aW9uID0gbnVsbCxcbiAgcmVwbHlfdG9fbWVzc2FnZV9pZCA9IG51bGwsXG4gIHJlcGx5X21hcmt1cCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWQsXG4gICAgdm9pY2UsXG4gICAgZHVyYXRpb24sXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRWb2ljZScsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kTG9jYXRpb24gPSBjdXJyeU4oMiwgKHtcbiAgY2hhdF9pZCxcbiAgbGF0aXR1ZGUsXG4gIGxvbmdpdHVkZSxcbiAgZGlzYWJsZV9ub3RpZmljYXRpb24gPSBudWxsLFxuICByZXBseV90b19tZXNzYWdlX2lkID0gbnVsbCxcbiAgcmVwbHlfbWFya3VwID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb25naXR1ZGUsXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRMb2NhdGlvbicsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kVmVudWUgPSBjdXJyeU4oMiwgKHtcbiAgY2hhdF9pZCxcbiAgbGF0aXR1ZGUsXG4gIGxvbmdpdHVkZSxcbiAgdGl0bGUsXG4gIGFkZHJlc3MsXG4gIGZvdXJzcXVhcmVfaWQgPSBudWxsLFxuICBkaXNhYmxlX25vdGlmaWNhdGlvbiA9IG51bGwsXG4gIHJlcGx5X3RvX21lc3NhZ2VfaWQgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIGxhdGl0dWRlLFxuICAgIGxvbmdpdHVkZSxcbiAgICB0aXRsZSxcbiAgICBhZGRyZXNzLFxuICAgIGZvdXJzcXVhcmVfaWQsXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRWZW51ZScsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kQ29udGFjdCA9IGN1cnJ5TigyLCAoe1xuICBjaGF0X2lkLFxuICBwaG9uZV9udW1iZXIsXG4gIGZpcnN0X25hbWUsXG4gIGxhc3RfbmFtZSA9IG51bGwsXG4gIGRpc2FibGVfbm90aWZpY2F0aW9uID0gbnVsbCxcbiAgcmVwbHlfdG9fbWVzc2FnZV9pZCA9IG51bGwsXG4gIHJlcGx5X21hcmt1cCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWQsXG4gICAgcGhvbmVfbnVtYmVyLFxuICAgIGZpcnN0X25hbWUsXG4gICAgbGFzdF9uYW1lLFxuICAgIGRpc2FibGVfbm90aWZpY2F0aW9uLFxuICAgIHJlcGx5X3RvX21lc3NhZ2VfaWQsXG4gICAgcmVwbHlfbWFya3VwXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdzZW5kQ29udGFjdCcsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBnZXRVc2VyUHJvZmlsZVBob3RvcyA9IGN1cnJ5TigyLCAoe1xuICB1c2VyX2lkLFxuICBvZmZzZXQgPSBudWxsLFxuICBsaW1pdCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIHVzZXJfaWQsXG4gICAgb2Zmc2V0LFxuICAgIGxpbWl0XG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdnZXRVc2VyUHJvZmlsZVBob3RvcycsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBnZXRGaWxlID0gY3VycnlOKDIsICh7IGZpbGVfaWQgfSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgZmlsZV9pZFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZ2V0RmlsZScsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBsZWF2ZUNoYXQgPSBjdXJyeU4oMiwgKHsgY2hhdF9pZCB9ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdsZWF2ZUNoYXQnLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgdW5iYW5DaGF0TWVtYmVyID0gY3VycnlOKDIsICh7IGNoYXRfaWQsIHVzZXJfaWQgfSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZCxcbiAgICB1c2VyX2lkXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICd1bmJhbkNoYXRNZW1iZXInLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgZ2V0Q2hhdCA9IGN1cnJ5TigyLCAoeyBjaGF0X2lkIH0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWRcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2dldENoYXQnLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgZ2V0Q2hhdEFkbWluaXN0cmF0b3JzID0gY3VycnlOKDIsICh7IGNoYXRfaWQgfSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZ2V0Q2hhdEFkbWluaXN0cmF0b3JzJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGdldENoYXRNZW1iZXJzQ291bnQgPSBjdXJyeU4oMiwgKHsgY2hhdF9pZCB9ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdnZXRDaGF0TWVtYmVyc0NvdW50JyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGdldENoYXRNZW1iZXIgPSBjdXJyeU4oMiwgKHsgY2hhdF9pZCwgdXNlcl9pZCB9ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIHVzZXJfaWRcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2dldENoYXRNZW1iZXInLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgYW5zd2VyQ2FsbGJhY2tRdWVyeSA9IGN1cnJ5TigyLCAoe1xuICBjYWxsYmFja19xdWVyeV9pZCxcbiAgdGV4dCA9IG51bGwsXG4gIHNob3dfYWxlcnQgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjYWxsYmFja19xdWVyeV9pZCxcbiAgICB0ZXh0LFxuICAgIHNob3dfYWxlcnRcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2Fuc3dlckNhbGxiYWNrUXVlcnknLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgZWRpdE1lc3NhZ2VUZXh0ID0gY3VycnlOKDIsICh7XG4gIHRleHQsXG4gIHBhcnNlX21vZGUgPSBudWxsLFxuICBkaXNhYmxlX3dlYl9wYWdlX3ByZXZpZXcgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICB0ZXh0LFxuICAgIHBhcnNlX21vZGUsXG4gICAgZGlzYWJsZV93ZWJfcGFnZV9wcmV2aWV3LFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZWRpdE1lc3NhZ2VUZXh0JyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGVkaXRNZXNzYWdlQ2FwdGlvbiA9IGN1cnJ5TigyLCAoe1xuICBjYXB0aW9uID0gbnVsbCxcbiAgcmVwbHlfbWFya3VwID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2FwdGlvbixcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2VkaXRNZXNzYWdlQ2FwdGlvbicsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBlZGl0TWVzc2FnZVJlcGx5TWFya3VwID0gY3VycnlOKDIsICh7XG4gIHJlcGx5X21hcmt1cCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZWRpdE1lc3NhZ2VSZXBseU1hcmt1cCcsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZWxlZ3JhbS1kcml2ZXIvc2lua3MuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVBOztBQUNBOztBQU9BOztBQUVPLElBQUksa0NBQWEsU0FBYixVQUFhO0FBQUEsTUFBQyxPQUFELHlEQUFXLEVBQVg7QUFBQSxTQUFrQixvQkFBUTtBQUNoRCxVQUFNLE1BRDBDO0FBRWhELFlBQVEsWUFGd0M7QUFHaEQ7QUFIZ0QsR0FBUixDQUFsQjtBQUFBLENBQWpCLEM7O0FBTUEsSUFBSSw0QkFBVSxTQUFWLE9BQVUsQ0FBQyxNQUFEO0FBQUEsU0FBWSw0QkFBZ0I7QUFDL0MsVUFBTSxTQUR5QztBQUUvQztBQUYrQyxHQUFoQixDQUFaO0FBQUEsQ0FBZDs7QUFLQSxJQUFJLGdDQUFZLG1CQUFPLENBQVAsRUFBVTtBQUFBLE1BQUMsT0FBRCx5REFBVyxFQUFYO0FBQUEsTUFBZSxNQUFmO0FBQUEsU0FBMEIsb0JBQVE7QUFDakUsVUFBTSxNQUQyRDtBQUVqRSxZQUFRLGFBRnlEO0FBR2pFLGFBQVMsdUJBQVM7QUFDaEIsZUFBUyxzQkFBVSxpQkFBSyxDQUFDLFNBQUQsRUFBWSxNQUFaLEVBQW9CLElBQXBCLENBQUwsRUFBZ0MsTUFBaEMsQ0FBVixDQURPO0FBRWhCLFlBQU0sc0JBQVUsOEJBQVYsQ0FGVTtBQUdoQixvQkFBYyxLQUFLO0FBSEgsS0FBVCxFQUlOLGVBQUcsTUFBSCxFQUFXLE9BQVgsSUFBc0IsRUFBQyxNQUFNLE9BQVAsRUFBdEIsR0FBd0MsT0FKbEM7QUFId0QsR0FBUixDQUExQjtBQUFBLENBQVYsQ0FBaEI7O0FBVUEsSUFBSSx3QkFBUSxtQkFBTyxDQUFQLEVBQVU7QUFBQSxNQUFDLE9BQUQseURBQVcsRUFBWDtBQUFBLE1BQWUsTUFBZjtBQUFBLFNBQTBCLG9CQUFRO0FBQzdELFVBQU0sTUFEdUQ7QUFFN0QsWUFBUSxhQUZxRDtBQUc3RCxhQUFTLHVCQUFTO0FBQ2hCLGVBQVMsc0JBQVUsaUJBQUssQ0FBQyxT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O0FBQUEsbUNBRGpCLFlBQ2lCO0FBQUEsTUFEakIsWUFDaUIsdUNBREYsSUFDRTtBQUFBLE1BQVgsTUFBVzs7QUFDakIsTUFBSSxVQUFVO0FBQ1o7QUFEWSxHQUFkO0FBR0EsU0FBTyxvQkFBUTtBQUNiLFVBQU0sTUFETztBQUViLFlBQVEsd0JBRks7QUFHYjtBQUhhLEdBQVIsQ0FBUDtBQUtELENBWG1DLENBQTdCIiwiZmlsZSI6InNpbmtzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyplc2xpbnQgY2FtZWxjYXNlOiBbXCJvZmZcIl0qL1xuXG5pbXBvcnQgeyBSZXF1ZXN0LCBXZWJob29rUmVzcG9uc2UgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7XG4gIG1hcCwgYXNzb2MsXG4gIGN1cnJ5TiwgcGF0aCxcbiAgZGVmYXVsdFRvLFxuICBjb21wb3NlLFxuICBpcywgaXNBcnJheUxpa2Vcbn0gZnJvbSAncmFtZGEnXG5pbXBvcnQgeyBkZWZhdWx0cyB9IGZyb20gJy4uL2hlbHBlcnMnXG5cbmV4cG9ydCBsZXQgc2V0V2ViaG9vayA9IChvcHRpb25zID0ge30pID0+IFJlcXVlc3Qoe1xuICB0eXBlOiAnc2luaycsXG4gIG1ldGhvZDogJ3NldFdlYmhvb2snLFxuICBvcHRpb25zXG59KVxuXG5leHBvcnQgbGV0IHdlYmhvb2sgPSAodXBkYXRlKSA9PiBXZWJob29rUmVzcG9uc2Uoe1xuICB0eXBlOiAnd2ViaG9vaycsXG4gIHVwZGF0ZVxufSlcblxuZXhwb3J0IGxldCBicm9hZGNhc3QgPSBjdXJyeU4oMiwgKG9wdGlvbnMgPSB7fSwgdXBkYXRlKSA9PiBSZXF1ZXN0KHtcbiAgdHlwZTogJ3NpbmsnLFxuICBtZXRob2Q6ICdzZW5kTWVzc2FnZScsXG4gIG9wdGlvbnM6IGRlZmF1bHRzKHtcbiAgICBjaGF0X2lkOiBkZWZhdWx0VG8ocGF0aChbJ21lc3NhZ2UnLCAnY2hhdCcsICdpZCddLCB1cGRhdGUpKSxcbiAgICB0ZXh0OiBkZWZhdWx0VG8oJ051bGwtY2F0Y2g6IG5vIHRleHQgcHJvdmlkZWQnKSxcbiAgICByZXBseV9tYXJrdXA6IEpTT04uc3RyaW5naWZ5XG4gIH0sIGlzKFN0cmluZywgb3B0aW9ucykgPyB7dGV4dDogb3B0aW9uc30gOiBvcHRpb25zKVxufSkpXG5cbmV4cG9ydCBsZXQgcmVwbHkgPSBjdXJyeU4oMiwgKG9wdGlvbnMgPSB7fSwgdXBkYXRlKSA9PiBSZXF1ZXN0KHtcbiAgdHlwZTogJ3NpbmsnLFxuICBtZXRob2Q6ICdzZW5kTWVzc2FnZScsXG4gIG9wdGlvbnM6IGRlZmF1bHRzKHtcbiAgICBjaGF0X2lkOiBkZWZhdWx0VG8ocGF0aChbJ21lc3NhZ2UnLCAnY2hhdCcsICdpZCddLCB1cGRhdGUpKSxcbiAgICByZXBseV90b19tZXNzYWdlX2lkOiBkZWZhdWx0VG8ocGF0aChbJ21lc3NhZ2UnLCAnbWVzc2FnZV9pZCddLCB1cGRhdGUpKSxcbiAgICB0ZXh0OiBkZWZhdWx0VG8oJ051bGwtY2F0Y2g6IG5vIHRleHQgcHJvdmlkZWQnKSxcbiAgICByZXBseV9tYXJrdXA6IEpTT04uc3RyaW5naWZ5XG4gIH0sIGlzKFN0cmluZywgb3B0aW9ucykgPyB7dGV4dDogb3B0aW9uc30gOiBvcHRpb25zKVxufSkpXG5cbmV4cG9ydCBsZXQgYW5zd2VySW5saW5lUXVlcnkgPSBjdXJyeU4oMiwgKG9wdGlvbnMgPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCB1cGRhdGVSZXN1bHRzID0gKHJlc3VsdHMpID0+IHJlc3VsdHNbMF0uaWQgPyByZXN1bHRzIDogbWFwKFxuICAgIGFuc3dlciA9PiBhc3NvYygnaWQnLCBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiksIGFuc3dlciksXG4gICAgcmVzdWx0cyB8fCBbXSlcblxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2Fuc3dlcklubGluZVF1ZXJ5JyxcbiAgICBvcHRpb25zOiBkZWZhdWx0cyh7XG4gICAgICBpbmxpbmVfcXVlcnlfaWQ6IGRlZmF1bHRUbyhwYXRoKFsnaW5saW5lX3F1ZXJ5JywgJ2lkJ10sIHVwZGF0ZSkpLFxuICAgICAgcmVzdWx0czogY29tcG9zZShKU09OLnN0cmluZ2lmeSwgdXBkYXRlUmVzdWx0cylcbiAgICB9LCBpc0FycmF5TGlrZShvcHRpb25zKSA/IHtyZXN1bHRzOiBvcHRpb25zfSA6IG9wdGlvbnMpXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGZvcndhcmRNZXNzYWdlID0gY3VycnlOKDIsICh7XG4gIGNoYXRfaWQsXG4gIGZyb21fY2hhdF9pZCxcbiAgZGlzYWJsZV9ub3RpZmljYXRpb24gPSBudWxsLFxuICBtZXNzYWdlX2lkXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIGZyb21fY2hhdF9pZCxcbiAgICBkaXNhYmxlX25vdGlmaWNhdGlvbixcbiAgICBtZXNzYWdlX2lkXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdmb3J3YXJkTWVzc2FnZScsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kUGhvdG8gPSBjdXJyeU4oMiwgKHtcbiAgY2hhdF9pZCxcbiAgcGhvdG8sXG4gIGNhcHRpb24gPSBudWxsLFxuICBkaXNhYmxlX25vdGlmaWNhdGlvbiA9IG51bGwsXG4gIHJlcGx5X3RvX21lc3NhZ2VfaWQgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIHBob3RvLFxuICAgIGNhcHRpb24sXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRQaG90bycsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kQXVkaW8gPSBjdXJyeU4oMiwgKHtcbiAgY2hhdF9pZCxcbiAgYXVkaW8sXG4gIGR1cmF0aW9uID0gbnVsbCxcbiAgcGVyZm9ybWVyID0gbnVsbCxcbiAgdGl0bGUgPSBudWxsLFxuICBkaXNhYmxlX25vdGlmaWNhdGlvbiA9IG51bGwsXG4gIHJlcGx5X3RvX21lc3NhZ2VfaWQgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIGF1ZGlvLFxuICAgIGR1cmF0aW9uLFxuICAgIHBlcmZvcm1lcixcbiAgICB0aXRsZSxcbiAgICBkaXNhYmxlX25vdGlmaWNhdGlvbixcbiAgICByZXBseV90b19tZXNzYWdlX2lkLFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnc2VuZEF1ZGlvJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IHNlbmREb2N1bWVudCA9IGN1cnJ5TigyLCAoe1xuICBjaGF0X2lkLFxuICBkb2N1bWVudCxcbiAgY2FwdGlvbiA9IG51bGwsXG4gIGRpc2FibGVfbm90aWZpY2F0aW9uID0gbnVsbCxcbiAgcmVwbHlfdG9fbWVzc2FnZV9pZCA9IG51bGwsXG4gIHJlcGx5X21hcmt1cCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWQsXG4gICAgZG9jdW1lbnQsXG4gICAgY2FwdGlvbixcbiAgICBkaXNhYmxlX25vdGlmaWNhdGlvbixcbiAgICByZXBseV90b19tZXNzYWdlX2lkLFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnc2VuZERvY3VtZW50JyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IHNlbmRTdGlja2VyID0gY3VycnlOKDIsICh7XG4gIGNoYXRfaWQsXG4gIHN0aWNrZXIsXG4gIGRpc2FibGVfbm90aWZpY2F0aW9uID0gbnVsbCxcbiAgcmVwbHlfdG9fbWVzc2FnZV9pZCA9IG51bGwsXG4gIHJlcGx5X21hcmt1cCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWQsXG4gICAgc3RpY2tlcixcbiAgICBkaXNhYmxlX25vdGlmaWNhdGlvbixcbiAgICByZXBseV90b19tZXNzYWdlX2lkLFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnc2VuZFN0aWNrZXInLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgc2VuZFZpZGVvID0gY3VycnlOKDIsICh7XG4gIGNoYXRfaWQsXG4gIHZpZGVvLFxuICBkdXJhdGlvbiA9IG51bGwsXG4gIHdpZHRoID0gbnVsbCxcbiAgaGVpZ2h0ID0gbnVsbCxcbiAgY2FwdGlvbiA9IG51bGwsXG4gIGRpc2FibGVfbm90aWZpY2F0aW9uID0gbnVsbCxcbiAgcmVwbHlfdG9fbWVzc2FnZV9pZCA9IG51bGwsXG4gIHJlcGx5X21hcmt1cCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWQsXG4gICAgdmlkZW8sXG4gICAgZHVyYXRpb24sXG4gICAgd2lkdGgsXG4gICAgaGVpZ2h0LFxuICAgIGNhcHRpb24sXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRWaWRlbycsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBzZW5kVm9pY2UgPSBjdXJyeU4oMiwgKHtcbiAgY2hhdF9pZCxcbiAgdm9pY2UsXG4gIGR1cmF0aW9uID0gbnVsbCxcbiAgZGlzYWJsZV9ub3RpZmljYXRpb24gPSBudWxsLFxuICByZXBseV90b19tZXNzYWdlX2lkID0gbnVsbCxcbiAgcmVwbHlfbWFya3VwID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZCxcbiAgICB2b2ljZSxcbiAgICBkdXJhdGlvbixcbiAgICBkaXNhYmxlX25vdGlmaWNhdGlvbixcbiAgICByZXBseV90b19tZXNzYWdlX2lkLFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnc2VuZFZvaWNlJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IHNlbmRMb2NhdGlvbiA9IGN1cnJ5TigyLCAoe1xuICBjaGF0X2lkLFxuICBsYXRpdHVkZSxcbiAgbG9uZ2l0dWRlLFxuICBkaXNhYmxlX25vdGlmaWNhdGlvbiA9IG51bGwsXG4gIHJlcGx5X3RvX21lc3NhZ2VfaWQgPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIGxhdGl0dWRlLFxuICAgIGxvbmdpdHVkZSxcbiAgICBkaXNhYmxlX25vdGlmaWNhdGlvbixcbiAgICByZXBseV90b19tZXNzYWdlX2lkLFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnc2VuZExvY2F0aW9uJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IHNlbmRWZW51ZSA9IGN1cnJ5TigyLCAoe1xuICBjaGF0X2lkLFxuICBsYXRpdHVkZSxcbiAgbG9uZ2l0dWRlLFxuICB0aXRsZSxcbiAgYWRkcmVzcyxcbiAgZm91cnNxdWFyZV9pZCA9IG51bGwsXG4gIGRpc2FibGVfbm90aWZpY2F0aW9uID0gbnVsbCxcbiAgcmVwbHlfdG9fbWVzc2FnZV9pZCA9IG51bGwsXG4gIHJlcGx5X21hcmt1cCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWQsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9uZ2l0dWRlLFxuICAgIHRpdGxlLFxuICAgIGFkZHJlc3MsXG4gICAgZm91cnNxdWFyZV9pZCxcbiAgICBkaXNhYmxlX25vdGlmaWNhdGlvbixcbiAgICByZXBseV90b19tZXNzYWdlX2lkLFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnc2VuZFZlbnVlJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IHNlbmRDb250YWN0ID0gY3VycnlOKDIsICh7XG4gIGNoYXRfaWQsXG4gIHBob25lX251bWJlcixcbiAgZmlyc3RfbmFtZSxcbiAgbGFzdF9uYW1lID0gbnVsbCxcbiAgZGlzYWJsZV9ub3RpZmljYXRpb24gPSBudWxsLFxuICByZXBseV90b19tZXNzYWdlX2lkID0gbnVsbCxcbiAgcmVwbHlfbWFya3VwID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZCxcbiAgICBwaG9uZV9udW1iZXIsXG4gICAgZmlyc3RfbmFtZSxcbiAgICBsYXN0X25hbWUsXG4gICAgZGlzYWJsZV9ub3RpZmljYXRpb24sXG4gICAgcmVwbHlfdG9fbWVzc2FnZV9pZCxcbiAgICByZXBseV9tYXJrdXBcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3NlbmRDb250YWN0JyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGdldFVzZXJQcm9maWxlUGhvdG9zID0gY3VycnlOKDIsICh7XG4gIHVzZXJfaWQsXG4gIG9mZnNldCA9IG51bGwsXG4gIGxpbWl0ID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgdXNlcl9pZCxcbiAgICBvZmZzZXQsXG4gICAgbGltaXRcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2dldFVzZXJQcm9maWxlUGhvdG9zJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGdldEZpbGUgPSBjdXJyeU4oMiwgKHsgZmlsZV9pZCB9ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBmaWxlX2lkXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdnZXRGaWxlJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGxlYXZlQ2hhdCA9IGN1cnJ5TigyLCAoeyBjaGF0X2lkIH0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWRcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2xlYXZlQ2hhdCcsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCB1bmJhbkNoYXRNZW1iZXIgPSBjdXJyeU4oMiwgKHsgY2hhdF9pZCwgdXNlcl9pZCB9ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkLFxuICAgIHVzZXJfaWRcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ3VuYmFuQ2hhdE1lbWJlcicsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBnZXRDaGF0ID0gY3VycnlOKDIsICh7IGNoYXRfaWQgfSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgY2hhdF9pZFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZ2V0Q2hhdCcsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBnZXRDaGF0QWRtaW5pc3RyYXRvcnMgPSBjdXJyeU4oMiwgKHsgY2hhdF9pZCB9ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjaGF0X2lkXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdnZXRDaGF0QWRtaW5pc3RyYXRvcnMnLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgZ2V0Q2hhdE1lbWJlcnNDb3VudCA9IGN1cnJ5TigyLCAoeyBjaGF0X2lkIH0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWRcbiAgfVxuICByZXR1cm4gUmVxdWVzdCh7XG4gICAgdHlwZTogJ3NpbmsnLFxuICAgIG1ldGhvZDogJ2dldENoYXRNZW1iZXJzQ291bnQnLFxuICAgIG9wdGlvbnNcbiAgfSlcbn0pXG5cbmV4cG9ydCBsZXQgZ2V0Q2hhdE1lbWJlciA9IGN1cnJ5TigyLCAoeyBjaGF0X2lkLCB1c2VyX2lkIH0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNoYXRfaWQsXG4gICAgdXNlcl9pZFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZ2V0Q2hhdE1lbWJlcicsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBhbnN3ZXJDYWxsYmFja1F1ZXJ5ID0gY3VycnlOKDIsICh7XG4gIGNhbGxiYWNrX3F1ZXJ5X2lkLFxuICB0ZXh0ID0gbnVsbCxcbiAgc2hvd19hbGVydCA9IG51bGxcbn0gPSB7fSwgdXBkYXRlKSA9PiB7XG4gIGxldCBvcHRpb25zID0ge1xuICAgIGNhbGxiYWNrX3F1ZXJ5X2lkLFxuICAgIHRleHQsXG4gICAgc2hvd19hbGVydFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnYW5zd2VyQ2FsbGJhY2tRdWVyeScsXG4gICAgb3B0aW9uc1xuICB9KVxufSlcblxuZXhwb3J0IGxldCBlZGl0TWVzc2FnZVRleHQgPSBjdXJyeU4oMiwgKG9wdGlvbnMgPSB7fSwgdXBkYXRlKSA9PiBSZXF1ZXN0KHtcbiAgdHlwZTogJ3NpbmsnLFxuICBtZXRob2Q6ICdlZGl0TWVzc2FnZVRleHQnLFxuICBvcHRpb25zOiBkZWZhdWx0cyh7XG4gICAgY2hhdF9pZDogZGVmYXVsdFRvKHBhdGgoWydtZXNzYWdlJywgJ2NoYXQnLCAnaWQnXSwgdXBkYXRlKSksXG4gICAgbWVzc2FnZV9pZDogZGVmYXVsdFRvKHBhdGgoWydtZXNzYWdlJywgJ21lc3NhZ2VfaWQnXSwgdXBkYXRlKSksXG4gICAgdGV4dDogZGVmYXVsdFRvKCdOdWxsLWNhdGNoOiBubyB0ZXh0IHByb3ZpZGVkJyksXG4gICAgcmVwbHlfbWFya3VwOiBKU09OLnN0cmluZ2lmeVxuICB9LCBvcHRpb25zKVxufSkpXG5cbmV4cG9ydCBsZXQgZWRpdE1lc3NhZ2VDYXB0aW9uID0gY3VycnlOKDIsICh7XG4gIGNhcHRpb24gPSBudWxsLFxuICByZXBseV9tYXJrdXAgPSBudWxsXG59ID0ge30sIHVwZGF0ZSkgPT4ge1xuICBsZXQgb3B0aW9ucyA9IHtcbiAgICBjYXB0aW9uLFxuICAgIHJlcGx5X21hcmt1cFxuICB9XG4gIHJldHVybiBSZXF1ZXN0KHtcbiAgICB0eXBlOiAnc2luaycsXG4gICAgbWV0aG9kOiAnZWRpdE1lc3NhZ2VDYXB0aW9uJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuXG5leHBvcnQgbGV0IGVkaXRNZXNzYWdlUmVwbHlNYXJrdXAgPSBjdXJyeU4oMiwgKHtcbiAgcmVwbHlfbWFya3VwID0gbnVsbFxufSA9IHt9LCB1cGRhdGUpID0+IHtcbiAgbGV0IG9wdGlvbnMgPSB7XG4gICAgcmVwbHlfbWFya3VwXG4gIH1cbiAgcmV0dXJuIFJlcXVlc3Qoe1xuICAgIHR5cGU6ICdzaW5rJyxcbiAgICBtZXRob2Q6ICdlZGl0TWVzc2FnZVJlcGx5TWFya3VwJyxcbiAgICBvcHRpb25zXG4gIH0pXG59KVxuIl19 \ No newline at end of file