occam-nominal 1.0.584 → 1.0.586

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.
@@ -68,8 +68,9 @@ class Claim extends _occamlanguages.Element {
68
68
  verifyLabels(context, forward, back) {
69
69
  const claimString = this.getString(); ///
70
70
  context.trace(`Verifying the '${claimString}' claim's labels...`);
71
- const verifyLabel = this.verifyLabel.bind(this);
72
- return every(this.labels, verifyLabel, context, (context, back)=>{
71
+ return every(this.labels, (label, context, forward, back)=>{
72
+ return this.verifyLabel(label, context, forward, back);
73
+ }, context, (context, back)=>{
73
74
  context.debug(`...verified the '${claimString}' claim's labels.`);
74
75
  return forward(context, back);
75
76
  }, back);
@@ -207,4 +208,4 @@ class Claim extends _occamlanguages.Element {
207
208
  }
208
209
  }
209
210
 
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2NsYWltLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IEVsZW1lbnQsIGJyZWFrUG9pbnRVdGlsaXRpZXMsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgY2xhaW1TdHJpbmdGcm9tTGFiZWxzU2lnbmF0dXJlU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IGxhYmVsc0Zyb21KU09OLFxuICAgICAgICAgZGVkdWN0aW9uRnJvbUpTT04sXG4gICAgICAgICBzaWduYXR1cmVGcm9tSlNPTixcbiAgICAgICAgIGxhYmVsc1RvTGFiZWxzSlNPTixcbiAgICAgICAgIGh5cG90aGVzZXNGcm9tSlNPTixcbiAgICAgICAgIHN1cHBvc2l0aW9uc0Zyb21KU09OLFxuICAgICAgICAgZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OLFxuICAgICAgICAgc2lnbmF0dXJlVG9TaWduYXR1cmVKU09OLFxuICAgICAgICAgaHlwb3RoZXNlc1RvSHlwb3RoZXNlc0pTT04sXG4gICAgICAgICBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyByZXZlcnNlIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgZXZlcnksIGV4dHJhY3QsIGZvcndhcmRzRXZlcnksIGJhY2t3YXJkc0V2ZXJ5IH0gPSBjb250aW51YXRpb25VdGlsaXRpZXMsXG4gICAgICB7IGJyZWFrUG9pbnRGcm9tSlNPTiwgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENsYWltIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbiwgcHJvb2YsIHNpZ25hdHVyZSwgaHlwb3RoZXNlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9ucztcbiAgICB0aGlzLmRlZHVjdGlvbiA9IGRlZHVjdGlvbjtcbiAgICB0aGlzLnByb29mID0gcHJvb2Y7XG4gICAgdGhpcy5zaWduYXR1cmUgPSBzaWduYXR1cmU7XG4gICAgdGhpcy5oeXBvdGhlc2VzID0gaHlwb3RoZXNlcztcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRTdXBwb3NpdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9zaXRpb25zO1xuICB9XG5cbiAgZ2V0RGVkdWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRlZHVjdGlvbjtcbiAgfVxuXG4gIGdldFByb29mKCkge1xuICAgIHJldHVybiB0aGlzLnByb29mO1xuICB9XG5cbiAgZ2V0U2lnbmF0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZTtcbiAgfVxuXG4gIGdldEh5cG90aGVzZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHlwb3RoZXNlcztcbiAgfVxuXG4gIHNldEh5cG90aGVzZXMoaHlwb3RoZXNlcykge1xuICAgIHRoaXMuaHlwb3RoZXNlcyA9IGh5cG90aGVzZXM7XG4gIH1cblxuICBnZXRTdXBwb3NpdGlvbihpbmRleCkge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uID0gdGhpcy5zdXBwb3NpdGlvbnNbaW5kZXhdIHx8IG51bGw7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gIH1cblxuICBpc1NhdGlzZmlhYmxlKCkge1xuICAgIGNvbnN0IHNhdGlzZmlhYmxlID0gZmFsc2U7XG5cbiAgICByZXR1cm4gc2F0aXNmaWFibGU7XG4gIH1cblxuICBpc0h5cG90aGV0aWNhbCgpIHtcbiAgICBjb25zdCBoeXBvdGhlc2VzTGVuZ3RoID0gdGhpcy5oeXBvdGhlc2VzLmxlbmd0aCxcbiAgICAgICAgICBoeXBvdGhldGljYWwgPSAoaHlwb3RoZXNlc0xlbmd0aCA+IDApO1xuXG4gICAgcmV0dXJuIGh5cG90aGV0aWNhbDtcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSBsYWJlbC5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHZlcmlmeUxhYmVscyhjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBsYWJlbHMuLi5gKTtcblxuICAgIGNvbnN0IHZlcmlmeUxhYmVsID0gdGhpcy52ZXJpZnlMYWJlbC5iaW5kKHRoaXMpO1xuXG4gICAgcmV0dXJuIGV2ZXJ5KHRoaXMubGFiZWxzLCB2ZXJpZnlMYWJlbCwgY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgbGFiZWxzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeUxhYmVsKGxhYmVsLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjbGFpbVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7bGFiZWxTdHJpbmd9JyBsYWJlbC4uLmApO1xuXG4gICAgcmV0dXJuIGxhYmVsLnZlcmlmeShjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtsYWJlbFN0cmluZ30nIGxhYmVsLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeVByb29mKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBpZiAodGhpcy5wcm9vZiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBwcm9vZi4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5kZWR1Y3Rpb24uZ2V0U3RhdGVtZW50KCk7XG5cbiAgICByZXR1cm4gdGhpcy5wcm9vZi52ZXJpZnkoc3RhdGVtZW50LCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBwcm9vZi5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICB2ZXJpZnlEZWR1Y3Rpb24oY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGNsYWltU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgZGVkdWN0aW9uU3RyaW5nID0gdGhpcy5kZWR1Y3Rpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24uLi5gKTtcblxuICAgIHJldHVybiB0aGlzLmRlZHVjdGlvbi52ZXJpZnkoY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7ZGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvblN0cmluZyA9IHN1cHBvc2l0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uLnZlcmlmeShjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeVN1cHBvc2l0aW9ucyhjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25zTGVuZ3RoID0gdGhpcy5zdXBwb3NpdGlvbnMubGVuZ3RoO1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uc0xlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBzdXBwb3NpdGlvbnMuLi5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkc0V2ZXJ5KHRoaXMuc3VwcG9zaXRpb25zLCAoc3VwcG9zaXRpb24sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnZlcmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgICBjb25zdCBmYWN0T3JTdWJwcm9vZiA9IHN1cHBvc2l0aW9uOyAvLy9cblxuICAgICAgICBjb250ZXh0LmFkZEZhY3RPclN1YnByb29mKGZhY3RPclN1YnByb29mKTtcblxuICAgICAgICBjb250ZXh0LmFzc2lnbkFzc2lnbm1lbnRzKCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgICB9LCBiYWNrKTtcbiAgICB9LCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBzdXBwb3NpdGlvbnMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgZGlzY2hhcmdlSHlwb3RoZXNpcyhoeXBvdGhlc2lzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICBoeXBvdGhlc2lzU3RyaW5nID0gaHlwb3RoZXNpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYERpc2NoYXJnaW5nIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7aHlwb3RoZXNpc1N0cmluZ30nIGh5cG90aGVzaXMuLi5gKTtcblxuICAgIHJldHVybiBoeXBvdGhlc2lzLmRpc2NoYXJnZShjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC50cmFjZShgLi4uZGlzY2hhcmdlcyB0aGUgJyR7Y2xhaW1TdHJpbmd9JyBjbGFpbSdzICcke2h5cG90aGVzaXNTdHJpbmd9JyBoeXBvdGhlc2lzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGRpc2NoYXJnZUh5cG90aGVzZXMoc3RlcCwgZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgaHlwb3RoZXNlcyA9IHRoaXMuZ2V0SHlwb3RoZXNlcygpLFxuICAgICAgICAgIGh5cG90aGVzZXNMZW5ndGggPSBoeXBvdGhlc2VzLmxlbmd0aDtcblxuICAgIGlmIChoeXBvdGhlc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZm9yd2FyZChzdGVwLCBmYWN0T3JTdWJwcm9vZnMsIGNvbnRleHQsIGJhY2spO1xuICAgIH1cblxuICAgIGNvbnN0IGNsYWltU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBEaXNjaGFyZ2luZyB0aGUgJyR7Y2xhaW1TdHJpbmd9JyBjbGFpbSdzIGh5cG90aGVzZXMuLi5gKTtcblxuICAgIGNvbnN0IGRpc2NoYXJnZUh5cG90aGVzaXMgPSB0aGlzLmRpc2NoYXJnZUh5cG90aGVzaXMuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiBldmVyeShoeXBvdGhlc2VzLCBkaXNjaGFyZ2VIeXBvdGhlc2lzLCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC50cmFjZShgLi4uZGlzY2hhcmdlZCB0aGUgJyR7Y2xhaW1TdHJpbmd9JyBjbGFpbSdzIGh5cG90aGVzZXMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHN0ZXAsIGZhY3RPclN1YnByb29mcywgY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBhcHBseURlZHVjdGlvbihzdGVwLCBmYWN0T3JTdWJwcm9vZnMsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBzdGVwU3RyaW5nID0gc3RlcC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjbGFpbVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIGRlZHVjdGlvblN0cmluZyA9IHRoaXMuZGVkdWN0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgQXBwbHlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24gdG8gdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwLi4uYCk7XG5cbiAgICByZXR1cm4gdGhpcy5kZWR1Y3Rpb24uYXBwbHkoc3RlcCwgY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmFwcGxpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24gdG8gdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChzdGVwLCBmYWN0T3JTdWJwcm9vZnMsIGNvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgYXBwbHlTdXBwb3NpdGlvbihmYWN0T3JTdWJwcm9vZnMsIHN1cHBvc2l0aW9uLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgcmV0dXJuIGV4dHJhY3QoZmFjdE9yU3VicHJvb2ZzLFxuICAgICAgKGZhY3RPclN1YnByb29mLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiBzdXBwb3NpdGlvbi5hcHBseShmYWN0T3JTdWJwcm9vZiwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICB9LCAoZmFjdE9yU3VicHJvb2ZzLCBmYWN0T3JTdWJwcm9vZiwgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgICByZXR1cm4gY29udGV4dC5zb2x2ZURlcml2ZWRTdWJzdGl0dXRpb25zKChiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQoZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9LCAoZXhjZXB0aW9uKSA9PiB7XG4gICAgICAgIGlmKGV4Y2VwdGlvbikge1xuICAgICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VwcG9zaXRpb24uYXBwbHlJbmRlcGVuZGVudGx5KGNvbnRleHQsIChjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQoZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGFwcGx5U3VwcG9zaXRpb25zKHN0ZXAsIGZhY3RPclN1YnByb29mcywgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGZhY3RPclN1YnByb29mcyA9IHJldmVyc2UoZmFjdE9yU3VicHJvb2ZzKTsgLy8vXG5cbiAgICByZXR1cm4gYmFja3dhcmRzRXZlcnkodGhpcy5zdXBwb3NpdGlvbnMsIChzdXBwb3NpdGlvbiwgZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hcHBseVN1cHBvc2l0aW9uKGZhY3RPclN1YnByb29mcywgc3VwcG9zaXRpb24sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0sIGZhY3RPclN1YnByb29mcywgY29udGV4dCwgKGZhY3RPclN1YnByb29mcywgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgcmV0dXJuIGZvcndhcmQoc3RlcCwgZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBsZXQganNvbjtcblxuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbGFiZWxzSlNPTiA9IGxhYmVsc1RvTGFiZWxzSlNPTih0aGlzLmxhYmVscyksXG4gICAgICAgICAgZGVkdWN0aW9uSlNPTiA9IGRlZHVjdGlvblRvRGVkdWN0aW9uSlNPTih0aGlzLmRlZHVjdGlvbiksXG4gICAgICAgICAgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTih0aGlzLnN1cHBvc2l0aW9ucyksXG4gICAgICAgICAgc2lnbmF0dXJlSlNPTiA9IHNpZ25hdHVyZVRvU2lnbmF0dXJlSlNPTih0aGlzLnNpZ25hdHVyZSksXG4gICAgICAgICAgaHlwb3RoZXNlc0pTT04gPSBoeXBvdGhlc2VzVG9IeXBvdGhlc2VzSlNPTih0aGlzLmh5cG90aGVzZXMpO1xuXG4gICAgbGV0IGJyZWFrUG9pbnQ7XG5cbiAgICBicmVha1BvaW50ID0gdGhpcy5nZXRCcmVha1BvaW50KCk7XG5cbiAgICBjb25zdCBicmVha1BvaW50SlNPTiA9IGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpO1xuXG4gICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRKU09OOyAgLy8vXG5cbiAgICBjb25zdCBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgZGVkdWN0aW9uID0gZGVkdWN0aW9uSlNPTiwgIC8vL1xuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0pTT04sICAvLy9cbiAgICAgICAgICBzaWduYXR1cmUgPSBzaWduYXR1cmVKU09OLCAgLy8vXG4gICAgICAgICAgaHlwb3RoZXNlcyA9IGh5cG90aGVzZXNKU09OOyAgLy8vXG5cbiAgICBqc29uID0ge1xuICAgICAgc3RyaW5nLFxuICAgICAgYnJlYWtQb2ludCxcbiAgICAgIGxhYmVscyxcbiAgICAgIGRlZHVjdGlvbixcbiAgICAgIHN1cHBvc2l0aW9ucyxcbiAgICAgIHNpZ25hdHVyZSxcbiAgICAgIGh5cG90aGVzZXNcbiAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oQ2xhc3MsIGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBsYWJlbHNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBkZWR1Y3Rpb24gPSBkZWR1Y3Rpb25Gcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBzaWduYXR1cmUgPSBzaWduYXR1cmVGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBoeXBvdGhlc2VzID0gaHlwb3RoZXNlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGNsYWltU3RyaW5nID0gY2xhaW1TdHJpbmdGcm9tTGFiZWxzU2lnbmF0dXJlU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uKGxhYmVscywgc2lnbmF0dXJlLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbiksXG4gICAgICAgICAgc3RyaW5nID0gY2xhaW1TdHJpbmcsIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50RnJvbUpTT04oanNvbiksXG4gICAgICAgICAgcHJvb2YgPSBudWxsLFxuICAgICAgICAgIGNsYWltID0gbmV3IENsYXNzKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbiwgcHJvb2YsIHNpZ25hdHVyZSwgaHlwb3RoZXNlcyk7XG5cbiAgICByZXR1cm4gY2xhaW07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDbGFpbSIsInJldmVyc2UiLCJhcnJheVV0aWxpdGllcyIsImV2ZXJ5IiwiZXh0cmFjdCIsImZvcndhcmRzRXZlcnkiLCJiYWNrd2FyZHNFdmVyeSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImJyZWFrUG9pbnRGcm9tSlNPTiIsImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJsYWJlbHMiLCJzdXBwb3NpdGlvbnMiLCJkZWR1Y3Rpb24iLCJwcm9vZiIsInNpZ25hdHVyZSIsImh5cG90aGVzZXMiLCJnZXRMYWJlbHMiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZXREZWR1Y3Rpb24iLCJnZXRQcm9vZiIsImdldFNpZ25hdHVyZSIsImdldEh5cG90aGVzZXMiLCJzZXRIeXBvdGhlc2VzIiwiZ2V0U3VwcG9zaXRpb24iLCJpbmRleCIsInN1cHBvc2l0aW9uIiwiaXNTYXRpc2ZpYWJsZSIsInNhdGlzZmlhYmxlIiwiaXNIeXBvdGhldGljYWwiLCJoeXBvdGhlc2VzTGVuZ3RoIiwibGVuZ3RoIiwiaHlwb3RoZXRpY2FsIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwic29tZSIsImxhYmVsIiwidmVyaWZ5TGFiZWxzIiwiZm9yd2FyZCIsImJhY2siLCJjbGFpbVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmVyaWZ5TGFiZWwiLCJiaW5kIiwiZGVidWciLCJsYWJlbFN0cmluZyIsInZlcmlmeSIsInZlcmlmeVByb29mIiwic3RhdGVtZW50IiwiZ2V0U3RhdGVtZW50IiwidmVyaWZ5RGVkdWN0aW9uIiwiZGVkdWN0aW9uU3RyaW5nIiwidmVyaWZ5U3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvblN0cmluZyIsInZlcmlmeVN1cHBvc2l0aW9ucyIsInN1cHBvc2l0aW9uc0xlbmd0aCIsImZhY3RPclN1YnByb29mIiwiYWRkRmFjdE9yU3VicHJvb2YiLCJhc3NpZ25Bc3NpZ25tZW50cyIsImRpc2NoYXJnZUh5cG90aGVzaXMiLCJoeXBvdGhlc2lzIiwiaHlwb3RoZXNpc1N0cmluZyIsImRpc2NoYXJnZSIsImRpc2NoYXJnZUh5cG90aGVzZXMiLCJzdGVwIiwiZmFjdE9yU3VicHJvb2ZzIiwiYXBwbHlEZWR1Y3Rpb24iLCJzdGVwU3RyaW5nIiwiYXBwbHkiLCJhcHBseVN1cHBvc2l0aW9uIiwic29sdmVEZXJpdmVkU3Vic3RpdHV0aW9ucyIsImV4Y2VwdGlvbiIsImFwcGx5SW5kZXBlbmRlbnRseSIsImFwcGx5U3VwcG9zaXRpb25zIiwidG9KU09OIiwianNvbiIsImxhYmVsc0pTT04iLCJsYWJlbHNUb0xhYmVsc0pTT04iLCJkZWR1Y3Rpb25KU09OIiwiZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OIiwic3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTiIsInNpZ25hdHVyZUpTT04iLCJzaWduYXR1cmVUb1NpZ25hdHVyZUpTT04iLCJoeXBvdGhlc2VzSlNPTiIsImh5cG90aGVzZXNUb0h5cG90aGVzZXNKU09OIiwiZ2V0QnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwiZnJvbUpTT04iLCJDbGFzcyIsImxhYmVsc0Zyb21KU09OIiwiZGVkdWN0aW9uRnJvbUpTT04iLCJzdXBwb3NpdGlvbnNGcm9tSlNPTiIsInNpZ25hdHVyZUZyb21KU09OIiwiaHlwb3RoZXNlc0Zyb21KU09OIiwiY2xhaW1TdHJpbmdGcm9tTGFiZWxzU2lnbmF0dXJlU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uIiwiY2xhaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXFCQTs7O2VBQXFCQTs7OzJCQW5CVTtnQ0FDcUM7d0JBRUc7c0JBVXhCO0FBRS9DLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUdDLHlCQUFjLEVBQzVCLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsRUFBRSxHQUFHQyxxQ0FBcUIsRUFDekUsRUFBRUMsa0JBQWtCLEVBQUVDLDBCQUEwQixFQUFFLEdBQUdDLG1DQUFtQjtBQUUvRCxNQUFNVixjQUFjVyx1QkFBTztJQUN4QyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUFFQyxVQUFVLENBQUU7UUFDNUcsS0FBSyxDQUFDVCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7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
211
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2NsYWltLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcbmltcG9ydCB7IEVsZW1lbnQsIGJyZWFrUG9pbnRVdGlsaXRpZXMsIGNvbnRpbnVhdGlvblV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgY2xhaW1TdHJpbmdGcm9tTGFiZWxzU2lnbmF0dXJlU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IGxhYmVsc0Zyb21KU09OLFxuICAgICAgICAgZGVkdWN0aW9uRnJvbUpTT04sXG4gICAgICAgICBzaWduYXR1cmVGcm9tSlNPTixcbiAgICAgICAgIGxhYmVsc1RvTGFiZWxzSlNPTixcbiAgICAgICAgIGh5cG90aGVzZXNGcm9tSlNPTixcbiAgICAgICAgIHN1cHBvc2l0aW9uc0Zyb21KU09OLFxuICAgICAgICAgZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OLFxuICAgICAgICAgc2lnbmF0dXJlVG9TaWduYXR1cmVKU09OLFxuICAgICAgICAgaHlwb3RoZXNlc1RvSHlwb3RoZXNlc0pTT04sXG4gICAgICAgICBzdXBwb3NpdGlvbnNUb1N1cHBvc2l0aW9uc0pTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgeyByZXZlcnNlIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgZXZlcnksIGV4dHJhY3QsIGZvcndhcmRzRXZlcnksIGJhY2t3YXJkc0V2ZXJ5IH0gPSBjb250aW51YXRpb25VdGlsaXRpZXMsXG4gICAgICB7IGJyZWFrUG9pbnRGcm9tSlNPTiwgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENsYWltIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbiwgcHJvb2YsIHNpZ25hdHVyZSwgaHlwb3RoZXNlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLmxhYmVscyA9IGxhYmVscztcbiAgICB0aGlzLnN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9ucztcbiAgICB0aGlzLmRlZHVjdGlvbiA9IGRlZHVjdGlvbjtcbiAgICB0aGlzLnByb29mID0gcHJvb2Y7XG4gICAgdGhpcy5zaWduYXR1cmUgPSBzaWduYXR1cmU7XG4gICAgdGhpcy5oeXBvdGhlc2VzID0gaHlwb3RoZXNlcztcbiAgfVxuXG4gIGdldExhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbHM7XG4gIH1cblxuICBnZXRTdXBwb3NpdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3VwcG9zaXRpb25zO1xuICB9XG5cbiAgZ2V0RGVkdWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRlZHVjdGlvbjtcbiAgfVxuXG4gIGdldFByb29mKCkge1xuICAgIHJldHVybiB0aGlzLnByb29mO1xuICB9XG5cbiAgZ2V0U2lnbmF0dXJlKCkge1xuICAgIHJldHVybiB0aGlzLnNpZ25hdHVyZTtcbiAgfVxuXG4gIGdldEh5cG90aGVzZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaHlwb3RoZXNlcztcbiAgfVxuXG4gIHNldEh5cG90aGVzZXMoaHlwb3RoZXNlcykge1xuICAgIHRoaXMuaHlwb3RoZXNlcyA9IGh5cG90aGVzZXM7XG4gIH1cblxuICBnZXRTdXBwb3NpdGlvbihpbmRleCkge1xuICAgIGNvbnN0IHN1cHBvc2l0aW9uID0gdGhpcy5zdXBwb3NpdGlvbnNbaW5kZXhdIHx8IG51bGw7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gIH1cblxuICBpc1NhdGlzZmlhYmxlKCkge1xuICAgIGNvbnN0IHNhdGlzZmlhYmxlID0gZmFsc2U7XG5cbiAgICByZXR1cm4gc2F0aXNmaWFibGU7XG4gIH1cblxuICBpc0h5cG90aGV0aWNhbCgpIHtcbiAgICBjb25zdCBoeXBvdGhlc2VzTGVuZ3RoID0gdGhpcy5oeXBvdGhlc2VzLmxlbmd0aCxcbiAgICAgICAgICBoeXBvdGhldGljYWwgPSAoaHlwb3RoZXNlc0xlbmd0aCA+IDApO1xuXG4gICAgcmV0dXJuIGh5cG90aGV0aWNhbDtcbiAgfVxuXG4gIG1hdGNoTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSB0aGlzLmxhYmVscy5zb21lKChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZU1hdGNoZXMgPSBsYWJlbC5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICAgIGlmIChtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGVOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHZlcmlmeUxhYmVscyhjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBsYWJlbHMuLi5gKTtcblxuICAgIHJldHVybiBldmVyeSh0aGlzLmxhYmVscywgKGxhYmVsLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52ZXJpZnlMYWJlbChsYWJlbCwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSwgY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgbGFiZWxzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeUxhYmVsKGxhYmVsLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgbGFiZWxTdHJpbmcgPSBsYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjbGFpbVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7bGFiZWxTdHJpbmd9JyBsYWJlbC4uLmApO1xuXG4gICAgcmV0dXJuIGxhYmVsLnZlcmlmeShjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtsYWJlbFN0cmluZ30nIGxhYmVsLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeVByb29mKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBpZiAodGhpcy5wcm9vZiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBwcm9vZi4uLmApO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50ID0gdGhpcy5kZWR1Y3Rpb24uZ2V0U3RhdGVtZW50KCk7XG5cbiAgICByZXR1cm4gdGhpcy5wcm9vZi52ZXJpZnkoc3RhdGVtZW50LCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBwcm9vZi5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICB2ZXJpZnlEZWR1Y3Rpb24oY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGNsYWltU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKSwgLy8vXG4gICAgICAgICAgZGVkdWN0aW9uU3RyaW5nID0gdGhpcy5kZWR1Y3Rpb24uZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24uLi5gKTtcblxuICAgIHJldHVybiB0aGlzLmRlZHVjdGlvbi52ZXJpZnkoY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7ZGVkdWN0aW9uU3RyaW5nfScgZGVkdWN0aW9uLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvblN0cmluZyA9IHN1cHBvc2l0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7c3VwcG9zaXRpb25TdHJpbmd9JyBzdXBwb3NpdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHN1cHBvc2l0aW9uLnZlcmlmeShjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtzdXBwb3NpdGlvblN0cmluZ30nIHN1cHBvc2l0aW9uLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZlcmlmeVN1cHBvc2l0aW9ucyhjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb25zTGVuZ3RoID0gdGhpcy5zdXBwb3NpdGlvbnMubGVuZ3RoO1xuXG4gICAgaWYgKHN1cHBvc2l0aW9uc0xlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgfVxuXG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBzdXBwb3NpdGlvbnMuLi5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkc0V2ZXJ5KHRoaXMuc3VwcG9zaXRpb25zLCAoc3VwcG9zaXRpb24sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spID0+IHtcbiAgICAgIHJldHVybiB0aGlzLnZlcmlmeVN1cHBvc2l0aW9uKHN1cHBvc2l0aW9uLCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgICBjb25zdCBmYWN0T3JTdWJwcm9vZiA9IHN1cHBvc2l0aW9uOyAvLy9cblxuICAgICAgICBjb250ZXh0LmFkZEZhY3RPclN1YnByb29mKGZhY3RPclN1YnByb29mKTtcblxuICAgICAgICBjb250ZXh0LmFzc2lnbkFzc2lnbm1lbnRzKCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgICB9LCBiYWNrKTtcbiAgICB9LCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyBzdXBwb3NpdGlvbnMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgZGlzY2hhcmdlSHlwb3RoZXNpcyhoeXBvdGhlc2lzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY2xhaW1TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLCAvLy9cbiAgICAgICAgICBoeXBvdGhlc2lzU3RyaW5nID0gaHlwb3RoZXNpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYERpc2NoYXJnaW5nIHRoZSAnJHtjbGFpbVN0cmluZ30nIGNsYWltJ3MgJyR7aHlwb3RoZXNpc1N0cmluZ30nIGh5cG90aGVzaXMuLi5gKTtcblxuICAgIHJldHVybiBoeXBvdGhlc2lzLmRpc2NoYXJnZShjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC50cmFjZShgLi4uZGlzY2hhcmdlcyB0aGUgJyR7Y2xhaW1TdHJpbmd9JyBjbGFpbSdzICcke2h5cG90aGVzaXNTdHJpbmd9JyBoeXBvdGhlc2lzLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGRpc2NoYXJnZUh5cG90aGVzZXMoc3RlcCwgZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgaHlwb3RoZXNlcyA9IHRoaXMuZ2V0SHlwb3RoZXNlcygpLFxuICAgICAgICAgIGh5cG90aGVzZXNMZW5ndGggPSBoeXBvdGhlc2VzLmxlbmd0aDtcblxuICAgIGlmIChoeXBvdGhlc2VzTGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gZm9yd2FyZChzdGVwLCBmYWN0T3JTdWJwcm9vZnMsIGNvbnRleHQsIGJhY2spO1xuICAgIH1cblxuICAgIGNvbnN0IGNsYWltU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBEaXNjaGFyZ2luZyB0aGUgJyR7Y2xhaW1TdHJpbmd9JyBjbGFpbSdzIGh5cG90aGVzZXMuLi5gKTtcblxuICAgIGNvbnN0IGRpc2NoYXJnZUh5cG90aGVzaXMgPSB0aGlzLmRpc2NoYXJnZUh5cG90aGVzaXMuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiBldmVyeShoeXBvdGhlc2VzLCBkaXNjaGFyZ2VIeXBvdGhlc2lzLCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC50cmFjZShgLi4uZGlzY2hhcmdlZCB0aGUgJyR7Y2xhaW1TdHJpbmd9JyBjbGFpbSdzIGh5cG90aGVzZXMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHN0ZXAsIGZhY3RPclN1YnByb29mcywgY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBhcHBseURlZHVjdGlvbihzdGVwLCBmYWN0T3JTdWJwcm9vZnMsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBzdGVwU3RyaW5nID0gc3RlcC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBjbGFpbVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksIC8vL1xuICAgICAgICAgIGRlZHVjdGlvblN0cmluZyA9IHRoaXMuZGVkdWN0aW9uLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgQXBwbHlpbmcgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24gdG8gdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwLi4uYCk7XG5cbiAgICByZXR1cm4gdGhpcy5kZWR1Y3Rpb24uYXBwbHkoc3RlcCwgY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmFwcGxpZWQgdGhlICcke2NsYWltU3RyaW5nfScgY2xhaW0ncyAnJHtkZWR1Y3Rpb25TdHJpbmd9JyBkZWR1Y3Rpb24gdG8gdGhlICcke3N0ZXBTdHJpbmd9JyBzdGVwLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChzdGVwLCBmYWN0T3JTdWJwcm9vZnMsIGNvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgYXBwbHlTdXBwb3NpdGlvbihmYWN0T3JTdWJwcm9vZnMsIHN1cHBvc2l0aW9uLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgcmV0dXJuIGV4dHJhY3QoZmFjdE9yU3VicHJvb2ZzLFxuICAgICAgKGZhY3RPclN1YnByb29mLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiBzdXBwb3NpdGlvbi5hcHBseShmYWN0T3JTdWJwcm9vZiwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICB9LCAoZmFjdE9yU3VicHJvb2ZzLCBmYWN0T3JTdWJwcm9vZiwgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgICByZXR1cm4gY29udGV4dC5zb2x2ZURlcml2ZWRTdWJzdGl0dXRpb25zKChiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQoZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9LCAoZXhjZXB0aW9uKSA9PiB7XG4gICAgICAgIGlmKGV4Y2VwdGlvbikge1xuICAgICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VwcG9zaXRpb24uYXBwbHlJbmRlcGVuZGVudGx5KGNvbnRleHQsIChjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQoZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGFwcGx5U3VwcG9zaXRpb25zKHN0ZXAsIGZhY3RPclN1YnByb29mcywgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGZhY3RPclN1YnByb29mcyA9IHJldmVyc2UoZmFjdE9yU3VicHJvb2ZzKTsgLy8vXG5cbiAgICByZXR1cm4gYmFja3dhcmRzRXZlcnkodGhpcy5zdXBwb3NpdGlvbnMsIChzdXBwb3NpdGlvbiwgZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hcHBseVN1cHBvc2l0aW9uKGZhY3RPclN1YnByb29mcywgc3VwcG9zaXRpb24sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0sIGZhY3RPclN1YnByb29mcywgY29udGV4dCwgKGZhY3RPclN1YnByb29mcywgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgcmV0dXJuIGZvcndhcmQoc3RlcCwgZmFjdE9yU3VicHJvb2ZzLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBsZXQganNvbjtcblxuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbGFiZWxzSlNPTiA9IGxhYmVsc1RvTGFiZWxzSlNPTih0aGlzLmxhYmVscyksXG4gICAgICAgICAgZGVkdWN0aW9uSlNPTiA9IGRlZHVjdGlvblRvRGVkdWN0aW9uSlNPTih0aGlzLmRlZHVjdGlvbiksXG4gICAgICAgICAgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTih0aGlzLnN1cHBvc2l0aW9ucyksXG4gICAgICAgICAgc2lnbmF0dXJlSlNPTiA9IHNpZ25hdHVyZVRvU2lnbmF0dXJlSlNPTih0aGlzLnNpZ25hdHVyZSksXG4gICAgICAgICAgaHlwb3RoZXNlc0pTT04gPSBoeXBvdGhlc2VzVG9IeXBvdGhlc2VzSlNPTih0aGlzLmh5cG90aGVzZXMpO1xuXG4gICAgbGV0IGJyZWFrUG9pbnQ7XG5cbiAgICBicmVha1BvaW50ID0gdGhpcy5nZXRCcmVha1BvaW50KCk7XG5cbiAgICBjb25zdCBicmVha1BvaW50SlNPTiA9IGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OKGJyZWFrUG9pbnQpO1xuXG4gICAgYnJlYWtQb2ludCA9IGJyZWFrUG9pbnRKU09OOyAgLy8vXG5cbiAgICBjb25zdCBsYWJlbHMgPSBsYWJlbHNKU09OLCAgLy8vXG4gICAgICAgICAgZGVkdWN0aW9uID0gZGVkdWN0aW9uSlNPTiwgIC8vL1xuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0pTT04sICAvLy9cbiAgICAgICAgICBzaWduYXR1cmUgPSBzaWduYXR1cmVKU09OLCAgLy8vXG4gICAgICAgICAgaHlwb3RoZXNlcyA9IGh5cG90aGVzZXNKU09OOyAgLy8vXG5cbiAgICBqc29uID0ge1xuICAgICAgc3RyaW5nLFxuICAgICAgYnJlYWtQb2ludCxcbiAgICAgIGxhYmVscyxcbiAgICAgIGRlZHVjdGlvbixcbiAgICAgIHN1cHBvc2l0aW9ucyxcbiAgICAgIHNpZ25hdHVyZSxcbiAgICAgIGh5cG90aGVzZXNcbiAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oQ2xhc3MsIGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBsYWJlbHNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBkZWR1Y3Rpb24gPSBkZWR1Y3Rpb25Gcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBzaWduYXR1cmUgPSBzaWduYXR1cmVGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBoeXBvdGhlc2VzID0gaHlwb3RoZXNlc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGNsYWltU3RyaW5nID0gY2xhaW1TdHJpbmdGcm9tTGFiZWxzU2lnbmF0dXJlU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uKGxhYmVscywgc2lnbmF0dXJlLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbiksXG4gICAgICAgICAgc3RyaW5nID0gY2xhaW1TdHJpbmcsIC8vL1xuICAgICAgICAgIG5vZGUgPSBudWxsLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50RnJvbUpTT04oanNvbiksXG4gICAgICAgICAgcHJvb2YgPSBudWxsLFxuICAgICAgICAgIGNsYWltID0gbmV3IENsYXNzKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGRlZHVjdGlvbiwgcHJvb2YsIHNpZ25hdHVyZSwgaHlwb3RoZXNlcyk7XG5cbiAgICByZXR1cm4gY2xhaW07XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDbGFpbSIsInJldmVyc2UiLCJhcnJheVV0aWxpdGllcyIsImV2ZXJ5IiwiZXh0cmFjdCIsImZvcndhcmRzRXZlcnkiLCJiYWNrd2FyZHNFdmVyeSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImJyZWFrUG9pbnRGcm9tSlNPTiIsImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJsYWJlbHMiLCJzdXBwb3NpdGlvbnMiLCJkZWR1Y3Rpb24iLCJwcm9vZiIsInNpZ25hdHVyZSIsImh5cG90aGVzZXMiLCJnZXRMYWJlbHMiLCJnZXRTdXBwb3NpdGlvbnMiLCJnZXREZWR1Y3Rpb24iLCJnZXRQcm9vZiIsImdldFNpZ25hdHVyZSIsImdldEh5cG90aGVzZXMiLCJzZXRIeXBvdGhlc2VzIiwiZ2V0U3VwcG9zaXRpb24iLCJpbmRleCIsInN1cHBvc2l0aW9uIiwiaXNTYXRpc2ZpYWJsZSIsInNhdGlzZmlhYmxlIiwiaXNIeXBvdGhldGljYWwiLCJoeXBvdGhlc2VzTGVuZ3RoIiwibGVuZ3RoIiwiaHlwb3RoZXRpY2FsIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZU5vZGVNYXRjaGVzIiwic29tZSIsImxhYmVsIiwidmVyaWZ5TGFiZWxzIiwiZm9yd2FyZCIsImJhY2siLCJjbGFpbVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmVyaWZ5TGFiZWwiLCJkZWJ1ZyIsImxhYmVsU3RyaW5nIiwidmVyaWZ5IiwidmVyaWZ5UHJvb2YiLCJzdGF0ZW1lbnQiLCJnZXRTdGF0ZW1lbnQiLCJ2ZXJpZnlEZWR1Y3Rpb24iLCJkZWR1Y3Rpb25TdHJpbmciLCJ2ZXJpZnlTdXBwb3NpdGlvbiIsInN1cHBvc2l0aW9uU3RyaW5nIiwidmVyaWZ5U3VwcG9zaXRpb25zIiwic3VwcG9zaXRpb25zTGVuZ3RoIiwiZmFjdE9yU3VicHJvb2YiLCJhZGRGYWN0T3JTdWJwcm9vZiIsImFzc2lnbkFzc2lnbm1lbnRzIiwiZGlzY2hhcmdlSHlwb3RoZXNpcyIsImh5cG90aGVzaXMiLCJoeXBvdGhlc2lzU3RyaW5nIiwiZGlzY2hhcmdlIiwiZGlzY2hhcmdlSHlwb3RoZXNlcyIsInN0ZXAiLCJmYWN0T3JTdWJwcm9vZnMiLCJiaW5kIiwiYXBwbHlEZWR1Y3Rpb24iLCJzdGVwU3RyaW5nIiwiYXBwbHkiLCJhcHBseVN1cHBvc2l0aW9uIiwic29sdmVEZXJpdmVkU3Vic3RpdHV0aW9ucyIsImV4Y2VwdGlvbiIsImFwcGx5SW5kZXBlbmRlbnRseSIsImFwcGx5U3VwcG9zaXRpb25zIiwidG9KU09OIiwianNvbiIsImxhYmVsc0pTT04iLCJsYWJlbHNUb0xhYmVsc0pTT04iLCJkZWR1Y3Rpb25KU09OIiwiZGVkdWN0aW9uVG9EZWR1Y3Rpb25KU09OIiwic3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTiIsInNpZ25hdHVyZUpTT04iLCJzaWduYXR1cmVUb1NpZ25hdHVyZUpTT04iLCJoeXBvdGhlc2VzSlNPTiIsImh5cG90aGVzZXNUb0h5cG90aGVzZXNKU09OIiwiZ2V0QnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwiZnJvbUpTT04iLCJDbGFzcyIsImxhYmVsc0Zyb21KU09OIiwiZGVkdWN0aW9uRnJvbUpTT04iLCJzdXBwb3NpdGlvbnNGcm9tSlNPTiIsInNpZ25hdHVyZUZyb21KU09OIiwiaHlwb3RoZXNlc0Zyb21KU09OIiwiY2xhaW1TdHJpbmdGcm9tTGFiZWxzU2lnbmF0dXJlU3VwcG9zaXRpb25zQW5kRGVkdWN0aW9uIiwiY2xhaW0iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXFCQTs7O2VBQXFCQTs7OzJCQW5CVTtnQ0FDcUM7d0JBRUc7c0JBVXhCO0FBRS9DLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUdDLHlCQUFjLEVBQzVCLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQUVDLGNBQWMsRUFBRSxHQUFHQyxxQ0FBcUIsRUFDekUsRUFBRUMsa0JBQWtCLEVBQUVDLDBCQUEwQixFQUFFLEdBQUdDLG1DQUFtQjtBQUUvRCxNQUFNVixjQUFjVyx1QkFBTztJQUN4QyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLE1BQU0sRUFBRUMsWUFBWSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsU0FBUyxFQUFFQyxVQUFVLENBQUU7UUFDNUcsS0FBSyxDQUFDVCxTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFlBQVksR0FBR0E7UUFDcEIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsU0FBUyxH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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-nominal",
3
3
  "author": "James Smith",
4
- "version": "1.0.584",
4
+ "version": "1.0.586",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-nominal",
7
7
  "description": "Occam's Nominal language.",
@@ -95,9 +95,9 @@ export default class Claim extends Element {
95
95
 
96
96
  context.trace(`Verifying the '${claimString}' claim's labels...`);
97
97
 
98
- const verifyLabel = this.verifyLabel.bind(this);
99
-
100
- return every(this.labels, verifyLabel, context, (context, back) => {
98
+ return every(this.labels, (label, context, forward, back) => {
99
+ return this.verifyLabel(label, context, forward, back);
100
+ }, context, (context, back) => {
101
101
  context.debug(`...verified the '${claimString}' claim's labels.`);
102
102
 
103
103
  return forward(context, back);