@muraai/mnl-form 0.0.1-alpha-d61aa5d → 0.0.1-alpha-f368a48

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.
@@ -51,7 +51,15 @@ export class ScoringService {
51
51
  break;
52
52
  case 'exactMatch':
53
53
  if (Array.isArray(scoring.answer)) {
54
- correct = scoring.answer.includes(answer);
54
+ // Handle case where answer is also an array (multiselect)
55
+ if (Array.isArray(answer)) {
56
+ // Check if answer is not empty AND all selected answers are in the expected answers
57
+ correct = answer.length > 0 && answer.every(a => scoring.answer.includes(a));
58
+ }
59
+ else {
60
+ // Single value case
61
+ correct = scoring.answer.includes(answer);
62
+ }
55
63
  }
56
64
  break;
57
65
  case 'range':
@@ -92,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
92
100
  type: Injectable,
93
101
  args: [{ providedIn: 'root' }]
94
102
  }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zY29yaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFDLEtBQVUsRUFBRSxNQUEyQjtRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVUsRUFBRSxNQUF1RDtRQUN6RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQXNELEVBQUUsQ0FBQztRQUU1RSxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXFELEVBQUUsRUFBRTtZQUNoRixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFFbkQsNERBQTREO1lBQzVELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsMkRBQTJEO2dCQUMzRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFD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QVU7WUFDVixlQUFlO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBR1MsY0FBYyxDQUFDLEdBQVEsRUFBRSxHQUEwQztRQUN6RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDOytHQXJHVSxjQUFjO21IQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNjb3JpbmdTZXJ2aWNlIHtcblxuICB1cGRhdGVTY29yZShtb2RlbDogYW55LCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10pIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNhbGN1bGF0ZVNjb3JlKG1vZGVsLCBmaWVsZHMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuIHByaXZhdGUgY2FsY3VsYXRlU2NvcmUobW9kZWw6IGFueSwgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXSkge1xuICBsZXQgdG90YWxTY29yZSA9IDA7XG4gIGxldCBjYXRlZ29yeVJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIHsgc2NvcmU6IG51bWJlcjsgd2VpZ2h0OiBudW1iZXIgfT4gPSB7fTtcblxuICBjb25zdCBwcm9jZXNzQ2F0ZWdvcnkgPSAoY2F0ZWdvcnk6IEZvcm1seUZpZWxkQ29uZmlnIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICBjb25zdCBjYXRlZ29yeUxhYmVsID0gY2F0ZWdvcnkucHJvcHM/LmxhYmVsO1xuICAgIGNvbnN0IGNhdGVnb3J5V2VpZ2h0ID0gY2F0ZWdvcnkucHJvcHM/LndlaWdodCA/PyAwO1xuXG4gICAgLy8gT25seSB0cmVhdCBhcyBzY29yaW5nIGNhdGVnb3J5IGlmIGl0IGhhcyBhIGxhYmVsICsgd2VpZ2h0XG4gICAgaWYgKCFjYXRlZ29yeUxhYmVsIHx8ICFjYXRlZ29yeVdlaWdodCkge1xuICAgICAgLy8gU3RpbGwgbmVlZCB0byBnbyBkZWVwZXIgaW4gY2FzZSBjaGlsZHJlbiBoYXZlIGNhdGVnb3JpZXNcbiAgICAgIGlmIChjYXRlZ29yeS5maWVsZEdyb3VwPy5sZW5ndGgpIHtcbiAgICAgICAgY2F0ZWdvcnkuZmllbGRHcm91cC5mb3JFYWNoKHByb2Nlc3NDYXRlZ29yeSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVlc3Rpb25zID0gKGNhdGVnb3J5LmZpZWxkR3JvdXAgfHwgW10pLmZpbHRlcihxID0+IHEucHJvcHM/LnNjb3JpbmcpO1xuICAgIGlmIChxdWVzdGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICBjb25zdCBzY29yZWRRdWVzdGlvbnMgPSBxdWVzdGlvbnMuZmlsdGVyKHEgPT4gcS5wcm9wcz8uaGFzU2NvcmVJbXBhY3QgIT09IGZhbHNlKTtcbiAgICBpZiAoc2NvcmVkUXVlc3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2F0ZWdvcnlSZXN1bHRzW2NhdGVnb3J5TGFiZWxdID0ge1xuICAgICAgICBzY29yZTogMCxcbiAgICAgICAgd2VpZ2h0OiBjYXRlZ29yeVdlaWdodCxcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGVyUXVlc3Rpb25XZWlnaHQgPSBjYXRlZ29yeVdlaWdodCAvIHNjb3JlZFF1ZXN0aW9ucy5sZW5ndGg7XG4gICAgbGV0IGNhdGVnb3J5U2NvcmUgPSAwO1xuXG4gICAgZm9yIChjb25zdCBxIG9mIHNjb3JlZFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgcGFyZW50S2V5ID0gY2F0ZWdvcnkua2V5IGFzIGFueTtcbiAgICAgIGNvbnN0IG5lc3RlZFBhdGggPSBBcnJheS5pc0FycmF5KHBhcmVudEtleSlcbiAgICAgICAgPyBbLi4uKHBhcmVudEtleSBhcyBhbnlbXSksIHEua2V5IGFzIGFueV1cbiAgICAgICAgOiBbcGFyZW50S2V5IGFzIGFueSwgcS5rZXkgYXMgYW55XTtcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuZ2V0TmVzdGVkVmFsdWUobW9kZWwsIG5lc3RlZFBhdGggYXMgYW55KTtcblxuICAgICAgY29uc3Qgc2NvcmluZyA9IHEucHJvcHM/LnNjb3Jpbmc7XG4gICAgICBpZiAoIXNjb3JpbmcpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgY29ycmVjdCA9IGZhbHNlO1xuXG4gICAgICBzd2l0Y2ggKHNjb3JpbmcuY3JpdGVyaWEpIHtcbiAgICAgICAgY2FzZSAnYXR0ZW1wdGVkJzpcbiAgICAgICAgICBjb3JyZWN0ID1cbiAgICAgICAgICAgIGFuc3dlciAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYW5zd2VyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICh0eXBlb2YgYW5zd2VyID09PSAnc3RyaW5nJyA/IGFuc3dlci50cmltKCkgIT09ICcnIDogdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZXhhY3RNYXRjaCc6XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2NvcmluZy5hbnN3ZXIpKSB7XG4gICAgICAgICAgICBjb3JyZWN0ID0gc2NvcmluZy5hbnN3ZXIuaW5jbHVkZXMoYW5zd2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAncmFuZ2UnOlxuICAgICAgICAgIGNvbnN0IG51bSA9IHR5cGVvZiBhbnN3ZXIgPT09ICdudW1iZXInID8gYW5zd2VyIDogTnVtYmVyKGFuc3dlcik7XG4gICAgICAgICAgY29ycmVjdCA9XG4gICAgICAgICAgICBOdW1iZXIuaXNGaW5pdGUobnVtKSAmJlxuICAgICAgICAgICAgbnVtID49IHNjb3JpbmcuYW5zd2VyLm1pbiAmJlxuICAgICAgICAgICAgbnVtIDw9IHNjb3JpbmcuYW5zd2VyLm1heDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKGNvcnJlY3QpIHtcbiAgICAgICAgY2F0ZWdvcnlTY29yZSArPSBwZXJRdWVzdGlvbldlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0b3RhbFNjb3JlICs9IGNhdGVnb3J5U2NvcmU7XG4gICAgY2F0ZWdvcnlSZXN1bHRzW2NhdGVnb3J5TGFiZWxdID0ge1xuICAgICAgc2NvcmU6IGNhdGVnb3J5U2NvcmUsXG4gICAgICB3ZWlnaHQ6IGNhdGVnb3J5V2VpZ2h0LFxuICAgIH07XG4gIH07XG5cbiAgLy8gc3RhcnQgcmVjdXJzaXZlIHdhbGtcbiAgZmllbGRzLmZvckVhY2gocHJvY2Vzc0NhdGVnb3J5KTtcblxuICByZXR1cm4ge1xuICAgIHRvdGFsU2NvcmUsXG4gICAgY2F0ZWdvcnlSZXN1bHRzLFxuICB9O1xufVxuXG5cbiAgcHJpdmF0ZSBnZXROZXN0ZWRWYWx1ZShvYmo6IGFueSwga2V5OiBzdHJpbmcgfCBudW1iZXIgfCAoc3RyaW5nIHwgbnVtYmVyKVtdKTogYW55IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShrZXkpKSB7XG4gICAgICByZXR1cm4ga2V5LnJlZHVjZSgoY3VycmVudCwgaykgPT4gY3VycmVudD8uW2tdLCBvYmopO1xuICAgIH1cbiAgICByZXR1cm4gb2JqPy5ba2V5XTtcbiAgfVxufSJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zY29yaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFDLEtBQVUsRUFBRSxNQUEyQjtRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQVUsRUFBRSxNQUF1RDtRQUN6RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQXNELEVBQUUsQ0FBQztRQUU1RSxNQUFNLGVBQWUsR0FBRyxDQUFDLFFBQXFELEVBQUUsRUFBRTtZQUNoRixNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1QyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFFbkQsNERBQTREO1lBQzVELElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEMsMkRBQTJEO2dCQUMzRCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7b0JBQ2hDLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUMvQyxDQUFDO2dCQUNELE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFD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SSxPQUFPLEVBQUUsQ0FBQztvQkFDWixhQUFhLElBQUksaUJBQWlCLENBQUM7Z0JBQ3JDLENBQUM7WUFDSCxDQUFDO1lBRUQsVUFBVSxJQUFJLGFBQWEsQ0FBQztZQUM1QixlQUFlLENBQUMsYUFBYSxDQUFDLEdBQUc7Z0JBQy9CLEtBQUssRUFBRSxhQUFhO2dCQUNwQixNQUFNLEVBQUUsY0FBYzthQUN2QixDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBRUYsdUJBQXVCO1FBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFaEMsT0FBTztZQUNMLFVBQVU7WUFDVixlQUFlO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBR1MsY0FBYyxDQUFDLEdBQVEsRUFBRSxHQUEwQztRQUN6RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDOytHQTVHVSxjQUFjO21IQUFkLGNBQWMsY0FERCxNQUFNOzs0RkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNjb3JpbmdTZXJ2aWNlIHtcblxuICB1cGRhdGVTY29yZShtb2RlbDogYW55LCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10pIHtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmNhbGN1bGF0ZVNjb3JlKG1vZGVsLCBmaWVsZHMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuIHByaXZhdGUgY2FsY3VsYXRlU2NvcmUobW9kZWw6IGFueSwgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXSkge1xuICBsZXQgdG90YWxTY29yZSA9IDA7XG4gIGxldCBjYXRlZ29yeVJlc3VsdHM6IFJlY29yZDxzdHJpbmcsIHsgc2NvcmU6IG51bWJlcjsgd2VpZ2h0OiBudW1iZXIgfT4gPSB7fTtcblxuICBjb25zdCBwcm9jZXNzQ2F0ZWdvcnkgPSAoY2F0ZWdvcnk6IEZvcm1seUZpZWxkQ29uZmlnIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICBjb25zdCBjYXRlZ29yeUxhYmVsID0gY2F0ZWdvcnkucHJvcHM/LmxhYmVsO1xuICAgIGNvbnN0IGNhdGVnb3J5V2VpZ2h0ID0gY2F0ZWdvcnkucHJvcHM/LndlaWdodCA/PyAwO1xuXG4gICAgLy8gT25seSB0cmVhdCBhcyBzY29yaW5nIGNhdGVnb3J5IGlmIGl0IGhhcyBhIGxhYmVsICsgd2VpZ2h0XG4gICAgaWYgKCFjYXRlZ29yeUxhYmVsIHx8ICFjYXRlZ29yeVdlaWdodCkge1xuICAgICAgLy8gU3RpbGwgbmVlZCB0byBnbyBkZWVwZXIgaW4gY2FzZSBjaGlsZHJlbiBoYXZlIGNhdGVnb3JpZXNcbiAgICAgIGlmIChjYXRlZ29yeS5maWVsZEdyb3VwPy5sZW5ndGgpIHtcbiAgICAgICAgY2F0ZWdvcnkuZmllbGRHcm91cC5mb3JFYWNoKHByb2Nlc3NDYXRlZ29yeSk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVlc3Rpb25zID0gKGNhdGVnb3J5LmZpZWxkR3JvdXAgfHwgW10pLmZpbHRlcihxID0+IHEucHJvcHM/LnNjb3JpbmcpO1xuICAgIGlmIChxdWVzdGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm47XG5cbiAgICBjb25zdCBzY29yZWRRdWVzdGlvbnMgPSBxdWVzdGlvbnMuZmlsdGVyKHEgPT4gcS5wcm9wcz8uaGFzU2NvcmVJbXBhY3QgIT09IGZhbHNlKTtcbiAgICBpZiAoc2NvcmVkUXVlc3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY2F0ZWdvcnlSZXN1bHRzW2NhdGVnb3J5TGFiZWxdID0ge1xuICAgICAgICBzY29yZTogMCxcbiAgICAgICAgd2VpZ2h0OiBjYXRlZ29yeVdlaWdodCxcbiAgICAgIH07XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGVyUXVlc3Rpb25XZWlnaHQgPSBjYXRlZ29yeVdlaWdodCAvIHNjb3JlZFF1ZXN0aW9ucy5sZW5ndGg7XG4gICAgbGV0IGNhdGVnb3J5U2NvcmUgPSAwO1xuXG4gICAgZm9yIChjb25zdCBxIG9mIHNjb3JlZFF1ZXN0aW9ucykge1xuICAgICAgY29uc3QgcGFyZW50S2V5ID0gY2F0ZWdvcnkua2V5IGFzIGFueTtcbiAgICAgIGNvbnN0IG5lc3RlZFBhdGggPSBBcnJheS5pc0FycmF5KHBhcmVudEtleSlcbiAgICAgICAgPyBbLi4uKHBhcmVudEtleSBhcyBhbnlbXSksIHEua2V5IGFzIGFueV1cbiAgICAgICAgOiBbcGFyZW50S2V5IGFzIGFueSwgcS5rZXkgYXMgYW55XTtcbiAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMuZ2V0TmVzdGVkVmFsdWUobW9kZWwsIG5lc3RlZFBhdGggYXMgYW55KTtcblxuICAgICAgY29uc3Qgc2NvcmluZyA9IHEucHJvcHM/LnNjb3Jpbmc7XG4gICAgICBpZiAoIXNjb3JpbmcpIGNvbnRpbnVlO1xuXG4gICAgICBsZXQgY29ycmVjdCA9IGZhbHNlO1xuICAgICAgXG4gICAgICBzd2l0Y2ggKHNjb3JpbmcuY3JpdGVyaWEpIHtcbiAgICAgICAgY2FzZSAnYXR0ZW1wdGVkJzpcbiAgICAgICAgICBjb3JyZWN0ID1cbiAgICAgICAgICAgIGFuc3dlciAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgYW5zd2VyICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICh0eXBlb2YgYW5zd2VyID09PSAnc3RyaW5nJyA/IGFuc3dlci50cmltKCkgIT09ICcnIDogdHJ1ZSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZXhhY3RNYXRjaCc6XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc2NvcmluZy5hbnN3ZXIpKSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVyZSBhbnN3ZXIgaXMgYWxzbyBhbiBhcnJheSAobXVsdGlzZWxlY3QpXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbnN3ZXIpKSB7XG4gICAgICAgICAgICAgIC8vIENoZWNrIGlmIGFuc3dlciBpcyBub3QgZW1wdHkgQU5EIGFsbCBzZWxlY3RlZCBhbnN3ZXJzIGFyZSBpbiB0aGUgZXhwZWN0ZWQgYW5zd2Vyc1xuICAgICAgICAgICAgICBjb3JyZWN0ID0gYW5zd2VyLmxlbmd0aCA+IDAgJiYgYW5zd2VyLmV2ZXJ5KGEgPT4gc2NvcmluZy5hbnN3ZXIuaW5jbHVkZXMoYSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2luZ2xlIHZhbHVlIGNhc2VcbiAgICAgICAgICAgICAgY29ycmVjdCA9IHNjb3JpbmcuYW5zd2VyLmluY2x1ZGVzKGFuc3dlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JhbmdlJzpcbiAgICAgICAgICBjb25zdCBudW0gPSB0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJyA/IGFuc3dlciA6IE51bWJlcihhbnN3ZXIpO1xuICAgICAgICAgIGNvcnJlY3QgPVxuICAgICAgICAgICAgTnVtYmVyLmlzRmluaXRlKG51bSkgJiZcbiAgICAgICAgICAgIG51bSA+PSBzY29yaW5nLmFuc3dlci5taW4gJiZcbiAgICAgICAgICAgIG51bSA8PSBzY29yaW5nLmFuc3dlci5tYXg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb3JyZWN0KSB7XG4gICAgICAgIGNhdGVnb3J5U2NvcmUgKz0gcGVyUXVlc3Rpb25XZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdG90YWxTY29yZSArPSBjYXRlZ29yeVNjb3JlO1xuICAgIGNhdGVnb3J5UmVzdWx0c1tjYXRlZ29yeUxhYmVsXSA9IHtcbiAgICAgIHNjb3JlOiBjYXRlZ29yeVNjb3JlLFxuICAgICAgd2VpZ2h0OiBjYXRlZ29yeVdlaWdodCxcbiAgICB9O1xuICB9O1xuXG4gIC8vIHN0YXJ0IHJlY3Vyc2l2ZSB3YWxrXG4gIGZpZWxkcy5mb3JFYWNoKHByb2Nlc3NDYXRlZ29yeSk7XG5cbiAgcmV0dXJuIHtcbiAgICB0b3RhbFNjb3JlLFxuICAgIGNhdGVnb3J5UmVzdWx0cyxcbiAgfTtcbn1cblxuXG4gIHByaXZhdGUgZ2V0TmVzdGVkVmFsdWUob2JqOiBhbnksIGtleTogc3RyaW5nIHwgbnVtYmVyIHwgKHN0cmluZyB8IG51bWJlcilbXSk6IGFueSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoa2V5KSkge1xuICAgICAgcmV0dXJuIGtleS5yZWR1Y2UoKGN1cnJlbnQsIGspID0+IGN1cnJlbnQ/LltrXSwgb2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iaj8uW2tleV07XG4gIH1cbn0iXX0=
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component } from '@angular/core';
2
+ import { Component, ViewChild } from '@angular/core';
3
3
  import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { MatNativeDateModule } from '@angular/material/core';
5
5
  import { MatDatepickerModule } from '@angular/material/datepicker';
@@ -13,9 +13,10 @@ import * as i0 from "@angular/core";
13
13
  import * as i1 from "@angular/common";
14
14
  import * as i2 from "@angular/material/input";
15
15
  import * as i3 from "@angular/material/form-field";
16
- import * as i4 from "@ngx-formly/core";
17
- import * as i5 from "@angular/forms";
18
- import * as i6 from "@angular/material/slide-toggle";
16
+ import * as i4 from "@angular/cdk/text-field";
17
+ import * as i5 from "@ngx-formly/core";
18
+ import * as i6 from "@angular/forms";
19
+ import * as i7 from "@angular/material/slide-toggle";
19
20
  export class MnlFormHelperTextInputComponent extends FieldType {
20
21
  get helperLabel() {
21
22
  return this.to['helperProps']?.['helperLabel'] || 'Need help?';
@@ -74,6 +75,9 @@ export class MnlFormHelperTextInputComponent extends FieldType {
74
75
  this.checked = true;
75
76
  }
76
77
  }
78
+ ngAfterViewInit() {
79
+ setTimeout(() => this.autosize?.resizeToFitContent(true));
80
+ }
77
81
  toggleSlide() {
78
82
  this.checked = !this.checked;
79
83
  if (this.checked) {
@@ -91,10 +95,27 @@ export class MnlFormHelperTextInputComponent extends FieldType {
91
95
  setupDefaultField() {
92
96
  const fieldConfig = this.to['defaultFieldConfig'];
93
97
  if (fieldConfig) {
98
+ // Get current value from model and sync with formControl
99
+ const fieldKey = this.field.key;
100
+ const modelValue = this.field.model?.[fieldKey];
101
+ // Sync formControl value with model value if it exists
102
+ if (modelValue !== undefined && modelValue !== null) {
103
+ this.formControl.setValue(modelValue, { emitEvent: false });
104
+ }
105
+ // Create enhanced props with necessary fixes for production
106
+ const enhancedProps = {
107
+ ...fieldConfig.props,
108
+ };
109
+ // For select fields, add compareWith function to ensure proper value matching in production builds
110
+ if (fieldConfig.type === 'select' && !enhancedProps['compareWith']) {
111
+ enhancedProps['compareWith'] = (o1, o2) => o1 === o2;
112
+ }
94
113
  this.defaultFieldConfig = {
95
- ...fieldConfig,
114
+ type: fieldConfig.type,
96
115
  key: this.field.key || fieldConfig.key || 'defaultKey',
97
116
  formControl: this.formControl,
117
+ props: enhancedProps,
118
+ wrappers: fieldConfig.wrappers || [],
98
119
  modelOptions: fieldConfig.modelOptions || this.field.modelOptions || {},
99
120
  validators: fieldConfig.validators || this.field.validators || {},
100
121
  asyncValidators: fieldConfig.asyncValidators || this.field.asyncValidators || {},
@@ -116,9 +137,22 @@ export class MnlFormHelperTextInputComponent extends FieldType {
116
137
  // Auto-open helper based on scoring criteria
117
138
  switch (this.to['scoring']?.['criteria']) {
118
139
  case 'exactMatch':
119
- if (Array.isArray(this.to['scoring']?.['answer']) &&
120
- !this.to['scoring']?.['answer'].includes(this.originalValue)) {
121
- this.checked = true;
140
+ if (Array.isArray(this.to['scoring']?.['answer'])) {
141
+ // Handle multiselect case where answer is also an array
142
+ if (Array.isArray(this.originalValue)) {
143
+ // Check if not empty AND all selected answers are in expected answers
144
+ const isCorrect = this.originalValue.length > 0 &&
145
+ this.originalValue.every(a => this.to['scoring']?.['answer'].includes(a));
146
+ if (!isCorrect) {
147
+ this.checked = true;
148
+ }
149
+ }
150
+ else {
151
+ // Single value case
152
+ if (!this.to['scoring']?.['answer'].includes(this.originalValue)) {
153
+ this.checked = true;
154
+ }
155
+ }
122
156
  }
123
157
  break;
124
158
  case 'range':
@@ -146,13 +180,30 @@ export class MnlFormHelperTextInputComponent extends FieldType {
146
180
  break;
147
181
  case 'exactMatch':
148
182
  if (Array.isArray(this.to['scoring']?.['answer'])) {
149
- if (this.to['scoring']?.['answer'].includes(this.originalValue)) {
150
- // Answer is correct - set empty value in helper
151
- this.helperFormControl.setValue('');
183
+ // Handle multiselect case where answer is also an array
184
+ if (Array.isArray(this.originalValue)) {
185
+ // Check if not empty AND all selected answers are in expected answers
186
+ const isCorrect = this.originalValue.length > 0 &&
187
+ this.originalValue.every(a => this.to['scoring']?.['answer'].includes(a));
188
+ if (isCorrect) {
189
+ // Answer is correct - set empty value in helper
190
+ this.helperFormControl.setValue('');
191
+ }
192
+ else {
193
+ // Answer is incorrect - set defaultHelperText in helper
194
+ this.helperFormControl.setValue(this.defaultHelperText);
195
+ }
152
196
  }
153
197
  else {
154
- // Answer is incorrect - set defaultHelperText in helper
155
- this.helperFormControl.setValue(this.defaultHelperText);
198
+ // Single value case
199
+ if (this.to['scoring']?.['answer'].includes(this.originalValue)) {
200
+ // Answer is correct - set empty value in helper
201
+ this.helperFormControl.setValue('');
202
+ }
203
+ else {
204
+ // Answer is incorrect - set defaultHelperText in helper
205
+ this.helperFormControl.setValue(this.defaultHelperText);
206
+ }
156
207
  }
157
208
  }
158
209
  break;
@@ -176,7 +227,7 @@ export class MnlFormHelperTextInputComponent extends FieldType {
176
227
  }
177
228
  }
178
229
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MnlFormHelperTextInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
179
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MnlFormHelperTextInputComponent, isStandalone: true, selector: "mu-helper-text", usesInheritance: true, ngImport: i0, template: `
230
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MnlFormHelperTextInputComponent, isStandalone: true, selector: "mu-helper-text", viewQueries: [{ propertyName: "autosize", first: true, predicate: ["autosize"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
180
231
  <div class="helper-text-container">
181
232
  <!-- Helper Mode - Show toggle and conditional content -->
182
233
  <div *ngIf="to['enableHelper']">
@@ -193,12 +244,14 @@ export class MnlFormHelperTextInputComponent extends FieldType {
193
244
 
194
245
  <mat-form-field class="textarea" appearance="outline" *ngIf="checked">
195
246
  <textarea
247
+ cdkTextareaAutosize
248
+ #autosize="cdkTextareaAutosize"
249
+ cdkAutosizeMinRows="2"
196
250
  matInput
197
251
  [formControl]="helperFormControl"
198
252
  [readonly]="readonly || field.form?.disabled"
199
253
  [disabled]="field.form?.disabled"
200
- >
201
- </textarea>
254
+ ></textarea>
202
255
  </mat-form-field>
203
256
  </div>
204
257
 
@@ -208,7 +261,7 @@ export class MnlFormHelperTextInputComponent extends FieldType {
208
261
  </formly-field>
209
262
  </div>
210
263
  </div>
211
- `, isInline: true, styles: [".helper-text-container{display:flex;flex-direction:column}.answer{font-size:12px}.textarea{margin:0!important;width:100%}.flex-row{display:flex;flex-direction:row;justify-content:space-between}.w-full{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i4.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatNativeDateModule }] }); }
264
+ `, isInline: true, styles: [".helper-text-container{display:flex;flex-direction:column}.answer{font-size:12px}.textarea{margin:0!important;width:100%}.flex-row{display:flex;flex-direction:row;justify-content:space-between}.w-full{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i5.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatNativeDateModule }] }); }
212
265
  }
213
266
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MnlFormHelperTextInputComponent, decorators: [{
214
267
  type: Component,
@@ -240,12 +293,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
240
293
 
241
294
  <mat-form-field class="textarea" appearance="outline" *ngIf="checked">
242
295
  <textarea
296
+ cdkTextareaAutosize
297
+ #autosize="cdkTextareaAutosize"
298
+ cdkAutosizeMinRows="2"
243
299
  matInput
244
300
  [formControl]="helperFormControl"
245
301
  [readonly]="readonly || field.form?.disabled"
246
302
  [disabled]="field.form?.disabled"
247
- >
248
- </textarea>
303
+ ></textarea>
249
304
  </mat-form-field>
250
305
  </div>
251
306
 
@@ -256,5 +311,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
256
311
  </div>
257
312
  </div>
258
313
  `, styles: [".helper-text-container{display:flex;flex-direction:column}.answer{font-size:12px}.textarea{margin:0!important;width:100%}.flex-row{display:flex;flex-direction:row;justify-content:space-between}.w-full{width:100%}\n"] }]
259
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXUtaGVscGVyLXRleHQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tbGliL3NyYy9saWIvdHlwZXMvbXUtaGVscGVyLXRleHQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFxQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFHTCxZQUFZLEdBQ2IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBd0VqRCxNQUFNLE9BQU8sK0JBQ1gsU0FBUSxTQUEwQjtJQU1sQyxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxZQUFZLENBQUM7SUFDakUsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUks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Ozs7Ozs7Ozs7Ozs7OztHQWdDVCwrUkEzQ0MsWUFBWSxrSUFDWixjQUFjLHNuQkFDZCxZQUFZLHdIQUNaLG1CQUFtQix5a0JBQ25CLFdBQVcsc1BBQ1gsa0JBQWtCLDhCQUNsQixvQkFBb0IseVhBQ3BCLGVBQWUsOEJBQ2YsbUJBQW1CLDhCQUNuQixtQkFBbUI7OzRGQXlEViwrQkFBK0I7a0JBdEUzQyxTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixtQkFBbUI7cUJBQ3BCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQge1xuICBGaWVsZFR5cGVDb25maWcsXG4gIEZvcm1seUZpZWxkQ29uZmlnLFxuICBGb3JtbHlNb2R1bGUsXG59IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdS1oZWxwZXItdGV4dCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImhlbHBlci10ZXh0LWNvbnRhaW5lclwiPlxuICAgICAgPCEtLSBIZWxwZXIgTW9kZSAtIFNob3cgdG9nZ2xlIGFuZCBjb25kaXRpb25hbCBjb250ZW50IC0tPlxuICAgICAgPGRpdiAqbmdJZj1cInRvWydlbmFibGVIZWxwZXInXVwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IHRvLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJvcmlnaW5hbFZhbHVlXCIgY2xhc3M9XCJmbGV4LXJvd1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYW5zd2VyXCI+e3sgb3JpZ2luYWxWYWx1ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjaGVja2VkXCJcbiAgICAgICAgICAgICh0b2dnbGVDaGFuZ2UpPVwidG9nZ2xlU2xpZGUoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGQuZm9ybT8uZGlzYWJsZWRcIlxuICAgICAgICAgICAgPnt7IGhlbHBlckxhYmVsIH19PC9tYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJ0ZXh0YXJlYVwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgKm5nSWY9XCJjaGVja2VkXCI+XG4gICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImhlbHBlckZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSB8fCBmaWVsZC5mb3JtPy5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGQuZm9ybT8uZGlzYWJsZWRcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3RleHRhcmVhPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gRGVmYXVsdCBNb2RlIC0gU2hvdyBmaWVsZCBkaXJlY3RseSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCIhdG9bJ2VuYWJsZUhlbHBlciddXCI+XG4gICAgICAgIDxmb3JtbHktZmllbGQgKm5nSWY9XCJkZWZhdWx0RmllbGRDb25maWdcIiBbZmllbGRdPVwiZGVmYXVsdEZpZWxkQ29uZmlnXCI+XG4gICAgICAgIDwvZm9ybWx5LWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogYFxuICAgICAuaGVscGVyLXRleHQtY29udGFpbmVye1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgIH1cbiAgICAgLmFuc3dlcntcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgfVxuICAgICAgLnRleHRhcmVhe1xuICAgICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICB9XG4gICAgIC5mbGV4LXJvd3tcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICB9XG4gICAgIC53LWZ1bGx7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgfVxuICBgLFxufSlcbmV4cG9ydCBjbGFzcyBNbmxGb3JtSGVscGVyVGV4dElucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZz5cbiAgaW1wbGVtZW50cyBPbkluaXRcbntcbiAgY2hlY2tlZCA9IGZhbHNlO1xuICBoZWxwZXJGb3JtQ29udHJvbCE6IEZvcm1Db250cm9sOyAvLyBTZXBhcmF0ZSBmb3JtIGNvbnRyb2wgZm9yIGhlbHBlciBtb2RlbFxuXG4gIGdldCBoZWxwZXJMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy50b1snaGVscGVyUHJvcHMnXT8uWydoZWxwZXJMYWJlbCddIHx8ICdOZWVkIGhlbHA/JztcbiAgfVxuICBnZXQgZGVmYXVsdEhlbHBlclRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9bJ2hlbHBlclByb3BzJ10/LlsnZGVmYXVsdEhlbHBlclRleHQnXSB8fCAnJztcbiAgfVxuXG4gIC8vIEdldCB2YWx1ZSBmcm9tIHByaW1hcnkgbW9kZWwgKGFuc3dlcnMpXG4gIGdldCBvcmlnaW5hbFZhbHVlKCkge1xuICAgIGNvbnN0IGZpZWxkS2V5ID0gdGhpcy5maWVsZC5rZXkgYXMgc3RyaW5nO1xuICAgIHJldHVybiB0aGlzLmZpZWxkLm1vZGVsPy5bZmllbGRLZXldO1xuICB9XG5cbiAgLy8gR2V0L1NldCB2YWx1ZSBmcm9tIHNlY29uZGFyeSBtb2RlbCAoaGVscGVyKVxuICBnZXQgaGVscGVyTW9kZWwoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudG9bJ2hlbHBlck1vZGVsJ10gfHxcbiAgICAgIHRoaXMucHJvcHNbJ2hlbHBlck1vZGVsJ10gfHxcbiAgICAgIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5bJ2hlbHBlck1vZGVsJ11cbiAgICApO1xuICB9XG5cbiAgZ2V0IGhlbHBlcktleSgpIHtcbiAgICByZXR1cm4gdGhpcy50b1snaGVscGVyS2V5J10gfHwgdGhpcy5maWVsZC5rZXk7XG4gIH1cblxuICBnZXQgY3VycmVudEhlbHBlclZhbHVlKCkge1xuICAgIGlmICh0aGlzLmhlbHBlck1vZGVsICYmIHRoaXMuaGVscGVyS2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5oZWxwZXJNb2RlbFt0aGlzLmhlbHBlcktleSBhcyBzdHJpbmddO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBzZXQgY3VycmVudEhlbHBlclZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5oZWxwZXJNb2RlbCAmJiB0aGlzLmhlbHBlcktleSkge1xuICAgICAgdGhpcy5oZWxwZXJNb2RlbFt0aGlzLmhlbHBlcktleSBhcyBzdHJpbmddID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLnRvWydyZWFkb25seSddIHx8IHRoaXMucHJvcHNbJ3JlYWRvbmx5J10gfHwgZmFsc2U7XG4gIH1cblxuICBkZWZhdWx0RmllbGRDb25maWc/OiBGb3JtbHlGaWVsZENvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBoZWxwZXIgZm9ybSBjb250cm9sIHdpdGggdmFsdWUgZnJvbSBoZWxwZXIgbW9kZWxcbiAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMuY3VycmVudEhlbHBlclZhbHVlIHx8ICcnKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGluIGhlbHBlciBmb3JtIGNvbnRyb2wgYW5kIHVwZGF0ZSBoZWxwZXIgbW9kZWxcbiAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRIZWxwZXJWYWx1ZSA9IHZhbHVlO1xuICAgICAgLy8gRW1pdCBoZWxwZXIgbW9kZWwgY2hhbmdlIHRvIHBhcmVudCBjb21wb25lbnRcbiAgICAgIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5bJ29uSGVscGVyTW9kZWxDaGFuZ2UnXT8uKHRoaXMuaGVscGVyTW9kZWwpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR1cERlZmF1bHRGaWVsZCgpO1xuXG4gICAgaWYgKHRoaXMudG9bJ2VuYWJsZUhlbHBlciddKSB7XG4gICAgICB0aGlzLnNldENvcnJlY3RWYWx1ZSgpO1xuICAgICAgdGhpcy5kZXRlcm1pbmVJbml0aWFsU3RhdGUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VycmVudEhlbHBlclZhbHVlICYmIHRoaXMuY3VycmVudEhlbHBlclZhbHVlLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU2xpZGUoKSB7XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAvLyBXaGVuIHRvZ2dsZSBpcyBvcGVuZWQsIGNoZWNrIGlmIGhlbHBlciBmaWVsZCBpcyBlbXB0eVxuICAgICAgY29uc3QgY3VycmVudGhlbHBlciA9IHRoaXMuaGVscGVyRm9ybUNvbnRyb2wudmFsdWU7XG4gICAgICBpZiAoIWN1cnJlbnRoZWxwZXIgfHwgY3VycmVudGhlbHBlci50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHRoaXMuaGVscGVyRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5kZWZhdWx0SGVscGVyVGV4dCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGVscGVyRm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBzZXR1cERlZmF1bHRGaWVsZCgpIHtcbiAgICBjb25zdCBmaWVsZENvbmZpZyA9IHRoaXMudG9bJ2RlZmF1bHRGaWVsZENvbmZpZyddO1xuICAgIGlmIChmaWVsZENvbmZpZykge1xuICAgICAgdGhpcy5kZWZhdWx0RmllbGRDb25maWcgPSB7XG4gICAgICAgIC4uLmZpZWxkQ29uZmlnLFxuICAgICAgICBrZXk6IHRoaXMuZmllbGQua2V5IHx8IGZpZWxkQ29uZmlnLmtleSB8fCAnZGVmYXVsdEtleScsXG4gICAgICAgIGZvcm1Db250cm9sOiB0aGlzLmZvcm1Db250cm9sLFxuICAgICAgICBtb2RlbE9wdGlvbnM6IGZpZWxkQ29uZmlnLm1vZGVsT3B0aW9ucyB8fCB0aGlzLmZpZWxkLm1vZGVsT3B0aW9ucyB8fCB7fSxcbiAgICAgICAgdmFsaWRhdG9yczogZmllbGRDb25maWcudmFsaWRhdG9ycyB8fCB0aGlzLmZpZWxkLnZhbGlkYXRvcnMgfHwge30sXG4gICAgICAgIGFzeW5jVmFsaWRhdG9yczpcbiAgICAgICAgICBmaWVsZENvbmZpZy5hc3luY1ZhbGlkYXRvcnMgfHwgdGhpcy5maWVsZC5hc3luY1ZhbGlkYXRvcnMgfHwge30sXG4gICAgICAgIGhvb2tzOiBmaWVsZENvbmZpZy5ob29rcyB8fCB0aGlzLmZpZWxkLmhvb2tzIHx8IHt9LFxuICAgICAgICBleHByZXNzaW9uczogZmllbGRDb25maWcuZXhwcmVzc2lvbnMgfHwgdGhpcy5maWVsZC5leHByZXNzaW9ucyB8fCB7fSxcbiAgICAgICAgaGlkZTogZmllbGRDb25maWcuaGlkZSAhPT0gdW5kZWZpbmVkID8gZmllbGRDb25maWcuaGlkZSA6IGZhbHNlLFxuICAgICAgICBjbGFzc05hbWU6IGZpZWxkQ29uZmlnLmNsYXNzTmFtZSB8fCB0aGlzLmZpZWxkLmNsYXNzTmFtZSB8fCAnJyxcbiAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTpcbiAgICAgICAgICBmaWVsZENvbmZpZy5maWVsZEdyb3VwQ2xhc3NOYW1lIHx8XG4gICAgICAgICAgdGhpcy5maWVsZC5maWVsZEdyb3VwQ2xhc3NOYW1lIHx8XG4gICAgICAgICAgJycsXG4gICAgICAgIHBhcmVudDogdGhpcy5maWVsZC5wYXJlbnQsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMuZmllbGQub3B0aW9ucyxcbiAgICAgICAgbW9kZWw6IHRoaXMuZmllbGQubW9kZWwsXG4gICAgICAgIGZvcm06IHRoaXMuZmllbGQuZm9ybSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZGV0ZXJtaW5lSW5pdGlhbFN0YXRlKCkge1xuICAgIC8vIEF1dG8tb3BlbiBoZWxwZXIgYmFzZWQgb24gc2NvcmluZyBjcml0ZXJpYVxuICAgIHN3aXRjaCAodGhpcy50b1snc2NvcmluZyddPy5bJ2NyaXRlcmlhJ10pIHtcbiAgICAgIGNhc2UgJ2V4YWN0TWF0Y2gnOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgQXJyYXkuaXNBcnJheSh0aGlzLnRvWydzY29yaW5nJ10/LlsnYW5zd2VyJ10pICYmXG4gICAgICAgICAgIXRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5pbmNsdWRlcyh0aGlzLm9yaWdpbmFsVmFsdWUpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3JhbmdlJzpcbiAgICAgICAgY29uc3QgYW5zd2VyID0gdGhpcy5vcmlnaW5hbFZhbHVlO1xuICAgICAgICBjb25zdCBudW0gPSB0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJyA/IGFuc3dlciA6IE51bWJlcihhbnN3ZXIpO1xuXG4gICAgICAgIGNvbnN0IGNvcnJlY3QgPVxuICAgICAgICAgIE51bWJlci5pc0Zpbml0ZShudW0pICYmXG4gICAgICAgICAgbnVtID49IHRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5taW4gJiZcbiAgICAgICAgICBudW0gPD0gdGhpcy50b1snc2NvcmluZyddPy5bJ2Fuc3dlciddLm1heDtcblxuICAgICAgICBpZiAoIWNvcnJlY3QpIHtcbiAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHNldENvcnJlY3RWYWx1ZSgpIHtcbiAgICBjb25zdCBjdXJyZW50SGVscGVyVmFsdWUgPSB0aGlzLmN1cnJlbnRIZWxwZXJWYWx1ZTtcblxuICAgIC8vIElmIGhlbHBlciBhbHJlYWR5IGhhcyBhIHZhbHVlICh1c2VyIGVkaXRlZCksIGRvbid0IG92ZXJyaWRlXG4gICAgaWYgKGN1cnJlbnRIZWxwZXJWYWx1ZSAmJiBjdXJyZW50SGVscGVyVmFsdWUudHJpbSgpICE9PSAnJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy50b1snc2NvcmluZyddPy5bJ2NyaXRlcmlhJ10pIHtcbiAgICAgIGNhc2UgJ2F0dGVtcHRlZCc6XG4gICAgICAgIC8vIEZvciBhdHRlbXB0ZWQsIHNldCBkZWZhdWx0SGVscGVyVGV4dFxuICAgICAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2V4YWN0TWF0Y2gnOlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnRvWydzY29yaW5nJ10/LlsnYW5zd2VyJ10pKSB7XG4gICAgICAgICAgaWYgKHRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5pbmNsdWRlcyh0aGlzLm9yaWdpbmFsVmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBBbnN3ZXIgaXMgY29ycmVjdCAtIHNldCBlbXB0eSB2YWx1ZSBpbiBoZWxwZXJcbiAgICAgICAgICAgIHRoaXMuaGVscGVyRm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBBbnN3ZXIgaXMgaW5jb3JyZWN0IC0gc2V0IGRlZmF1bHRIZWxwZXJUZXh0IGluIGhlbHBlclxuICAgICAgICAgICAgdGhpcy5oZWxwZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRIZWxwZXJUZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3JhbmdlJzpcbiAgICAgICAgY29uc3QgYW5zd2VyID0gdGhpcy5vcmlnaW5hbFZhbHVlO1xuICAgICAgICBjb25zdCBudW0gPSB0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJyA/IGFuc3dlciA6IE51bWJlcihhbnN3ZXIpO1xuXG4gICAgICAgIGNvbnN0IGNvcnJlY3QgPVxuICAgICAgICAgIE51bWJlci5pc0Zpbml0ZShudW0pICYmXG4gICAgICAgICAgbnVtID49IHRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5taW4gJiZcbiAgICAgICAgICBudW0gPD0gdGhpcy50b1snc2NvcmluZyddPy5bJ2Fuc3dlciddLm1heDtcblxuICAgICAgICBpZiAoY29ycmVjdCkge1xuICAgICAgICAgIC8vIEFuc3dlciBpcyBjb3JyZWN0IC0gc2V0IGVtcHR5IHZhbHVlIGluIGhlbHBlclxuICAgICAgICAgIHRoaXMuaGVscGVyRm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEFuc3dlciBpcyBpbmNvcnJlY3QgLSBzZXQgZGVmYXVsdEhlbHBlclRleHQgaW4gaGVscGVyXG4gICAgICAgICAgdGhpcy5oZWxwZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRIZWxwZXJUZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
314
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { autosize: [{
315
+ type: ViewChild,
316
+ args: ['autosize']
317
+ }] } });
318
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXUtaGVscGVyLXRleHQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Zvcm0tbGliL3NyYy9saWIvdHlwZXMvbXUtaGVscGVyLXRleHQudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFvQyxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9GLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBR0wsWUFBWSxHQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7QUEwRWpELE1BQU0sT0FBTywrQkFDWCxTQUFRLFNBQTBCO0lBT2xDLElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFlBQVksQ0FBQztJQUNqRSxDQUFDO0lBQ0QsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsbUJBQW1C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LHlrQkFDbkIsV0FBVyxzUEFDWCxrQkFBa0IsOEJBQ2xCLG9CQUFvQix5WEFDcEIsZUFBZSw4QkFDZixtQkFBbUIsOEJBQ25CLG1CQUFtQjs7NEZBMkRWLCtCQUErQjtrQkF4RTNDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLG1CQUFtQjtxQkFDcEIsWUFDUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtzRkEyQnNCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka1RleHRhcmVhQXV0b3NpemUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHtcbiAgRmllbGRUeXBlQ29uZmlnLFxuICBGb3JtbHlGaWVsZENvbmZpZyxcbiAgRm9ybWx5TW9kdWxlLFxufSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbXUtaGVscGVyLXRleHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJoZWxwZXItdGV4dC1jb250YWluZXJcIj5cbiAgICAgIDwhLS0gSGVscGVyIE1vZGUgLSBTaG93IHRvZ2dsZSBhbmQgY29uZGl0aW9uYWwgY29udGVudCAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJ0b1snZW5hYmxlSGVscGVyJ11cIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyB0by5sYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwib3JpZ2luYWxWYWx1ZVwiIGNsYXNzPVwiZmxleC1yb3dcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFuc3dlclwiPnt7IG9yaWdpbmFsVmFsdWUgfX08L3NwYW4+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY2hlY2tlZFwiXG4gICAgICAgICAgICAodG9nZ2xlQ2hhbmdlKT1cInRvZ2dsZVNsaWRlKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLmZvcm0/LmRpc2FibGVkXCJcbiAgICAgICAgICAgID57eyBoZWxwZXJMYWJlbCB9fTwvbWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgID5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwidGV4dGFyZWFcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiICpuZ0lmPVwiY2hlY2tlZFwiPlxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxuICAgICAgICAgICAgI2F1dG9zaXplPVwiY2RrVGV4dGFyZWFBdXRvc2l6ZVwiXG4gICAgICAgICAgICBjZGtBdXRvc2l6ZU1pblJvd3M9XCIyXCJcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaGVscGVyRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5IHx8IGZpZWxkLmZvcm0/LmRpc2FibGVkXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5mb3JtPy5kaXNhYmxlZFwiXG4gICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBEZWZhdWx0IE1vZGUgLSBTaG93IGZpZWxkIGRpcmVjdGx5IC0tPlxuICAgICAgPGRpdiAqbmdJZj1cIiF0b1snZW5hYmxlSGVscGVyJ11cIj5cbiAgICAgICAgPGZvcm1seS1maWVsZCAqbmdJZj1cImRlZmF1bHRGaWVsZENvbmZpZ1wiIFtmaWVsZF09XCJkZWZhdWx0RmllbGRDb25maWdcIj5cbiAgICAgICAgPC9mb3JtbHktZmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3R5bGVzOiBgXG4gICAgIC5oZWxwZXItdGV4dC1jb250YWluZXJ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgfVxuICAgICAuYW5zd2Vye1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICB9XG4gICAgICAudGV4dGFyZWF7XG4gICAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgIH1cbiAgICAgLmZsZXgtcm93e1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgIH1cbiAgICAgLnctZnVsbHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE1ubEZvcm1IZWxwZXJUZXh0SW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPlxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdFxue1xuICBAVmlld0NoaWxkKCdhdXRvc2l6ZScpIGF1dG9zaXplITogQ2RrVGV4dGFyZWFBdXRvc2l6ZTtcbiAgY2hlY2tlZCA9IGZhbHNlO1xuICBoZWxwZXJGb3JtQ29udHJvbCE6IEZvcm1Db250cm9sOyAvLyBTZXBhcmF0ZSBmb3JtIGNvbnRyb2wgZm9yIGhlbHBlciBtb2RlbFxuXG4gIGdldCBoZWxwZXJMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy50b1snaGVscGVyUHJvcHMnXT8uWydoZWxwZXJMYWJlbCddIHx8ICdOZWVkIGhlbHA/JztcbiAgfVxuICBnZXQgZGVmYXVsdEhlbHBlclRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMudG9bJ2hlbHBlclByb3BzJ10/LlsnZGVmYXVsdEhlbHBlclRleHQnXSB8fCAnJztcbiAgfVxuXG4gIC8vIEdldCB2YWx1ZSBmcm9tIHByaW1hcnkgbW9kZWwgKGFuc3dlcnMpXG4gIGdldCBvcmlnaW5hbFZhbHVlKCkge1xuICAgIGNvbnN0IGZpZWxkS2V5ID0gdGhpcy5maWVsZC5rZXkgYXMgc3RyaW5nO1xuICAgIHJldHVybiB0aGlzLmZpZWxkLm1vZGVsPy5bZmllbGRLZXldO1xuICB9XG5cbiAgLy8gR2V0L1NldCB2YWx1ZSBmcm9tIHNlY29uZGFyeSBtb2RlbCAoaGVscGVyKVxuICBnZXQgaGVscGVyTW9kZWwoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudG9bJ2hlbHBlck1vZGVsJ10gfHxcbiAgICAgIHRoaXMucHJvcHNbJ2hlbHBlck1vZGVsJ10gfHxcbiAgICAgIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5bJ2hlbHBlck1vZGVsJ11cbiAgICApO1xuICB9XG5cbiAgZ2V0IGhlbHBlcktleSgpIHtcbiAgICByZXR1cm4gdGhpcy50b1snaGVscGVyS2V5J10gfHwgdGhpcy5maWVsZC5rZXk7XG4gIH1cblxuICBnZXQgY3VycmVudEhlbHBlclZhbHVlKCkge1xuICAgIGlmICh0aGlzLmhlbHBlck1vZGVsICYmIHRoaXMuaGVscGVyS2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5oZWxwZXJNb2RlbFt0aGlzLmhlbHBlcktleSBhcyBzdHJpbmddO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBzZXQgY3VycmVudEhlbHBlclZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5oZWxwZXJNb2RlbCAmJiB0aGlzLmhlbHBlcktleSkge1xuICAgICAgdGhpcy5oZWxwZXJNb2RlbFt0aGlzLmhlbHBlcktleSBhcyBzdHJpbmddID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLnRvWydyZWFkb25seSddIHx8IHRoaXMucHJvcHNbJ3JlYWRvbmx5J10gfHwgZmFsc2U7XG4gIH1cblxuICBkZWZhdWx0RmllbGRDb25maWc/OiBGb3JtbHlGaWVsZENvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSBoZWxwZXIgZm9ybSBjb250cm9sIHdpdGggdmFsdWUgZnJvbSBoZWxwZXIgbW9kZWxcbiAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMuY3VycmVudEhlbHBlclZhbHVlIHx8ICcnKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIGluIGhlbHBlciBmb3JtIGNvbnRyb2wgYW5kIHVwZGF0ZSBoZWxwZXIgbW9kZWxcbiAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRIZWxwZXJWYWx1ZSA9IHZhbHVlO1xuICAgICAgLy8gRW1pdCBoZWxwZXIgbW9kZWwgY2hhbmdlIHRvIHBhcmVudCBjb21wb25lbnRcbiAgICAgIHRoaXMub3B0aW9ucz8uZm9ybVN0YXRlPy5bJ29uSGVscGVyTW9kZWxDaGFuZ2UnXT8uKHRoaXMuaGVscGVyTW9kZWwpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR1cERlZmF1bHRGaWVsZCgpO1xuXG4gICAgaWYgKHRoaXMudG9bJ2VuYWJsZUhlbHBlciddKSB7XG4gICAgICB0aGlzLnNldENvcnJlY3RWYWx1ZSgpO1xuICAgICAgdGhpcy5kZXRlcm1pbmVJbml0aWFsU3RhdGUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuY3VycmVudEhlbHBlclZhbHVlICYmIHRoaXMuY3VycmVudEhlbHBlclZhbHVlLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5hdXRvc2l6ZT8ucmVzaXplVG9GaXRDb250ZW50KHRydWUpKTtcbiAgfVxuXG4gIHRvZ2dsZVNsaWRlKCkge1xuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgLy8gV2hlbiB0b2dnbGUgaXMgb3BlbmVkLCBjaGVjayBpZiBoZWxwZXIgZmllbGQgaXMgZW1wdHlcbiAgICAgIGNvbnN0IGN1cnJlbnRoZWxwZXIgPSB0aGlzLmhlbHBlckZvcm1Db250cm9sLnZhbHVlO1xuICAgICAgaWYgKCFjdXJyZW50aGVscGVyIHx8IGN1cnJlbnRoZWxwZXIudHJpbSgpID09PSAnJykge1xuICAgICAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sLnNldFZhbHVlKHRoaXMuZGVmYXVsdEhlbHBlclRleHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgc2V0dXBEZWZhdWx0RmllbGQoKSB7XG4gICAgY29uc3QgZmllbGRDb25maWcgPSB0aGlzLnRvWydkZWZhdWx0RmllbGRDb25maWcnXTtcbiAgICBpZiAoZmllbGRDb25maWcpIHtcbiAgICAgIC8vIEdldCBjdXJyZW50IHZhbHVlIGZyb20gbW9kZWwgYW5kIHN5bmMgd2l0aCBmb3JtQ29udHJvbFxuICAgICAgY29uc3QgZmllbGRLZXkgPSB0aGlzLmZpZWxkLmtleSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBtb2RlbFZhbHVlID0gdGhpcy5maWVsZC5tb2RlbD8uW2ZpZWxkS2V5XTtcbiAgICAgIFxuICAgICAgLy8gU3luYyBmb3JtQ29udHJvbCB2YWx1ZSB3aXRoIG1vZGVsIHZhbHVlIGlmIGl0IGV4aXN0c1xuICAgICAgaWYgKG1vZGVsVmFsdWUgIT09IHVuZGVmaW5lZCAmJiBtb2RlbFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobW9kZWxWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBDcmVhdGUgZW5oYW5jZWQgcHJvcHMgd2l0aCBuZWNlc3NhcnkgZml4ZXMgZm9yIHByb2R1Y3Rpb25cbiAgICAgIGNvbnN0IGVuaGFuY2VkUHJvcHMgPSB7XG4gICAgICAgIC4uLmZpZWxkQ29uZmlnLnByb3BzLFxuICAgICAgfTtcbiAgICAgIFxuICAgICAgLy8gRm9yIHNlbGVjdCBmaWVsZHMsIGFkZCBjb21wYXJlV2l0aCBmdW5jdGlvbiB0byBlbnN1cmUgcHJvcGVyIHZhbHVlIG1hdGNoaW5nIGluIHByb2R1Y3Rpb24gYnVpbGRzXG4gICAgICBpZiAoZmllbGRDb25maWcudHlwZSA9PT0gJ3NlbGVjdCcgJiYgIWVuaGFuY2VkUHJvcHNbJ2NvbXBhcmVXaXRoJ10pIHtcbiAgICAgICAgZW5oYW5jZWRQcm9wc1snY29tcGFyZVdpdGgnXSA9IChvMTogYW55LCBvMjogYW55KSA9PiBvMSA9PT0gbzI7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHRoaXMuZGVmYXVsdEZpZWxkQ29uZmlnID0ge1xuICAgICAgICB0eXBlOiBmaWVsZENvbmZpZy50eXBlLFxuICAgICAgICBrZXk6IHRoaXMuZmllbGQua2V5IHx8IGZpZWxkQ29uZmlnLmtleSB8fCAnZGVmYXVsdEtleScsXG4gICAgICAgIGZvcm1Db250cm9sOiB0aGlzLmZvcm1Db250cm9sLFxuICAgICAgICBwcm9wczogZW5oYW5jZWRQcm9wcyxcbiAgICAgICAgd3JhcHBlcnM6IGZpZWxkQ29uZmlnLndyYXBwZXJzIHx8IFtdLFxuICAgICAgICBtb2RlbE9wdGlvbnM6IGZpZWxkQ29uZmlnLm1vZGVsT3B0aW9ucyB8fCB0aGlzLmZpZWxkLm1vZGVsT3B0aW9ucyB8fCB7fSxcbiAgICAgICAgdmFsaWRhdG9yczogZmllbGRDb25maWcudmFsaWRhdG9ycyB8fCB0aGlzLmZpZWxkLnZhbGlkYXRvcnMgfHwge30sXG4gICAgICAgIGFzeW5jVmFsaWRhdG9yczpcbiAgICAgICAgICBmaWVsZENvbmZpZy5hc3luY1ZhbGlkYXRvcnMgfHwgdGhpcy5maWVsZC5hc3luY1ZhbGlkYXRvcnMgfHwge30sXG4gICAgICAgIGhvb2tzOiBmaWVsZENvbmZpZy5ob29rcyB8fCB0aGlzLmZpZWxkLmhvb2tzIHx8IHt9LFxuICAgICAgICBleHByZXNzaW9uczogZmllbGRDb25maWcuZXhwcmVzc2lvbnMgfHwgdGhpcy5maWVsZC5leHByZXNzaW9ucyB8fCB7fSxcbiAgICAgICAgaGlkZTogZmllbGRDb25maWcuaGlkZSAhPT0gdW5kZWZpbmVkID8gZmllbGRDb25maWcuaGlkZSA6IGZhbHNlLFxuICAgICAgICBjbGFzc05hbWU6IGZpZWxkQ29uZmlnLmNsYXNzTmFtZSB8fCB0aGlzLmZpZWxkLmNsYXNzTmFtZSB8fCAnJyxcbiAgICAgICAgZmllbGRHcm91cENsYXNzTmFtZTpcbiAgICAgICAgICBmaWVsZENvbmZpZy5maWVsZEdyb3VwQ2xhc3NOYW1lIHx8XG4gICAgICAgICAgdGhpcy5maWVsZC5maWVsZEdyb3VwQ2xhc3NOYW1lIHx8XG4gICAgICAgICAgJycsXG4gICAgICAgIHBhcmVudDogdGhpcy5maWVsZC5wYXJlbnQsXG4gICAgICAgIG9wdGlvbnM6IHRoaXMuZmllbGQub3B0aW9ucyxcbiAgICAgICAgbW9kZWw6IHRoaXMuZmllbGQubW9kZWwsXG4gICAgICAgIGZvcm06IHRoaXMuZmllbGQuZm9ybSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgZGV0ZXJtaW5lSW5pdGlhbFN0YXRlKCkge1xuICAgIC8vIEF1dG8tb3BlbiBoZWxwZXIgYmFzZWQgb24gc2NvcmluZyBjcml0ZXJpYVxuICAgIHN3aXRjaCAodGhpcy50b1snc2NvcmluZyddPy5bJ2NyaXRlcmlhJ10pIHtcbiAgICAgIGNhc2UgJ2V4YWN0TWF0Y2gnOlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnRvWydzY29yaW5nJ10/LlsnYW5zd2VyJ10pKSB7XG4gICAgICAgICAgLy8gSGFuZGxlIG11bHRpc2VsZWN0IGNhc2Ugd2hlcmUgYW5zd2VyIGlzIGFsc28gYW4gYXJyYXlcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm9yaWdpbmFsVmFsdWUpKSB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiBub3QgZW1wdHkgQU5EIGFsbCBzZWxlY3RlZCBhbnN3ZXJzIGFyZSBpbiBleHBlY3RlZCBhbnN3ZXJzXG4gICAgICAgICAgICBjb25zdCBpc0NvcnJlY3QgPSB0aGlzLm9yaWdpbmFsVmFsdWUubGVuZ3RoID4gMCAmJiBcbiAgICAgICAgICAgICAgdGhpcy5vcmlnaW5hbFZhbHVlLmV2ZXJ5KGEgPT4gdGhpcy50b1snc2NvcmluZyddPy5bJ2Fuc3dlciddLmluY2x1ZGVzKGEpKTtcbiAgICAgICAgICAgIGlmICghaXNDb3JyZWN0KSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFNpbmdsZSB2YWx1ZSBjYXNlXG4gICAgICAgICAgICBpZiAoIXRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5pbmNsdWRlcyh0aGlzLm9yaWdpbmFsVmFsdWUpKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdyYW5nZSc6XG4gICAgICAgIGNvbnN0IGFuc3dlciA9IHRoaXMub3JpZ2luYWxWYWx1ZTtcbiAgICAgICAgY29uc3QgbnVtID0gdHlwZW9mIGFuc3dlciA9PT0gJ251bWJlcicgPyBhbnN3ZXIgOiBOdW1iZXIoYW5zd2VyKTtcblxuICAgICAgICBjb25zdCBjb3JyZWN0ID1cbiAgICAgICAgICBOdW1iZXIuaXNGaW5pdGUobnVtKSAmJlxuICAgICAgICAgIG51bSA+PSB0aGlzLnRvWydzY29yaW5nJ10/LlsnYW5zd2VyJ10ubWluICYmXG4gICAgICAgICAgbnVtIDw9IHRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5tYXg7XG5cbiAgICAgICAgaWYgKCFjb3JyZWN0KSB7XG4gICAgICAgICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzZXRDb3JyZWN0VmFsdWUoKSB7XG4gICAgY29uc3QgY3VycmVudEhlbHBlclZhbHVlID0gdGhpcy5jdXJyZW50SGVscGVyVmFsdWU7XG5cbiAgICAvLyBJZiBoZWxwZXIgYWxyZWFkeSBoYXMgYSB2YWx1ZSAodXNlciBlZGl0ZWQpLCBkb24ndCBvdmVycmlkZVxuICAgIGlmIChjdXJyZW50SGVscGVyVmFsdWUgJiYgY3VycmVudEhlbHBlclZhbHVlLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMudG9bJ3Njb3JpbmcnXT8uWydjcml0ZXJpYSddKSB7XG4gICAgICBjYXNlICdhdHRlbXB0ZWQnOlxuICAgICAgICAvLyBGb3IgYXR0ZW1wdGVkLCBzZXQgZGVmYXVsdEhlbHBlclRleHRcbiAgICAgICAgdGhpcy5oZWxwZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdleGFjdE1hdGNoJzpcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy50b1snc2NvcmluZyddPy5bJ2Fuc3dlciddKSkge1xuICAgICAgICAgIC8vIEhhbmRsZSBtdWx0aXNlbGVjdCBjYXNlIHdoZXJlIGFuc3dlciBpcyBhbHNvIGFuIGFycmF5XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5vcmlnaW5hbFZhbHVlKSkge1xuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgbm90IGVtcHR5IEFORCBhbGwgc2VsZWN0ZWQgYW5zd2VycyBhcmUgaW4gZXhwZWN0ZWQgYW5zd2Vyc1xuICAgICAgICAgICAgY29uc3QgaXNDb3JyZWN0ID0gdGhpcy5vcmlnaW5hbFZhbHVlLmxlbmd0aCA+IDAgJiYgXG4gICAgICAgICAgICAgIHRoaXMub3JpZ2luYWxWYWx1ZS5ldmVyeShhID0+IHRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5pbmNsdWRlcyhhKSk7XG4gICAgICAgICAgICBpZiAoaXNDb3JyZWN0KSB7XG4gICAgICAgICAgICAgIC8vIEFuc3dlciBpcyBjb3JyZWN0IC0gc2V0IGVtcHR5IHZhbHVlIGluIGhlbHBlclxuICAgICAgICAgICAgICB0aGlzLmhlbHBlckZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIEFuc3dlciBpcyBpbmNvcnJlY3QgLSBzZXQgZGVmYXVsdEhlbHBlclRleHQgaW4gaGVscGVyXG4gICAgICAgICAgICAgIHRoaXMuaGVscGVyRm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5kZWZhdWx0SGVscGVyVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFNpbmdsZSB2YWx1ZSBjYXNlXG4gICAgICAgICAgICBpZiAodGhpcy50b1snc2NvcmluZyddPy5bJ2Fuc3dlciddLmluY2x1ZGVzKHRoaXMub3JpZ2luYWxWYWx1ZSkpIHtcbiAgICAgICAgICAgICAgLy8gQW5zd2VyIGlzIGNvcnJlY3QgLSBzZXQgZW1wdHkgdmFsdWUgaW4gaGVscGVyXG4gICAgICAgICAgICAgIHRoaXMuaGVscGVyRm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gQW5zd2VyIGlzIGluY29ycmVjdCAtIHNldCBkZWZhdWx0SGVscGVyVGV4dCBpbiBoZWxwZXJcbiAgICAgICAgICAgICAgdGhpcy5oZWxwZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRIZWxwZXJUZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3JhbmdlJzpcbiAgICAgICAgY29uc3QgYW5zd2VyID0gdGhpcy5vcmlnaW5hbFZhbHVlO1xuICAgICAgICBjb25zdCBudW0gPSB0eXBlb2YgYW5zd2VyID09PSAnbnVtYmVyJyA/IGFuc3dlciA6IE51bWJlcihhbnN3ZXIpO1xuXG4gICAgICAgIGNvbnN0IGNvcnJlY3QgPVxuICAgICAgICAgIE51bWJlci5pc0Zpbml0ZShudW0pICYmXG4gICAgICAgICAgbnVtID49IHRoaXMudG9bJ3Njb3JpbmcnXT8uWydhbnN3ZXInXS5taW4gJiZcbiAgICAgICAgICBudW0gPD0gdGhpcy50b1snc2NvcmluZyddPy5bJ2Fuc3dlciddLm1heDtcblxuICAgICAgICBpZiAoY29ycmVjdCkge1xuICAgICAgICAgIC8vIEFuc3dlciBpcyBjb3JyZWN0IC0gc2V0IGVtcHR5IHZhbHVlIGluIGhlbHBlclxuICAgICAgICAgIHRoaXMuaGVscGVyRm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEFuc3dlciBpcyBpbmNvcnJlY3QgLSBzZXQgZGVmYXVsdEhlbHBlclRleHQgaW4gaGVscGVyXG4gICAgICAgICAgdGhpcy5oZWxwZXJGb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmRlZmF1bHRIZWxwZXJUZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -63,8 +63,9 @@ import { FormlyMatDatepickerModule } from '@ngx-formly/material/datepicker';
63
63
  import * as i3$4 from '@angular/material/card';
64
64
  import { MatCardModule } from '@angular/material/card';
65
65
  import { MatDatepickerModule } from '@angular/material/datepicker';
66
- import * as i6$3 from '@angular/material/slide-toggle';
66
+ import * as i7$3 from '@angular/material/slide-toggle';
67
67
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
68
+ import * as i4$2 from '@angular/cdk/text-field';
68
69
  import { FormlyMatCheckboxModule } from '@ngx-formly/material/checkbox';
69
70
  import { FormlyMatInputModule } from '@ngx-formly/material/input';
70
71
  import { FormlyMatRadioModule } from '@ngx-formly/material/radio';
@@ -4575,6 +4576,9 @@ class MnlFormHelperTextInputComponent extends FieldType$1 {
4575
4576
  this.checked = true;
4576
4577
  }
4577
4578
  }
4579
+ ngAfterViewInit() {
4580
+ setTimeout(() => this.autosize?.resizeToFitContent(true));
4581
+ }
4578
4582
  toggleSlide() {
4579
4583
  this.checked = !this.checked;
4580
4584
  if (this.checked) {
@@ -4592,10 +4596,27 @@ class MnlFormHelperTextInputComponent extends FieldType$1 {
4592
4596
  setupDefaultField() {
4593
4597
  const fieldConfig = this.to['defaultFieldConfig'];
4594
4598
  if (fieldConfig) {
4599
+ // Get current value from model and sync with formControl
4600
+ const fieldKey = this.field.key;
4601
+ const modelValue = this.field.model?.[fieldKey];
4602
+ // Sync formControl value with model value if it exists
4603
+ if (modelValue !== undefined && modelValue !== null) {
4604
+ this.formControl.setValue(modelValue, { emitEvent: false });
4605
+ }
4606
+ // Create enhanced props with necessary fixes for production
4607
+ const enhancedProps = {
4608
+ ...fieldConfig.props,
4609
+ };
4610
+ // For select fields, add compareWith function to ensure proper value matching in production builds
4611
+ if (fieldConfig.type === 'select' && !enhancedProps['compareWith']) {
4612
+ enhancedProps['compareWith'] = (o1, o2) => o1 === o2;
4613
+ }
4595
4614
  this.defaultFieldConfig = {
4596
- ...fieldConfig,
4615
+ type: fieldConfig.type,
4597
4616
  key: this.field.key || fieldConfig.key || 'defaultKey',
4598
4617
  formControl: this.formControl,
4618
+ props: enhancedProps,
4619
+ wrappers: fieldConfig.wrappers || [],
4599
4620
  modelOptions: fieldConfig.modelOptions || this.field.modelOptions || {},
4600
4621
  validators: fieldConfig.validators || this.field.validators || {},
4601
4622
  asyncValidators: fieldConfig.asyncValidators || this.field.asyncValidators || {},
@@ -4617,9 +4638,22 @@ class MnlFormHelperTextInputComponent extends FieldType$1 {
4617
4638
  // Auto-open helper based on scoring criteria
4618
4639
  switch (this.to['scoring']?.['criteria']) {
4619
4640
  case 'exactMatch':
4620
- if (Array.isArray(this.to['scoring']?.['answer']) &&
4621
- !this.to['scoring']?.['answer'].includes(this.originalValue)) {
4622
- this.checked = true;
4641
+ if (Array.isArray(this.to['scoring']?.['answer'])) {
4642
+ // Handle multiselect case where answer is also an array
4643
+ if (Array.isArray(this.originalValue)) {
4644
+ // Check if not empty AND all selected answers are in expected answers
4645
+ const isCorrect = this.originalValue.length > 0 &&
4646
+ this.originalValue.every(a => this.to['scoring']?.['answer'].includes(a));
4647
+ if (!isCorrect) {
4648
+ this.checked = true;
4649
+ }
4650
+ }
4651
+ else {
4652
+ // Single value case
4653
+ if (!this.to['scoring']?.['answer'].includes(this.originalValue)) {
4654
+ this.checked = true;
4655
+ }
4656
+ }
4623
4657
  }
4624
4658
  break;
4625
4659
  case 'range':
@@ -4647,13 +4681,30 @@ class MnlFormHelperTextInputComponent extends FieldType$1 {
4647
4681
  break;
4648
4682
  case 'exactMatch':
4649
4683
  if (Array.isArray(this.to['scoring']?.['answer'])) {
4650
- if (this.to['scoring']?.['answer'].includes(this.originalValue)) {
4651
- // Answer is correct - set empty value in helper
4652
- this.helperFormControl.setValue('');
4684
+ // Handle multiselect case where answer is also an array
4685
+ if (Array.isArray(this.originalValue)) {
4686
+ // Check if not empty AND all selected answers are in expected answers
4687
+ const isCorrect = this.originalValue.length > 0 &&
4688
+ this.originalValue.every(a => this.to['scoring']?.['answer'].includes(a));
4689
+ if (isCorrect) {
4690
+ // Answer is correct - set empty value in helper
4691
+ this.helperFormControl.setValue('');
4692
+ }
4693
+ else {
4694
+ // Answer is incorrect - set defaultHelperText in helper
4695
+ this.helperFormControl.setValue(this.defaultHelperText);
4696
+ }
4653
4697
  }
4654
4698
  else {
4655
- // Answer is incorrect - set defaultHelperText in helper
4656
- this.helperFormControl.setValue(this.defaultHelperText);
4699
+ // Single value case
4700
+ if (this.to['scoring']?.['answer'].includes(this.originalValue)) {
4701
+ // Answer is correct - set empty value in helper
4702
+ this.helperFormControl.setValue('');
4703
+ }
4704
+ else {
4705
+ // Answer is incorrect - set defaultHelperText in helper
4706
+ this.helperFormControl.setValue(this.defaultHelperText);
4707
+ }
4657
4708
  }
4658
4709
  }
4659
4710
  break;
@@ -4677,7 +4728,7 @@ class MnlFormHelperTextInputComponent extends FieldType$1 {
4677
4728
  }
4678
4729
  }
4679
4730
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MnlFormHelperTextInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
4680
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MnlFormHelperTextInputComponent, isStandalone: true, selector: "mu-helper-text", usesInheritance: true, ngImport: i0, template: `
4731
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MnlFormHelperTextInputComponent, isStandalone: true, selector: "mu-helper-text", viewQueries: [{ propertyName: "autosize", first: true, predicate: ["autosize"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
4681
4732
  <div class="helper-text-container">
4682
4733
  <!-- Helper Mode - Show toggle and conditional content -->
4683
4734
  <div *ngIf="to['enableHelper']">
@@ -4694,12 +4745,14 @@ class MnlFormHelperTextInputComponent extends FieldType$1 {
4694
4745
 
4695
4746
  <mat-form-field class="textarea" appearance="outline" *ngIf="checked">
4696
4747
  <textarea
4748
+ cdkTextareaAutosize
4749
+ #autosize="cdkTextareaAutosize"
4750
+ cdkAutosizeMinRows="2"
4697
4751
  matInput
4698
4752
  [formControl]="helperFormControl"
4699
4753
  [readonly]="readonly || field.form?.disabled"
4700
4754
  [disabled]="field.form?.disabled"
4701
- >
4702
- </textarea>
4755
+ ></textarea>
4703
4756
  </mat-form-field>
4704
4757
  </div>
4705
4758
 
@@ -4709,7 +4762,7 @@ class MnlFormHelperTextInputComponent extends FieldType$1 {
4709
4762
  </formly-field>
4710
4763
  </div>
4711
4764
  </div>
4712
- `, isInline: true, styles: [".helper-text-container{display:flex;flex-direction:column}.answer{font-size:12px}.textarea{margin:0!important;width:100%}.flex-row{display:flex;flex-direction:row;justify-content:space-between}.w-full{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2$1.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i6$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatNativeDateModule }] }); }
4765
+ `, isInline: true, styles: [".helper-text-container{display:flex;flex-direction:column}.answer{font-size:12px}.textarea{margin:0!important;width:100%}.flex-row{display:flex;flex-direction:row;justify-content:space-between}.w-full{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$2.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2$1.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i7$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "ngmodule", type: MatNativeDateModule }] }); }
4713
4766
  }
4714
4767
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MnlFormHelperTextInputComponent, decorators: [{
4715
4768
  type: Component,
@@ -4741,12 +4794,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4741
4794
 
4742
4795
  <mat-form-field class="textarea" appearance="outline" *ngIf="checked">
4743
4796
  <textarea
4797
+ cdkTextareaAutosize
4798
+ #autosize="cdkTextareaAutosize"
4799
+ cdkAutosizeMinRows="2"
4744
4800
  matInput
4745
4801
  [formControl]="helperFormControl"
4746
4802
  [readonly]="readonly || field.form?.disabled"
4747
4803
  [disabled]="field.form?.disabled"
4748
- >
4749
- </textarea>
4804
+ ></textarea>
4750
4805
  </mat-form-field>
4751
4806
  </div>
4752
4807
 
@@ -4757,7 +4812,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4757
4812
  </div>
4758
4813
  </div>
4759
4814
  `, styles: [".helper-text-container{display:flex;flex-direction:column}.answer{font-size:12px}.textarea{margin:0!important;width:100%}.flex-row{display:flex;flex-direction:row;justify-content:space-between}.w-full{width:100%}\n"] }]
4760
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
4815
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { autosize: [{
4816
+ type: ViewChild,
4817
+ args: ['autosize']
4818
+ }] } });
4761
4819
 
4762
4820
  const mnlFormProviders = [
4763
4821
  importProvidersFrom(CommonsModule.forRoot(), CommonModule, ReactiveFormsModule, FormlyModule.forRoot({
@@ -4918,7 +4976,15 @@ class ScoringService {
4918
4976
  break;
4919
4977
  case 'exactMatch':
4920
4978
  if (Array.isArray(scoring.answer)) {
4921
- correct = scoring.answer.includes(answer);
4979
+ // Handle case where answer is also an array (multiselect)
4980
+ if (Array.isArray(answer)) {
4981
+ // Check if answer is not empty AND all selected answers are in the expected answers
4982
+ correct = answer.length > 0 && answer.every(a => scoring.answer.includes(a));
4983
+ }
4984
+ else {
4985
+ // Single value case
4986
+ correct = scoring.answer.includes(answer);
4987
+ }
4922
4988
  }
4923
4989
  break;
4924
4990
  case 'range':