occam-verify-cli 1.0.224 → 1.0.226

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.
@@ -306,6 +306,10 @@ var _default = (0, _dom.domAssigned)((_ComplexTypeDeclaration = /*#__PURE__*/ fu
306
306
  }
307
307
  }
308
308
  if (propertyVerifies) {
309
+ var typeName = this.type.getName(), typeNameMatches = property.matchTypeName(typeName);
310
+ if (typeNameMatches) {
311
+ property.setType(this.type);
312
+ }
309
313
  this.fileContext.debug("verifies the '".concat(propertyString, "' property."));
310
314
  }
311
315
  return propertyVerifies;
@@ -367,4 +371,4 @@ var _default = (0, _dom.domAssigned)((_ComplexTypeDeclaration = /*#__PURE__*/ fu
367
371
  return ComplexTypeDeclaration;
368
372
  }(), _define_property(_ComplexTypeDeclaration, "name", "ComplexTypeDeclaration"), _ComplexTypeDeclaration));
369
373
 
370
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vY29tcGxleFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBvYmplY3RUeXBlIH0gZnJvbSBcIi4uL3R5cGVcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IHsgc3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3R5cGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29tcGxleFR5cGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFJlbGVhc2VDb250ZXh0KCkgeyByZXR1cm4gdGhpcy5maWxlQ29udGV4dC5nZXRSZWxlYXNlQ29udGV4dCgpOyB9XG5cbiAgZ2V0UmVsZWFzZVR5cGVzKCkge1xuICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gdGhpcy5nZXRSZWxlYXNlQ29udGV4dCgpLFxuICAgICAgICAgIGZpbGVDb250ZXh0VHlwZXMgPSB0aGlzLmZpbGVDb250ZXh0LmdldFR5cGVzKGluY2x1ZGVSZWxlYXNlKSxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dFR5cGVzID0gcmVsZWFzZUNvbnRleHQuZ2V0VHlwZXMoaW5jbHVkZURlcGVuZGVuY2llcyksXG4gICAgICAgICAgcmVsZWFzZVR5cGVzID0gW1xuICAgICAgICAgICAgLi4uZmlsZUNvbnRleHRUeXBlcyxcbiAgICAgICAgICAgIC4uLnJlbGVhc2VDb250ZXh0VHlwZXNcbiAgICAgICAgICBdO1xuXG4gICAgcmV0dXJuIHJlbGVhc2VUeXBlcztcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVR5cGUoKTtcblxuICAgIGlmICh0eXBlVmVyaWZpZXMpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZXNWZXJpZnkgPSB0aGlzLnZlcmlmeVN1cGVyVHlwZXMoKTtcblxuICAgICAgaWYgKHN1cGVyVHlwZXNWZXJpZnkpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydGllc1ZlcmlmeSA9IHRoaXMudmVyaWZ5UHJvcGVydGllcygpO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0aWVzVmVyaWZ5KSB7XG4gICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRUeXBlKHRoaXMudHlwZSk7XG5cbiAgICAgICAgICB2ZXJpZmllcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVR5cGUoKSB7XG4gICAgbGV0IHR5cGVWZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgY29tcGxleFR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbXBsZXhUeXBlU3RyaW5nfScgY29tcGxleCB0eXBlLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgcmVsZWFzZVR5cGVzID0gdGhpcy5nZXRSZWxlYXNlVHlwZXMoKSxcbiAgICAgICAgICB0eXBlUHJlc2VudCA9IHJlbGVhc2VUeXBlcy5zb21lKChyZWxlYXNlVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVsZWFzZVR5cGVOYW1lTWF0Y2hlcyA9IHJlbGVhc2VUeXBlLm1hdGNoVHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocmVsZWFzZVR5cGVOYW1lTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmICh0eXBlUHJlc2VudCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7Y29tcGxleFR5cGVTdHJpbmd9JyBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIHBhY2thZ2UuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR5cGVWZXJpZmllcyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVWZXJpZmllcykge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbXBsZXhUeXBlU3RyaW5nfScgY29tcGxleCB0eXBlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlTdXBlclR5cGUoc3VwZXJUeXBlKSB7XG4gICAgbGV0IHN1cGVyVHlwZVZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdXBlclR5cGVTdHJpbmcgPSBzdXBlclR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHN1cGVyVHlwZU5hbWUpO1xuXG4gICAgaWYgKHN1cGVyVHlwZVByZXNlbnQpIHtcbiAgICAgIHN1cGVyVHlwZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoc3VwZXJUeXBlVmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBzdXBlci10eXBlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVWZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZXMoKSB7XG4gICAgbGV0IHN1cGVyVHlwZXNWZXJpZnkgPSBmYWxzZTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3VwZXItdHlwZXMuLi5gKTtcblxuICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgc3VwZXJUeXBlcyA9IHRoaXMudHlwZS5nZXRTdXBlclR5cGVzKCk7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgc3VwZXJUeXBlc0xlbmd0aCA9IHN1cGVyVHlwZXMubGVuZ3RoO1xuXG4gICAgaWYgKHN1cGVyVHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZSA9IG9iamVjdFR5cGU7IC8vL1xuXG4gICAgICAgIHN1cGVyVHlwZXMucHVzaChzdXBlclR5cGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHR5cGVCYXNpYyA9IHRoaXMudHlwZS5pc0Jhc2ljKCksXG4gICAgICAgICAgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKTtcblxuICAgIGlmICh0eXBlQmFzaWMpIHtcbiAgICAgIHN1cGVyVHlwZXNWZXJpZnkgPSB0cnVlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBUaGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgaXMgYmFzaWMuYClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBzdXBlclR5cGVOYW1lO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdXBlclR5cGVOYW1lc0luY2x1ZGVzVHlwZU5hbWUgPSBzdXBlclR5cGVOYW1lcy5pbmNsdWRlcyh0eXBlTmFtZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGVOYW1lc0luY2x1ZGVzVHlwZU5hbWUpIHtcbiAgICAgICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVGhlICcke3R5cGVOYW1lfScgdHlwZSBjYW5ub3QgYmUgYSBzdXBlci10eXBlIGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHN1cGVyVHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgICAgICBjb25zdCB0eXBlID0gdGhpcy5maWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpLFxuICAgICAgICAgICAgICAgIHN1cGVyVHlwZSA9IHR5cGU7IC8vL1xuXG4gICAgICAgICAgc3VwZXJUeXBlcy5wdXNoKHN1cGVyVHlwZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlclR5cGVzVmVyaWZ5ID0gc3VwZXJUeXBlcy5ldmVyeSgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVN1cGVyVHlwZShzdXBlclR5cGUpO1xuXG4gICAgICAgICAgaWYgKHN1cGVyVHlwZVZlcmlmaWVzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChzdXBlclR5cGVzVmVyaWZ5KSB7XG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXMubWFwKChzdXBlclR5cGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgICAgICBzdXBlclR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cGVyVHlwZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCBzdXBlclR5cGVzKTtcblxuICAgICAgICAgIHRoaXMudHlwZS5zZXRTdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN1cGVyVHlwZXNWZXJpZnkpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdXBlci10eXBlcy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1ZlcmlmeTtcbiAgfVxuXG4gIHZlcmlmeVByb3BlcnR5KHByb3BlcnR5LCBwcm9wZXJ0aWVzLCBzdXBlclR5cGVQcm9wZXJ0aWVzKSB7XG4gICAgbGV0IHByb3BlcnR5VmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuLi5gKTtcblxuICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IHByb3BlcnR5LmdldE5hbWUoKSxcbiAgICAgICAgICBjb3VudCA9IHByb3BlcnRpZXMucmVkdWNlKChjb3VudCwgcHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5TmFtZU1hdGNoZXMgPSBwcm9wZXJ0eS5tYXRjaFByb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocHJvcGVydHlOYW1lTWF0Y2hlcykge1xuICAgICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgICAgICAgfSwgMCk7XG5cbiAgICBpZiAoY291bnQgPiAxKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7cHJvcGVydHlTdHJpbmd9JyBwcm9wZXJ0eSBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGVQcm9wZXJ0eSA9IHN1cGVyVHlwZVByb3BlcnRpZXMuZmluZCgoc3VwZXJUeXBlUHJvcGVydHkpID0+IHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lTWF0Y2hlcyA9IHN1cGVyVHlwZVByb3BlcnR5Lm1hdGNoUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSk7XG5cbiAgICAgICAgaWYgKHByb3BlcnR5TmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSkgfHwgbnVsbDtcblxuICAgICAgaWYgKHN1cGVyVHlwZVByb3BlcnR5ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnR5U3RyaW5nID0gc3VwZXJUeXBlUHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkgbWF0Y2hlcyB0aGUgc3VwZXItdHlwZSdzICcke3N1cGVyVHlwZVByb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJvcGVydHlUeXBlO1xuXG4gICAgICAgIHByb3BlcnR5VHlwZSA9IHByb3BlcnR5LmdldFR5cGUoKTtcblxuICAgICAgICBjb25zdCBwcm9wZXJ0eVR5cGVWZXJpZmllcyA9IHRoaXMudmVyaWZ5UHJvcGVydHlUeXBlKHByb3BlcnR5VHlwZSk7XG5cbiAgICAgICAgaWYgKHByb3BlcnR5VHlwZVZlcmlmaWVzKSB7XG4gICAgICAgICAgY29uc3QgcHJvcGVydHlUeXBlTmFtZSA9IHByb3BlcnR5VHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgICBwcm9wZXJ0eVR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShwcm9wZXJ0eVR5cGVOYW1lKTtcblxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBwcm9wZXJ0eVR5cGU7ICAvLy9cblxuICAgICAgICAgIHByb3BlcnR5LnNldFR5cGUodHlwZSk7XG5cbiAgICAgICAgICBwcm9wZXJ0eVZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eVZlcmlmaWVzKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGB2ZXJpZmllcyB0aGUgJyR7cHJvcGVydHlTdHJpbmd9JyBwcm9wZXJ0eS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcGVydHlWZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVByb3BlcnRpZXMoKSB7XG4gICAgbGV0IHByb3BlcnRpZXNWZXJpZnk7XG5cbiAgICBjb25zdCBpbmNsdWRlU3VwZXJUeXBlcyA9IGZhbHNlLFxuICAgICAgICAgIHByb3BlcnRpZXMgPSB0aGlzLnR5cGUuZ2V0UHJvcGVydGllcyhpbmNsdWRlU3VwZXJUeXBlcyksXG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHRoaXMudHlwZS5nZXRTdXBlclR5cGVzKClcblxuICAgIHByb3BlcnRpZXNWZXJpZnkgPSBzdXBlclR5cGVzLmV2ZXJ5KChzdXBlclR5cGUpID0+IHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnRpZXMgPSBzdXBlclR5cGUuZ2V0UHJvcGVydGllcygpLFxuICAgICAgICAgICAgcHJvcGVydGllc1ZlcmlmeSA9IHByb3BlcnRpZXMuZXZlcnkoKHByb3BlcnR5KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5VmVyaWZpZXMgPSB0aGlzLnZlcmlmeVByb3BlcnR5KHByb3BlcnR5LCBwcm9wZXJ0aWVzLCBzdXBlclR5cGVQcm9wZXJ0aWVzKTtcblxuICAgICAgICAgICAgICBpZiAocHJvcGVydHlWZXJpZmllcykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKHByb3BlcnRpZXNWZXJpZnkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcHJvcGVydGllc1ZlcmlmeTtcbiAgfVxuXG4gIHZlcmlmeVByb3BlcnR5VHlwZShwcm9wZXJ0eVR5cGUpIHtcbiAgICBsZXQgcHJvcGVydHlUeXBlVmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHR5cGVFcXVhbFRvUHJvcGVydHlUeXBlID0gdGhpcy50eXBlLmlzRXF1YWxUbyhwcm9wZXJ0eVR5cGUpO1xuXG4gICAgaWYgKHR5cGVFcXVhbFRvUHJvcGVydHlUeXBlKSB7XG4gICAgICBwcm9wZXJ0eVR5cGVWZXJpZmllcyA9IHRydWU7XG4gICAgfSBlbHNlICB7XG4gICAgICBjb25zdCBwcm9wZXJ0eVR5cGVTdHJpbmcgPSBwcm9wZXJ0eVR5cGUuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb3BlcnR5VHlwZVN0cmluZ30nIHByb3BlcnR5IHR5cGUuLi5gKTtcblxuICAgICAgY29uc3QgcHJvcGVydHlUeXBlTmFtZSA9IHByb3BlcnR5VHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgICBwcm9wZXJ0eVR5cGVQcmVzZW50ID0gdGhpcy5maWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZShwcm9wZXJ0eVR5cGVOYW1lKTtcblxuICAgICAgaWYgKCFwcm9wZXJ0eVR5cGVQcmVzZW50KSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5VHlwZVN0cmluZyA9IHByb3BlcnR5VHlwZS5nZXRTdHJpbmcoKTtcblxuICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7cHJvcGVydHlUeXBlU3RyaW5nfScgcHJvcGVydHkgdHlwZSBpcyBub3QgcHJlc2VudC5gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3BlcnR5VHlwZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BlcnR5VHlwZVZlcmlmaWVzKSB7XG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9wZXJ0eVR5cGVTdHJpbmd9JyBwcm9wZXJ0eSB0eXBlLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwcm9wZXJ0eVR5cGVWZXJpZmllcztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb21wbGV4VHlwZURlY2xhcmF0aW9uXCI7XG5cbiAgc3RhdGljIGZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFR5cGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gVHlwZS5mcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZXMgPSB0eXBlLmdldFN1cGVyVHlwZXMoKSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyh0eXBlTmFtZSwgc3VwZXJUeXBlcyksXG4gICAgICAgICAgY29tcGxleFR5cGVEZWNsYXJhdGlvbiA9IG5ldyBDb21wbGV4VHlwZURlY2xhcmF0aW9uKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpO1xuXG4gICAgcmV0dXJuIGNvbXBsZXhUeXBlRGVjbGFyYXRpb247XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImRvbUFzc2lnbmVkIiwiQ29tcGxleFR5cGVEZWNsYXJhdGlvbiIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwidHlwZSIsImdldEZpbGVDb250ZXh0IiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsImdldFJlbGVhc2VDb250ZXh0IiwiZ2V0UmVsZWFzZVR5cGVzIiwiaW5jbHVkZURlcGVuZGVuY2llcyIsImluY2x1ZGVSZWxlYXNlIiwicmVsZWFzZUNvbnRleHQiLCJmaWxlQ29udGV4dFR5cGVzIiwiZ2V0VHlwZXMiLCJyZWxlYXNlQ29udGV4dFR5cGVzIiwicmVsZWFzZVR5cGVzIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nIiwidHJhY2UiLCJ0eXBlVmVyaWZpZXMiLCJ2ZXJpZnlUeXBlIiwic3VwZXJUeXBlc1ZlcmlmeSIsInZlcmlmeVN1cGVyVHlwZXMiLCJwcm9wZXJ0aWVzVmVyaWZ5IiwidmVyaWZ5UHJvcGVydGllcyIsImFkZFR5cGUiLCJkZWJ1ZyIsImNvbXBsZXhUeXBlU3RyaW5nIiwidHlwZU5hbWUiLCJnZXROYW1lIiwidHlwZVByZXNlbnQiLCJzb21lIiwicmVsZWFzZVR5cGUiLCJyZWxlYXNlVHlwZU5hbWVNYXRjaGVzIiwibWF0Y2hUeXBlTmFtZSIsInZlcmlmeVN1cGVyVHlwZSIsInN1cGVyVHlwZSIsInN1cGVyVHlwZVZlcmlmaWVzIiwic3VwZXJUeXBlU3RyaW5nIiwic3VwZXJUeXBlTmFtZSIsInN1cGVyVHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsInN1cGVyVHlwZXMiLCJnZXRTdXBlclR5cGVzIiwic3VwZXJUeXBlc0xlbmd0aCIsImxlbmd0aCIsImZpbmRUeXBlQnlUeXBlTmFtZSIsIm9iamVjdFR5cGUiLCJwdXNoIiwidHlwZUJhc2ljIiwiaXNCYXNpYyIsInR5cGVTdHJpbmciLCJzdXBlclR5cGVOYW1lcyIsIm1hcCIsInN1cGVyVHlwZU5hbWVzSW5jbHVkZXNUeXBlTmFtZSIsImluY2x1ZGVzIiwiZXZlcnkiLCJzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyIsInNldFN0cmluZyIsInNldFN1cGVyVHlwZXMiLCJ2ZXJpZnlQcm9wZXJ0eSIsInByb3BlcnR5IiwicHJvcGVydGllcyIsInN1cGVyVHlwZVByb3BlcnRpZXMiLCJwcm9wZXJ0eVZlcmlmaWVzIiwicHJvcGVydHlTdHJpbmciLCJwcm9wZXJ0eU5hbWUiLCJjb3VudCIsInJlZHVjZSIsInByb3BlcnR5TmFtZU1hdGNoZXMiLCJtYXRjaFByb3BlcnR5TmFtZSIsInN1cGVyVHlwZVByb3BlcnR5IiwiZmluZCIsInN1cGVyVHlwZVByb3BlcnR5U3RyaW5nIiwicHJvcGVydHlUeXBlIiwicHJvcGVydHlUeXBlVmVyaWZpZXMiLCJ2ZXJpZnlQcm9wZXJ0eVR5cGUiLCJwcm9wZXJ0eVR5cGVOYW1lIiwic2V0VHlwZSIsImluY2x1ZGVTdXBlclR5cGVzIiwiZ2V0UHJvcGVydGllcyIsInR5cGVFcXVhbFRvUHJvcGVydHlUeXBlIiwiaXNFcXVhbFRvIiwicHJvcGVydHlUeXBlU3RyaW5nIiwicHJvcGVydHlUeXBlUHJlc2VudCIsImZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiVHlwZSIsImRvbSIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb24iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OzsyREFOZ0I7b0JBRVc7cUJBRXlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRXBELFdBQWVBLElBQUFBLGdCQUFXLDJDQUFDO2FBQU1DLHVCQUNuQkMsV0FBVyxFQUFFQyxNQUFNLEVBQUVDLElBQUk7Z0NBRE5IO1FBRTdCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxXQUFXO1lBQ3pCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFB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
374
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZGVjbGFyYXRpb24vY29tcGxleFR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5pbXBvcnQgeyBvYmplY3RUeXBlIH0gZnJvbSBcIi4uL3R5cGVcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IHsgc3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXMgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3R5cGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29tcGxleFR5cGVEZWNsYXJhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIHR5cGUpIHtcbiAgICB0aGlzLmZpbGVDb250ZXh0ID0gZmlsZUNvbnRleHQ7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIGdldEZpbGVDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmZpbGVDb250ZXh0O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldFJlbGVhc2VDb250ZXh0KCkgeyByZXR1cm4gdGhpcy5maWxlQ29udGV4dC5nZXRSZWxlYXNlQ29udGV4dCgpOyB9XG5cbiAgZ2V0UmVsZWFzZVR5cGVzKCkge1xuICAgIGNvbnN0IGluY2x1ZGVEZXBlbmRlbmNpZXMgPSBmYWxzZSxcbiAgICAgICAgICBpbmNsdWRlUmVsZWFzZSA9IGZhbHNlLFxuICAgICAgICAgIHJlbGVhc2VDb250ZXh0ID0gdGhpcy5nZXRSZWxlYXNlQ29udGV4dCgpLFxuICAgICAgICAgIGZpbGVDb250ZXh0VHlwZXMgPSB0aGlzLmZpbGVDb250ZXh0LmdldFR5cGVzKGluY2x1ZGVSZWxlYXNlKSxcbiAgICAgICAgICByZWxlYXNlQ29udGV4dFR5cGVzID0gcmVsZWFzZUNvbnRleHQuZ2V0VHlwZXMoaW5jbHVkZURlcGVuZGVuY2llcyksXG4gICAgICAgICAgcmVsZWFzZVR5cGVzID0gW1xuICAgICAgICAgICAgLi4uZmlsZUNvbnRleHRUeXBlcyxcbiAgICAgICAgICAgIC4uLnJlbGVhc2VDb250ZXh0VHlwZXNcbiAgICAgICAgICBdO1xuXG4gICAgcmV0dXJuIHJlbGVhc2VUeXBlcztcbiAgfVxuXG4gIHZlcmlmeSgpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25TdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVR5cGUoKTtcblxuICAgIGlmICh0eXBlVmVyaWZpZXMpIHtcbiAgICAgIGNvbnN0IHN1cGVyVHlwZXNWZXJpZnkgPSB0aGlzLnZlcmlmeVN1cGVyVHlwZXMoKTtcblxuICAgICAgaWYgKHN1cGVyVHlwZXNWZXJpZnkpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydGllc1ZlcmlmeSA9IHRoaXMudmVyaWZ5UHJvcGVydGllcygpO1xuXG4gICAgICAgIGlmIChwcm9wZXJ0aWVzVmVyaWZ5KSB7XG4gICAgICAgICAgdGhpcy5maWxlQ29udGV4dC5hZGRUeXBlKHRoaXMudHlwZSk7XG5cbiAgICAgICAgICB2ZXJpZmllcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb21wbGV4VHlwZURlY2xhcmF0aW9uU3RyaW5nfScgY29tcGxleCB0eXBlIGRlY2xhcmF0aW9uLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVR5cGUoKSB7XG4gICAgbGV0IHR5cGVWZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgY29tcGxleFR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbXBsZXhUeXBlU3RyaW5nfScgY29tcGxleCB0eXBlLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgcmVsZWFzZVR5cGVzID0gdGhpcy5nZXRSZWxlYXNlVHlwZXMoKSxcbiAgICAgICAgICB0eXBlUHJlc2VudCA9IHJlbGVhc2VUeXBlcy5zb21lKChyZWxlYXNlVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVsZWFzZVR5cGVOYW1lTWF0Y2hlcyA9IHJlbGVhc2VUeXBlLm1hdGNoVHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocmVsZWFzZVR5cGVOYW1lTWF0Y2hlcykge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgIGlmICh0eXBlUHJlc2VudCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7Y29tcGxleFR5cGVTdHJpbmd9JyBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhlIHBhY2thZ2UuYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR5cGVWZXJpZmllcyA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVWZXJpZmllcykge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2NvbXBsZXhUeXBlU3RyaW5nfScgY29tcGxleCB0eXBlLmApO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlVmVyaWZpZXM7XG4gIH1cblxuICB2ZXJpZnlTdXBlclR5cGUoc3VwZXJUeXBlKSB7XG4gICAgbGV0IHN1cGVyVHlwZVZlcmlmaWVzID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdXBlclR5cGVTdHJpbmcgPSBzdXBlclR5cGUuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N1cGVyVHlwZVN0cmluZ30nIHN1cGVyLXR5cGUuLi5gKTtcblxuICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHN1cGVyVHlwZU5hbWUpO1xuXG4gICAgaWYgKHN1cGVyVHlwZVByZXNlbnQpIHtcbiAgICAgIHN1cGVyVHlwZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoc3VwZXJUeXBlVmVyaWZpZXMpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBzdXBlci10eXBlLmApO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVWZXJpZmllcztcbiAgfVxuXG4gIHZlcmlmeVN1cGVyVHlwZXMoKSB7XG4gICAgbGV0IHN1cGVyVHlwZXNWZXJpZnkgPSBmYWxzZTtcblxuICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3VwZXItdHlwZXMuLi5gKTtcblxuICAgIGxldCBzdXBlclR5cGVzO1xuXG4gICAgc3VwZXJUeXBlcyA9IHRoaXMudHlwZS5nZXRTdXBlclR5cGVzKCk7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgc3VwZXJUeXBlc0xlbmd0aCA9IHN1cGVyVHlwZXMubGVuZ3RoO1xuXG4gICAgaWYgKHN1cGVyVHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZSA9IG9iamVjdFR5cGU7IC8vL1xuXG4gICAgICAgIHN1cGVyVHlwZXMucHVzaChzdXBlclR5cGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHR5cGVCYXNpYyA9IHRoaXMudHlwZS5pc0Jhc2ljKCksXG4gICAgICAgICAgdHlwZVN0cmluZyA9IHRoaXMudHlwZS5nZXRTdHJpbmcoKTtcblxuICAgIGlmICh0eXBlQmFzaWMpIHtcbiAgICAgIHN1cGVyVHlwZXNWZXJpZnkgPSB0cnVlO1xuXG4gICAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBUaGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgaXMgYmFzaWMuYClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlTmFtZXMgPSBzdXBlclR5cGVzLm1hcCgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBzdXBlclR5cGVOYW1lO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdXBlclR5cGVOYW1lc0luY2x1ZGVzVHlwZU5hbWUgPSBzdXBlclR5cGVOYW1lcy5pbmNsdWRlcyh0eXBlTmFtZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGVOYW1lc0luY2x1ZGVzVHlwZU5hbWUpIHtcbiAgICAgICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVGhlICcke3R5cGVOYW1lfScgdHlwZSBjYW5ub3QgYmUgYSBzdXBlci10eXBlIGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHN1cGVyVHlwZXNMZW5ndGggPT09IDApIHtcbiAgICAgICAgICBjb25zdCB0eXBlID0gdGhpcy5maWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpLFxuICAgICAgICAgICAgICAgIHN1cGVyVHlwZSA9IHR5cGU7IC8vL1xuXG4gICAgICAgICAgc3VwZXJUeXBlcy5wdXNoKHN1cGVyVHlwZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlclR5cGVzVmVyaWZ5ID0gc3VwZXJUeXBlcy5ldmVyeSgoc3VwZXJUeXBlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlVmVyaWZpZXMgPSB0aGlzLnZlcmlmeVN1cGVyVHlwZShzdXBlclR5cGUpO1xuXG4gICAgICAgICAgaWYgKHN1cGVyVHlwZVZlcmlmaWVzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChzdXBlclR5cGVzVmVyaWZ5KSB7XG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXMubWFwKChzdXBlclR5cGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSBzdXBlclR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICAgICAgICBzdXBlclR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShzdXBlclR5cGVOYW1lKTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cGVyVHlwZTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy50eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCBzdXBlclR5cGVzKTtcblxuICAgICAgICAgIHRoaXMudHlwZS5zZXRTdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICAgIHRoaXMudHlwZS5zZXRTdXBlclR5cGVzKHN1cGVyVHlwZXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN1cGVyVHlwZXNWZXJpZnkpIHtcbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBzdXBlci10eXBlcy5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXJUeXBlc1ZlcmlmeTtcbiAgfVxuXG4gIHZlcmlmeVByb3BlcnR5KHByb3BlcnR5LCBwcm9wZXJ0aWVzLCBzdXBlclR5cGVQcm9wZXJ0aWVzKSB7XG4gICAgbGV0IHByb3BlcnR5VmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IHByb3BlcnR5U3RyaW5nID0gcHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICB0aGlzLmZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuLi5gKTtcblxuICAgIGNvbnN0IHByb3BlcnR5TmFtZSA9IHByb3BlcnR5LmdldE5hbWUoKSxcbiAgICAgICAgICBjb3VudCA9IHByb3BlcnRpZXMucmVkdWNlKChjb3VudCwgcHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5TmFtZU1hdGNoZXMgPSBwcm9wZXJ0eS5tYXRjaFByb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpO1xuXG4gICAgICAgICAgICBpZiAocHJvcGVydHlOYW1lTWF0Y2hlcykge1xuICAgICAgICAgICAgICBjb3VudCsrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY291bnQ7XG4gICAgICAgICAgfSwgMCk7XG5cbiAgICBpZiAoY291bnQgPiAxKSB7XG4gICAgICB0aGlzLmZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7cHJvcGVydHlTdHJpbmd9JyBwcm9wZXJ0eSBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGVQcm9wZXJ0eSA9IHN1cGVyVHlwZVByb3BlcnRpZXMuZmluZCgoc3VwZXJUeXBlUHJvcGVydHkpID0+IHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlOYW1lTWF0Y2hlcyA9IHN1cGVyVHlwZVByb3BlcnR5Lm1hdGNoUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSk7XG5cbiAgICAgICAgaWYgKHByb3BlcnR5TmFtZU1hdGNoZXMpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSkgfHwgbnVsbDtcblxuICAgICAgaWYgKHN1cGVyVHlwZVByb3BlcnR5ICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3BlcnR5U3RyaW5nID0gc3VwZXJUeXBlUHJvcGVydHkuZ2V0U3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgVGhlICcke3Byb3BlcnR5U3RyaW5nfScgcHJvcGVydHkgbWF0Y2hlcyB0aGUgc3VwZXItdHlwZSdzICcke3N1cGVyVHlwZVByb3BlcnR5U3RyaW5nfScgcHJvcGVydHkuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcHJvcGVydHlUeXBlO1xuXG4gICAgICAgIHByb3BlcnR5VHlwZSA9IHByb3BlcnR5LmdldFR5cGUoKTtcblxuICAgICAgICBjb25zdCBwcm9wZXJ0eVR5cGVWZXJpZmllcyA9IHRoaXMudmVyaWZ5UHJvcGVydHlUeXBlKHByb3BlcnR5VHlwZSk7XG5cbiAgICAgICAgaWYgKHByb3BlcnR5VHlwZVZlcmlmaWVzKSB7XG4gICAgICAgICAgY29uc3QgcHJvcGVydHlUeXBlTmFtZSA9IHByb3BlcnR5VHlwZS5nZXROYW1lKCk7XG5cbiAgICAgICAgICBwcm9wZXJ0eVR5cGUgPSB0aGlzLmZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZShwcm9wZXJ0eVR5cGVOYW1lKTtcblxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBwcm9wZXJ0eVR5cGU7ICAvLy9cblxuICAgICAgICAgIHByb3BlcnR5LnNldFR5cGUodHlwZSk7XG5cbiAgICAgICAgICBwcm9wZXJ0eVZlcmlmaWVzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wZXJ0eVZlcmlmaWVzKSB7XG4gICAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMudHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgICB0eXBlTmFtZU1hdGNoZXMgPSBwcm9wZXJ0eS5tYXRjaFR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICAgICAgaWYgKHR5cGVOYW1lTWF0Y2hlcykge1xuICAgICAgICBwcm9wZXJ0eS5zZXRUeXBlKHRoaXMudHlwZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYHZlcmlmaWVzIHRoZSAnJHtwcm9wZXJ0eVN0cmluZ30nIHByb3BlcnR5LmApO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9wZXJ0eVZlcmlmaWVzO1xuICB9XG5cbiAgdmVyaWZ5UHJvcGVydGllcygpIHtcbiAgICBsZXQgcHJvcGVydGllc1ZlcmlmeTtcblxuICAgIGNvbnN0IGluY2x1ZGVTdXBlclR5cGVzID0gZmFsc2UsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHRoaXMudHlwZS5nZXRQcm9wZXJ0aWVzKGluY2x1ZGVTdXBlclR5cGVzKSxcbiAgICAgICAgICBzdXBlclR5cGVzID0gdGhpcy50eXBlLmdldFN1cGVyVHlwZXMoKVxuXG4gICAgcHJvcGVydGllc1ZlcmlmeSA9IHN1cGVyVHlwZXMuZXZlcnkoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlUHJvcGVydGllcyA9IHN1cGVyVHlwZS5nZXRQcm9wZXJ0aWVzKCksXG4gICAgICAgICAgICBwcm9wZXJ0aWVzVmVyaWZ5ID0gcHJvcGVydGllcy5ldmVyeSgocHJvcGVydHkpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHlWZXJpZmllcyA9IHRoaXMudmVyaWZ5UHJvcGVydHkocHJvcGVydHksIHByb3BlcnRpZXMsIHN1cGVyVHlwZVByb3BlcnRpZXMpO1xuXG4gICAgICAgICAgICAgIGlmIChwcm9wZXJ0eVZlcmlmaWVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAocHJvcGVydGllc1ZlcmlmeSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBwcm9wZXJ0aWVzVmVyaWZ5O1xuICB9XG5cbiAgdmVyaWZ5UHJvcGVydHlUeXBlKHByb3BlcnR5VHlwZSkge1xuICAgIGxldCBwcm9wZXJ0eVR5cGVWZXJpZmllcyA9IGZhbHNlO1xuXG4gICAgY29uc3QgdHlwZUVxdWFsVG9Qcm9wZXJ0eVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHByb3BlcnR5VHlwZSk7XG5cbiAgICBpZiAodHlwZUVxdWFsVG9Qcm9wZXJ0eVR5cGUpIHtcbiAgICAgIHByb3BlcnR5VHlwZVZlcmlmaWVzID0gdHJ1ZTtcbiAgICB9IGVsc2UgIHtcbiAgICAgIGNvbnN0IHByb3BlcnR5VHlwZVN0cmluZyA9IHByb3BlcnR5VHlwZS5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICAgIHRoaXMuZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7cHJvcGVydHlUeXBlU3RyaW5nfScgcHJvcGVydHkgdHlwZS4uLmApO1xuXG4gICAgICBjb25zdCBwcm9wZXJ0eVR5cGVOYW1lID0gcHJvcGVydHlUeXBlLmdldE5hbWUoKSxcbiAgICAgICAgICAgIHByb3BlcnR5VHlwZVByZXNlbnQgPSB0aGlzLmZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHByb3BlcnR5VHlwZU5hbWUpO1xuXG4gICAgICBpZiAoIXByb3BlcnR5VHlwZVByZXNlbnQpIHtcbiAgICAgICAgY29uc3QgcHJvcGVydHlUeXBlU3RyaW5nID0gcHJvcGVydHlUeXBlLmdldFN0cmluZygpO1xuXG4gICAgICAgIHRoaXMuZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9wZXJ0eVR5cGVTdHJpbmd9JyBwcm9wZXJ0eSB0eXBlIGlzIG5vdCBwcmVzZW50LmApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHJvcGVydHlUeXBlVmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvcGVydHlUeXBlVmVyaWZpZXMpIHtcbiAgICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Byb3BlcnR5VHlwZVN0cmluZ30nIHByb3BlcnR5IHR5cGUuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BlcnR5VHlwZVZlcmlmaWVzO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkNvbXBsZXhUeXBlRGVjbGFyYXRpb25cIjtcblxuICBzdGF0aWMgZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgVHlwZSB9ID0gZG9tLFxuICAgICAgICAgIHR5cGUgPSBUeXBlLmZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHR5cGVOYW1lID0gdHlwZS5nZXROYW1lKCksXG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHR5cGUuZ2V0U3VwZXJUeXBlcygpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCBzdXBlclR5cGVzKSxcbiAgICAgICAgICBjb21wbGV4VHlwZURlY2xhcmF0aW9uID0gbmV3IENvbXBsZXhUeXBlRGVjbGFyYXRpb24oZmlsZUNvbnRleHQsIHN0cmluZywgdHlwZSk7XG5cbiAgICByZXR1cm4gY29tcGxleFR5cGVEZWNsYXJhdGlvbjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZG9tQXNzaWduZWQiLCJDb21wbGV4VHlwZURlY2xhcmF0aW9uIiwiZmlsZUNvbnRleHQiLCJzdHJpbmciLCJ0eXBlIiwiZ2V0RmlsZUNvbnRleHQiLCJnZXRTdHJpbmciLCJnZXRUeXBlIiwiZ2V0UmVsZWFzZUNvbnRleHQiLCJnZXRSZWxlYXNlVHlwZXMiLCJpbmNsdWRlRGVwZW5kZW5jaWVzIiwiaW5jbHVkZVJlbGVhc2UiLCJyZWxlYXNlQ29udGV4dCIsImZpbGVDb250ZXh0VHlwZXMiLCJnZXRUeXBlcyIsInJlbGVhc2VDb250ZXh0VHlwZXMiLCJyZWxlYXNlVHlwZXMiLCJ2ZXJpZnkiLCJ2ZXJpZmllcyIsImNvbXBsZXhUeXBlRGVjbGFyYXRpb25TdHJpbmciLCJ0cmFjZSIsInR5cGVWZXJpZmllcyIsInZlcmlmeVR5cGUiLCJzdXBlclR5cGVzVmVyaWZ5IiwidmVyaWZ5U3VwZXJUeXBlcyIsInByb3BlcnRpZXNWZXJpZnkiLCJ2ZXJpZnlQcm9wZXJ0aWVzIiwiYWRkVHlwZSIsImRlYnVnIiwiY29tcGxleFR5cGVTdHJpbmciLCJ0eXBlTmFtZSIsImdldE5hbWUiLCJ0eXBlUHJlc2VudCIsInNvbWUiLCJyZWxlYXNlVHlwZSIsInJlbGVhc2VUeXBlTmFtZU1hdGNoZXMiLCJtYXRjaFR5cGVOYW1lIiwidmVyaWZ5U3VwZXJUeXBlIiwic3VwZXJUeXBlIiwic3VwZXJUeXBlVmVyaWZpZXMiLCJzdXBlclR5cGVTdHJpbmciLCJzdXBlclR5cGVOYW1lIiwic3VwZXJUeXBlUHJlc2VudCIsImlzVHlwZVByZXNlbnRCeVR5cGVOYW1lIiwic3VwZXJUeXBlcyIsImdldFN1cGVyVHlwZXMiLCJzdXBlclR5cGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwib2JqZWN0VHlwZSIsInB1c2giLCJ0eXBlQmFzaWMiLCJpc0Jhc2ljIiwidHlwZVN0cmluZyIsInN1cGVyVHlwZU5hbWVzIiwibWFwIiwic3VwZXJUeXBlTmFtZXNJbmNsdWRlc1R5cGVOYW1lIiwiaW5jbHVkZXMiLCJldmVyeSIsInN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzIiwic2V0U3RyaW5nIiwic2V0U3VwZXJUeXBlcyIsInZlcmlmeVByb3BlcnR5IiwicHJvcGVydHkiLCJwcm9wZXJ0aWVzIiwic3VwZXJUeXBlUHJvcGVydGllcyIsInByb3BlcnR5VmVyaWZpZXMiLCJwcm9wZXJ0eVN0cmluZyIsInByb3BlcnR5TmFtZSIsImNvdW50IiwicmVkdWNlIiwicHJvcGVydHlOYW1lTWF0Y2hlcyIsIm1hdGNoUHJvcGVydHlOYW1lIiwic3VwZXJUeXBlUHJvcGVydHkiLCJmaW5kIiwic3VwZXJUeXBlUHJvcGVydHlTdHJpbmciLCJwcm9wZXJ0eVR5cGUiLCJwcm9wZXJ0eVR5cGVWZXJpZmllcyIsInZlcmlmeVByb3BlcnR5VHlwZSIsInByb3BlcnR5VHlwZU5hbWUiLCJzZXRUeXBlIiwidHlwZU5hbWVNYXRjaGVzIiwiaW5jbHVkZVN1cGVyVHlwZXMiLCJnZXRQcm9wZXJ0aWVzIiwidHlwZUVxdWFsVG9Qcm9wZXJ0eVR5cGUiLCJpc0VxdWFsVG8iLCJwcm9wZXJ0eVR5cGVTdHJpbmciLCJwcm9wZXJ0eVR5cGVQcmVzZW50IiwiZnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJUeXBlIiwiZG9tIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbiIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBQTs7OzJEQU5nQjtvQkFFVztxQkFFeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFcEQsV0FBZUEsSUFBQUEsZ0JBQVcsMkNBQUM7YUFBTUMsdUJBQ25CQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsSUFBSTtnQ0FETkg7UUFFN0IsSUFBSSxDQUFD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
@@ -116,6 +116,12 @@ var _default = (0, _dom.domAssigned)((_Property = /*#__PURE__*/ function() {
116
116
  this.type = type;
117
117
  }
118
118
  },
119
+ {
120
+ key: "matchTypeName",
121
+ value: function matchTypeName(typeName) {
122
+ return this.type.matchTypeName(typeName);
123
+ }
124
+ },
119
125
  {
120
126
  key: "matchPropertyName",
121
127
  value: function matchPropertyName(propertyName) {
@@ -170,4 +176,4 @@ function propertyFromPropertyNode(propertyNode, fileContext) {
170
176
  return property;
171
177
  }
172
178
 
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvcGVydHkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgdHlwZVRvVHlwZUpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvcGVydHkge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIG5hbWUsIHR5cGUpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgc2V0VHlwZSh0eXBlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIG1hdGNoUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSkge1xuICAgIGNvbnN0IHByb3BlcnR5TmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSBwcm9wZXJ0eU5hbWUpO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5TmFtZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlVG9UeXBlSlNPTih0aGlzLnR5cGUpLFxuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9wZXJ0eVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbmFtZSB9ID0ganNvbixcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAvLy9cbiAgICAgICAgICBwcm9wZXJ0eSA9IG5ldyBQcm9wZXJ0eShzdHJpbmcsIG5hbWUsIHR5cGUpO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydHlGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSwgZmlsZUNvbnRleHQpXG5cbiAgICByZXR1cm4gcHJvcGVydHk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByb3BlcnR5UmVsYXRpb25Ob2RlKHByb3BlcnR5UmVsYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHByb3BlcnR5Tm9kZSA9IHByb3BlcnR5UmVsYXRpb25Ob2RlLmdldFByb3BlcnR5Tm9kZSgpLFxuICAgICAgICAgIHByb3BlcnR5ID0gcHJvcGVydHlGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9wZXJ0eURlY2xhcmF0aW9uTm9kZShwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFR5cGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gVHlwZS5mcm9tUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5RGVjbGFyYXRpb25Ob2RlLmdldFByb3BlcnR5TmFtZSgpLFxuICAgICAgICAgIG5hbWUgPSBwcm9wZXJ0eU5hbWUsICAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgcHJvcGVydHkgPSBuZXcgUHJvcGVydHkoc3RyaW5nLCBuYW1lLCB0eXBlKTtcblxuICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHByb3BlcnR5RnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHsgUHJvcGVydHkgfSA9IGRvbSxcbiAgICAgICAgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOb2RlLmdldFByb3BlcnR5TmFtZSgpLFxuICAgICAgICBuYW1lID0gcHJvcGVydHlOYW1lLCAgLy8vXG4gICAgICAgIHR5cGUgPSBudWxsLFxuICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgIHByb3BlcnR5ID0gbmV3IFByb3BlcnR5KHN0cmluZywgbmFtZSwgdHlwZSk7XG5cbiAgcmV0dXJuIHByb3BlcnR5O1xufVxuIl0sIm5hbWVzIjpbImRvbUFzc2lnbmVkIiwiUHJvcGVydHkiLCJzdHJpbmciLCJuYW1lIiwidHlwZSIsImdldFN0cmluZyIsImdldE5hbWUiLCJnZXRUeXBlIiwic2V0VHlwZSIsIm1hdGNoUHJvcGVydHlOYW1lIiwicHJvcGVydHlOYW1lIiwicHJvcGVydHlOYW1lTWF0Y2hlcyIsInRvSlNPTiIsInR5cGVKU09OIiwidHlwZVRvVHlwZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJmaWxlQ29udGV4dCIsInR5cGVGcm9tSlNPTiIsInByb3BlcnR5IiwiZnJvbVByb3BlcnR5Tm9kZSIsInByb3BlcnR5Tm9kZSIsInByb3BlcnR5RnJvbVByb3BlcnR5Tm9kZSIsImZyb21Qcm9wZXJ0eVJlbGF0aW9uTm9kZSIsInByb3BlcnR5UmVsYXRpb25Ob2RlIiwiZ2V0UHJvcGVydHlOb2RlIiwiZnJvbVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwicHJvcGVydHlEZWNsYXJhdGlvbk5vZGUiLCJUeXBlIiwiZG9tIiwiZ2V0UHJvcGVydHlOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQUE7OzsyREFMZ0I7b0JBRzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFN0MsV0FBZUEsSUFBQUEsZ0JBQVcsNkJBQUM7YUFBTUMsU0FDbkJDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJO2dDQURDSDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFKLElBQUk7Z0JBQ1YsSUFBSSxDQUFDQSxJQUFJLEdBQUdBO1lBQ2Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCQyxZQUFZO2dCQUM1QixJQUFNQyxzQkFBdUIsSUFBSSxDQUFDUixJQUFJLEtBQUtPO2dCQUUzQyxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFdBQVdDLElBQUFBLG9CQUFjLEVBQUMsSUFBSSxDQUFDVixJQUFJLEdBQ25DRCxPQUFPLElBQUksQ0FBQ0EsSUFBSSxFQUNoQkMsT0FBT1MsVUFDUEUsT0FBTztvQkFDTFgsTUFBQUE7b0JBQ0FELE1BQUFBO2dCQUNGO2dCQUVOLE9BQU9ZO1lBQ1Q7Ozs7WUFJT0MsS0FBQUE7bUJBQVAsU0FBT0EsU0FBU0QsSUFBSSxFQUFFRSxXQUFXO2dCQUMvQixJQUFNLEFBQUVkLE9BQVNZLEtBQVRaLE1BQ0ZDLE9BQU9jLElBQUFBLGtCQUFZLEVBQUNILE1BQU1FLGNBQzFCZixTQUFTQyxNQUNUZ0IsV0FBVyxJQUFJbEIsU0FBU0MsUUFBUUMsTUFBTUM7Z0JBRTVDLE9BQU9lO1lBQ1Q7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxpQkFBaUJDLFlBQVksRUFBRUosV0FBVztnQkFDL0MsSUFBTUUsV0FBV0cseUJBQXlCRCxjQUFjSjtnQkFFeEQsT0FBT0U7WUFDVDs7O1lBRU9JLEtBQUFBO21CQUFQLFNBQU9BLHlCQUF5QkMsb0JBQW9CLEVBQUVQLFdBQVc7Z0JBQy9ELElBQU1JLGVBQWVHLHFCQUFxQkMsZUFBZSxJQUNuRE4sV0FBV0cseUJBQXlCRCxjQUFjSjtnQkFFeEQsT0FBT0U7WUFDVDs7O1lBRU9PLEtBQUFBO21CQUFQLFNBQU9BLDRCQUE0QkMsdUJBQXVCLEVBQUVWLFdBQVc7Z0JBQ3JFLElBQU0sQUFBRVcsT0FBU0MsWUFBRyxDQUFaRCxNQUNGeEIsT0FBT3dCLEtBQUtGLDJCQUEyQixDQUFDQywwQkFDeENqQixlQUFlaUIsd0JBQXdCRyxlQUFlLElBQ3REM0IsT0FBT08sY0FDUFIsU0FBU0MsTUFDVGdCLFdBQVcsSUFBSWxCLFNBQVNDLFFBQVFDLE1BQU1DO2dCQUU1QyxPQUFPZTtZQUNUOzs7O0tBakNBLDRCQUFPaEIsUUFBTztBQW9DaEIsU0FBU21CLHlCQUF5QkQsWUFBWSxFQUFFSixXQUFXO0lBQ3pELElBQU0sQUFBRWhCLFdBQWE0QixZQUFHLENBQWhCNUIsVUFDRlMsZUFBZVcsYUFBYVMsZUFBZSxJQUMzQzNCLE9BQU9PLGNBQ1BOLE9BQU8sTUFDUEYsU0FBU0MsTUFDVGdCLFdBQVcsSUFBSWxCLFNBQVNDLFFBQVFDLE1BQU1DO0lBRTVDLE9BQU9lO0FBQ1QifQ==
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvcGVydHkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IHR5cGVGcm9tSlNPTiwgdHlwZVRvVHlwZUpTT04gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2pzb25cIjtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvcGVydHkge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIG5hbWUsIHR5cGUpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgc2V0VHlwZSh0eXBlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIG1hdGNoVHlwZU5hbWUodHlwZU5hbWUpIHsgcmV0dXJuIHRoaXMudHlwZS5tYXRjaFR5cGVOYW1lKHR5cGVOYW1lKTsgfVxuXG4gIG1hdGNoUHJvcGVydHlOYW1lKHByb3BlcnR5TmFtZSkge1xuICAgIGNvbnN0IHByb3BlcnR5TmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSBwcm9wZXJ0eU5hbWUpO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5TmFtZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlVG9UeXBlSlNPTih0aGlzLnR5cGUpLFxuICAgICAgICAgIG5hbWUgPSB0aGlzLm5hbWUsIC8vL1xuICAgICAgICAgIHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9wZXJ0eVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbmFtZSB9ID0ganNvbixcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAvLy9cbiAgICAgICAgICBwcm9wZXJ0eSA9IG5ldyBQcm9wZXJ0eShzdHJpbmcsIG5hbWUsIHR5cGUpO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9wZXJ0eU5vZGUocHJvcGVydHlOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydHlGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSwgZmlsZUNvbnRleHQpXG5cbiAgICByZXR1cm4gcHJvcGVydHk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByb3BlcnR5UmVsYXRpb25Ob2RlKHByb3BlcnR5UmVsYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHByb3BlcnR5Tm9kZSA9IHByb3BlcnR5UmVsYXRpb25Ob2RlLmdldFByb3BlcnR5Tm9kZSgpLFxuICAgICAgICAgIHByb3BlcnR5ID0gcHJvcGVydHlGcm9tUHJvcGVydHlOb2RlKHByb3BlcnR5Tm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9wZXJ0eURlY2xhcmF0aW9uTm9kZShwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IFR5cGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gVHlwZS5mcm9tUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICAgIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5RGVjbGFyYXRpb25Ob2RlLmdldFByb3BlcnR5TmFtZSgpLFxuICAgICAgICAgIG5hbWUgPSBwcm9wZXJ0eU5hbWUsICAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgcHJvcGVydHkgPSBuZXcgUHJvcGVydHkoc3RyaW5nLCBuYW1lLCB0eXBlKTtcblxuICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHByb3BlcnR5RnJvbVByb3BlcnR5Tm9kZShwcm9wZXJ0eU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHsgUHJvcGVydHkgfSA9IGRvbSxcbiAgICAgICAgcHJvcGVydHlOYW1lID0gcHJvcGVydHlOb2RlLmdldFByb3BlcnR5TmFtZSgpLFxuICAgICAgICBuYW1lID0gcHJvcGVydHlOYW1lLCAgLy8vXG4gICAgICAgIHR5cGUgPSBudWxsLFxuICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgIHByb3BlcnR5ID0gbmV3IFByb3BlcnR5KHN0cmluZywgbmFtZSwgdHlwZSk7XG5cbiAgcmV0dXJuIHByb3BlcnR5O1xufVxuIl0sIm5hbWVzIjpbImRvbUFzc2lnbmVkIiwiUHJvcGVydHkiLCJzdHJpbmciLCJuYW1lIiwidHlwZSIsImdldFN0cmluZyIsImdldE5hbWUiLCJnZXRUeXBlIiwic2V0VHlwZSIsIm1hdGNoVHlwZU5hbWUiLCJ0eXBlTmFtZSIsIm1hdGNoUHJvcGVydHlOYW1lIiwicHJvcGVydHlOYW1lIiwicHJvcGVydHlOYW1lTWF0Y2hlcyIsInRvSlNPTiIsInR5cGVKU09OIiwidHlwZVRvVHlwZUpTT04iLCJqc29uIiwiZnJvbUpTT04iLCJmaWxlQ29udGV4dCIsInR5cGVGcm9tSlNPTiIsInByb3BlcnR5IiwiZnJvbVByb3BlcnR5Tm9kZSIsInByb3BlcnR5Tm9kZSIsInByb3BlcnR5RnJvbVByb3BlcnR5Tm9kZSIsImZyb21Qcm9wZXJ0eVJlbGF0aW9uTm9kZSIsInByb3BlcnR5UmVsYXRpb25Ob2RlIiwiZ2V0UHJvcGVydHlOb2RlIiwiZnJvbVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwicHJvcGVydHlEZWNsYXJhdGlvbk5vZGUiLCJUeXBlIiwiZG9tIiwiZ2V0UHJvcGVydHlOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQUE7OzsyREFMZ0I7b0JBRzZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFN0MsV0FBZUEsSUFBQUEsZ0JBQVcsNkJBQUM7YUFBTUMsU0FDbkJDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJO2dDQURDSDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxNQUFNO1lBQ3BCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFKLElBQUk7Z0JBQ1YsSUFBSSxDQUFDQSxJQUFJLEdBQUdBO1lBQ2Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY0MsUUFBUTtnQkFBSSxPQUFPLElBQUksQ0FBQ04sSUFBSSxDQUFDSyxhQUFhLENBQUNDO1lBQVc7OztZQUVwRUMsS0FBQUE7bUJBQUFBLFNBQUFBLGtCQUFrQkMsWUFBWTtnQkFDNUIsSUFBTUMsc0JBQXVCLElBQUksQ0FBQ1YsSUFBSSxLQUFLUztnQkFFM0MsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxXQUFXQyxJQUFBQSxvQkFBYyxFQUFDLElBQUksQ0FBQ1osSUFBSSxHQUNuQ0QsT0FBTyxJQUFJLENBQUNBLElBQUksRUFDaEJDLE9BQU9XLFVBQ1BFLE9BQU87b0JBQ0xiLE1BQUFBO29CQUNBRCxNQUFBQTtnQkFDRjtnQkFFTixPQUFPYztZQUNUOzs7O1lBSU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRUUsV0FBVztnQkFDL0IsSUFBTSxBQUFFaEIsT0FBU2MsS0FBVGQsTUFDRkMsT0FBT2dCLElBQUFBLGtCQUFZLEVBQUNILE1BQU1FLGNBQzFCakIsU0FBU0MsTUFDVGtCLFdBQVcsSUFBSXBCLFNBQVNDLFFBQVFDLE1BQU1DO2dCQUU1QyxPQUFPaUI7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGlCQUFpQkMsWUFBWSxFQUFFSixXQUFXO2dCQUMvQyxJQUFNRSxXQUFXRyx5QkFBeUJELGNBQWNKO2dCQUV4RCxPQUFPRTtZQUNUOzs7WUFFT0ksS0FBQUE7bUJBQVAsU0FBT0EseUJBQXlCQyxvQkFBb0IsRUFBRVAsV0FBVztnQkFDL0QsSUFBTUksZUFBZUcscUJBQXFCQyxlQUFlLElBQ25ETixXQUFXRyx5QkFBeUJELGNBQWNKO2dCQUV4RCxPQUFPRTtZQUNUOzs7WUFFT08sS0FBQUE7bUJBQVAsU0FBT0EsNEJBQTRCQyx1QkFBdUIsRUFBRVYsV0FBVztnQkFDckUsSUFBTSxBQUFFVyxPQUFTQyxZQUFHLENBQVpELE1BQ0YxQixPQUFPMEIsS0FBS0YsMkJBQTJCLENBQUNDLDBCQUN4Q2pCLGVBQWVpQix3QkFBd0JHLGVBQWUsSUFDdEQ3QixPQUFPUyxjQUNQVixTQUFTQyxNQUNUa0IsV0FBVyxJQUFJcEIsU0FBU0MsUUFBUUMsTUFBTUM7Z0JBRTVDLE9BQU9pQjtZQUNUOzs7O0tBakNBLDRCQUFPbEIsUUFBTztBQW9DaEIsU0FBU3FCLHlCQUF5QkQsWUFBWSxFQUFFSixXQUFXO0lBQ3pELElBQU0sQUFBRWxCLFdBQWE4QixZQUFHLENBQWhCOUIsVUFDRlcsZUFBZVcsYUFBYVMsZUFBZSxJQUMzQzdCLE9BQU9TLGNBQ1BSLE9BQU8sTUFDUEYsU0FBU0MsTUFDVGtCLFdBQVcsSUFBSXBCLFNBQVNDLFFBQVFDLE1BQU1DO0lBRTVDLE9BQU9pQjtBQUNUIn0=
package/lib/dom/type.js CHANGED
@@ -255,6 +255,20 @@ var Type = /*#__PURE__*/ function() {
255
255
  return basic;
256
256
  }
257
257
  },
258
+ {
259
+ key: "isRefined",
260
+ value: function isRefined() {
261
+ var refined = false;
262
+ var superTypesLength = this.superTypes.length;
263
+ if (superTypesLength === 1) {
264
+ var firstSuperType = first(this.superTypes), superType = firstSuperType, superTypeName = superType.getName();
265
+ if (superTypeName === this.name) {
266
+ refined = true;
267
+ }
268
+ }
269
+ return refined;
270
+ }
271
+ },
258
272
  {
259
273
  key: "isEqualTo",
260
274
  value: function isEqualTo(type) {
@@ -460,4 +474,4 @@ var ObjectType = /*#__PURE__*/ function(Type) {
460
474
  }(Type);
461
475
  var objectType = ObjectType.fromNothing();
462
476
 
463
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IE9CSkVDVF9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5pbXBvcnQgeyB0eXBlRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub2RlXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdHlwZVwiO1xuaW1wb3J0IHsgc3VwZXJUeXBlc0Zyb21KU09OLCBwcm9wZXJ0aWVzRnJvbUpTT04sIHN1cGVyVHlwZXNUb1N1cGVyVHlwZXNKU09OLCBwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IHB1c2gsIGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuY2xhc3MgVHlwZSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlcywgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXM7XG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcbiAgICB0aGlzLnByb3Zpc2lvbmFsID0gcHJvdmlzaW9uYWw7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0U3VwZXJUeXBlcygpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGVzO1xuICB9XG5cbiAgZ2V0UHJvcGVydGllcyhpbmNsdWRlU3VwZXJUeXBlcyA9IHRydWUpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gW107XG5cbiAgICBwdXNoKHByb3BlcnRpZXMsIHRoaXMucHJvcGVydGllcyk7XG5cbiAgICBpZiAoaW5jbHVkZVN1cGVyVHlwZXMpIHtcbiAgICAgIHRoaXMuc3VwZXJUeXBlcy5mb3JFYWNoKChzdXBlclR5cGUpID0+IHtcbiAgICAgICAgY29uc3Qgc3VwZXJUeXBlUHJvcGVydGllcyA9IHN1cGVyVHlwZS5nZXRQcm9wZXJ0aWVzKCk7XG5cbiAgICAgICAgcHVzaChwcm9wZXJ0aWVzLCBzdXBlclR5cGVQcm9wZXJ0aWVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICB9XG5cbiAgaXNQcm92aXNpb25hbChpbmNsdWRlU3VwZXJUeXBlcyA9IHRydWUpIHtcbiAgICBsZXQgcHJvdmlzaW9uYWwgPSB0aGlzLnByb3Zpc2lvbmFsO1xuXG4gICAgaWYgKGluY2x1ZGVTdXBlclR5cGVzKSB7XG4gICAgICBpZiAoIXByb3Zpc2lvbmFsKSB7XG4gICAgICAgIHByb3Zpc2lvbmFsID0gdGhpcy5zdXBlclR5cGVzLnNvbWUoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3Zpc2lvbmFsID0gc3VwZXJUeXBlLmlzUHJvdmlzaW9uYWwoKTtcblxuICAgICAgICAgIGlmIChzdXBlclR5cGVQcm92aXNpb25hbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvdmlzaW9uYWw7XG4gIH1cblxuICBzZXRTdHJpbmcoc3RyaW5nKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gIH1cblxuICBzZXROYW1lKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgc2V0U3VwZXJUeXBlcyhzdXBlclR5cGVzKSB7XG4gICAgdGhpcy5zdXBlclR5cGVzID0gc3VwZXJUeXBlcztcbiAgfVxuXG4gIHNldFByb3BlcnRpZXMocHJvcGVydGllcykge1xuICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gIH1cblxuICBzZXRQcm92aXNpb25hbChwcm92aXNpb25hbCkge1xuICAgIHRoaXMucHJvdmlzaW9uYWwgPSBwcm92aXNpb25hbDtcbiAgfVxuXG4gIGlzQmFzaWMoKSB7XG4gICAgbGV0IGJhc2ljID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdXBlclR5cGVzTGVuZ3RoID0gdGhpcy5zdXBlclR5cGVzLmxlbmd0aDtcblxuICAgIGlmIChzdXBlclR5cGVzTGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdFN1cGVyVHlwZSA9IGZpcnN0KHRoaXMuc3VwZXJUeXBlcyksXG4gICAgICAgICAgICBzdXBlclR5cGUgPSBmaXJzdFN1cGVyVHlwZTsgLy8vXG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgICAgYmFzaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBiYXNpYztcbiAgfVxuXG4gIGlzRXF1YWxUbyh0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9ICh0aGlzID09PSB0eXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgaXNTdWJUeXBlT2YodHlwZSkge1xuICAgIGxldCBzdWJUeXBlT2Y7XG5cbiAgICBpZiAodGhpcyA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgc3ViVHlwZU9mID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN1YlR5cGVPZiA9IHRoaXMuc3VwZXJUeXBlcy5zb21lKChzdXBlclR5cGUpID0+IHsgLy8vXG4gICAgICAgIGlmIChzdXBlclR5cGUgPT09IHR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN1cGVyVHlwZVN1YlR5cGVPZlR5cGUgPSBzdXBlclR5cGUuaXNTdWJUeXBlT2YodHlwZSk7XG5cbiAgICAgICAgaWYgKHN1cGVyVHlwZVN1YlR5cGVPZlR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gc3ViVHlwZU9mO1xuICB9XG5cbiAgaXNTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgY29uc3Qgc3ViVHlwZU9mID0gdHlwZS5pc1N1YlR5cGVPZih0aGlzKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHN1YlR5cGVPZjsgIC8vL1xuXG4gICAgcmV0dXJuIHN1cGVyVHlwZU9mO1xuICB9XG5cbiAgaXNDb21wYXJhYmxlVG8odHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdWJUeXBlT2YgPSB0aGlzLmlzU3ViVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIHN1cGVyVHlwZU9mID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIGNvbXBhcmFibGVUbyA9IChlcXVhbFRvIHx8IHN1YlR5cGVPZiB8fCBzdXBlclR5cGVPZik7XG5cbiAgICByZXR1cm4gY29tcGFyYWJsZVRvO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdWJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdWJUeXBlT2YgPSB0aGlzLmlzU3ViVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIGVxdWFsVG9PclN1YlR5cGVPZiA9IChlcXVhbFRvIHx8IHN1YlR5cGVPZik7XG5cbiAgICByZXR1cm4gZXF1YWxUb09yU3ViVHlwZU9mO1xuICB9XG5cbiAgaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0eXBlKSB7XG4gICAgY29uc3QgZXF1YWxUbyA9IHRoaXMuaXNFcXVhbFRvKHR5cGUpLFxuICAgICAgICAgIHN1cGVyVHlwZU9mID0gdGhpcy5pc1N1cGVyVHlwZU9mKHR5cGUpLFxuICAgICAgICAgIGVxdWFsVG9PclN1cGVyVHlwZU9mID0gKGVxdWFsVG8gfHwgc3VwZXJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGVxdWFsVG9PclN1cGVyVHlwZU9mO1xuICB9XG5cbiAgbWF0Y2hOYW1lKG5hbWUpIHtcbiAgICBjb25zdCBub2RlTWF0Y2hlcyA9ICh0aGlzLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcmV0dXJuIG5vZGVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hUeXBlTmFtZSh0eXBlTmFtZSkge1xuICAgIGNvbnN0IHR5cGVOYW1lTWF0Y2hlcyA9ICh0aGlzLm5hbWUgPT09IHR5cGVOYW1lKTtcblxuICAgIHJldHVybiB0eXBlTmFtZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaFByb3Zpc2lvbmFsKHByb3Zpc2lvbmFsKSB7XG4gICAgbGV0IHByb3Zpc2lvbmFsTWF0Y2hlcztcblxuICAgIGNvbnN0IHByb3Zpc2lvbmFsQSA9IHByb3Zpc2lvbmFsOyAvLy9cblxuICAgIHByb3Zpc2lvbmFsID0gdGhpcy5pc1Byb3Zpc2lvbmFsKCk7XG5cbiAgICBjb25zdCBwcm92aXNpb25hbEIgPSBwcm92aXNpb25hbDsgLy8vXG5cbiAgICBwcm92aXNpb25hbE1hdGNoZXMgPSAocHJvdmlzaW9uYWxBID09PSBwcm92aXNpb25hbEIpO1xuXG4gICAgcmV0dXJuIHByb3Zpc2lvbmFsTWF0Y2hlcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzSlNPTiA9IHByb3BlcnRpZXNUb1Byb3BlcnRpZXNKU09OKHRoaXMucHJvcGVydGllcyksXG4gICAgICAgICAgc3VwZXJUeXBlc0pTT04gPSBzdXBlclR5cGVzVG9TdXBlclR5cGVzSlNPTih0aGlzLnN1cGVyVHlwZXMpLFxuICAgICAgICAgIHByb3Zpc2lvbmFsID0gdGhpcy5wcm92aXNpb25hbCxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0pTT04sICAvLy9cbiAgICAgICAgICBzdXBlclR5cGVzID0gc3VwZXJUeXBlc0pTT04sICAvLy9cbiAgICAgICAgICBuYW1lID0gdGhpcy5uYW1lLFxuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgc3VwZXJUeXBlcyxcbiAgICAgICAgICAgIHByb3BlcnRpZXMsXG4gICAgICAgICAgICBwcm92aXNpb25hbFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUeXBlXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBuYW1lLCBwcm92aXNpb25hbCB9ID0ganNvbixcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydGllc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdXBlclR5cGVzID0gc3VwZXJUeXBlc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICB0eXBlTmFtZSA9IG5hbWUsICAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyh0eXBlTmFtZSwgc3VwZXJUeXBlcyksXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlcywgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSB0eXBlRnJvbVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZUFzc2VydGlvbk5vZGUodHlwZUFzc2VydGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZS5nZXRUeXBlTm9kZSgpLFxuICAgICAgICAgIHR5cGUgPSB0eXBlRnJvbVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVHlwZUFuZFByb3Zpc2lvbmFsKHR5cGUsIHByb3Zpc2lvbmFsKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGUuZ2V0TmFtZSgpLFxuICAgICAgICAgIHN1cGVyVHlwZSA9IHR5cGUsIC8vL1xuICAgICAgICAgIHR5cGVOYW1lID0gbmFtZSwgIC8vL1xuICAgICAgICAgIHN1cGVyVHlwZXMgPSBbXG4gICAgICAgICAgICBzdXBlclR5cGVcbiAgICAgICAgICBdLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCBzdXBlclR5cGVzKSxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gdHlwZS5nZXRQcm9wZXJ0aWVzKCk7XG5cbiAgICB0eXBlID0gbmV3IFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGVzLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7ICAvLy9cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Qcm9wZXJ0eURlY2xhcmF0aW9uTm9kZShwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlTm9kZSA9IHByb3BlcnR5RGVjbGFyYXRpb25Ob2RlLmdldFR5cGVOb2RlKCksXG4gICAgICAgICAgdHlwZSA9IHR5cGVGcm9tVHlwZU5vZGUodHlwZU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlKHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgcHJvcGVydGllcyA9IFtdLFxuICAgICAgICAgIHByb3Zpc2lvbmFsID0gc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZS5pc1Byb3Zpc2lvbmFsKCksXG4gICAgICAgICAgdHlwZU5hbWUgPSBzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlLmdldFR5cGVOYW1lKCksXG4gICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXNGcm9tU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZShzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHN1cGVyVHlwZXMpLFxuICAgICAgICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZXMsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBwcm92aXNpb25hbCA9IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLmlzUHJvdmlzaW9uYWwoKSxcbiAgICAgICAgICB0eXBlTmFtZSA9IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLmdldFR5cGVOYW1lKCksXG4gICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLFxuICAgICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNGcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyh0eXBlTmFtZSwgc3VwZXJUeXBlcyksXG4gICAgICAgICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlcywgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgY29uc3QgdHlwZU5vZGUgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZS5nZXRUeXBlTm9kZSgpO1xuXG4gICAgaWYgKHR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gb2JqZWN0VHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJvdmlzaW9uYWwgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZS5pc1Byb3Zpc2lvbmFsKCk7XG5cbiAgICAgIHR5cGUgPSB0eXBlRnJvbVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgIHR5cGUuc2V0UHJvdmlzaW9uYWwocHJvdmlzaW9uYWwpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKFR5cGUpO1xuXG5mdW5jdGlvbiBzdXBlclR5cGVzRnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUoc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3Qgc3VwZXJUeXBlTm9kZXMgPSBzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlLmdldFN1cGVyVHlwZU5vZGVzKCksXG4gICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVOb2Rlcy5tYXAoKHN1cGVyVHlwZU5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBzdXBlclR5cGUgPSBUeXBlLmZyb21UeXBlTm9kZShzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICByZXR1cm4gc3VwZXJUeXBlO1xuICAgICAgICB9KTtcblxuICByZXR1cm4gc3VwZXJUeXBlcztcbn1cblxuZnVuY3Rpb24gc3VwZXJUeXBlc0Zyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgY29uc3Qgc3VwZXJUeXBlTm9kZXMgPSBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZS5nZXRTdXBlclR5cGVOb2RlcygpLFxuICAgICAgICBzdXBlclR5cGVzID0gc3VwZXJUeXBlTm9kZXMubWFwKChzdXBlclR5cGVOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlID0gVHlwZS5mcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIHN1cGVyVHlwZTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXM7XG59XG5cbmZ1bmN0aW9uIHByb3BlcnRpZXNGcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHsgUHJvcGVydHkgfSA9IGRvbSxcbiAgICAgICAgcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzID0gY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUuZ2V0UHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzKCksXG4gICAgICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZXMubWFwKChwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb3BlcnR5ID0gUHJvcGVydHkuZnJvbVByb3BlcnR5RGVjbGFyYXRpb25Ob2RlKHByb3BlcnR5RGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICAgICAgICByZXR1cm4gcHJvcGVydHk7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBwcm9wZXJ0aWVzO1xufVxuXG5jbGFzcyBPYmplY3RUeXBlIGV4dGVuZHMgVHlwZSB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBuYW1lID0gT0JKRUNUX1RZUEVfTkFNRSxcbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlcyA9IFtdLFxuICAgICAgICAgIHByb3BlcnRpZXMgPSBbXSxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IGZhbHNlLFxuICAgICAgICAgIG9iamVjdFR5cGUgPSBuZXcgT2JqZWN0VHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZXMsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiBvYmplY3RUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUeXBlID0gT2JqZWN0VHlwZS5mcm9tTm90aGluZygpO1xuIl0sIm5hbWVzIjpbIm9iamVjdFR5cGUiLCJwdXNoIiwiYXJyYXlVdGlsaXRpZXMiLCJmaXJzdCIsIlR5cGUiLCJzdHJpbmciLCJuYW1lIiwic3VwZXJUeXBlcyIsInByb3BlcnRpZXMiLCJwcm92aXNpb25hbCIsImdldFN0cmluZyIsImdldE5hbWUiLCJnZXRTdXBlclR5cGVzIiwiZ2V0UHJvcGVydGllcyIsImluY2x1ZGVTdXBlclR5cGVzIiwiZm9yRWFjaCIsInN1cGVyVHlwZSIsInN1cGVyVHlwZVByb3BlcnRpZXMiLCJpc1Byb3Zpc2lvbmFsIiwic29tZSIsInN1cGVyVHlwZVByb3Zpc2lvbmFsIiwic2V0U3RyaW5nIiwic2V0TmFtZSIsInNldFN1cGVyVHlwZXMiLCJzZXRQcm9wZXJ0aWVzIiwic2V0UHJvdmlzaW9uYWwiLCJpc0Jhc2ljIiwiYmFzaWMiLCJzdXBlclR5cGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3RTdXBlclR5cGUiLCJpc0VxdWFsVG8iLCJ0eXBlIiwiZXF1YWxUbyIsImlzU3ViVHlwZU9mIiwic3ViVHlwZU9mIiwic3VwZXJUeXBlU3ViVHlwZU9mVHlwZSIsImlzU3VwZXJUeXBlT2YiLCJzdXBlclR5cGVPZiIsImlzQ29tcGFyYWJsZVRvIiwiY29tcGFyYWJsZVRvIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJlcXVhbFRvT3JTdWJUeXBlT2YiLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwiZXF1YWxUb09yU3VwZXJUeXBlT2YiLCJtYXRjaE5hbWUiLCJub2RlTWF0Y2hlcyIsIm1hdGNoVHlwZU5hbWUiLCJ0eXBlTmFtZSIsInR5cGVOYW1lTWF0Y2hlcyIsIm1hdGNoUHJvdmlzaW9uYWwiLCJwcm92aXNpb25hbE1hdGNoZXMiLCJwcm92aXNpb25hbEEiLCJwcm92aXNpb25hbEIiLCJ0b0pTT04iLCJwcm9wZXJ0aWVzSlNPTiIsInByb3BlcnRpZXNUb1Byb3BlcnRpZXNKU09OIiwic3VwZXJUeXBlc0pTT04iLCJzdXBlclR5cGVzVG9TdXBlclR5cGVzSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImZpbGVDb250ZXh0IiwicHJvcGVydGllc0Zyb21KU09OIiwic3VwZXJUeXBlc0Zyb21KU09OIiwic3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXMiLCJmcm9tVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInR5cGVGcm9tVHlwZU5vZGUiLCJmcm9tVHlwZUFzc2VydGlvbk5vZGUiLCJ0eXBlQXNzZXJ0aW9uTm9kZSIsImdldFR5cGVOb2RlIiwiZnJvbVR5cGVBbmRQcm92aXNpb25hbCIsImZyb21Qcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSIsInByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiZnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwiZ2V0VHlwZU5hbWUiLCJzdXBlclR5cGVzRnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJmcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsInN1cGVyVHlwZXNGcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJwcm9wZXJ0aWVzRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJkb21Bc3NpZ25lZCIsInN1cGVyVHlwZU5vZGVzIiwiZ2V0U3VwZXJUeXBlTm9kZXMiLCJtYXAiLCJzdXBlclR5cGVOb2RlIiwiUHJvcGVydHkiLCJkb20iLCJwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZXMiLCJnZXRQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZXMiLCJwcm9wZXJ0eSIsIk9iamVjdFR5cGUiLCJmcm9tTm90aGluZyIsIk9CSkVDVF9UWVBFX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQTRTQTtlQUFBOztRQWlEYUE7ZUFBQUE7Ozt5QkEzVmtCOzJEQUVmO3lCQUdpQjtvQkFDQTtvQkFDbUI7b0JBQzJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvRyxJQUFRQyxPQUFnQkMseUJBQWMsQ0FBOUJELE1BQU1FLFFBQVVELHlCQUFjLENBQXhCQztBQUVkLElBQUEsQUFBTUMscUJBQU47YUFBTUEsS0FDUUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxXQUFXO2dDQUR6REw7UUFFRixJQUFJLENBQUND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
477
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCB7IE9CSkVDVF9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5pbXBvcnQgeyB0eXBlRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub2RlXCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdHlwZVwiO1xuaW1wb3J0IHsgc3VwZXJUeXBlc0Zyb21KU09OLCBwcm9wZXJ0aWVzRnJvbUpTT04sIHN1cGVyVHlwZXNUb1N1cGVyVHlwZXNKU09OLCBwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IHB1c2gsIGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuY2xhc3MgVHlwZSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlcywgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMuc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXM7XG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gcHJvcGVydGllcztcbiAgICB0aGlzLnByb3Zpc2lvbmFsID0gcHJvdmlzaW9uYWw7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0U3VwZXJUeXBlcygpIHtcbiAgICByZXR1cm4gdGhpcy5zdXBlclR5cGVzO1xuICB9XG5cbiAgZ2V0UHJvcGVydGllcyhpbmNsdWRlU3VwZXJUeXBlcyA9IHRydWUpIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzID0gW107XG5cbiAgICBwdXNoKHByb3BlcnRpZXMsIHRoaXMucHJvcGVydGllcyk7XG5cbiAgICBpZiAoaW5jbHVkZVN1cGVyVHlwZXMpIHtcbiAgICAgIHRoaXMuc3VwZXJUeXBlcy5mb3JFYWNoKChzdXBlclR5cGUpID0+IHtcbiAgICAgICAgY29uc3Qgc3VwZXJUeXBlUHJvcGVydGllcyA9IHN1cGVyVHlwZS5nZXRQcm9wZXJ0aWVzKCk7XG5cbiAgICAgICAgcHVzaChwcm9wZXJ0aWVzLCBzdXBlclR5cGVQcm9wZXJ0aWVzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9wZXJ0aWVzO1xuICB9XG5cbiAgaXNQcm92aXNpb25hbChpbmNsdWRlU3VwZXJUeXBlcyA9IHRydWUpIHtcbiAgICBsZXQgcHJvdmlzaW9uYWwgPSB0aGlzLnByb3Zpc2lvbmFsO1xuXG4gICAgaWYgKGluY2x1ZGVTdXBlclR5cGVzKSB7XG4gICAgICBpZiAoIXByb3Zpc2lvbmFsKSB7XG4gICAgICAgIHByb3Zpc2lvbmFsID0gdGhpcy5zdXBlclR5cGVzLnNvbWUoKHN1cGVyVHlwZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZVByb3Zpc2lvbmFsID0gc3VwZXJUeXBlLmlzUHJvdmlzaW9uYWwoKTtcblxuICAgICAgICAgIGlmIChzdXBlclR5cGVQcm92aXNpb25hbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvdmlzaW9uYWw7XG4gIH1cblxuICBzZXRTdHJpbmcoc3RyaW5nKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gIH1cblxuICBzZXROYW1lKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgc2V0U3VwZXJUeXBlcyhzdXBlclR5cGVzKSB7XG4gICAgdGhpcy5zdXBlclR5cGVzID0gc3VwZXJUeXBlcztcbiAgfVxuXG4gIHNldFByb3BlcnRpZXMocHJvcGVydGllcykge1xuICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gIH1cblxuICBzZXRQcm92aXNpb25hbChwcm92aXNpb25hbCkge1xuICAgIHRoaXMucHJvdmlzaW9uYWwgPSBwcm92aXNpb25hbDtcbiAgfVxuXG4gIGlzQmFzaWMoKSB7XG4gICAgbGV0IGJhc2ljID0gZmFsc2U7XG5cbiAgICBjb25zdCBzdXBlclR5cGVzTGVuZ3RoID0gdGhpcy5zdXBlclR5cGVzLmxlbmd0aDtcblxuICAgIGlmIChzdXBlclR5cGVzTGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCBmaXJzdFN1cGVyVHlwZSA9IGZpcnN0KHRoaXMuc3VwZXJUeXBlcyksXG4gICAgICAgICAgICBzdXBlclR5cGUgPSBmaXJzdFN1cGVyVHlwZTsgLy8vXG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgICAgYmFzaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBiYXNpYztcbiAgfVxuXG4gIGlzUmVmaW5lZCgpIHtcbiAgICBsZXQgcmVmaW5lZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgc3VwZXJUeXBlc0xlbmd0aCA9IHRoaXMuc3VwZXJUeXBlcy5sZW5ndGg7XG5cbiAgICBpZiAoc3VwZXJUeXBlc0xlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgZmlyc3RTdXBlclR5cGUgPSBmaXJzdCh0aGlzLnN1cGVyVHlwZXMpLFxuICAgICAgICAgICAgc3VwZXJUeXBlID0gZmlyc3RTdXBlclR5cGUsIC8vL1xuICAgICAgICAgICAgc3VwZXJUeXBlTmFtZSA9IHN1cGVyVHlwZS5nZXROYW1lKCk7XG5cbiAgICAgIGlmIChzdXBlclR5cGVOYW1lID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgcmVmaW5lZCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZmluZWQ7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSAodGhpcyA9PT0gdHlwZSk7XG5cbiAgICByZXR1cm4gZXF1YWxUbztcbiAgfVxuXG4gIGlzU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBsZXQgc3ViVHlwZU9mO1xuXG4gICAgaWYgKHRoaXMgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIHN1YlR5cGVPZiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdWJUeXBlT2YgPSB0aGlzLnN1cGVyVHlwZXMuc29tZSgoc3VwZXJUeXBlKSA9PiB7IC8vL1xuICAgICAgICBpZiAoc3VwZXJUeXBlID09PSB0eXBlKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdXBlclR5cGVTdWJUeXBlT2ZUeXBlID0gc3VwZXJUeXBlLmlzU3ViVHlwZU9mKHR5cGUpO1xuXG4gICAgICAgIGlmIChzdXBlclR5cGVTdWJUeXBlT2ZUeXBlKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHN1YlR5cGVPZjtcbiAgfVxuXG4gIGlzU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IHN1YlR5cGVPZiA9IHR5cGUuaXNTdWJUeXBlT2YodGhpcyksXG4gICAgICAgICAgc3VwZXJUeXBlT2YgPSBzdWJUeXBlT2Y7ICAvLy9cblxuICAgIHJldHVybiBzdXBlclR5cGVPZjtcbiAgfVxuXG4gIGlzQ29tcGFyYWJsZVRvKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mID0gdGhpcy5pc1N1YlR5cGVPZih0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHRoaXMuaXNTdXBlclR5cGVPZih0eXBlKSxcbiAgICAgICAgICBjb21wYXJhYmxlVG8gPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YgfHwgc3VwZXJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGNvbXBhcmFibGVUbztcbiAgfVxuXG4gIGlzRXF1YWxUb09yU3ViVHlwZU9mKHR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gdGhpcy5pc0VxdWFsVG8odHlwZSksXG4gICAgICAgICAgc3ViVHlwZU9mID0gdGhpcy5pc1N1YlR5cGVPZih0eXBlKSxcbiAgICAgICAgICBlcXVhbFRvT3JTdWJUeXBlT2YgPSAoZXF1YWxUbyB8fCBzdWJUeXBlT2YpO1xuXG4gICAgcmV0dXJuIGVxdWFsVG9PclN1YlR5cGVPZjtcbiAgfVxuXG4gIGlzRXF1YWxUb09yU3VwZXJUeXBlT2YodHlwZSkge1xuICAgIGNvbnN0IGVxdWFsVG8gPSB0aGlzLmlzRXF1YWxUbyh0eXBlKSxcbiAgICAgICAgICBzdXBlclR5cGVPZiA9IHRoaXMuaXNTdXBlclR5cGVPZih0eXBlKSxcbiAgICAgICAgICBlcXVhbFRvT3JTdXBlclR5cGVPZiA9IChlcXVhbFRvIHx8IHN1cGVyVHlwZU9mKTtcblxuICAgIHJldHVybiBlcXVhbFRvT3JTdXBlclR5cGVPZjtcbiAgfVxuXG4gIG1hdGNoTmFtZShuYW1lKSB7XG4gICAgY29uc3Qgbm9kZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSBuYW1lKTtcblxuICAgIHJldHVybiBub2RlTWF0Y2hlcztcbiAgfVxuXG4gIG1hdGNoVHlwZU5hbWUodHlwZU5hbWUpIHtcbiAgICBjb25zdCB0eXBlTmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSB0eXBlTmFtZSk7XG5cbiAgICByZXR1cm4gdHlwZU5hbWVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hQcm92aXNpb25hbChwcm92aXNpb25hbCkge1xuICAgIGxldCBwcm92aXNpb25hbE1hdGNoZXM7XG5cbiAgICBjb25zdCBwcm92aXNpb25hbEEgPSBwcm92aXNpb25hbDsgLy8vXG5cbiAgICBwcm92aXNpb25hbCA9IHRoaXMuaXNQcm92aXNpb25hbCgpO1xuXG4gICAgY29uc3QgcHJvdmlzaW9uYWxCID0gcHJvdmlzaW9uYWw7IC8vL1xuXG4gICAgcHJvdmlzaW9uYWxNYXRjaGVzID0gKHByb3Zpc2lvbmFsQSA9PT0gcHJvdmlzaW9uYWxCKTtcblxuICAgIHJldHVybiBwcm92aXNpb25hbE1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgcHJvcGVydGllc0pTT04gPSBwcm9wZXJ0aWVzVG9Qcm9wZXJ0aWVzSlNPTih0aGlzLnByb3BlcnRpZXMpLFxuICAgICAgICAgIHN1cGVyVHlwZXNKU09OID0gc3VwZXJUeXBlc1RvU3VwZXJUeXBlc0pTT04odGhpcy5zdXBlclR5cGVzKSxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHRoaXMucHJvdmlzaW9uYWwsXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNKU09OLCAgLy8vXG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXNKU09OLCAgLy8vXG4gICAgICAgICAgbmFtZSA9IHRoaXMubmFtZSxcbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIHN1cGVyVHlwZXMsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgcHJvdmlzaW9uYWxcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVHlwZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgbmFtZSwgcHJvdmlzaW9uYWwgfSA9IGpzb24sXG4gICAgICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgdHlwZU5hbWUgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHN1cGVyVHlwZXMpLFxuICAgICAgICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZXMsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlTm9kZSh0eXBlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gdHlwZUZyb21UeXBlTm9kZSh0eXBlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVBc3NlcnRpb25Ob2RlKHR5cGVBc3NlcnRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHR5cGVOb2RlID0gdHlwZUFzc2VydGlvbk5vZGUuZ2V0VHlwZU5vZGUoKSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21UeXBlTm9kZSh0eXBlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVBbmRQcm92aXNpb25hbCh0eXBlLCBwcm92aXNpb25hbCkge1xuICAgIGNvbnN0IG5hbWUgPSB0eXBlLmdldE5hbWUoKSxcbiAgICAgICAgICBzdXBlclR5cGUgPSB0eXBlLCAvLy9cbiAgICAgICAgICB0eXBlTmFtZSA9IG5hbWUsICAvLy9cbiAgICAgICAgICBzdXBlclR5cGVzID0gW1xuICAgICAgICAgICAgc3VwZXJUeXBlXG4gICAgICAgICAgXSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVHlwZU5hbWVOYW1lQW5kU3VwZXJUeXBlcyh0eXBlTmFtZSwgc3VwZXJUeXBlcyksXG4gICAgICAgICAgcHJvcGVydGllcyA9IHR5cGUuZ2V0UHJvcGVydGllcygpO1xuXG4gICAgdHlwZSA9IG5ldyBUeXBlKHN0cmluZywgbmFtZSwgc3VwZXJUeXBlcywgcHJvcGVydGllcywgcHJvdmlzaW9uYWwpOyAgLy8vXG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZU5vZGUgPSBwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZS5nZXRUeXBlTm9kZSgpLFxuICAgICAgICAgIHR5cGUgPSB0eXBlRnJvbVR5cGVOb2RlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZShzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHByb3BlcnRpZXMgPSBbXSxcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUuaXNQcm92aXNpb25hbCgpLFxuICAgICAgICAgIHR5cGVOYW1lID0gc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZS5nZXRUeXBlTmFtZSgpLFxuICAgICAgICAgIG5hbWUgPSB0eXBlTmFtZSwgIC8vL1xuICAgICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzRnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUoc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21UeXBlTmFtZU5hbWVBbmRTdXBlclR5cGVzKHR5cGVOYW1lLCBzdXBlclR5cGVzKSxcbiAgICAgICAgICB0eXBlID0gbmV3IFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGVzLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgcHJvdmlzaW9uYWwgPSBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZS5pc1Byb3Zpc2lvbmFsKCksXG4gICAgICAgICAgdHlwZU5hbWUgPSBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZS5nZXRUeXBlTmFtZSgpLFxuICAgICAgICAgIG5hbWUgPSB0eXBlTmFtZSxcbiAgICAgICAgICBzdXBlclR5cGVzID0gc3VwZXJUeXBlc0Zyb21Db21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZShjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXModHlwZU5hbWUsIHN1cGVyVHlwZXMpLFxuICAgICAgICAgIHR5cGUgPSBuZXcgVHlwZShzdHJpbmcsIG5hbWUsIHN1cGVyVHlwZXMsIHByb3BlcnRpZXMsIHByb3Zpc2lvbmFsKTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZShjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGNvbnN0IHR5cGVOb2RlID0gY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUuZ2V0VHlwZU5vZGUoKTtcblxuICAgIGlmICh0eXBlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZSA9IG9iamVjdFR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByb3Zpc2lvbmFsID0gY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUuaXNQcm92aXNpb25hbCgpO1xuXG4gICAgICB0eXBlID0gdHlwZUZyb21UeXBlTm9kZSh0eXBlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICB0eXBlLnNldFByb3Zpc2lvbmFsKHByb3Zpc2lvbmFsKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChUeXBlKTtcblxuZnVuY3Rpb24gc3VwZXJUeXBlc0Zyb21TaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlKHNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHN1cGVyVHlwZU5vZGVzID0gc2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZS5nZXRTdXBlclR5cGVOb2RlcygpLFxuICAgICAgICBzdXBlclR5cGVzID0gc3VwZXJUeXBlTm9kZXMubWFwKChzdXBlclR5cGVOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VwZXJUeXBlID0gVHlwZS5mcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIHN1cGVyVHlwZTtcbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIHN1cGVyVHlwZXM7XG59XG5cbmZ1bmN0aW9uIHN1cGVyVHlwZXNGcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUoY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGNvbnN0IHN1cGVyVHlwZU5vZGVzID0gY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUuZ2V0U3VwZXJUeXBlTm9kZXMoKSxcbiAgICAgICAgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZU5vZGVzLm1hcCgoc3VwZXJUeXBlTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1cGVyVHlwZSA9IFR5cGUuZnJvbVR5cGVOb2RlKHN1cGVyVHlwZU5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgIHJldHVybiBzdXBlclR5cGU7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBzdXBlclR5cGVzO1xufVxuXG5mdW5jdGlvbiBwcm9wZXJ0aWVzRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlKGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLCBmaWxlQ29udGV4dCkge1xuICBjb25zdCB7IFByb3BlcnR5IH0gPSBkb20sXG4gICAgICAgIHByb3BlcnR5RGVjbGFyYXRpb25Ob2RlcyA9IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlLmdldFByb3BlcnR5RGVjbGFyYXRpb25Ob2RlcygpLFxuICAgICAgICBwcm9wZXJ0aWVzID0gcHJvcGVydHlEZWNsYXJhdGlvbk5vZGVzLm1hcCgocHJvcGVydHlEZWNsYXJhdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IFByb3BlcnR5LmZyb21Qcm9wZXJ0eURlY2xhcmF0aW9uTm9kZShwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpO1xuXG4gICAgICAgICAgcmV0dXJuIHByb3BlcnR5O1xuICAgICAgICB9KTtcblxuICByZXR1cm4gcHJvcGVydGllcztcbn1cblxuY2xhc3MgT2JqZWN0VHlwZSBleHRlbmRzIFR5cGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IE9CSkVDVF9UWVBFX05BTUUsXG4gICAgICAgICAgc3RyaW5nID0gbmFtZSwgIC8vL1xuICAgICAgICAgIHN1cGVyVHlwZXMgPSBbXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzID0gW10sXG4gICAgICAgICAgcHJvdmlzaW9uYWwgPSBmYWxzZSxcbiAgICAgICAgICBvYmplY3RUeXBlID0gbmV3IE9iamVjdFR5cGUoc3RyaW5nLCBuYW1lLCBzdXBlclR5cGVzLCBwcm9wZXJ0aWVzLCBwcm92aXNpb25hbCk7XG5cbiAgICByZXR1cm4gb2JqZWN0VHlwZTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3Qgb2JqZWN0VHlwZSA9IE9iamVjdFR5cGUuZnJvbU5vdGhpbmcoKTtcbiJdLCJuYW1lcyI6WyJvYmplY3RUeXBlIiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwiZmlyc3QiLCJUeXBlIiwic3RyaW5nIiwibmFtZSIsInN1cGVyVHlwZXMiLCJwcm9wZXJ0aWVzIiwicHJvdmlzaW9uYWwiLCJnZXRTdHJpbmciLCJnZXROYW1lIiwiZ2V0U3VwZXJUeXBlcyIsImdldFByb3BlcnRpZXMiLCJpbmNsdWRlU3VwZXJUeXBlcyIsImZvckVhY2giLCJzdXBlclR5cGUiLCJzdXBlclR5cGVQcm9wZXJ0aWVzIiwiaXNQcm92aXNpb25hbCIsInNvbWUiLCJzdXBlclR5cGVQcm92aXNpb25hbCIsInNldFN0cmluZyIsInNldE5hbWUiLCJzZXRTdXBlclR5cGVzIiwic2V0UHJvcGVydGllcyIsInNldFByb3Zpc2lvbmFsIiwiaXNCYXNpYyIsImJhc2ljIiwic3VwZXJUeXBlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0U3VwZXJUeXBlIiwiaXNSZWZpbmVkIiwicmVmaW5lZCIsInN1cGVyVHlwZU5hbWUiLCJpc0VxdWFsVG8iLCJ0eXBlIiwiZXF1YWxUbyIsImlzU3ViVHlwZU9mIiwic3ViVHlwZU9mIiwic3VwZXJUeXBlU3ViVHlwZU9mVHlwZSIsImlzU3VwZXJUeXBlT2YiLCJzdXBlclR5cGVPZiIsImlzQ29tcGFyYWJsZVRvIiwiY29tcGFyYWJsZVRvIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiLCJlcXVhbFRvT3JTdWJUeXBlT2YiLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwiZXF1YWxUb09yU3VwZXJUeXBlT2YiLCJtYXRjaE5hbWUiLCJub2RlTWF0Y2hlcyIsIm1hdGNoVHlwZU5hbWUiLCJ0eXBlTmFtZSIsInR5cGVOYW1lTWF0Y2hlcyIsIm1hdGNoUHJvdmlzaW9uYWwiLCJwcm92aXNpb25hbE1hdGNoZXMiLCJwcm92aXNpb25hbEEiLCJwcm92aXNpb25hbEIiLCJ0b0pTT04iLCJwcm9wZXJ0aWVzSlNPTiIsInByb3BlcnRpZXNUb1Byb3BlcnRpZXNKU09OIiwic3VwZXJUeXBlc0pTT04iLCJzdXBlclR5cGVzVG9TdXBlclR5cGVzSlNPTiIsImpzb24iLCJmcm9tSlNPTiIsImZpbGVDb250ZXh0IiwicHJvcGVydGllc0Zyb21KU09OIiwic3VwZXJUeXBlc0Zyb21KU09OIiwic3RyaW5nRnJvbVR5cGVOYW1lTmFtZUFuZFN1cGVyVHlwZXMiLCJmcm9tVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInR5cGVGcm9tVHlwZU5vZGUiLCJmcm9tVHlwZUFzc2VydGlvbk5vZGUiLCJ0eXBlQXNzZXJ0aW9uTm9kZSIsImdldFR5cGVOb2RlIiwiZnJvbVR5cGVBbmRQcm92aXNpb25hbCIsImZyb21Qcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSIsInByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiZnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJzaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwiZ2V0VHlwZU5hbWUiLCJzdXBlclR5cGVzRnJvbVNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUiLCJmcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSIsInN1cGVyVHlwZXNGcm9tQ29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJwcm9wZXJ0aWVzRnJvbUNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIiwiZnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJkb21Bc3NpZ25lZCIsInN1cGVyVHlwZU5vZGVzIiwiZ2V0U3VwZXJUeXBlTm9kZXMiLCJtYXAiLCJzdXBlclR5cGVOb2RlIiwiUHJvcGVydHkiLCJkb20iLCJwcm9wZXJ0eURlY2xhcmF0aW9uTm9kZXMiLCJnZXRQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZXMiLCJwcm9wZXJ0eSIsIk9iamVjdFR5cGUiLCJmcm9tTm90aGluZyIsIk9CSkVDVF9UWVBFX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQThUQTtlQUFBOztRQWlEYUE7ZUFBQUE7Ozt5QkE3V2tCOzJEQUVmO3lCQUdpQjtvQkFDQTtvQkFDbUI7b0JBQzJEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvRyxJQUFRQyxPQUFnQkMseUJBQWMsQ0FBOUJELE1BQU1FLFFBQVVELHlCQUFjLENBQXhCQztBQUVkLElBQUEsQUFBTUMscUJBQU47YUFBTUEsS0FDUUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxXQUFXO2dDQUR6REw7UUFFRixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTs7a0JBTmpCTDs7WUFTSk0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxNQUFNO1lBQ3BCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxVQUFVO1lBQ3hCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFjQyxvQkFBQUEsaUVBQW9CO2dCQUNoQyxJQUFNTixhQUFhLEVBQUU7Z0JBRXJCUCxLQUFLTyxZQUFZLElBQUksQ0FBQ0EsVUFBVTtnQkFFaEMsSUFBSU0sbUJBQW1CO29CQUNyQixJQUFJLENBQUNQLFVBQVUsQ0FB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
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return TypeDeclarationNode;
8
+ return SimpleTypeDeclarationNode;
9
9
  }
10
10
  });
11
11
  var _nonTerminal = /*#__PURE__*/ _interop_require_default(require("../../node/nonTerminal"));
@@ -89,13 +89,13 @@ function _is_native_reflect_construct() {
89
89
  return !!result;
90
90
  })();
91
91
  }
92
- var TypeDeclarationNode = /*#__PURE__*/ function(NonTerminalNode) {
93
- _inherits(TypeDeclarationNode, NonTerminalNode);
94
- function TypeDeclarationNode() {
95
- _class_call_check(this, TypeDeclarationNode);
96
- return _call_super(this, TypeDeclarationNode, arguments);
92
+ var SimpleTypeDeclarationNode = /*#__PURE__*/ function(NonTerminalNode) {
93
+ _inherits(SimpleTypeDeclarationNode, NonTerminalNode);
94
+ function SimpleTypeDeclarationNode() {
95
+ _class_call_check(this, SimpleTypeDeclarationNode);
96
+ return _call_super(this, SimpleTypeDeclarationNode, arguments);
97
97
  }
98
- _create_class(TypeDeclarationNode, [
98
+ _create_class(SimpleTypeDeclarationNode, [
99
99
  {
100
100
  key: "isProvisional",
101
101
  value: function isProvisional() {
@@ -154,11 +154,11 @@ var TypeDeclarationNode = /*#__PURE__*/ function(NonTerminalNode) {
154
154
  {
155
155
  key: "fromRuleNameChildNodesOpacityAndPrecedence",
156
156
  value: function fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
157
- return _nonTerminal.default.fromRuleNameChildNodesOpacityAndPrecedence(TypeDeclarationNode, ruleName, childNodes, opacity, precedence);
157
+ return _nonTerminal.default.fromRuleNameChildNodesOpacityAndPrecedence(SimpleTypeDeclarationNode, ruleName, childNodes, opacity, precedence);
158
158
  }
159
159
  }
160
160
  ]);
161
- return TypeDeclarationNode;
161
+ return SimpleTypeDeclarationNode;
162
162
  }(_nonTerminal.default);
163
163
 
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2RlY2xhcmF0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgUFJPVklTSU9OQUwgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBUWVBFX1JVTEVfTkFNRSwgVFlQRVNfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUeXBlRGVjbGFyYXRpb25Ob2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgaXNQcm92aXNpb25hbCgpIHtcbiAgICBsZXQgcHJvdmlzaW9uYWwgPSBmYWxzZTtcblxuICAgIHRoaXMuc29tZUNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsXG4gICAgICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgICBjb250ZW50UHJvdmlzaW9uYWwgPSAoY29udGVudCA9PT0gUFJPVklTSU9OQUwpO1xuXG4gICAgICAgIGlmIChjb250ZW50UHJvdmlzaW9uYWwpIHtcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3Zpc2lvbmFsO1xuICB9XG5cbiAgZ2V0VHlwZU5hbWUoKSB7XG4gICAgbGV0IHR5cGVOYW1lID0gbnVsbDtcblxuICAgIGNvbnN0IHR5cGVOb2RlID0gdGhpcy5nZXRUeXBlTm9kZSgpO1xuXG4gICAgaWYgKHR5cGVOb2RlICE9PSBudWxsKSB7XG4gICAgICB0eXBlTmFtZSA9IHR5cGVOb2RlLmdldFR5cGVOYW1lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVOYW1lO1xuICB9XG5cbiAgZ2V0VHlwZU5vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBUWVBFX1JVTEVfTkFNRSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHR5cGVOb2RlO1xuICB9XG5cbiAgZ2V0VHlwZXNOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gVFlQRVNfUlVMRV9OQU1FLFxuICAgICAgICAgIHR5cGVzTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHR5cGVzTm9kZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZU5vZGVzKCkge1xuICAgIGxldCBzdXBlclR5cGVOb2RlcyA9IFtdO1xuXG4gICAgY29uc3QgdHlwZXNOb2RlID0gdGhpcy5nZXRUeXBlc05vZGUoKTtcblxuICAgIGlmICh0eXBlc05vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVOb2RlcyA9IHR5cGVzTm9kZS5nZXRUeXBlTm9kZXMoKTtcblxuICAgICAgc3VwZXJUeXBlTm9kZXMgPSB0eXBlTm9kZXM7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVOb2RlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoVHlwZURlY2xhcmF0aW9uTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG5cbiJdLCJuYW1lcyI6WyJUeXBlRGVjbGFyYXRpb25Ob2RlIiwiaXNQcm92aXNpb25hbCIsInByb3Zpc2lvbmFsIiwic29tZUNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJjb250ZW50UHJvdmlzaW9uYWwiLCJQUk9WSVNJT05BTCIsImdldFR5cGVOYW1lIiwidHlwZU5hbWUiLCJ0eXBlTm9kZSIsImdldFR5cGVOb2RlIiwicnVsZU5hbWUiLCJUWVBFX1JVTEVfTkFNRSIsImdldE5vZGVCeVJ1bGVOYW1lIiwiZ2V0VHlwZXNOb2RlIiwiVFlQRVNfUlVMRV9OQU1FIiwidHlwZXNOb2RlIiwiZ2V0U3VwZXJUeXBlTm9kZXMiLCJzdXBlclR5cGVOb2RlcyIsInR5cGVOb2RlcyIsImdldFR5cGVOb2RlcyIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSIsIk5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7a0VBTE87eUJBRUE7eUJBQ29COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpDLElBQUEsQUFBTUEsb0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJQyxjQUFjO2dCQUVsQixJQUFJLENBQUNDLGFBQWEsQ0FBQyxTQUFDQztvQkFDbEIsSUFBTUMsd0JBQXdCRCxVQUFVRSxjQUFjO29CQUV0RCxJQUFJRCx1QkFBdUI7d0JBQ3pCLElBQU1FLGVBQWVILFdBQ2ZJLFVBQVVELGFBQWFFLFVBQVUsSUFDakNDLHFCQUFzQkYsWUFBWUcsc0JBQVc7d0JBRW5ELElBQUlELG9CQUFvQjs0QkFDdEJSLGNBQWM7NEJBRWQsT0FBTzt3QkFDVDtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPQTtZQUNUOzs7WUFFQVUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFBTUMsV0FBVyxJQUFJLENBQUNDLFdBQVc7Z0JBRWpDLElBQUlELGFBQWEsTUFBTTtvQkFDckJELFdBQVdDLFNBQVNGLFdBQVc7Z0JBQ2pDO2dCQUVBLE9BQU9DO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBV0MseUJBQWMsRUFDekJILFdBQVcsSUFBSSxDQUFDSSxpQkFBaUIsQ0FBQ0Y7Z0JBRXhDLE9BQU9GO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUgsV0FBV0ksMEJBQWUsRUFDMUJDLFlBQVksSUFBSSxDQUFDSCxpQkFBaUIsQ0FBQ0Y7Z0JBRXpDLE9BQU9LO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUMsaUJBQWlCLEVBQUU7Z0JBRXZCLElBQU1GLFlBQVksSUFBSSxDQUFDRixZQUFZO2dCQUVuQyxJQUFJRSxjQUFjLE1BQU07b0JBQ3RCLElBQU1HLFlBQVlILFVBQVVJLFlBQVk7b0JBRXhDRixpQkFBaUJDLFdBQVcsR0FBRztnQkFDakM7Z0JBRUEsT0FBT0Q7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSwyQ0FBMkNWLFFBQVEsRUFBRVcsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7Z0JBQUksT0FBT0Msb0JBQWUsQ0FBQ0osMENBQTBDLENBL0Q3STFCLHFCQStEbUtnQixVQUFVVyxZQUFZQyxTQUFTQztZQUFhOzs7V0EvRC9NN0I7RUFBNEI4QixvQkFBZSJ9
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2RlY2xhcmF0aW9uL3NpbXBsZVR5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbE5vZGUgZnJvbSBcIi4uLy4uL25vZGUvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgUFJPVklTSU9OQUwgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBUWVBFX1JVTEVfTkFNRSwgVFlQRVNfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgaXNQcm92aXNpb25hbCgpIHtcbiAgICBsZXQgcHJvdmlzaW9uYWwgPSBmYWxzZTtcblxuICAgIHRoaXMuc29tZUNoaWxkTm9kZSgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsXG4gICAgICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgICBjb250ZW50UHJvdmlzaW9uYWwgPSAoY29udGVudCA9PT0gUFJPVklTSU9OQUwpO1xuXG4gICAgICAgIGlmIChjb250ZW50UHJvdmlzaW9uYWwpIHtcbiAgICAgICAgICBwcm92aXNpb25hbCA9IHRydWU7XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHByb3Zpc2lvbmFsO1xuICB9XG5cbiAgZ2V0VHlwZU5hbWUoKSB7XG4gICAgbGV0IHR5cGVOYW1lID0gbnVsbDtcblxuICAgIGNvbnN0IHR5cGVOb2RlID0gdGhpcy5nZXRUeXBlTm9kZSgpO1xuXG4gICAgaWYgKHR5cGVOb2RlICE9PSBudWxsKSB7XG4gICAgICB0eXBlTmFtZSA9IHR5cGVOb2RlLmdldFR5cGVOYW1lKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGVOYW1lO1xuICB9XG5cbiAgZ2V0VHlwZU5vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBUWVBFX1JVTEVfTkFNRSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHR5cGVOb2RlO1xuICB9XG5cbiAgZ2V0VHlwZXNOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gVFlQRVNfUlVMRV9OQU1FLFxuICAgICAgICAgIHR5cGVzTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHR5cGVzTm9kZTtcbiAgfVxuXG4gIGdldFN1cGVyVHlwZU5vZGVzKCkge1xuICAgIGxldCBzdXBlclR5cGVOb2RlcyA9IFtdO1xuXG4gICAgY29uc3QgdHlwZXNOb2RlID0gdGhpcy5nZXRUeXBlc05vZGUoKTtcblxuICAgIGlmICh0eXBlc05vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHR5cGVOb2RlcyA9IHR5cGVzTm9kZS5nZXRUeXBlTm9kZXMoKTtcblxuICAgICAgc3VwZXJUeXBlTm9kZXMgPSB0eXBlTm9kZXM7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlclR5cGVOb2RlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoU2ltcGxlVHlwZURlY2xhcmF0aW9uTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG5cbiJdLCJuYW1lcyI6WyJTaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwiaXNQcm92aXNpb25hbCIsInByb3Zpc2lvbmFsIiwic29tZUNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImNoaWxkTm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJjb250ZW50UHJvdmlzaW9uYWwiLCJQUk9WSVNJT05BTCIsImdldFR5cGVOYW1lIiwidHlwZU5hbWUiLCJ0eXBlTm9kZSIsImdldFR5cGVOb2RlIiwicnVsZU5hbWUiLCJUWVBFX1JVTEVfTkFNRSIsImdldE5vZGVCeVJ1bGVOYW1lIiwiZ2V0VHlwZXNOb2RlIiwiVFlQRVNfUlVMRV9OQU1FIiwidHlwZXNOb2RlIiwiZ2V0U3VwZXJUeXBlTm9kZXMiLCJzdXBlclR5cGVOb2RlcyIsInR5cGVOb2RlcyIsImdldFR5cGVOb2RlcyIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSIsIk5vblRlcm1pbmFsTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7a0VBTE87eUJBRUE7eUJBQ29COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpDLElBQUEsQUFBTUEsMENBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJQyxjQUFjO2dCQUVsQixJQUFJLENBQUNDLGFBQWEsQ0FBQyxTQUFDQztvQkFDbEIsSUFBTUMsd0JBQXdCRCxVQUFVRSxjQUFjO29CQUV0RCxJQUFJRCx1QkFBdUI7d0JBQ3pCLElBQU1FLGVBQWVILFdBQ2ZJLFVBQVVELGFBQWFFLFVBQVUsSUFDakNDLHFCQUFzQkYsWUFBWUcsc0JBQVc7d0JBRW5ELElBQUlELG9CQUFvQjs0QkFDdEJSLGNBQWM7NEJBRWQsT0FBTzt3QkFDVDtvQkFDRjtnQkFDRjtnQkFFQSxPQUFPQTtZQUNUOzs7WUFFQVUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFBTUMsV0FBVyxJQUFJLENBQUNDLFdBQVc7Z0JBRWpDLElBQUlELGFBQWEsTUFBTTtvQkFDckJELFdBQVdDLFNBQVNGLFdBQVc7Z0JBQ2pDO2dCQUVBLE9BQU9DO1lBQ1Q7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsV0FBV0MseUJBQWMsRUFDekJILFdBQVcsSUFBSSxDQUFDSSxpQkFBaUIsQ0FBQ0Y7Z0JBRXhDLE9BQU9GO1lBQ1Q7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUgsV0FBV0ksMEJBQWUsRUFDMUJDLFlBQVksSUFBSSxDQUFDSCxpQkFBaUIsQ0FBQ0Y7Z0JBRXpDLE9BQU9LO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUMsaUJBQWlCLEVBQUU7Z0JBRXZCLElBQU1GLFlBQVksSUFBSSxDQUFDRixZQUFZO2dCQUVuQyxJQUFJRSxjQUFjLE1BQU07b0JBQ3RCLElBQU1HLFlBQVlILFVBQVVJLFlBQVk7b0JBRXhDRixpQkFBaUJDLFdBQVcsR0FBRztnQkFDakM7Z0JBRUEsT0FBT0Q7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSwyQ0FBMkNWLFFBQVEsRUFBRVcsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7Z0JBQUksT0FBT0Msb0JBQWUsQ0FBQ0osMENBQTBDLENBL0Q3STFCLDJCQStEeUtnQixVQUFVVyxZQUFZQyxTQUFTQztZQUFhOzs7V0EvRHJON0I7RUFBa0M4QixvQkFBZSJ9
@@ -49,7 +49,7 @@ var _metavariable = /*#__PURE__*/ _interop_require_default(require("./node/metav
49
49
  var _procedureCall = /*#__PURE__*/ _interop_require_default(require("./node/procedureCall"));
50
50
  var _subDerivation = /*#__PURE__*/ _interop_require_default(require("./node/subDerivation"));
51
51
  var _type1 = /*#__PURE__*/ _interop_require_default(require("./node/assertion/type"));
52
- var _type2 = /*#__PURE__*/ _interop_require_default(require("./node/declaration/type"));
52
+ var _simpleType = /*#__PURE__*/ _interop_require_default(require("./node/declaration/simpleType"));
53
53
  var _propertyRelation = /*#__PURE__*/ _interop_require_default(require("./node/propertyRelation"));
54
54
  var _defined = /*#__PURE__*/ _interop_require_default(require("./node/assertion/defined"));
55
55
  var _term1 = /*#__PURE__*/ _interop_require_default(require("./node/substitution/term"));
@@ -88,7 +88,7 @@ function _interop_require_default(obj) {
88
88
  };
89
89
  }
90
90
  var _obj;
91
- var nonTerminalNodeMap = (_obj = {}, _define_property(_obj, _ruleNames.RULE_RULE_NAME, _rule.default), _define_property(_obj, _ruleNames.STEP_RULE_NAME, _step.default), _define_property(_obj, _ruleNames.TERM_RULE_NAME, _term.default), _define_property(_obj, _ruleNames.TYPE_RULE_NAME, _type.default), _define_property(_obj, _ruleNames.TYPES_RULE_NAME, _types.default), _define_property(_obj, _ruleNames.ERROR_RULE_NAME, _error.default), _define_property(_obj, _ruleNames.FRAME_RULE_NAME, _frame.default), _define_property(_obj, _ruleNames.LEMMA_RULE_NAME, _lemma.default), _define_property(_obj, _ruleNames.AXIOM_RULE_NAME, _axiom.default), _define_property(_obj, _ruleNames.PROOF_RULE_NAME, _proof.default), _define_property(_obj, _ruleNames.LABEL_RULE_NAME, _label.default), _define_property(_obj, _ruleNames.LABELS_RULE_NAME, _labels.default), _define_property(_obj, _ruleNames.THEOREM_RULE_NAME, _theorem.default), _define_property(_obj, _ruleNames.PREMISE_RULE_NAME, _premise.default), _define_property(_obj, _ruleNames.ARGUMENT_RULE_NAME, _argument.default), _define_property(_obj, _ruleNames.PROPERTY_RULE_NAME, _property.default), _define_property(_obj, _ruleNames.SUBPROOF_RULE_NAME, _subproof.default), _define_property(_obj, _ruleNames.EQUALITY_RULE_NAME, _equality.default), _define_property(_obj, _ruleNames.VARIABLE_RULE_NAME, _variable.default), _define_property(_obj, _ruleNames.NONSENSE_RULE_NAME, _nonsense.default), _define_property(_obj, _ruleNames.META_TYPE_RULE_NAME, _metaType.default), _define_property(_obj, _ruleNames.SIGNATURE_RULE_NAME, _signature.default), _define_property(_obj, _ruleNames.REFERENCE_RULE_NAME, _reference.default), _define_property(_obj, _ruleNames.JUDGEMENT_RULE_NAME, _judgement.default), _define_property(_obj, _ruleNames.DEDUCTION_RULE_NAME, _deduction.default), _define_property(_obj, _ruleNames.PARAMETER_RULE_NAME, _parameter.default), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, _statement.default), _define_property(_obj, _ruleNames.META_LEMMA_RULE_NAME, _metaLemma.default), _define_property(_obj, _ruleNames.COMBINATOR_RULE_NAME, _combinator.default), _define_property(_obj, _ruleNames.CONCLUSION_RULE_NAME, _conclusion.default), _define_property(_obj, _ruleNames.CONJECTURE_RULE_NAME, _conjecture.default), _define_property(_obj, _ruleNames.DERIVATION_RULE_NAME, _derivation.default), _define_property(_obj, _ruleNames.SUPPOSITION_RULE_NAME, _supposition.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_RULE_NAME, _constructor.default), _define_property(_obj, _ruleNames.DECLARATION_RULE_NAME, _declaration.default), _define_property(_obj, _ruleNames.METATHEOREM_RULE_NAME, _metatheorem.default), _define_property(_obj, _ruleNames.METAVARIABLE_RULE_NAME, _metavariable.default), _define_property(_obj, _ruleNames.META_ARGUMENT_RULE_NAME, _metaArgument.default), _define_property(_obj, _ruleNames.TYPE_ASSERTION_RULE_NAME, _type1.default), _define_property(_obj, _ruleNames.PROCEDURE_CALL_RULE_NAME, _procedureCall.default), _define_property(_obj, _ruleNames.SUB_DERIVATION_RULE_NAME, _subDerivation.default), _define_property(_obj, _ruleNames.TYPE_DECLARATION_RULE_NAME, _type2.default), _define_property(_obj, _ruleNames.PROPERTY_RELATION_RULE_NAME, _propertyRelation.default), _define_property(_obj, _ruleNames.DEFINED_ASSERTION_RULE_NAME, _defined.default), _define_property(_obj, _ruleNames.TERM_SUBSTITUTION_RULE_NAME, _term1.default), _define_property(_obj, _ruleNames.SUBPROOF_ASSERTION_RULE_NAME, _subproof1.default), _define_property(_obj, _ruleNames.PROPERTY_ASSERTION_RULE_NAME, _property1.default), _define_property(_obj, _ruleNames.FRAME_SUBSTITUTION_RULE_NAME, _frame1.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABEL_RULE_NAME, _parenthesisedLabel.default), _define_property(_obj, _ruleNames.SATISFIES_ASSERTION_RULE_NAME, _satisfies.default), _define_property(_obj, _ruleNames.CONTAINED_ASSERTION_RULE_NAME, _contained.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABELS_RULE_NAME, _parenthesisedLabels.default), _define_property(_obj, _ruleNames.VARIABLE_DECLARATION_RULE_NAME, _variable1.default), _define_property(_obj, _ruleNames.PROPERTY_DECLARATION_RULE_NAME, _property2.default), _define_property(_obj, _ruleNames.STATEMENT_SUBSTITUTION_RULE_NAME, _statement1.default), _define_property(_obj, _ruleNames.REFERENCE_SUBSTITUTION_RULE_NAME, _reference1.default), _define_property(_obj, _ruleNames.COMBINATOR_DECLARATION_RULE_NAME, _combinator1.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME, _constructor1.default), _define_property(_obj, _ruleNames.COMPLEX_TYPE_DECLARATION_RULE_NAME, _complexType.default), _define_property(_obj, _ruleNames.METAVARIABLE_DECLARATION_RULE_NAME, _metavariable1.default), _obj);
91
+ var nonTerminalNodeMap = (_obj = {}, _define_property(_obj, _ruleNames.RULE_RULE_NAME, _rule.default), _define_property(_obj, _ruleNames.STEP_RULE_NAME, _step.default), _define_property(_obj, _ruleNames.TERM_RULE_NAME, _term.default), _define_property(_obj, _ruleNames.TYPE_RULE_NAME, _type.default), _define_property(_obj, _ruleNames.TYPES_RULE_NAME, _types.default), _define_property(_obj, _ruleNames.ERROR_RULE_NAME, _error.default), _define_property(_obj, _ruleNames.FRAME_RULE_NAME, _frame.default), _define_property(_obj, _ruleNames.LEMMA_RULE_NAME, _lemma.default), _define_property(_obj, _ruleNames.AXIOM_RULE_NAME, _axiom.default), _define_property(_obj, _ruleNames.PROOF_RULE_NAME, _proof.default), _define_property(_obj, _ruleNames.LABEL_RULE_NAME, _label.default), _define_property(_obj, _ruleNames.LABELS_RULE_NAME, _labels.default), _define_property(_obj, _ruleNames.THEOREM_RULE_NAME, _theorem.default), _define_property(_obj, _ruleNames.PREMISE_RULE_NAME, _premise.default), _define_property(_obj, _ruleNames.ARGUMENT_RULE_NAME, _argument.default), _define_property(_obj, _ruleNames.PROPERTY_RULE_NAME, _property.default), _define_property(_obj, _ruleNames.SUBPROOF_RULE_NAME, _subproof.default), _define_property(_obj, _ruleNames.EQUALITY_RULE_NAME, _equality.default), _define_property(_obj, _ruleNames.VARIABLE_RULE_NAME, _variable.default), _define_property(_obj, _ruleNames.NONSENSE_RULE_NAME, _nonsense.default), _define_property(_obj, _ruleNames.META_TYPE_RULE_NAME, _metaType.default), _define_property(_obj, _ruleNames.SIGNATURE_RULE_NAME, _signature.default), _define_property(_obj, _ruleNames.REFERENCE_RULE_NAME, _reference.default), _define_property(_obj, _ruleNames.JUDGEMENT_RULE_NAME, _judgement.default), _define_property(_obj, _ruleNames.DEDUCTION_RULE_NAME, _deduction.default), _define_property(_obj, _ruleNames.PARAMETER_RULE_NAME, _parameter.default), _define_property(_obj, _ruleNames.STATEMENT_RULE_NAME, _statement.default), _define_property(_obj, _ruleNames.META_LEMMA_RULE_NAME, _metaLemma.default), _define_property(_obj, _ruleNames.COMBINATOR_RULE_NAME, _combinator.default), _define_property(_obj, _ruleNames.CONCLUSION_RULE_NAME, _conclusion.default), _define_property(_obj, _ruleNames.CONJECTURE_RULE_NAME, _conjecture.default), _define_property(_obj, _ruleNames.DERIVATION_RULE_NAME, _derivation.default), _define_property(_obj, _ruleNames.SUPPOSITION_RULE_NAME, _supposition.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_RULE_NAME, _constructor.default), _define_property(_obj, _ruleNames.DECLARATION_RULE_NAME, _declaration.default), _define_property(_obj, _ruleNames.METATHEOREM_RULE_NAME, _metatheorem.default), _define_property(_obj, _ruleNames.METAVARIABLE_RULE_NAME, _metavariable.default), _define_property(_obj, _ruleNames.META_ARGUMENT_RULE_NAME, _metaArgument.default), _define_property(_obj, _ruleNames.TYPE_ASSERTION_RULE_NAME, _type1.default), _define_property(_obj, _ruleNames.PROCEDURE_CALL_RULE_NAME, _procedureCall.default), _define_property(_obj, _ruleNames.SUB_DERIVATION_RULE_NAME, _subDerivation.default), _define_property(_obj, _ruleNames.PROPERTY_RELATION_RULE_NAME, _propertyRelation.default), _define_property(_obj, _ruleNames.DEFINED_ASSERTION_RULE_NAME, _defined.default), _define_property(_obj, _ruleNames.TERM_SUBSTITUTION_RULE_NAME, _term1.default), _define_property(_obj, _ruleNames.SUBPROOF_ASSERTION_RULE_NAME, _subproof1.default), _define_property(_obj, _ruleNames.PROPERTY_ASSERTION_RULE_NAME, _property1.default), _define_property(_obj, _ruleNames.FRAME_SUBSTITUTION_RULE_NAME, _frame1.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABEL_RULE_NAME, _parenthesisedLabel.default), _define_property(_obj, _ruleNames.SATISFIES_ASSERTION_RULE_NAME, _satisfies.default), _define_property(_obj, _ruleNames.CONTAINED_ASSERTION_RULE_NAME, _contained.default), _define_property(_obj, _ruleNames.PARENTHESISED_LABELS_RULE_NAME, _parenthesisedLabels.default), _define_property(_obj, _ruleNames.VARIABLE_DECLARATION_RULE_NAME, _variable1.default), _define_property(_obj, _ruleNames.PROPERTY_DECLARATION_RULE_NAME, _property2.default), _define_property(_obj, _ruleNames.STATEMENT_SUBSTITUTION_RULE_NAME, _statement1.default), _define_property(_obj, _ruleNames.REFERENCE_SUBSTITUTION_RULE_NAME, _reference1.default), _define_property(_obj, _ruleNames.COMBINATOR_DECLARATION_RULE_NAME, _combinator1.default), _define_property(_obj, _ruleNames.SIMPLE_TYPE_DECLARATION_RULE_NAME, _simpleType.default), _define_property(_obj, _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME, _constructor1.default), _define_property(_obj, _ruleNames.COMPLEX_TYPE_DECLARATION_RULE_NAME, _complexType.default), _define_property(_obj, _ruleNames.METAVARIABLE_DECLARATION_RULE_NAME, _metavariable1.default), _obj);
92
92
  var _default = nonTerminalNodeMap;
93
93
 
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXJtTm9kZSBmcm9tIFwiLi9ub2RlL3Rlcm1cIjtcbmltcG9ydCBSdWxlTm9kZSBmcm9tIFwiLi9ub2RlL3J1bGVcIjtcbmltcG9ydCBTdGVwTm9kZSBmcm9tIFwiLi9ub2RlL3N0ZXBcIjtcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIjtcbmltcG9ydCBUeXBlc05vZGUgZnJvbSBcIi4vbm9kZS90eXBlc1wiO1xuaW1wb3J0IEVycm9yTm9kZSBmcm9tIFwiLi9ub2RlL2Vycm9yXCI7XG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIjtcbmltcG9ydCBBeGlvbU5vZGUgZnJvbSBcIi4vbm9kZS9heGlvbVwiO1xuaW1wb3J0IExlbW1hTm9kZSBmcm9tIFwiLi9ub2RlL2xlbW1hXCI7XG5pbXBvcnQgUHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvcHJvb2ZcIjtcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiO1xuaW1wb3J0IExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbHNcIjtcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIjtcbmltcG9ydCBUaGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL3RoZW9yZW1cIjtcbmltcG9ydCBOb25zZW5zZU5vZGUgZnJvbSBcIi4vbm9kZS9ub25zZW5zZVwiO1xuaW1wb3J0IEFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2FyZ3VtZW50XCI7XG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIjtcbmltcG9ydCBQcm9wZXJ0eU5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVwiO1xuaW1wb3J0IE1ldGFUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL21ldGFUeXBlXCI7XG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIjtcbmltcG9ydCBWYXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS92YXJpYWJsZVwiO1xuaW1wb3J0IFN0YXRlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9zdGF0ZW1lbnRcIjtcbmltcG9ydCBSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcmVmZXJlbmNlXCI7XG5pbXBvcnQgRGVkdWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlZHVjdGlvblwiO1xuaW1wb3J0IEp1ZGdlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9qdWRnZW1lbnRcIjtcbmltcG9ydCBNZXRhTGVtbWFOb2RlIGZyb20gXCIuL25vZGUvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUGFyYW1ldGVyTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmFtZXRlclwiO1xuaW1wb3J0IFNpZ25hdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9zaWduYXR1cmVcIjtcbmltcG9ydCBEZXJpdmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Rlcml2YXRpb25cIjtcbmltcG9ydCBDb21iaW5hdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbWJpbmF0b3JcIjtcbmltcG9ydCBDb25jbHVzaW9uTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmNsdXNpb25cIjtcbmltcG9ydCBDb25qZWN0dXJlTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmplY3R1cmVcIjtcbmltcG9ydCBTdXBwb3NpdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IENvbnN0cnVjdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb25cIjtcbmltcG9ydCBNZXRhdGhlb3JlbU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IE1ldGFBcmd1bWVudE5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhQXJndW1lbnRcIjtcbmltcG9ydCBNZXRhdmFyaWFibGVOb2RlIGZyb20gXCIuL25vZGUvbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgUHJvY2VkdXJlQ2FsbE5vZGUgZnJvbSBcIi4vbm9kZS9wcm9jZWR1cmVDYWxsXCI7XG5pbXBvcnQgU3ViRGVyaXZhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJEZXJpdmF0aW9uXCI7XG5pbXBvcnQgVHlwZUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vdHlwZVwiO1xuaW1wb3J0IHR5cGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi90eXBlXCI7XG5pbXBvcnQgUHJvcGVydHlSZWxhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVJlbGF0aW9uXCJcbmltcG9ydCBEZWZpbmVkQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgVGVybVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vdGVybVwiO1xuaW1wb3J0IFByb3BlcnR5QXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9wcm9wZXJ0eVwiO1xuaW1wb3J0IFN1YnByb29mQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9zdWJwcm9vZlwiO1xuaW1wb3J0IEZyYW1lU3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9mcmFtZVwiO1xuaW1wb3J0IFBhcmVudGhlc2lzZWRMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9wYXJlbnRoZXNpc2VkTGFiZWxcIjtcbmltcG9ydCBDb250YWluZWRBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL2NvbnRhaW5lZFwiO1xuaW1wb3J0IFNhdGlzZmllc0Fzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc2F0aXNmaWVzXCI7XG5pbXBvcnQgUGFyZW50aGVzaXNlZExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9wYXJlbnRoZXNpc2VkTGFiZWxzXCJcbmltcG9ydCBQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3Byb3BlcnR5XCI7XG5pbXBvcnQgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi92YXJpYWJsZVwiO1xuaW1wb3J0IFN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vc3RhdGVtZW50XCI7XG5pbXBvcnQgUmVmZXJlbmNlU3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9yZWZlcmVuY2VcIjtcbmltcG9ydCBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vY29tYmluYXRvclwiO1xuaW1wb3J0IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vY29tcGxleFR5cGVcIjtcbmltcG9ydCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IFJVTEVfUlVMRV9OQU1FLFxuICAgICAgICAgU1RFUF9SVUxFX05BTUUsXG4gICAgICAgICBURVJNX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgVFlQRVNfUlVMRV9OQU1FLFxuICAgICAgICAgUFJPT0ZfUlVMRV9OQU1FLFxuICAgICAgICAgRVJST1JfUlVMRV9OQU1FLFxuICAgICAgICAgRlJBTUVfUlVMRV9OQU1FLFxuICAgICAgICAgQVhJT01fUlVMRV9OQU1FLFxuICAgICAgICAgTEVNTUFfUlVMRV9OQU1FLFxuICAgICAgICAgTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgTEFCRUxTX1JVTEVfTkFNRSxcbiAgICAgICAgIFRIRU9SRU1fUlVMRV9OQU1FLFxuICAgICAgICAgUFJFTUlTRV9SVUxFX05BTUUsXG4gICAgICAgICBOT05TRU5TRV9SVUxFX05BTUUsXG4gICAgICAgICBBUkdVTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBTVUJQUk9PRl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9QRVJUWV9SVUxFX05BTUUsXG4gICAgICAgICBFUVVBTElUWV9SVUxFX05BTUUsXG4gICAgICAgICBWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBX1RZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgU0lHTkFUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRFVDVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSQU1FVEVSX1JVTEVfTkFNRSxcbiAgICAgICAgIFJFRkVSRU5DRV9SVUxFX05BTUUsXG4gICAgICAgICBTVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQV9MRU1NQV9SVUxFX05BTUUsXG4gICAgICAgICBERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICAgICAgICAgQ09OQ0xVU0lPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT05KRUNUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgICAgICAgIERFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVUFBPU0lUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFUSEVPUkVNX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFBBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FLFxuICAgICAgICAgUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBSRUZFUkVOQ0VfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgQ09NUExFWF9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgfSBmcm9tIFwiLi9ydWxlTmFtZXNcIjtcblxuY29uc3Qgbm9uVGVybWluYWxOb2RlTWFwID0ge1xuICBbUlVMRV9SVUxFX05BTUVdOiBSdWxlTm9kZSxcbiAgW1NURVBfUlVMRV9OQU1FXTogU3RlcE5vZGUsXG4gIFtURVJNX1JVTEVfTkFNRV06IFRlcm1Ob2RlLFxuICBbVFlQRV9SVUxFX05BTUVdOiBUeXBlTm9kZSxcbiAgW1RZUEVTX1JVTEVfTkFNRV06IFR5cGVzTm9kZSxcbiAgW0VSUk9SX1JVTEVfTkFNRV06IEVycm9yTm9kZSxcbiAgW0ZSQU1FX1JVTEVfTkFNRV06IEZyYW1lTm9kZSxcbiAgW0xFTU1BX1JVTEVfTkFNRV06IExlbW1hTm9kZSxcbiAgW0FYSU9NX1JVTEVfTkFNRV06IEF4aW9tTm9kZSxcbiAgW1BST09GX1JVTEVfTkFNRV06IFByb29mTm9kZSxcbiAgW0xBQkVMX1JVTEVfTkFNRV06IExhYmVsTm9kZSxcbiAgW0xBQkVMU19SVUxFX05BTUVdOiBMYWJlbHNOb2RlLFxuICBbVEhFT1JFTV9SVUxFX05BTUVdOiBUaGVvcmVtTm9kZSxcbiAgW1BSRU1JU0VfUlVMRV9OQU1FXTogUHJlbWlzZU5vZGUsXG4gIFtBUkdVTUVOVF9SVUxFX05BTUVdOiBBcmd1bWVudE5vZGUsXG4gIFtQUk9QRVJUWV9SVUxFX05BTUVdOiBQcm9wZXJ0eU5vZGUsXG4gIFtTVUJQUk9PRl9SVUxFX05BTUVdOiBTdWJwcm9vZk5vZGUsXG4gIFtFUVVBTElUWV9SVUxFX05BTUVdOiBFcXVhbGl0eU5vZGUsXG4gIFtWQVJJQUJMRV9SVUxFX05BTUVdOiBWYXJpYWJsZU5vZGUsXG4gIFtOT05TRU5TRV9SVUxFX05BTUVdOiBOb25zZW5zZU5vZGUsXG4gIFtNRVRBX1RZUEVfUlVMRV9OQU1FXTogTWV0YVR5cGVOb2RlLFxuICBbU0lHTkFUVVJFX1JVTEVfTkFNRV06IFNpZ25hdHVyZU5vZGUsXG4gIFtSRUZFUkVOQ0VfUlVMRV9OQU1FXTogUmVmZXJlbmNlTm9kZSxcbiAgW0pVREdFTUVOVF9SVUxFX05BTUVdOiBKdWRnZW1lbnROb2RlLFxuICBbREVEVUNUSU9OX1JVTEVfTkFNRV06IERlZHVjdGlvbk5vZGUsXG4gIFtQQVJBTUVURVJfUlVMRV9OQU1FXTogUGFyYW1ldGVyTm9kZSxcbiAgW1NUQVRFTUVOVF9SVUxFX05BTUVdOiBTdGF0ZW1lbnROb2RlLFxuICBbTUVUQV9MRU1NQV9SVUxFX05BTUVdOiBNZXRhTGVtbWFOb2RlLFxuICBbQ09NQklOQVRPUl9SVUxFX05BTUVdOiBDb21iaW5hdG9yTm9kZSxcbiAgW0NPTkNMVVNJT05fUlVMRV9OQU1FXTogQ29uY2x1c2lvbk5vZGUsXG4gIFtDT05KRUNUVVJFX1JVTEVfTkFNRV06IENvbmplY3R1cmVOb2RlLFxuICBbREVSSVZBVElPTl9SVUxFX05BTUVdOiBEZXJpdmF0aW9uTm9kZSxcbiAgW1NVUFBPU0lUSU9OX1JVTEVfTkFNRV06IFN1cHBvc2l0aW9uTm9kZSxcbiAgW0NPTlNUUlVDVE9SX1JVTEVfTkFNRV06IENvbnN0cnVjdG9yTm9kZSxcbiAgW0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IERlY2xhcmF0aW9uTm9kZSxcbiAgW01FVEFUSEVPUkVNX1JVTEVfTkFNRV06IE1ldGF0aGVvcmVtTm9kZSxcbiAgW01FVEFWQVJJQUJMRV9SVUxFX05BTUVdOiBNZXRhdmFyaWFibGVOb2RlLFxuICBbTUVUQV9BUkdVTUVOVF9SVUxFX05BTUVdOiBNZXRhQXJndW1lbnROb2RlLFxuICBbVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FXTogVHlwZUFzc2VydGlvbk5vZGUsXG4gIFtQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUVdOiBQcm9jZWR1cmVDYWxsTm9kZSxcbiAgW1NVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRV06IFN1YkRlcml2YXRpb25Ob2RlLFxuICBbVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiB0eXBlRGVjbGFyYXRpb25Ob2RlLFxuICBbUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlSZWxhdGlvbk5vZGUsXG4gIFtERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBEZWZpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1RFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IFRlcm1TdWJzdGl0dXRpb25Ob2RlLFxuICBbU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRV06IFN1YnByb29mQXNzZXJ0aW9uTm9kZSxcbiAgW1BST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUVdOiBQcm9wZXJ0eUFzc2VydGlvbk5vZGUsXG4gIFtGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogRnJhbWVTdWJzdGl0dXRpb25Ob2RlLFxuICBbUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUVdOiBQYXJlbnRoZXNpc2VkTGFiZWxOb2RlLFxuICBbU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlLFxuICBbQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUVdOiBDb250YWluZWRBc3NlcnRpb25Ob2RlLFxuICBbUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FXTogUGFyZW50aGVzaXNlZExhYmVsc05vZGUsXG4gIFtWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSxcbiAgW1BST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IFByb3BlcnR5RGVjbGFyYXRpb25Ob2RlLFxuICBbU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUVdOiBTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlLFxuICBbUkVGRVJFTkNFX1NVQlNUSVRVVElPTl9SVUxFX05BTUVdOiBSZWZlcmVuY2VTdWJzdGl0dXRpb25Ob2RlLFxuICBbQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlLFxuICBbQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBub25UZXJtaW5hbE5vZGVNYXA7XG4iXSwibmFtZXMiOlsibm9uVGVybWluYWxOb2RlTWFwIiwiUlVMRV9SVUxFX05BTUUiLCJSdWxlTm9kZSIsIlNURVBfUlVMRV9OQU1FIiwiU3RlcE5vZGUiLCJURVJNX1JVTEVfTkFNRSIsIlRlcm1Ob2RlIiwiVFlQRV9SVUxFX05BTUUiLCJUeXBlTm9kZSIsIlRZUEVTX1JVTEVfTkFNRSIsIlR5cGVzTm9kZSIsIkVSUk9SX1JVTEVfTkFNRSIsIkVycm9yTm9kZSIsIkZSQU1FX1JVTEVfTkFNRSIsIkZyYW1lTm9kZSIsIkxFTU1BX1JVTEVfTkFNRSIsIkxlbW1hTm9kZSIsIkFYSU9NX1JVTEVfTkFNRSIsIkF4aW9tTm9kZSIsIlBST09GX1JVTEVfTkFNRSIsIlByb29mTm9kZSIsIkxBQkVMX1JVTEVfTkFNRSIsIkxhYmVsTm9kZSIsIkxBQkVMU19SVUxFX05BTUUiLCJMYWJlbHNOb2RlIiwiVEhFT1JFTV9SVUxFX05BTUUiLCJUaGVvcmVtTm9kZSIsIlBSRU1JU0VfUlVMRV9OQU1FIiwiUHJlbWlzZU5vZGUiLCJBUkdVTUVOVF9SVUxFX05BTUUiLCJBcmd1bWVudE5vZGUiLCJQUk9QRVJUWV9SVUxFX05BTUUiLCJQcm9wZXJ0eU5vZGUiLCJTVUJQUk9PRl9SVUxFX05BTUUiLCJTdWJwcm9vZk5vZGUiLCJFUVVBTElUWV9SVUxFX05BTUUiLCJFcXVhbGl0eU5vZGUiLCJWQVJJQUJMRV9SVUxFX05BTUUiLCJWYXJpYWJsZU5vZGUiLCJOT05TRU5TRV9SVUxFX05BTUUiLCJOb25zZW5zZU5vZGUiLCJNRVRBX1RZUEVfUlVMRV9OQU1FIiwiTWV0YVR5cGVOb2RlIiwiU0lHTkFUVVJFX1JVTEVfTkFNRSIsIlNpZ25hdHVyZU5vZGUiLCJSRUZFUkVOQ0VfUlVMRV9OQU1FIiwiUmVmZXJlbmNlTm9kZSIsIkpVREdFTUVOVF9SVUxFX05BTUUiLCJKdWRnZW1lbnROb2RlIiwiREVEVUNUSU9OX1JVTEVfTkFNRSIsIkRlZHVjdGlvbk5vZGUiLCJQQVJBTUVURVJfUlVMRV9OQU1FIiwiUGFyYW1ldGVyTm9kZSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJTdGF0ZW1lbnROb2RlIiwiTUVUQV9MRU1NQV9SVUxFX05BTUUiLCJNZXRhTGVtbWFOb2RlIiwiQ09NQklOQVRPUl9SVUxFX05BTUUiLCJDb21iaW5hdG9yTm9kZSIsIkNPTkNMVVNJT05fUlVMRV9OQU1FIiwiQ29uY2x1c2lvbk5vZGUiLCJDT05KRUNUVVJFX1JVTEVfTkFNRSIsIkNvbmplY3R1cmVOb2RlIiwiREVSSVZBVElPTl9SVUxFX05BTUUiLCJEZXJpdmF0aW9uTm9kZSIsIlNVUFBPU0lUSU9OX1JVTEVfTkFNRSIsIlN1cHBvc2l0aW9uTm9kZSIsIkNPTlNUUlVDVE9SX1JVTEVfTkFNRSIsIkNvbnN0cnVjdG9yTm9kZSIsIkRFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkRlY2xhcmF0aW9uTm9kZSIsIk1FVEFUSEVPUkVNX1JVTEVfTkFNRSIsIk1ldGF0aGVvcmVtTm9kZSIsIk1FVEFWQVJJQUJMRV9SVUxFX05BTUUiLCJNZXRhdmFyaWFibGVOb2RlIiwiTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUiLCJNZXRhQXJndW1lbnROb2RlIiwiVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FIiwiVHlwZUFzc2VydGlvbk5vZGUiLCJQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUiLCJQcm9jZWR1cmVDYWxsTm9kZSIsIlNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSIsIlN1YkRlcml2YXRpb25Ob2RlIiwiVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJ0eXBlRGVjbGFyYXRpb25Ob2RlIiwiUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FIiwiUHJvcGVydHlSZWxhdGlvbk5vZGUiLCJERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJEZWZpbmVkQXNzZXJ0aW9uTm9kZSIsIlRFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSIsIlRlcm1TdWJzdGl0dXRpb25Ob2RlIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlN1YnByb29mQXNzZXJ0aW9uTm9kZSIsIlBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eUFzc2VydGlvbk5vZGUiLCJGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiRnJhbWVTdWJzdGl0dXRpb25Ob2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUiLCJQYXJlbnRoZXNpc2VkTGFiZWxOb2RlIiwiU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTYXRpc2ZpZXNBc3NlcnRpb25Ob2RlIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJDb250YWluZWRBc3NlcnRpb25Ob2RlIiwiUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIiwiUGFyZW50aGVzaXNlZExhYmVsc05vZGUiLCJWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSIsIlBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlByb3BlcnR5RGVjbGFyYXRpb25Ob2RlIiwiU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJTdGF0ZW1lbnRTdWJzdGl0dXRpb25Ob2RlIiwiUkVGRVJFTkNFX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJSZWZlcmVuY2VTdWJzdGl0dXRpb25Ob2RlIiwiQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTEE7OztlQUFBOzs7MkRBekxxQjsyREFDQTsyREFDQTsyREFDQTs0REFDQzs0REFDQTs0REFDQTs0REFDQTs0REFDQTs0REFDQTs0REFDQTs2REFDQzs4REFDQzs4REFDQTsrREFDQzsrREFDQTsrREFDQTsrREFDQTsrREFDQTsrREFDQTsrREFDQTtnRUFDQztnRUFDQTtnRUFDQTtnRUFDQTtnRUFDQTtnRUFDQTtnRUFDQTtpRUFDQztpRUFDQTtpRUFDQTtpRUFDQTtrRUFDQztrRUFDQTtrRUFDQTtrRUFDQTttRUFDQzttRUFDQTtvRUFDQztvRUFDQTs0REFDQTs0REFDRTt1RUFDQzs4REFDQTs0REFDQTtnRUFDQztnRUFDQTs2REFDQTt5RUFDQztnRUFDQTtnRUFDQTswRUFDQztnRUFDQTtnRUFDQTtpRUFDRTtpRUFDQTtrRUFDQTtrRUFDQzttRUFDQTtvRUFDQzt5QkE2RFc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFeEI7QUFBM0IsSUFBTUEsc0JBQXFCLFdBQ3pCLGlCQUR5QixNQUN4QkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFGeUIsTUFFeEJDLHlCQUFjLEVBQUdDLGFBQVEsR0FDMUIsaUJBSHlCLE1BR3hCQyx5QkFBYyxFQUFHQyxhQUFRLEdBQzFCLGlCQUp5QixNQUl4QkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFMeUIsTUFLeEJDLDBCQUFlLEVBQUdDLGNBQVMsR0FDNUIsaUJBTnlCLE1BTXhCQywwQkFBZSxFQUFHQyxjQUFTLEdBQzVCLGlCQVB5QixNQU94QkMsMEJBQWUsRUFBR0MsY0FBUyxHQUM1QixpQkFSeUIsTUFReEJDLDBCQUFlLEVBQUdDLGNBQVMsR0FDNUIsaUJBVHlCLE1BU3hCQywwQkFBZSxFQUFHQyxj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
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub25UZXJtaW5hbE5vZGVNYXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBUZXJtTm9kZSBmcm9tIFwiLi9ub2RlL3Rlcm1cIjtcbmltcG9ydCBSdWxlTm9kZSBmcm9tIFwiLi9ub2RlL3J1bGVcIjtcbmltcG9ydCBTdGVwTm9kZSBmcm9tIFwiLi9ub2RlL3N0ZXBcIjtcbmltcG9ydCBUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL3R5cGVcIjtcbmltcG9ydCBUeXBlc05vZGUgZnJvbSBcIi4vbm9kZS90eXBlc1wiO1xuaW1wb3J0IEVycm9yTm9kZSBmcm9tIFwiLi9ub2RlL2Vycm9yXCI7XG5pbXBvcnQgRnJhbWVOb2RlIGZyb20gXCIuL25vZGUvZnJhbWVcIjtcbmltcG9ydCBBeGlvbU5vZGUgZnJvbSBcIi4vbm9kZS9heGlvbVwiO1xuaW1wb3J0IExlbW1hTm9kZSBmcm9tIFwiLi9ub2RlL2xlbW1hXCI7XG5pbXBvcnQgUHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvcHJvb2ZcIjtcbmltcG9ydCBMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbFwiO1xuaW1wb3J0IExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9sYWJlbHNcIjtcbmltcG9ydCBQcmVtaXNlTm9kZSBmcm9tIFwiLi9ub2RlL3ByZW1pc2VcIjtcbmltcG9ydCBUaGVvcmVtTm9kZSBmcm9tIFwiLi9ub2RlL3RoZW9yZW1cIjtcbmltcG9ydCBOb25zZW5zZU5vZGUgZnJvbSBcIi4vbm9kZS9ub25zZW5zZVwiO1xuaW1wb3J0IEFyZ3VtZW50Tm9kZSBmcm9tIFwiLi9ub2RlL2FyZ3VtZW50XCI7XG5pbXBvcnQgU3VicHJvb2ZOb2RlIGZyb20gXCIuL25vZGUvc3VicHJvb2ZcIjtcbmltcG9ydCBQcm9wZXJ0eU5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVwiO1xuaW1wb3J0IE1ldGFUeXBlTm9kZSBmcm9tIFwiLi9ub2RlL21ldGFUeXBlXCI7XG5pbXBvcnQgRXF1YWxpdHlOb2RlIGZyb20gXCIuL25vZGUvZXF1YWxpdHlcIjtcbmltcG9ydCBWYXJpYWJsZU5vZGUgZnJvbSBcIi4vbm9kZS92YXJpYWJsZVwiO1xuaW1wb3J0IFN0YXRlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9zdGF0ZW1lbnRcIjtcbmltcG9ydCBSZWZlcmVuY2VOb2RlIGZyb20gXCIuL25vZGUvcmVmZXJlbmNlXCI7XG5pbXBvcnQgRGVkdWN0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlZHVjdGlvblwiO1xuaW1wb3J0IEp1ZGdlbWVudE5vZGUgZnJvbSBcIi4vbm9kZS9qdWRnZW1lbnRcIjtcbmltcG9ydCBNZXRhTGVtbWFOb2RlIGZyb20gXCIuL25vZGUvbWV0YUxlbW1hXCI7XG5pbXBvcnQgUGFyYW1ldGVyTm9kZSBmcm9tIFwiLi9ub2RlL3BhcmFtZXRlclwiO1xuaW1wb3J0IFNpZ25hdHVyZU5vZGUgZnJvbSBcIi4vbm9kZS9zaWduYXR1cmVcIjtcbmltcG9ydCBEZXJpdmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Rlcml2YXRpb25cIjtcbmltcG9ydCBDb21iaW5hdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbWJpbmF0b3JcIjtcbmltcG9ydCBDb25jbHVzaW9uTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmNsdXNpb25cIjtcbmltcG9ydCBDb25qZWN0dXJlTm9kZSBmcm9tIFwiLi9ub2RlL2NvbmplY3R1cmVcIjtcbmltcG9ydCBTdXBwb3NpdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdXBwb3NpdGlvblwiO1xuaW1wb3J0IENvbnN0cnVjdG9yTm9kZSBmcm9tIFwiLi9ub2RlL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb25cIjtcbmltcG9ydCBNZXRhdGhlb3JlbU5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhdGhlb3JlbVwiO1xuaW1wb3J0IE1ldGFBcmd1bWVudE5vZGUgZnJvbSBcIi4vbm9kZS9tZXRhQXJndW1lbnRcIjtcbmltcG9ydCBNZXRhdmFyaWFibGVOb2RlIGZyb20gXCIuL25vZGUvbWV0YXZhcmlhYmxlXCI7XG5pbXBvcnQgUHJvY2VkdXJlQ2FsbE5vZGUgZnJvbSBcIi4vbm9kZS9wcm9jZWR1cmVDYWxsXCI7XG5pbXBvcnQgU3ViRGVyaXZhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJEZXJpdmF0aW9uXCI7XG5pbXBvcnQgVHlwZUFzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vdHlwZVwiO1xuaW1wb3J0IFNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi9zaW1wbGVUeXBlXCI7XG5pbXBvcnQgUHJvcGVydHlSZWxhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9wcm9wZXJ0eVJlbGF0aW9uXCJcbmltcG9ydCBEZWZpbmVkQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9kZWZpbmVkXCI7XG5pbXBvcnQgVGVybVN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vdGVybVwiO1xuaW1wb3J0IFByb3BlcnR5QXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9wcm9wZXJ0eVwiO1xuaW1wb3J0IFN1YnByb29mQXNzZXJ0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2Fzc2VydGlvbi9zdWJwcm9vZlwiO1xuaW1wb3J0IEZyYW1lU3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9mcmFtZVwiO1xuaW1wb3J0IFBhcmVudGhlc2lzZWRMYWJlbE5vZGUgZnJvbSBcIi4vbm9kZS9wYXJlbnRoZXNpc2VkTGFiZWxcIjtcbmltcG9ydCBDb250YWluZWRBc3NlcnRpb25Ob2RlIGZyb20gXCIuL25vZGUvYXNzZXJ0aW9uL2NvbnRhaW5lZFwiO1xuaW1wb3J0IFNhdGlzZmllc0Fzc2VydGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9hc3NlcnRpb24vc2F0aXNmaWVzXCI7XG5pbXBvcnQgUGFyZW50aGVzaXNlZExhYmVsc05vZGUgZnJvbSBcIi4vbm9kZS9wYXJlbnRoZXNpc2VkTGFiZWxzXCJcbmltcG9ydCBQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL3Byb3BlcnR5XCI7XG5pbXBvcnQgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9kZWNsYXJhdGlvbi92YXJpYWJsZVwiO1xuaW1wb3J0IFN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGUgZnJvbSBcIi4vbm9kZS9zdWJzdGl0dXRpb24vc3RhdGVtZW50XCI7XG5pbXBvcnQgUmVmZXJlbmNlU3Vic3RpdHV0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL3N1YnN0aXR1dGlvbi9yZWZlcmVuY2VcIjtcbmltcG9ydCBjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vY29tYmluYXRvclwiO1xuaW1wb3J0IGNvbXBsZXhUeXBlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vY29tcGxleFR5cGVcIjtcbmltcG9ydCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSBmcm9tIFwiLi9ub2RlL2RlY2xhcmF0aW9uL2NvbnN0cnVjdG9yXCI7XG5pbXBvcnQgbWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIGZyb20gXCIuL25vZGUvZGVjbGFyYXRpb24vbWV0YXZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IFJVTEVfUlVMRV9OQU1FLFxuICAgICAgICAgU1RFUF9SVUxFX05BTUUsXG4gICAgICAgICBURVJNX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgVFlQRVNfUlVMRV9OQU1FLFxuICAgICAgICAgUFJPT0ZfUlVMRV9OQU1FLFxuICAgICAgICAgRVJST1JfUlVMRV9OQU1FLFxuICAgICAgICAgRlJBTUVfUlVMRV9OQU1FLFxuICAgICAgICAgQVhJT01fUlVMRV9OQU1FLFxuICAgICAgICAgTEVNTUFfUlVMRV9OQU1FLFxuICAgICAgICAgTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgTEFCRUxTX1JVTEVfTkFNRSxcbiAgICAgICAgIFRIRU9SRU1fUlVMRV9OQU1FLFxuICAgICAgICAgUFJFTUlTRV9SVUxFX05BTUUsXG4gICAgICAgICBOT05TRU5TRV9SVUxFX05BTUUsXG4gICAgICAgICBBUkdVTUVOVF9SVUxFX05BTUUsXG4gICAgICAgICBTVUJQUk9PRl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9QRVJUWV9SVUxFX05BTUUsXG4gICAgICAgICBFUVVBTElUWV9SVUxFX05BTUUsXG4gICAgICAgICBWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBX1RZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgU0lHTkFUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRFVDVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBKVURHRU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgUEFSQU1FVEVSX1JVTEVfTkFNRSxcbiAgICAgICAgIFJFRkVSRU5DRV9SVUxFX05BTUUsXG4gICAgICAgICBTVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICAgTUVUQV9MRU1NQV9SVUxFX05BTUUsXG4gICAgICAgICBERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTUJJTkFUT1JfUlVMRV9OQU1FLFxuICAgICAgICAgQ09OQ0xVU0lPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT05KRUNUVVJFX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX1JVTEVfTkFNRSxcbiAgICAgICAgIERFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVUFBPU0lUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFUSEVPUkVNX1JVTEVfTkFNRSxcbiAgICAgICAgIE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIERFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFRFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgRlJBTUVfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBQQVJFTlRIRVNJU0VEX0xBQkVMX1JVTEVfTkFNRSxcbiAgICAgICAgIFBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSxcbiAgICAgICAgIFBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgUkVGRVJFTkNFX1NVQlNUSVRVVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFNJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gICAgICAgICBNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4vcnVsZU5hbWVzXCI7XG5cbmNvbnN0IG5vblRlcm1pbmFsTm9kZU1hcCA9IHtcbiAgW1JVTEVfUlVMRV9OQU1FXTogUnVsZU5vZGUsXG4gIFtTVEVQX1JVTEVfTkFNRV06IFN0ZXBOb2RlLFxuICBbVEVSTV9SVUxFX05BTUVdOiBUZXJtTm9kZSxcbiAgW1RZUEVfUlVMRV9OQU1FXTogVHlwZU5vZGUsXG4gIFtUWVBFU19SVUxFX05BTUVdOiBUeXBlc05vZGUsXG4gIFtFUlJPUl9SVUxFX05BTUVdOiBFcnJvck5vZGUsXG4gIFtGUkFNRV9SVUxFX05BTUVdOiBGcmFtZU5vZGUsXG4gIFtMRU1NQV9SVUxFX05BTUVdOiBMZW1tYU5vZGUsXG4gIFtBWElPTV9SVUxFX05BTUVdOiBBeGlvbU5vZGUsXG4gIFtQUk9PRl9SVUxFX05BTUVdOiBQcm9vZk5vZGUsXG4gIFtMQUJFTF9SVUxFX05BTUVdOiBMYWJlbE5vZGUsXG4gIFtMQUJFTFNfUlVMRV9OQU1FXTogTGFiZWxzTm9kZSxcbiAgW1RIRU9SRU1fUlVMRV9OQU1FXTogVGhlb3JlbU5vZGUsXG4gIFtQUkVNSVNFX1JVTEVfTkFNRV06IFByZW1pc2VOb2RlLFxuICBbQVJHVU1FTlRfUlVMRV9OQU1FXTogQXJndW1lbnROb2RlLFxuICBbUFJPUEVSVFlfUlVMRV9OQU1FXTogUHJvcGVydHlOb2RlLFxuICBbU1VCUFJPT0ZfUlVMRV9OQU1FXTogU3VicHJvb2ZOb2RlLFxuICBbRVFVQUxJVFlfUlVMRV9OQU1FXTogRXF1YWxpdHlOb2RlLFxuICBbVkFSSUFCTEVfUlVMRV9OQU1FXTogVmFyaWFibGVOb2RlLFxuICBbTk9OU0VOU0VfUlVMRV9OQU1FXTogTm9uc2Vuc2VOb2RlLFxuICBbTUVUQV9UWVBFX1JVTEVfTkFNRV06IE1ldGFUeXBlTm9kZSxcbiAgW1NJR05BVFVSRV9SVUxFX05BTUVdOiBTaWduYXR1cmVOb2RlLFxuICBbUkVGRVJFTkNFX1JVTEVfTkFNRV06IFJlZmVyZW5jZU5vZGUsXG4gIFtKVURHRU1FTlRfUlVMRV9OQU1FXTogSnVkZ2VtZW50Tm9kZSxcbiAgW0RFRFVDVElPTl9SVUxFX05BTUVdOiBEZWR1Y3Rpb25Ob2RlLFxuICBbUEFSQU1FVEVSX1JVTEVfTkFNRV06IFBhcmFtZXRlck5vZGUsXG4gIFtTVEFURU1FTlRfUlVMRV9OQU1FXTogU3RhdGVtZW50Tm9kZSxcbiAgW01FVEFfTEVNTUFfUlVMRV9OQU1FXTogTWV0YUxlbW1hTm9kZSxcbiAgW0NPTUJJTkFUT1JfUlVMRV9OQU1FXTogQ29tYmluYXRvck5vZGUsXG4gIFtDT05DTFVTSU9OX1JVTEVfTkFNRV06IENvbmNsdXNpb25Ob2RlLFxuICBbQ09OSkVDVFVSRV9SVUxFX05BTUVdOiBDb25qZWN0dXJlTm9kZSxcbiAgW0RFUklWQVRJT05fUlVMRV9OQU1FXTogRGVyaXZhdGlvbk5vZGUsXG4gIFtTVVBQT1NJVElPTl9SVUxFX05BTUVdOiBTdXBwb3NpdGlvbk5vZGUsXG4gIFtDT05TVFJVQ1RPUl9SVUxFX05BTUVdOiBDb25zdHJ1Y3Rvck5vZGUsXG4gIFtERUNMQVJBVElPTl9SVUxFX05BTUVdOiBEZWNsYXJhdGlvbk5vZGUsXG4gIFtNRVRBVEhFT1JFTV9SVUxFX05BTUVdOiBNZXRhdGhlb3JlbU5vZGUsXG4gIFtNRVRBVkFSSUFCTEVfUlVMRV9OQU1FXTogTWV0YXZhcmlhYmxlTm9kZSxcbiAgW01FVEFfQVJHVU1FTlRfUlVMRV9OQU1FXTogTWV0YUFyZ3VtZW50Tm9kZSxcbiAgW1RZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRV06IFR5cGVBc3NlcnRpb25Ob2RlLFxuICBbUFJPQ0VEVVJFX0NBTExfUlVMRV9OQU1FXTogUHJvY2VkdXJlQ2FsbE5vZGUsXG4gIFtTVUJfREVSSVZBVElPTl9SVUxFX05BTUVdOiBTdWJEZXJpdmF0aW9uTm9kZSxcbiAgW1BST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRV06IFByb3BlcnR5UmVsYXRpb25Ob2RlLFxuICBbREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FXTogRGVmaW5lZEFzc2VydGlvbk5vZGUsXG4gIFtURVJNX1NVQlNUSVRVVElPTl9SVUxFX05BTUVdOiBUZXJtU3Vic3RpdHV0aW9uTm9kZSxcbiAgW1NVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUVdOiBTdWJwcm9vZkFzc2VydGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FXTogUHJvcGVydHlBc3NlcnRpb25Ob2RlLFxuICBbRlJBTUVfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRV06IEZyYW1lU3Vic3RpdHV0aW9uTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FXTogUGFyZW50aGVzaXNlZExhYmVsTm9kZSxcbiAgW1NBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FXTogU2F0aXNmaWVzQXNzZXJ0aW9uTm9kZSxcbiAgW0NPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FXTogQ29udGFpbmVkQXNzZXJ0aW9uTm9kZSxcbiAgW1BBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRV06IFBhcmVudGhlc2lzZWRMYWJlbHNOb2RlLFxuICBbVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBQcm9wZXJ0eURlY2xhcmF0aW9uTm9kZSxcbiAgW1NUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogU3RhdGVtZW50U3Vic3RpdHV0aW9uTm9kZSxcbiAgW1JFRkVSRU5DRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FXTogUmVmZXJlbmNlU3Vic3RpdHV0aW9uTm9kZSxcbiAgW0NPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FXTogY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSxcbiAgW1NJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRV06IFNpbXBsZVR5cGVEZWNsYXJhdGlvbk5vZGUsXG4gIFtDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSxcbiAgW0NPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBjb21wbGV4VHlwZURlY2xhcmF0aW9uTm9kZSxcbiAgW01FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUVdOiBtZXRhdmFyaWFibGVEZWNsYXJhdGlvbk5vZGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IG5vblRlcm1pbmFsTm9kZU1hcDtcbiJdLCJuYW1lcyI6WyJub25UZXJtaW5hbE5vZGVNYXAiLCJSVUxFX1JVTEVfTkFNRSIsIlJ1bGVOb2RlIiwiU1RFUF9SVUxFX05BTUUiLCJTdGVwTm9kZSIsIlRFUk1fUlVMRV9OQU1FIiwiVGVybU5vZGUiLCJUWVBFX1JVTEVfTkFNRSIsIlR5cGVOb2RlIiwiVFlQRVNfUlVMRV9OQU1FIiwiVHlwZXNOb2RlIiwiRVJST1JfUlVMRV9OQU1FIiwiRXJyb3JOb2RlIiwiRlJBTUVfUlVMRV9OQU1FIiwiRnJhbWVOb2RlIiwiTEVNTUFfUlVMRV9OQU1FIiwiTGVtbWFOb2RlIiwiQVhJT01fUlVMRV9OQU1FIiwiQXhpb21Ob2RlIiwiUFJPT0ZfUlVMRV9OQU1FIiwiUHJvb2ZOb2RlIiwiTEFCRUxfUlVMRV9OQU1FIiwiTGFiZWxOb2RlIiwiTEFCRUxTX1JVTEVfTkFNRSIsIkxhYmVsc05vZGUiLCJUSEVPUkVNX1JVTEVfTkFNRSIsIlRoZW9yZW1Ob2RlIiwiUFJFTUlTRV9SVUxFX05BTUUiLCJQcmVtaXNlTm9kZSIsIkFSR1VNRU5UX1JVTEVfTkFNRSIsIkFyZ3VtZW50Tm9kZSIsIlBST1BFUlRZX1JVTEVfTkFNRSIsIlByb3BlcnR5Tm9kZSIsIlNVQlBST09GX1JVTEVfTkFNRSIsIlN1YnByb29mTm9kZSIsIkVRVUFMSVRZX1JVTEVfTkFNRSIsIkVxdWFsaXR5Tm9kZSIsIlZBUklBQkxFX1JVTEVfTkFNRSIsIlZhcmlhYmxlTm9kZSIsIk5PTlNFTlNFX1JVTEVfTkFNRSIsIk5vbnNlbnNlTm9kZSIsIk1FVEFfVFlQRV9SVUxFX05BTUUiLCJNZXRhVHlwZU5vZGUiLCJTSUdOQVRVUkVfUlVMRV9OQU1FIiwiU2lnbmF0dXJlTm9kZSIsIlJFRkVSRU5DRV9SVUxFX05BTUUiLCJSZWZlcmVuY2VOb2RlIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkp1ZGdlbWVudE5vZGUiLCJERURVQ1RJT05fUlVMRV9OQU1FIiwiRGVkdWN0aW9uTm9kZSIsIlBBUkFNRVRFUl9SVUxFX05BTUUiLCJQYXJhbWV0ZXJOb2RlIiwiU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlN0YXRlbWVudE5vZGUiLCJNRVRBX0xFTU1BX1JVTEVfTkFNRSIsIk1ldGFMZW1tYU5vZGUiLCJDT01CSU5BVE9SX1JVTEVfTkFNRSIsIkNvbWJpbmF0b3JOb2RlIiwiQ09OQ0xVU0lPTl9SVUxFX05BTUUiLCJDb25jbHVzaW9uTm9kZSIsIkNPTkpFQ1RVUkVfUlVMRV9OQU1FIiwiQ29uamVjdHVyZU5vZGUiLCJERVJJVkFUSU9OX1JVTEVfTkFNRSIsIkRlcml2YXRpb25Ob2RlIiwiU1VQUE9TSVRJT05fUlVMRV9OQU1FIiwiU3VwcG9zaXRpb25Ob2RlIiwiQ09OU1RSVUNUT1JfUlVMRV9OQU1FIiwiQ29uc3RydWN0b3JOb2RlIiwiREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiRGVjbGFyYXRpb25Ob2RlIiwiTUVUQVRIRU9SRU1fUlVMRV9OQU1FIiwiTWV0YXRoZW9yZW1Ob2RlIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIk1ldGF2YXJpYWJsZU5vZGUiLCJNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSIsIk1ldGFBcmd1bWVudE5vZGUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUeXBlQXNzZXJ0aW9uTm9kZSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlByb2NlZHVyZUNhbGxOb2RlIiwiU1VCX0RFUklWQVRJT05fUlVMRV9OQU1FIiwiU3ViRGVyaXZhdGlvbk5vZGUiLCJQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUiLCJQcm9wZXJ0eVJlbGF0aW9uTm9kZSIsIkRFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRlZmluZWRBc3NlcnRpb25Ob2RlIiwiVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiVGVybVN1YnN0aXR1dGlvbk5vZGUiLCJTVUJQUk9PRl9BU1NFUlRJT05fUlVMRV9OQU1FIiwiU3VicHJvb2ZBc3NlcnRpb25Ob2RlIiwiUFJPUEVSVFlfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlByb3BlcnR5QXNzZXJ0aW9uTm9kZSIsIkZSQU1FX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJGcmFtZVN1YnN0aXR1dGlvbk5vZGUiLCJQQVJFTlRIRVNJU0VEX0xBQkVMX1JVTEVfTkFNRSIsIlBhcmVudGhlc2lzZWRMYWJlbE5vZGUiLCJTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlNhdGlzZmllc0Fzc2VydGlvbk5vZGUiLCJDT05UQUlORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkNvbnRhaW5lZEFzc2VydGlvbk5vZGUiLCJQQVJFTlRIRVNJU0VEX0xBQkVMU19SVUxFX05BTUUiLCJQYXJlbnRoZXNpc2VkTGFiZWxzTm9kZSIsIlZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwiUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiUHJvcGVydHlEZWNsYXJhdGlvbk5vZGUiLCJTVEFURU1FTlRfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSIsIlN0YXRlbWVudFN1YnN0aXR1dGlvbk5vZGUiLCJSRUZFUkVOQ0VfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSIsIlJlZmVyZW5jZVN1YnN0aXR1dGlvbk5vZGUiLCJDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsImNvbWJpbmF0b3JEZWNsYXJhdGlvbk5vZGUiLCJTSU1QTEVfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJTaW1wbGVUeXBlRGVjbGFyYXRpb25Ob2RlIiwiQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUiLCJDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiY29tcGxleFR5cGVEZWNsYXJhdGlvbk5vZGUiLCJNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyTEE7OztlQUFBOzs7MkRBekxxQjsyREFDQTsyREFDQTsyREFDQTs0REFDQzs0REFDQTs0REFDQTs0REFDQTs0REFDQTs0REFDQTs0REFDQTs2REFDQzs4REFDQzs4REFDQTsrREFDQzsrREFDQTsrREFDQTsrREFDQTsrREFDQTsrREFDQTsrREFDQTtnRUFDQztnRUFDQTtnRUFDQTtnRUFDQTtnRUFDQTtnRUFDQTtnRUFDQTtpRUFDQztpRUFDQTtpRUFDQTtpRUFDQTtrRUFDQztrRUFDQTtrRUFDQTtrRUFDQTttRUFDQzttRUFDQTtvRUFDQztvRUFDQTs0REFDQTtpRUFDUTt1RUFDTDs4REFDQTs0REFDQTtnRUFDQztnRUFDQTs2REFDQTt5RUFDQztnRUFDQTtnRUFDQTswRUFDQztnRUFDQTtnRUFDQTtpRUFDRTtpRUFDQTtrRUFDQTtrRUFDQzttRUFDQTtvRUFDQzt5QkE2RFc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFeEI7QUFBM0IsSUFBTUEsc0JBQXFCLFdBQ3pCLGlCQUR5QixNQUN4QkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFGeUIsTUFFeEJDLHlCQUFjLEVBQUdDLGFBQVEsR0FDMUIsaUJBSHlCLE1BR3hCQyx5QkFBYyxFQUFHQyxhQUFRLEdBQzFCLGlCQUp5QixNQUl4QkMseUJBQWMsRUFBR0MsYUFBUSxHQUMxQixpQkFMeUIsTUFLeEJDLDBCQUFlLEVBQUdDLGNBQVMsR0FDNUIsaUJBTnlCLE1BTXhCQywwQkFBZSxFQUFHQyxjQUFTLEdBQzVCLGlCQVB5QixNQU94QkMsMEJBQWUsRUFBR0MsY0FBUyxHQUM1QixpQkFSeUIsTUFReEJDLDBCQUFl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
package/lib/ruleNames.js CHANGED
@@ -141,6 +141,9 @@ _export(exports, {
141
141
  get SIGNATURE_RULE_NAME () {
142
142
  return SIGNATURE_RULE_NAME;
143
143
  },
144
+ get SIMPLE_TYPE_DECLARATION_RULE_NAME () {
145
+ return SIMPLE_TYPE_DECLARATION_RULE_NAME;
146
+ },
144
147
  get STATEMENT_RULE_NAME () {
145
148
  return STATEMENT_RULE_NAME;
146
149
  },
@@ -177,9 +180,6 @@ _export(exports, {
177
180
  get TYPE_ASSERTION_RULE_NAME () {
178
181
  return TYPE_ASSERTION_RULE_NAME;
179
182
  },
180
- get TYPE_DECLARATION_RULE_NAME () {
181
- return TYPE_DECLARATION_RULE_NAME;
182
- },
183
183
  get TYPE_RULE_NAME () {
184
184
  return TYPE_RULE_NAME;
185
185
  },
@@ -231,7 +231,6 @@ var META_ARGUMENT_RULE_NAME = "metaArgument";
231
231
  var PROCEDURE_CALL_RULE_NAME = "procedureCall";
232
232
  var SUB_DERIVATION_RULE_NAME = "subDerivation";
233
233
  var TYPE_ASSERTION_RULE_NAME = "typeAssertion";
234
- var TYPE_DECLARATION_RULE_NAME = "typeDeclaration";
235
234
  var PROPERTY_RELATION_RULE_NAME = "propertyRelation";
236
235
  var DEFINED_ASSERTION_RULE_NAME = "definedAssertion";
237
236
  var TERM_SUBSTITUTION_RULE_NAME = "termSubstitution";
@@ -247,8 +246,9 @@ var VARIABLE_DECLARATION_RULE_NAME = "variableDeclaration";
247
246
  var STATEMENT_SUBSTITUTION_RULE_NAME = "statementSubstitution";
248
247
  var REFERENCE_SUBSTITUTION_RULE_NAME = "referenceSubstitution";
249
248
  var COMBINATOR_DECLARATION_RULE_NAME = "combinatorDeclaration";
249
+ var SIMPLE_TYPE_DECLARATION_RULE_NAME = "simpleTypeDeclaration";
250
250
  var CONSTRUCTOR_DECLARATION_RULE_NAME = "constructorDeclaration";
251
251
  var COMPLEX_TYPE_DECLARATION_RULE_NAME = "complexTypeDeclaration";
252
252
  var METAVARIABLE_DECLARATION_RULE_NAME = "metavariableDeclaration";
253
253
 
254
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBSVUxFX1JVTEVfTkFNRSA9IFwicnVsZVwiO1xuZXhwb3J0IGNvbnN0IFNURVBfUlVMRV9OQU1FID0gXCJzdGVwXCI7XG5leHBvcnQgY29uc3QgVEVSTV9SVUxFX05BTUUgPSBcInRlcm1cIjtcbmV4cG9ydCBjb25zdCBUWVBFX1JVTEVfTkFNRSA9IFwidHlwZVwiO1xuZXhwb3J0IGNvbnN0IFRZUEVTX1JVTEVfTkFNRSA9IFwidHlwZXNcIjtcbmV4cG9ydCBjb25zdCBMRU1NQV9SVUxFX05BTUUgPSBcImxlbW1hXCI7XG5leHBvcnQgY29uc3QgQVhJT01fUlVMRV9OQU1FID0gXCJheGlvbVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1JVTEVfTkFNRSA9IFwiZXJyb3JcIjtcbmV4cG9ydCBjb25zdCBGUkFNRV9SVUxFX05BTUUgPSBcImZyYW1lXCI7XG5leHBvcnQgY29uc3QgUFJPT0ZfUlVMRV9OQU1FID0gXCJwcm9vZlwiO1xuZXhwb3J0IGNvbnN0IExBQkVMX1JVTEVfTkFNRSA9IFwibGFiZWxcIjtcbmV4cG9ydCBjb25zdCBMQUJFTFNfUlVMRV9OQU1FID0gXCJsYWJlbHNcIjtcbmV4cG9ydCBjb25zdCBUSEVPUkVNX1JVTEVfTkFNRSA9IFwidGhlb3JlbVwiO1xuZXhwb3J0IGNvbnN0IFBSRU1JU0VfUlVMRV9OQU1FID0gXCJwcmVtaXNlXCI7XG5leHBvcnQgY29uc3QgQVJHVU1FTlRfUlVMRV9OQU1FID0gXCJhcmd1bWVudFwiO1xuZXhwb3J0IGNvbnN0IFBST1BFUlRZX1JVTEVfTkFNRSA9IFwicHJvcGVydHlcIjtcbmV4cG9ydCBjb25zdCBFUVVBTElUWV9SVUxFX05BTUUgPSBcImVxdWFsaXR5XCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfUlVMRV9OQU1FID0gXCJ2YXJpYWJsZVwiO1xuZXhwb3J0IGNvbnN0IFNVQlBST09GX1JVTEVfTkFNRSA9IFwic3VicHJvb2ZcIjtcbmV4cG9ydCBjb25zdCBOT05TRU5TRV9SVUxFX05BTUUgPSBcIm5vbnNlbnNlXCI7XG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX1JVTEVfTkFNRSA9IFwic2lnbmF0dXJlXCI7XG5leHBvcnQgY29uc3QgTUVUQV9UWVBFX1JVTEVfTkFNRSA9IFwibWV0YVR5cGVcIjtcbmV4cG9ydCBjb25zdCBQQVJBTUVURVJfUlVMRV9OQU1FID0gXCJwYXJhbWV0ZXJcIjtcbmV4cG9ydCBjb25zdCBERURVQ1RJT05fUlVMRV9OQU1FID0gXCJkZWR1Y3Rpb25cIjtcbmV4cG9ydCBjb25zdCBKVURHRU1FTlRfUlVMRV9OQU1FID0gXCJqdWRnZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBSRUZFUkVOQ0VfUlVMRV9OQU1FID0gXCJyZWZlcmVuY2VcIjtcbmV4cG9ydCBjb25zdCBTVEFURU1FTlRfUlVMRV9OQU1FID0gXCJzdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBNRVRBX0xFTU1BX1JVTEVfTkFNRSA9IFwibWV0YUxlbW1hXCI7XG5leHBvcnQgY29uc3QgQ09NQklOQVRPUl9SVUxFX05BTUUgPSBcImNvbWJpbmF0b3JcIjtcbmV4cG9ydCBjb25zdCBDT05DTFVTSU9OX1JVTEVfTkFNRSA9IFwiY29uY2x1c2lvblwiO1xuZXhwb3J0IGNvbnN0IENPTkpFQ1RVUkVfUlVMRV9OQU1FID0gXCJjb25qZWN0dXJlXCI7XG5leHBvcnQgY29uc3QgREVSSVZBVElPTl9SVUxFX05BTUUgPSBcImRlcml2YXRpb25cIjtcbmV4cG9ydCBjb25zdCBTVVBQT1NJVElPTl9SVUxFX05BTUUgPSBcInN1cHBvc2l0aW9uXCI7XG5leHBvcnQgY29uc3QgQ09OU1RSVUNUT1JfUlVMRV9OQU1FID0gXCJjb25zdHJ1Y3RvclwiO1xuZXhwb3J0IGNvbnN0IERFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwiZGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBNRVRBVEhFT1JFTV9SVUxFX05BTUUgPSBcIm1ldGF0aGVvcmVtXCI7XG5leHBvcnQgY29uc3QgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSA9IFwibWV0YXZhcmlhYmxlXCI7XG5leHBvcnQgY29uc3QgTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUgPSBcIm1ldGFBcmd1bWVudFwiO1xuZXhwb3J0IGNvbnN0IFBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSA9IFwicHJvY2VkdXJlQ2FsbFwiO1xuZXhwb3J0IGNvbnN0IFNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSA9IFwic3ViRGVyaXZhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwidHlwZUFzc2VydGlvblwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJ0eXBlRGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUgPSBcInByb3BlcnR5UmVsYXRpb25cIjtcbmV4cG9ydCBjb25zdCBERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUgPSBcImRlZmluZWRBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBURVJNX1NVQlNUSVRVVElPTl9SVUxFX05BTUUgPSBcInRlcm1TdWJzdGl0dXRpb25cIjtcbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJwcm9wZXJ0eUFzc2VydGlvblwiO1xuZXhwb3J0IGNvbnN0IFNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUgPSBcInN1YnByb29mQXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgRlJBTUVfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSA9IFwiZnJhbWVTdWJzdGl0dXRpb25cIjtcbmV4cG9ydCBjb25zdCBDT05UQUlORURfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwiY29udGFpbmVkQXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgU0FUSVNGSUVTX0FTU0VSVElPTl9SVUxFX05BTUUgPSBcInNhdGlzZmllc0Fzc2VydGlvblwiO1xuZXhwb3J0IGNvbnN0IFBBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FID0gXCJwYXJlbnRoZXNpc2VkTGFiZWxcIjtcbmV4cG9ydCBjb25zdCBQQVJFTlRIRVNJU0VEX0xBQkVMU19SVUxFX05BTUUgPSBcInBhcmVudGhlc2lzZWRMYWJlbHNcIjtcbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcInByb3BlcnR5RGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcInZhcmlhYmxlRGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBTVEFURU1FTlRfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSA9IFwic3RhdGVtZW50U3Vic3RpdHV0aW9uXCI7XG5leHBvcnQgY29uc3QgUkVGRVJFTkNFX1NVQlNUSVRVVElPTl9SVUxFX05BTUUgPSBcInJlZmVyZW5jZVN1YnN0aXR1dGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTUJJTkFUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJjb21iaW5hdG9yRGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcImNvbnN0cnVjdG9yRGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBDT01QTEVYX1RZUEVfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJjb21wbGV4VHlwZURlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgTUVUQVZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwibWV0YXZhcmlhYmxlRGVjbGFyYXRpb25cIjtcbiJdLCJuYW1lcyI6WyJBUkdVTUVOVF9SVUxFX05BTUUiLCJBWElPTV9SVUxFX05BTUUiLCJDT01CSU5BVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkNPTUJJTkFUT1JfUlVMRV9OQU1FIiwiQ09NUExFWF9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkNPTkNMVVNJT05fUlVMRV9OQU1FIiwiQ09OSkVDVFVSRV9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9SVUxFX05BTUUiLCJDT05UQUlORURfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIkRFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIkRFRFVDVElPTl9SVUxFX05BTUUiLCJERUZJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJERVJJVkFUSU9OX1JVTEVfTkFNRSIsIkVRVUFMSVRZX1JVTEVfTkFNRSIsIkVSUk9SX1JVTEVfTkFNRSIsIkZSQU1FX1JVTEVfTkFNRSIsIkZSQU1FX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJKVURHRU1FTlRfUlVMRV9OQU1FIiwiTEFCRUxTX1JVTEVfTkFNRSIsIkxBQkVMX1JVTEVfTkFNRSIsIkxFTU1BX1JVTEVfTkFNRSIsIk1FVEFUSEVPUkVNX1JVTEVfTkFNRSIsIk1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwiTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUiLCJNRVRBX0xFTU1BX1JVTEVfTkFNRSIsIk1FVEFfVFlQRV9SVUxFX05BTUUiLCJOT05TRU5TRV9SVUxFX05BTUUiLCJQQVJBTUVURVJfUlVMRV9OQU1FIiwiUEFSRU5USEVTSVNFRF9MQUJFTFNfUlVMRV9OQU1FIiwiUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUiLCJQUkVNSVNFX1JVTEVfTkFNRSIsIlBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSIsIlBST09GX1JVTEVfTkFNRSIsIlBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUiLCJQUk9QRVJUWV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJQUk9QRVJUWV9SRUxBVElPTl9SVUxFX05BTUUiLCJQUk9QRVJUWV9SVUxFX05BTUUiLCJSRUZFUkVOQ0VfUlVMRV9OQU1FIiwiUkVGRVJFTkNFX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJSVUxFX1JVTEVfTkFNRSIsIlNBVElTRklFU19BU1NFUlRJT05fUlVMRV9OQU1FIiwiU0lHTkFUVVJFX1JVTEVfTkFNRSIsIlNUQVRFTUVOVF9SVUxFX05BTUUiLCJTVEFURU1FTlRfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSIsIlNURVBfUlVMRV9OQU1FIiwiU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlNVQlBST09GX1JVTEVfTkFNRSIsIlNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSIsIlNVUFBPU0lUSU9OX1JVTEVfTkFNRSIsIlRFUk1fUlVMRV9OQU1FIiwiVEVSTV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiVEhFT1JFTV9SVUxFX05BTUUiLCJUWVBFU19SVUxFX05BTUUiLCJUWVBFX0FTU0VSVElPTl9SVUxFX05BTUUiLCJUWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlRZUEVfUlVMRV9OQU1FIiwiVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiVkFSSUFCTEVfUlVMRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFnQmFBO2VBQUFBOztRQVJBQztlQUFBQTs7UUFrREFDO2VBQUFBOztRQTVCQUM7ZUFBQUE7O1FBOEJBQztlQUFBQTs7UUE3QkFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUEyQkFDO2VBQUFBOztRQXhCQUM7ZUFBQUE7O1FBZUFDO2VBQUFBOztRQWRBQztlQUFBQTs7UUFYQUM7ZUFBQUE7O1FBb0JBQztlQUFBQTs7UUFaQUM7ZUFBQUE7O1FBZkFDO2VBQUFBOztRQVRBQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBdUNBQztlQUFBQTs7UUF2QkFDO2VBQUFBOztRQWJBQztlQUFBQTs7UUFEQUM7ZUFBQUE7O1FBTEFDO2VBQUFBOztRQThCQUM7ZUFBQUE7O1FBd0JBQztlQUFBQTs7UUF2QkFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUFWQUM7ZUFBQUE7O1FBTkFDO2VBQUFBOztRQUZBQztlQUFB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
254
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBSVUxFX1JVTEVfTkFNRSA9IFwicnVsZVwiO1xuZXhwb3J0IGNvbnN0IFNURVBfUlVMRV9OQU1FID0gXCJzdGVwXCI7XG5leHBvcnQgY29uc3QgVEVSTV9SVUxFX05BTUUgPSBcInRlcm1cIjtcbmV4cG9ydCBjb25zdCBUWVBFX1JVTEVfTkFNRSA9IFwidHlwZVwiO1xuZXhwb3J0IGNvbnN0IFRZUEVTX1JVTEVfTkFNRSA9IFwidHlwZXNcIjtcbmV4cG9ydCBjb25zdCBMRU1NQV9SVUxFX05BTUUgPSBcImxlbW1hXCI7XG5leHBvcnQgY29uc3QgQVhJT01fUlVMRV9OQU1FID0gXCJheGlvbVwiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX1JVTEVfTkFNRSA9IFwiZXJyb3JcIjtcbmV4cG9ydCBjb25zdCBGUkFNRV9SVUxFX05BTUUgPSBcImZyYW1lXCI7XG5leHBvcnQgY29uc3QgUFJPT0ZfUlVMRV9OQU1FID0gXCJwcm9vZlwiO1xuZXhwb3J0IGNvbnN0IExBQkVMX1JVTEVfTkFNRSA9IFwibGFiZWxcIjtcbmV4cG9ydCBjb25zdCBMQUJFTFNfUlVMRV9OQU1FID0gXCJsYWJlbHNcIjtcbmV4cG9ydCBjb25zdCBUSEVPUkVNX1JVTEVfTkFNRSA9IFwidGhlb3JlbVwiO1xuZXhwb3J0IGNvbnN0IFBSRU1JU0VfUlVMRV9OQU1FID0gXCJwcmVtaXNlXCI7XG5leHBvcnQgY29uc3QgQVJHVU1FTlRfUlVMRV9OQU1FID0gXCJhcmd1bWVudFwiO1xuZXhwb3J0IGNvbnN0IFBST1BFUlRZX1JVTEVfTkFNRSA9IFwicHJvcGVydHlcIjtcbmV4cG9ydCBjb25zdCBFUVVBTElUWV9SVUxFX05BTUUgPSBcImVxdWFsaXR5XCI7XG5leHBvcnQgY29uc3QgVkFSSUFCTEVfUlVMRV9OQU1FID0gXCJ2YXJpYWJsZVwiO1xuZXhwb3J0IGNvbnN0IFNVQlBST09GX1JVTEVfTkFNRSA9IFwic3VicHJvb2ZcIjtcbmV4cG9ydCBjb25zdCBOT05TRU5TRV9SVUxFX05BTUUgPSBcIm5vbnNlbnNlXCI7XG5leHBvcnQgY29uc3QgU0lHTkFUVVJFX1JVTEVfTkFNRSA9IFwic2lnbmF0dXJlXCI7XG5leHBvcnQgY29uc3QgTUVUQV9UWVBFX1JVTEVfTkFNRSA9IFwibWV0YVR5cGVcIjtcbmV4cG9ydCBjb25zdCBQQVJBTUVURVJfUlVMRV9OQU1FID0gXCJwYXJhbWV0ZXJcIjtcbmV4cG9ydCBjb25zdCBERURVQ1RJT05fUlVMRV9OQU1FID0gXCJkZWR1Y3Rpb25cIjtcbmV4cG9ydCBjb25zdCBKVURHRU1FTlRfUlVMRV9OQU1FID0gXCJqdWRnZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBSRUZFUkVOQ0VfUlVMRV9OQU1FID0gXCJyZWZlcmVuY2VcIjtcbmV4cG9ydCBjb25zdCBTVEFURU1FTlRfUlVMRV9OQU1FID0gXCJzdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBNRVRBX0xFTU1BX1JVTEVfTkFNRSA9IFwibWV0YUxlbW1hXCI7XG5leHBvcnQgY29uc3QgQ09NQklOQVRPUl9SVUxFX05BTUUgPSBcImNvbWJpbmF0b3JcIjtcbmV4cG9ydCBjb25zdCBDT05DTFVTSU9OX1JVTEVfTkFNRSA9IFwiY29uY2x1c2lvblwiO1xuZXhwb3J0IGNvbnN0IENPTkpFQ1RVUkVfUlVMRV9OQU1FID0gXCJjb25qZWN0dXJlXCI7XG5leHBvcnQgY29uc3QgREVSSVZBVElPTl9SVUxFX05BTUUgPSBcImRlcml2YXRpb25cIjtcbmV4cG9ydCBjb25zdCBTVVBQT1NJVElPTl9SVUxFX05BTUUgPSBcInN1cHBvc2l0aW9uXCI7XG5leHBvcnQgY29uc3QgQ09OU1RSVUNUT1JfUlVMRV9OQU1FID0gXCJjb25zdHJ1Y3RvclwiO1xuZXhwb3J0IGNvbnN0IERFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwiZGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBNRVRBVEhFT1JFTV9SVUxFX05BTUUgPSBcIm1ldGF0aGVvcmVtXCI7XG5leHBvcnQgY29uc3QgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSA9IFwibWV0YXZhcmlhYmxlXCI7XG5leHBvcnQgY29uc3QgTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUgPSBcIm1ldGFBcmd1bWVudFwiO1xuZXhwb3J0IGNvbnN0IFBST0NFRFVSRV9DQUxMX1JVTEVfTkFNRSA9IFwicHJvY2VkdXJlQ2FsbFwiO1xuZXhwb3J0IGNvbnN0IFNVQl9ERVJJVkFUSU9OX1JVTEVfTkFNRSA9IFwic3ViRGVyaXZhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwidHlwZUFzc2VydGlvblwiO1xuZXhwb3J0IGNvbnN0IFBST1BFUlRZX1JFTEFUSU9OX1JVTEVfTkFNRSA9IFwicHJvcGVydHlSZWxhdGlvblwiO1xuZXhwb3J0IGNvbnN0IERFRklORURfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwiZGVmaW5lZEFzc2VydGlvblwiO1xuZXhwb3J0IGNvbnN0IFRFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSA9IFwidGVybVN1YnN0aXR1dGlvblwiO1xuZXhwb3J0IGNvbnN0IFBST1BFUlRZX0FTU0VSVElPTl9SVUxFX05BTUUgPSBcInByb3BlcnR5QXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgU1VCUFJPT0ZfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwic3VicHJvb2ZBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FID0gXCJmcmFtZVN1YnN0aXR1dGlvblwiO1xuZXhwb3J0IGNvbnN0IENPTlRBSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FID0gXCJjb250YWluZWRBc3NlcnRpb25cIjtcbmV4cG9ydCBjb25zdCBTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSA9IFwic2F0aXNmaWVzQXNzZXJ0aW9uXCI7XG5leHBvcnQgY29uc3QgUEFSRU5USEVTSVNFRF9MQUJFTF9SVUxFX05BTUUgPSBcInBhcmVudGhlc2lzZWRMYWJlbFwiO1xuZXhwb3J0IGNvbnN0IFBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSA9IFwicGFyZW50aGVzaXNlZExhYmVsc1wiO1xuZXhwb3J0IGNvbnN0IFBST1BFUlRZX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwicHJvcGVydHlEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwidmFyaWFibGVEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFNUQVRFTUVOVF9TVUJTVElUVVRJT05fUlVMRV9OQU1FID0gXCJzdGF0ZW1lbnRTdWJzdGl0dXRpb25cIjtcbmV4cG9ydCBjb25zdCBSRUZFUkVOQ0VfU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSA9IFwicmVmZXJlbmNlU3Vic3RpdHV0aW9uXCI7XG5leHBvcnQgY29uc3QgQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcImNvbWJpbmF0b3JEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFNJTVBMRV9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwic2ltcGxlVHlwZURlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FID0gXCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uXCI7XG5leHBvcnQgY29uc3QgQ09NUExFWF9UWVBFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwiY29tcGxleFR5cGVEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IE1FVEFWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcIm1ldGF2YXJpYWJsZURlY2xhcmF0aW9uXCI7XG4iXSwibmFtZXMiOlsiQVJHVU1FTlRfUlVMRV9OQU1FIiwiQVhJT01fUlVMRV9OQU1FIiwiQ09NQklOQVRPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDT01CSU5BVE9SX1JVTEVfTkFNRSIsIkNPTVBMRVhfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJDT05DTFVTSU9OX1JVTEVfTkFNRSIsIkNPTkpFQ1RVUkVfUlVMRV9OQU1FIiwiQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiQ09OU1RSVUNUT1JfUlVMRV9OQU1FIiwiQ09OVEFJTkVEX0FTU0VSVElPTl9SVUxFX05BTUUiLCJERUNMQVJBVElPTl9SVUxFX05BTUUiLCJERURVQ1RJT05fUlVMRV9OQU1FIiwiREVGSU5FRF9BU1NFUlRJT05fUlVMRV9OQU1FIiwiREVSSVZBVElPTl9SVUxFX05BTUUiLCJFUVVBTElUWV9SVUxFX05BTUUiLCJFUlJPUl9SVUxFX05BTUUiLCJGUkFNRV9SVUxFX05BTUUiLCJGUkFNRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiSlVER0VNRU5UX1JVTEVfTkFNRSIsIkxBQkVMU19SVUxFX05BTUUiLCJMQUJFTF9SVUxFX05BTUUiLCJMRU1NQV9SVUxFX05BTUUiLCJNRVRBVEhFT1JFTV9SVUxFX05BTUUiLCJNRVRBVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIk1FVEFfQVJHVU1FTlRfUlVMRV9OQU1FIiwiTUVUQV9MRU1NQV9SVUxFX05BTUUiLCJNRVRBX1RZUEVfUlVMRV9OQU1FIiwiTk9OU0VOU0VfUlVMRV9OQU1FIiwiUEFSQU1FVEVSX1JVTEVfTkFNRSIsIlBBUkVOVEhFU0lTRURfTEFCRUxTX1JVTEVfTkFNRSIsIlBBUkVOVEhFU0lTRURfTEFCRUxfUlVMRV9OQU1FIiwiUFJFTUlTRV9SVUxFX05BTUUiLCJQUk9DRURVUkVfQ0FMTF9SVUxFX05BTUUiLCJQUk9PRl9SVUxFX05BTUUiLCJQUk9QRVJUWV9BU1NFUlRJT05fUlVMRV9OQU1FIiwiUFJPUEVSVFlfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiUFJPUEVSVFlfUkVMQVRJT05fUlVMRV9OQU1FIiwiUFJPUEVSVFlfUlVMRV9OQU1FIiwiUkVGRVJFTkNFX1JVTEVfTkFNRSIsIlJFRkVSRU5DRV9TVUJTVElUVVRJT05fUlVMRV9OQU1FIiwiUlVMRV9SVUxFX05BTUUiLCJTQVRJU0ZJRVNfQVNTRVJUSU9OX1JVTEVfTkFNRSIsIlNJR05BVFVSRV9SVUxFX05BTUUiLCJTSU1QTEVfVFlQRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwiU1RBVEVNRU5UX1NVQlNUSVRVVElPTl9SVUxFX05BTUUiLCJTVEVQX1JVTEVfTkFNRSIsIlNVQlBST09GX0FTU0VSVElPTl9SVUxFX05BTUUiLCJTVUJQUk9PRl9SVUxFX05BTUUiLCJTVUJfREVSSVZBVElPTl9SVUxFX05BTUUiLCJTVVBQT1NJVElPTl9SVUxFX05BTUUiLCJURVJNX1JVTEVfTkFNRSIsIlRFUk1fU1VCU1RJVFVUSU9OX1JVTEVfTkFNRSIsIlRIRU9SRU1fUlVMRV9OQU1FIiwiVFlQRVNfUlVMRV9OQU1FIiwiVFlQRV9BU1NFUlRJT05fUlVMRV9OQU1FIiwiVFlQRV9SVUxFX05BTUUiLCJWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJWQVJJQUJMRV9SVUxFX05BTUUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWdCYUE7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQWlEQUM7ZUFBQUE7O1FBM0JBQztlQUFBQTs7UUE4QkFDO2VBQUFBOztRQTdCQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQTJCQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFjQUM7ZUFBQUE7O1FBYkFDO2VBQUFBOztRQVhBQztlQUFBQTs7UUFtQkFDO2VBQUFBOztRQVhBQztlQUFBQTs7UUFmQUM7ZUFBQUE7O1FBVEFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUFzQ0FDO2VBQUFBOztRQXRCQUM7ZUFBQUE7O1FBYkFDO2VBQUFBOztRQURBQztlQUFBQTs7UUFMQUM7ZUFBQUE7O1FBOEJBQztlQUFBQTs7UUF3QkFDO2VBQUFBOztRQXZCQUM7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQVZBQztlQUFBQTs7UUFO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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-verify-cli",
3
3
  "author": "James Smith",
4
- "version": "1.0.224",
4
+ "version": "1.0.226",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-verify-cli",
7
7
  "description": "Occam's Verifier",
@@ -12,11 +12,11 @@
12
12
  "dependencies": {
13
13
  "argumentative": "^2.0.32",
14
14
  "necessary": "^14.3.2",
15
- "occam-custom-grammars": "^5.0.1220",
16
- "occam-entities": "^1.0.364",
17
- "occam-file-system": "^6.0.382",
18
- "occam-furtle": "^2.0.171",
19
- "occam-grammars": "^1.3.293",
15
+ "occam-custom-grammars": "^5.0.1221",
16
+ "occam-entities": "^1.0.365",
17
+ "occam-file-system": "^6.0.383",
18
+ "occam-furtle": "^2.0.172",
19
+ "occam-grammars": "^1.3.295",
20
20
  "occam-lexers": "^23.0.47",
21
21
  "occam-parsers": "^23.0.160",
22
22
  "occam-query": "^4.1.106"
@@ -258,6 +258,13 @@ export default domAssigned(class ComplexTypeDeclaration {
258
258
  }
259
259
 
260
260
  if (propertyVerifies) {
261
+ const typeName = this.type.getName(),
262
+ typeNameMatches = property.matchTypeName(typeName);
263
+
264
+ if (typeNameMatches) {
265
+ property.setType(this.type);
266
+ }
267
+
261
268
  this.fileContext.debug(`verifies the '${propertyString}' property.`);
262
269
  }
263
270
 
@@ -28,6 +28,8 @@ export default domAssigned(class Property {
28
28
  this.type = type;
29
29
  }
30
30
 
31
+ matchTypeName(typeName) { return this.type.matchTypeName(typeName); }
32
+
31
33
  matchPropertyName(propertyName) {
32
34
  const propertyNameMatches = (this.name === propertyName);
33
35
 
package/src/dom/type.js CHANGED
@@ -104,6 +104,24 @@ class Type {
104
104
  return basic;
105
105
  }
106
106
 
107
+ isRefined() {
108
+ let refined = false;
109
+
110
+ const superTypesLength = this.superTypes.length;
111
+
112
+ if (superTypesLength === 1) {
113
+ const firstSuperType = first(this.superTypes),
114
+ superType = firstSuperType, ///
115
+ superTypeName = superType.getName();
116
+
117
+ if (superTypeName === this.name) {
118
+ refined = true;
119
+ }
120
+ }
121
+
122
+ return refined;
123
+ }
124
+
107
125
  isEqualTo(type) {
108
126
  const equalTo = (this === type);
109
127
 
@@ -5,7 +5,7 @@ import NonTerminalNode from "../../node/nonTerminal";
5
5
  import { PROVISIONAL } from "../../constants";
6
6
  import { TYPE_RULE_NAME, TYPES_RULE_NAME } from "../../ruleNames";
7
7
 
8
- export default class TypeDeclarationNode extends NonTerminalNode {
8
+ export default class SimpleTypeDeclarationNode extends NonTerminalNode {
9
9
  isProvisional() {
10
10
  let provisional = false;
11
11
 
@@ -68,6 +68,6 @@ export default class TypeDeclarationNode extends NonTerminalNode {
68
68
  return superTypeNodes;
69
69
  }
70
70
 
71
- static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(TypeDeclarationNode, ruleName, childNodes, opacity, precedence); }
71
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(SimpleTypeDeclarationNode, ruleName, childNodes, opacity, precedence); }
72
72
  }
73
73
 
@@ -41,7 +41,7 @@ import MetavariableNode from "./node/metavariable";
41
41
  import ProcedureCallNode from "./node/procedureCall";
42
42
  import SubDerivationNode from "./node/subDerivation";
43
43
  import TypeAssertionNode from "./node/assertion/type";
44
- import typeDeclarationNode from "./node/declaration/type";
44
+ import SimpleTypeDeclarationNode from "./node/declaration/simpleType";
45
45
  import PropertyRelationNode from "./node/propertyRelation"
46
46
  import DefinedAssertionNode from "./node/assertion/defined";
47
47
  import TermSubstitutionNode from "./node/substitution/term";
@@ -102,7 +102,6 @@ import { RULE_RULE_NAME,
102
102
  SUB_DERIVATION_RULE_NAME,
103
103
  TYPE_ASSERTION_RULE_NAME,
104
104
  PROCEDURE_CALL_RULE_NAME,
105
- TYPE_DECLARATION_RULE_NAME,
106
105
  PROPERTY_RELATION_RULE_NAME,
107
106
  DEFINED_ASSERTION_RULE_NAME,
108
107
  TERM_SUBSTITUTION_RULE_NAME,
@@ -118,6 +117,7 @@ import { RULE_RULE_NAME,
118
117
  STATEMENT_SUBSTITUTION_RULE_NAME,
119
118
  REFERENCE_SUBSTITUTION_RULE_NAME,
120
119
  COMBINATOR_DECLARATION_RULE_NAME,
120
+ SIMPLE_TYPE_DECLARATION_RULE_NAME,
121
121
  CONSTRUCTOR_DECLARATION_RULE_NAME,
122
122
  COMPLEX_TYPE_DECLARATION_RULE_NAME,
123
123
  METAVARIABLE_DECLARATION_RULE_NAME } from "./ruleNames";
@@ -164,7 +164,6 @@ const nonTerminalNodeMap = {
164
164
  [TYPE_ASSERTION_RULE_NAME]: TypeAssertionNode,
165
165
  [PROCEDURE_CALL_RULE_NAME]: ProcedureCallNode,
166
166
  [SUB_DERIVATION_RULE_NAME]: SubDerivationNode,
167
- [TYPE_DECLARATION_RULE_NAME]: typeDeclarationNode,
168
167
  [PROPERTY_RELATION_RULE_NAME]: PropertyRelationNode,
169
168
  [DEFINED_ASSERTION_RULE_NAME]: DefinedAssertionNode,
170
169
  [TERM_SUBSTITUTION_RULE_NAME]: TermSubstitutionNode,
@@ -180,6 +179,7 @@ const nonTerminalNodeMap = {
180
179
  [STATEMENT_SUBSTITUTION_RULE_NAME]: StatementSubstitutionNode,
181
180
  [REFERENCE_SUBSTITUTION_RULE_NAME]: ReferenceSubstitutionNode,
182
181
  [COMBINATOR_DECLARATION_RULE_NAME]: combinatorDeclarationNode,
182
+ [SIMPLE_TYPE_DECLARATION_RULE_NAME]: SimpleTypeDeclarationNode,
183
183
  [CONSTRUCTOR_DECLARATION_RULE_NAME]: constructorDeclarationNode,
184
184
  [COMPLEX_TYPE_DECLARATION_RULE_NAME]: complexTypeDeclarationNode,
185
185
  [METAVARIABLE_DECLARATION_RULE_NAME]: metavariableDeclarationNode
package/src/ruleNames.js CHANGED
@@ -41,7 +41,6 @@ export const META_ARGUMENT_RULE_NAME = "metaArgument";
41
41
  export const PROCEDURE_CALL_RULE_NAME = "procedureCall";
42
42
  export const SUB_DERIVATION_RULE_NAME = "subDerivation";
43
43
  export const TYPE_ASSERTION_RULE_NAME = "typeAssertion";
44
- export const TYPE_DECLARATION_RULE_NAME = "typeDeclaration";
45
44
  export const PROPERTY_RELATION_RULE_NAME = "propertyRelation";
46
45
  export const DEFINED_ASSERTION_RULE_NAME = "definedAssertion";
47
46
  export const TERM_SUBSTITUTION_RULE_NAME = "termSubstitution";
@@ -57,6 +56,7 @@ export const VARIABLE_DECLARATION_RULE_NAME = "variableDeclaration";
57
56
  export const STATEMENT_SUBSTITUTION_RULE_NAME = "statementSubstitution";
58
57
  export const REFERENCE_SUBSTITUTION_RULE_NAME = "referenceSubstitution";
59
58
  export const COMBINATOR_DECLARATION_RULE_NAME = "combinatorDeclaration";
59
+ export const SIMPLE_TYPE_DECLARATION_RULE_NAME = "simpleTypeDeclaration";
60
60
  export const CONSTRUCTOR_DECLARATION_RULE_NAME = "constructorDeclaration";
61
61
  export const COMPLEX_TYPE_DECLARATION_RULE_NAME = "complexTypeDeclaration";
62
62
  export const METAVARIABLE_DECLARATION_RULE_NAME = "metavariableDeclaration";