occam-nominal 1.0.613 → 1.0.614

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.
@@ -105,7 +105,7 @@ const _default = (0, _elements.define)(class ProcedureReference extends _occamla
105
105
  const context = specificContext, procedureReferenceString = this.getString(); ///
106
106
  context.trace(`Applying the '${procedureReferenceString}' function reference independently...`);
107
107
  const procedure = this.findProcecure(context), nominalValues = this.findNominalValues(context);
108
- return procedure.callNominally(nominalValues, (value, back)=>{
108
+ return procedure.evaluateNominally(nominalValues, (value, back)=>{
109
109
  const boolean = value.isBoolean();
110
110
  if (!boolean) {
111
111
  context.info(`The '${procedureReferenceString}' function reference did not return a boolean.`);
@@ -130,7 +130,7 @@ const _default = (0, _elements.define)(class ProcedureReference extends _occamla
130
130
  const procedureName = this.getProcedureName(), procedure = context.findProcedureByProcedureName(procedureName), node = term.getNode(), nominalValue = _occamfurtle.NominalValue.fromNode(node, context), nominalValues = [
131
131
  nominalValue
132
132
  ];
133
- return procedure.callNominally(nominalValues, (value, back)=>{
133
+ return procedure.evaluateNominally(nominalValues, (value, back)=>{
134
134
  const boolean = value.isBoolean();
135
135
  if (!boolean) {
136
136
  context.info(`The '${procedureReferenceString}' function reference did not return a boolean.`);
@@ -175,4 +175,4 @@ function parametersFromProcedureReferenceNode(procedureReferenceNode, context) {
175
175
  return parameters;
176
176
  }
177
177
 
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZVJlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFZhbHVlIH0gZnJvbSBcIm9jY2FtLWZ1cnRsZVwiO1xuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzLCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZVByb2NlZHVyZVJlZmVyZW5jZSB9IGZyb20gXCIuLi9wcm9jZXNzL2luc3RhbnRpYXRlXCI7XG5cbmNvbnN0IHsgYWxsLCBldmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb2NlZHVyZVJlZmVyZW5jZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIHBhcmFtZXRlcnMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlTm9kZSA9IG5vZGU7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlTm9kZTtcbiAgfVxuXG4gIGdldFByb2NlZHVyZU5hbWUoKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMubmFtZTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVOYW1lO1xuICB9XG5cbiAgaXNVbmFyeSgpIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJzTGVuZ3RoID0gdGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCxcbiAgICAgICAgICB1bmFyeSA9IChwYXJhbWV0ZXJzTGVuZ3RoID09PSAxKTtcblxuICAgIHJldHVybiB1bmFyeTtcbiAgfVxuXG4gIGlzRXF1YWxUbyhwcm9jZWR1cmVSZWZlcmVuY2UpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlID0gcHJvY2VkdXJlUmVmZXJlbmNlLmdldE5vZGUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hQcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUpLFxuICAgICAgICAgIGVxdWFsVG8gPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBtYXRjaFByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSkge1xuICAgIGNvbnN0IG5vZGUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb2RlKG5vZGUpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgZmluZFByb2NlY3VyZShjb250ZXh0KSB7XG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBmaW5kTm9taW5hbFZhbHVlcyhjb250ZXh0KSB7XG4gICAgY29uc3QgZGVyaXZlZFN1YnN0aXR1dGlvbnMgPSBjb250ZXh0LmdldERlcml2ZWRTdWJzdGl0dXRpb25zKCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IGRlcml2ZWRTdWJzdGl0dXRpb25zLCAvLy9cbiAgICAgICAgICBub21pbmFsVmFsdWVzID0gdGhpcy5wYXJhbWV0ZXJzLm1hcCgocGFyYW1ldGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub21pbmFsVmFsdWUgPSBwYXJhbWV0ZXIuZmluZE5vbWluYWxWYWx1ZShzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5vbWluYWxWYWx1ZTtcbiAgICAgICAgICB9KTtcblxuICAgIHJldHVybiBub21pbmFsVmFsdWVzO1xuICB9XG5cbiAgZmluZFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0KSB7XG4gICAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlTm9kZSA9IHRoaXMuZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSgpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZVJlZmVyZW5jZUJ5UHJvY2VkdXJlUmVmZXJlbmNlTm9kZShwcm9jZWR1cmVSZWZlcmVuY2VOb2RlKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVSZWZlcmVuY2U7XG4gIH1cblxuICB2YWxpZGF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGxldCBwcm9jZWR1cmVSZWZlcmVuY2U7XG5cbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0aW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UuLi5gKTtcblxuICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IHRoaXMuZmluZFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0KTtcblxuICAgIGlmIChwcm9jZWR1cmVSZWZlcmVuY2UgIT09IG51bGwpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChwcm9jZWR1cmVSZWZlcmVuY2UsIGNvbnRleHQsIGJhY2spO1xuICAgIH1cblxuICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IHRoaXM7IC8vL1xuXG4gICAgY29uc3QgdmFsaWRhdGVQYXJhbWV0ZXJzID0gdGhpcy52YWxpZGF0ZVBhcmFtZXRlcnMuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiBhbGwoW1xuICAgICAgdmFsaWRhdGVQYXJhbWV0ZXJzXG4gICAgXSwgc3RhdGUsIGNvbnRleHQsIChzdGF0ZSwgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5hZGRQcm9jZWR1cmVSZWZlcmVuY2UocHJvY2VkdXJlUmVmZXJlbmNlKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHByb2NlZHVyZVJlZmVyZW5jZSwgY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH0pO1xuXG4gIHZhbGlkYXRlUGFyYW1ldGVyKHBhcmFtZXRlciwgcGFyYW1ldGVycywgc3RhdGUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJTdHJpbmcgPSBwYXJhbWV0ZXIuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlJ3MgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyLi4uYCk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyLnZhbGlkYXRlKHN0YXRlLCBjb250ZXh0LCAocGFyYW1ldGVyLCBjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICBwYXJhbWV0ZXJzLnB1c2gocGFyYW1ldGVyKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UncyAnJHtwYXJhbWV0ZXJTdHJpbmd9JyBwYXJhbWV0ZXIuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZhbGlkYXRlUGFyYW1ldGVycyhzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHByb2NlZHVyZVJlZmVyZW5jZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSdzIHBhcmFtZXRlcnMuLi5gKTtcblxuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBbXTtcblxuICAgIHJldHVybiBldmVyeSh0aGlzLnBhcmFtZXRlcnMsIChwYXJhbWV0ZXIsIHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZVBhcmFtZXRlcihwYXJhbWV0ZXIsIHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9LCBwYXJhbWV0ZXJzLCBzdGF0ZSwgY29udGV4dCwgKHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0ZWQgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSdzIHBhcmFtZXRlcnMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHN0YXRlLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGFwcGx5SW5kZXBlbmRlbnRseShnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dCxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEFwcGx5aW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaW5kZXBlbmRlbnRseS4uLmApO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlID0gdGhpcy5maW5kUHJvY2VjdXJlKGNvbnRleHQpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSB0aGlzLmZpbmROb21pbmFsVmFsdWVzKGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZS5jYWxsTm9taW5hbGx5KG5vbWluYWxWYWx1ZXMsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgYm9vbGVhbiA9IHZhbHVlLmlzQm9vbGVhbigpO1xuXG4gICAgICBpZiAoIWJvb2xlYW4pIHtcbiAgICAgICAgY29udGV4dC5pbmZvKGBUaGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGRpZCBub3QgcmV0dXJuIGEgYm9vbGVhbi5gKTtcblxuICAgICAgICByZXR1cm4gYmFjaygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCk7XG5cbiAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC50cmFjZShgLi4uYXBwbGllZCB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGluZGVwZW5kZW50bHkuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGdlbmVyYWxDb250ZXh0LCBzcGVjaWZpY0NvbnRleHQsIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgZGlzY2hhcmdlR2l2ZW5UZXJtKHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYERpc2NoYXJnaW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgZ2l2ZW4gdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCk7XG5cbiAgICBjb25zdCB1bmFyeSA9IHRoaXMuaXNVbmFyeSgpO1xuXG4gICAgaWYgKCF1bmFyeSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgVGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSBpcyBub3QgdW5hcnkuYCk7XG5cbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSxcbiAgICAgICAgICBub2RlID0gdGVybS5nZXROb2RlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gTm9taW5hbFZhbHVlLmZyb21Ob2RlKG5vZGUsIGNvbnRleHQpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSBbXG4gICAgICAgICAgICBub21pbmFsVmFsdWVcbiAgICAgICAgICBdO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZS5jYWxsTm9taW5hbGx5KG5vbWluYWxWYWx1ZXMsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgYm9vbGVhbiA9IHZhbHVlLmlzQm9vbGVhbigpO1xuXG4gICAgICBpZiAoIWJvb2xlYW4pIHtcbiAgICAgICAgY29udGV4dC5pbmZvKGBUaGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGRpZCBub3QgcmV0dXJuIGEgYm9vbGVhbi5gKTtcblxuICAgICAgICByZXR1cm4gYmFjaygpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHZhbHVlLmdldFByaW1pdGl2ZVZhbHVlKCk7XG5cbiAgICAgIGlmICghcHJpbWl0aXZlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZGlzY2hhcmdlZCB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGdpdmVuIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS5gKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgbGV0IGpzb247XG5cbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAganNvbiA9IHtcbiAgICAgIHN0cmluZ1xuICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVSZWZlcmVuY2VcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGxldCBwcm9jZWR1cmVSZWZlcmVuY2U7XG5cbiAgICBpbnN0YW50aWF0ZSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlID0gaW5zdGFudGlhdGVQcm9jZWR1cmVSZWZlcmVuY2Uoc3RyaW5nLCBjb250ZXh0KSxcbiAgICAgICAgICAgIG5vZGUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbVByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlID0gbmV3IFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIHBhcmFtZXRlcnMpO1xuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5hbWVGcm9tUHJvY2VkdXJlUmVmZXJlbmNlTm9kZShwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IG5hbWUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLmdldE5hbWUoKTtcblxuICByZXR1cm4gbmFtZTtcbn1cblxuZnVuY3Rpb24gcGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgcGFyYW1ldGVyTm9kZXMgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLmdldFBhcmFtZXRlck5vZGVzKCksXG4gICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJOb2Rlcy5tYXAoKHBhcmFtZXRlck5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXJhbWV0ZXIgPSBjb250ZXh0LmZpbmRQYXJhbWV0ZXJCeVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSk7XG5cbiAgICAgICAgICByZXR1cm4gcGFyYW1ldGVyO1xuICAgICAgICB9KTtcblxuICByZXR1cm4gcGFyYW1ldGVycztcbn1cbiJdLCJuYW1lcyI6WyJhbGwiLCJldmVyeSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsInVuYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlByb2NlZHVyZVJlZmVyZW5jZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJuYW1lIiwicGFyYW1ldGVycyIsImdldE5hbWUiLCJnZXRQYXJhbWV0ZXJzIiwiZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSIsImdldE5vZGUiLCJwcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiZ2V0UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJpc1VuYXJ5IiwicGFyYW1ldGVyc0xlbmd0aCIsImxlbmd0aCIsInVuYXJ5IiwiaXNFcXVhbFRvIiwicHJvY2VkdXJlUmVmZXJlbmNlIiwicHJvY2VkdXJlUmVmZXJlbmNlTm9kZU1hdGNoZXMiLCJtYXRjaFByb2NlZHVyZVJlZmVyZW5jZU5vZGUiLCJlcXVhbFRvIiwibm9kZU1hdGNoZXMiLCJtYXRjaE5vZGUiLCJmaW5kUHJvY2VjdXJlIiwicHJvY2VkdXJlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsImZpbmROb21pbmFsVmFsdWVzIiwiZGVyaXZlZFN1YnN0aXR1dGlvbnMiLCJnZXREZXJpdmVkU3Vic3RpdHV0aW9ucyIsInN1YnN0aXR1dGlvbnMiLCJub21pbmFsVmFsdWVzIiwibWFwIiwicGFyYW1ldGVyIiwibm9taW5hbFZhbHVlIiwiZmluZE5vbWluYWxWYWx1ZSIsImZpbmRQcm9jZWR1cmVSZWZlcmVuY2UiLCJmaW5kUHJvY2VkdXJlUmVmZXJlbmNlQnlQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwidmFsaWRhdGUiLCJzdGF0ZSIsImZvcndhcmQiLCJiYWNrIiwicHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJkZWJ1ZyIsInZhbGlkYXRlUGFyYW1ldGVycyIsImJpbmQiLCJhZGRQcm9jZWR1cmVSZWZlcmVuY2UiLCJ2YWxpZGF0ZVBhcmFtZXRlciIsInBhcmFtZXRlclN0cmluZyIsInB1c2giLCJhcHBseUluZGVwZW5kZW50bHkiLCJnZW5lcmFsQ29udGV4dCIsInNwZWNpZmljQ29udGV4dCIsImNhbGxOb21pbmFsbHkiLCJ2YWx1ZSIsImJvb2xlYW4iLCJpc0Jvb2xlYW4iLCJpbmZvIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsImRpc2NoYXJnZUdpdmVuVGVybSIsInRlcm0iLCJ0ZXJtU3RyaW5nIiwiTm9taW5hbFZhbHVlIiwiZnJvbU5vZGUiLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJpbnN0YW50aWF0ZSIsImluc3RhbnRpYXRlUHJvY2VkdXJlUmVmZXJlbmNlIiwibmFtZUZyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyTm9kZXMiLCJnZXRQYXJhbWV0ZXJOb2RlcyIsInBhcmFtZXRlck5vZGUiLCJmaW5kUGFyYW1ldGVyQnlQYXJhbWV0ZXJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQUE7Ozs2QkFWNkI7Z0NBQ3VDOzBCQUU3Qzt5QkFDSzs2QkFDa0I7QUFFOUMsTUFBTSxFQUFFQSxHQUFHLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxxQ0FBcUIsRUFDdEMsRUFBRUMsV0FBVyxFQUFFLEdBQUdDLG1DQUFtQjtNQUUzQyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDJCQUEyQkMsdUJBQU87SUFDNUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsQ0FBRTtRQUMvRCxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFVBQVU7SUFDeEI7SUFFQUcsNEJBQTRCO1FBQzFCLE1BQU1OLE9BQU8sSUFBSSxDQUFDTyxPQUFPLElBQ25CQyx5QkFBeUJSO1FBRS9CLE9BQU9RO0lBQ1Q7SUFFQUMsbUJBQW1CO1FBQ2pCLE1BQU1DLGdCQUFnQixJQUFJLENBQUNSLElBQUk7UUFFL0IsT0FBT1E7SUFDVDtJQUVBQyxVQUFVO1FBQ1IsTUFBTUMsbUJBQW1CLElBQUksQ0FBQ1QsVUFBVSxDQUFDVSxNQUFNLEVBQ3pDQyxRQUFTRixxQkFBcUI7UUFFcEMsT0FBT0U7SUFDVDtJQUVBQyxVQUFVQyxrQkFBa0IsRUFBRTtRQUM1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
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZVJlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9taW5hbFZhbHVlIH0gZnJvbSBcIm9jY2FtLWZ1cnRsZVwiO1xuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzLCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZVByb2NlZHVyZVJlZmVyZW5jZSB9IGZyb20gXCIuLi9wcm9jZXNzL2luc3RhbnRpYXRlXCI7XG5cbmNvbnN0IHsgYWxsLCBldmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb2NlZHVyZVJlZmVyZW5jZSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIHBhcmFtZXRlcnMpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlTm9kZSA9IG5vZGU7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlTm9kZTtcbiAgfVxuXG4gIGdldFByb2NlZHVyZU5hbWUoKSB7XG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMubmFtZTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVOYW1lO1xuICB9XG5cbiAgaXNVbmFyeSgpIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJzTGVuZ3RoID0gdGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCxcbiAgICAgICAgICB1bmFyeSA9IChwYXJhbWV0ZXJzTGVuZ3RoID09PSAxKTtcblxuICAgIHJldHVybiB1bmFyeTtcbiAgfVxuXG4gIGlzRXF1YWxUbyhwcm9jZWR1cmVSZWZlcmVuY2UpIHtcbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlID0gcHJvY2VkdXJlUmVmZXJlbmNlLmdldE5vZGUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hQcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUpLFxuICAgICAgICAgIGVxdWFsVG8gPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlczsgIC8vL1xuXG4gICAgcmV0dXJuIGVxdWFsVG87XG4gIH1cblxuICBtYXRjaFByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSkge1xuICAgIGNvbnN0IG5vZGUgPSBwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCAvLy9cbiAgICAgICAgICBub2RlTWF0Y2hlcyA9IHRoaXMubWF0Y2hOb2RlKG5vZGUpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzID0gbm9kZU1hdGNoZXM7IC8vL1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZVJlZmVyZW5jZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgZmluZFByb2NlY3VyZShjb250ZXh0KSB7XG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cblxuICBmaW5kTm9taW5hbFZhbHVlcyhjb250ZXh0KSB7XG4gICAgY29uc3QgZGVyaXZlZFN1YnN0aXR1dGlvbnMgPSBjb250ZXh0LmdldERlcml2ZWRTdWJzdGl0dXRpb25zKCksXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IGRlcml2ZWRTdWJzdGl0dXRpb25zLCAvLy9cbiAgICAgICAgICBub21pbmFsVmFsdWVzID0gdGhpcy5wYXJhbWV0ZXJzLm1hcCgocGFyYW1ldGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBub21pbmFsVmFsdWUgPSBwYXJhbWV0ZXIuZmluZE5vbWluYWxWYWx1ZShzdWJzdGl0dXRpb25zKTtcblxuICAgICAgICAgICAgcmV0dXJuIG5vbWluYWxWYWx1ZTtcbiAgICAgICAgICB9KTtcblxuICAgIHJldHVybiBub21pbmFsVmFsdWVzO1xuICB9XG5cbiAgZmluZFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0KSB7XG4gICAgY29uc3QgcHJvY2VkdXJlUmVmZXJlbmNlTm9kZSA9IHRoaXMuZ2V0UHJvY2VkdXJlUmVmZXJlbmNlTm9kZSgpLFxuICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZVJlZmVyZW5jZUJ5UHJvY2VkdXJlUmVmZXJlbmNlTm9kZShwcm9jZWR1cmVSZWZlcmVuY2VOb2RlKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVSZWZlcmVuY2U7XG4gIH1cblxuICB2YWxpZGF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGxldCBwcm9jZWR1cmVSZWZlcmVuY2U7XG5cbiAgICBjb25zdCBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWYWxpZGF0aW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UuLi5gKTtcblxuICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IHRoaXMuZmluZFByb2NlZHVyZVJlZmVyZW5jZShjb250ZXh0KTtcblxuICAgIGlmIChwcm9jZWR1cmVSZWZlcmVuY2UgIT09IG51bGwpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChwcm9jZWR1cmVSZWZlcmVuY2UsIGNvbnRleHQsIGJhY2spO1xuICAgIH1cblxuICAgIHByb2NlZHVyZVJlZmVyZW5jZSA9IHRoaXM7IC8vL1xuXG4gICAgY29uc3QgdmFsaWRhdGVQYXJhbWV0ZXJzID0gdGhpcy52YWxpZGF0ZVBhcmFtZXRlcnMuYmluZCh0aGlzKTtcblxuICAgIHJldHVybiBhbGwoW1xuICAgICAgdmFsaWRhdGVQYXJhbWV0ZXJzXG4gICAgXSwgc3RhdGUsIGNvbnRleHQsIChzdGF0ZSwgY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5hZGRQcm9jZWR1cmVSZWZlcmVuY2UocHJvY2VkdXJlUmVmZXJlbmNlKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHByb2NlZHVyZVJlZmVyZW5jZSwgY29udGV4dCwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH0pO1xuXG4gIHZhbGlkYXRlUGFyYW1ldGVyKHBhcmFtZXRlciwgcGFyYW1ldGVycywgc3RhdGUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBwYXJhbWV0ZXJTdHJpbmcgPSBwYXJhbWV0ZXIuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmFsaWRhdGluZyB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlJ3MgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyLi4uYCk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyLnZhbGlkYXRlKHN0YXRlLCBjb250ZXh0LCAocGFyYW1ldGVyLCBjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICBwYXJhbWV0ZXJzLnB1c2gocGFyYW1ldGVyKTtcblxuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmFsaWRhdGVkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UncyAnJHtwYXJhbWV0ZXJTdHJpbmd9JyBwYXJhbWV0ZXIuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHZhbGlkYXRlUGFyYW1ldGVycyhzdGF0ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHByb2NlZHVyZVJlZmVyZW5jZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYFZhbGlkYXRpbmcgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSdzIHBhcmFtZXRlcnMuLi5gKTtcblxuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBbXTtcblxuICAgIHJldHVybiBldmVyeSh0aGlzLnBhcmFtZXRlcnMsIChwYXJhbWV0ZXIsIHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZVBhcmFtZXRlcihwYXJhbWV0ZXIsIHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9LCBwYXJhbWV0ZXJzLCBzdGF0ZSwgY29udGV4dCwgKHBhcmFtZXRlcnMsIHN0YXRlLCBjb250ZXh0LCBiYWNrKSA9PiB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52YWxpZGF0ZWQgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSdzIHBhcmFtZXRlcnMuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHN0YXRlLCBjb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGFwcGx5SW5kZXBlbmRlbnRseShnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHNwZWNpZmljQ29udGV4dCxcbiAgICAgICAgICBwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEFwcGx5aW5nIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaW5kZXBlbmRlbnRseS4uLmApO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlID0gdGhpcy5maW5kUHJvY2VjdXJlKGNvbnRleHQpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSB0aGlzLmZpbmROb21pbmFsVmFsdWVzKGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZS5ldmFsdWF0ZU5vbWluYWxseShub21pbmFsVmFsdWVzLCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgIGNvbnN0IGJvb2xlYW4gPSB2YWx1ZS5pc0Jvb2xlYW4oKTtcblxuICAgICAgaWYgKCFib29sZWFuKSB7XG4gICAgICAgIGNvbnRleHQuaW5mbyhgVGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSBkaWQgbm90IHJldHVybiBhIGJvb2xlYW4uYCk7XG5cbiAgICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB2YWx1ZS5nZXRQcmltaXRpdmVWYWx1ZSgpO1xuXG4gICAgICBpZiAoIXByaW1pdGl2ZVZhbHVlKSB7XG4gICAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnRleHQudHJhY2UoYC4uLmFwcGxpZWQgdGhlICcke3Byb2NlZHVyZVJlZmVyZW5jZVN0cmluZ30nIGZ1bmN0aW9uIHJlZmVyZW5jZSBpbmRlcGVuZGVudGx5LmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChnZW5lcmFsQ29udGV4dCwgc3BlY2lmaWNDb250ZXh0LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIGRpc2NoYXJnZUdpdmVuVGVybSh0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBEaXNjaGFyZ2luZyB0aGUgJyR7cHJvY2VkdXJlUmVmZXJlbmNlU3RyaW5nfScgZnVuY3Rpb24gcmVmZXJlbmNlIGdpdmVuIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgY29uc3QgdW5hcnkgPSB0aGlzLmlzVW5hcnkoKTtcblxuICAgIGlmICghdW5hcnkpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgaXMgbm90IHVuYXJ5LmApO1xuXG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2NlZHVyZU5hbWUgPSB0aGlzLmdldFByb2NlZHVyZU5hbWUoKSxcbiAgICAgICAgICBwcm9jZWR1cmUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSksXG4gICAgICAgICAgbm9kZSA9IHRlcm0uZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IE5vbWluYWxWYWx1ZS5mcm9tTm9kZShub2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBub21pbmFsVmFsdWVzID0gW1xuICAgICAgICAgICAgbm9taW5hbFZhbHVlXG4gICAgICAgICAgXTtcblxuICAgIHJldHVybiBwcm9jZWR1cmUuZXZhbHVhdGVOb21pbmFsbHkobm9taW5hbFZhbHVlcywgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCBib29sZWFuID0gdmFsdWUuaXNCb29sZWFuKCk7XG5cbiAgICAgIGlmICghYm9vbGVhbikge1xuICAgICAgICBjb250ZXh0LmluZm8oYFRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgZGlkIG5vdCByZXR1cm4gYSBib29sZWFuLmApO1xuXG4gICAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKTtcblxuICAgICAgaWYgKCFwcmltaXRpdmVWYWx1ZSkge1xuICAgICAgICByZXR1cm4gYmFjaygpO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5kaXNjaGFyZ2VkIHRoZSAnJHtwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2UgZ2l2ZW4gdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBsZXQganNvbjtcblxuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBqc29uID0ge1xuICAgICAgc3RyaW5nXG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZVJlZmVyZW5jZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHByb2NlZHVyZVJlZmVyZW5jZTtcblxuICAgIGluc3RhbnRpYXRlKChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICAgIHByb2NlZHVyZVJlZmVyZW5jZU5vZGUgPSBpbnN0YW50aWF0ZVByb2NlZHVyZVJlZmVyZW5jZShzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsICAvLy9cbiAgICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsLFxuICAgICAgICAgICAgbmFtZSA9IG5hbWVGcm9tUHJvY2VkdXJlUmVmZXJlbmNlTm9kZShwcm9jZWR1cmVSZWZlcmVuY2VOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzRnJvbVByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgICBwcm9jZWR1cmVSZWZlcmVuY2UgPSBuZXcgUHJvY2VkdXJlUmVmZXJlbmNlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgcGFyYW1ldGVycyk7XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlUmVmZXJlbmNlO1xuICB9XG59KTtcblxuZnVuY3Rpb24gbmFtZUZyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlKHByb2NlZHVyZVJlZmVyZW5jZU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgbmFtZSA9IHByb2NlZHVyZVJlZmVyZW5jZU5vZGUuZ2V0TmFtZSgpO1xuXG4gIHJldHVybiBuYW1lO1xufVxuXG5mdW5jdGlvbiBwYXJhbWV0ZXJzRnJvbVByb2NlZHVyZVJlZmVyZW5jZU5vZGUocHJvY2VkdXJlUmVmZXJlbmNlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCBwYXJhbWV0ZXJOb2RlcyA9IHByb2NlZHVyZVJlZmVyZW5jZU5vZGUuZ2V0UGFyYW1ldGVyTm9kZXMoKSxcbiAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlck5vZGVzLm1hcCgocGFyYW1ldGVyTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhcmFtZXRlciA9IGNvbnRleHQuZmluZFBhcmFtZXRlckJ5UGFyYW1ldGVyTm9kZShwYXJhbWV0ZXJOb2RlKTtcblxuICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBwYXJhbWV0ZXJzO1xufVxuIl0sIm5hbWVzIjpbImFsbCIsImV2ZXJ5IiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwidW5icmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiUHJvY2VkdXJlUmVmZXJlbmNlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5hbWUiLCJwYXJhbWV0ZXJzIiwiZ2V0TmFtZSIsImdldFBhcmFtZXRlcnMiLCJnZXRQcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwiZ2V0Tm9kZSIsInByb2NlZHVyZVJlZmVyZW5jZU5vZGUiLCJnZXRQcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlTmFtZSIsImlzVW5hcnkiLCJwYXJhbWV0ZXJzTGVuZ3RoIiwibGVuZ3RoIiwidW5hcnkiLCJpc0VxdWFsVG8iLCJwcm9jZWR1cmVSZWZlcmVuY2UiLCJwcm9jZWR1cmVSZWZlcmVuY2VOb2RlTWF0Y2hlcyIsIm1hdGNoUHJvY2VkdXJlUmVmZXJlbmNlTm9kZSIsImVxdWFsVG8iLCJub2RlTWF0Y2hlcyIsIm1hdGNoTm9kZSIsImZpbmRQcm9jZWN1cmUiLCJwcm9jZWR1cmUiLCJmaW5kUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lIiwiZmluZE5vbWluYWxWYWx1ZXMiLCJkZXJpdmVkU3Vic3RpdHV0aW9ucyIsImdldERlcml2ZWRTdWJzdGl0dXRpb25zIiwic3Vic3RpdHV0aW9ucyIsIm5vbWluYWxWYWx1ZXMiLCJtYXAiLCJwYXJhbWV0ZXIiLCJub21pbmFsVmFsdWUiLCJmaW5kTm9taW5hbFZhbHVlIiwiZmluZFByb2NlZHVyZVJlZmVyZW5jZSIsImZpbmRQcm9jZWR1cmVSZWZlcmVuY2VCeVByb2NlZHVyZVJlZmVyZW5jZU5vZGUiLCJ2YWxpZGF0ZSIsInN0YXRlIiwiZm9yd2FyZCIsImJhY2siLCJwcm9jZWR1cmVSZWZlcmVuY2VTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsImRlYnVnIiwidmFsaWRhdGVQYXJhbWV0ZXJzIiwiYmluZCIsImFkZFByb2NlZHVyZVJlZmVyZW5jZSIsInZhbGlkYXRlUGFyYW1ldGVyIiwicGFyYW1ldGVyU3RyaW5nIiwicHVzaCIsImFwcGx5SW5kZXBlbmRlbnRseSIsImdlbmVyYWxDb250ZXh0Iiwic3BlY2lmaWNDb250ZXh0IiwiZXZhbHVhdGVOb21pbmFsbHkiLCJ2YWx1ZSIsImJvb2xlYW4iLCJpc0Jvb2xlYW4iLCJpbmZvIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsImRpc2NoYXJnZUdpdmVuVGVybSIsInRlcm0iLCJ0ZXJtU3RyaW5nIiwiTm9taW5hbFZhbHVlIiwiZnJvbU5vZGUiLCJ0b0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJpbnN0YW50aWF0ZSIsImluc3RhbnRpYXRlUHJvY2VkdXJlUmVmZXJlbmNlIiwibmFtZUZyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVSZWZlcmVuY2VOb2RlIiwicGFyYW1ldGVyTm9kZXMiLCJnZXRQYXJhbWV0ZXJOb2RlcyIsInBhcmFtZXRlck5vZGUiLCJmaW5kUGFyYW1ldGVyQnlQYXJhbWV0ZXJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQUE7Ozs2QkFWNkI7Z0NBQ3VDOzBCQUU3Qzt5QkFDSzs2QkFDa0I7QUFFOUMsTUFBTSxFQUFFQSxHQUFHLEVBQUVDLEtBQUssRUFBRSxHQUFHQyxxQ0FBcUIsRUFDdEMsRUFBRUMsV0FBVyxFQUFFLEdBQUdDLG1DQUFtQjtNQUUzQyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLDJCQUEyQkMsdUJBQU87SUFDNUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsQ0FBRTtRQUMvRCxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFVBQVU7SUFDeEI7SUFFQUcsNEJBQTRCO1FBQzFCLE1BQU1OLE9BQU8sSUFBSSxDQUFDTyxPQUFPLElBQ25CQyx5QkFBeUJSO1FBRS9CLE9BQU9RO0lBQ1Q7SUFFQUMsbUJBQW1CO1FBQ2pCLE1BQU1DLGdCQUFnQixJQUFJLENBQUNSLElBQUk7UUFFL0IsT0FBT1E7SUFDVDtJQUVBQyxVQUFVO1FBQ1IsTUFBTUMsbUJBQW1CLElBQUksQ0FBQ1QsVUFBVSxDQUFDVSxNQUFNLEVBQ3pDQyxRQUFTRixxQkFBcUI7UUFFcEMsT0FBT0U7SUFDVDtJQUVBQyxVQUFVQyxrQkFB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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-nominal",
3
3
  "author": "James Smith",
4
- "version": "1.0.613",
4
+ "version": "1.0.614",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-nominal",
7
7
  "description": "Occam's Nominal language.",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^17.7.2",
14
- "occam-furtle": "^3.0.542",
14
+ "occam-furtle": "^3.0.544",
15
15
  "occam-grammar-utilities": "^8.1.27",
16
16
  "occam-languages": "^3.0.92",
17
17
  "occam-query": "^4.1.210"
@@ -160,7 +160,7 @@ export default define(class ProcedureReference extends Element {
160
160
  const procedure = this.findProcecure(context),
161
161
  nominalValues = this.findNominalValues(context);
162
162
 
163
- return procedure.callNominally(nominalValues, (value, back) => {
163
+ return procedure.evaluateNominally(nominalValues, (value, back) => {
164
164
  const boolean = value.isBoolean();
165
165
 
166
166
  if (!boolean) {
@@ -203,7 +203,7 @@ export default define(class ProcedureReference extends Element {
203
203
  nominalValue
204
204
  ];
205
205
 
206
- return procedure.callNominally(nominalValues, (value, back) => {
206
+ return procedure.evaluateNominally(nominalValues, (value, back) => {
207
207
  const boolean = value.isBoolean();
208
208
 
209
209
  if (!boolean) {