Comparing version
@@ -195,2 +195,4 @@ "use strict"; | ||
shift = _ref7$shift === undefined ? 0 : _ref7$shift, | ||
_ref7$zhoo = _ref7.zhoo, | ||
zhoo = _ref7$zhoo === undefined ? console.log(new StackTracey().clean()) : _ref7$zhoo, | ||
_ref7$where = _ref7.where, | ||
@@ -372,2 +374,2 @@ where = _ref7$where === undefined ? new StackTracey().clean().at(1 + shift) : _ref7$where, | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFQO0FBQWlDLEtBaEN0QztBQWtDUixvQkFsQ1EsOEJBa0NZO0FBQUE7O0FBQ2hCLGdCQUFRLEVBQVIsQ0FBWSxtQkFBWixFQUFrQyxhQUFLO0FBQUUsa0JBQUssTUFBTCxDQUFZLEdBQVosQ0FBZ0IsS0FBaEIsQ0FBc0IsUUFBdEIsQ0FBZ0MsQ0FBaEMsRUFBb0MsUUFBUSxJQUFSLENBQWMsQ0FBZDtBQUFrQixTQUEvRjtBQUNBLGdCQUFRLEVBQVIsQ0FBWSxvQkFBWixFQUFrQyxhQUFLO0FBQUUsa0JBQUssTUFBTCxDQUFZLEdBQVosQ0FBZ0IsS0FBaEIsQ0FBc0IsUUFBdEIsQ0FBZ0MsQ0FBaEMsRUFBb0MsUUFBUSxJQUFSLENBQWMsQ0FBZDtBQUFrQixTQUEvRjtBQUNBLGVBQU8sSUFBUDtBQUNIO0FBdENPLENBL0ZBLENBQVo7O0FBd0lBOztBQUVBLEtBQUssS0FBTCxDQUFXLE9BQVgsQ0FBb0IsaUJBQVM7QUFBQTs7QUFFekIsUUFBSSxPQUFKLG1EQUVTLEtBRlQsZ0JBRVMsS0FGVCxxQkFFUyxLQUZULG9CQUVtQjtBQUFFLGVBQU8sS0FBSyxTQUFMLENBQWdCLEVBQUUsV0FBVztBQUFBLHVCQUFTLE1BQU0sR0FBTixDQUFXLEtBQUssS0FBTCxDQUFYLENBQVQ7QUFBQSxhQUFiLEVBQWhCLENBQVA7QUFBeUUsS0FGOUY7QUFJSCxDQU5EOztBQVFBOztBQUVBLE9BQU8sT0FBUCxHQUFpQixHQUFqQjs7QUFFQSIsImZpbGUiOiJvbG9sb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBPICAgICAgICAgICAgICAgICA9IE9iamVjdFxuICAgICwgU3RhY2tUcmFjZXkgICAgICAgPSByZXF1aXJlICgnc3RhY2t0cmFjZXknKVxuICAgICwgYW5zaSAgICAgICAgICAgICAgPSByZXF1aXJlICgnYW5zaWNvbG9yJylcbiAgICAsIGJ1bGxldCAgICAgICAgICAgID0gcmVxdWlyZSAoJ3N0cmluZy5idWxsZXQnKVxuICAgICwgcGlwZXogICAgICAgICAgICAgPSByZXF1aXJlICgncGlwZXonKVxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuY29uc3Qgc3RyaW5naWZ5ID0gcmVxdWlyZSAoJ3N0cmluZy5pZnknKS5jb25maWd1cmUgKHtcblxuICAgIGZvcm1hdHRlciAoeCwgc3RyaW5naWZ5KSB7XG5cbiAgICAgICAgaWYgKCh4IGluc3RhbmNlb2YgRXJyb3IpICYmICEodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgeFtTeW1ib2wuZm9yICgnU3RyaW5nLmlmeScpXSkpIHtcblxuICAgICAgICAgICAgaWYgKHN0cmluZ2lmeS5zdGF0ZS5kZXB0aCA+IDApIHJldHVybiBgPEVycm9yOiAke3gubWVzc2FnZX0+YCAvLyBwcmV2ZW50cyB1bndhbnRlZCBwcmV0dHkgcHJpbnRpbmcgZm9yIEVycm9ycyB0aGF0IGFyZSBwcm9wZXJ0aWVzIG9mIGNvbXBsZXggb2JqZWN0c1xuXG4gICAgICAgICAgICBjb25zdCBpbmRlbnQgICAgICAgID0gJyAgICAnXG4gICAgICAgICAgICAgICAgLCB3aHkgICAgICAgICAgID0gc3RyaW5naWZ5LmxpbWl0ICgoeC5tZXNzYWdlIHx8ICcnKS5yZXBsYWNlICgvXFxyfFxcbi9nLCAnJykudHJpbSAoKSwgc3RyaW5naWZ5LnN0YXRlLm1heEVycm9yTWVzc2FnZUxlbmd0aCB8fCAxMjApXG4gICAgICAgICAgICAgICAgLCBzdGFjayAgICAgICAgID0gbmV3IFN0YWNrVHJhY2V5ICh4KS53aXRoU291cmNlcyAoKS5hc1RhYmxlICgpXG4gICAgICAgICAgICAgICAgLCBzdGFja0luZGVudGVkID0gc3RhY2suc3BsaXQgKCdcXG4nKS5tYXAgKHggPT4gaW5kZW50ICsgeCkuam9pbiAoJ1xcbicpXG4gICAgICAgICAgICAgICAgLCBpc0Fzc2VydGlvbiA9ICgnYWN0dWFsJyBpbiB4KSAmJiAoJ2V4cGVjdGVkJyBpbiB4KVxuICAgICAgICAgICAgICAgICwgdHlwZSAgICAgICAgPSB4LmNvbnN0cnVjdG9yLm5hbWUgfHwgJ0Vycm9yJ1xuXG4gICAgICAgICAgICBpZiAoaXNBc3NlcnRpb24pIHtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHN0ciA9IHN0cmluZ2lmeS5jb25maWd1cmUgKHsgbWF4U3RyaW5nTGVuZ3RoOiBOdW1iZXIuTUFYX1ZBTFVFLCBtYXhEZXB0aDogOCB9KVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGxldCBhY3R1YWwgICA9IGJ1bGxldCAoaW5kZW50ICsgJ2FjdHVhbDogICAnLCBzdHIgKHguYWN0dWFsKSlcbiAgICAgICAgICAgICAgICAgICwgZXhwZWN0ZWQgPSBidWxsZXQgKGluZGVudCArICdleHBlY3RlZDogJywgc3RyICh4LmV4cGVjdGVkKSlcblxuICAgICAgICAgICAgICAgIGlmICgoYWN0dWFsLnNwbGl0ICgnXFxuJykubGVuZ3RoID4gMSkgfHwgKGV4cGVjdGVkLnNwbGl0ICgnXFxuJykubGVuZ3RoID4gMSkpIC8vIGlmIG11bHRpbGluZSBhY3R1YWwvZXhwZWN0ZWQsIG5lZWQgZXh0cmEgd2hpdGVzcGFjZSBpbmJldHdlZW5cbiAgICAgICAgICAgICAgICAgICAgYWN0dWFsICs9ICdcXG4nXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYFske3R5cGV9XSAke3doeX1cXG5cXG4ke2Fuc2kucmVkIChhY3R1YWwpfVxcbiR7YW5zaS5ncmVlbiAoZXhwZWN0ZWQpfVxcblxcbiR7c3RhY2tJbmRlbnRlZH1cXG5gXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBgWyR7dHlwZX1dICR7d2h5fVxcblxcbiR7c3RhY2tJbmRlbnRlZH1cXG5gXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KVxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmNvbnN0IHsgaXNCbGFuaywgYmxhbmsgfSA9IHJlcXVpcmUgKCdwcmludGFibGUtY2hhcmFjdGVycycpXG5cbiAgICAsIGNoYW5nZUxhc3ROb25lbXB0eUxpbmUgPSAobGluZXMsIGZuKSA9PiB7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IGxpbmVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICgoaSA9PT0gMCkgfHwgIWlzQmxhbmsgKGxpbmVzW2ldKSkge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGxpbmVzW2ldID0gZm4gKGxpbmVzW2ldKVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5lc1xuICAgIH1cblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBsb2cgPSBwaXBleiAoe1xuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBzdHJpbmdpZnk6IChhcmdzLCBjZmcsIHByaW50ID0gY2ZnLnByaW50IHx8IHN0cmluZ2lmeS5jb25maWd1cmUgKGNmZykpID0+IGFyZ3MubWFwIChhcmcgPT4gKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnKSA/IGFyZyA6IHByaW50IChhcmcpKSxcbiAgICBcbiAgICB0cmltOiAodG9rZW5zLCB7IG1heCA9IHVuZGVmaW5lZCB9KSA9PiAhbWF4ID8gdG9rZW5zIDogdG9rZW5zLm1hcCAodCA9PiBzdHJpbmdpZnkubGltaXQgKHQsIG1heCkpLFxuXG4gICAgbGluZXM6ICh0b2tlbnMsIHsgbGluZWJyZWFrID0gJ1xcbicgfSkgPT4ge1xuXG4gICAgICAgIGxldCBsaW5lcyA9IFtbXV1cbiAgICAgICAgbGV0IGxlZnRQYWQgPSBbXVxuXG4gICAgICAgIGZvciAoY29uc3QgdCBvZiB0b2tlbnMpIHtcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0LCAuLi5yZXN0XSA9IHQuc3BsaXQgKGxpbmVicmVhaylcblxuICAgICAgICAgICAgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ucHVzaCAoZmlyc3QpXG4gICAgICAgICAgICBsaW5lcyA9IFsuLi5saW5lcywgLi4ucmVzdC5tYXAgKHQgPT4gdCA/IFsuLi5sZWZ0UGFkLCB0XSA6IFtdKV1cblxuICAgICAgICAgICAgY29uc3QgcGFkID0gYmxhbmsgKCFyZXN0Lmxlbmd0aCA/IHQgOiByZXN0W3Jlc3QubGVuZ3RoIC0gMV0pXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIChwYWQpIHsgbGVmdFBhZC5wdXNoIChwYWQpIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsaW5lc1xuICAgIH0sXG5cbiAgICBjb25jYXQ6IChsaW5lcywgeyBzZXBhcmF0b3IgPSAnICcgfSkgPT4gbGluZXMubWFwICh0b2tlbnMgPT4gdG9rZW5zLmpvaW4gKHNlcGFyYXRvcikpLFxuXG4gICAgaW5kZW50OiAobGluZXMsIHsgbGV2ZWwgPSAwLCBwYXR0ZXJuID0gJ1xcdCcgfSkgPT4gbGluZXMubWFwIChsaW5lID0+IHBhdHRlcm4ucmVwZWF0IChsZXZlbCkgKyBsaW5lKSxcbiAgICBcbiAgICB0YWc6IChsaW5lcywgeyBsZXZlbCA9ICcnLFxuICAgICAgICAgICAgICAgICAgIGxldmVsQ29sb3IgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICdpbmZvJzogYW5zaS5jeWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAnd2Fybic6IGFuc2kueWVsbG93LFxuICAgICAgICAgICAgICAgICAgICAgICAnZGVidWcnOiBhbnNpLmJsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICdlcnJvcic6IGFuc2kuYnJpZ2h0LnJlZCB9IH0pID0+IGJ1bGxldCAoKGxldmVsQ29sb3JbbGV2ZWxdIHx8IChzID0+IHMpKSAobGV2ZWwudG9VcHBlckNhc2UgKCkucGFkU3RhcnQgKDYpICsgJ1xcdCcpLCBsaW5lcyksXG5cbiAgICB0aW1lOiAobGluZXMsIHsgd2hlbiAgID0gbmV3IERhdGUgKCksXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9ICdsb2NhbGUnLFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGUgPSBbXSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IHt9LFxuICAgICAgICAgICAgICAgICAgICBwcmludCAgPSB3aGVuID0+IGFuc2kuZGFya0dyYXkgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZm9ybWF0ID09PSAnaXNvJykgICAgPyB3aGVuLnRvSVNPU3RyaW5nICgpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZvcm1hdCA9PT0gJ2xvY2FsZScpID8gd2hlbi50b0xvY2FsZVN0cmluZyAobG9jYWxlLCBvcHRpb25zKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChmb3JtYXQgPT09ICd1dGMnKSAgICA/IHdoZW4udG9VVENTdHJpbmcgKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuLnRvU3RyaW5nICgpKSkpKSArICdcXHQnIH0pID0+IGJ1bGxldCAocHJpbnQgKHdoZW4pLCBsaW5lcyksXG5cbiAgICBsb2NhdGU6IChsaW5lcywge1xuXG4gICAgICAgICAgICAgICAgICAgIHNoaWZ0ID0gMCxcbiAgICAgICAgICAgICAgICAgICAgd2hlcmUgPSAobmV3IFN0YWNrVHJhY2V5ICgpLmNsZWFuICgpLmF0ICgxICsgc2hpZnQpKSxcbiAgICAgICAgICAgICAgICAgICAgam9pbiAgPSAoKGEsIHNlcCwgYikgPT4gKGEgJiYgYikgPyAoYSArIHNlcCArIGIpIDogKGEgfHwgYikpLFxuICAgICAgICAgICAgICAgICAgICBwcmludCA9ICh7IGNhbGxlZVNob3J0LCBmaWxlTmFtZSA9IFtdLCBsaW5lID0gW10gfSkgPT4gYW5zaS5kYXJrR3JheSAoJygnICsgam9pbiAoY2FsbGVlU2hvcnQsICcgQCAnLCBqb2luIChmaWxlTmFtZSwgJzonLCBsaW5lKSkgKyAnKScpXG5cbiAgICAgICAgICAgICAgICB9KSA9PiBjaGFuZ2VMYXN0Tm9uZW1wdHlMaW5lIChsaW5lcywgbGluZSA9PiBqb2luIChsaW5lLCAnICcsIHByaW50ICh3aGVyZSkpKSxcblxuICAgIGpvaW46IChsaW5lcywgeyBsaW5lYnJlYWsgPSAnXFxuJyB9KSA9PiBsaW5lcy5qb2luIChsaW5lYnJlYWspLFxuXG4gICAgcmVuZGVyOiAodGV4dCwge1xuXG4gICAgICAgIGVuZ2luZSA9ICgodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpICYmICh3aW5kb3cud2luZG93ID09PSB3aW5kb3cpICYmIHdpbmRvdy5uYXZpZ2F0b3IpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YgKCdDaHJvbWUnKSA+PSAwKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ2Nocm9tZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnZ2VuZXJpYydcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2Fuc2knLFxuXG4gICAgICAgIGVuZ2luZXMgPSB7IC8qIGNvbmZpZ3VyYWJsZSAqLyB9LFxuXG4gICAgICAgIGNvbnNvbGVNZXRob2QgPSAnbG9nJyxcblxuICAgICAgICBkZWZhdWx0cyA9IHtcblxuICAgICAgICAgICAgYW5zaTogICAgcyA9PiBjb25zb2xlW2NvbnNvbGVNZXRob2RdIChzKSxcbiAgICAgICAgICAgIGNocm9tZTogIHMgPT4gY29uc29sZVtjb25zb2xlTWV0aG9kXSAoLi4uYW5zaS5wYXJzZSAocykuYXNDaHJvbWVDb25zb2xlTG9nQXJndW1lbnRzKSxcbiAgICAgICAgICAgIGdlbmVyaWM6IHMgPT4gY29uc29sZVtjb25zb2xlTWV0aG9kXSAoYW5zaS5zdHJpcCAocykpXG4gICAgICAgIH1cblxuICAgIH0pID0+ICgodGV4dCAmJiBPLmFzc2lnbiAoZGVmYXVsdHMsIGVuZ2luZXMpW2VuZ2luZV0gKHRleHQpLCB0ZXh0KSksXG5cbiAgICByZXR1cm5WYWx1ZTogKF9fLCB7IGluaXRpYWxBcmd1bWVudHM6IFtmaXJzdEFyZ3VtZW50XSB9KSA9PiBmaXJzdEFyZ3VtZW50XG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxufSkuY29uZmlndXJlICh7XG5cbiAgICB0aW1lOiBmYWxzZSwgLy8gZGlzYWJsZXMgc29tZSBzdGVwcyAodW50aWwgZW5hYmxlZCBiYWNrIGV4cGxpY2l0bHkpXG4gICAgdGFnOiAgZmFsc2VcblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG59KS5tZXRob2RzICh7XG5cbiAgICBnZXQgbm9vcCAoKSB7IHJldHVybiBwaXBleiAoeyByZXR1cm5WYWx1ZTogYXJncyA9PiBhcmdzWzBdIH0pLm1ldGhvZHMgKHRoaXMubWV0aG9kc18pIH0sXG4gICAgZ2V0IG51bGwgKCkgeyByZXR1cm4gdGhpcy5ub29wIH0sIC8vIExFR0FDWSwgREVQUkVDQVRFRCAobGVmdCBoZXJlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KVxuXG4gICAgaW5kZW50IChsZXZlbCkgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgaW5kZW50OiB7IGxldmVsOiBsZXZlbCB9fSkgfSxcblxuICAgIGdldCBlcnJvciAoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyB0YWc6IHsgbGV2ZWw6ICdlcnJvcicgfSwgcmVuZGVyOiB7IGNvbnNvbGVNZXRob2Q6ICdlcnJvcicgfSB9KSB9LFxuICAgIGdldCB3YXJuICgpICB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyB0YWc6IHsgbGV2ZWw6ICd3YXJuJyB9LCAgcmVuZGVyOiB7IGNvbnNvbGVNZXRob2Q6ICd3YXJuJyB9IH0pIH0sXG4gICAgZ2V0IGluZm8gKCkgIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IHRhZzogeyBsZXZlbDogJ2luZm8nIH0sICByZW5kZXI6IHsgY29uc29sZU1ldGhvZDogJ2luZm8nIH0gfSkgfSxcbiAgICBnZXQgZGVidWcgKCkgIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IHRhZzogeyBsZXZlbDogJ2RlYnVnJyB9LCAgcmVuZGVyOiB7IGNvbnNvbGVNZXRob2Q6ICdkZWJ1ZycgfSB9KSB9LFxuXG4gICAgbWF4QXJyYXlMZW5ndGggKG4pICB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyBzdHJpbmdpZnk6IHsgbWF4QXJyYXlMZW5ndGg6IG4gfSB9KSB9LFxuICAgIG1heE9iamVjdExlbmd0aCAobikgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IG1heE9iamVjdExlbmd0aDogbiB9IH0pIH0sXG4gICAgbWF4RGVwdGggKG4pICAgICAgICB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyBzdHJpbmdpZnk6IHsgbWF4RGVwdGg6IG4gfSB9KSB9LFxuICAgIG1heExlbmd0aCAobikgICAgICAgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IG1heExlbmd0aDogbiB9IH0pIH0sXG4gICAgXG4gICAgZ2V0IHVubGltaXRlZCAoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyBzdHJpbmdpZnk6IHsgbWF4U3RyaW5nTGVuZ3RoOiBOdW1iZXIuTUFYX1ZBTFVFLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE9iamVjdExlbmd0aDogTnVtYmVyLk1BWF9WQUxVRSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhBcnJheUxlbmd0aDogTnVtYmVyLk1BWF9WQUxVRSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhEZXB0aDogTnVtYmVyLk1BWF9WQUxVRSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2VMZW5ndGg6IE51bWJlci5NQVhfVkFMVUUgfSB9KSB9LFxuXG4gICAgZ2V0IG5vUHJldHR5ICgpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IHN0cmluZ2lmeTogeyBwcmV0dHk6IGZhbHNlIH0gfSkgfSxcbiAgICBnZXQgbm9GYW5jeSAoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyBzdHJpbmdpZnk6IHsgZmFuY3k6IGZhbHNlIH0gfSkgfSxcbiAgICBnZXQgbm9SaWdodEFsaWduS2V5cyAoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyBzdHJpbmdpZnk6IHsgcmlnaHRBbGlnbktleXM6IGZhbHNlIH0gfSkgfSxcbiAgICBnZXQgbm9Mb2NhdGUgKCkgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgbG9jYXRlOiBmYWxzZSB9KSB9LFxuICAgIHByZWNpc2lvbiAobikgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IHByZWNpc2lvbjogbiB9IH0pIH0sXG5cbiAgICBnZXQgc2VyaWFsaXplICgpIHsgcmV0dXJuIHRoaXMuYmVmb3JlICgncmVuZGVyJykgfSxcbiAgICBnZXQgZGVzZXJpYWxpemUgKCkgeyByZXR1cm4gdGhpcy5mcm9tICgncmVuZGVyJykgfSxcblxuICAgIG5ld2xpbmUgKCkgeyByZXR1cm4gdGhpcy5mcm9tICgnam9pbicpKFsnJ10pIH0sXG5cbiAgICBoYW5kbGVOb2RlRXJyb3JzICgpIHtcbiAgICAgICAgcHJvY2Vzcy5vbiAoJ3VuY2F1Z2h0RXhjZXB0aW9uJywgIGUgPT4geyB0aGlzLmJyaWdodC5yZWQuZXJyb3Iubm9Mb2NhdGUgKGUpOyBwcm9jZXNzLmV4aXQgKDEpIH0pXG4gICAgICAgIHByb2Nlc3Mub24gKCd1bmhhbmRsZWRSZWplY3Rpb24nLCBlID0+IHsgdGhpcy5icmlnaHQucmVkLmVycm9yLm5vTG9jYXRlIChlKTsgcHJvY2Vzcy5leGl0ICgxKSB9KVxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cbn0pXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYW5zaS5uYW1lcy5mb3JFYWNoIChjb2xvciA9PiB7XG5cbiAgICBsb2cubWV0aG9kcyAoe1xuXG4gICAgICAgIGdldCBbY29sb3JdICgpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7ICdjb25jYXQrJzogbGluZXMgPT4gbGluZXMubWFwIChhbnNpW2NvbG9yXSkgfSkgfVxuICAgIH0pXG59KVxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbm1vZHVsZS5leHBvcnRzID0gbG9nXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QTZCLEtBOUIxQzs7QUFnQ1IsV0FoQ1EscUJBZ0NHO0FBQUUsZUFBTyxLQUFLLElBQUwsQ0FBVyxNQUFYLEVBQW1CLENBQUMsRUFBRCxDQUFuQixDQUFQO0FBQWlDLEtBaEN0QztBQWtDUixvQkFsQ1EsOEJBa0NZO0FBQUE7O0FBQ2hCLGdCQUFRLEVBQVIsQ0FBWSxtQkFBWixFQUFrQyxhQUFLO0FBQUUsa0JBQUssTUFBTCxDQUFZLEdBQVosQ0FBZ0IsS0FBaEIsQ0FBc0IsUUFBdEIsQ0FBZ0MsQ0FBaEMsRUFBb0MsUUFBUSxJQUFSLENBQWMsQ0FBZDtBQUFrQixTQUEvRjtBQUNBLGdCQUFRLEVBQVIsQ0FBWSxvQkFBWixFQUFrQyxhQUFLO0FBQUUsa0JBQUssTUFBTCxDQUFZLEdBQVosQ0FBZ0IsS0FBaEIsQ0FBc0IsUUFBdEIsQ0FBZ0MsQ0FBaEMsRUFBb0MsUUFBUSxJQUFSLENBQWMsQ0FBZDtBQUFrQixTQUEvRjtBQUNBLGVBQU8sSUFBUDtBQUNIO0FBdENPLENBaEdBLENBQVo7O0FBeUlBOztBQUVBLEtBQUssS0FBTCxDQUFXLE9BQVgsQ0FBb0IsaUJBQVM7QUFBQTs7QUFFekIsUUFBSSxPQUFKLG1EQUVTLEtBRlQsZ0JBRVMsS0FGVCxxQkFFUyxLQUZULG9CQUVtQjtBQUFFLGVBQU8sS0FBSyxTQUFMLENBQWdCLEVBQUUsV0FBVztBQUFBLHVCQUFTLE1BQU0sR0FBTixDQUFXLEtBQUssS0FBTCxDQUFYLENBQVQ7QUFBQSxhQUFiLEVBQWhCLENBQVA7QUFBeUUsS0FGOUY7QUFJSCxDQU5EOztBQVFBOztBQUVBLE9BQU8sT0FBUCxHQUFpQixHQUFqQjs7QUFFQSIsImZpbGUiOiJvbG9sb2cuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBPICAgICAgICAgICAgICAgICA9IE9iamVjdFxuICAgICwgU3RhY2tUcmFjZXkgICAgICAgPSByZXF1aXJlICgnc3RhY2t0cmFjZXknKVxuICAgICwgYW5zaSAgICAgICAgICAgICAgPSByZXF1aXJlICgnYW5zaWNvbG9yJylcbiAgICAsIGJ1bGxldCAgICAgICAgICAgID0gcmVxdWlyZSAoJ3N0cmluZy5idWxsZXQnKVxuICAgICwgcGlwZXogICAgICAgICAgICAgPSByZXF1aXJlICgncGlwZXonKVxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuY29uc3Qgc3RyaW5naWZ5ID0gcmVxdWlyZSAoJ3N0cmluZy5pZnknKS5jb25maWd1cmUgKHtcblxuICAgIGZvcm1hdHRlciAoeCwgc3RyaW5naWZ5KSB7XG5cbiAgICAgICAgaWYgKCh4IGluc3RhbmNlb2YgRXJyb3IpICYmICEodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgeFtTeW1ib2wuZm9yICgnU3RyaW5nLmlmeScpXSkpIHtcblxuICAgICAgICAgICAgaWYgKHN0cmluZ2lmeS5zdGF0ZS5kZXB0aCA+IDApIHJldHVybiBgPEVycm9yOiAke3gubWVzc2FnZX0+YCAvLyBwcmV2ZW50cyB1bndhbnRlZCBwcmV0dHkgcHJpbnRpbmcgZm9yIEVycm9ycyB0aGF0IGFyZSBwcm9wZXJ0aWVzIG9mIGNvbXBsZXggb2JqZWN0c1xuXG4gICAgICAgICAgICBjb25zdCBpbmRlbnQgICAgICAgID0gJyAgICAnXG4gICAgICAgICAgICAgICAgLCB3aHkgICAgICAgICAgID0gc3RyaW5naWZ5LmxpbWl0ICgoeC5tZXNzYWdlIHx8ICcnKS5yZXBsYWNlICgvXFxyfFxcbi9nLCAnJykudHJpbSAoKSwgc3RyaW5naWZ5LnN0YXRlLm1heEVycm9yTWVzc2FnZUxlbmd0aCB8fCAxMjApXG4gICAgICAgICAgICAgICAgLCBzdGFjayAgICAgICAgID0gbmV3IFN0YWNrVHJhY2V5ICh4KS53aXRoU291cmNlcyAoKS5hc1RhYmxlICgpXG4gICAgICAgICAgICAgICAgLCBzdGFja0luZGVudGVkID0gc3RhY2suc3BsaXQgKCdcXG4nKS5tYXAgKHggPT4gaW5kZW50ICsgeCkuam9pbiAoJ1xcbicpXG4gICAgICAgICAgICAgICAgLCBpc0Fzc2VydGlvbiA9ICgnYWN0dWFsJyBpbiB4KSAmJiAoJ2V4cGVjdGVkJyBpbiB4KVxuICAgICAgICAgICAgICAgICwgdHlwZSAgICAgICAgPSB4LmNvbnN0cnVjdG9yLm5hbWUgfHwgJ0Vycm9yJ1xuXG4gICAgICAgICAgICBpZiAoaXNBc3NlcnRpb24pIHtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHN0ciA9IHN0cmluZ2lmeS5jb25maWd1cmUgKHsgbWF4U3RyaW5nTGVuZ3RoOiBOdW1iZXIuTUFYX1ZBTFVFLCBtYXhEZXB0aDogOCB9KVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGxldCBhY3R1YWwgICA9IGJ1bGxldCAoaW5kZW50ICsgJ2FjdHVhbDogICAnLCBzdHIgKHguYWN0dWFsKSlcbiAgICAgICAgICAgICAgICAgICwgZXhwZWN0ZWQgPSBidWxsZXQgKGluZGVudCArICdleHBlY3RlZDogJywgc3RyICh4LmV4cGVjdGVkKSlcblxuICAgICAgICAgICAgICAgIGlmICgoYWN0dWFsLnNwbGl0ICgnXFxuJykubGVuZ3RoID4gMSkgfHwgKGV4cGVjdGVkLnNwbGl0ICgnXFxuJykubGVuZ3RoID4gMSkpIC8vIGlmIG11bHRpbGluZSBhY3R1YWwvZXhwZWN0ZWQsIG5lZWQgZXh0cmEgd2hpdGVzcGFjZSBpbmJldHdlZW5cbiAgICAgICAgICAgICAgICAgICAgYWN0dWFsICs9ICdcXG4nXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gYFske3R5cGV9XSAke3doeX1cXG5cXG4ke2Fuc2kucmVkIChhY3R1YWwpfVxcbiR7YW5zaS5ncmVlbiAoZXhwZWN0ZWQpfVxcblxcbiR7c3RhY2tJbmRlbnRlZH1cXG5gXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBgWyR7dHlwZX1dICR7d2h5fVxcblxcbiR7c3RhY2tJbmRlbnRlZH1cXG5gXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59KVxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmNvbnN0IHsgaXNCbGFuaywgYmxhbmsgfSA9IHJlcXVpcmUgKCdwcmludGFibGUtY2hhcmFjdGVycycpXG5cbiAgICAsIGNoYW5nZUxhc3ROb25lbXB0eUxpbmUgPSAobGluZXMsIGZuKSA9PiB7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IGxpbmVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICgoaSA9PT0gMCkgfHwgIWlzQmxhbmsgKGxpbmVzW2ldKSkge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGxpbmVzW2ldID0gZm4gKGxpbmVzW2ldKVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5lc1xuICAgIH1cblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5jb25zdCBsb2cgPSBwaXBleiAoe1xuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiAgICBzdHJpbmdpZnk6IChhcmdzLCBjZmcsIHByaW50ID0gY2ZnLnByaW50IHx8IHN0cmluZ2lmeS5jb25maWd1cmUgKGNmZykpID0+IGFyZ3MubWFwIChhcmcgPT4gKHR5cGVvZiBhcmcgPT09ICdzdHJpbmcnKSA/IGFyZyA6IHByaW50IChhcmcpKSxcbiAgICBcbiAgICB0cmltOiAodG9rZW5zLCB7IG1heCA9IHVuZGVmaW5lZCB9KSA9PiAhbWF4ID8gdG9rZW5zIDogdG9rZW5zLm1hcCAodCA9PiBzdHJpbmdpZnkubGltaXQgKHQsIG1heCkpLFxuXG4gICAgbGluZXM6ICh0b2tlbnMsIHsgbGluZWJyZWFrID0gJ1xcbicgfSkgPT4ge1xuXG4gICAgICAgIGxldCBsaW5lcyA9IFtbXV1cbiAgICAgICAgbGV0IGxlZnRQYWQgPSBbXVxuXG4gICAgICAgIGZvciAoY29uc3QgdCBvZiB0b2tlbnMpIHtcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0LCAuLi5yZXN0XSA9IHQuc3BsaXQgKGxpbmVicmVhaylcblxuICAgICAgICAgICAgbGluZXNbbGluZXMubGVuZ3RoIC0gMV0ucHVzaCAoZmlyc3QpXG4gICAgICAgICAgICBsaW5lcyA9IFsuLi5saW5lcywgLi4ucmVzdC5tYXAgKHQgPT4gdCA/IFsuLi5sZWZ0UGFkLCB0XSA6IFtdKV1cblxuICAgICAgICAgICAgY29uc3QgcGFkID0gYmxhbmsgKCFyZXN0Lmxlbmd0aCA/IHQgOiByZXN0W3Jlc3QubGVuZ3RoIC0gMV0pXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIChwYWQpIHsgbGVmdFBhZC5wdXNoIChwYWQpIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsaW5lc1xuICAgIH0sXG5cbiAgICBjb25jYXQ6IChsaW5lcywgeyBzZXBhcmF0b3IgPSAnICcgfSkgPT4gbGluZXMubWFwICh0b2tlbnMgPT4gdG9rZW5zLmpvaW4gKHNlcGFyYXRvcikpLFxuXG4gICAgaW5kZW50OiAobGluZXMsIHsgbGV2ZWwgPSAwLCBwYXR0ZXJuID0gJ1xcdCcgfSkgPT4gbGluZXMubWFwIChsaW5lID0+IHBhdHRlcm4ucmVwZWF0IChsZXZlbCkgKyBsaW5lKSxcbiAgICBcbiAgICB0YWc6IChsaW5lcywgeyBsZXZlbCA9ICcnLFxuICAgICAgICAgICAgICAgICAgIGxldmVsQ29sb3IgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICdpbmZvJzogYW5zaS5jeWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAnd2Fybic6IGFuc2kueWVsbG93LFxuICAgICAgICAgICAgICAgICAgICAgICAnZGVidWcnOiBhbnNpLmJsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICdlcnJvcic6IGFuc2kuYnJpZ2h0LnJlZCB9IH0pID0+IGJ1bGxldCAoKGxldmVsQ29sb3JbbGV2ZWxdIHx8IChzID0+IHMpKSAobGV2ZWwudG9VcHBlckNhc2UgKCkucGFkU3RhcnQgKDYpICsgJ1xcdCcpLCBsaW5lcyksXG5cbiAgICB0aW1lOiAobGluZXMsIHsgd2hlbiAgID0gbmV3IERhdGUgKCksXG4gICAgICAgICAgICAgICAgICAgIGZvcm1hdCA9ICdsb2NhbGUnLFxuICAgICAgICAgICAgICAgICAgICBsb2NhbGUgPSBbXSxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyA9IHt9LFxuICAgICAgICAgICAgICAgICAgICBwcmludCAgPSB3aGVuID0+IGFuc2kuZGFya0dyYXkgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoZm9ybWF0ID09PSAnaXNvJykgICAgPyB3aGVuLnRvSVNPU3RyaW5nICgpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKGZvcm1hdCA9PT0gJ2xvY2FsZScpID8gd2hlbi50b0xvY2FsZVN0cmluZyAobG9jYWxlLCBvcHRpb25zKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChmb3JtYXQgPT09ICd1dGMnKSAgICA/IHdoZW4udG9VVENTdHJpbmcgKCkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuLnRvU3RyaW5nICgpKSkpKSArICdcXHQnIH0pID0+IGJ1bGxldCAocHJpbnQgKHdoZW4pLCBsaW5lcyksXG5cbiAgICBsb2NhdGU6IChsaW5lcywge1xuXG4gICAgICAgICAgICAgICAgICAgIHNoaWZ0ID0gMCxcbiAgICAgICAgICAgICAgICAgICAgemhvbyA9IGNvbnNvbGUubG9nKG5ldyBTdGFja1RyYWNleSAoKS5jbGVhbiAoKSksXG4gICAgICAgICAgICAgICAgICAgIHdoZXJlID0gKG5ldyBTdGFja1RyYWNleSAoKS5jbGVhbiAoKS5hdCAoMSArIHNoaWZ0KSksXG4gICAgICAgICAgICAgICAgICAgIGpvaW4gID0gKChhLCBzZXAsIGIpID0+IChhICYmIGIpID8gKGEgKyBzZXAgKyBiKSA6IChhIHx8IGIpKSxcbiAgICAgICAgICAgICAgICAgICAgcHJpbnQgPSAoeyBjYWxsZWVTaG9ydCwgZmlsZU5hbWUgPSBbXSwgbGluZSA9IFtdIH0pID0+IGFuc2kuZGFya0dyYXkgKCcoJyArIGpvaW4gKGNhbGxlZVNob3J0LCAnIEAgJywgam9pbiAoZmlsZU5hbWUsICc6JywgbGluZSkpICsgJyknKVxuXG4gICAgICAgICAgICAgICAgfSkgPT4gY2hhbmdlTGFzdE5vbmVtcHR5TGluZSAobGluZXMsIGxpbmUgPT4gam9pbiAobGluZSwgJyAnLCBwcmludCAod2hlcmUpKSksXG5cbiAgICBqb2luOiAobGluZXMsIHsgbGluZWJyZWFrID0gJ1xcbicgfSkgPT4gbGluZXMuam9pbiAobGluZWJyZWFrKSxcblxuICAgIHJlbmRlcjogKHRleHQsIHtcblxuICAgICAgICBlbmdpbmUgPSAoKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSAmJiAod2luZG93LndpbmRvdyA9PT0gd2luZG93KSAmJiB3aW5kb3cubmF2aWdhdG9yKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mICgnQ2hyb21lJykgPj0gMClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdjaHJvbWUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJ2dlbmVyaWMnXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICdhbnNpJyxcblxuICAgICAgICBlbmdpbmVzID0geyAvKiBjb25maWd1cmFibGUgKi8gfSxcblxuICAgICAgICBjb25zb2xlTWV0aG9kID0gJ2xvZycsXG5cbiAgICAgICAgZGVmYXVsdHMgPSB7XG5cbiAgICAgICAgICAgIGFuc2k6ICAgIHMgPT4gY29uc29sZVtjb25zb2xlTWV0aG9kXSAocyksXG4gICAgICAgICAgICBjaHJvbWU6ICBzID0+IGNvbnNvbGVbY29uc29sZU1ldGhvZF0gKC4uLmFuc2kucGFyc2UgKHMpLmFzQ2hyb21lQ29uc29sZUxvZ0FyZ3VtZW50cyksXG4gICAgICAgICAgICBnZW5lcmljOiBzID0+IGNvbnNvbGVbY29uc29sZU1ldGhvZF0gKGFuc2kuc3RyaXAgKHMpKVxuICAgICAgICB9XG5cbiAgICB9KSA9PiAoKHRleHQgJiYgTy5hc3NpZ24gKGRlZmF1bHRzLCBlbmdpbmVzKVtlbmdpbmVdICh0ZXh0KSwgdGV4dCkpLFxuXG4gICAgcmV0dXJuVmFsdWU6IChfXywgeyBpbml0aWFsQXJndW1lbnRzOiBbZmlyc3RBcmd1bWVudF0gfSkgPT4gZmlyc3RBcmd1bWVudFxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbn0pLmNvbmZpZ3VyZSAoe1xuXG4gICAgdGltZTogZmFsc2UsIC8vIGRpc2FibGVzIHNvbWUgc3RlcHMgKHVudGlsIGVuYWJsZWQgYmFjayBleHBsaWNpdGx5KVxuICAgIHRhZzogIGZhbHNlXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxufSkubWV0aG9kcyAoe1xuXG4gICAgZ2V0IG5vb3AgKCkgeyByZXR1cm4gcGlwZXogKHsgcmV0dXJuVmFsdWU6IGFyZ3MgPT4gYXJnc1swXSB9KS5tZXRob2RzICh0aGlzLm1ldGhvZHNfKSB9LFxuICAgIGdldCBudWxsICgpIHsgcmV0dXJuIHRoaXMubm9vcCB9LCAvLyBMRUdBQ1ksIERFUFJFQ0FURUQgKGxlZnQgaGVyZSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSlcblxuICAgIGluZGVudCAobGV2ZWwpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IGluZGVudDogeyBsZXZlbDogbGV2ZWwgfX0pIH0sXG5cbiAgICBnZXQgZXJyb3IgKCkgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgdGFnOiB7IGxldmVsOiAnZXJyb3InIH0sIHJlbmRlcjogeyBjb25zb2xlTWV0aG9kOiAnZXJyb3InIH0gfSkgfSxcbiAgICBnZXQgd2FybiAoKSAgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgdGFnOiB7IGxldmVsOiAnd2FybicgfSwgIHJlbmRlcjogeyBjb25zb2xlTWV0aG9kOiAnd2FybicgfSB9KSB9LFxuICAgIGdldCBpbmZvICgpICB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyB0YWc6IHsgbGV2ZWw6ICdpbmZvJyB9LCAgcmVuZGVyOiB7IGNvbnNvbGVNZXRob2Q6ICdpbmZvJyB9IH0pIH0sXG4gICAgZ2V0IGRlYnVnICgpICB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyB0YWc6IHsgbGV2ZWw6ICdkZWJ1ZycgfSwgIHJlbmRlcjogeyBjb25zb2xlTWV0aG9kOiAnZGVidWcnIH0gfSkgfSxcblxuICAgIG1heEFycmF5TGVuZ3RoIChuKSAgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IG1heEFycmF5TGVuZ3RoOiBuIH0gfSkgfSxcbiAgICBtYXhPYmplY3RMZW5ndGggKG4pIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IHN0cmluZ2lmeTogeyBtYXhPYmplY3RMZW5ndGg6IG4gfSB9KSB9LFxuICAgIG1heERlcHRoIChuKSAgICAgICAgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IG1heERlcHRoOiBuIH0gfSkgfSxcbiAgICBtYXhMZW5ndGggKG4pICAgICAgIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IHN0cmluZ2lmeTogeyBtYXhMZW5ndGg6IG4gfSB9KSB9LFxuICAgIFxuICAgIGdldCB1bmxpbWl0ZWQgKCkgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IG1heFN0cmluZ0xlbmd0aDogTnVtYmVyLk1BWF9WQUxVRSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhPYmplY3RMZW5ndGg6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4QXJyYXlMZW5ndGg6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4RGVwdGg6IE51bWJlci5NQVhfVkFMVUUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4RXJyb3JNZXNzYWdlTGVuZ3RoOiBOdW1iZXIuTUFYX1ZBTFVFIH0gfSkgfSxcblxuICAgIGdldCBub1ByZXR0eSAoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyBzdHJpbmdpZnk6IHsgcHJldHR5OiBmYWxzZSB9IH0pIH0sXG4gICAgZ2V0IG5vRmFuY3kgKCkgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IGZhbmN5OiBmYWxzZSB9IH0pIH0sXG4gICAgZ2V0IG5vUmlnaHRBbGlnbktleXMgKCkgeyByZXR1cm4gdGhpcy5jb25maWd1cmUgKHsgc3RyaW5naWZ5OiB7IHJpZ2h0QWxpZ25LZXlzOiBmYWxzZSB9IH0pIH0sXG4gICAgZ2V0IG5vTG9jYXRlICgpIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IGxvY2F0ZTogZmFsc2UgfSkgfSxcbiAgICBwcmVjaXNpb24gKG4pIHsgcmV0dXJuIHRoaXMuY29uZmlndXJlICh7IHN0cmluZ2lmeTogeyBwcmVjaXNpb246IG4gfSB9KSB9LFxuXG4gICAgZ2V0IHNlcmlhbGl6ZSAoKSB7IHJldHVybiB0aGlzLmJlZm9yZSAoJ3JlbmRlcicpIH0sXG4gICAgZ2V0IGRlc2VyaWFsaXplICgpIHsgcmV0dXJuIHRoaXMuZnJvbSAoJ3JlbmRlcicpIH0sXG5cbiAgICBuZXdsaW5lICgpIHsgcmV0dXJuIHRoaXMuZnJvbSAoJ2pvaW4nKShbJyddKSB9LFxuXG4gICAgaGFuZGxlTm9kZUVycm9ycyAoKSB7XG4gICAgICAgIHByb2Nlc3Mub24gKCd1bmNhdWdodEV4Y2VwdGlvbicsICBlID0+IHsgdGhpcy5icmlnaHQucmVkLmVycm9yLm5vTG9jYXRlIChlKTsgcHJvY2Vzcy5leGl0ICgxKSB9KVxuICAgICAgICBwcm9jZXNzLm9uICgndW5oYW5kbGVkUmVqZWN0aW9uJywgZSA9PiB7IHRoaXMuYnJpZ2h0LnJlZC5lcnJvci5ub0xvY2F0ZSAoZSk7IHByb2Nlc3MuZXhpdCAoMSkgfSlcbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG59KVxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmFuc2kubmFtZXMuZm9yRWFjaCAoY29sb3IgPT4ge1xuXG4gICAgbG9nLm1ldGhvZHMgKHtcblxuICAgICAgICBnZXQgW2NvbG9yXSAoKSB7IHJldHVybiB0aGlzLmNvbmZpZ3VyZSAoeyAnY29uY2F0Kyc6IGxpbmVzID0+IGxpbmVzLm1hcCAoYW5zaVtjb2xvcl0pIH0pIH1cbiAgICB9KVxufSlcblxuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGxvZ1xuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuIl19 |
@@ -119,2 +119,3 @@ "use strict"; | ||
shift = 0, | ||
zhoo = console.log(new StackTracey ().clean ()), | ||
where = (new StackTracey ().clean ().at (1 + shift)), | ||
@@ -121,0 +122,0 @@ join = ((a, sep, b) => (a && b) ? (a + sep + b) : (a || b)), |
{ | ||
"name": "ololog", | ||
"version": "1.1.168", | ||
"version": "1.1.169", | ||
"description": "Logging. Colors. Terminals & browsers. Show call locations. Pretty prints objects, Errors, anything!", | ||
@@ -136,3 +136,3 @@ "main": "build/ololog.js", | ||
"printable-characters": "^1.0.42", | ||
"stacktracey": "^2.0.18", | ||
"stacktracey": "^2.1.0", | ||
"string.bullet": "^1.0.12", | ||
@@ -139,0 +139,0 @@ "string.ify": "^1.0.64" |
Sorry, the diff of this file is too big to display
753379
0.24%9007
0.17%Updated