@livetronics/wocul-email-config 1.3.0 → 1.5.0

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.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './types';
2
2
  export { EMAIL_TEMPLATES } from './templates';
3
3
  export { default as EMAIL_TEMPLATES_DEFAULT } from './templates';
4
- export { getEmailTemplate, validateEmailParams, getValidEventTypes, getValidSubCategories, getTemplateName, getSubject } from './validation';
4
+ export { getEmailTemplate, validateEmailParams, getValidEventTypes, getValidSubCategories, getTemplateName, getSubject, sanitizeSubjectValue, renderSubject } from './validation';
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.getSubject = exports.getTemplateName = exports.getValidSubCategories = exports.getValidEventTypes = exports.validateEmailParams = exports.getEmailTemplate = exports.EMAIL_TEMPLATES_DEFAULT = exports.EMAIL_TEMPLATES = void 0;
20
+ exports.renderSubject = exports.sanitizeSubjectValue = exports.getSubject = exports.getTemplateName = exports.getValidSubCategories = exports.getValidEventTypes = exports.validateEmailParams = exports.getEmailTemplate = exports.EMAIL_TEMPLATES_DEFAULT = exports.EMAIL_TEMPLATES = void 0;
21
21
  // Export all types
22
22
  __exportStar(require("./types"), exports);
23
23
  // Export templates
@@ -33,4 +33,6 @@ Object.defineProperty(exports, "getValidEventTypes", { enumerable: true, get: fu
33
33
  Object.defineProperty(exports, "getValidSubCategories", { enumerable: true, get: function () { return validation_1.getValidSubCategories; } });
34
34
  Object.defineProperty(exports, "getTemplateName", { enumerable: true, get: function () { return validation_1.getTemplateName; } });
35
35
  Object.defineProperty(exports, "getSubject", { enumerable: true, get: function () { return validation_1.getSubject; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQkFBbUI7QUFDbkIsMENBQXVCO0FBRXZCLG1CQUFtQjtBQUNuQix5Q0FBNkM7QUFBcEMsNEdBQUEsZUFBZSxPQUFBO0FBQ3hCLHlDQUFnRTtBQUF2RCxxSUFBQSxPQUFPLE9BQTJCO0FBRTNDLDhCQUE4QjtBQUM5QiwyQ0FPcUI7QUFObkIsOEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsaUhBQUEsbUJBQW1CLE9BQUE7QUFDbkIsZ0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIsbUhBQUEscUJBQXFCLE9BQUE7QUFDckIsNkdBQUEsZUFBZSxPQUFBO0FBQ2Ysd0dBQUEsVUFBVSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRXhwb3J0IGFsbCB0eXBlc1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcblxuLy8gRXhwb3J0IHRlbXBsYXRlc1xuZXhwb3J0IHsgRU1BSUxfVEVNUExBVEVTIH0gZnJvbSAnLi90ZW1wbGF0ZXMnXG5leHBvcnQgeyBkZWZhdWx0IGFzIEVNQUlMX1RFTVBMQVRFU19ERUZBVUxUIH0gZnJvbSAnLi90ZW1wbGF0ZXMnXG5cbi8vIEV4cG9ydCB2YWxpZGF0aW9uIGZ1bmN0aW9uc1xuZXhwb3J0IHtcbiAgZ2V0RW1haWxUZW1wbGF0ZSxcbiAgdmFsaWRhdGVFbWFpbFBhcmFtcyxcbiAgZ2V0VmFsaWRFdmVudFR5cGVzLFxuICBnZXRWYWxpZFN1YkNhdGVnb3JpZXMsXG4gIGdldFRlbXBsYXRlTmFtZSxcbiAgZ2V0U3ViamVjdFxufSBmcm9tICcuL3ZhbGlkYXRpb24nIl19
36
+ Object.defineProperty(exports, "sanitizeSubjectValue", { enumerable: true, get: function () { return validation_1.sanitizeSubjectValue; } });
37
+ Object.defineProperty(exports, "renderSubject", { enumerable: true, get: function () { return validation_1.renderSubject; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtQkFBbUI7QUFDbkIsMENBQXVCO0FBRXZCLG1CQUFtQjtBQUNuQix5Q0FBNkM7QUFBcEMsNEdBQUEsZUFBZSxPQUFBO0FBQ3hCLHlDQUFnRTtBQUF2RCxxSUFBQSxPQUFPLE9BQTJCO0FBRTNDLDhCQUE4QjtBQUM5QiwyQ0FTcUI7QUFSbkIsOEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsaUhBQUEsbUJBQW1CLE9BQUE7QUFDbkIsZ0hBQUEsa0JBQWtCLE9BQUE7QUFDbEIsbUhBQUEscUJBQXFCLE9BQUE7QUFDckIsNkdBQUEsZUFBZSxPQUFBO0FBQ2Ysd0dBQUEsVUFBVSxPQUFBO0FBQ1Ysa0hBQUEsb0JBQW9CLE9BQUE7QUFDcEIsMkdBQUEsYUFBYSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRXhwb3J0IGFsbCB0eXBlc1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcydcblxuLy8gRXhwb3J0IHRlbXBsYXRlc1xuZXhwb3J0IHsgRU1BSUxfVEVNUExBVEVTIH0gZnJvbSAnLi90ZW1wbGF0ZXMnXG5leHBvcnQgeyBkZWZhdWx0IGFzIEVNQUlMX1RFTVBMQVRFU19ERUZBVUxUIH0gZnJvbSAnLi90ZW1wbGF0ZXMnXG5cbi8vIEV4cG9ydCB2YWxpZGF0aW9uIGZ1bmN0aW9uc1xuZXhwb3J0IHtcbiAgZ2V0RW1haWxUZW1wbGF0ZSxcbiAgdmFsaWRhdGVFbWFpbFBhcmFtcyxcbiAgZ2V0VmFsaWRFdmVudFR5cGVzLFxuICBnZXRWYWxpZFN1YkNhdGVnb3JpZXMsXG4gIGdldFRlbXBsYXRlTmFtZSxcbiAgZ2V0U3ViamVjdCxcbiAgc2FuaXRpemVTdWJqZWN0VmFsdWUsXG4gIHJlbmRlclN1YmplY3Rcbn0gZnJvbSAnLi92YWxpZGF0aW9uJyJdfQ==
package/dist/templates.js CHANGED
@@ -66,6 +66,29 @@ exports.EMAIL_TEMPLATES = {
66
66
  status: 'completed',
67
67
  templateFile: 'account-deleted.html'
68
68
  }
69
+ },
70
+ 'Demo-Request': {
71
+ 'Schedule-Demo': {
72
+ templateName: {
73
+ development: 'modern-v2-Wocul-Collab-Schedule-Demo',
74
+ qa: 'modern-v2-Wocul-Collab-Schedule-Demo',
75
+ production: 'modern-v2-Wocul-Collab-Schedule-Demo'
76
+ },
77
+ subject: 'New Demo Request from {{name}}',
78
+ variables: [
79
+ 'name',
80
+ 'email',
81
+ 'company',
82
+ 'industry',
83
+ 'team_size',
84
+ 'message',
85
+ 'submitted_date',
86
+ 'submitted_time'
87
+ ],
88
+ description: 'Notification when a prospect submits a demo request',
89
+ status: 'completed',
90
+ templateFile: 'demo-request.html'
91
+ }
69
92
  }
70
93
  },
71
94
  Staff: {
@@ -403,4 +426,4 @@ exports.EMAIL_TEMPLATES = {
403
426
  }
404
427
  };
405
428
  exports.default = exports.EMAIL_TEMPLATES;
406
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLGVBQWUsR0FBeUI7SUFDbkQsa0JBQWtCLEVBQUU7UUFDbEIsWUFBWSxFQUFFO1lBQ1osV0FBVyxFQUFFLDJDQUEyQztZQUN4RCxFQUFFLEVBQUUsMkNBQTJDO1lBQy9DLFVBQVUsRUFBRSwyQ0FBMkM7U0FDeEQ7UUFDRCxPQUFPLEVBQUUsYUFBYTtRQUN0QixTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0tBQy9CO0lBRUQsTUFBTSxFQUFFO1FBQ04sR0FBRyxFQUFFO1lBQ0gsV0FBVyxFQUFFO2dCQUNYLFlBQVksRUFBRTtvQkFDWixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxFQUFFLEVBQUUsa0NBQWtDO29CQUN0QyxVQUFVLEVBQUUsa0NBQWtDO2lCQUMvQztnQkFDRCxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQztnQkFDckUsV0FBVyxFQUFFLDBDQUEwQztnQkFDdkQsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFlBQVksRUFBRSxVQUFVO2FBQ3pCO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUU7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLEVBQUUsRUFBRSxnQ0FBZ0M7b0JBQ3BDLFVBQVUsRUFBRSxnQ0FBZ0M7aUJBQzdDO2dCQUNELE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFNBQVMsRUFBRTtvQkFDVCxXQUFXO29CQUNYLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixTQUFTO29CQUNULGlCQUFpQjtvQkFDakIsZUFBZTtpQkFDaEI7Z0JBQ0QsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsTUFBTSxFQUFFLFdBQVc7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QWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW1haWxUZW1wbGF0ZXNDb25maWcgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgRU1BSUxfVEVNUExBVEVTOiBFbWFpbFRlbXBsYXRlc0NvbmZpZyA9IHtcbiAgJ0RlZmF1bHQtVGVtcGxhdGUnOiB7XG4gICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1EZWZhdWx0LVRlbXBsYXRlLTIwMjIwMjI1MDYyNjIyJyxcbiAgICAgIHFhOiAnbW9kZXJuLXYyLURlZmF1bHQtVGVtcGxhdGUtMjAyMjAyMjUwNjI2MjInLFxuICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1EZWZhdWx0LVRlbXBsYXRlLTIwMjIwMjI1MDYyNjIyJ1xuICAgIH0sXG4gICAgc3ViamVjdDogJ3t7c3ViamVjdH19JyxcbiAgICB2YXJpYWJsZXM6IFsnc3ViamVjdCcsICdib2R5J11cbiAgfSxcblxuICBDb21tb246IHtcbiAgICBPVFA6IHtcbiAgICAgICdFbWFpbC1PVFAnOiB7XG4gICAgICAgIHRlbXBsYXRlTmFtZToge1xuICAgICAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1FbWFpbC1PVFAnLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1FbWFpbC1PVFAnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUVtYWlsLU9UUCdcbiAgICAgICAgfSxcbiAgICAgICAgc3ViamVjdDogJ1lvdXIgT1RQIGZvciB7e3B1cnBvc2V9fScsXG4gICAgICAgIHZhcmlhYmxlczogWydyZWNpcGllbnRfbmFtZScsICdwdXJwb3NlJywgJ290cF9jb2RlJywgJ3N1cHBvcnRfZW1haWwnXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPbiBnZW5lcmF0aW5nIGVtYWlsIE9UUCBmb3IgdmVyaWZpY2F0aW9uJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnb3RwLmh0bWwnXG4gICAgICB9XG4gICAgfSxcbiAgICBXZWxjb21lOiB7XG4gICAgICAnVXNlci1XZWxjb21lJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItV2VsY29tZScsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVdlbGNvbWUnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVdlbGNvbWUnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdXZWxjb21lIHRvIFdvY3VsJyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3VzZXJfbmFtZScsXG4gICAgICAgICAgJ2lvc19hcHBfdXJsJyxcbiAgICAgICAgICAnYW5kcm9pZF9hcHBfdXJsJyxcbiAgICAgICAgICAnYXBwX3VybCcsXG4gICAgICAgICAgJ2hlbHBfY2VudGVyX3VybCcsXG4gICAgICAgICAgJ3N1cHBvcnRfZW1haWwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnV2VsY29tZSBlbWFpbCBmb3IgbmV3IHVzZXJzJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnd2VsY29tZS5odG1sJ1xuICAgICAgfVxuICAgIH0sXG4gICAgQWNjb3VudDoge1xuICAgICAgJ0FjY291bnQtRGVsZXRlZCc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFjY291bnQtRGVsZXRlZCcsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFjY291bnQtRGVsZXRlZCcsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQWNjb3VudC1EZWxldGVkJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnWW91ciBBY2NvdW50IEhhcyBCZWVuIERlbGV0ZWQnLFxuICAgICAgICB2YXJpYWJsZXM6IFtcbiAgICAgICAgICAndXNlcl9uYW1lJyxcbiAgICAgICAgICAndXNlcl9lbWFpbCcsXG4gICAgICAgICAgJ2RlbGV0ZWRfZGF0ZScsXG4gICAgICAgICAgJ2RlbGV0ZWRfdGltZScsXG4gICAgICAgICAgJ3N1cHBvcnRfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdGlmaWNhdGlvbiB3aGVuIHVzZXIgYWNjb3VudCBpcyBkZWxldGVkJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnYWNjb3VudC1kZWxldGVkLmh0bWwnXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIFN0YWZmOiB7XG4gICAgVGFzazoge1xuICAgICAgJ1Rhc2stQXNzaWduZWQnOiB7XG4gICAgICAgIHRlbXBsYXRlTmFtZToge1xuICAgICAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1UYXNrLUFzc2lnbm1lbnQnLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1UYXNrLUFzc2lnbm1lbnQnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVRhc2stQXNzaWdubWVudCdcbiAgICAgICAgfSxcbiAgICAgICAgc3ViamVjdDogJ1Rhc2sgQXNzaWduZWQ6IHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ2Fzc2lnbmVlJyxcbiAgICAgICAgICAnYXNzaWduZXInLFxuICAgICAgICAgICdhc3NpZ25lcl9pbml0aWFscycsXG4gICAgICAgICAgJ3Rhc2tfaWQnLFxuICAgICAgICAgICd0YXNrX3RpdGxlJyxcbiAgICAgICAgICAncHJvamVjdF9pZCcsXG4gICAgICAgICAgJ3Byb2plY3RfbmFtZScsXG4gICAgICAgICAgJ3ByaW9yaXR5JyxcbiAgICAgICAgICAncHJpb3JpdHlfY2xhc3MnLFxuICAgICAgICAgICdyZXBvcnRlcicsXG4gICAgICAgICAgJ3JlcG9ydGVyX2Rlc2lnbmF0aW9uJyxcbiAgICAgICAgICAnZGVhZGxpbmUnLFxuICAgICAgICAgICd0YXNrX3VybCcsXG4gICAgICAgICAgJ2hlbHBfY2VudGVyX3VybCcsXG4gICAgICAgICAgJ3N1cHBvcnRfZW1haWwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT24gYXNzaWduaW5nIGEgdGFzayB0byBhIHVzZXInLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICd0YXNrYXNzaWduZWQuaHRtbCdcbiAgICAgIH0sXG4gICAgICAnVGFzay1PdmVyZHVlLUFzc2lnbmVlJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVGFza092ZXJkdWUtQXNzaWduZWUnLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1UYXNrT3ZlcmR1ZS1Bc3NpZ25lZScsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVGFza092ZXJkdWUtQXNzaWduZWUnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdUYXNrIE92ZXJkdWU6IHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ2Fzc2lnbmVlJyxcbiAgICAgICAgICAndGFza19pZCcsXG4gICAgICAgICAgJ3Rhc2tfdGl0bGUnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICdkdWVfZGF0ZScsXG4gICAgICAgICAgJ3ByaW9yaXR5JyxcbiAgICAgICAgICAncHJpb3JpdHlfY2xhc3MnLFxuICAgICAgICAgICdib2FyZF9uYW1lJyxcbiAgICAgICAgICAna2FuYmFuX2NvbHVtbicsXG4gICAgICAgICAgJ3Rhc2tfdXJsJyxcbiAgICAgICAgICAnc3VwcG9ydF9lbWFpbCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPdmVyZHVlIHRhc2sgbm90aWZpY2F0aW9uIGZvciB0aGUgYXNzaWduZWUnLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICd0YXNrb3ZlcmR1ZS1hc3NpZ25lZS5odG1sJ1xuICAgICAgfSxcbiAgICAgICdUYXNrLU92ZXJkdWUtU3Rha2Vob2xkZXInOiB7XG4gICAgICAgIHRlbXBsYXRlTmFtZToge1xuICAgICAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1UYXNrT3ZlcmR1ZS1TdGFrZWhvbGRlcicsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVRhc2tPdmVyZHVlLVN0YWtlaG9sZGVyJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1UYXNrT3ZlcmR1ZS1TdGFrZWhvbGRlcidcbiAgICAgICAgfSxcbiAgICAgICAgc3ViamVjdDogJ1Rhc2sgT3ZlcmR1ZToge3t0YXNrX3RpdGxlfX0nLFxuICAgICAgICB2YXJpYWJsZXM6IFtcbiAgICAgICAgICAncmVjaXBpZW50X25hbWUnLFxuICAgICAgICAgICdzdGFrZWhvbGRlcl9yb2xlJyxcbiAgICAgICAgICAndGFza19pZCcsXG4gICAgICAgICAgJ3Rhc2tfdGl0bGUnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICdkdWVfZGF0ZScsXG4gICAgICAgICAgJ2Fzc2lnbmVlJyxcbiAgICAgICAgICAnYXNzaWduZWVfaW5pdGlhbHMnLFxuICAgICAgICAgICdwcmlvcml0eScsXG4gICAgICAgICAgJ3ByaW9yaXR5X2NsYXNzJyxcbiAgICAgICAgICAnYm9hcmRfbmFtZScsXG4gICAgICAgICAgJ2thbmJhbl9jb2x1bW4nLFxuICAgICAgICAgICd0YXNrX3VybCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPdmVyZHVlIHRhc2sgbm90aWZpY2F0aW9uIGZvciBzdGFrZWhvbGRlcnMgKHJlcG9ydGVycywgd2F0Y2hlcnMpJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAndGFza292ZXJkdWUtc3Rha2Vob2xkZXIuaHRtbCdcbiAgICAgIH0sXG4gICAgICAnQXBwcm92YWwtTmVlZGVkJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQXBwcm92YWwtTmVlZGVkJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQXBwcm92YWwtTmVlZGVkJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1BcHByb3ZhbC1OZWVkZWQnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdBcHByb3ZhbCBOZWVkZWQ6IHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ2FwcHJvdmVyX25hbWUnLFxuICAgICAgICAgICd0YXNrX2lkJyxcbiAgICAgICAgICAndGFza190aXRsZScsXG4gICAgICAgICAgJ3Byb2plY3RfaWQnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICdwcmlvcml0eScsXG4gICAgICAgICAgJ2FpX3N1bW1hcnknLFxuICAgICAgICAgICd0YXNrX3VybCcsXG4gICAgICAgICAgJ2hlbHBfY2VudGVyX3VybCcsXG4gICAgICAgICAgJ3N1cHBvcnRfZW1haWwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm90aWZpY2F0aW9uIHdoZW4gYXBwcm92YWwgaXMgbmVlZGVkIGZvciBhIHRhc2snLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdhcHByb3ZhbG5lZWRlZC5odG1sJ1xuICAgICAgfVxuICAgIH0sXG4gICAgUHJvamVjdDoge1xuICAgICAgJ01lbWJlci1JbnZpdGF0aW9uJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItUHJvamVjdC1JbnZpdGF0aW9uJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItUHJvamVjdC1JbnZpdGF0aW9uJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1Qcm9qZWN0LUludml0YXRpb24nXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICd7e2ludml0ZXJfbmFtZX19IGludml0ZWQgeW91IHRvIHt7cHJvamVjdF9uYW1lfX0nLFxuICAgICAgICB2YXJpYWJsZXM6IFtcbiAgICAgICAgICAncmVjaXBpZW50X25hbWUnLFxuICAgICAgICAgICdpbnZpdGVyX25hbWUnLFxuICAgICAgICAgICdpbnZpdGVyX2luaXRpYWxzJyxcbiAgICAgICAgICAnaW52aXRlcl9kZXNpZ25hdGlvbicsXG4gICAgICAgICAgJ29yZ2FuaXNhdGlvbl9uYW1lJyxcbiAgICAgICAgICAncHJvamVjdF9pZCcsXG4gICAgICAgICAgJ3Byb2plY3RfbmFtZScsXG4gICAgICAgICAgJ3Byb2plY3RfZGVzY3JpcHRpb24nLFxuICAgICAgICAgICdyb2xlJyxcbiAgICAgICAgICAnaW52aXRlX2NvZGUnLFxuICAgICAgICAgICdpbnZpdGVfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09uIGludml0aW5nIGEgdXNlciB0byBhIHByb2plY3QnLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdwcm9qZWN0aW52aXRlLmh0bWwnXG4gICAgICB9LFxuICAgICAgJ01lbWJlci1SZW1vdmVkJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItTWVtYmVyLVJlbW92ZWQnLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1NZW1iZXItUmVtb3ZlZCcsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItTWVtYmVyLVJlbW92ZWQnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdZb3UgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB7e3Byb2plY3RfbmFtZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3JlY2lwaWVudF9uYW1lJyxcbiAgICAgICAgICAncmVtb3Zlcl9uYW1lJyxcbiAgICAgICAgICAncmVtb3Zlcl9pbml0aWFscycsXG4gICAgICAgICAgJ3Byb2plY3RfbmFtZScsXG4gICAgICAgICAgJ3Byb2plY3RfaWQnLFxuICAgICAgICAgICdyZW1vdmFsX2RhdGUnLFxuICAgICAgICAgICdwcm9qZWN0c191cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm90aWZpY2F0aW9uIHdoZW4gYSB1c2VyIGlzIHJlbW92ZWQgZnJvbSBhIHByb2plY3QnLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdtZW1iZXItcmVtb3ZlZC5odG1sJ1xuICAgICAgfSxcbiAgICAgICdQcm9qZWN0LUtpY2tzdGFydCc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVByb2plY3QtS2lja3N0YXJ0JyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItUHJvamVjdC1LaWNrc3RhcnQnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVByb2plY3QtS2lja3N0YXJ0J1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnV2VsY29tZSB0byB7e3Byb2plY3RfbmFtZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ2NyZWF0b3JfbmFtZScsXG4gICAgICAgICAgJ3Byb2plY3RfbmFtZScsXG4gICAgICAgICAgJ2NyZWF0ZWRfZGF0ZScsXG4gICAgICAgICAgJ3Byb2plY3RfdXJsJyxcbiAgICAgICAgICAnaGVscF91cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnV2VsY29tZSBlbWFpbCB3aGVuIGEgbmV3IHByb2plY3QgaXMgY3JlYXRlZCcsXG4gICAgICAgIHN0YXR1czogJ2NvbXBsZXRlZCcsXG4gICAgICAgIHRlbXBsYXRlRmlsZTogJ3Byb2plY3Qta2lja3N0YXJ0Lmh0bWwnXG4gICAgICB9XG4gICAgfSxcbiAgICBNZW50aW9uOiB7XG4gICAgICAnVXNlci1NZW50aW9uJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVXNlci1NZW50aW9uJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVXNlci1NZW50aW9uJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1Vc2VyLU1lbnRpb24nXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdZb3Ugd2VyZSBtZW50aW9uZWQgaW4ge3t0YXNrX3RpdGxlfX0nLFxuICAgICAgICB2YXJpYWJsZXM6IFtcbiAgICAgICAgICAncmVjaXBpZW50X25hbWUnLFxuICAgICAgICAgICdtZW50aW9uZXJfbmFtZScsXG4gICAgICAgICAgJ21lbnRpb25lcl9pbml0aWFscycsXG4gICAgICAgICAgJ3Byb2plY3RfbmFtZScsXG4gICAgICAgICAgJ3Rhc2tfaWQnLFxuICAgICAgICAgICd0YXNrX3RpdGxlJyxcbiAgICAgICAgICAnY29tbWVudF9wcmV2aWV3JyxcbiAgICAgICAgICAnY29tbWVudF9iZWZvcmVfbWVudGlvbicsXG4gICAgICAgICAgJ2NvbW1lbnRfYWZ0ZXJfbWVudGlvbicsXG4gICAgICAgICAgJ2NvbW1lbnRfdGltZScsXG4gICAgICAgICAgJ3JlcGx5X3VybCcsXG4gICAgICAgICAgJ3Rhc2tfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdGlmaWNhdGlvbiB3aGVuIGEgdXNlciBpcyBtZW50aW9uZWQgaW4gYSBjb21tZW50JyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnbWVudGlvbi5odG1sJ1xuICAgICAgfSxcbiAgICAgICdBSS1NZW50aW9uJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQUktTWVudGlvbicsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFJLU1lbnRpb24nLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFJLU1lbnRpb24nXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdXT0NVTCBBSSBtZW50aW9uZWQgeW91IGluIHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3JlY2lwaWVudF9uYW1lJyxcbiAgICAgICAgICAncHJvamVjdF9uYW1lJyxcbiAgICAgICAgICAndGFza19pZCcsXG4gICAgICAgICAgJ3Rhc2tfdGl0bGUnLFxuICAgICAgICAgICdhaV93ZWxjb21lX21lc3NhZ2UnLFxuICAgICAgICAgICd0YXNrX3VybCcsXG4gICAgICAgICAgJ3NldHRpbmdzX3VybCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOb3RpZmljYXRpb24gd2hlbiBXT0NVTCBBSSBtZW50aW9ucyBhIHVzZXInLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdtZW50aW9uLWFpLmh0bWwnXG4gICAgICB9XG4gICAgfSxcbiAgICBGZWVkYmFjazoge1xuICAgICAgJ0ZlZWRiYWNrLVJlY2VpdmVkJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRmVlZGJhY2stUmVjZWl2ZWQnLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1GZWVkYmFjay1SZWNlaXZlZCcsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRmVlZGJhY2stUmVjZWl2ZWQnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdGZWVkYmFjayBvbiB7e3Rhc2tfdGl0bGV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdyZWNpcGllbnRfbmFtZScsXG4gICAgICAgICAgJ3NlbmRlcl9uYW1lJyxcbiAgICAgICAgICAnc2VuZGVyX2luaXRpYWxzJyxcbiAgICAgICAgICAndGFza190aXRsZScsXG4gICAgICAgICAgJ3JhdGluZ19zdGFycycsXG4gICAgICAgICAgJ2ZlZWRiYWNrX21lc3NhZ2UnLFxuICAgICAgICAgICdmZWVkYmFja190aW1lJyxcbiAgICAgICAgICAndGFza191cmwnLFxuICAgICAgICAgICdzZXR0aW5nc191cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm90aWZpY2F0aW9uIHdoZW4gZmVlZGJhY2sgaXMgcmVjZWl2ZWQgb24gYSB0YXNrJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnZmVlZGJhY2stcmVjZWl2ZWQuaHRtbCdcbiAgICAgIH0sXG4gICAgICAnRmVlZGJhY2stUHJvbXB0Jzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRmVlZGJhY2stUHJvbXB0JyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRmVlZGJhY2stUHJvbXB0JyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1GZWVkYmFjay1Qcm9tcHQnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdTaGFyZSB5b3VyIGZlZWRiYWNrIG9uIHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3JlcG9ydGVyX25hbWUnLFxuICAgICAgICAgICd0YXNrX3RpdGxlJyxcbiAgICAgICAgICAnZGF5c19zaW5jZV9jb21wbGV0aW9uJyxcbiAgICAgICAgICAnZGF5c19wbHVyYWwnLFxuICAgICAgICAgICdjb21wbGV0aW9uX2RhdGUnLFxuICAgICAgICAgICdwYXJ0aWNpcGFudHMnLFxuICAgICAgICAgICdmZWVkYmFja191cmwnLFxuICAgICAgICAgICd0YXNrX3VybCcsXG4gICAgICAgICAgJ3NldHRpbmdzX3VybCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdSZW1pbmRlciB0byBwcm92aWRlIGZlZWRiYWNrIG9uIGEgY29tcGxldGVkIHRhc2snLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdmZWVkYmFjay1wcm9tcHQuaHRtbCdcbiAgICAgIH0sXG4gICAgICAnQUktRmVlZGJhY2snOiB7XG4gICAgICAgIHRlbXBsYXRlTmFtZToge1xuICAgICAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1BSS1GZWVkYmFjaycsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFJLUZlZWRiYWNrJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1BSS1GZWVkYmFjaydcbiAgICAgICAgfSxcbiAgICAgICAgc3ViamVjdDogJ0FJIEZlZWRiYWNrIG9uIHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3JlY2lwaWVudF9uYW1lJyxcbiAgICAgICAgICAndGFza190aXRsZScsXG4gICAgICAgICAgJ2FpX2ZlZWRiYWNrX21lc3NhZ2UnLFxuICAgICAgICAgICdpbnNpZ2h0cycsXG4gICAgICAgICAgJ3Rhc2tfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0FJLWdlbmVyYXRlZCBmZWVkYmFjayBvbiB0YXNrIGNvbXBsZXRpb24nLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdmZWVkYmFjay1haS5odG1sJ1xuICAgICAgfVxuICAgIH0sXG4gICAgJ0FJLUluc2lnaHRzJzoge1xuICAgICAgJ0JvYXJkLUluc2lnaHRzLVJlYWR5Jzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQm9hcmQtSW5zaWdodHMnLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1Cb2FyZC1JbnNpZ2h0cycsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQm9hcmQtSW5zaWdodHMnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdOZXcgaW5zaWdodHMgZm9yIHt7Ym9hcmRfbmFtZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ293bmVyX25hbWUnLFxuICAgICAgICAgICdib2FyZF9uYW1lJyxcbiAgICAgICAgICAncHJvamVjdF9uYW1lJyxcbiAgICAgICAgICAnaW5zaWdodHNfc3VtbWFyeScsXG4gICAgICAgICAgJ2dlbmVyYXRlZF9kYXRlJyxcbiAgICAgICAgICAnZ2VuZXJhdGVkX3RpbWUnLFxuICAgICAgICAgICdpbnNpZ2h0c191cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm90aWZpY2F0aW9uIHdoZW4gQUkgaW5zaWdodHMgYXJlIHJlYWR5IGZvciBhIGJvYXJkJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnYm9hcmQtaW5zaWdodHMtcmVhZHkuaHRtbCdcbiAgICAgIH1cbiAgICB9LFxuICAgICdEYWlseS1EaWdlc3QnOiB7XG4gICAgICAnRGFpbHktVGFzay1EaWdlc3QnOiB7XG4gICAgICAgIHRlbXBsYXRlTmFtZToge1xuICAgICAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1EYWlseS1EaWdlc3QnLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1EYWlseS1EaWdlc3QnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLURhaWx5LURpZ2VzdCdcbiAgICAgICAgfSxcbiAgICAgICAgc3ViamVjdDogJ1lvdXIgRGFpbHkgVGFzayBEaWdlc3QgLSB7e2RhdGVfZm9ybWF0dGVkfX0nLFxuICAgICAgICB2YXJpYWJsZXM6IFtcbiAgICAgICAgICAndXNlcl9uYW1lJyxcbiAgICAgICAgICAnZGF0ZV9mb3JtYXR0ZWQnLFxuICAgICAgICAgICdvdmVyZHVlX2NvdW50JyxcbiAgICAgICAgICAndG9kYXlfY291bnQnLFxuICAgICAgICAgICd1cGNvbWluZ19jb3VudCcsXG4gICAgICAgICAgJ2Fzc2lnbmVlX2NvdW50JyxcbiAgICAgICAgICAnYXNzaWduZWVfdGFza3MnLFxuICAgICAgICAgICdyZXBvcnRlcl9jb3VudCcsXG4gICAgICAgICAgJ3JlcG9ydGVyX3Rhc2tzJyxcbiAgICAgICAgICAnYXBwcm92ZXJfY291bnQnLFxuICAgICAgICAgICdhcHByb3Zlcl90YXNrcycsXG4gICAgICAgICAgJ2Rhc2hib2FyZF91cmwnLFxuICAgICAgICAgICdzZXR0aW5nc191cmwnLFxuICAgICAgICAgICd1bnN1YnNjcmliZV91cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRGFpbHkgZGlnZXN0IG9mIHRhc2tzIHJlcXVpcmluZyBhdHRlbnRpb24nLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdkYWlseWRpZ2VzdC5odG1sJ1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBFTUFJTF9URU1QTEFURVMiXX0=
429
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLGVBQWUsR0FBeUI7SUFDbkQsa0JBQWtCLEVBQUU7UUFDbEIsWUFBWSxFQUFFO1lBQ1osV0FBVyxFQUFFLDJDQUEyQztZQUN4RCxFQUFFLEVBQUUsMkNBQTJDO1lBQy9DLFVBQVUsRUFBRSwyQ0FBMkM7U0FDeEQ7UUFDRCxPQUFPLEVBQUUsYUFBYTtRQUN0QixTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0tBQy9CO0lBRUQsTUFBTSxFQUFFO1FBQ04sR0FBRyxFQUFFO1lBQ0gsV0FBVyxFQUFFO2dCQUNYLFlBQVksRUFBRTtvQkFDWixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxFQUFFLEVBQUUsa0NBQWtDO29CQUN0QyxVQUFVLEVBQUUsa0NBQWtDO2lCQUMvQztnQkFDRCxPQUFPLEVBQUUsMEJBQTBCO2dCQUNuQyxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGVBQWUsQ0FBQztnQkFDckUsV0FBVyxFQUFFLDBDQUEwQztnQkFDdkQsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFlBQVksRUFBRSxVQUFVO2FBQ3pCO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxjQUFjLEVBQUU7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLEVBQUUsRUFBRSxnQ0FBZ0M7b0JBQ3BDLFVBQVUsRUFBRSxnQ0FBZ0M7aUJBQzdDO2dCQUNELE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFNBQVMsRUFBRTtvQkFDVCxXQUFXO29CQUNYLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixTQUFTO29CQUNULGlCQUFpQjtvQkFDakIsZUFBZTtpQkFDaEI7Z0JBQ0QsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsTUFBTSxFQUFFLFdBQVc7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O2lCQUNsRDtnQkFDRCxPQUFPLEVBQUUsNkNBQTZDO2dCQUN0RCxTQUFTLEVBQUU7b0JBQ1QsV0FBVztvQkFDWCxnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxpQkFBaUI7aUJBQ2xCO2dCQUNELFdBQVcsRUFBRSwyQ0FBMkM7Z0JBQ3hELE1BQU0sRUFBRSxXQUFXO2dCQUNuQixZQUFZLEVBQUUsa0JBQWtCO2FBQ2pDO1NBQ0Y7S0FDRjtDQUNGLENBQUE7QUFFRCxrQkFBZSx1QkFBZSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbWFpbFRlbXBsYXRlc0NvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBFTUFJTF9URU1QTEFURVM6IEVtYWlsVGVtcGxhdGVzQ29uZmlnID0ge1xuICAnRGVmYXVsdC1UZW1wbGF0ZSc6IHtcbiAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLURlZmF1bHQtVGVtcGxhdGUtMjAyMjAyMjUwNjI2MjInLFxuICAgICAgcWE6ICdtb2Rlcm4tdjItRGVmYXVsdC1UZW1wbGF0ZS0yMDIyMDIyNTA2MjYyMicsXG4gICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLURlZmF1bHQtVGVtcGxhdGUtMjAyMjAyMjUwNjI2MjInXG4gICAgfSxcbiAgICBzdWJqZWN0OiAne3tzdWJqZWN0fX0nLFxuICAgIHZhcmlhYmxlczogWydzdWJqZWN0JywgJ2JvZHknXVxuICB9LFxuXG4gIENvbW1vbjoge1xuICAgIE9UUDoge1xuICAgICAgJ0VtYWlsLU9UUCc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUVtYWlsLU9UUCcsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUVtYWlsLU9UUCcsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRW1haWwtT1RQJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnWW91ciBPVFAgZm9yIHt7cHVycG9zZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbJ3JlY2lwaWVudF9uYW1lJywgJ3B1cnBvc2UnLCAnb3RwX2NvZGUnLCAnc3VwcG9ydF9lbWFpbCddLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09uIGdlbmVyYXRpbmcgZW1haWwgT1RQIGZvciB2ZXJpZmljYXRpb24nLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdvdHAuaHRtbCdcbiAgICAgIH1cbiAgICB9LFxuICAgIFdlbGNvbWU6IHtcbiAgICAgICdVc2VyLVdlbGNvbWUnOiB7XG4gICAgICAgIHRlbXBsYXRlTmFtZToge1xuICAgICAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1XZWxjb21lJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItV2VsY29tZScsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItV2VsY29tZSdcbiAgICAgICAgfSxcbiAgICAgICAgc3ViamVjdDogJ1dlbGNvbWUgdG8gV29jdWwnLFxuICAgICAgICB2YXJpYWJsZXM6IFtcbiAgICAgICAgICAndXNlcl9uYW1lJyxcbiAgICAgICAgICAnaW9zX2FwcF91cmwnLFxuICAgICAgICAgICdhbmRyb2lkX2FwcF91cmwnLFxuICAgICAgICAgICdhcHBfdXJsJyxcbiAgICAgICAgICAnaGVscF9jZW50ZXJfdXJsJyxcbiAgICAgICAgICAnc3VwcG9ydF9lbWFpbCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdXZWxjb21lIGVtYWlsIGZvciBuZXcgdXNlcnMnLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICd3ZWxjb21lLmh0bWwnXG4gICAgICB9XG4gICAgfSxcbiAgICBBY2NvdW50OiB7XG4gICAgICAnQWNjb3VudC1EZWxldGVkJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQWNjb3VudC1EZWxldGVkJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQWNjb3VudC1EZWxldGVkJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1BY2NvdW50LURlbGV0ZWQnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdZb3VyIEFjY291bnQgSGFzIEJlZW4gRGVsZXRlZCcsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICd1c2VyX25hbWUnLFxuICAgICAgICAgICd1c2VyX2VtYWlsJyxcbiAgICAgICAgICAnZGVsZXRlZF9kYXRlJyxcbiAgICAgICAgICAnZGVsZXRlZF90aW1lJyxcbiAgICAgICAgICAnc3VwcG9ydF91cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm90aWZpY2F0aW9uIHdoZW4gdXNlciBhY2NvdW50IGlzIGRlbGV0ZWQnLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdhY2NvdW50LWRlbGV0ZWQuaHRtbCdcbiAgICAgIH1cbiAgICB9LFxuICAgICdEZW1vLVJlcXVlc3QnOiB7XG4gICAgICAnU2NoZWR1bGUtRGVtbyc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVNjaGVkdWxlLURlbW8nLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1TY2hlZHVsZS1EZW1vJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1TY2hlZHVsZS1EZW1vJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnTmV3IERlbW8gUmVxdWVzdCBmcm9tIHt7bmFtZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ25hbWUnLFxuICAgICAgICAgICdlbWFpbCcsXG4gICAgICAgICAgJ2NvbXBhbnknLFxuICAgICAgICAgICdpbmR1c3RyeScsXG4gICAgICAgICAgJ3RlYW1fc2l6ZScsXG4gICAgICAgICAgJ21lc3NhZ2UnLFxuICAgICAgICAgICdzdWJtaXR0ZWRfZGF0ZScsXG4gICAgICAgICAgJ3N1Ym1pdHRlZF90aW1lJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdGlmaWNhdGlvbiB3aGVuIGEgcHJvc3BlY3Qgc3VibWl0cyBhIGRlbW8gcmVxdWVzdCcsXG4gICAgICAgIHN0YXR1czogJ2NvbXBsZXRlZCcsXG4gICAgICAgIHRlbXBsYXRlRmlsZTogJ2RlbW8tcmVxdWVzdC5odG1sJ1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBTdGFmZjoge1xuICAgIFRhc2s6IHtcbiAgICAgICdUYXNrLUFzc2lnbmVkJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVGFzay1Bc3NpZ25tZW50JyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVGFzay1Bc3NpZ25tZW50JyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1UYXNrLUFzc2lnbm1lbnQnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdUYXNrIEFzc2lnbmVkOiB7e3Rhc2tfdGl0bGV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdhc3NpZ25lZScsXG4gICAgICAgICAgJ2Fzc2lnbmVyJyxcbiAgICAgICAgICAnYXNzaWduZXJfaW5pdGlhbHMnLFxuICAgICAgICAgICd0YXNrX2lkJyxcbiAgICAgICAgICAndGFza190aXRsZScsXG4gICAgICAgICAgJ3Byb2plY3RfaWQnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICdwcmlvcml0eScsXG4gICAgICAgICAgJ3ByaW9yaXR5X2NsYXNzJyxcbiAgICAgICAgICAncmVwb3J0ZXInLFxuICAgICAgICAgICdyZXBvcnRlcl9kZXNpZ25hdGlvbicsXG4gICAgICAgICAgJ2RlYWRsaW5lJyxcbiAgICAgICAgICAndGFza191cmwnLFxuICAgICAgICAgICdoZWxwX2NlbnRlcl91cmwnLFxuICAgICAgICAgICdzdXBwb3J0X2VtYWlsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ09uIGFzc2lnbmluZyBhIHRhc2sgdG8gYSB1c2VyJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAndGFza2Fzc2lnbmVkLmh0bWwnXG4gICAgICB9LFxuICAgICAgJ1Rhc2stT3ZlcmR1ZS1Bc3NpZ25lZSc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVRhc2tPdmVyZHVlLUFzc2lnbmVlJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVGFza092ZXJkdWUtQXNzaWduZWUnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVRhc2tPdmVyZHVlLUFzc2lnbmVlJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnVGFzayBPdmVyZHVlOiB7e3Rhc2tfdGl0bGV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdhc3NpZ25lZScsXG4gICAgICAgICAgJ3Rhc2tfaWQnLFxuICAgICAgICAgICd0YXNrX3RpdGxlJyxcbiAgICAgICAgICAncHJvamVjdF9uYW1lJyxcbiAgICAgICAgICAnZHVlX2RhdGUnLFxuICAgICAgICAgICdwcmlvcml0eScsXG4gICAgICAgICAgJ3ByaW9yaXR5X2NsYXNzJyxcbiAgICAgICAgICAnYm9hcmRfbmFtZScsXG4gICAgICAgICAgJ2thbmJhbl9jb2x1bW4nLFxuICAgICAgICAgICd0YXNrX3VybCcsXG4gICAgICAgICAgJ3N1cHBvcnRfZW1haWwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3ZlcmR1ZSB0YXNrIG5vdGlmaWNhdGlvbiBmb3IgdGhlIGFzc2lnbmVlJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAndGFza292ZXJkdWUtYXNzaWduZWUuaHRtbCdcbiAgICAgIH0sXG4gICAgICAnVGFzay1PdmVyZHVlLVN0YWtlaG9sZGVyJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVGFza092ZXJkdWUtU3Rha2Vob2xkZXInLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1UYXNrT3ZlcmR1ZS1TdGFrZWhvbGRlcicsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVGFza092ZXJkdWUtU3Rha2Vob2xkZXInXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdUYXNrIE92ZXJkdWU6IHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3JlY2lwaWVudF9uYW1lJyxcbiAgICAgICAgICAnc3Rha2Vob2xkZXJfcm9sZScsXG4gICAgICAgICAgJ3Rhc2tfaWQnLFxuICAgICAgICAgICd0YXNrX3RpdGxlJyxcbiAgICAgICAgICAncHJvamVjdF9uYW1lJyxcbiAgICAgICAgICAnZHVlX2RhdGUnLFxuICAgICAgICAgICdhc3NpZ25lZScsXG4gICAgICAgICAgJ2Fzc2lnbmVlX2luaXRpYWxzJyxcbiAgICAgICAgICAncHJpb3JpdHknLFxuICAgICAgICAgICdwcmlvcml0eV9jbGFzcycsXG4gICAgICAgICAgJ2JvYXJkX25hbWUnLFxuICAgICAgICAgICdrYW5iYW5fY29sdW1uJyxcbiAgICAgICAgICAndGFza191cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnT3ZlcmR1ZSB0YXNrIG5vdGlmaWNhdGlvbiBmb3Igc3Rha2Vob2xkZXJzIChyZXBvcnRlcnMsIHdhdGNoZXJzKScsXG4gICAgICAgIHN0YXR1czogJ2NvbXBsZXRlZCcsXG4gICAgICAgIHRlbXBsYXRlRmlsZTogJ3Rhc2tvdmVyZHVlLXN0YWtlaG9sZGVyLmh0bWwnXG4gICAgICB9LFxuICAgICAgJ0FwcHJvdmFsLU5lZWRlZCc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFwcHJvdmFsLU5lZWRlZCcsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFwcHJvdmFsLU5lZWRlZCcsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQXBwcm92YWwtTmVlZGVkJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnQXBwcm92YWwgTmVlZGVkOiB7e3Rhc2tfdGl0bGV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdhcHByb3Zlcl9uYW1lJyxcbiAgICAgICAgICAndGFza19pZCcsXG4gICAgICAgICAgJ3Rhc2tfdGl0bGUnLFxuICAgICAgICAgICdwcm9qZWN0X2lkJyxcbiAgICAgICAgICAncHJvamVjdF9uYW1lJyxcbiAgICAgICAgICAncHJpb3JpdHknLFxuICAgICAgICAgICdhaV9zdW1tYXJ5JyxcbiAgICAgICAgICAndGFza191cmwnLFxuICAgICAgICAgICdoZWxwX2NlbnRlcl91cmwnLFxuICAgICAgICAgICdzdXBwb3J0X2VtYWlsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdGlmaWNhdGlvbiB3aGVuIGFwcHJvdmFsIGlzIG5lZWRlZCBmb3IgYSB0YXNrJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnYXBwcm92YWxuZWVkZWQuaHRtbCdcbiAgICAgIH1cbiAgICB9LFxuICAgIFByb2plY3Q6IHtcbiAgICAgICdNZW1iZXItSW52aXRhdGlvbic6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVByb2plY3QtSW52aXRhdGlvbicsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVByb2plY3QtSW52aXRhdGlvbicsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItUHJvamVjdC1JbnZpdGF0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAne3tpbnZpdGVyX25hbWV9fSBpbnZpdGVkIHlvdSB0byB7e3Byb2plY3RfbmFtZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3JlY2lwaWVudF9uYW1lJyxcbiAgICAgICAgICAnaW52aXRlcl9uYW1lJyxcbiAgICAgICAgICAnaW52aXRlcl9pbml0aWFscycsXG4gICAgICAgICAgJ2ludml0ZXJfZGVzaWduYXRpb24nLFxuICAgICAgICAgICdvcmdhbmlzYXRpb25fbmFtZScsXG4gICAgICAgICAgJ3Byb2plY3RfaWQnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICdwcm9qZWN0X2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgICAncm9sZScsXG4gICAgICAgICAgJ2ludml0ZV9jb2RlJyxcbiAgICAgICAgICAnaW52aXRlX3VybCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdPbiBpbnZpdGluZyBhIHVzZXIgdG8gYSBwcm9qZWN0JyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAncHJvamVjdGludml0ZS5odG1sJ1xuICAgICAgfSxcbiAgICAgICdNZW1iZXItUmVtb3ZlZCc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLU1lbWJlci1SZW1vdmVkJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItTWVtYmVyLVJlbW92ZWQnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLU1lbWJlci1SZW1vdmVkJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnWW91IGhhdmUgYmVlbiByZW1vdmVkIGZyb20ge3twcm9qZWN0X25hbWV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdyZWNpcGllbnRfbmFtZScsXG4gICAgICAgICAgJ3JlbW92ZXJfbmFtZScsXG4gICAgICAgICAgJ3JlbW92ZXJfaW5pdGlhbHMnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICdwcm9qZWN0X2lkJyxcbiAgICAgICAgICAncmVtb3ZhbF9kYXRlJyxcbiAgICAgICAgICAncHJvamVjdHNfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdGlmaWNhdGlvbiB3aGVuIGEgdXNlciBpcyByZW1vdmVkIGZyb20gYSBwcm9qZWN0JyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnbWVtYmVyLXJlbW92ZWQuaHRtbCdcbiAgICAgIH0sXG4gICAgICAnUHJvamVjdC1LaWNrc3RhcnQnOiB7XG4gICAgICAgIHRlbXBsYXRlTmFtZToge1xuICAgICAgICAgIGRldmVsb3BtZW50OiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1Qcm9qZWN0LUtpY2tzdGFydCcsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVByb2plY3QtS2lja3N0YXJ0JyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1Qcm9qZWN0LUtpY2tzdGFydCdcbiAgICAgICAgfSxcbiAgICAgICAgc3ViamVjdDogJ1dlbGNvbWUgdG8ge3twcm9qZWN0X25hbWV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdjcmVhdG9yX25hbWUnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICdjcmVhdGVkX2RhdGUnLFxuICAgICAgICAgICdwcm9qZWN0X3VybCcsXG4gICAgICAgICAgJ2hlbHBfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1dlbGNvbWUgZW1haWwgd2hlbiBhIG5ldyBwcm9qZWN0IGlzIGNyZWF0ZWQnLFxuICAgICAgICBzdGF0dXM6ICdjb21wbGV0ZWQnLFxuICAgICAgICB0ZW1wbGF0ZUZpbGU6ICdwcm9qZWN0LWtpY2tzdGFydC5odG1sJ1xuICAgICAgfVxuICAgIH0sXG4gICAgTWVudGlvbjoge1xuICAgICAgJ1VzZXItTWVudGlvbic6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVVzZXItTWVudGlvbicsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLVVzZXItTWVudGlvbicsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItVXNlci1NZW50aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnWW91IHdlcmUgbWVudGlvbmVkIGluIHt7dGFza190aXRsZX19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3JlY2lwaWVudF9uYW1lJyxcbiAgICAgICAgICAnbWVudGlvbmVyX25hbWUnLFxuICAgICAgICAgICdtZW50aW9uZXJfaW5pdGlhbHMnLFxuICAgICAgICAgICdwcm9qZWN0X25hbWUnLFxuICAgICAgICAgICd0YXNrX2lkJyxcbiAgICAgICAgICAndGFza190aXRsZScsXG4gICAgICAgICAgJ2NvbW1lbnRfcHJldmlldycsXG4gICAgICAgICAgJ2NvbW1lbnRfYmVmb3JlX21lbnRpb24nLFxuICAgICAgICAgICdjb21tZW50X2FmdGVyX21lbnRpb24nLFxuICAgICAgICAgICdjb21tZW50X3RpbWUnLFxuICAgICAgICAgICdyZXBseV91cmwnLFxuICAgICAgICAgICd0YXNrX3VybCcsXG4gICAgICAgICAgJ3NldHRpbmdzX3VybCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdOb3RpZmljYXRpb24gd2hlbiBhIHVzZXIgaXMgbWVudGlvbmVkIGluIGEgY29tbWVudCcsXG4gICAgICAgIHN0YXR1czogJ2NvbXBsZXRlZCcsXG4gICAgICAgIHRlbXBsYXRlRmlsZTogJ21lbnRpb24uaHRtbCdcbiAgICAgIH0sXG4gICAgICAnQUktTWVudGlvbic6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUFJLU1lbnRpb24nLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1BSS1NZW50aW9uJyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1BSS1NZW50aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnV09DVUwgQUkgbWVudGlvbmVkIHlvdSBpbiB7e3Rhc2tfdGl0bGV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdyZWNpcGllbnRfbmFtZScsXG4gICAgICAgICAgJ3Byb2plY3RfbmFtZScsXG4gICAgICAgICAgJ3Rhc2tfaWQnLFxuICAgICAgICAgICd0YXNrX3RpdGxlJyxcbiAgICAgICAgICAnYWlfd2VsY29tZV9tZXNzYWdlJyxcbiAgICAgICAgICAndGFza191cmwnLFxuICAgICAgICAgICdzZXR0aW5nc191cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTm90aWZpY2F0aW9uIHdoZW4gV09DVUwgQUkgbWVudGlvbnMgYSB1c2VyJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnbWVudGlvbi1haS5odG1sJ1xuICAgICAgfVxuICAgIH0sXG4gICAgRmVlZGJhY2s6IHtcbiAgICAgICdGZWVkYmFjay1SZWNlaXZlZCc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUZlZWRiYWNrLVJlY2VpdmVkJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRmVlZGJhY2stUmVjZWl2ZWQnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUZlZWRiYWNrLVJlY2VpdmVkJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnRmVlZGJhY2sgb24ge3t0YXNrX3RpdGxlfX0nLFxuICAgICAgICB2YXJpYWJsZXM6IFtcbiAgICAgICAgICAncmVjaXBpZW50X25hbWUnLFxuICAgICAgICAgICdzZW5kZXJfbmFtZScsXG4gICAgICAgICAgJ3NlbmRlcl9pbml0aWFscycsXG4gICAgICAgICAgJ3Rhc2tfdGl0bGUnLFxuICAgICAgICAgICdyYXRpbmdfc3RhcnMnLFxuICAgICAgICAgICdmZWVkYmFja19tZXNzYWdlJyxcbiAgICAgICAgICAnZmVlZGJhY2tfdGltZScsXG4gICAgICAgICAgJ3Rhc2tfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdGlmaWNhdGlvbiB3aGVuIGZlZWRiYWNrIGlzIHJlY2VpdmVkIG9uIGEgdGFzaycsXG4gICAgICAgIHN0YXR1czogJ2NvbXBsZXRlZCcsXG4gICAgICAgIHRlbXBsYXRlRmlsZTogJ2ZlZWRiYWNrLXJlY2VpdmVkLmh0bWwnXG4gICAgICB9LFxuICAgICAgJ0ZlZWRiYWNrLVByb21wdCc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUZlZWRiYWNrLVByb21wdCcsXG4gICAgICAgICAgcWE6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUZlZWRiYWNrLVByb21wdCcsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRmVlZGJhY2stUHJvbXB0J1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnU2hhcmUgeW91ciBmZWVkYmFjayBvbiB7e3Rhc2tfdGl0bGV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdyZXBvcnRlcl9uYW1lJyxcbiAgICAgICAgICAndGFza190aXRsZScsXG4gICAgICAgICAgJ2RheXNfc2luY2VfY29tcGxldGlvbicsXG4gICAgICAgICAgJ2RheXNfcGx1cmFsJyxcbiAgICAgICAgICAnY29tcGxldGlvbl9kYXRlJyxcbiAgICAgICAgICAncGFydGljaXBhbnRzJyxcbiAgICAgICAgICAnZmVlZGJhY2tfdXJsJyxcbiAgICAgICAgICAndGFza191cmwnLFxuICAgICAgICAgICdzZXR0aW5nc191cmwnXG4gICAgICAgIF0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUmVtaW5kZXIgdG8gcHJvdmlkZSBmZWVkYmFjayBvbiBhIGNvbXBsZXRlZCB0YXNrJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnZmVlZGJhY2stcHJvbXB0Lmh0bWwnXG4gICAgICB9LFxuICAgICAgJ0FJLUZlZWRiYWNrJzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQUktRmVlZGJhY2snLFxuICAgICAgICAgIHFhOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1BSS1GZWVkYmFjaycsXG4gICAgICAgICAgcHJvZHVjdGlvbjogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQUktRmVlZGJhY2snXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdBSSBGZWVkYmFjayBvbiB7e3Rhc2tfdGl0bGV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdyZWNpcGllbnRfbmFtZScsXG4gICAgICAgICAgJ3Rhc2tfdGl0bGUnLFxuICAgICAgICAgICdhaV9mZWVkYmFja19tZXNzYWdlJyxcbiAgICAgICAgICAnaW5zaWdodHMnLFxuICAgICAgICAgICd0YXNrX3VybCcsXG4gICAgICAgICAgJ3NldHRpbmdzX3VybCdcbiAgICAgICAgXSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBSS1nZW5lcmF0ZWQgZmVlZGJhY2sgb24gdGFzayBjb21wbGV0aW9uJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnZmVlZGJhY2stYWkuaHRtbCdcbiAgICAgIH1cbiAgICB9LFxuICAgICdBSS1JbnNpZ2h0cyc6IHtcbiAgICAgICdCb2FyZC1JbnNpZ2h0cy1SZWFkeSc6IHtcbiAgICAgICAgdGVtcGxhdGVOYW1lOiB7XG4gICAgICAgICAgZGV2ZWxvcG1lbnQ6ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUJvYXJkLUluc2lnaHRzJyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItQm9hcmQtSW5zaWdodHMnLFxuICAgICAgICAgIHByb2R1Y3Rpb246ICdtb2Rlcm4tdjItV29jdWwtQ29sbGFiLUJvYXJkLUluc2lnaHRzJ1xuICAgICAgICB9LFxuICAgICAgICBzdWJqZWN0OiAnTmV3IGluc2lnaHRzIGZvciB7e2JvYXJkX25hbWV9fScsXG4gICAgICAgIHZhcmlhYmxlczogW1xuICAgICAgICAgICdvd25lcl9uYW1lJyxcbiAgICAgICAgICAnYm9hcmRfbmFtZScsXG4gICAgICAgICAgJ3Byb2plY3RfbmFtZScsXG4gICAgICAgICAgJ2luc2lnaHRzX3N1bW1hcnknLFxuICAgICAgICAgICdnZW5lcmF0ZWRfZGF0ZScsXG4gICAgICAgICAgJ2dlbmVyYXRlZF90aW1lJyxcbiAgICAgICAgICAnaW5zaWdodHNfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ05vdGlmaWNhdGlvbiB3aGVuIEFJIGluc2lnaHRzIGFyZSByZWFkeSBmb3IgYSBib2FyZCcsXG4gICAgICAgIHN0YXR1czogJ2NvbXBsZXRlZCcsXG4gICAgICAgIHRlbXBsYXRlRmlsZTogJ2JvYXJkLWluc2lnaHRzLXJlYWR5Lmh0bWwnXG4gICAgICB9XG4gICAgfSxcbiAgICAnRGFpbHktRGlnZXN0Jzoge1xuICAgICAgJ0RhaWx5LVRhc2stRGlnZXN0Jzoge1xuICAgICAgICB0ZW1wbGF0ZU5hbWU6IHtcbiAgICAgICAgICBkZXZlbG9wbWVudDogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRGFpbHktRGlnZXN0JyxcbiAgICAgICAgICBxYTogJ21vZGVybi12Mi1Xb2N1bC1Db2xsYWItRGFpbHktRGlnZXN0JyxcbiAgICAgICAgICBwcm9kdWN0aW9uOiAnbW9kZXJuLXYyLVdvY3VsLUNvbGxhYi1EYWlseS1EaWdlc3QnXG4gICAgICAgIH0sXG4gICAgICAgIHN1YmplY3Q6ICdZb3VyIERhaWx5IFRhc2sgRGlnZXN0IC0ge3tkYXRlX2Zvcm1hdHRlZH19JyxcbiAgICAgICAgdmFyaWFibGVzOiBbXG4gICAgICAgICAgJ3VzZXJfbmFtZScsXG4gICAgICAgICAgJ2RhdGVfZm9ybWF0dGVkJyxcbiAgICAgICAgICAnb3ZlcmR1ZV9jb3VudCcsXG4gICAgICAgICAgJ3RvZGF5X2NvdW50JyxcbiAgICAgICAgICAndXBjb21pbmdfY291bnQnLFxuICAgICAgICAgICdhc3NpZ25lZV9jb3VudCcsXG4gICAgICAgICAgJ2Fzc2lnbmVlX3Rhc2tzJyxcbiAgICAgICAgICAncmVwb3J0ZXJfY291bnQnLFxuICAgICAgICAgICdyZXBvcnRlcl90YXNrcycsXG4gICAgICAgICAgJ2FwcHJvdmVyX2NvdW50JyxcbiAgICAgICAgICAnYXBwcm92ZXJfdGFza3MnLFxuICAgICAgICAgICdkYXNoYm9hcmRfdXJsJyxcbiAgICAgICAgICAnc2V0dGluZ3NfdXJsJyxcbiAgICAgICAgICAndW5zdWJzY3JpYmVfdXJsJ1xuICAgICAgICBdLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0RhaWx5IGRpZ2VzdCBvZiB0YXNrcyByZXF1aXJpbmcgYXR0ZW50aW9uJyxcbiAgICAgICAgc3RhdHVzOiAnY29tcGxldGVkJyxcbiAgICAgICAgdGVtcGxhdGVGaWxlOiAnZGFpbHlkaWdlc3QuaHRtbCdcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgRU1BSUxfVEVNUExBVEVTIl19
package/dist/types.d.ts CHANGED
@@ -19,6 +19,7 @@ export interface EmailTemplatesConfig {
19
19
  OTP: Record<string, EmailTemplateConfig>;
20
20
  Welcome: Record<string, EmailTemplateConfig>;
21
21
  Account: Record<string, EmailTemplateConfig>;
22
+ 'Demo-Request': Record<string, EmailTemplateConfig>;
22
23
  };
23
24
  Staff: {
24
25
  Task: Record<string, EmailTemplateConfig>;
@@ -34,16 +35,17 @@ export interface EmailValidationResult {
34
35
  errors: string[];
35
36
  }
36
37
  export type EmailCategory = 'Common' | 'Staff';
37
- export type CommonSubCategory = 'OTP' | 'Welcome' | 'Account';
38
+ export type CommonSubCategory = 'OTP' | 'Welcome' | 'Account' | 'Demo-Request';
38
39
  export type StaffSubCategory = 'Task' | 'Project' | 'Mention' | 'Feedback' | 'AI-Insights' | 'Daily-Digest';
39
40
  export type EmailSubCategory = CommonSubCategory | StaffSubCategory;
40
41
  export type OTPEventType = 'Email-OTP';
41
42
  export type WelcomeEventType = 'User-Welcome';
42
43
  export type AccountEventType = 'Account-Deleted';
44
+ export type DemoRequestEventType = 'Schedule-Demo';
43
45
  export type TaskEventType = 'Task-Assigned' | 'Task-Overdue-Assignee' | 'Task-Overdue-Stakeholder' | 'Approval-Needed';
44
46
  export type ProjectEventType = 'Member-Invitation' | 'Member-Removed' | 'Project-Kickstart';
45
47
  export type MentionEventType = 'User-Mention' | 'AI-Mention';
46
48
  export type FeedbackEventType = 'Feedback-Received' | 'Feedback-Prompt' | 'AI-Feedback';
47
49
  export type AIInsightsEventType = 'Board-Insights-Ready';
48
50
  export type DailyDigestEventType = 'Daily-Task-Digest';
49
- export type EmailEventType = OTPEventType | WelcomeEventType | AccountEventType | TaskEventType | ProjectEventType | MentionEventType | FeedbackEventType | AIInsightsEventType | DailyDigestEventType;
51
+ export type EmailEventType = OTPEventType | WelcomeEventType | AccountEventType | DemoRequestEventType | TaskEventType | ProjectEventType | MentionEventType | FeedbackEventType | AIInsightsEventType | DailyDigestEventType;
package/dist/types.js CHANGED
@@ -3,4 +3,4 @@
3
3
  * Email Template Types
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbWFpbCBUZW1wbGF0ZSBUeXBlc1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxUZW1wbGF0ZUNvbmZpZyB7XG4gIHRlbXBsYXRlTmFtZToge1xuICAgIGRldmVsb3BtZW50OiBzdHJpbmdcbiAgICBxYTogc3RyaW5nXG4gICAgcHJvZHVjdGlvbjogc3RyaW5nXG4gIH1cbiAgc3ViamVjdDogc3RyaW5nXG4gIHZhcmlhYmxlczogc3RyaW5nW11cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgc3RhdHVzPzogc3RyaW5nXG4gIHRlbXBsYXRlRmlsZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsVGVtcGxhdGVzQ29uZmlnIHtcbiAgJ0RlZmF1bHQtVGVtcGxhdGUnOiBFbWFpbFRlbXBsYXRlQ29uZmlnXG4gIENvbW1vbjoge1xuICAgIE9UUDogUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz5cbiAgICBXZWxjb21lOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICAgIEFjY291bnQ6IFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+XG4gIH1cbiAgU3RhZmY6IHtcbiAgICBUYXNrOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICAgIFByb2plY3Q6IFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+XG4gICAgTWVudGlvbjogUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz5cbiAgICBGZWVkYmFjazogUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz5cbiAgICAnQUktSW5zaWdodHMnOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICAgICdEYWlseS1EaWdlc3QnOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxWYWxpZGF0aW9uUmVzdWx0IHtcbiAgdmFsaWQ6IGJvb2xlYW5cbiAgZXJyb3JzOiBzdHJpbmdbXVxufVxuXG4vLyBUeXBlIGFsaWFzZXMgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQgdHlwZSBFbWFpbENhdGVnb3J5ID0gJ0NvbW1vbicgfCAnU3RhZmYnXG5leHBvcnQgdHlwZSBDb21tb25TdWJDYXRlZ29yeSA9ICdPVFAnIHwgJ1dlbGNvbWUnIHwgJ0FjY291bnQnXG5leHBvcnQgdHlwZSBTdGFmZlN1YkNhdGVnb3J5ID0gJ1Rhc2snIHwgJ1Byb2plY3QnIHwgJ01lbnRpb24nIHwgJ0ZlZWRiYWNrJyB8ICdBSS1JbnNpZ2h0cycgfCAnRGFpbHktRGlnZXN0J1xuZXhwb3J0IHR5cGUgRW1haWxTdWJDYXRlZ29yeSA9IENvbW1vblN1YkNhdGVnb3J5IHwgU3RhZmZTdWJDYXRlZ29yeVxuXG4vLyBDb21tb24gZXZlbnQgdHlwZXNcbmV4cG9ydCB0eXBlIE9UUEV2ZW50VHlwZSA9ICdFbWFpbC1PVFAnXG5leHBvcnQgdHlwZSBXZWxjb21lRXZlbnRUeXBlID0gJ1VzZXItV2VsY29tZSdcbmV4cG9ydCB0eXBlIEFjY291bnRFdmVudFR5cGUgPSAnQWNjb3VudC1EZWxldGVkJ1xuXG4vLyBTdGFmZiBldmVudCB0eXBlc1xuZXhwb3J0IHR5cGUgVGFza0V2ZW50VHlwZSA9ICdUYXNrLUFzc2lnbmVkJyB8ICdUYXNrLU92ZXJkdWUtQXNzaWduZWUnIHwgJ1Rhc2stT3ZlcmR1ZS1TdGFrZWhvbGRlcicgfCAnQXBwcm92YWwtTmVlZGVkJ1xuZXhwb3J0IHR5cGUgUHJvamVjdEV2ZW50VHlwZSA9ICdNZW1iZXItSW52aXRhdGlvbicgfCAnTWVtYmVyLVJlbW92ZWQnIHwgJ1Byb2plY3QtS2lja3N0YXJ0J1xuZXhwb3J0IHR5cGUgTWVudGlvbkV2ZW50VHlwZSA9ICdVc2VyLU1lbnRpb24nIHwgJ0FJLU1lbnRpb24nXG5leHBvcnQgdHlwZSBGZWVkYmFja0V2ZW50VHlwZSA9ICdGZWVkYmFjay1SZWNlaXZlZCcgfCAnRmVlZGJhY2stUHJvbXB0JyB8ICdBSS1GZWVkYmFjaydcbmV4cG9ydCB0eXBlIEFJSW5zaWdodHNFdmVudFR5cGUgPSAnQm9hcmQtSW5zaWdodHMtUmVhZHknXG5leHBvcnQgdHlwZSBEYWlseURpZ2VzdEV2ZW50VHlwZSA9ICdEYWlseS1UYXNrLURpZ2VzdCdcblxuZXhwb3J0IHR5cGUgRW1haWxFdmVudFR5cGUgPVxuICB8IE9UUEV2ZW50VHlwZVxuICB8IFdlbGNvbWVFdmVudFR5cGVcbiAgfCBBY2NvdW50RXZlbnRUeXBlXG4gIHwgVGFza0V2ZW50VHlwZVxuICB8IFByb2plY3RFdmVudFR5cGVcbiAgfCBNZW50aW9uRXZlbnRUeXBlXG4gIHwgRmVlZGJhY2tFdmVudFR5cGVcbiAgfCBBSUluc2lnaHRzRXZlbnRUeXBlXG4gIHwgRGFpbHlEaWdlc3RFdmVudFR5cGUiXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbWFpbCBUZW1wbGF0ZSBUeXBlc1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxUZW1wbGF0ZUNvbmZpZyB7XG4gIHRlbXBsYXRlTmFtZToge1xuICAgIGRldmVsb3BtZW50OiBzdHJpbmdcbiAgICBxYTogc3RyaW5nXG4gICAgcHJvZHVjdGlvbjogc3RyaW5nXG4gIH1cbiAgc3ViamVjdDogc3RyaW5nXG4gIHZhcmlhYmxlczogc3RyaW5nW11cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgc3RhdHVzPzogc3RyaW5nXG4gIHRlbXBsYXRlRmlsZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsVGVtcGxhdGVzQ29uZmlnIHtcbiAgJ0RlZmF1bHQtVGVtcGxhdGUnOiBFbWFpbFRlbXBsYXRlQ29uZmlnXG4gIENvbW1vbjoge1xuICAgIE9UUDogUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz5cbiAgICBXZWxjb21lOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICAgIEFjY291bnQ6IFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+XG4gICAgJ0RlbW8tUmVxdWVzdCc6IFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+XG4gIH1cbiAgU3RhZmY6IHtcbiAgICBUYXNrOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICAgIFByb2plY3Q6IFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+XG4gICAgTWVudGlvbjogUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz5cbiAgICBGZWVkYmFjazogUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz5cbiAgICAnQUktSW5zaWdodHMnOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICAgICdEYWlseS1EaWdlc3QnOiBSZWNvcmQ8c3RyaW5nLCBFbWFpbFRlbXBsYXRlQ29uZmlnPlxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWxWYWxpZGF0aW9uUmVzdWx0IHtcbiAgdmFsaWQ6IGJvb2xlYW5cbiAgZXJyb3JzOiBzdHJpbmdbXVxufVxuXG4vLyBUeXBlIGFsaWFzZXMgZm9yIGNvbnZlbmllbmNlXG5leHBvcnQgdHlwZSBFbWFpbENhdGVnb3J5ID0gJ0NvbW1vbicgfCAnU3RhZmYnXG5leHBvcnQgdHlwZSBDb21tb25TdWJDYXRlZ29yeSA9ICdPVFAnIHwgJ1dlbGNvbWUnIHwgJ0FjY291bnQnIHwgJ0RlbW8tUmVxdWVzdCdcbmV4cG9ydCB0eXBlIFN0YWZmU3ViQ2F0ZWdvcnkgPSAnVGFzaycgfCAnUHJvamVjdCcgfCAnTWVudGlvbicgfCAnRmVlZGJhY2snIHwgJ0FJLUluc2lnaHRzJyB8ICdEYWlseS1EaWdlc3QnXG5leHBvcnQgdHlwZSBFbWFpbFN1YkNhdGVnb3J5ID0gQ29tbW9uU3ViQ2F0ZWdvcnkgfCBTdGFmZlN1YkNhdGVnb3J5XG5cbi8vIENvbW1vbiBldmVudCB0eXBlc1xuZXhwb3J0IHR5cGUgT1RQRXZlbnRUeXBlID0gJ0VtYWlsLU9UUCdcbmV4cG9ydCB0eXBlIFdlbGNvbWVFdmVudFR5cGUgPSAnVXNlci1XZWxjb21lJ1xuZXhwb3J0IHR5cGUgQWNjb3VudEV2ZW50VHlwZSA9ICdBY2NvdW50LURlbGV0ZWQnXG5leHBvcnQgdHlwZSBEZW1vUmVxdWVzdEV2ZW50VHlwZSA9ICdTY2hlZHVsZS1EZW1vJ1xuXG4vLyBTdGFmZiBldmVudCB0eXBlc1xuZXhwb3J0IHR5cGUgVGFza0V2ZW50VHlwZSA9ICdUYXNrLUFzc2lnbmVkJyB8ICdUYXNrLU92ZXJkdWUtQXNzaWduZWUnIHwgJ1Rhc2stT3ZlcmR1ZS1TdGFrZWhvbGRlcicgfCAnQXBwcm92YWwtTmVlZGVkJ1xuZXhwb3J0IHR5cGUgUHJvamVjdEV2ZW50VHlwZSA9ICdNZW1iZXItSW52aXRhdGlvbicgfCAnTWVtYmVyLVJlbW92ZWQnIHwgJ1Byb2plY3QtS2lja3N0YXJ0J1xuZXhwb3J0IHR5cGUgTWVudGlvbkV2ZW50VHlwZSA9ICdVc2VyLU1lbnRpb24nIHwgJ0FJLU1lbnRpb24nXG5leHBvcnQgdHlwZSBGZWVkYmFja0V2ZW50VHlwZSA9ICdGZWVkYmFjay1SZWNlaXZlZCcgfCAnRmVlZGJhY2stUHJvbXB0JyB8ICdBSS1GZWVkYmFjaydcbmV4cG9ydCB0eXBlIEFJSW5zaWdodHNFdmVudFR5cGUgPSAnQm9hcmQtSW5zaWdodHMtUmVhZHknXG5leHBvcnQgdHlwZSBEYWlseURpZ2VzdEV2ZW50VHlwZSA9ICdEYWlseS1UYXNrLURpZ2VzdCdcblxuZXhwb3J0IHR5cGUgRW1haWxFdmVudFR5cGUgPVxuICB8IE9UUEV2ZW50VHlwZVxuICB8IFdlbGNvbWVFdmVudFR5cGVcbiAgfCBBY2NvdW50RXZlbnRUeXBlXG4gIHwgRGVtb1JlcXVlc3RFdmVudFR5cGVcbiAgfCBUYXNrRXZlbnRUeXBlXG4gIHwgUHJvamVjdEV2ZW50VHlwZVxuICB8IE1lbnRpb25FdmVudFR5cGVcbiAgfCBGZWVkYmFja0V2ZW50VHlwZVxuICB8IEFJSW5zaWdodHNFdmVudFR5cGVcbiAgfCBEYWlseURpZ2VzdEV2ZW50VHlwZSJdfQ==
@@ -23,3 +23,32 @@ export declare function getTemplateName(category: string, subCategory: string, e
23
23
  * Get the subject line for an email template
24
24
  */
25
25
  export declare function getSubject(category: string, subCategory: string, eventType: string): string | null;
26
+ /**
27
+ * Sanitize a string value for safe use in an email subject line.
28
+ *
29
+ * Curly braces { } can break SES template rendering and MIME header encoding.
30
+ * Newlines can cause MIME header injection. Long subjects can cause improper
31
+ * MIME header folding.
32
+ *
33
+ * This function:
34
+ * - Strips newline / carriage return characters
35
+ * - Replaces curly braces with parentheses (preserves readability)
36
+ * - Collapses multiple spaces
37
+ * - Trims whitespace
38
+ * - Optionally truncates to a max length (default 200 chars)
39
+ */
40
+ export declare function sanitizeSubjectValue(value: string, maxLength?: number): string;
41
+ /**
42
+ * Render a subject template by substituting {{variable}} placeholders with
43
+ * sanitized data values.
44
+ *
45
+ * Example:
46
+ * renderSubject('AI Feedback on {{task_title}}', { task_title: '/draft/{id}/joints' })
47
+ * → 'AI Feedback on /draft/(id)/joints'
48
+ *
49
+ * @param subjectTemplate - The subject template string with {{variable}} placeholders
50
+ * @param data - The template data values
51
+ * @param maxLength - Maximum length for the final rendered subject (default 200)
52
+ * @returns The rendered and sanitized subject string
53
+ */
54
+ export declare function renderSubject(subjectTemplate: string, data: Record<string, string>, maxLength?: number): string;
@@ -6,6 +6,8 @@ exports.getValidEventTypes = getValidEventTypes;
6
6
  exports.getValidSubCategories = getValidSubCategories;
7
7
  exports.getTemplateName = getTemplateName;
8
8
  exports.getSubject = getSubject;
9
+ exports.sanitizeSubjectValue = sanitizeSubjectValue;
10
+ exports.renderSubject = renderSubject;
9
11
  const templates_1 = require("./templates");
10
12
  /**
11
13
  * Get email template configuration for a given category, subcategory, and event type
@@ -98,4 +100,60 @@ function getSubject(category, subCategory, eventType) {
98
100
  }
99
101
  return template.subject;
100
102
  }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsNENBd0JDO0FBS0Qsa0RBaUNDO0FBS0QsZ0RBdUJDO0FBS0Qsc0RBZUM7QUFLRCwwQ0FXQztBQUtELGdDQVVDO0FBbEpELDJDQUE2QztBQUU3Qzs7R0FFRztBQUNILFNBQWdCLGdCQUFnQixDQUM5QixRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFpQjtJQUVqQixNQUFNLFNBQVMsR0FBRywyQkFBcUQsQ0FBQTtJQUV2RSxJQUFJLFFBQVEsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sMkJBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUU1QixDQUFBO0lBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3JELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELE9BQU8saUJBQWlCLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFBO0FBQzdDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLG1CQUFtQixDQUNqQyxRQUFnQixFQUNoQixXQUFtQixFQUNuQixTQUFpQixFQUNqQixJQUE0QjtJQUU1QixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUE7SUFFM0IsNkJBQTZCO0lBQzdCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFFbkUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FDVCxxQ0FBcUMsUUFBUSxtQkFBbUIsV0FBVyxpQkFBaUIsU0FBUyxHQUFHLENBQ3pHLENBQUE7UUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQ2hELENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUNsQyxDQUFBO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLElBQUksQ0FDVCxrQ0FBa0MsU0FBUyxLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUM5RSxDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzFCLE1BQU07S0FDUCxDQUFBO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQ2hDLFFBQWdCLEVBQ2hCLFdBQW1CO0lBRW5CLE1BQU0sU0FBUyxHQUFHLDJCQUFxRCxDQUFBO0lBRXZFLElBQUksUUFBUSxLQUFLLGtCQUFrQixFQUFFLENBQUM7UUFDcEMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBRTVCLENBQUE7SUFDYixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDckQsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDdkMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsUUFBZ0I7SUFDcEQsTUFBTSxTQUFTLEdBQUcsMkJBQXFELENBQUE7SUFFdkUsSUFBSSxRQUFRLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztRQUNwQyxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUU1QixDQUFBO0lBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxDQUFBO0lBQ1gsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUNwQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixlQUFlLENBQzdCLFFBQWdCLEVBQ2hCLFdBQW1CLEVBQ25CLFNBQWlCLEVBQ2pCLFdBQWdEO0lBRWhELE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDbkUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQzNDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFVBQVUsQ0FDeEIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsU0FBaUI7SUFFakIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUNuRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUE7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW1haWxUZW1wbGF0ZUNvbmZpZywgRW1haWxWYWxpZGF0aW9uUmVzdWx0IH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IEVNQUlMX1RFTVBMQVRFUyB9IGZyb20gJy4vdGVtcGxhdGVzJ1xuXG4vKipcbiAqIEdldCBlbWFpbCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uIGZvciBhIGdpdmVuIGNhdGVnb3J5LCBzdWJjYXRlZ29yeSwgYW5kIGV2ZW50IHR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVtYWlsVGVtcGxhdGUoXG4gIGNhdGVnb3J5OiBzdHJpbmcsXG4gIHN1YkNhdGVnb3J5OiBzdHJpbmcsXG4gIGV2ZW50VHlwZTogc3RyaW5nXG4pOiBFbWFpbFRlbXBsYXRlQ29uZmlnIHwgbnVsbCB7XG4gIGNvbnN0IHRlbXBsYXRlcyA9IEVNQUlMX1RFTVBMQVRFUyBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG5cbiAgaWYgKGNhdGVnb3J5ID09PSAnRGVmYXVsdC1UZW1wbGF0ZScpIHtcbiAgICByZXR1cm4gRU1BSUxfVEVNUExBVEVTWydEZWZhdWx0LVRlbXBsYXRlJ11cbiAgfVxuXG4gIGNvbnN0IGNhdGVnb3J5Q29uZmlnID0gdGVtcGxhdGVzW2NhdGVnb3J5XSBhc1xuICAgIHwgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz4+XG4gICAgfCB1bmRlZmluZWRcbiAgaWYgKCFjYXRlZ29yeUNvbmZpZykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBzdWJDYXRlZ29yeUNvbmZpZyA9IGNhdGVnb3J5Q29uZmlnW3N1YkNhdGVnb3J5XVxuICBpZiAoIXN1YkNhdGVnb3J5Q29uZmlnKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBzdWJDYXRlZ29yeUNvbmZpZ1tldmVudFR5cGVdIHx8IG51bGxcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSBlbWFpbCBxdWV1ZSBwYXJhbWV0ZXJzIGFnYWluc3QgdGVtcGxhdGUgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVFbWFpbFBhcmFtcyhcbiAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgc3ViQ2F0ZWdvcnk6IHN0cmluZyxcbiAgZXZlbnRUeXBlOiBzdHJpbmcsXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbik6IEVtYWlsVmFsaWRhdGlvblJlc3VsdCB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXVxuXG4gIC8vIEdldCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uXG4gIGNvbnN0IHRlbXBsYXRlID0gZ2V0RW1haWxUZW1wbGF0ZShjYXRlZ29yeSwgc3ViQ2F0ZWdvcnksIGV2ZW50VHlwZSlcblxuICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBgSW52YWxpZCBlbWFpbCB0ZW1wbGF0ZTogY2F0ZWdvcnk9XCIke2NhdGVnb3J5fVwiLCBzdWJDYXRlZ29yeT1cIiR7c3ViQ2F0ZWdvcnl9XCIsIGV2ZW50VHlwZT1cIiR7ZXZlbnRUeXBlfVwiYFxuICAgIClcbiAgICByZXR1cm4geyB2YWxpZDogZmFsc2UsIGVycm9ycyB9XG4gIH1cblxuICAvLyBDaGVjayBmb3IgbWlzc2luZyByZXF1aXJlZCB2YXJpYWJsZXNcbiAgY29uc3QgbWlzc2luZ1ZhcmlhYmxlcyA9IHRlbXBsYXRlLnZhcmlhYmxlcy5maWx0ZXIoXG4gICAgKHZhcmlhYmxlKSA9PiAhKHZhcmlhYmxlIGluIGRhdGEpXG4gIClcblxuICBpZiAobWlzc2luZ1ZhcmlhYmxlcy5sZW5ndGggPiAwKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBgTWlzc2luZyByZXF1aXJlZCB2YXJpYWJsZXMgZm9yICR7ZXZlbnRUeXBlfTogJHttaXNzaW5nVmFyaWFibGVzLmpvaW4oJywgJyl9YFxuICAgIClcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdmFsaWQ6IGVycm9ycy5sZW5ndGggPT09IDAsXG4gICAgZXJyb3JzXG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgYWxsIHZhbGlkIGV2ZW50IHR5cGVzIGZvciBhIGNhdGVnb3J5IGFuZCBzdWJjYXRlZ29yeVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRFdmVudFR5cGVzKFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBzdWJDYXRlZ29yeTogc3RyaW5nXG4pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRlbXBsYXRlcyA9IEVNQUlMX1RFTVBMQVRFUyBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG5cbiAgaWYgKGNhdGVnb3J5ID09PSAnRGVmYXVsdC1UZW1wbGF0ZScpIHtcbiAgICByZXR1cm4gWydEZWZhdWx0LVRlbXBsYXRlJ11cbiAgfVxuXG4gIGNvbnN0IGNhdGVnb3J5Q29uZmlnID0gdGVtcGxhdGVzW2NhdGVnb3J5XSBhc1xuICAgIHwgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz4+XG4gICAgfCB1bmRlZmluZWRcbiAgaWYgKCFjYXRlZ29yeUNvbmZpZykge1xuICAgIHJldHVybiBbXVxuICB9XG5cbiAgY29uc3Qgc3ViQ2F0ZWdvcnlDb25maWcgPSBjYXRlZ29yeUNvbmZpZ1tzdWJDYXRlZ29yeV1cbiAgaWYgKCFzdWJDYXRlZ29yeUNvbmZpZykge1xuICAgIHJldHVybiBbXVxuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKHN1YkNhdGVnb3J5Q29uZmlnKVxufVxuXG4vKipcbiAqIEdldCBhbGwgdmFsaWQgc3ViY2F0ZWdvcmllcyBmb3IgYSBjYXRlZ29yeVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmFsaWRTdWJDYXRlZ29yaWVzKGNhdGVnb3J5OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IHRlbXBsYXRlcyA9IEVNQUlMX1RFTVBMQVRFUyBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG5cbiAgaWYgKGNhdGVnb3J5ID09PSAnRGVmYXVsdC1UZW1wbGF0ZScpIHtcbiAgICByZXR1cm4gW11cbiAgfVxuXG4gIGNvbnN0IGNhdGVnb3J5Q29uZmlnID0gdGVtcGxhdGVzW2NhdGVnb3J5XSBhc1xuICAgIHwgUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgRW1haWxUZW1wbGF0ZUNvbmZpZz4+XG4gICAgfCB1bmRlZmluZWRcbiAgaWYgKCFjYXRlZ29yeUNvbmZpZykge1xuICAgIHJldHVybiBbXVxuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKGNhdGVnb3J5Q29uZmlnKVxufVxuXG4vKipcbiAqIEdldCB0aGUgU0VTIHRlbXBsYXRlIG5hbWUgZm9yIGFuIGVudmlyb25tZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZW1wbGF0ZU5hbWUoXG4gIGNhdGVnb3J5OiBzdHJpbmcsXG4gIHN1YkNhdGVnb3J5OiBzdHJpbmcsXG4gIGV2ZW50VHlwZTogc3RyaW5nLFxuICBlbnZpcm9ubWVudDogJ2RldmVsb3BtZW50JyB8ICdxYScgfCAncHJvZHVjdGlvbidcbik6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCB0ZW1wbGF0ZSA9IGdldEVtYWlsVGVtcGxhdGUoY2F0ZWdvcnksIHN1YkNhdGVnb3J5LCBldmVudFR5cGUpXG4gIGlmICghdGVtcGxhdGUpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG4gIHJldHVybiB0ZW1wbGF0ZS50ZW1wbGF0ZU5hbWVbZW52aXJvbm1lbnRdXG59XG5cbi8qKlxuICogR2V0IHRoZSBzdWJqZWN0IGxpbmUgZm9yIGFuIGVtYWlsIHRlbXBsYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdWJqZWN0KFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBzdWJDYXRlZ29yeTogc3RyaW5nLFxuICBldmVudFR5cGU6IHN0cmluZ1xuKTogc3RyaW5nIHwgbnVsbCB7XG4gIGNvbnN0IHRlbXBsYXRlID0gZ2V0RW1haWxUZW1wbGF0ZShjYXRlZ29yeSwgc3ViQ2F0ZWdvcnksIGV2ZW50VHlwZSlcbiAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cbiAgcmV0dXJuIHRlbXBsYXRlLnN1YmplY3Rcbn0iXX0=
103
+ /**
104
+ * Sanitize a string value for safe use in an email subject line.
105
+ *
106
+ * Curly braces { } can break SES template rendering and MIME header encoding.
107
+ * Newlines can cause MIME header injection. Long subjects can cause improper
108
+ * MIME header folding.
109
+ *
110
+ * This function:
111
+ * - Strips newline / carriage return characters
112
+ * - Replaces curly braces with parentheses (preserves readability)
113
+ * - Collapses multiple spaces
114
+ * - Trims whitespace
115
+ * - Optionally truncates to a max length (default 200 chars)
116
+ */
117
+ function sanitizeSubjectValue(value, maxLength = 200) {
118
+ let sanitized = value
119
+ // Remove any newline / carriage return characters (prevents MIME header injection)
120
+ .replace(/[\r\n\t]+/g, ' ')
121
+ // Replace curly braces with parentheses (prevents SES template engine interference)
122
+ .replace(/\{/g, '(')
123
+ .replace(/\}/g, ')')
124
+ // Collapse multiple spaces into one
125
+ .replace(/\s{2,}/g, ' ')
126
+ .trim();
127
+ // Truncate if needed, adding ellipsis
128
+ if (sanitized.length > maxLength) {
129
+ sanitized = sanitized.substring(0, maxLength - 1).trim() + '…';
130
+ }
131
+ return sanitized;
132
+ }
133
+ /**
134
+ * Render a subject template by substituting {{variable}} placeholders with
135
+ * sanitized data values.
136
+ *
137
+ * Example:
138
+ * renderSubject('AI Feedback on {{task_title}}', { task_title: '/draft/{id}/joints' })
139
+ * → 'AI Feedback on /draft/(id)/joints'
140
+ *
141
+ * @param subjectTemplate - The subject template string with {{variable}} placeholders
142
+ * @param data - The template data values
143
+ * @param maxLength - Maximum length for the final rendered subject (default 200)
144
+ * @returns The rendered and sanitized subject string
145
+ */
146
+ function renderSubject(subjectTemplate, data, maxLength = 200) {
147
+ let rendered = subjectTemplate;
148
+ // Replace all {{variable}} placeholders with sanitized values
149
+ rendered = rendered.replace(/\{\{(\w+)\}\}/g, (_match, key) => {
150
+ const value = data[key];
151
+ if (value !== undefined) {
152
+ return sanitizeSubjectValue(value, maxLength);
153
+ }
154
+ return '';
155
+ });
156
+ // Final pass: sanitize the entire rendered subject
157
+ return sanitizeSubjectValue(rendered, maxLength);
158
+ }
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsNENBd0JDO0FBS0Qsa0RBaUNDO0FBS0QsZ0RBdUJDO0FBS0Qsc0RBZUM7QUFLRCwwQ0FXQztBQUtELGdDQVVDO0FBZ0JELG9EQW9CQztBQWVELHNDQWtCQztBQXZORCwyQ0FBNkM7QUFFN0M7O0dBRUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FDOUIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsU0FBaUI7SUFFakIsTUFBTSxTQUFTLEdBQUcsMkJBQXFELENBQUE7SUFFdkUsSUFBSSxRQUFRLEtBQUssa0JBQWtCLEVBQUUsQ0FBQztRQUNwQyxPQUFPLDJCQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FFNUIsQ0FBQTtJQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNyRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQTtBQUM3QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixtQkFBbUIsQ0FDakMsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsU0FBaUIsRUFDakIsSUFBNEI7SUFFNUIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFBO0lBRTNCLDZCQUE2QjtJQUM3QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBRW5FLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FB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dGVudCI6WyJpbXBvcnQgdHlwZSB7IEVtYWlsVGVtcGxhdGVDb25maWcsIEVtYWlsVmFsaWRhdGlvblJlc3VsdCB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBFTUFJTF9URU1QTEFURVMgfSBmcm9tICcuL3RlbXBsYXRlcydcblxuLyoqXG4gKiBHZXQgZW1haWwgdGVtcGxhdGUgY29uZmlndXJhdGlvbiBmb3IgYSBnaXZlbiBjYXRlZ29yeSwgc3ViY2F0ZWdvcnksIGFuZCBldmVudCB0eXBlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWFpbFRlbXBsYXRlKFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBzdWJDYXRlZ29yeTogc3RyaW5nLFxuICBldmVudFR5cGU6IHN0cmluZ1xuKTogRW1haWxUZW1wbGF0ZUNvbmZpZyB8IG51bGwge1xuICBjb25zdCB0ZW1wbGF0ZXMgPSBFTUFJTF9URU1QTEFURVMgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4gIGlmIChjYXRlZ29yeSA9PT0gJ0RlZmF1bHQtVGVtcGxhdGUnKSB7XG4gICAgcmV0dXJuIEVNQUlMX1RFTVBMQVRFU1snRGVmYXVsdC1UZW1wbGF0ZSddXG4gIH1cblxuICBjb25zdCBjYXRlZ29yeUNvbmZpZyA9IHRlbXBsYXRlc1tjYXRlZ29yeV0gYXNcbiAgICB8IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+PlxuICAgIHwgdW5kZWZpbmVkXG4gIGlmICghY2F0ZWdvcnlDb25maWcpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3Qgc3ViQ2F0ZWdvcnlDb25maWcgPSBjYXRlZ29yeUNvbmZpZ1tzdWJDYXRlZ29yeV1cbiAgaWYgKCFzdWJDYXRlZ29yeUNvbmZpZykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gc3ViQ2F0ZWdvcnlDb25maWdbZXZlbnRUeXBlXSB8fCBudWxsXG59XG5cbi8qKlxuICogVmFsaWRhdGUgZW1haWwgcXVldWUgcGFyYW1ldGVycyBhZ2FpbnN0IHRlbXBsYXRlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRW1haWxQYXJhbXMoXG4gIGNhdGVnb3J5OiBzdHJpbmcsXG4gIHN1YkNhdGVnb3J5OiBzdHJpbmcsXG4gIGV2ZW50VHlwZTogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4pOiBFbWFpbFZhbGlkYXRpb25SZXN1bHQge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW11cblxuICAvLyBHZXQgdGVtcGxhdGUgY29uZmlndXJhdGlvblxuICBjb25zdCB0ZW1wbGF0ZSA9IGdldEVtYWlsVGVtcGxhdGUoY2F0ZWdvcnksIHN1YkNhdGVnb3J5LCBldmVudFR5cGUpXG5cbiAgaWYgKCF0ZW1wbGF0ZSkge1xuICAgIGVycm9ycy5wdXNoKFxuICAgICAgYEludmFsaWQgZW1haWwgdGVtcGxhdGU6IGNhdGVnb3J5PVwiJHtjYXRlZ29yeX1cIiwgc3ViQ2F0ZWdvcnk9XCIke3N1YkNhdGVnb3J5fVwiLCBldmVudFR5cGU9XCIke2V2ZW50VHlwZX1cImBcbiAgICApXG4gICAgcmV0dXJuIHsgdmFsaWQ6IGZhbHNlLCBlcnJvcnMgfVxuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIG1pc3NpbmcgcmVxdWlyZWQgdmFyaWFibGVzXG4gIGNvbnN0IG1pc3NpbmdWYXJpYWJsZXMgPSB0ZW1wbGF0ZS52YXJpYWJsZXMuZmlsdGVyKFxuICAgICh2YXJpYWJsZSkgPT4gISh2YXJpYWJsZSBpbiBkYXRhKVxuICApXG5cbiAgaWYgKG1pc3NpbmdWYXJpYWJsZXMubGVuZ3RoID4gMCkge1xuICAgIGVycm9ycy5wdXNoKFxuICAgICAgYE1pc3NpbmcgcmVxdWlyZWQgdmFyaWFibGVzIGZvciAke2V2ZW50VHlwZX06ICR7bWlzc2luZ1ZhcmlhYmxlcy5qb2luKCcsICcpfWBcbiAgICApXG4gIH1cblxuICByZXR1cm4ge1xuICAgIHZhbGlkOiBlcnJvcnMubGVuZ3RoID09PSAwLFxuICAgIGVycm9yc1xuICB9XG59XG5cbi8qKlxuICogR2V0IGFsbCB2YWxpZCBldmVudCB0eXBlcyBmb3IgYSBjYXRlZ29yeSBhbmQgc3ViY2F0ZWdvcnlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkRXZlbnRUeXBlcyhcbiAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgc3ViQ2F0ZWdvcnk6IHN0cmluZ1xuKTogc3RyaW5nW10ge1xuICBjb25zdCB0ZW1wbGF0ZXMgPSBFTUFJTF9URU1QTEFURVMgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4gIGlmIChjYXRlZ29yeSA9PT0gJ0RlZmF1bHQtVGVtcGxhdGUnKSB7XG4gICAgcmV0dXJuIFsnRGVmYXVsdC1UZW1wbGF0ZSddXG4gIH1cblxuICBjb25zdCBjYXRlZ29yeUNvbmZpZyA9IHRlbXBsYXRlc1tjYXRlZ29yeV0gYXNcbiAgICB8IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+PlxuICAgIHwgdW5kZWZpbmVkXG4gIGlmICghY2F0ZWdvcnlDb25maWcpIHtcbiAgICByZXR1cm4gW11cbiAgfVxuXG4gIGNvbnN0IHN1YkNhdGVnb3J5Q29uZmlnID0gY2F0ZWdvcnlDb25maWdbc3ViQ2F0ZWdvcnldXG4gIGlmICghc3ViQ2F0ZWdvcnlDb25maWcpIHtcbiAgICByZXR1cm4gW11cbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhzdWJDYXRlZ29yeUNvbmZpZylcbn1cblxuLyoqXG4gKiBHZXQgYWxsIHZhbGlkIHN1YmNhdGVnb3JpZXMgZm9yIGEgY2F0ZWdvcnlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbGlkU3ViQ2F0ZWdvcmllcyhjYXRlZ29yeTogc3RyaW5nKTogc3RyaW5nW10ge1xuICBjb25zdCB0ZW1wbGF0ZXMgPSBFTUFJTF9URU1QTEFURVMgYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4gIGlmIChjYXRlZ29yeSA9PT0gJ0RlZmF1bHQtVGVtcGxhdGUnKSB7XG4gICAgcmV0dXJuIFtdXG4gIH1cblxuICBjb25zdCBjYXRlZ29yeUNvbmZpZyA9IHRlbXBsYXRlc1tjYXRlZ29yeV0gYXNcbiAgICB8IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIEVtYWlsVGVtcGxhdGVDb25maWc+PlxuICAgIHwgdW5kZWZpbmVkXG4gIGlmICghY2F0ZWdvcnlDb25maWcpIHtcbiAgICByZXR1cm4gW11cbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhjYXRlZ29yeUNvbmZpZylcbn1cblxuLyoqXG4gKiBHZXQgdGhlIFNFUyB0ZW1wbGF0ZSBuYW1lIGZvciBhbiBlbnZpcm9ubWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVtcGxhdGVOYW1lKFxuICBjYXRlZ29yeTogc3RyaW5nLFxuICBzdWJDYXRlZ29yeTogc3RyaW5nLFxuICBldmVudFR5cGU6IHN0cmluZyxcbiAgZW52aXJvbm1lbnQ6ICdkZXZlbG9wbWVudCcgfCAncWEnIHwgJ3Byb2R1Y3Rpb24nXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgdGVtcGxhdGUgPSBnZXRFbWFpbFRlbXBsYXRlKGNhdGVnb3J5LCBzdWJDYXRlZ29yeSwgZXZlbnRUeXBlKVxuICBpZiAoIXRlbXBsYXRlKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuICByZXR1cm4gdGVtcGxhdGUudGVtcGxhdGVOYW1lW2Vudmlyb25tZW50XVxufVxuXG4vKipcbiAqIEdldCB0aGUgc3ViamVjdCBsaW5lIGZvciBhbiBlbWFpbCB0ZW1wbGF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3ViamVjdChcbiAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgc3ViQ2F0ZWdvcnk6IHN0cmluZyxcbiAgZXZlbnRUeXBlOiBzdHJpbmdcbik6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCB0ZW1wbGF0ZSA9IGdldEVtYWlsVGVtcGxhdGUoY2F0ZWdvcnksIHN1YkNhdGVnb3J5LCBldmVudFR5cGUpXG4gIGlmICghdGVtcGxhdGUpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG4gIHJldHVybiB0ZW1wbGF0ZS5zdWJqZWN0XG59XG5cbi8qKlxuICogU2FuaXRpemUgYSBzdHJpbmcgdmFsdWUgZm9yIHNhZmUgdXNlIGluIGFuIGVtYWlsIHN1YmplY3QgbGluZS5cbiAqXG4gKiBDdXJseSBicmFjZXMgeyB9IGNhbiBicmVhayBTRVMgdGVtcGxhdGUgcmVuZGVyaW5nIGFuZCBNSU1FIGhlYWRlciBlbmNvZGluZy5cbiAqIE5ld2xpbmVzIGNhbiBjYXVzZSBNSU1FIGhlYWRlciBpbmplY3Rpb24uIExvbmcgc3ViamVjdHMgY2FuIGNhdXNlIGltcHJvcGVyXG4gKiBNSU1FIGhlYWRlciBmb2xkaW5nLlxuICpcbiAqIFRoaXMgZnVuY3Rpb246XG4gKiAtIFN0cmlwcyBuZXdsaW5lIC8gY2FycmlhZ2UgcmV0dXJuIGNoYXJhY3RlcnNcbiAqIC0gUmVwbGFjZXMgY3VybHkgYnJhY2VzIHdpdGggcGFyZW50aGVzZXMgKHByZXNlcnZlcyByZWFkYWJpbGl0eSlcbiAqIC0gQ29sbGFwc2VzIG11bHRpcGxlIHNwYWNlc1xuICogLSBUcmltcyB3aGl0ZXNwYWNlXG4gKiAtIE9wdGlvbmFsbHkgdHJ1bmNhdGVzIHRvIGEgbWF4IGxlbmd0aCAoZGVmYXVsdCAyMDAgY2hhcnMpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZVN1YmplY3RWYWx1ZShcbiAgdmFsdWU6IHN0cmluZyxcbiAgbWF4TGVuZ3RoOiBudW1iZXIgPSAyMDBcbik6IHN0cmluZyB7XG4gIGxldCBzYW5pdGl6ZWQgPSB2YWx1ZVxuICAgIC8vIFJlbW92ZSBhbnkgbmV3bGluZSAvIGNhcnJpYWdlIHJldHVybiBjaGFyYWN0ZXJzIChwcmV2ZW50cyBNSU1FIGhlYWRlciBpbmplY3Rpb24pXG4gICAgLnJlcGxhY2UoL1tcXHJcXG5cXHRdKy9nLCAnICcpXG4gICAgLy8gUmVwbGFjZSBjdXJseSBicmFjZXMgd2l0aCBwYXJlbnRoZXNlcyAocHJldmVudHMgU0VTIHRlbXBsYXRlIGVuZ2luZSBpbnRlcmZlcmVuY2UpXG4gICAgLnJlcGxhY2UoL1xcey9nLCAnKCcpXG4gICAgLnJlcGxhY2UoL1xcfS9nLCAnKScpXG4gICAgLy8gQ29sbGFwc2UgbXVsdGlwbGUgc3BhY2VzIGludG8gb25lXG4gICAgLnJlcGxhY2UoL1xcc3syLH0vZywgJyAnKVxuICAgIC50cmltKClcblxuICAvLyBUcnVuY2F0ZSBpZiBuZWVkZWQsIGFkZGluZyBlbGxpcHNpc1xuICBpZiAoc2FuaXRpemVkLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHNhbml0aXplZCA9IHNhbml0aXplZC5zdWJzdHJpbmcoMCwgbWF4TGVuZ3RoIC0gMSkudHJpbSgpICsgJ+KApidcbiAgfVxuXG4gIHJldHVybiBzYW5pdGl6ZWRcbn1cblxuLyoqXG4gKiBSZW5kZXIgYSBzdWJqZWN0IHRlbXBsYXRlIGJ5IHN1YnN0aXR1dGluZyB7e3ZhcmlhYmxlfX0gcGxhY2Vob2xkZXJzIHdpdGhcbiAqIHNhbml0aXplZCBkYXRhIHZhbHVlcy5cbiAqXG4gKiBFeGFtcGxlOlxuICogICByZW5kZXJTdWJqZWN0KCdBSSBGZWVkYmFjayBvbiB7e3Rhc2tfdGl0bGV9fScsIHsgdGFza190aXRsZTogJy9kcmFmdC97aWR9L2pvaW50cycgfSlcbiAqICAg4oaSICdBSSBGZWVkYmFjayBvbiAvZHJhZnQvKGlkKS9qb2ludHMnXG4gKlxuICogQHBhcmFtIHN1YmplY3RUZW1wbGF0ZSAtIFRoZSBzdWJqZWN0IHRlbXBsYXRlIHN0cmluZyB3aXRoIHt7dmFyaWFibGV9fSBwbGFjZWhvbGRlcnNcbiAqIEBwYXJhbSBkYXRhICAgICAgICAgICAgLSBUaGUgdGVtcGxhdGUgZGF0YSB2YWx1ZXNcbiAqIEBwYXJhbSBtYXhMZW5ndGggICAgICAgLSBNYXhpbXVtIGxlbmd0aCBmb3IgdGhlIGZpbmFsIHJlbmRlcmVkIHN1YmplY3QgKGRlZmF1bHQgMjAwKVxuICogQHJldHVybnMgVGhlIHJlbmRlcmVkIGFuZCBzYW5pdGl6ZWQgc3ViamVjdCBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlclN1YmplY3QoXG4gIHN1YmplY3RUZW1wbGF0ZTogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICBtYXhMZW5ndGg6IG51bWJlciA9IDIwMFxuKTogc3RyaW5nIHtcbiAgbGV0IHJlbmRlcmVkID0gc3ViamVjdFRlbXBsYXRlXG5cbiAgLy8gUmVwbGFjZSBhbGwge3t2YXJpYWJsZX19IHBsYWNlaG9sZGVycyB3aXRoIHNhbml0aXplZCB2YWx1ZXNcbiAgcmVuZGVyZWQgPSByZW5kZXJlZC5yZXBsYWNlKC9cXHtcXHsoXFx3KylcXH1cXH0vZywgKF9tYXRjaCwga2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGRhdGFba2V5XVxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gc2FuaXRpemVTdWJqZWN0VmFsdWUodmFsdWUsIG1heExlbmd0aClcbiAgICB9XG4gICAgcmV0dXJuICcnXG4gIH0pXG5cbiAgLy8gRmluYWwgcGFzczogc2FuaXRpemUgdGhlIGVudGlyZSByZW5kZXJlZCBzdWJqZWN0XG4gIHJldHVybiBzYW5pdGl6ZVN1YmplY3RWYWx1ZShyZW5kZXJlZCwgbWF4TGVuZ3RoKVxufSJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livetronics/wocul-email-config",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "Email configuration utilities for Wocul services",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",